Archivo

Entradas Etiquetadas ‘pingblog’

Los bemoles del OpenSource: ¿Y que pasa con los proyectos pequeños?

Domingo, 7 de junio de 2009

SZv9_blockhead_180x200_wht

Blockhead no ha tenido una vida fácil

Ahh, si sólo los bemoles se aplicaran a la música.  Pero no es así, en este caso el código abierto u OpenSource también tiene los suyos. En particular voy a hablar de los proyectos gratuitos a los cuales casi llamaría “pasatiempos“, en este caso StupidZombie.

El lado feo de un proyecto de código abierto:

Sentilla Swing temperature display - Time Series
¿Alguien se acuerda de agua y fuego?

  • Es un proyecto costoso: StupidZombie es bien costoso. Cuesta tiempo que pudiera estar utilizando en otras cosas. Me cuesta el dominio de DNS, el hospedaje. Cuesta el esfuerzo de convencer a otras personas para que se involucren y participen en el proyecto.
  • Es dificil conseguir colaboradores: Nadie quiere trabajar en un proyecto pequeño, y menos de gratis. Si el proyecto es en Español entonces las posibilidades de conseguir colaboradores bajan dramáticamente (yo tengo varias teorías, con gusto las discutimos en cuanto me dejen sus comentarios). Hay que promocionar el proyecto en muchos sitios, de muchas maneras para darlo a conocer, explicando el potencial (Por ejemplo, después de mucho trabajo tuve la suerte que DrRomney se interesara en el diseño del proyecto. De allí nació Blockhead y el sitio web del proyecto).
  • Requiere dedicación: La tentación de hacer cualquier otra cosa a estar echando código en solitario es grande. Revizar cucarachas, probar cosas nuevas. Si usted no disfruta de su proyecto entonces ni siquiera empiece (por ejemplo muchos de los proyectos en Source Forge nunca liberaron una linea de código y ahora están abandonados).

Con el tiempo uno aprende a hacer mejores propuestas. Por ejemplo, uno de mis primeros pasatiempos OpenSource fué CVEBrowser. En aquel entonces estaba aprendiendo Servlets y JSP y me pareció buena idea dejar algo atrás. El proyecto llegó a su versión 1.0 y allí murió ya que nunca hubo interés de nadie en ver nuevas cosas (sin embargo hasta el día de hoy hay descargas del código desde su sitio web).

Al mismo tiempo PingBlog (el ancestro de StupidZombie) y ElAngelNegro (Kodegeek) nacieron. PingBlog nunca fué popular y ciertos cambios le dieron nueva vida el proyecto. Kodegeek es bien experimental y recoge todas (bueno, casi todas) los experimentos con código de los cuales he hablado en este blog a través de los años (todos los meses tiene descargas de código, así que hay bastante interés en el proyecto, pese a que son piezas de código aquí y allá)

No todos fueron grandes éxitos: The Java Simple Registration System (JSRS) nunca liberó código y sólo se quedo en documentación (razones personales y desde entonces otros proyectos han despegado). AguaYFuego fué otro experimento interesante mientras jugaba con los motes de Sentilla, pero nunca tuvo la intención de despegar como algo más serio.

Con el tiempo uno aprende una que otra lección:

Google Maps KodeGeek
Kodegeek y sus múltiples experimentos

  • Algunos éxitos vinieron de otros proyectos: Hace ya unos años atrás yo era un usuario avido de OpenNMS. En ese tiempo el proyecto no tenia un ‘plugin’ para monitorear bases de datos usando JDBC (sólo uno que detectaba si el puerto en TCP/IP estaba abierto o no). Después de jugar un poco envié el código al proyecto y (suerte para mi) fué aceptado. Hoy en día estan trabajando en un código más limpio, pero en ese entonces esta pieza de código ayudo a unos cuantos (y yo muy agradecido por poder ayudar).
  • Mercadeo, mentiras y vídeo: Como cambiar el nombre del proyecto ayuda: Desde que el proyecto cambio su nombre a StupidZombie (bendito dominio en DNS) ha habido más colaboración e interés. Gracias a esto conseguí que alguien se interesara en el proyecto y creara un diseño atractivo que a logrado que la gente se baje la aplicación, juegue con ella. Las redes sociales como Facebook, Twitter y proyectos  como Kenai.com han ayudado mucho, en comparación con métodos más tradicionales como anunciar el proyecto en Freshmeat.net o hospedarlo en Source Forge
  • Siempre ayuda escribir algo que solucione un problema de verdad: A veces reinventar la rueda no es tan malo ;)

Sin embargo quedan obstáculos:

  • Aún es costoso competir con el código comercial: Por ejemplo, obtener certificados digitales para firmar el código es costoso. Si lo quieres hacer gratis es un proceso complejo. Promocionar el producto como si fuera comercial cuesta dinero (por ejemplo la tienda Java Store no es grátis, ya que ellos tienen que pagar los costos de mantenimiento y distribución). Si a eso le suma el hecho de que nadie paga por código abierto (olvidense de las donaciones, yo nunca he recibido una en ninguno de mis proyectos)

¿Y al final, hay algo de valor en todo esto?

Linux console on Buglab
Buglabs: La combinación del OpenSource en Hardware y Software

Yo soy de los que cree que hay que dejar algo atrás, algo que hable de ti. No tiene que ser perfecto, sólo tiene que ser útil. Si es útil entonces seguirá creciendo, no importa si no se le dedica la misma atención. El hecho de involucrarse en varios aspectos del desarrollo de un proyecto (no sólo el echar código) es altamente gratificante ya que se aprenden muchas cosas, sobre todo el como actuar en diferentes roles (promotor de mercadeo, desarrollador, gerente de producto, diseñador de imagen y madrina del equipo ;) ).

Ya para terminar los dejo con un pequeño pero interesante articulo sobre el verdadero valor del código OpenSource.

java, kodegeek, opensource, programación , , , ,

Mantenimiento de PingBlog: Versión 1.1

Jueves, 28 de agosto de 2008

Bueno,

En una tarde de ocio me puse a jugar un poco con el código de PingBlog y corregí un mundo de cosas que no me gustaban. Ya descargué las versiones binarias y fuentes de PingBlog en Source Forge y por supuesto actualice las copias que pueden ser ejecutadas usando Java Webstart desde Kodegeek.com

¡Que lo disfruten!

Buscar en otros sitios:

Blogalaxia:, , ,
Technorati:, , ,
To2blogs:, , ,
Del.icio.us:, , ,

java , , ,

PingBlog: Q.E.P.D

Domingo, 20 de abril de 2008

Todas las cosas llegan a su fin y hoy, después de mucho tiempo me decidí a matar a PingBlog. Cuando comencé a trabajar en el proyecto estaba tratando de aprender cosas nuevas y creo que es hora de mover esta idea en otra dirección completamente diferente.

¿Esta realmente muerto o no?

Bueno, en unos días haré un anuncio aquí en el blog. Pero por ahora PingBlog está muerto de seguro :)

Buscar en otros sitios:

Blogalaxia:,
Technorati:,
To2blogs:,
Del.icio.us:,

Sin categoría ,

PingBlog: Agregandole soporte para JMX

Domingo, 13 de abril de 2008

Realmente el software no requiere JMX. Sin embargo yo estoy aprendiendo a usar el API para otros proyectos en mi trabajo, asi que me decidí a escribir un “hola mundo”.

En el caso de PingBlog yo queria monitorear lo que hace cada instancia de la clase abstracta Pinger, así que declare una interfaz en JMX con la cual:

  • Puedo ver el estado interno de cada Pinger
  • Puedo provocar un ping para ver como se porta

La interfaz es trivial:

 1 package com.blogspot.elangelnegro.blog.pingblog.pinger; 2 3 /** 4  * JMX management interface for Ping implementations 5  * @author josevnz 6  * 7  */ 8 public interface PingMBean { 9  /**10   * Ping a given Blog, based on the given settings.11   * Note than the implementation could fail if you try to ping too fast!12   * @return If managed to ping or not the remote resource13   * @throws PingException14   */15  public boolean ping() throws PingException;1617  /**18   * Get the message received from the server19   * @return The message returned from the remote server20   */21  public String getMessage();2223  /**24   * Get the raw message received from the server25   * @return The message returned from the remote server26   */27  public abstract String getRawMessage();2829  /**30   * Get the name of the blog being advertised31   * @return Name of the directory32   */33  public String getName();3435  /**36   * Get the URL of the blog being advertised37   * @return Name of the directory38   */39  public String getUrl();4041  /**42   * Get the directory being ping43   * @return Name of the directory44   */45  public String getDirectory();4647  /**48   * Get the status of the last ping operation49   * @return50   */51  public boolean getStatus();525354 }

La clase Ping sólo tiene que implementar la interfaz. Luego de esto lo que queda es registrar cada uno de los MBeans para que puedan ser utilizados desde Jconsole en :

    MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();  try {   ObjectName mbeanName =    new ObjectName(      String.format("com.blogspot.elangelnegro.blog.pingblog.pinger:type=%s",        ping.getInstanceName()));   mbs.registerMBean(ping, mbeanName);  } catch (MBeanRegistrationException mre) {   throw new PingException(mre);  } catch (NotCompliantMBeanException nce) {   throw new PingException(nce);  } catch (InstanceAlreadyExistsException iaex) {   throw new PingException(iaex);  } catch (MalformedObjectNameException mne) {   throw new PingException(mne);  } } catch (PingException pExp) {  throw pExp; }

 return ping;

También le agregué lo siguiente al Shell Script que llama a la clase de Java (cuando es usado desde la linea de comandos y no la interfaz gráfica):

exec $JAVA_HOME/bin/java -cp $CLASSPATH-Dcom.sun.management.jmxremotecom.blogspot.elangelnegro.blog.pingblog.pinger.PingController $*

Buscar en otros sitios:

Blogalaxia:,
Technorati:,
To2blogs:,
Del.icio.us:,

Sin categoría ,

PingBlog: ¿Como obtener accesso como desarrollador al código en Windows?

Domingo, 27 de enero de 2008

¿Como obtener accesso de desarrollador a PingBlog?

Bueno, como explicaba en un articulo anterior, solamente tiene que abrir su cuenta en Source Forge y pongase en contacto conmigo. Yo lo agrego a la lista de desarrolladores y listo.

Si tiene Windows entonces siga leyendo.

En Windows es un fastidio. Como cosa rara, Windows viene sin SSH, ni CVS, cosa completamente natural para Linux, y no tan dificil para OSX o Solaris. Sin embargo no todo está perdido:

  • Primero bajese Putty. Es un cliente SSH gratuito para Windows, muy bueno.
  • Luego bajase WinCVS. Hay mucha documentación en Internet, aunque si usted utiliza Eclipse o Netbeans no lo necesita para nada.
  • Lease la siguiente guia (medio oculta) en Source Forge.

Aunque lo mejor es que se mude a un sistema operativo que tenga todas las herramientas ;)

Blogalaxia:, , ,
Technorati:, , ,
To2blogs:, , ,
Del.icio.us:, , ,

Sin categoría , , ,

PingBlog ya tiene un webmaster

Viernes, 25 de enero de 2008

Si, Alex Camargo se ha unido a este esfuerzo y ahora el sitio web de PingBlog tiene un Webmaster. Alex tiene mucha experiencia con MySQL y PHP, lo cual significa que cosas interesantes vienen para el proyecto.

¡Bienvenido y gracias por la ayuda!

¿Estás interesado en colaborar con PingBlog? El grupo en FaceBook de PingBlog está abierto. Los invito a participar.

Blogalaxia:, ,
Technorati:, ,
To2blogs:, ,
Del.icio.us:, ,

opensource , ,

Se buscan desarrolladores para PingBlog

Sábado, 19 de enero de 2008

PingBlog es una herramienta gratuita, con licensia GPL, la cual te permite hacer ping a tus directorios de blog favoritos, además de agregar etiquetas para varios de ellos.

La versión 1.0 ya tiene funcionando cierto tiempo (se pueden bajar los binarios desde acá, las fuentes están en CVS) y ahora estoy buscando agregarle más funcionalidad:

  • Internacionalización
  • Instaladores nativos (Windows, OSX, RPM Linux, Deb Debian, etc)
  • Mejoras al código (soporte a otros blogs, mejoras gráficas, mejor manejo de errores)
  • Webmaster (para mejorar la página web)
  • Diseñador gráfico (mejorar el logo, creación de temas)

¿Se anima? No se requiere mucha experiencia pero si ganas de trabajar para un proyecto de código abierto.

El grupo en FaceBook de PingBlog está abierto. Los invito a participar.

Blogalaxia:, ,
Technorati:, ,
To2blogs:, ,
Del.icio.us:, ,

opensource , ,

PingBlog: Agregado soporte para To2blogs, pequeñas mejoras

Sábado, 17 de noviembre de 2007

Me dí cuenta que To2blogs ahora soporta búsqueda por tags, así que le agregué soporte al generador de etiquetas de PingBlog. También conseguí una pequeña cucaracha, la cual fué corregida.

¿Como trabaja? Bueno, vean las etiquetas generadas abajo :)

Blogalaxia.com:, , ,
Technorati.com:, , ,
To2blogs.com:, , ,

java, opensource , , ,

PingBlog: Listo para usar, se buscan usuarios y programadores

Domingo, 5 de agosto de 2007

PingBlogIntro
PingBlog ya está listo, ¿se anima a probarlo?

Bueno, después de una espera innecesariamente larga PingBlog versión 0.2 esta lista para ser usada. Para hacerle las cosas más fáciles a los usuarios, habilite dos enlaces JavaWebstart, uno para el generador de etiquetas y el otro para el programa que hace pings.

¿Pero y que es PingBlog?

Blogger es una maravilla en cuanto a simplicidad, sin embargo por ser tan simple tiene unas limitaciones importantes como es la generación de etiquetas para otros directorios como Blogalaxia y Technorati o el hacer ping a estos. Así que un día me fastidié de la situación y empecé a echar código sin mucha idea de a donde me llevaría el asunto.

¿Que hace PingBlog por usted?

  • Permite hacer pings desde la linea de comandos (cron por ejemplo) usted pudiera decir: ping_controller.sh blogalaxia,veneblogs,weblogs,technorati,bitacoras.com,pingomatic,to2blogs kodegeek http://kodegeek.com’
  • Permite hacer pings también usando una interfaz gráfica, puede probarla aquí.
  • Permite generar etiquetas para que su blog puede ser in
  • Da soporte a blogs hispanos como VeneBlogs, To2Blogs, Blogalaxia así como a los conocidos Technorati y Blogger entre otros.

Pero lo mejor es que es %100 gratis, con código abierto protegido por la licencia GPL. PingBlog corre bajo cualquier sistema operativo gracias a Java.

¿Cual es el siguiente paso de PingBlog?
Bueno, el código hace lo que yo quiero que haga así que ahora depende de la comunidad para crecer y evolucionar.

Estoy interesado en cualquiera que pueda aportar en las siguientes areas:

  • Mejorar el sitio web de PingBlog en SourceForge.net
  • Agregar soporte a Español al código (todo está en Ingles, aunque es trivial de traducir ya que el código usa ResourceBundle)
  • Corregir cucarachas y agregar funcionalidades (otros directorios como ¿IceRocket?)

Pero todo esto depende del interés de la comunidad. ¿Se anima usted? Si es así, dejen me sus comentarios y comenzamos a trabajar.

Agradecimientos:
Mis gracias de nuevo a mi cuñado, Manuel Barrios, por el logo de PingBlog. Esas neuronas al fin van a servir de algo (en el programa quiero decir).
Y a Veronica, por su interés y feedback cuando el proyecto se estaba gestando.

Blogalaxia.com:pingblog, ping, directorio, etiqueta, tag, java, gpl, opensource, programadores, veneblogs, blogalaxia
Technorati.com:pingblog, ping, directorio, etiqueta, tag, java, gpl, opensource, programadores, veneblogs, blogalaxia

java, opensource , , , , , , , , , ,

PingBlog

Sábado, 4 de agosto de 2007

ping blog ping tab
hay que ver lo que hace una semana de vacaciones

Si, una semana de vacaci0nes o mejor dicho, bautizando a Sebastian. La pasamos super bien, sin embargo esta vez cero laptop y mucha comida.

Hoy sin embargo le agregué finalmente el código para guardar las preferencias y hacer ping. Me falta corregir unas cuantas piezas pero ya estoy muy cerca de liberar el código.

En Maiquetia
En Maiquetia la guardia Nacional me obligó a abrir mi maleta, en búsqueda de drogas. ¿No les gusta mi chaleco rojo?

Definitivamente una semana ocupada. De regreso por ejemplo, la Guardia Nacional me obligo a abrir la maleta porque los perros creyeron que había algo sospechoso en ella. No fui el único, una señora con la maleta llena de galletas club social y otra que llevaba queso de mano (si en una bolsa “oculta”) me acompañaron en la bizarra aventura.

En defensa de la Guardia Nacional, se portaron muy profesionales.

I-vacation
No, no es Optimus Prime sino yo cargado con maleta, Sebastian, Bugaboo traveler bag…

Asi que si, sobrevivimos, muy contentos de ver a la familia y tomando el código de la mano….

Actualización: El código fué corregido y está listo para usar. Por ahora se pueden bajar los binarios desde aquí o las fuentes. Estoy esperando que el proveedor de hosting arregle un problema con el soporte de Java Web Start para poder ponerles los programas directamente desde el blog.

Estoy buscando gente que esté interesada en continuar y mejorar el proyecto. Si estas interesado dejame un mensaje en el blog, no importa el nivel de experiencia.

Blogalaxia.com:pingblog, bautizo, sebastian, maletas, viaje
Technorati.com:pingblog, bautizo, sebastian, maletas, viaje

Sin categoría , , ,