Viendo el blog de picando código, me encontré con este video y como tenía tiempo sin poner música geek aquí. He decidido compartirlo con ustedes:
Y para mis lectores programadores: ¿Ustedes siguen programando en Java? ¿O han cambiado de lenguaje?
Hoy hace 4 años: Code Monkey escrito en Delphi
Hoy hace 10 años: Archlinux 2009.02 ha sido lanzado
Viendo el blog de picando código, me encontré con este video y como tenía tiempo sin poner música geek aquí. He decidido compartirlo con ustedes:
Y para mis lectores programadores: ¿Ustedes siguen programando en Java? ¿O han cambiado de lenguaje?
El viernes pasado recibi mi invitación para participar en la beta de AppInventor, un programa para crear aplicaciones para Android sin necesidad de escribir código, si nunca lo han escuchado o desean ver una introducción, pueden chequear el siguiente vídeo:
Para comenzar a usarlo, se debe iniciar sesión con la cuenta de google y descargar un instalador, revisándolo por encima, trae un emulador de un móvil con Android, un depurador de código y parte del SDK de Android. El instalador pesa casi 60MB y está disponible para Windows, GNU/Linux y MacOS.
Una vez instalado no pude encontrar el ejecutable para iniciar la aplicación, pero al buscar información en la página, me di cuenta que es una aplicación web hecha en HTML5/Javascript (estos de Google se estan tomando en serio la computación en la nube), la misma, contiene a la izquierda un menu con una serie de componentes para usar en la interfaz de la aplicación, en el medio la ventana de la pantalla telefóno y a la derecha las propiedades del componente y un navegador de componentes usados. Esta interfaz es sencilla, igual a los IDEs existentes por lo que para los desarrolladores no será problema el uso de AppInventor, los componentes simplemente se arrastran a la pantalla del teléfono y con doble click vamos editando las propiedades.
Esta parte es sólo la vista de la aplicación (como el modelo MVC) por lo que para agregar eventos y definir las acciones a ejecutar cuando el usuario interactúa con estos componentes, utilizamos la vista de bloques, accesible por un botón en la parte superior derecha. Al hacer click allí, se abre una aplicación Java Web Start (se vé el gran uso de Java en Android por parte de Google) donde pasarmos a la vista de asignación de eventos y acciones (como el controlador segun MVC), lo interesante, es que podemos asignar eventos y acciones a través de bloques parecidos a las piezas de un rompecabeza, uniendo los bloques podremos realizar el programa deseado sin escribir una línea de código. El famoso Hola Mundo, lo hice en menos de 5 minutos sin leer manuales, usando 3 bloques como se ve en la siguiente imagen:
Luego podemos ver los resultados en nuestro teléfono Android o usando el emulador, generar el paquete y distribuirlo. No he leído, pero creo que por ahora no hay mucha interacción con el Market y no se como es la licencia para el uso de esta aplicación.
Me gustó como se trabaja con esta herramienta y permite desarrollar cosas sencillas en pocos pasos (obviamente cosas complejas requiere escribir código), además permite a personas ajenas a la programación, realizar aplicaciones sencillas para si mismas. Google está haciendo un buen trabajo con esto y me llamó la atención que todo fuese bajo web, muchos no nos imaginaríamos hace unos años la posibilidad de crear aplicaciones desde el navegador.
Hoy al subir unas fotos al facebook, me dí cuenta que funcionaba de nuevo la aplicación para cargar las fotos a través de un explorador de archivos. Desde que empecé a usar 64 bits con mi nueva PC, no había podido usar esta aplicación porque necesitaba del plugin para Java, pero no estaba disponible para el navegador de 64 bits, sin embargo, instalando el navegador de 32 bits junto con las librerías requeridas, permite usar el plugin oficial existente para 32 bits. Pero nunca lo hice porque me daba pereza y para eso me quedaba en esa arquitectura.
Al investigar mi historial de actualizaciones, observé que se había actualizado el JRE a la versión 1.6.u12, donde se incluye de manera oficial el plugin para la arquitectura de 64 bits. Me parece excelente como cada vez se crean mas aplicaciones compatibles con esta arquitectura; el año pasado recuerdo que la queja o el impedimento para la mayoría de migrar a x86_64 era la de ausencia del plugin de Flash y de Java para su navegador, dejando una gran cantidad de páginas web sin posibilidad de navegarlas completamente o de ver algo. Cada vez veremos como las aplicaciones saldrán para esta arquitectura que será el reemplazo de la actual, ya que 4 GB de Ram no serán suficientes para futuro próximo.
Nota: Si necesitan del plugin de java, solo actualicen el JRE a la última versión (1.6.u12) utilizando su gestor de paquetes.
Después de un tiempito he actualizado el Word Challenge Cheater para que funcione mejor con la nueva versión y ahora se incluyen los diccionarios para mejor uso del programa, para mayor información:
http://skatox.com/blog/2008/08/06/world-challenger-jcheater-v10/
Hace como un mes descubrí el juego “World Challenger” de Facebook , el cual me llamó la atención porque todos mis amigos lo jugaban y me pareció que la forma de ganar mas sencilla es como cuando se intenta adivinar una contraseña de una cuenta mediante fuerza bruta. Motivado por la fiebre que tenia la mayoría de compañeros de universidad y quedar de primer lugar rápido hice un programa para lograr un puntaje alto medianto el uso de fuerza bruta con un diccionario de palabras (obviamente eso es trampa).
El mismo está programado en Java porque queria ofrecer un binario para Linux y Windows sin tener que programar 2 aplicaciones distintas, ya que queria que se comunicara con el sistema operativo y escribiera por teclado las palabras automáticamente sin intervención del usuario. Otra razón es que todos los Cheaters de este juego que se consiguen en Internet no corren bajo Linux y pues quise ofrecer uno.
Modo de Uso
Para usarlo, simplemente corren el ejecutable (si no les abre, tienen mal instalado el Java en su S.O.) se les abrirá una ventana del navegador con la pagina de World Challenge (si no han iniciado sesión en facebook se los pedirá hacer) y ahora lo que único que deben hacer es escribir en la caja de texto las letras que les pide el juego, presionan la tecla Enter o clic en Crackear y cambien a la ventana del navegador con Word Challenge EN MENOS DE 2SG ya que después de ese tiempo empezará a tipear todas las palabras del diccionario que sirvan.
Bugs conocidos
Software Requerido
Requiere tener el JRE (Java) instalado en su máquina para correrlo y ademas tener en la misma ubicación del programa, el diccionario de palabras (incluido con el programa) con el nombre espanol.txt y/ó ingles.txt dependiendo del que vayan a usar (el diccionario debe tener como separador de palabras un salto de línea, es decir, una palabra por cada línea del archivo, por si desean usar otro diccionario).
Espero que les guste y no abusen de él; pueden redistribuir el programa libremente, pero si lo ponen en una página, favor de hacer un enlace hacia este blog o comenten del mismo. Aquí tienen el programa para usar:
Descargar World Challenger JCheater v1.1
Página web con buenos diccionarios de varios idiomas
P.D: “por ahora no libero el código fuente del mismo porque utilizo una libería propietaria que no es mía, me falta arreglar un poco el código y arreglar unos detalles. Tal vez, para la version 1.2 será q lo lance”.
Hace 1 año en esa fecha: Un MEME
Pues si, ya es oficial que Sun liberó Java bajo GPL y FELIZ CUMPLEAíOS 16 a la WWW.
Hace 1 año en esa fecha: Publicada nueva guia: Acelerar el XP y BLUE SCREEN OF DEATH
¡Guao! hoy me entero por medio de Slashdot y Barrapunto que al parecer Sun Microsystem usará la licencia GPL (la misma que tiene Linux) al momento de liberar Java el próximo año. Es una sorpresa para muchos (aunque todavía no es oficial) ya que la mayoría de las personas pensábamos que la licencia con la que iban a liberar Java iba a ser una libre pero con ciertas restricciones pero al ser GPL principalmente (y el cambio que creo que mas veremos) nos dará la libertad/obligación de publicar las mejoras o proyectos derivados hechos a la misma, por lo que no será raro ver en unos años ver muchas máquinas virtuales distintas hechas por diferentes organizaciones y causando lo que para mi es lo malo de este asunto: Incompatibilidad o Destandarización de Java.
Si liberan Java bajo GPL, en mi opinión debería Sun controlar o tratar de mantener un estándar de Java para todos los proyectos que se deriven del mismo, evitando que llegue a pasar que si programo algo no vaya a funcionar correctamente en todas las JVM que existan (sin tener que configurar algo), así como pasa con los navegadores libres, distribuciones, etc. (Claro puede sonar como dictatorial e ir con los principios de software libre) pero pienso que es lo mejor; otro problema que puede suceder es que las compañías que han creado trabajos o han desarrollados ciertas cosas en Java (entiéndase cosas incluidas en JRE, JSE, JME) deberían liberar estas cosas y causar disgustos para las mismas.
Existen rumores acerca de lo que Sun planea hacer es 2 modelos comerciales de Java, uno libre licenciado bajo GPL para la comunidad y otro con fin comercial dirigido a nivel Empresarial (Ya que de JEE no se ha dicho nada) así como lo hace Redhat, SuSe, MySql, que ofrecen versiones de sus productos tanto para la comunidad como para empresas. Lo cual haría “feliz” tanto al mercado empresarial como la comunidad y hacer Sun ganando mas dinero y ampliando su mercado.
Por ejemplo en Venezuela, Sun quería entrar al mercado del software gubernamental pero como sabemos por el decreto 3390 (que dice que todo el software gubernamental debe ser libre) no se podía usar la tecnología Java muchas tareas ya que su máquina virtual era privada e iba en contra del decreto. Otro ejemplo es que he leído es de que muchas empresas no les agrada Java porque no tienen acceso a la JVM y no pueden saber que hace en realidad, si tiene backdoors, si tiene algo que no les guste, funcionalidades escondidas, entre otras cosas. Supongo que estas cosas les habrá pasado en muchas partes del mundo, haciendo que pierdan mercado que ellos pueden entrar, por lo que es razones como estas han hecho que liberen a Java.
Tocará esperar al otro año a ver si esto se hace realidad y el impactó que tendrá en el mundo de la informática.
P.D: Agredeciría sus opiniones, discusiones del tema y correcciones.