Un ejemplo de BubbleSort hecho en Java

Noviembre 16, 2007

public class BubbleSort {

public static void main(String [] args)
{
System.out.println(“Entra el tamano del arreglo a sortearse”);
int n;
n=InputData.readLineInt();
int[] num= new int[n];
System.out.println(“Entre “+n+” numeros y oprima enter”);
System.out.println(“luego de cada uno”);

int i,j,temp;

for(i=0;i<n;i++)
{
num[i]=InputData.readLineInt();
}

System.out.println(“Los numeros entrados fueron”);
for(j=0; j<n; j++)
System.out.print(num[j]+”,”);

/*******Bubblesort**********/
for(i=0;i<n-1;i++)
{
for( j=i;j<n-1;j++)
{
if(num[i]>num[j+1])
{
temp=num[i];
num[i]=num[j+1];
num[j+1]=temp;
}
}
}

System.out.println();
System.out.println();

System.out.println(“Los numeros ordenados son “);
for(j=0;j<n;j++)
System.out.print(num[j]+”,”);

System.out.println();
System.out.println();

}
}


¿Somos muy dependientes de las computadoras?

Noviembre 11, 2007

Llegaron no hace menos de 100 años, pero llegaron con fuerza y para quedarse, hace 50 años muchos no se imaginarían lo que son ahora mismo, difícil nosotros, ahora mismo imaginarnos lo que pueden ser en el futuro. Su uso, sus ventajas e utilidades parecen que crece de manera exponencial año tras año, es algo impresionante y cada día la necesitamos más (hablando en general). Ahora mismo para hacer este ensayo la estoy utilizando, las ventajas que trae consigo son innumerables, desde facilidad de uso, rapidez, comunicación, hasta las enciclopedias en discos compactos, este artefacto al cual llamamos computadoras es una sensación.

Yo la utilizo para ver películas, jugar un sinnúmero de juegos, hacer trabajos escritos, escuchar música, editar la musica y componerla también, la utilizo para crear programas y la utilizo en resumidas para todo. Aunque yo no puedo ser el único, como yo tiene que haber miles y cada día el grupo se hace más grande, somos los ATI, adictos a los transistores informáticos.

La sociedad completa ha experimentado cambios, cada día que pasa somos mas dependientes de las computadoras y seremos dependientes de estas, hasta donde nosotros como personas queramos serlo, hace 150 años existían las sucursales de banco, tenían que operar de alguna forma sin computadoras. Ahora mismo que yo sepa todas las sucursales operan con computadoras, pero en resumidas utilizarlas es siempre una opción, para no volverse dependientes de estas.

Nos damos de cuenta que somos muy dependientes de las computadoras cuando empezamos ha mencionarlas en todo lo que hacemos, somos muy dependientes de las computadoras hasta el grado que nuestras propias vidas pueden depender de estas, realmente no se sí depender de estas es algo positivo o negativo solo sé que la sociedad hablando como un conjunto de personas nos hacemos cada día mas dependientes de estas maquinas. Para mí somos muy dependientes, pero somos muy dependientes hasta el grado que queramos serlos, imagínense un mundo en el que nuestros profesores ya no fueran humanos, si no que fueran computadoras con inteligencia artificial. Sin alarmar mucho y hacer mucho escándalo porque después estas se dan de cuenta, estamos todavía ha tiempo para detenerlas.

 


La porno me tienta

Noviembre 6, 2007

Toda la industria pornográfica empezó a principios de los años del 70, fue cuando empezaron ha circular esas revistas pornográficas controversiales. Larry Flynt el creador de la revista Hustler (una de las primeras), fue demandado, este salio bien (airoso) en los tribunales amparándose en la primera enmienda de la constitución de los Estados Unidos.

El Congreso no hará ley alguna por la que adopte una religión como oficial del Estado o se prohíba practicarla libremente, o que coarte la libertad de palabra o de imprenta, o el derecho del pueblo para reunirse pacíficamente y para pedir al gobierno la reparación de agravios.

Es con este señor Flynt que comienza la batalla entre la pornografía y la libertad de expresión.

Desde los años 70 en adelante los demás es historia. Miles de revistas y películas de compañías clásicas como Plaboy o EvilAngel,  imperios nuevos como los de BangBros.com o MikesApartment.com, que sean podido crear debido ala Internet.

Agraciadamente para unos y desgraciadamente para otros hoy en día, gracias a la Internet es más fácil el intercambio de material pornográfico como el bestialismo o el pedofilico, cosa que antes no era tan fácil.

Sin duda alguna, solo basta con entrar en su cuenta de correo electrónico Hotmail o Yahoo y ver que de los 10 mensajes basura que te llegaron 5 tienen alguna relación con el sexo mercadeado, es un negocio muy lucrativo, es un negocio que no parece que vaya ha terminar.

Yo vivo en el capitalismo y pienso que usted como lector también, el capitalismo fomenta la búsqueda de dinero sin importar la manera de obtenerlo, y ahora me pregunto ¿Acaso las personas que crean esos Web sites pornográficos están mal o están bien?

Esstan maaal, pero si estos Web sites pornográficos están reportando ingresos de sobre un millón de dólares anuales y si yo termino mí doctorado puede que no llegue a ganarme $45, 000 al año trabajando a tiempo completo. Mientras que la mayoría de los autores de estos sitios pornográficos trabajan a tiempo parcial.

Estan biennnnn, bieeeen , esas personas son lo mas bajo de esta sociedad tratan de obtener dinero con nuestra naturaleza de procreación, tratan de explotar ala mujer como si fuera un objeto.

La verdad es que sí ala mayoría de la gente, no le gustara consumir el sexo mercadeado, la industria no existiría y punto. Yo pienso que la misma ley que prohíbe que el material pornográfico llegue hacia las personas menores de 18 años es la misma ley que fomenta e estimula a que estos menores quieran tener acceso al material y lo digo tanto por experiencia social como por experiencia propia.

Para los utilitaristas lo que hace la acción buena o mala depende de las consecuencias que esta tenga. Vemos que al crear pornografía tenemos consecuencias ambiguas. Al montar un Web site pornográfico distorsionas la idea de la sexualidad que puedan tener miles de personas y puede que crees pedofilicos, bestialistas, etc, por otro lado obtienes sumas de dinero grandes y ni si quiera tuviste que ir ala universidad a estudiar para lograr todo esto. Para los utilitaristas los autores porno estarían mal, por que sus consecuencias son desastrosas.Pero por otro lado para los utilitarisras los autores de porno estan bien porque la porno ayuda a muchas parejas a tener una mejr vida placentera.

La verdad es que es muy dificil uno saber si la porno hace mas daño que bien.

Para los deontologistas lo que este bien o lo que esta mal depende del principio con que se haya tomado la acción, pues la motivación primordial con que se crea la pornografía es de obtener ganancia monetaria y no creo que se quiera realmente hacer daño a nadie, aunque termine asiéndose.

 Para los deontologistas los autores porno estarían bien. Para los egoístas los autores porno también estarían bien por que su principio va a tono con el sistema social de avaricia sin importar lo que después suceda.

Para los relativistas todo dependería de cuanta suma de dinero se estuviera hablando y tratarían de pesarla contra el mismo peso de sus consecuencias.

¿Podemos poner barreras para que nuestros niños no tengan acceso al material porno a través de la Internet? ¿En primer lugar deberíamos poner barreras? Para las personas que quieran andar con ropa por las calles en la sociedad actual todo esta bien pero ¿para las personas que quieran andar sin ropa en las calles, por que están mal, es inmoral?

Sí cuando Cristóbal Colón llego al nuevo mundo, se encontró con algunos indios que usaban un poco de ropa y otros no. Sí todos nacimos con ropa.

Para mí en lo personal, no encuentro nada malo en la pornografía en sí misma, es verdad que muchas de estas películas pornos hacen ver ala mujer como objetos y distorsionan la imagen de lo que debería ser el sexo real, es verdad que en este material nunca salen “mujeres preñadas” ni personas contagiándose con enfermedades de índole sexuales, pero también es verdad que para los gustos están los colores y como dice Tego Calderón en una de sus canciones “estamos en lo mismo pero no somos iguales” refiriéndose a que hay diversidad.

Simple e sencillamente si no estas de acuerdo con algo ya sea con la música que saca cierto cantante, con la película que creó aquel directo, o con aquel programa de televisión de los lunes por la noche pues no lo apoyes, no lo veas, no lo compres, y de esa manera el mismo comercio se encargara de eliminarlo del mercado,

Pero de ninguna manera trates de censurar lo antes mencionado aquí, por que sí no, lo que estas haciendo es darle promoción y fama, estas haciendo exactamente lo contrario de lo que no querías.

Claro esta que todo lo que he expuesto aquí es solo mi pensamiento, y no por el echo de yo pensarlo tiene que ser lo correcto.

Links de Interés

http://en.wikipedia.org/wiki/Larry_Flynt

http://www.larryflynt.com/


Utilitarismo

Noviembre 5, 2007
  • Las definiciones de bueno y malo varían dependiendo de cada persona o grupo de personas, del tiempo o del contexto en que se presente la situación. 
    • Por ejemplo, la Iglesia Católica cree que el uso de métodos anticonceptivos es malo, porque va en contra de la naturaleza, y evita la vida de una persona. Por otro lado la mayoria de los japoneses consideran como una ayuda a la sociedad los métodos anticonceptivos. Las sociedades son tan distintas una de la otra debido a que sus normas generales están basadas en principios completamente diferentes.

  • Jeremy Bentham Filósofo, economista y jurista británico, Jeremy Bentham es más conocido como creador del utilitarismo. Creía que el principio que guía las acciones debería ser el principio de utilidad, o la mayor felicidad para el mayor número posible de personas.

  • El nombre de John Stuart Mill ocupa un lugar de excepción en la historia del pensamiento europeo del siglo XIX. Además, sus teorías filosóficas y económicas encontraron una prolongación material en su actividad como político, en la que destacó por sus ideales netamente progresistas, tales como la defensa de la clase trabajadora, la igualdad de la mujer o la obligatoriedad de la educación.

·    El utilitarismo es una forma moderna de la teoría ética hedonista que enseña que la finalidad de la conducta humana es la felicidad, y que en consecuencia la norma discriminatoria que diferencia entre el comportamiento bueno y malo es el placer y el dolor. En palabras de uno de sus mas distinguidos defensores, John Stuart Mill.

  • La doctrina que acepta como fundamento de la moral a la utilidad o principio de la máxima felicidad, sostiene que las acciones son correctas en proporción a su tendencia a promover la felicidad, e incorrectas si tienden a producir lo contrario a la felicidad. Por felicidad se entiende el placer y la ausencia de dolor; por infelicidad al dolor y la privación del placer .

  • El Utilitarismo por definición dice: “que el estado moral de una acción está determinado por las posibles o las actuales consecuencias que tendrá la acción para todos quienes sus vidas serán afectadas por esa acción.” En otras palabras, lo que el utilitarismo sugiere es que si las consecuencias son buenas, la acción es moralmente buena.

En efecto, la utilidad no sólo incluye la búsqueda de la felicidad, sino también la prevención o mitigación de la desgracia.


Seguridad en Unix , en Linux

Noviembre 4, 2007

Unix es un sistema operativo que se utiliza mucho en los servidores de Internet, además es un sistema operativo multiusuario e multitarea, y como no podemos asumir que todos los usuarios que tengan acceso al sistema sean chicos buenos, de ahí proviene la importancia de la seguridad en esté.

Y como no podemos asumir que todas las personas que se conecten ha internet vallan ha ser personas con buenos valores sociales, de ahí la importancia de la seguridad en Unix, ¿Pero por que especialmente en Unix? Especialmente por que la mayoría de los servidores importantes de Internet corren bajo Unix, solo por mencionar algunos servidores como lo son los del correo de electrónico de Hotmail, los de News.com, o los del banco popular de Puerto Rico.

Cuando un usuario crea su cuenta y escoge la contraseña en el sistema Unix, ha esta contraseña se le es añadida rápidamente lo que se conoce como la “SALT” y después es cifrada.

 La “SALT” no es otra cosa mas que una serie de caracteres que son escogidos aleatoriamente y puestos en la contraseña antes de ser cifrada, de hecho Unix utiliza un cifrado “one way” o mejor conocido como un cifrado simétrico, esto significa que en teoría, lo que se trata es de que una vez la contraseña escogida sea cifrada, no haya manera de volverla a su estado original.

Si no que cada vez que el usuario entra una contraseña en el sistema esté  la vuelve ha cifrar  y compara el resultado(contra la contraseña cifrada por primera vez). También cabe destacar que Unix pone automáticamente un retardo de unos segundos (a nivel de código) cuando se hace la comparación de contraseñas a propósito. Y todo este propósito se hace para que aplicaciones como Jhon the Ripper (que tratan de adivinar la contraseña que un usuario haya seleccionado por medio de fuerza bruta) sean menos efectivas.

Aunque no es solamente todo lo que se hacen Unix para proteger la contraseña, también se utiliza la técnica de “password aging”en la que el administrador obliga ha cambiar la contraseña cada “x” tiempo, o obliga ha mantener esa contraseña cada “x” tiempo.

También se utiliza lo que se conoce como sombrear la contraseña (shadow password), lo que significa que aunque la contraseña este cifrada, este archivo donde recide la contraseña cifrada solo  puede ser leído por usuarios con privilegios de root.

Entre otras aplicaciones famosas que tengan algún vínculo con la seguridad en Unix encontramos a Nessus, a Tripwire.

Nessus es lo que llamaríamos el típico escaneador de puertos, aunque literalmente no es el típico ya que utiliza las ultimas técnicas mas avanzadas de escaneo y esta siendo constantemente actualizado, utiliza su propio “scripting language” y ya se han escritos libros enteros dedicados a él, por ser considerado como un arma de gran valor, en la guerras de la seguridad.

La mayoría de los intrusos que utilizan alguna falla de seguridad como un “exploit” cuando por fin obtienen acceso ha algún sistema lo que quieren hacer es rápidamente cambiar o suplantar algún programa del propio sistema operativo en este caso de Unix, podrian ser los programas de su, ps. Por esa misma razón tenemos una aplicación  de código abierto llamada Tripwire, que es un “system integrity cheking tool”. Y se utiliza para evitar una modificación o una fabricación de algún recurso del sistema. El programa trabaja utilizando un “cheksum” que es un tipo de firma digital, que la guarda en un banco de datos y la comprara cada “x” tiempo, al reportase una discrepancia entre alguna firma se enciende la bombilla roja de la alarma.

La línea de comandos de Unix soporta lo que se conoce como “scripting language” y es literalmente un lenguaje de programación (no tan poderoso como lo es C) pero que no se tiene que compilar, es más o menos lo que algunos usuarios de la linea de comandos DOS llamarían un “Batch”. Pues aquí en Unix podemos utilizar este lenguaje de script para añadirle más seguridad a nuestro sistema.

n  #! /bin/sh

for id in `awk ‘FS=”:” {if(($3 == 0 && $1 != “root”)) \

print $1}’ /etc/passwd`

do

           mail –s “Root Access Alert” remplazar@mail.com <<EOF

                                      EL MENSAJE

EOF

done

A este script se le pone una entrada en el programa “contrab” de Unix y este se ejecutara cada cierto tiempo, y de detectar que alguien que no tiene el nombre de root tiene privilegios de usuario  root mandara un email ha remplazar@mail.com.

Cabe destacar que todos estos programas como Jhon o Nessus se pueden utilizar para hacer el bien o para hacer el mal. Sí usted es un administrador de un sistema Unix le recomiendo que los utilicé en su propio sistema,  antes de que alguien (chico malo) lo utilice contra usted.


Derechos de Propiedad en los Programas de Computadoras

Octubre 31, 2007

Soy una persona común y corriente, estudio computadoras, y lo mas seguro algún día tenga mi propio programa comercial, como existen miles de programas comerciales en la actualidad hechos por programadores independientes, y quiero que ese programa mío sea respetado por que es mío y así la ley de derechos de autor lo exige.

Para crear mí programa comercial tendré que tener ciertos conocimientos que no se adquieren con facilidad, conocimientos que para tenerse requieren de tiempo y complejidades en los procesos mentales, en otras palabras tendré que dominar algún lenguaje de programación o tendré que ser un guru en programación de Windows. Pasare aproximadamente algunos 6 meses para poder sacar a la luz pública la primera versión de mí programa. Dedicare tiempo, esfuerzo he dedicare mis mejores intenciones para crear mi programa.

Obviamente me parece totalmente lógico que a los usuarios que les gustara mí programa, pagaran por utilizarlo. Yo podría vivir de esos ingresos que genere mí programa, como pase tiempo e esfuerzo creándolo pues no lo pondría gratis, programar seria mi profesión, seria un programador. Entonces le pondría a mi programa una licencia shareware, para que los usuarios pudieran evaluar mi programa he tomar una decisión si lo quisieran comprar o no, algo que creo que es bastante justo, yo no compraría algo que un supiera lo que es.

El que algún usuario quisiera utilizar mi programa de manera ilegal no me parecería ético y me molestaría. De hecho me desagradaría la idea de que por ahí estuviesen utilizando mi programa de gratis, me molestaría la idea de que por ahí estén corriendo versiones pirateadas de mi programa después de tanto trabajo….

Lo que adquiere mí interés es que en la actualidad existen miles de programa comerciales y veo que solo unos pocos tienen éxito. Uno puede darse de cuenta como solo suenan el nombre de unos pocos. Uno puede darse de cuenta el de cómo existen unos monopolios obvios en la industria del software. Entonces tengo yo como “wanna be” que estudiar a esos programa exitosos para entender la de el por qué y cómo llegaron a donde están.

Estudie a un programa llamado mIRC. La mayoría de las personas que chatean por el IRC (Internet Relay Chat) conocen o usan este programa llamado mIRC . En su categoría de clientes para IRC este mIRC es el primero, el numero uno, y el mas usado en el mundo sin discusión alguna. Su autor se llama Khaled Mardam-Bey. Este programa esta bajo una licencia shareware y su costo es de unos $20.

Su primera versión publica fue echa en febrero 28 de 1995 para Windows 3.x .Actualmente esta en la versiones 6.16 para Windows de 32 bits.Khaled ya ha cesado su desarrollo para versiones de 16 bits. Su programa mIRC no fue el primer cliente de IRC que se creó pero en si fue uno de los pioneros.

Su dominancia en la actualidad como cliente de IRC en el mercado es tan fuerte que hasta las mismas redes de IRC (servidores ha donde se conectan los clientes de IRC), como lo es Dalnet (una de las mas grandes) las modifican para que funcionen correctamente con este programa. El Mirc tiene unos fallos a lahora de conetarse al IRC con algunos “usernames”.

 Es como si las carreteras las hicieran pensando en un tipo de automóvil exclusivamente o como si el calzado lo hicieran solo de un tamaño sabiendo de ante mano que todos los clientes tienen el mismo tamaño.

Su dominancia en la actualidad como cliente de IRC en el mercado es tan fuerte que llamo mi atención. Y llamo mí atención por que es un programa el cual yo mismo puedo crear con un poco de tiempo y sin la ayuda de nadie. De hecho Khaled trabaja el programa desde su casa.

Para estar registrados con este programa solo hace falta entrar un nombre y un número de serie, el cual como dije anteriormente tiene un costo de $20, un precio justo para el tronco de programa que uno obtiene. Haciendo una búsqueda en google poniendo las palabras mirc serial la primera página que encontramos  nos facilita esta información, de manera ilegal pero sin muchos problemas. En otras palabras no es difícil saltarse la protección que ofrece el programa para registrarnos como usuarios pagados.

Entonces al principio pensé que tal vez el autor no se habría dado de cuenta de que sus números de serie pirateados corrían por la Internet mas rápido que la velocidad de la luz y que lo único que faltaría es que pusieran su numero de serie en la portado del periódico New York Times, pero no puede ser que no se allá dado de cuenta el lleva años en este negocio de computadoras, el conoce google, y lleva breagando desde la era de los 16-bits.

Después pensé que el autor tal vez no tenia las habilidades necesarias en programación para poner una protección antipiratería mas fuerte ha su programa, otra opción mas que totalmente tuve que descartar, de hecho con el solo saber que sus ultimas versiones de mIRC vienen con un algoritmo llamado CRC32 y que su programa ha sido compilado con los compiladores de Borland e VC++ nos damos de cuenta que no solo el autor de mIRC es un guru en programación para Windows si no que también esta al día en cuanto a protecciones antipirateria se refiere.

Esta situación me llamo la atención por que si el autor pone su programa shareware es que quiere ganar dinero con su trabajo pero si el autor deja que lo pirateen todo el mundo, entonces no puede estar ganando dinero con su trabajo y debería estar perdiendo. Pero por otra parte es obvio que el autor sabe que lo están pirateando, pero no le importa y los deja, busco información y me doy de cuenta que el esta utilizando una técnica de mercadeo llamada permitiendo la piratería para adquirir ventaja sobre la competencia.

Me impacto el hecho de que según Khaled y su lugar web, mIRC, tiene aproximadamente 50,000 descargas diarias y se registran alrededor de 2600 ha 2800 usuarios todos los meses (según la información que provee el en su website), alrededor de $50,000. ¿Esta ganado o esta perdiendo? He notado que el ha copiado ideas de otros clientes IRC a su programa, de echo parece estar pendiente al desarollo de otros clientes IRC, y tan pronto sale alguna idea nueva, la copia a la velocidad de la luz a su Mirc. ¿Tener éxito significa copiar ideas?

No estoy hablando de que la piratería sea algo ético, por que para mí no lo es, No estoy hablando de que la piratería ayude ala economía mundial, por que de eso todavía estoy inseguro. Entonces de lo que estoy hablando es que se vive en una sociedad capitalista la cual distorsiona los valores sociales colectivamente hablando e desgraciadamente, aunque a mí no me guste la idea, para uno poder tener éxito con su programa hay que dejar que ciertos usuarios tengan que utilizar el programa de gratis e hay que copiar las ideas de otro.

Esta situación afecta mi rol como profesional en el campo de las computadoras por que yo voy con una idea de lo que quiero y tengo que hacer, pero tengo que cambiar mi pensamiento para poder acoplarme ala realidad.

Claro esta que este blog tiene mí opinión personal y no por el hecho de yo pensarlo tiene que ser verdad.

http://www.mirc.com/index.html

http://www.serialcodes.net/serialmirc.html

http://www.astalavista.com//data/piracycompetitveadvantage.zip

http://www.mundopc.net/noticias/news.php?newsid=405

http://www.mirc.com/khaled/faq.html


Free Software

Octubre 29, 2007
  • Software propietario – Algún individuo o compañía retiene el derecho exclusivo sobre una pieza de programación, al mismo tiempo que niega ha otras personas el acceso al código fuente del programa y el derecho a copiarlo modificarlo o estudiarlo.
  • Software Código abierto – El código fuente esta accesible para quien lo desee, el programa se puede copiar sin violar ninguna ley, se puede modificar sin violar ninguna ley o adaptarlo uno mismo a sus propias necesidades.
  • www.sourceforge.net – Tiene aproximadamente 90,946 proyectos de software libre registrados.
  • En la industria de los programas, la piratería crea una ventaja, contrarió a lo que creen la mayoría de las personas, los piratas son agentes de mercadeo. Entrenan a los usuarios, y atienden todas las llamadas de problemas relacionados con el producto de gratis.
  • Richard Stallman entro ala universidad de Harvard en 1971.Bill Gates entro ala universidad de Harvard en 1973.
  • El sistema operativo MSDOS, provino de sistema operativo CP/M.
  • Se dice que Gates instruyo a los programadores de Microsoft a que introdujeran código en Windows que causara errores en los programa Lotus 1-2-3 y WordPerfect entre otros.

Bibliografías 

         D Solomon Pandian (2004),Permitting Piracy for ‘Competitive Advantage’ .[articulo]

         Janet Lowe (1998) Bill Gates Speaks : Insight from the World’s Greatest Entrepreneur John Wiley and Sons. Paginas 56-99  ISBN 0471293539

         Bill Gates (1995) The Road Ahead .paginas 74-105 ISBN 0-670-77289-5

         http://www.stallman.org

         http://www.fsf.org/ (Free Software Foundation web site)

         http://es.wikipedia.org/wiki/GPL

         http://es.wikipedia.org/wiki/Servidor_HTTP_Apache


Aprendizaje

Octubre 23, 2007

Este artículo sacado de la enciclopedia libre (wikipedia) el 17 de agosto del 2007 nos define el aprendizaje como el proceso de adquirir conocimientos, habilidades, actitudes o valores, a través del estudio, la experiencia o la enseñanza. Nos menciona diferentes autores que han estudiado este tema, como lo es Jean Piaget, Vygotsky, Daniel Goleman o  Ausubel(Significativo y Repetitivo).

Nos dice que la educación también puede definirse como el proceso de socialización formal de los individuos de una sociedad. Nos habla  que el proceso fundamental del aprendizaje lo es la imitación (Albert Bandura – moldeado),  pero que hay distintos fundamentos en los cuales se basa el aprendizaje, como lo es:

Motivación – Estimular el interés de los alumnos hacia el tema. 

Estímulos multisensoriales – Asimilar la información desde varios sentidos. 

Práctica – La muestra en hechos de lo que se acaba de aprender. 

Aplicación – Le damos verdadera utilidad a este conocimiento.           

Utilizando mí pensamiento crítico sobre el artículo que acabo de leer, me doy de cuenta que uno de los puntos que más me llamo la atención es cuando se dice que la alimentación influye sobre la evolución de la capacidad de aprendizaje. ¿Super Size Me? ¿Vegetarianos, carnívoros? ¿Capitalismo? ¿Todos somos hermanos? Son unas de las muchas preguntas que me vienen a la mente. Se de antemano que cuando la raza humana paso de una dieta vegetariana a una dieta carnívora, el hombre tuvo más tiempo libre en su diario vivir para poder desarrollar su intelecto. También se de antemano que en la película Super Size Me de Morgan Spurlock, esté pudo comprobar perfectamente  (sin duda razonable) que el ingerir alimentos comida chatarra “Fast Food” tiene consecuencias negativas para nuestra salud. Spurlock fue el conejillo de India, en vivo.

Ahora me pregunto ¿El ingerir comida chatarra, tiene consecuencias negativas sobre la capacidad de aprendizaje de nuestros niños,adolecentes, adultos ?

-Me pregunto esto porque los otros dias estaba cogiendo una clase en la universidad , y allí cogiendo la clase conmigo se encontraba una profesora de prekinder a tercero, y ella nos comentaba(a la clase) el de como instruia a los padres para que no le echaran chocolates en la merienda a los ninños.  El de como tenia que controlar la dieta de los niños (en su merienda) para que estos no se salieran de control en el salón de clases.

-Tambien me pregunto esto pr que las grandes cadenas de comida rápida como lo son Burger King y Mc Donalds mercadean su comida rápida principalmente a los niños y estas dos cadenas también son los principales distribuidores de comida chatarra a nivel mundial. Hasta el punto que tienen pequeños parques de diversiones en sus tiendas. ¿Acaso habrá alguna diferencia entre los cigarrillos y la comida rápida? Porque los dos nos hacen daño. ¿En un futuro podríamos comprar parches para dejar de comer comida rápida, en nuestra farmacia más cercana? ¿Podemos intercambiar la palabra Happy Meal por la palabra Malboro? Son unas preguntas que necesitan contestación de forma rápida.


Recomendaciones de libros que deberian leer

Octubre 23, 2007

How People Learn: Brain, Mind, Experience, and School .

  ISBN-10: 0309070368

  ISBN-13: 978-0309070362 

A Briefer History of Time

  ISBN-10: 0553804367

  ISBN-13: 978-0553804362

Para mí son libros excelentes y se los recomiendo a cualquiera. 


Lenguaje de programación Java

Octubre 17, 2007

Bueno, para que me vayan conociendo un poco mejor, una de mis grandes pasiones lo es programar en Java, soy natural de la ciudad de Mexico y esto que voy a escribir proximamente “cojanlo como algo escrito de manera constructiva”.

Hace unos meses atrás empecé a lo que llame un proyecto piloto “de prueba“. Hice una aplicación en Java. Para esté proyecto tenia que escoger una aplicación de la vida real que no fuera muy difícil de hacer pero que a la misma vez, me diera toda la experiencia de todo un ISV (Independent Software Vendor), que me diera toda la experiencia de crear mí propio programa y de ponerlo a la venta al principio por la internet como hacen muchos de los autores de software que admiro (Getright, PowerArchiver, Mirc). Entonces escogí crear un manejador de contraseñas (password manager), porque pensé que no me tomaría mucho tiempo y que a la misma vez me daría todo lo que necesitaba en habilidades y no quedaria ¿nada mal para mí resume verdad?, aunque al final el programa no se vendiera o lo tuviera que poner en dominio público.

*****************FIRST ROUND*******************
Mí primera queja hacia el lenguaje es que no puedo darle a mis usuarios un ejecutable menor de 14 megabits. ¿POR QUE? ¿COMO? ¿NO PUEDE SER? Mientras las mayorías de los internautas están acostumbrados a bajar programas del internet que no pasen los 6 MB. Yo hasta lo menos que he llegado a poner mí ejecutable es hasta los 16 MB. Esta situación me pone en una GRAN DESVENTAJA ante cualquier programa que sea creado en C++ y yo quisiera competir en contra por que mí competencia podria llegar hacia mas usuarios de los que yo podria(piensa en 56 k , linea telefonica). Ademas de ponerme en desventaja tambien me irrita.

Me explico el de por qué tome la decisión de pegar “Bundle” mí ejecutable jar con la maquina virtual de java 6 y los menos que pude hacer es 14 MB.

Primero si el usuario no tiene ninguna maquina virtual de java, pues como quiera tendría que bajarla.

Segundo si el usuario tiene una maquina virtual de Java, lo más seguro tenga la 1.5 en estos momentos, pero como a mí me gusta estar a la vanguardia pues utilice clases nueva que solo se encuentran en Java 6 y que me gustan como funcionan y como trabajan.
Entonces mí programa no puede correr con la JRE 1.5 y nuevamente el usuario tendría que bajar la maquina virtual de java 6.

Tercero el usuario tiene la maquina virtual de Java 6 instalada, pero como el “release” de Java 6 fue bien cerquita a mí programa, pues lo más seguro es que el usuario no tenga Java 6 en un 93% de los casos por lo menos.

Cuarto el usuario promedia te preguntaría ¿Y QUE ES JAVA? y cuando la le empezaras ha decir lo que es Java, te dirian , no me importa solo pon el programa ha correr.

POR LO QUE, POR LOGICA ME MEO OBLIGADO HA PEGARLA, a MI EJECUTABLE JAR.

¿Pero cuál es el problema? El problema es que la maquina virtual de Java 6 tiene un tamaño aprox de 13.16MB y que la licencia de Java Prohíbe TERMINANATEMENTE, modificar la maquina virtual y distribuirla modificada. ¿Por qué digo modificada? por que la maquina virtual trae consigo clases o cosas que no todos los programas escritos en Java utilizarían necesariamente pero que le añade tamaño al JRE.


Por ejemplo mí programa no utiliza en ningún momento la parte MIDI o utilizaría en ningún momento nada que tenga que ver con la parte Applet de java, o con tal vez con las clases que tengan que ver con Aplicaciones MDI(Multiple Document Interface) . Todas esas cosas de mas se las prodria quitar al JRE y mí programa seguiria corriendo bien.Pero si les quito esas cosas a la maquina virtual de Java y la distribuyo de esa forma haciendo que el tamaño de la maquina virutal baje, estaría violando el EULA, de Sun Microsystem.

Y estoy hablando de utilizar esta makina virtual como privada, no como compartida.

Privada-seria que solo mí programa sea el que corra en ella.
Compartida – seria que cualquier programa en Java, en la makina del usuario, corra bajo ella.


Después de todo, después de terminar mí aplicación piloto y terminar su WEB, (GRACIAS A DIOS QUE FUE PILOTO) me di de cuenta que existieron algo llamado GetrightJ y ICQ for Java.

Despues de todo Parece ser no ser el único que ha dicho…
Java es bueno pero NO SIRVE.

En lo que parece ser bueno Java es que tiene ha personas trabajando que se han dado de cuenta de esta situación del tamaño del JRE y su problema. Ethan o Chet.
En lo que parecer no servir es que se tiene que esperar por lo menos un año mas para ver que estas ideas sean realizadas. ¿Acaso estos cabrones estan mandando un cohete ala Marte?

Pero no se vallan por que esta pelea no ha terminado apenas comienza y puede que llegue al round 13.

**********Segundo Round*****************

“DOBLEN LAS APUESTAS MI GENTE”

Una de las cualidades “poderosas de Java” es que un programa escrito Java puede correr en cualquier plataforma ¿verdad? Diantre pero se me olvido, la versión de Java para las plataformas MAC, está a cargo de Apple. :( En la página de descarga de Java, no se encuentra, una descarga para Mac. Lo único que se encuentra en un link, diciendo “download Java from apple site” y cuando aprietas el link te lleva a una página dónde vas a descargar la versión 5 de Java, además de decir que la descarga en esta ocasión de de 83 MB.

Java a promocionado la famosa frase Write once, run anywhere“.
Pero yo diría que escribí una sola vez, y me he tenido que joder.

Ni si quiera me he tomado la molestia de correr mí ejecutable .jar en alguna plataforma MAC. ¡NI SIQUIERAQ! ¡NI SIQUIERA!


Y sí uno se pone ha pensar bien entonces el “release” de Java 6 no ha sido a finales del 2006, el release de Java 6 todavía no se ha dado y puede que se tenga que esperar hasta finales del 2007, 26 de Octubre-2007, para que la versión 6 de java para MAC, sea disponible.

Claramente y nuevamente, esta situación me pone en desventaja, porque no le puedo llegar a la cantidad de usuarios que yo quisiera. Ya escribi una vez, pero no he podido correr donde quiera.

¿Diganme ustedes? Los del equipo de Java. No se supone que el trato era , que los programas correrian un poco mas lentos(solo un poco) ¿Pero se ejecutarian en cualquier plataforma?

La parte en que Java sirve es que ha tenido a unas personas de su equipo de trabajo que se han dado cuenta de este problema. John O’ Conner’s.

*******Round number 3, 4 y 5***************


“Pónganseme las botas que voy a pegar fuerte y voy a ser bueno a la vez”

Muchos me dirían, estás hablando mierda, un programa como limewire está siendo exitoso, está escrito en Java, si tú no tienes éxito ese es tu problema tonto. Si no has vendido una sola copia de tu programa, “el problema no es el caballo, es el jockey”, morón.

Yo les diría (aunque muchos no estén de acuerdo conmigo) que la única razón para que limewire esté teniendo éxito, es que la gente hace lo que sea por música y pornografía gratis, y que tampoco me hace falta el dinero de vender algun software , pues tengo un buen trabajo.

Pudiera escribir un P2P en Python, en Cobol, en SmallTalk, en Ada, en Fortran, y la gente buscaría la forma en que su programa funcione a cualquier costo, después que la pornografía y música gratis estén presentes…

El usuario promedio, y digo el usuario promedio (99.8%) espera que cuando uno le de doble click en el mouse el programa se ejecute ¿Verdad? ¿Verdad? ¿Verdad?

Pues me tarde 2 semanas averiguando el de cómo hacer que mí ejecutable .jar se pudiera convertir en un .exe y que cuando el usuario le diera un doble click se pudiera ejecutar sin ningún problema.

Primero utilice el Inno Setup Installer, utilice la compresión lzma/ultra y utilice Launch4J, (tuve que aprender hasta modificar los scripts que crea el Inno).

Sí alguien va a utilizar el Inno , pongan atención en la parte en que pongo “WorkingDir” pues de no hacerlo se les crearia un pequeño bug, en algunas maquinas de Windows.

[Icons]
Name: “{group}\Trujillo Password Manager”; Filename: “{app}\TrujilloPasswordManager.exe”; WorkingDir: {app}
Name: “{group}\{cm:ProgramOnTheWeb,Trujillo Password Manager}”; Filename: “http://www.trujillopasswordmanager.com/”; WorkingDir: {app}
Name: “{group}\{cm:UninstallProgram,Trujillo Password Manager}”; Filename: “{uninstallexe}”; WorkingDir: {app}
Name: “{commondesktop}\Trujillo Password Manager”; Filename: “{app}\TrujilloPasswordManager.exe”; WorkingDir: {app}; Tasks: desktopicon
Name: “{userappdata}\Microsoft\Internet Explorer\Quick Launch\Trujillo Password Manager”; Filename: “{app}\TrujilloPasswordManager.exe”; WorkingDir: {app}; Tasks: quicklaunchicon

[Run]
Filename: {app}\classes.BAT; Flags: skipifdoesntexist runhidden
Filename: “{app}\TrujilloPasswordManager.exe”; Description: “{cm:LaunchProgram,Trujillo Password Manager}”; Flags: nowait postinstall skipifsilent

Realmente mí punto aquí es, que estas 2 semanas que me las pude haber ahorrado escribiendo en C WIN32API o MFC C++, las he perdido escribeindo por utilizar Java. Y aunque Java tiene unas cosas que te ayudan a programar más rápido, como lo es el manejo automatico de memoria, pues a la misma vez tiene otras cosas que te atrasan.
¿ Entonces cual es el punto de usar Java para crear una aplicación de escritorio?¿ Alguna vez te dijeron, que lo barato sale caro?

Ósea ahora mismo me encuentro en una situación en qué no puedo ejecutar mí aplicación en cualquier plataforma por qué fue desarrolladla en Java 6 y tendría que esperar un año más para que mí aplicación fuera propiamente ejecutada en una MAC y a la misma vez creyendo que podía desarrollar mí aplicación en Java más rápido porque no tenía que bregar con la memoria de la PC, me salió en tiro por la culata, POR QUE aunque no tuve que bregar con la memoria de de la PC , tuve que bregar haciendo que TPM pudiera ser ejecutado solo con un doble click. Lo que a finales de cuenta no he tenido el avance que esperaba.

Yo estoy consciente que ningún lenguaje va a ser perfecto. Pero me siento en esta situación como sí me hubiesen robado, como sí me hubiesen cogido de pendejo, y les digo algo, no me tropiezo 2 veces con la misma piedra.

El problema es que….
1) PRIMERO NO TODOS LOS .JAR son ejecutables
2) SEGUNDO SE ME HIZO UN PEO (PERO UN PEO VERDADERO) PARA PODER HACER QUE Mí .JAR fuera ejecutable con un doble click.
3) TERCERO PARA LOS PROGRAMAS QUE UTILIZAN MAS DE UN .JAR ALA MISMA VEZ se les ha creado otro peo atorado. Chequéense los comentarios de este
blog.
4) CUARTO, sí hay algo de verdad en java, es que con cada versión nueva del JRE que Sun saca ,los programas se ejecutan más rápido, y esto es algo de lo que puedo dar fe. Pero cuál es el punto de sacar una maquina virtual 6, cuando realmente no se puede utilizar como es propiamente debida.

El punto de desarrollar mí programa en Java 6 fueron estos ‘gray rect’ , sorting and filtering tables , arreglos en el Drag and Drop , soporte de texto para LCD , un programa que pudiera correr mas rápido , y un sinnúmero de arreglos.

Recuerden mí gente, que no estoy diciendo que Java es una porquería (por que parece ser que le esta yendo muy bien en los teléfonos móviles), lo que estoy diciendo es que Java es bueno, pero no sirve.

Lo bueno de esto yo diria que es que hay personas en Sun que estan pensado bien correctamente y estan arreglando las cosas.

Lo que no sirve seria que estos arreglos , han conllevado un tiempo, tremendamente exagerado , y que Java “POR AHORA” ha sido mas promoción que verdad.

*****ROUND 6********

mmmmmmmmmmmmm, dejame ver , mmmmm dejame ver

No quiero que me mal interpreten, pero miren este enlace y analicemos un poco.
Este rfe fue llenado en 1999, ya van 8 años.

Cuando estaba haciendo mí aplicación piloto, me di de cuenta como es obvio que tenía que tener un poco de documentación para mis usuarios. Adivinen…. en Java no se puede hacer una documentación como yo quisiera, por que JEditorPane está más obsoleto que el mismo MetalLookAndFeel. Esto me causa risa y ala misma vez me causa irritación.

Creo que en esta, se les fue la mano ¿verdad? ¿8 años y no se ha podido hacer nada?
Me quedo un poco mudo, no sé ni que decir.

Este otro problemita lleva 8 años, sin resolverse, esto quiere decir que si encuentro un problema hoy mismo ¿puede que tarde 9 años en resolverse?

El navegador de Java , descontinuado…

Creo que no necesito explicar bie mí punto.

******ROUND 6 – 12**********

Quiero que alguien me diga, cual es el punto principal de utilizar Java:

1) Tu programa puede correr en todas las plataformas, Mac, Linux, Windows, etc. Potencialmente pudiendo llegar hacia mas usuarios de tu aplicación.EXCELENTE!

2) No te tienes que preocupar por la memoria de la aplicación, acabando “casi” literalmente con los memory “leaks” y ahorrando tiempo. EXCELENTE!

Las personas que han leídosaben que el punto #1 es una mierda, y que no se está honrando, simple y sencillamente no sirve. Las personas que han programado anteriormente saben que existe un lenguaje, en el cual nunca nadie se ha tenido que preocupar por lo memoria, y se llama VISUAL BASIC. También saben que vienen recolectores de basuras disponibles para C++.

Y las personas que han programado en Java, sí saben que se tienen que preocupar por la memoria “aunque sea un poco”, porque los programas en Java, consumen más memoria, que por lo general uno escrito en C++.

Realmente sí uno lo piensa bien Java es una plataforma que corre encima de otra plataforma! Piensen en esto por un momento.

Y debo de ser realista y sincero pues a mí nadie me paga para escribir.
Aparte de todos los puntos malos que he expuesto en mis entradas anteriores, también cabe destacar que el lenguaje tiene unos puntos “super” bien atractivos, como lo es:

1) La sentencia Exception.printStackTrace(); que te ayuda a depurar a las millas , de una forma gloriosa. “hay algo parecido en C++”

2) Open Source.

3) La lógica en la sintaxis “todos los métodos adentro de sus respectivas clases”, “true no es 1, ni falso es 0“;

4) Cada versión nueva que sacan del JRE, los programas corren más rápidos.

5) javadoc

6) PUEDE QUE LA INERCIA, DE TU SOFTWARE, Dure mas tiempo pero esto lo pongo entre comillas “por que es algo que esta por verse”.

Se están trayendo ideas y conceptos bastantes buenos e innovadores. Hay muchos errores en lenguajes anteriores que se están evitando.

Estimo atravez de mí experiencia propia, que Java alcanzara en promedio por aplicación de escritorio la misma velocidad que los programas en C++ en más o menos dentro de unos 7 años, en el 2014. El único problemas es que mí tiempo es oro, vale dinero y no puedo esperar por nadie. En un año y medio, estoy seguro de que puedo dominar MFC y COM completamente.