Tal vez hayas escuchado sobre el servicio AWS Lambda. Su popularidad ha crecido gracias al auge de la arquitectura sin servidores (serverless en inglés). Ésta consiste en desplegar aplicaciones sin preocuparse por las tareas del servidor, pues éstas son manejadas por un servicio exerno. Permitiendo a los desarrolladores enfocarse en la aplicación como tal y no en el mantenimiento de las capas inferiores a él.

¿Qué es AWS Lambda?

Es el servicio de Amazon para ofrecer el desarrollo de aplicaciones serverless. Y como todo producto de esta compañía, tiene su propia forma de trabajar. Por lo que se requiere una pequeña cantidad de conocimientos iniciales para usar el servicio.

¿Cómo iniciarse en AWS Lambda?

Pero no te preocupes, que mi amigo Carlos Guerrero (ya he publicado su material en mi blog) ha desarrollado un excelente video de 1 hora. Conocerás en poco tiempo lo necesario para crear tu primer servicio bajo arquitectura sin servidor. El video se encuentra en español, posee ejemplo de código y muestra la interfaz del servicio para que no te pierdas.

Si te ha gustado, recuerda compartirlo para que otros aprendan. Escríbele a Carlos para que se anime a crear mas contenido. Recuerda comentar si deseas compartir algo en esta entrada.

Happy Development!

Hace unas semanas comenté sobre las parodias musicales geek que realiza SuSE. Esta vez vienen de nuevo con un video musical de buena producción. Esta vez se llama Paint it Green y es una versión de la canción Paint it Black de The Rolling Stones.

Paint it Green

El nombre de este video es porque quieren pintar de verde los servidores. Con esto se refieren a instalar SuSE Linux en los servidores para mejorar los servicios en la nube de una organización. También comentan sobre Kubernetes, Cloud Foundry, Open Stack y muchas mas tecnologías abiertas.

En fin, si eres fanático de GNU/Linux y del rock, no puedes perderte de Paint it Green. A continuación puedes mirarlo:

Espero que te haya gustado. Recuerda que si conoces otro video geek o desean compartir su opinión. No dudes en comentar y compartir este video.

Desde los inicios de mi blog he recopilado música relacionada con el software libre, GNU/Linux, cosas nerds y mas.  En los últimos años SuSE ha creado anualmente parodias de canciones populares con letras de tecnologías de Linux. Así que me ha ayudado a seguir añadiendo videos a la categoría.  En esta edición nos traen un versión de la canción Barracuda de Heart. Pero con letras sobre Kubernetes (una tecnología para contener aplicaciones). Se las recomiendo porque está graciosa y bien producida.

Comenta que tal te pareció y si tienes alguna recomendación de música geek. No dudes en compartirla.

Northeast PHP es un evento que se realiza en la costa este de Estados Unidos y Canadá. Ahí se reúnen profesionales y expertos de PHP de la región. En la edición del 2018 tuve la oportunidad de ser invitado como conferencista para hablar sobre WebAssembly. Así que les contaré como fue mi experiencia de los 3 días que duró el evento.

Día de talleres en Northeast PHP 2018

Ryan Jarvinen hablando sobre Kubernetes y OpenShift
Ryan Jarvinen hablando sobre Kubernetes y OpenShift

El primer día consistió en un excelente taller sobre Contenedores, Kubernetes y Open Shift. El mismo fue realizado por Ryan Jarvinen y Josh Wood (ambos son Developer Advocates en RedHat). El taller fue buenísimo, tenia excelente material y unos servidores de prueba para poder montar varias instancias de servicios virtuales. Me permitió aprender como dividir los servicios de una aplicación usando contenedores, kubernetes, entre otros.

Es increíble como con unos pocos comandos y clics puedes montar toda tu arquitectura computacional. Todo estas tecnologías son libres y soportada por grandes empresas.

Día del inicio de las conferencias

El evento comenzó oficialmente al día siguiente con una breve introducción de David Hellher sobre la organización del evento. Ethan Zuckerman fue la primera ponencia, lo interesante es que no fue técnica. El contenido de la charla trató sobre los inventos de la humanidad, cual fue la motivación y forma de hacerlo; pero luego aplicó esto al mundo de las TIC.

A partir de ahí comenzaron las ponencias. Cada sección constaba de 3 ponencias al mismo tiempo, generalmente eran de distintos niveles de dificultad y distintas categorías: UX, Técnica, Ingeniería de Software.

La primera charla que pude entrar fue la de Mike Stowe . Habló sobre encadenamiento de APIs, interesante tecnología para hacer varias peticiones REST en una llamada. Luego Chris Holland nos habló sobre las formas óptimas y correctas de implementar software. Karl Hughes en su charla explicó como puedes montar tus aplicaciones PHP en la nube con Docker. Chris Cornutt explicó sobre la seguridad de la autenticación de aplicaciones PHP, cuáles son los métodos seguros, errores comunes, entre otros. La última charla del día fue por Joe Vieria sobre como probar código viejo y asegurarse que funcione correctamente.

Actividades adicionales

Finalmente hicieron un juego de trivia (estaba muy difícil) para rifar premios. Había un bingo que se utilizaba para conocer gente y se realizó un Hackaton sobre el juego Capture de Flag. Este juego estaba organizado por Chris Cornutt y consistía en una aplicación de prueba que debíamos atacar.

Adivinen, ¿quién fue el ganador? Pues Yo je, je, je.

Mi ponencia sobre WebAssembly

Tenía un poco de nervios en dar mi primera charla en inglés par un público nativo en el idioma. Adicionalmente la semana anterior tuve un encuentro y capacitación con desarrolladores de WASM de Mozilla donde habían cambiado ciertas normativas sobre el tema. Por lo que días antes me tocaba cambiar como 40% del contenido y practicar.

La audiencia era conformada por muchos Ingenieros de Software por lo que pude hablar de forma técnica. Ademas por tener 1 hora pude extenderme bastante sobre el tema.

Día final de Northeast PHP

El día final del evento comenzó con Ipsha Bhidonia (otra Mozilla Tech Speaker) sobre implementación de PWA en tiendas en línea. Posteriormente Leo Kin habló una exclente charla sobre como GraphQL permitió ahorrar millones de dolarés en Wayfair. Esta charla me gustó mucho porque mezcló la parte técnica con empresarial.

Lawarence Shea hizo una excelente charla sobre como debería ser el manejo de la cache en las aplicaciones de PHP. Técnicas comunes, cuando realizarlo y no, beneficios económicos y mas. Joel Lord dio una ponencia sobre la seguridad de aplicaciones, no fue la típica charla sino fue contenido avanzado dirigido a desarrolladores con experiencia.

El cierre del evento estuvo a cargo de una charla de PJ sobre las distintas etapas de colaboración en el mundo del código abierto. Fue muy interesante porque comparó la forma de ser hacker en el software a libre a ser un cante de rock. Cómo comienzas a interesarte como consumidor, luego quieres producir hasta que al final deseas ser un rockstar. Luego de unas palabras de los organizadores el evento finalizó.

Fue una increíble experiencia conocer personas con gran experiencia, ver ponencias con excelente contenido. Dar mi primera charla a un público con inglés nativo y en Estados Unidos.

Despues de varíos días de rumores, Microsoft ha confirmado que detiene el desarrollo del motor actual de Edge para migrarlo a Chromium (el que utiliza Google para Chrome). Me sorprendió porque Microsoft ha creado/mantenido su propio navegador desde 1995. Sin embargo, desde el lanzamiento de Firefox y Chrome ha perdido relevancia debido al mal soporte de estándares, actualizaciones lentas, incompatibilidades, impulso de tecnologías propias, entre otros. Razones que impulsaron a detener su desarrollo para evitar que Microsoft perdiera dinero en el desarrollo de Edge.

La decisión que tomaron fue la de migrar Edge al motor Chromium, un proyecto de código abierto mantenido principalmente por Google que también es usado por Opera y Brave. El problema de esta decisión es que solo dejaría a la web con 3 motores: Chromium, Gecko (el utilizado por Mozilla) y Webkit (el padre de Chromium y actualmente solo manejado por Apple). Bueno realidad sería prácticamente 2 motores porque Webkit y Chromium comparten muchas similitudes y hasta los momentos no se han distanciado mucho.

Con este resultado pienso que pueden ocurrir dos escenarios, el tiempo dirá cuál de ellos se hará realidad:

Mejor escenario de Edge con Chromium

Microsoft al aportar código a Chromium. Tiene la posibilidad de ser influyente en las decisiones de este proyecto y reducir el liderazgo de Google. No lo veo factible porque dudo que un nuevo miembro del proyecto vaya a arrebatar el liderazgo al dueño.

También Microsoft podría modificar el código para soportar tecnologías propias. Creando competencia entre los miembros. Algo común en ellos con su filosofía de Extenderse y Extinguir. Pero de nuevo, me parece difícil.

Los desarrolladores web tendrán un motor menos al cual darle soporte y habrá mas usuarios con una web mas compatible. Pero también debido a este punto puede surgir el siguiente escenario.

Mal escenario

Al eliminarse el motor de Edge, los desarrolladores promedios no probaran sus páginas en motores distintos al de Blink. Pueden asumir que si sirve en Chrome sirve en todos lados (lamentablemente muchos lo hacen actualmente). De esta forma, se pierden los estándares, habría menos competencia y Google a través de Chromium dominaría la web.

Las personas con otros navegadores no disfrutarían de una experiencia completa o serían excluidos. También sería difícil impulsar nuevas tecnologías pues todo se reduciría a que Chromium las adopte. Suena mas fácil pero en realidad es peor porque al reducir la competencia, no hay incentivo en mejorar o cooperar. Viviendo en Venezuela les puedo decir que conozco sobre este tema 😉  je, je, je.

Ademas, esta era la situación de la web en el 2003. Microsoft controlaba todo con IE y la web era lo que Internet Explorer soportaba. Luego al no haber competencia la web se estancó muchos años. Con el lanzamiento de Firefox a finales del 2004 y surgimiento de otros navegadoers. Microsoft se vio en la necesidad de tomar medidas y mejorar su navegador luego de 4 años de abandono por falta de competencia y poco incentivo a mejorar debido a su dominio.

Reflexiones

Edge logo inside Chromium logo
¿Quién iba a pensar que Edge iba a usar el motor Blink? Luego de ser prohibido en la tienda de aplicaciones de Microsoft

Veremos que ocurrirá, Mozilla seguirá manteniendo su navegador Firefox para contrarrestar este «monopolio» (si es que se puede llamar así) que perjudica la libre competencia, establecimiento de estándares y protección al usuario. Si quieres utilizar un navegador que protege tus datos, es rápido y confiable debes instalar Firefox.

Increíble como los tiempos cambian. Hace 15 años Microsoft tenía una cuota del 95% del mercado y hoy en día Edge lucha con un 5%. Apple tiene su propio navegador que nace de KHTML (utilizado por KDE). Google, Microsoft y Opera tienen sus navegadores con Chromium, otro proyecto abierto. Es decir, actualmente todas las bases de los principales navegadores son de código abierto, algo inimaginable hace 20 años.

Hace unos días me dí cuenta que ya llevo 15 años usando Linux. Una de las mejores decisiones que he tomado en mi vida porque al usar este sistema, me permitió unirme a comunidades de software libre, conocer futuros amigos, buenos trabajos, aprender cosas nuevas que me llevaron a viajar por varias partes del mundo.

Cómo empecé a usar Linux

Alrededor de mediados del 2003 estaba en una página de wargames (retos de hacking) llamada izhal. Una de las pruebas consistía en crackear una aplicación usando un depurador de ejecutables. Este reto tenía versión para Windows y otra para Linux, recuerdo que me llamó la atención saber que existía otra cosa aparte de Windows y MacOS, no necesitaba comprar otro tipo de computadora sino que podía instalarlo en mi equipo y al parecer era el sistema que usaban los hackers. Como en esa época andaba con el deseo de ser hacker (tenía 16 años) lo puse en mi lista de pendientes.

Dos meses después en Octubre del 2003 fui a formalizar mi inscripción para iniciar mis estudios en la Universidad del Táchira. Allí vi un letrero invitando a una conferencia sobre Linux en el teatro principal y al entrar descubrí lo que se podía hacer ese sistema, era como un Windows con comandos para hacer cosas, ¡como las películas de hackers! (por cierto, aún desconozco quién fue el profesor o encargado de dictar esa charla que cambió mi vida).

Días después me dí cuenta que la universidad ofrecía un curso de Linux. Lo tomé y me explicaron el uso básico del sistema, allí me dieron un LiveCD de Knoppix para poder usarlo en mi equipo. En ese mismo curso conocí a un tipo que trabajaba en el ciber-café mas grande de la ciudad quién me copió los 3 discos DVD de Mandrake (posteriormente los regalé en un FLISOL), el Ubuntu de la época porque era «mas fácil» de instalar.

Mis primeras instalaciones

Lo primero que instalé fue Mandrake, recuerdo que la interfaz por defecto era KDE, parecía  vieja y muy similar a Windows 98. Tuve problemas para conectarme a MSN Messenger (el Whatsapp de la época y quedarse incomunicado no era opción) e investigando vi que había una distro llamada Redhat que la recomendaban usar.

La misma persona que me copió Mandrake me dio 3 DVDs de Redhat. Procedí a instalarlo y ya con el instalador Anaconda sabía que me iba a ir bien. La interfaz por defecto era GNOME e incluía gaim con el que me podía conectar a MSN sin problemas. 

En estas 2 instalaciones nunca instalé el gestor de arranque, en ese momento compartía la computadora con mi papá y temía dañar el acceso a Windows. Por lo que instalé el gestor de arranque en un disco 3 1/2 que insertaba cada vez que quería iniciar en Linux.

Aún conservo el disco 3 1/2 con GRUB, con él podía arrancar Linux en la computadora de mi padre sin dañarle Windows

Durante esta etapa entraba poco al sistema, pues me costaba adaptarme a las nuevas aplicaciones. Pero luego de unos meses (mediados del 2004) decidí instalar SuSE 9.3 y esa distro venía con un nuevo KDE. En la universidad veíamos programación con Java usando Netbeans por lo que pude hacer mis trabajos desde Linux. OpenOffice me permitió hacer los informes mas formales. Luego de este cambio no hubo vuelta atrás. Pasé luego a Debian (gracias al lavado de cerebro de sus seguidores), luego un amigo me regaló el primer CD de Ubuntu (Diciembre de 2004), estuve 1 año ahí; volví a Debían (finales del 2005) y de ahí finalmente migré a Archlinux en el 2006. 12 años después sigo usando la misma distribución y 15 usando este maravillo sistema.

Luego de 3 años y medio sin realizar ningún desarrollo en mi primer plugin de WordPress: jQuery Archive List (además de cumplir exactamente 8 años de crearlo). Pude conseguir un tiempo para actualizarlo e incluir funcionalidades pendientes.

Lo primero en hacer fue reescribir el código siguiendo las convenciones de código de WordPress. Durante este procesó note código adaptado a versiones viejas de PHP (cuando lo escribí inicialmente PHP 5.2 era la versión mas usada). Otras partes tenían código que hoy me daba risa lo ilegible o ineficiente. También habían cosas que había escrito y ahora WordPress incluye funciones para realizar esas tareas. Otras funciones fueron marcadas como obsoletas o inseguras y tocaba usar la forma correcta.

Fue una gran experiencia arreglar mi propio código. Ver como he crecido todos estos años profesionalmente, los cambios en la tecnología y como va madurando el software con los años.

En fin espero que disfruten jQuery Archive List, gracias a desarrollar este plugin pude conseguir los clientes mas importantes en mi carrera. Recibí buenas donaciones durante los inicios y me ayudó a mantenerme un poco. Además, que me ayudó a darme conocer en la comunidad de WordPress y crecer como profesional.