Si yo fuera un desarrollador jóven de Monterrey…

Si yo fuera un desarrollador de software viviendo en Monterrey le entraría al concurso Apporta 2014.

Hoy descubrí por casualidad este concurso y me dieron ganas de participar. Se trata de una iniciativa del Consejo de Software del Estado de Nuevo León para fomentar proyectos tecnológicos que beneficien a la comunidad. Le fecha límite para el registro de proyectos es el miércoles 12 de noviembre.

Convocatoria Apporta 2014¿Cómo le haría?

No estoy seguro si le voy a entrar al concurso ya que actualmente no estoy viviendo en Monterrey, lo cual dificulta las cosas un poco. Pero ya me puse a pensar en cómo le haría si fuera a participar en el concurso.

Sigue leyendo

Etiquetado

Síndrome del tablero ágil o tableroagilitis

Tablero ágil

Hoy después de casi 4 meses de trabajar con mi equipo en el desarrollo de una aplicación móvil; me di cuenta de que nos hemos contagiado de una enfermedad que es cada vez más común en equipos de desarrollo de software: la tableroagilitis. También conocida como el síndrome del tablero ágil.

Esta afección es común en equipos altamente motivados que practican alguna metodología ágil de desarrollo de software. Consiste en el uso recurrente y casi-adictivo de tableros para la solución de problemas en el equipo.

Sigue leyendo

Etiquetado , ,

Crear una guía de estilo CSS para tu sitio es sencillo y vale la pena

A veces es difícil mantener un estilo consistente en todas las partes de tu sitio. Sobretodo si trabajas con diferentes equipos y todos le meten mano al frontend (Lo cual es bueno. No hay que tenerle miedo al frontend. ¡No muerde!)

Una técnica que he visto últimamente en diferentes charlas (y también en la empresa donde trabajo actualmente) es la creación de una guía de estilo viviente (living style guide). Se trata de una página en la que se documentan de una manera ordenada y clara los componentes de la interfaz de usuario de tu sitio.

Sigue leyendo

Etiquetado , ,

Ya es tiempo de darle una probadita al CoffeScript

CoffeScript

CoffeScript lleva ya algunos años endulzando el diverso panorama de las tecnologías para la web. Desde su primera versión en diciembre de 2009 este mini-lenguaje, basado en las llamadas partes buenas de JavaScript, ha evolucionado y sus herramientas se han ido robusteciendo con el tiempo. Hoy en día nos topamos con coffe-scripts en cada esquina de la web. Quizás es ya tiempo de darle una probadita a este simple e ingenioso lenguaje.

Sigue leyendo

Etiquetado ,

Apuntes sobre seguridad y privacidad en la web (charla de Tim Bray – GOTO Aarhus)

footprintsHoy estuve en una charla de Tim Bray sobre seguridad y privacidad y no quería dormir sin compartir en una entrada algunos puntos que me parecieron interesantes:

  • Ofrecer nuestros servicios en HTTPS es nuestra responsabilidad como desarrolladores de tecnologías/software.
  • Es increíble la cantidad de páginas que no ofrecen sus servicios en https (prueba cambiando el protocolo manualmente).
  • Usa autenticación de dos factores siempre que sea posible.
  • Podemos ofrecer la autenticación de dos factores para nuestros sitios utilizando google authenticator.
  • Es importante comprender aunque sea de manera básica cómo funciona la criptografía de clave pública y privada.
  • Hay muchas librerías fáciles de usar para criptografía de clave pública y privada.
  • Dejar de utilizar certificados sha-1. Google anunció en semanas recientes que comenzará a promover la transición de sha-1 a algoritmos de hash más seguros (sha-256). Así que en unos meses quizás, las páginas que todavía tengan certificados sha-1 portarán también un signo de interrogación junto al candado de la barra de direcciones del navegador.
  • Una manera de detectar ataques de tipo “man in the middle” es utilizando una técnica llamada certificate pinning.
  • Los gobiernos y algunas empresas quieren tener acceso a nuestra información. No lo hagamos fácil. Tenemos dos armas en contra de eso. La política y las matemáticas.
  • El monitoreo de los datos/actividades es considerado un ataque y se deberá de tomar en cuenta en el diseño de nuevos protocolos (IETF RFC 7258).
  • Para Geeks que quieren más detalles, una lectura interesante puede ser el formato de mensajes OpenPGP (IETF RFC 4880).
  • Uno de los problemas con la criptografía de claves públicas y privadas es que tienes que conocer la clave pública de la otra persona para poder encriptar un mensaje que le envías. Keybase.io es un directorio de claves públicas que soluciona este problema.
  • Para Android, la aplicación OpenKeyChain se puede utilizar para enviar y recibir mensajes encriptados. El uso de estas tecnologías todavía no es tan sencillo, pero se está trabajando en ello.

* La imagen del zorro con la lupa es de Caroline Hadilaksono

Etiquetado , ,

Las 7 charlas que me parecen más interesantes del Devoxx 2013

Devoxx

Hace unos días recibí un correo del sitio Parleys.com anunciando que todas las charlas del Devoxx 2013 ya están disponibles en su página.

Parleys.com es un sitio que se especializa en combinar y sincronizar los videos y las diapositivas de charlas en eventos sobre temas de tecnología e informática.

Devoxx es un evento anual europeo dedicado a temas de desarrollo de software.

En total, los videos publicados del Devoxx 2013 son más de 200. Así que decidí leer los títulos y la descripción de cada uno, hacer un filtro y seleccionar las 7 charlas que me parecen más interesantes.

Acabé con una lista de 10 charlas y decidí eliminar 3 por tratar sobre el mismo tema (interfaz de usuario en Android).

Las 7 charlas que me parecen más interesantes del Devoxx 2013:

Al final esta lista contiene una capirotada de temas: HTML5, CSS3, JavaScript, jQuery, Angular JS, Bootstrap, Mobile, CoffeeScript, GitHub, programación funcional, Page Speed, Apache, JSON con Jackson, caching, REST, seguridad, load testing, profiling, Wro4j, Heroku, Cloudbees, AWS, Android, Dependency Injection para Android, Dagger, Java 8, expresiones lambda en el JDK8, JDK8 collection API, JDK8 Stream and Collector APIs, Flyway, Hazelcast, clustered HTTP sessions, sistemas distribuidos,  efectos gráficos y animaciones en Android.

Etiquetado , , ,

¿Andas hipster? – Prueba JHipster: lo mejor de Javascript con un backend en Java

hipster-bow-tie

Es increíble la cantidad de herramientas que existen hoy en día para crear aplicaciones web de manera súper profesional, rápido y fácil. Listo sólo algunas de estas herramientas: node.js, grunt, gulp.js, bower, angular, yeoman, socket.io, karma, jasmine, sass, less, haml, coffescript, etc…

La mayoría de estas herramientas son desarrolladas en  javascript/node.js o en ruby. Todo este rollo poliglota puede resultar un poco intimidante para quienes se autodenominan “desarrollador java” o “desarrollador backend”. Incluso algunos “desarrolladores java senior certificados nivel 3GS” (nótese el tono sarcástico) quizás opinen que todas estas tecnologías no están suficientemente maduras para ser utilizadas en aplicaciones empresariales a gran escala. Yo opino que son lo más sexy que he visto en mi corta carrera y me encanta descubrir cada día nuevas creaciones.

Pues si tu perteneces a esta categoría (desarrollador java, java y sólo java) y no has tenido la oportunidad de probar el mundo alternativo, joven, hippy y feliz de power-javascript, te invito a dejarte de prejuicios y darle una probadita a este rollo.

JHipster al rescate

Una manera muy cómoda de hacerlo es usando JHipster, un generador o scaffolder que combina muchas de estas tecnologías en un workflow que nos resulte familiar a los javeros: maven o gradle + spring + jetty o tomcat.

Puedes leer más acerca de JHipster en su sitio pero te recomiendo no leer mucho, instalarte los pre-requisitos (node + yeoman + grunt o algo así), crear una aplicación JHipster y comenzar a jugar con ella. Si alguna parte del workflow te gusta y quieres integrarlo a tu proyecto, puedes encontrar los detalles en el pom.xml o build.gradle

Etiquetado , ,

Pair programming sin tortícolis: un sencillo consejo para no sufrir con la programación en pareja

Pair programming

Practicar programación en pareja (o pair programming en inglés) es muy divertido y efectivo. Pero también es muy extenuante, tanto física como mentalmente.

Una de las cosas que más me molesta de programar en pareja es el no encontrar la postura corporal adecuada.

Cuando estoy con otro colega sentado frente al mismo escritorio leyendo código del mismo monitor, uno de los dos tiene que hacer un esfuerzo especial para alcanzar a ver el monitor. Al final terminanamos los dos acurrucados en torno a la pantalla con los ojos entrecerrados y el cuello torcido.

Sigue leyendo

Etiquetado , ,

La guía de estilo de Google para código Java

Google publicó a inicios del 2014 su “guía de estilo” para código Java. Estas convenciones resultan interesantes no sólo para quienes planean trabajar en el Googleplex sino para cualquier profesional trabajando en projectos con un equipo de desarrolladores.

Considero importante que en un proyecto existan ciertos lineamientos en cuanto al estilo del código; siempre y cuando no se abrume al desarrollador con una lista interminable de reglas sin sentido. Por eso me gustó esta lista de recomendaciones de Google: porque es una lista pequeña y muy sencilla.

Échale un vistazo a la guía de estilo de Google para código Java

Para usuarios de eclipse

También es posible importar el perfil del “code formatter” para eclipse:

  1. Bája una copia del perfil del “code formatter”.
  2. Importa el perfil en eclipse: Window -> Preferencies -> Java -> Code Style -> Formatter -> Import

Imagen

Etiquetado , , ,

Monitoreo de errores en el cliente: un enfoque práctico para aplicaciones web

monitoreo-errores-en-el-cliente

Hace unos días atendí a la presentación en Hamburgo del radar tecnológico 2014 de Thoughtworks. Este documento, que publica la empresa Thoughtworks cada año, contiene una colección de tecnologías que el consejo técnico de la empresa considera interesantes; ya sea por haber servido para desarrollar mejores soluciones en los proyectos de sus clientes o por haber causado problemas.

Una de las técnicas que se encuentra este año en la lista de recomendaciones es la captura de errores de javascript que suceden en el cliente con el fin de identificar problemas de incompatibilidad entre navegadores o problemas con plugins y extensiones de navegador.

Sigue leyendo

Etiquetado , , ,
Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.