Saltar al contenido

Categoría: Otras cosas

Nostalgia con mi primer reproductor de MP3 (aún sirve)

Hace unos días, limpiando mi cuarto me encontré con mi primer reproductor de MP3 que tuve, un JAMP3 (por alguna extraña razón los siguen vendiendo en Amazon), lo compré en el 2001 cuando tuve oportunidad de ir a los EEUU y estaba buscando un dispositivo para reproducir toda mi música MP3 fuera de la computadora. Hoy en día todos los teléfonos lo hacen y es normal, pero hace 12 años era realmente extraño que: alguien tuviese toda su música digitalmente y quisiera reproducirla en un medio distinto a los CDs.

El reproductor tenia la capacidad de 16MB (si estamos hablando de MB), permitiendo la reproducción de 1 hora de música en calidad de audio, usando unas tarjetas MMC se podía aumentar a 64MB para tener 5 hora de música (con mala calidad), sin embargo, en esa época lo máximo eran reproductores de 128MB (estamos hablando de la era pre-iPod). Para conectarlo a la PC se usaba un cable USB original y se pasaba la música como cualquier pendrive, la alimentación es usando dos pilas AA y se consumían todo en pocas horas.

Jamp3
El reproductor MP3

Recuerdo cuando lo utilice en mi colegio, la gente miraba extrañado el aparto y les llamaba la atención lo «pequeño» pues estaban acostumbrados a los discman. Creo que este reproductor deje de usarlo en el 2004 cuando lo dañe al colocarlo en Linux y borrar un archivo llamado STA013.BIN utilizado por el chip de reproducción. Y como en el 2005 me compré un iPod Shuffle de primera generación que me duró 4 años lo olvidé, sin embargo este con 12 años de antigüedad ¡Aún sirve!

USB
Antiguo conector USB, se ve gigante hoy en día

Me alegra ver como hemos avanzado en esta área, gracias a los iPods la gente se acostumbró a tener toda la música en digital y con la llegada de los smartphones, no es necesario tener otro dispositivo sino tu mismo teléfono reproduce ésta música.

P.D: Para volverlo a hacer funcionar, simplemente lo «formatee» con el programa incluido en el CD. Eso sí, este programa solo funciona en Windows 98/ME porque XP es muy avanzado para él, jejejee. Sin embargo, el MP3 es detectado en Linux sin problemas.

Deja un comentario

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!

1 comentario

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: https://skatox.com/blog/?mobile

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

Deja un comentario

Conferencia de Rodney Mullen sobre como el contexto toma forma en el contenido

Rodney Mullen es mi patinador favorito y uno de mis héroes del skateboarding por ser creador de la mayoría de trucos de calle, siempre ha sido innnovador en cada vídeo, ha apoyado a que el deporte crezca, es buena persona (lean su biografía) y a pesar de todas sus lesiones y edad sigue practicando el deporte que mas ama.

El pasado mes realizó una conferencia para Ted que ví ayer y me hizo comprender parte de mi forma de pensar, al igual que él me gusta practicar skateboarding porque es un deporte donde la manera en que realizas los trucos te definen como individuo y no dependes de otra persona para realizarlo (a diferencia de los deportes de equipo), de como puedes tomar un truco realizado por otra persona y mejorarlo, filmarlo y mostrarlo de nuevo a la comunidad, de hecho éste último aspecto lo compara con el movimiento de código abierto algo que me gustó bastante porque soy un skater que trabaja  como programador de tecnologías de código abierto. Escuchar esta analogía que me describe desde uno de mis héroes fue algo muy chévere y me gustó, nunca había pensado en la similaridad de ambos movimientos y como en ambos perteneces a una comunidad sin perder tu indivualidad :).

Lamentablemente solo está en inglés, pero les recomiendo esta charla de 17 minutos dirigida a todo público.

1 comentario