No estoy seguro porqué pero no tengo tiempo hoy para acomodarlo:
May 30, 2008 3:10:03 AM com.kodegeek.blog.rss.GlobovisionHtml2Rss mainSEVERE: Cannot recover from this exceptionjava.lang.Exception: Unexpected problem at com.kodegeek.blog.rss.GlobovisionHtml2Rss.fetch(GlobovisionHtml2Rss.java:98) at com.kodegeek.blog.rss.GlobovisionHtml2Rss.main(GlobovisionHtml2Rss.java:62)Caused by: java.net.ConnectException: Connection refused at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) at java.net.Socket.connect(Socket.java:507) at java.net.Socket.connect(Socket.java:457) at sun.net.NetworkClient.doConnect(NetworkClient.java:157) at sun.net.www.http.HttpClient.openServer(HttpClient.java:365) at sun.net.www.http.HttpClient.openServer(HttpClient.java:477) at sun.net.www.http.HttpClient.(HttpClient.java:214) at sun.net.www.http.HttpClient.New(HttpClient.java:287) at sun.net.www.http.HttpClient.New(HttpClient.java:299) at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:784) at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:736) at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:661) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:905) at java.net.URL.openStream(URL.java:1007) at com.kodegeek.blog.rss.GlobovisionHtml2Rss.fetch(GlobovisionHtml2Rss.java:88)
Asi que a quienes están suscritos el servicio, paciencia, ya veré porqué no está feliz
Todavía estoy tratando de agarrar vuelo con todas las cosas que leí en JavaOne de este año; Una de ellas fué una presentación (a la cual no pude ir pero de la cual conseguí material) de la herramienta de análisis estático FindBugs. Muy fácil de usar y con recomendaciones muy claras.
Decidí aplicársela a PingBlog y corregí al menos 20 cucarachas (de 350). Lo preocupante aquí es la cantidad de advertencias y errores que vienen de las librerías Open Source que utiliza el proyecto.
Como siempre estas herramientas no son la “bala de plata” que nos resolverá todo, sin embargo es bueno tenerla a la mano. Le recomiendo la presentación de la herramienta, ya que sin buenas practicas de nada sirve hacer análisis estático de ningún código
Si quiere probarla de una vez, le recomiendo que utilice la versión de Webstart. Es muy fácil.
Ah y por cierto, liberé una versión con los errores corregidos de PingBlog la cual puede utilizar desde Webstart como siempre.
Bueno, juego un poquito más con Sentilla. Como ustedes recordaran de un articulo anterior, yo ya tenia un pequeño hola mundo corriendo en la máquina que tiene el Gateway de Sentilla y los sensores, el principal problema es que el “Gateway” (la parte que va conectada a al puerto USB) solamente funciona bajo Windows (prometen que Linux y OSX saldran pronto), así que me senté a escribir un cliente y servidor con UDP.
El articulo completo está en el blog de la Cara Oscura del Desarollo de Software.
Espero les guste, ya les traeré otros juguetes en próximos artículos.
Desde que empecé a jugar con Sentilla no he hecho otra cosa más que buscar que otras herramientas existen para programar con Java en hardware de pocos recursos. Lo último que me encontré es esta tarjeta llamada Arduino, la cual viene con su software Open Source.
Por cierto, si tienen tiempo les recomiendo que se compren el libro Make Things Talk. Bien interesante, el nivel técnico requerido no es tan complejo y las aplicaciones son super entretenidas.
¿Recuerdan como les prometí que iba a jugar con Sentilla Perk? Hoy comencé con una sencilla aplicación la cual mide la temperatura usando los dos sensores (llamados “Motes”) para luego transmitirla a la laptop la cual tiene instalado el “Gateway” que habla el protocolo CC420 en el puerto USB.
Después de leer los ejemplos, la guia de programador y el API me conseguí que es muy fácil recolectar datos con los sensores. El código que hace la captura es el siguiente (este código es instalado desde la máquina que corre el servidor Perk en todos los motes):
Sendersender=SenderDriver.create("local");shortcount=0;TempMessagedatamsg=newTempMessage();datamsg.moteId=id;while(true){count++;leds.toggle(count);// Play with the ledsdatamsg.count=count;datamsg.temperature=tempSensor.read();// Read the temperaturesender.send(datamsg);Thread.sleep(WAIT_TIME);}
Y en la Laptop en donde estoy corriendo el servidor me limito a capturar la información enviada por los sensores para mostrarla por pantalla (código):
Pienso hacer una interfaz para poder mostrar esta información en Internet, esten pendientes. Por ahora los dejo con un video en el que se ve como corre el cliente que recibe los datos de los sensores:
No tengo tanto dinero como para gastarlo en uno de estos juguetes, sin embargo la gente de Sentilla sacó una versión un poco más limitada (pero con interés comercial) llamada Perk, la cual costo solamente $199 en JavaOne.
Asi que si, decidí jugar un poco con Perk
Mi única queja personal del Perk es que el software de desarrollo solamente se instala bajo Windows y solamente soportan Eclipse (no tan malo, ya que yo lo se usar bien).
Aún no he empezado, pero ya corrí por algunos de los ejemplos y tengo varias ideas de lo que quiero hacer.
Otro de los regalos de Java One de este año, una copia en DVD de OpenSolaris. Traté de correr el Live CD (para jugar con ZFS entre otras cosas) y simplemente falló en reconocer el modo gráfico de mi laptop… algo que Linux lleva como 5 años haciendolo bien.
Lo siento OpenSolaris, no me interesa perder el tiempo contigo, por ahora Ubuntu ganó este round
Esa es una pregunta importante. Y como toda pregunta, existen varias respuestas. Una de ellas es el indice TIOBE el cual mide la popularidad de los lenguajes de programación. Según el autor de este (lo lei en una revista, no puedo citarlo exactamente) los lenguajes a saber en los proximos 5 años son Java y C#. C y C++ seguiran perdiendo terreno debido a que no tienen manejo automatico de memoria y Perl será reemplazado por Python debido a la demora de 7 años en liberar una nueva versión.
Sin embargo, como todas las bolas de cristal, hay que ser cuidadoso al escuchar estas predicciones
Hola a todos los que leen este blog; Debo decir que las vacaciones que tomé con la familia en San Francisco fueron simplemente brutales y que de ellas solamente un día fué dedicado a Java One (después de todo la intención era relajarnos y conocer sitios como Napa Valley, Monterey Acuarium y por supuesto la ciudad).
Pero como este es un blog dedicado a cosas Geek solamente les hablaré de JavaOne 2008 (el cual se celebró en el Moscone Center) por los momentos, amigos y familia pueden meterse en Flickr y disfrutar del resto.
OK … JavaOne, fué una experiencia increíble. No solamente se está cara a cara con personalidades reconocidas en la industria sino que además la cantidad de información que hay que absorber es inmensa debido a lo variado de los tópicos que allí se trataron.
El instructor de este curso fué nada más y nada menos que James L. Weaver, autor del libro JavaFX script y del Blog JavaFXpert.com. El curso trató de explicar lo que es JavaFX (un API encima de Java SE la cual te permite combinar Swing con Java 2D de manera fácil ya que todo es declarativo). Lo mejor es que se puede separar perfectamente la lógica de negocios mientras un grupo de diseñadores talentosos se encargan de hacer el “front end”.
JavaFX es Flash en esteroides en pocas palabras y quizas la cura para Ajax ; Sin embargo ha tenido varias limitaciones en su adopción debido a lo ladilla que es instalar Java SE en una máquina (sobre todo si no se tienen permisos de administrador) y la falta de herramientas como Flash las cuales les permiten a programadores aficionados crear aplicaciones.
Esas limitaciones estan desapareciendo ya que las versiones que vienen de Java SE van a ser modulares (solamente van a descargar los módulos requeridos por el script JavaFX) y en JavaOne se anunciaron varias herramientas las cuales van a soportar JavaFX al estilo de Flash (todo esto para Junio de este año).
En cuanto a la presentación, debo quitarme el sobrero ante el autor del curso; No hubo ni una sola presentación en PowerPoint sino todo fue CODIGO el cual fué explicado paso por paso. También el autor tuvo la amabilidad de responder preguntas durante toda la mañana; Yo le pregunté sobre internacionalización y uso de Threads dentro de JavaFX y aunque no tenia ejemplos listos este se las ingenio para mostrarme código que resolvía los problemas, ¡todo sobre la marcha!
Si usted hace aplicaciones para Internet, aplicaciones para dispositivos mobiles entonces JavaFX es el futuro (Si, es OpenSource también).
Si, el material de los mismos autores del libro. La presentación estuvo a cargo de Mick McLaughlin, un desarrollador con más de 10 años de experiencia en creación de interfaces gráficas en C++ y ahora en Java.
La única forma de describir esta presentación es decir que fué densa (mucho código, muchas explicaciones y mucho más código) e impresionante (las cosas que se pueden hacer con Java2D y Swing es impresionante). No mucha gente aguantó hasta el final pero valió la pena, esta es una de las areas que vale la pena explorar no sólo para que las aplicaciones se vean sexy sino también para que se desempeñen bien.
Esta presentación fué de “ñapa” ya que la asistencia era libre y empezaba a las 6:00 PM. Yo me metí porque me interesaba ver que tanto había progresado NetBeans comparado con Eclipse (en mi trabajo utilizamos Eclipse ya que se desempeña muy bien). La demostración fué muy interesante y la facilidad con la que se hacen aplicaciones web y de escritorio utilizando los “wizard” es impactante. Lo otro es que NetBeans ahora corre rápido, no es la tortuga que era Forte varios años atrás.
Otras cosas interesantes de esta presentación:
David Botterill (el webmaster de netbeans.org) habló de las limitaciones que existen en NetBeans a la hora de escribir aplicaciones web (usando Java Faces), mientras que
Alguien preguntó: ¿Como hace dinero Sun dando gratis el editor? La respuesta fué “igual que hace Oracle o IBM: Dandole soporte al middleware y servidores de aplicaciones mientras los usuarios utilizan el editor“.
En resumen, hubo de todo en JavaOne este año. Tengo unas cuantas sorpresas más las cuales iré soltando en este blog (particularmente una relacionada con “Pervasive Computing”). Si tienen preguntas sobre el evento o impresiones sobre el mismo, no duden en comentar en el blog, son más que bienvenidos.
Para aquellos que esten interesados, los invito a visitar el grupo en Flickr “Venezuela OpenSource” en el cual están estas y otras fotos más sobre el evento.
Comentarios recientes