Hangout improvisado sobre Software Libre para el FLISOL 2013

Este sábado 27 de abril por problemas logísticos no se pudo organizar el FLISOL en la ciudad de San Cristóbal, sin embargo, Jose Luis Rivas se le ocurrió la idea de realizar una videoconferencia con varios miembros de TALUG (Tachira’s Linux User Group) y hablar sobre temas relacionados con software libre, la charla fue improvisada y sin guión planificado (solo sabíamos que íbamos a hablar de Software Libre) pero me parece que quedó bien para la poca planificación.

Les recomiendo ver o escuchar este vídeo pues tiene temas interesantes, diversas opiniones y nunca está demás conocer un poco mas del tema.

Probablemente sigamos creando vídeos de este tipo acerca de temas técnicos y participación libre. Así que pendientes por este medio si anunciamos uno para que participen.

Hace 5 años en esa fecha: 10 reglas de oro para ser un "Fanboy"

Hace 7 años en esa fecha: Drivers de Intel HDA en Debian

Video musical con escena de películas de Hackers

Para los fanáticos de la seguridad informática y de las películas de Hollywood, les dejo este vídeo de música electrónica con sonidos de escenas de películas de Hackers. Recomiendo verlo y contar cuántas de esas películas han visto; quienes deseen tener una lista de películas de este tema, pueden ver Mis películas recomendadas sobre Hackers, Programadores e Informática para tener una guía para adquirirlas y disfrutarlas. Así que observen el video hecho por Eclectic Method:

Nota: también me parece una buena banda sonora mientras se está escribiendo código.

Hace 1 año en esa fecha: HTML5 ★ Boilerplate una plantilla para crear nuestras páginas

Hace 3 años en esa fecha: Mañana es el Flisol 2010 de San Cristóbal, Venezuela.

Hace 4 años en esa fecha: Shaman: GUI para el gestor de paquetes Pacman

Hace 5 años en esa fecha: Flisol 2008

Hace 6 años en esa fecha: FLISOL 2007: Listo

Mi experiencia al desarrollar 2 plugins de WordPress bajo software libre

Este artículo cuenta mi experiencia luego de tres años, al desarrollar un proyecto de software libre (licencia GPL) y motivarlos a crear sus propios proyectos o colaborar en los existentes. Si no te gusta leer mucho, básicamente quiero compartir que al crear y mantener un proyecto de software libre logras: aprender a ser mejor programador al recibir correcciones de otras personas,  conoces gente de varias partes del mundo interesadas en tu programa, ves correr el programa en lugares no pensados, recibes código programado por otras personas, puedes recibir dinero sin previo aviso y sin nada a cambio, consigues futuros clientes y recibes felicitaciones por resolver un problema de otra persona.

Inicio

Como mi blog hecho con WordPress empezó a acumular años, el historial de artículos se hizo grande y ocupaba mucho espacio para mostrarlo. La solución por defecto es mostrar los años en una caja desplegable pero lucía muy feo y conseguí un sencillo plugin que los mostraba en un menú desplegable con animación hecha en Javascript. El plugin dejó de soportarse al poco tiempo y no siguió funcionando con WordPress, por ello, decidí hacer uno similar y como estaba aprendiendo jQuery (estaba de moda) lo utilicé para la implementación y nombre. Escribirlo fue fácil pues WordPress ofrece una excelente documentación, además, utilicé el plugin que usaba como base.

¿Ofrecerlo como software libre o usar una licencia cerrada y venderlo?

Una vez terminado, pense en 3 posibilidades: usarlo para mi mismo, venderlo por un precio muy barato y ganar algo de dinero por él, liberarlo como software libre porque le podría servir a alguien con la misma necesidad que yo. Decidí ésta última porque por primera vez tenía algo que surgía de una necesidad y estaba seguro de servirle a mucha gente en la misma situación que yo. Lo subí a WordPress y mi sorpresa es que tuvo bastantes descargas los primeros días (creo que como 300).

Por novatada, empecé a recibir peticiones (no quejas) de gente que deseaba mejor código porque no me entendían, soporte para otros días (me decían que si hablaba español por qué no había menús en este lenguaje), soporte para cambiar el formato del mes, etc. Aproveché un tiempo libre y lancé una segunda versión con el código mas sencillo y limpio, documentado, soporte para multi-idioma (en ese momento inglés y español) e implementé la funcionalidad del mes.

Primeras contribuciones

Luego de esos cambios pensé que el plugin estaba listo y no era necesario hacer mas cosas, para mi sorpresa empecé a recibir ideas de nuevas funcionalidades, código de personas para añadir compatibilidad de características de WordPress desconocidas para mi, por ejemplo, para ese entonces no conocida de WordPress MU, shortcodes, filtros, etc. Recibí parches para mejorar el código SQL porque había una persona con miles de posts, etc.

Mi sorpresa es ver como gente desconocida, se tomó el tiempo para estudiar el código elaborado por mí, modificarlo para soportar sus necesidades y compartirlo conmigo para incluirlo en la rama oficial, permitiendo al resto de usuarios disfrutar de estas funcionalidades. Además, las funcionalidades implementadas eran interesantes y muy variadas, yo sólo no hubiese podido hacerlas porque eran situaciones muy distintas en cada caso. Otra cosa interesante, fue que uno de los primeros programadores en enviarme código, tradujo el plugin a Checo y Esloveno, dos idiomas que jamás pensé contar en mi plugin.

Mantenimiento

Una vez con una base de funcionalidades generales, gente empieza a pedir características  mas complejas, a veces fuera de las funcionalidades o el objetivo del plugin, generalmente algunas se resolvían con otro plugin y otras tuve que agregarlas. Una de las mas solicitadas era la posibilidad de excluir tareas pero fallé, sin embargo, otro de los primeros programadores  en contribuir lo implementó sin que le pidiera ayuda y pude ofrecerlo al resto.

Al momento de estabilizarse el proyecto: buena base de usuarios, programadores voluntarios contribuyendo en el proyecto. Noté un incremento en el soporte, la gente al ver que el plugin funciona bien desean expandir sus posibilidades y empiezan a contactarte para ver como realizar ciertas cosas o dar nuevas idea.  Comencé a recibir donaciones simplemente por realizar el plugin, motivandome a realizar nuevas funcionalidades (como soportar muchas instancias que requería casi re-escritura total).

En otras palabras, una vez que el proyecto se mantiene, el mantenimiento consiste en arreglar bugs, dar soporte a las personas y dependiendo de la frecuencia de solicitudes, agregar funcionalidades nuevas. En este punto es bien porque ya vez el fruto del esfuerzo realizado anteriormente, sin embargo, me parece delicado descuidarlo porque se puede ir todo para atrás. Pues aquí la gente confía mas en tí y espera respuestas rápidas, tal vez algunas sean incómodas al exigir como si estuviesen pagando altas sumas por ello, pero otras son buenas al agradecerte por el esfuerzo realizado.

Conclusiones

Después de este tiempo, puedo decir que es uno de los proyectos mas satisfactorios a nivel profesional y pesonal, en el primer ámbito porque me permite mejorar mis capacidades de programación, conseguir nuevos clientes (mi mayor cliente lo conseguí al solucionarle un problema con este plugin), mejora el currículo (puedo demostrar capacidad de liderar un proyecto, experiencia con PHP y WordPress, Javascript, etc) y mas. Respecto a la parte personal, cada vez que recibo un correo de una persona agradeciendome por el trabajo, por el tiempo ahorrado al utilizar este programa, al ver ejecútandose en sitios conocidos o muy extraños. Me alegra saber que he ayudado a otra persona sin nada a cambio, además cuando recibo donaciones pues también es bien saber que se recibe una recompensa monetaria extra por un trabajo que muchas veces es para mí (para mi blog).

Si alguno tiene una idea o programa en mente, es sencillo y sienten que pueden ayudar a otro, liberelenlo bajo una licencia de código abierto, publiquen el repositorio y con el tiempo verás como crece con la ayuda de otros programadores. Realmente es una buena experiencia.

Si alguno desea conocer o probar mis 2 plugins, pueden hacerlo en las siguientes direcciones:

Happy Hacking!

Hace 7 años en esa fecha: MacOs en Intel x86

Estrenando nueva web móvil

Aprovechando el tiempo libre que ofrecía semana santa, decidí actualizar la versión web de este blog pues tenía desde el 2009 sin realizar cambios, y desde entonces, el mundo de los dispositivos móviles ha cambiado bastante. En ese entonces decidí hacer una versión móvil al ver que la página era muy pesada para navegar desde un PSP, contenía una plantilla hecha en puro HTML gracias al plugin MobilePress. Al navegarla hoy en día, aún cumplía su funcionalidad pero desaprovechaba el poder de los navegadores actuales. Además, con tecnologías como Bootstrap y jQuery Mobile es fácil hacer una web en poco tiempo y con compatibilidad a muchos dispositivos. Lo que hice fue:

  • Migrar la plantilla anterior y utilizar jQuery Mobile para mejorar la apariencia de los componentes.
  • Modificar el plugin Quick Cache para que no aplique caché a los dispositivos móviles (no sé pero falla la detección si uso la caché)
  • Revisar la plantilla y eliminar elementos innecesarios para aligerar la carga y ganar espacio visual.
  • Probar en distintas plataformas.
  • Subir los cambios.

Deseaba editar código fuente de jQuery y jQuery mobile para eliminar todo lo que no necesita mi página pero pude hacerlo, si alguien sabe como puedo realizarlo fácilmente agradecería la información. Aunque actualmente la página ocupa aproximadamente 89KB y es buena para dispositivos móviles, sé que es posible reducirlo aún mas.

Si alguno desea observala desde una PC de escritorio, pueden hacerlo desde la dirección: http://skatox.com/blog/?mobile

Nota: Apenas tenga tiempo planeo liberar el código fuente de la plantilla.