Translate

miércoles, 11 de diciembre de 2013

JVM Flags y su relación con el profiling y performance tuning de aplicaciones Java



Image: Copyright Oracle Corporation

La Java Virtual Machine, HotSpot, posee una amplia variedad de Flags que modifican su configuración, comportamiento y rendimiento. Comúnmente nos llega la ocación, ya sea por requerimiento de un software o por necesidades propias, de hacer ajustes comúnes como el caso del tamaño del heap y perm geneneration (-Xmx , -Xms, PermSize, MaxPerSizerespectivamente). Sin embargo los expertos indican que muchos de los problemas de performance se deben a la lógica de programación  de la aplicación, malas prácticas y defectos de diseño que al final se ven reflejados en la JVM. "Modifique estos Flags si y solo sí usted sabe lo que está haciendo" es una de las frases que en conferencias y documentación se enfatizan frecuentemente en lo que respecta a performance tuning de aplicaciones Java".

Hace algún tiempo encontré una gráfica que Alex Ragozin compartió en donde se muestran visualmente las flags categorizadas por su tipo. Recientemente encontré otro listado que categoriza las flags por uso (diagnóstico, producción, desarrollo, etc). Hoy Kirk Pepperdine (@kcpeppe) ha publicado en su blog de java.net un excelente Caso de Estudio sobre el uso de Flags de la JVM que nuevamente llama a la reflexión de que las bondades que ofrece Hotspot en cuanto a configuración es una espada de doble filo y que se debe de saber lo que se hace antes de empezar a "probar" realizar modificaciones. Recuerden, es mejor hacer un proceso de sanidad del código fuente y diseño antes de empezar a culpar a Generics por un mal performance.

En otro post comentaré acerca de los tipos de colectores y la evolución que estos han tenido dado que G1 sigue tomando protagonismo en lo que a Algoritmos de Recolección de la JVM se refiere. Lo cual nos va a hacer replantear nuestros viejos trucos bajo la manga que hasta el momento han sido documentados :) en cuanto a Performance Tuning en aplicaciones Java se refiere.

sábado, 7 de diciembre de 2013

Nice JSF 2.2 presentation by Ed Burns


En esta conferencia de mediados del 2013 Ed Burns, Spect  Lead de JSF, presenta de forma magistral el porque JSF sigue siendo relevante en un contexto en que HTML 5, JQuery y frameworks como Vaadin han ganado popularidad en el desarrollo de aplicaciones web y mobile.

Video:


JSF 2.2 Big Ticket Features in Context from JavaZone on Vimeo.

Slides:


martes, 3 de diciembre de 2013

Semana de la Ciencia de la Computación y la Hora de código



"Great Coders are today's rockstars", "The programmers of tomorrow are the Wizards of the Future", "helping people with code" algunas de las frases que me gustaron del video que les comparto. Se trata de una iniciativa cuyo objetivo es llevar la experiencia de Desarrollar Software (me gusta más ese termino en español y no el frío verbo"programar") a cualquier persona. Sí, no hay pre requisito de lógica matemática, matemática o incluso computadora. Más información: http://csedweek.org/.


Qúe es Desarrollar Software?


Qué es la Hora de Código


Desean ser participantes activos por parte de Guatemala:

viernes, 29 de noviembre de 2013

Video animado de Quantum computer

Dado que mi aprendizaje se basa mucho en la experiencia visual, modelo que siempre trato de replicar cuando tengo que transferir información, les comparto una versión animada de una breve descripción de lo que es la computación cuántica. Habrá que esperar a que surga una JVM cuántica :D :


martes, 19 de noviembre de 2013

El por que Eclipse IDE sigue siendo el más utilizado



Les comparto el articulo escrito por RebelLabs (ZeroTurnAround) en el cual presentan una serie puntos y detalles del porque Eclipse IDE es hoy en día el IDE más utilizado para el desarrollo de aplicaciones Java.  El artículo tiene como base el Developer Productivity Report del año 2013 en cuando a desarrollo Java se refiere.

Link al artículo: http://zeroturnaround.com/rebellabs/using-eclipse-for-java-development/1/

domingo, 10 de noviembre de 2013

Java Mission control para el monitoreo, administración y profiling de aplicaciones Java


El pasado sábado 9 de noviembre tuve la oportunidad de presentar en el Java Day Guatemala 2013 una charla acerca de Java Mission control para el monitoreo, administración y profiling de aplicaciones Java. La charla esta divida en tres partes: Teoría básica de la JVM, comunicación con la JVM y las herramientas actuales destacando Java Mission Control y Java Flight Recorder.

Debido a problemas técnicos ajenos a mi voluntad, la transmisión en vivo y por ende la grabación en Youtube se estará publicando en el transcurso del mes. Mientras tanto acá les comparto la ppt.


jueves, 7 de noviembre de 2013

Extensión del PMBOK sobre proyectos de Software


Se ha publicado recientemente una extensión al PMBOK 5ta. edición, la cual tiene la peculiaridad de ser sobre Software. Al parecer los ejemplos de la ingeniería de la construcción carecen de la intangibilidad, sostenidos y bemoles que el Software tiene. 244 Páginas que serán interesantes de leer y ver cual fue el resultado en la participación de la IEEE con el PMI.

Más información: http://marketplace.pmi.org/Pages/ProductDetail.aspx?GMProduct=00101457501

domingo, 3 de noviembre de 2013

Fracaso en proyectos de TI

Les comparto una presentación que dependiendo del caso puede llegar a generar reflexiones sobre el por qué del fracaso de proyectos de TI. La diapositiva fue presentada por el costarricense Edgar Vasquez PMP.


sábado, 2 de noviembre de 2013

Development and Deployment at Facebook




Interesante Paper publicado por Dror FeitelsonEitan FrachtenbergKent Beck que muestra el proceso de construcción y publicación de Facebook. Link de desacarga: https://t.co/4axjAgpxr4

El listado completo de varios temas que se han publicado: https://www.facebook.com/publications/

viernes, 18 de octubre de 2013

Nuevo API para mongoDB con Trisha Gee

http://nighthacking.com/javaone-interview-with-trisha-gee/

El sitio http://nighthacking.com nos comparte una breve entrevista con Trisha Gee quien actualmente se encuentra trabajando en un nuevo API Java de MongoDB. Si alguna ves se han preguntado sobre el proceso que lleva a escribir drivers, API's o diferentes tipos de conectores, esta entrevista sin duda despeja muchas de las dudas.


jueves, 17 de octubre de 2013

La nueva Java Mission Control




Java Mission Control (JMC) en pocas palabras puede definirse como Jconsole con esteroides (cita tomada literalmente de la presentación oficial). He iniciado a familiarizarme con la interfaz y data que presenta y hasta el momento puedo decir que en realidad no tiene nada que envidiarle a VisualVM.

El white paper publicado por Oracle lo pueden descargar en Technetwok y este es el Screencast oficial publicado en septiembre  en donde se da un breve demostración de la instalación y uso de JMC:



Links de apoyo:
Documentación Oficial
Releas notes de la version 5.2


martes, 15 de octubre de 2013

Be ready for Java Day Guatemala 2013



JavaDay Guatemala 2013 is just around the corner. 
This year the third edition of the event is going to take place on Saturday November 9th. At INTECAP TICs. The event has a free and open admission.

In the mean time the Guatemala Java User Group have posted a nice set of videos about Java Day, Oracle Java Magazine, Glasfish and JavaEE:


A message from Arun Gupta to the Guatemala Java  User Group

 A message from Caroline Kavitka to the Guatemala Java User Group

jueves, 10 de octubre de 2013

Cuota de mercado de tecnologías en Jelastic


Jelastic publicó las respectivas cuotas de mercado que este año han tenido las Base de Datos (tanto relacionales como NoSQL), versiones del Lenguaje Java así como también los diferente servidores de aplicaciones que proveen en su PaaS.

http://blog.jelastic.com/2013/10/10/software-stacks-market-share-september-2013/

martes, 8 de octubre de 2013

Porque programar también es cosa de niños y niñas



El paradigma acerca de la complejidad del diseño y desarrollo de software sigue evolucionando con el tiempo al mismo paso en que se reduce la brecha entre los niñ@s y la posibilidad de expresarse a través del código fuente. 

Desde la primera versión de Lego RCX, pasando luego por el famoso Lego Mindstorm y llegando al novedoso robot francés Nao, que el año pasado estuvo de exhibición en Guatemala y que no tiene nada que envidiarle a proyectos abandonados por empresas como Sony en el caso de Qrio, el hecho de poder presionar un botón y enviarle instrucciones a un robot es una experiencia que todos deberían tener.




El poder introducir a los niños y niñas desde temprana edad al mundo de la robótica y programación ha sido más fascinante.  Una iniciativa que busca ampliar la cobertura de la experiencia de poder programar a niños y niñas es Devoxx 4 kids que recientemente ganó un Duke Choise Award en JavaOne 2013:


Esta iniciativa trae consigo nuevos retos pedagógicos que la academia aún no logra alcanzar y estandarizar globalmente por muchos factores tanto internos como externos, sin embargo hay propuestas interesantes al respecto, tal como el caso de la conferencia impartida por James Weaver @javafxpert y Arun Gupta @arungupta en el pasado JavaOne 2013:



jueves, 3 de octubre de 2013

SonarQube y su evolución en reglas Java



Ya han pasado más de 6 meses desde que Freddy Mallet del framework de análisis estático de código SonarQube anunciara el roadmap del sistema para el 2013. El día de hoy se confirma la intención de remover Checkstyle y PMD de SonarQube para pasar a utilizar su propio Java Rule Engine. Suman ya 158 reglas  de Ckeckstyle y PMD las marcadas como deprecated en la última versión de SonarQube.

Será de esperar la evolución del Java Rule Engine para determinar el grado de aceptabilidad que dicha herramienta tendrá sobre los ya antiguos Checkstyle y PMD.

miércoles, 2 de octubre de 2013

Java EE 7 Learning Book






Java EE7 es una excelente referencia bibliográfica para iniciarse con la última versión de Java Enterprise lanzada hace un par de meses oficialmente por Oracle. El libro fue escrito por Aron Gupta quien con más de 14 años de experiencia y participación con el equipo técnico de Java EE desde sus inicios es ahora evangelista de Java para Oracle.

Tuve el agrado de conocer a Arun en el paso JavaOne 2013 y le extiendo mi agradecimiento por sus consejos y autógrafo respectivo de la copia de su libro ;).






domingo, 29 de septiembre de 2013

lunes, 2 de septiembre de 2013

El origen de Ágil en la Ingeniería del Software

Cada vez me convenzo más que independientemente del  nombre, acrónimo o nickname que uno u otro framework "Agile" de Ingeniería del  Software  tenga, el eslabón por el cual existen siempre está basado en un par de reglas simples: http://agilemanifesto.org/ escritas hace más de 10 años y practicadas incluso por framworks no tan ágiles que no se dejan oxidar, olvidar u obsoletizar agregando un poco de sal, pimienta, una nueva portada y una pisca de ágil a sus nuevas versiones.

domingo, 21 de julio de 2013

lunes, 15 de julio de 2013

Oracle Technology Network Tour Guatemala 2013



El próximo Miércoles 17 de Julio se llevará a cabo el OTN Tour Guatemala 2013.  Se contará con la participacion de comferencistas internacionales y nacionales en las diversas tecnologías de RDBMS, Middleware, SOA, Cloud Computing y desarrollo de sistemas entremotros. La agenda, costo de los paquetes se pueden consultar en: http://www.galileo.edu/historias-de-exito/oracle-tour-2013/

miércoles, 26 de junio de 2013

Develop iOS and Android Mobile Apps with Java



El 7 de agosto del 2013 Oracle Technology Network llevará a cabo el Virtual Developer Day: Develop iOS and Android Mobile Apps with Java

El evento es gratuito y desde ya pueden registrarse en el siguiente link
Para más información sobre Oracle ADF Mobile: link2

Agenda del evento:
Agenda
Time (PT)
9:00 a.m.Keynote - Preparing to Go Mobile
9:30 a.m. Introduction to Oracle ADF Mobile
10:30 a.m.ADF Mobile - The Data Layer
11:15 a.m.ADF Mobile - UI Design and Device Integration
12:00 noonHands-on Lab
1:00 p.m.Event Close


miércoles, 19 de junio de 2013

Java Virtual Developer Day 2013

Oracle proveerá contenido educativo que cubre Java SE, Java EE y Java Embedded en conjunto con chat's con expertos de Oracle. El próximo día del evento será el 25 de Julio del 2013. 


  • EMEA/Africa/Middle East – Tuesday June 25th, 2013
    • 9:00 a.m. – 1:00 p.m. BST / 10:00:00 a.m. – 2:00 p.m.CEST
    • 1:30 p.m. – 5:30 p.m. IST / 12:00:00 p.m. – 4:00 p.m. MSK
    • 8:00 a.m. – 12:00 p.m. Corresponding UTC (GMT)

miércoles, 12 de junio de 2013

Video intro del evento WWDC 2013 de apple



El evento completo puede ser visto en: http://www.apple.com/apple-events/june-2013/

Lanzamiento oficial de Java EE7



El día de hoy 12/06/2013 Oracle realizó el lanzamiento oficial de Java EE7 a través de un live WebCast que estará disponible de forma Ondemand en el siguiente link.

Entra la nueva documentación describiendo a las características de los APIS como Json, Web Sockets, EJB 3.2, CDI, Servlet 3.1 etc. se encuentra: http://docs.oracle.com/javaee/7/tutorial/doc/home.htm

También se encuentra disponible el actualizado tutorial First Cup para esta nueva versión de Java Enterprise Edition: http://docs.oracle.com/javaee/7/firstcup/doc/home.htm

En lo personal recomiendo adentrar en el tema de Batch Processing ya que es una nueva características que se está agregando a JavaEE que sin duda estará dando de que hablar.

domingo, 28 de abril de 2013

domingo, 7 de abril de 2013

América Latina no tiene suficientes profesionales en TI

Datos interesantes sobre la relación de oferta y demanda de profesionales de TI en América Latina comisionado por Cisco en el área de telecomunicaciones. Nuevamente los datos más que preocupantes creo que los debemos ver como oportunidades para nuestra región.  El artículo completo presentado por la revista summa se puede acceder en el siguiente enlace.

viernes, 5 de abril de 2013

Extensión multimedia para la biografía de Steve Jobs

Como la imaginación en biografías puede ser reafirmada por la realidad, http://www.stevejobsarchive.net/ es un sitio que provee videos y comentarios adicionales para cada capítulo de la biografía de Steve Jobs de Walter Isaacson.

domingo, 10 de febrero de 2013

Plantronics shows how sensors will change every product



Sin duda alguna la sinergia entre tecnologías sigue encontrando nuevas formas de comunicarnos, en esta ocasión el CTO de la empresa Plantronics nos muestra algunos prototipos de software y hardware que my probalemente llegarán al consumo popular en formas y aplicaciones aún no previstas pero muy interesantes.

Habrá que esperar la respuesta de Motorola y Jabra al respecto ;).

lunes, 14 de enero de 2013

Desarrollo de curriculum y herramientas para educación en línea



10gen, la empresa detrás de MongoDB, nos ha compartido en los últimos días la "receta de cocina" que crearon para poder llevar a cabo los cursos M101 y M102 realizados a finales del año 2012.  Desde detalles técnicos hasta hardware, en realidad la poca inversión monetaria no impidió que tanto los contenidos como el medio para distribuirlos fuera de alta calidad. Cousera y otros sitios han tomado enfoques similares, pero 10gen dio la milla extra al compartir en la web dicha información:

http://ed-blog.10gen.com/post/40521351221/curriculum-development-for-online-ed

viernes, 4 de enero de 2013

Optimizando el tiempo de desarrollo Java con JRebel



A pesar de que IDE´s como Eclipse a partir de la versión Indigo (y netbeans desde antes) ya proveen funcionalidad parcial de deploy incrementales, Jrebel va mucho más ayá de lo que Java Hot Spot puede proveer cuando activamos nuestro Tomcat en modo debug.

Con Hot Spot podemos modificar nuestras vistas (Jsf´s) para que sean recompiladas automáticamente, cambiar textos desde nuestro controlador (beans), pero una vez agregamos un método a una clase o modificamos funcionalidad fuerte dentro de un método... la magia se acaba :( y debemos volver a re desplegar nuestra aplicación.  El realizar las modificación instantáneamente a nivel de Class Loaders hacen de JRebel una atractiva opción comercial para minimizar el tiempo de desarrollo de aplicaciones Web en Java en donde frameworks como Spring pueden convivir con las funcionalidad que la herramienta ofrece.

Pero que mejor que desde Estonia (país de donde nace esta herramienta) nos den una introducción más detallada: http://zeroturnaround.com/jrebel/desarrollando-en-java-con-jrebel/