29 de abril de 2009

Video Oficial de Campus Party Brasil 2009





Felicidades a l@s Campuser@s Brasiler@s, ya que Campus Party es un exito en Brasil, esperemos que Campus Party Centroamerica se un dia una realidad y logremos ser tan exitosos como en Brasil!

:D

24 de abril de 2009

iTunes App Store vende la iPhone App 1 BILLON

Una Aplicación iPhone llamada "Bump", usada para compartir contactos al hacer chocar 2 iPhone y gratuita se convirtió en la BILLONESIMA App descargada de la Apple iTunes App Store, marcando un hito en el software para plataformas moviles y quizá en la historia del software en general.



En tan solo 9 meses, tal numero de productos de software ha fluido desde los miles de desarrolladores a las manos de sus usuarios finales, de una manera tan sencilla... que ya otros productos de "software grande" quisieran tener, este modelo de distribución ha probado ser muy efectivo, y la prueba esta en que Google Android, NOKIA, Sony-Ericsson y otros, por supuesto otros como Microsoft y Palm, lo están copiando o... ya lo copiaron.

Aun falta muchas cosas por mejorar y que podrían representar una explosión todavía mayor, por ejemplo, ¿que hay de los miles de millones de usuarios de teléfonos que no pueden inscribir una tarjeta de crédito en una de estas App Stores, pero que tienen un dispositivo que puede correr las Apps?

En mi opinión, es solo cuestión de tiempo para que estas App Stores hagan convenios con las compañías telefónicas para hacer mas accesible a todos las Apps... sera un gran negocio y finalmente llevara a todos el software que necesitan para divertirse, trabajar, informarse y como lo dice en la App Store de Apple, "Habrá una App para hacer casi todo".

20 de abril de 2009

ORACLE adquiere a Sun Microsystems, creadores de JAVA ¿cual sera el impacto para el Open Source?

La Corporación ORACLE, la compañía de software empresarial más grande del mundo, que ha adquirido a través de los años compañías de Software como PeopleSoft, BEA, SIEBEL y otras... ahora ORACLE da un giro y ha adquirido a Sun Microsystems , creadores de JAVA en una transaccion valuada Aprox. de 7.5 Billones de dólares.

En esta movida estratégica, ORACLE usará los mejores productos de Sun, Solaris y JAVA para fortalecer sus productos e integrarlos en soluciones completas que incluiran el Software de ORACLE, como la Base de Datos, optimizados para correr en el Sistema Operativo Solaris y en el hardware de Sun, especializado en Servidores de alto desempeño y de misión crítica.

Por muchos años ORACLE ha usado JAVA para mejorar sus tecnologías mas conocidas como ORACLE Data Base y para el IDE JDeveloper, que ahora tiene muchos plugins para Eclipse.

Sun Microsystems, ha sido una compañía de grandes innovaciones, durante casi todo mi tiempo de vida, coincidentemente casi 27 años... he acá la línea de tiempo con algunos de los eventos más importantes:


He acá los más importantes de ORACLE: http://www.oracle.com/timeline/index.html

Pero... ¿que significa realmente para el mundo Open Source esta fusión de ORACLE y SUN?

He acá un breve análisis que hago, tecnología por tecnología:

MySQL

Muchos temores y dudas se han levantado sobre el futuro de MySQL, ya que es una base de datos open source muy popular y que Sun apenas habria adquirido en 2008. no se ve claro si ORACLE le seguira invirtiendo en estos tiempos de crisis a MySQL, haciendose competencia cn sus propias soluciones de Bases de Datos. Pero hay muchos factores que me hacen pensar que seria dificil que ORACLE borre a MySQL, como su amplio uso por muchos proveedores de Hosting, Univerisades, etc... y podria ser rentable para ORACLE que esta base se siga desarrollando para clientes que no necesiten ORACLE 11.

PostgreSQL por otro lado, seria el gran ganador si MYSQL desapareciera, y ya es muy popular en la comunidad LINUXERA y seria el reemplazo logico de Mysql en un LAMP por ejemplo. Es evidente que el mercado de Bases de Datos Open, es bueno, lo es para HSQLDB, para DerbyDB del mismo Sun y ORACLE no ganaria nada desvaneciendo a MySQL.

Innobase, fue comprada por ORACLE en 2005, son los creadores del famoso tipo de tablas InnoDB para MySQL del storage engine de MySQL. Ahora que ORACLE posee MySQL, podria ofrecer licencias por un pago, claro esta con MySQL y un InnoDB más desarrollado.

Creo que MySQL y ORACLE DB podrán co-existir pero si lo Open Source canibaliza lo propietario, ORACLE se las arreglara muy sutilmente, para que grandes clientes de MySQL se vayan migrando a ORACLE DB con suavidad.

Solaris

La Base de Datos de ORACLE esta muy "tuneada" para correr en la platadorma Solaris, obviamente ORACLE usara Solaris para montar sobre el su Base de Datos y ofrecerlo como "un todo". Por otro lado, ORACLE está muy comprometido con LINUX y vende ya serivios en combinacion con Red Hat y hace contribuciones al Linux Kernel. Probablemente, OpenSolaris no será tan soportado o se fusionará con las comunidades de desarrolladores LINUX de ORACLE.

LINUX se veria beneficiado, si de Solaris se pudieran tomar innovaciones como ZFS y DTrace.

OpenSolaris desktop probablemente no sobrevivirá debido a su pequeñisima comunidad, comparada con la de RedHat o la de Ubuntu.

Java

ORACLE es un jugador de "Grande Ligas" en el mundo Java, sobre todo en el middleware, como servidores de aplicaciones y ys se ha beneficiado mucho de este lenguaje de programación, que es el principalmente usado en sus productos. ORACLE tiene grandes expectativas de que el desarrollo de Java continue y se mantenga competitivo del lado de los servers.

ORACLE podria finalmente democatizar el Java Community Process (JCP, es esl procedimiento por el cual, compañias, desarrolladores y usuarios de Java piden nuevas caracteristicas y colaboran para nuevos releases y estándares) haciendolo mas inclusivo y transparente.

Donde tengo mis dudas es con JavaFX y otras tecnologias del lado del cliente, que no son precisamente el fuerte de ORACLE, ¿que tanto interes podrian tener en competir con Flash de Adobe?.

¿Y que hay de Java ME? Java ME realmente no es competitivo con la experiencia de uso de iPhone o Android, que es para donde todos los jugadores del sector movil estan tratando de llegar. De hecho el futuro de Java en dispositivos móviles, curiosamente podría estar en Android, que tiene una Virtual Machine customizada por Google y librerias de Harmony.

La Conclusión

Es dificil de predecir el futuro de los alcances de la adquisición de Sun por ORACLE o como impactará a la industria Open Source. Hay muchas preguntas sin poderse contestar aun, ¿que hay de OpenOffice.org por ejemplo?... ¿quedará volando o algo así?

Esperemos y de hecho asi lo pintan los CEO o directores de ambas empresas, que para la enorme comunidad de desarrolladores Java, usuarios de MySQL, ORACLE, OpenSolaris y todas las otras tecnologias Open Source liberadas y patrocinadas por ORACLE y Sun Microsystems, no haya mayores variaciones.


Por si acaso... tratemos de ir a la JavaOne 2009, no vaya a ser que ORACLE ya no vaya a hacer este evento que por 14 años ha sido el evento más importante para los Java Developers de todo el Mundo.



Yo tuve la oportunidad de asistir a la décima JavaOne 2005, y fue una experiencia super buena como persona y como profesional. En los próximos días estaré reuniendo colegas que quieran ir a la JavaOne 2009 para buscarnos un buen paquete, usando los contactos que se hicieron en 2005... ¡estén pendientes!

9 de abril de 2009

8 de abril de 2009

12 habilidades que los Desarrolladores de Software necesitarán en los próximos 5 años

Este ultimo mes, varios colegas o amig@s, me han contactado por el messenger o me han llamado, preguntándome que deberian aprender para mantenerse a flote en el competitivo mundo laboral que engloban la Informática y las Ciencias de La Computación. Humildemente, y segun mi experiencia o lo que veo en el medio, les contesto a los que me contactaron... y a los que se preguntan esto mismo, con esta entrada de Blog.

¡Bien!, si eres un Desarrollador o Desarrolladora de Software y quieres mantenerte en la punta de lanza de tu campo (o en algunos casos, mantenerte empleado o empleada :P ) estas son las 12 habilidades que deberias trabajar para maximizar tus prospectos de trabajo en el futuro cercano. Ademas no hay que "dormirse en los laureles" de lo que usas en tu trabajo del dia a dia, para mejorar tu situacion deberas estar continuamente aprendiendo.


1. Escoge uno o más de "los 3 grandes" (.NET, Java o PHP) y ¡dale con todo!

A menos que haya un cambio super radical en el mundo... (digamos, caiga un meteorito sobre las oficinas de Microsoft en USA, o que de repente los políticos sean tan sensatos como los Cientistas de la Computación) la mayoría de nosotros deberá manejar al menos uno de los tres grandes "sistemas" de desarrollo, MS .NET (C# o VB.NET), JAVA o PHP.

Ahora... no es suficiente con saber estos lenguajes, ya que los proyectos asociados cada vez incluyen mas funcionalidades locas, necesitaras saber un par de frameworks y librerias o APIs adicionales para complementar.


2. Aplicaciones Ricas de Internet o RIA´s (Rich Internet Applications)

Bien, todos sabemos que Flash parece virus ya cavando su lugar en cada vez mas sitios... y no solo para animaciones, Adobe Flex es todo un "framework" para hacer aplicaciones Web, que se parecen cada vez mas a las de escritorio a este se le agregan JavaFX de Sun Microsystems, Silverlight de MS y una muy interesante opcion Open Source OpenLaszlo. Sin duda, las aplicaciones Web mas dinamicas con estos "frameworks" tendran un buen mercado. Incluso el HTML5 esta incluyendo capacidades RIA, con conectividad a datos y poniendo a AJAX en los estandares de la W3C, esto sera un buen "plus" para tu CV.


3. Desarrollo Web

El desarrollo Web no se ira a ninguna parte... no bajara... por el contrario seguira esa increible curva exponencial creciente. Trabajar "a pie" con cosas como HTML, Javascript y CSS es obigado si quieres tener exito en este ambito. Asi que a desempolvar esas habilidades de debugging de js y a usar Dreamweaver, Eclipse y Firebug con ganas.


4. Web Services

Seas un desarrollador o desarrolladora para el Escritorio o la Web, es muy probable que SOAP, REST, JSON o XML suenen o halla sonado en tu trabajo recientemente. Ya el viejo RPC, COM u ODBC que siempre te servia para conectarte a ese AS400 o sistema "legacy" (a menos que te quieras quedar a darle mantenimiento o conectividad a estos, casi dinosaurios...) ira cambiando a Web Services... entonces no seria malo practicar algo con esos estandares mencionados, todo lenguaje de programacion decente te permitira invocar un WS en estos dias.


5. La Nube

Cada vez mas se ira poniendo de moda en todas partes, el termino "Cloud Computing" o la famosa "Nube". ¿Y que es la Nube?

Bueno, es muchas cosas... entre ellas depender cada vez menos de medios de almacenamiento en tus manos o tu mochila, como discos duros o memorias USB, porque puedes subir tus archivos a discos "online", Google Docs es un buen ejemplo y que almenos ya se usa mucho... para tener acceso a tus cartas, cuadros de excel o ppt´s en cualquier lado.

Tambien tu musica, contactos, emails, etc... como con MobileMe de Apple, todo tiende a estar en la Nube y hay aplicaciones corporativas que tambien tenderan a estar ahi o ya estan ahi, como los CRM, como buenos desarrolladores nos tocara lidiar con la Nube, ya sea por cuestiones de interoperabilidad, o seguridad.

¿Y tu... ya tienes algo en la Nube?


6. Lenguajes de Programación Dinámicos o Funcionales

Ruby, Phyton, Grails, Groovy... aceptemoslo, estan ganando terreno y no seria malo agregarlo a tus habilidades. Estos inclusive te hacen pensar de forma diferente al desarrollar, no solo del pensamiento con Orientacion a Objetos vive el hombre.


7. Desarrollo Movil

Ok, la Web esta aqui y vino a quedarse... siempre necesitaras tu PC o Mac para desarrollar decentemente, pero... ¿que hay de lo demas? revisar y enviar email, twittear, escribir documentos, ver los KPI´s en vivo de tu empresa, entretenerse, comprar, todo tiende, si, a esta r en la Web, ¡pero tambien en la WEB EN TU MOVIL!

iPhone y Android son para mi en lo personal la punta de lanza del nuevo BOOM de la indrustria, la movilidad... todos desesperadamente, y esto incluye a MS, NOKIA, Palm, LG, etc... trantan de imitar el iPhone o Android y estaran lanzandonos Apps para estos masivamente, por lo que aprender XCode para hacer iPhone Apps o usar Java en el muy particular metodo en que lo usa Android para hacer Apps de todo tipo, Productividad, Juegos, Multimedia, Marketing, etc... sera obligado.


8. Orden e Higiene al Desarrollar

No solo hacer commit a tu SVN se ha vuelto una necesidad para la industria ahora... el bug-tracking, documentacion a tiempo en algun wiki, unit-testing, prueba de tu sistemita en una Maquina Virtual o VM seran vitales.


9. Conocimiento del Problema o del Negocio

Todos los desarrolladores nos negamos a conocer sobre "el problema", ya que eso le coresponde a los Analistas, pero cada vez mas, es comun que se involucre al desarrollador de software en las (aburridas) reuniones para discutir el "problema a resolver" con el software. Bueno, no es del todo malo desarrollar apertura en este aspecto no te hace daño y te convierte en un desarrollador o desarrolladora mas valioso o valiosa.


10. Metodologia Agile para desarrollo

Al salir las metodologias AGILE, yo era uno de los escepticos, pero ser tradicionalista ya no funciona mas. Varias empresas del sector Software estan o estaran tomando a AGILE ya sea para probar en nuevos proyectos o ya para usarlo del todo. Las personas que puedan probar que han tenido exito entendiendo esta metodologia y trabajando con ella o alguna otra metodologia ordenada seran muy bienvenidos en los proximos años en muchas empresas. Ser el viejo "Cowboy Coder" y no seguir ninguna metodologia, no es recomendable e inclusive es prohibitivo en estos tiempos de crisis, donde los resultados se quieren ver o "son para ayer".


11. LINUX
LINUX toma fuerza dia con dia, Ubuntu como uno de los principales abanderados gana terreno... paso a paso, botando paradigmas y dogmas, el buen Pinguino llego para quedarse y podria imponerse a MS Windows en los proximos dias... asi que entre tus habilidades seria bueno contar con el manejo de Open Office en LINUX, tener un par de comandos de Terminal en tu haber y saber como configurar tu Hardware de video o audio con tutoriales en la Web.

Ya no se diga montar un LAMP para tu sitio web.


12. CMS y Redes Sociales

Manejar e instalar Drupal, Joomla, LifeRay, WordPress son ahora un requerimiento real... la ultima moda es la Red Social, ya sea interna a las empresas o externa... si eres Web Master o inclusive un Desarrollador, no seria raro que te toque integrar algo o deasarrollar un plugin o interfasear con la base de datos al menos de un CMS.


FELIZ VACACIÓN DE SEMANA SANTA a todos los que la celebran religiosamente, o la usan para descansar del código (al menos del código del trabajo diario).
;)

Las 12 Cosas

A partir de ahora y lo procurare en forma mensual, publicare en este Blog "Las 12 Cosas...", que abarcaran temas de tecnología, desarrollo de software, sistemas operativos, cosas que nos gustan, cosas que no nos gustan, etc...

Elegí el numero 12, pues porque cumplo años los 12 de Mayo je je je... ademas limitarse a 5 cosas es muy poco y limitarse a 10 es lo mas común... con 12 espero darles un valor agregado. :D

¡Espero que sea del agrado de todos y todas!