<body>

Sitios web relacionados: PingBlog | Fotos

jueves, agosto 28, 2008

Mantenimiento de PingBlog: Versión 1.1

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:, , ,

Etiquetas: , , ,

domingo, abril 20, 2008

PingBlog: Q.E.P.D

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:,

Etiquetas: ,

domingo, abril 13, 2008

PingBlog: Agregandole soporte para JMX

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 resource
13 * @throws PingException
14 */

15 public boolean ping() throws PingException;
16
17 /**
18 * Get the message received from the server
19 * @return The message returned from the remote server
20 */

21 public String getMessage();
22
23 /**
24 * Get the raw message received from the server
25 * @return The message returned from the remote server
26 */

27 public abstract String getRawMessage();
28
29 /**
30 * Get the name of the blog being advertised
31 * @return Name of the directory
32 */

33 public String getName();
34
35 /**
36 * Get the URL of the blog being advertised
37 * @return Name of the directory
38 */

39 public String getUrl();
40
41 /**
42 * Get the directory being ping
43 * @return Name of the directory
44 */

45 public String getDirectory();
46
47 /**
48 * Get the status of the last ping operation
49 * @return
50 */

51 public boolean getStatus();
52
53
54 }

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.jmxremote
com.blogspot.elangelnegro.blog.pingblog.pinger.PingController $*


Buscar en otros sitios:

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

Etiquetas: ,

domingo, enero 27, 2008

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

¿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:, , ,

Etiquetas: , , ,

viernes, enero 25, 2008

PingBlog ya tiene un webmaster

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:, ,

Etiquetas: , ,

sábado, enero 19, 2008

Se buscan desarrolladores para PingBlog

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:, ,

Etiquetas: , ,

sábado, noviembre 17, 2007

PingBlog: Agregado soporte para To2blogs, pequeñas mejoras

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:, , ,

Etiquetas: , , ,

domingo, agosto 05, 2007

PingBlog: Listo para usar, se buscan usuarios y programadores

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

Etiquetas: , , , , , , , , , ,

sábado, agosto 04, 2007

PingBlog

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

Etiquetas: , , , ,

sábado, julio 14, 2007

PingBlog: Trabajando en la interfaz gráfica

ping blog ping tab
¡Hora de hacer el ping!


Bueno, ya el programa de linea de comandos funciona y la interfaz gráfica para generar etiquetas está allí así que sólo queda trabajar en la interfaz gráfica para hacer los pings.

Después de pensarlo un poco y de ir una y otra vez en el papel terminé decidiéndome por esta idea para enviar los "pings" sin muchas complicaciones:


Además de eso, agregué una pantalla para colocar los datos requeridos del blog:

ping blog settings tab
Definiendo los valores del blog


Bueno, ahora faltan por resolver asuntos como la persistencia de los valores del usuario y la captura de eventos. Pero el hecho que PingBlog tenga una cara me pone contento :)

Blogalaxia.com:pingblog, java, open source, blogs, ping
Technorati.com:pingblog, java, open source, blogs, ping

Etiquetas: , , , ,

domingo, julio 01, 2007

PingBlog: Agregado soporte para Blogalaxia

PingBlogIntro
Blogalaxia ahora es soportado por PingBlog


Blogalaxia es un directorio interesante, el cual genera una cantidad de trafico que es dificil ignorar; Es por eso que decidí agregarle soporte a PingBlog. Inicialmente no tuve suerte con la implementación XML-RPC:

El Equipo de BloGalaxia wrote:
Hola, hemos implementado una solucio xmlrpc.... aun esta en prueba y
solo va a registrar el intento del ping, pero queremos que nos ayudes
con las pruebas para verificar que todo este bien antes de lanzarlo.
Para utilizarlo debes usar lo siguiente:

*RPC endpoint:* http://www.blogalaxia.com/xmlsrv/xmlrpc.php

*Method name:* ping

*Parameters:* (Se deben enviar en el orden indicado)
# URL del site
# URL del RSS feed (Opcional)

Por favor pruebalo para ver el log y verificar que todo este funcionando.

Gracias,

Bruno

Así que me fuí por la via del HTTP GET, de la misma manera que To2blogs.com, agregando un parametro extra como variable de entorno:

PINGBLOG_BLOGALAXIA_UNIQUEID=25204
/Users/josevnz/bin/ping_controller.sh blogalaxia kodegeek http://kodegeek.com
Sin embargo hoy no es mi día de suerte ya que Blogalaxia está muerto:

auyan:~/Documents/workspace/pingblog josevnz$ /Users/josevnz/bin/ping_controller.sh blogalaxia kodegeek http://kodegeek.com
Jun 30, 2007 9:53:48 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: I/O exception (java.net.ConnectException) caught when processing request: Connection refused
Jun 30, 2007 9:53:48 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: Retrying request
Jun 30, 2007 9:53:48 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: I/O exception (java.net.ConnectException) caught when processing request: Connection refused
Jun 30, 2007 9:53:48 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: Retrying request
Jun 30, 2007 9:53:48 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: I/O exception (java.net.ConnectException) caught when processing request: Connection refused
Jun 30, 2007 9:53:48 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: Retrying request
Jun 30, 2007 9:53:48 PM com.blogspot.elangelnegro.blog.pingblog.pinger.PingRunner run
SEVERE: com.blogspot.elangelnegro.blog.pingblog.pinger.PingException: java.net.ConnectException: Connection refused
Jun 30, 2007 9:53:48 PM com.blogspot.elangelnegro.blog.pingblog.pinger.PingController main
INFO: blogalaxia: false, 'null'
Jun 30, 2007 9:53:48 PM com.blogspot.elangelnegro.blog.pingblog.pinger.PingController main
INFO: Program Finished

Asi que bueno, otro directorio de blogs más a la lista :)

Blogalaxia.com:pingblog, blogalaxia, http, java
Technorati.com:pingblog, blogalaxia, http, java

Etiquetas: , , ,

domingo, junio 24, 2007

PingBlog: Agregado soporte para to2blogs.com



Para quienes no lo saben, PingBlog es mi proyecto Open Source el cual me permite hacer ping a múltiples directorios desde la línea de comandos (la interfaz en Swing aún no está terminada).

Es super útil para gente como yo que no utiliza WordPress y está atada a Blogger, el cual no soporta pings a otros directorios.

Después de pasar una eternidad sin poder trabajar en PingBlog, al fin corregí varios errores, pero más importante agregué soporte para To2blogs.com.

To2blogs está basado en el software RubyCorner. Inicialmente traté de hacer un XML RPC ping pero el blog retorna XML mal formado, así que preferí irme por la ruta de REST utilizando el identificador único (después de probar con wget http://todosblogs.com/ping/xmlrpc/xxxxxe7adc84f642dca7334933).

Con la ayuda de Apache HttpClient y unas cuantas pruebas:

export PINGBLOG_TO2BLOGS_UNIQUEID="xxxxxe7adc84f642dca7334933"
java -cp $CLASSPATH -Dping.blog.directoryList=to2blogs -Dping.blog.name=kodegeek -Dping.blog.url=http://kodegeek.com com.blogspot.elangelnegro.blog.pingblog.pinger.PingController

Logré que funcionara:
Jun 23, 2007 10:53:21 PM com.blogspot.elangelnegro.blog.pingblog.pinger.PingController main
INFO: to2blogs: false, 'El ping para tu blog 'KodeGeek' fue procesado exitosamente.'
Jun 23, 2007 10:53:21 PM com.blogspot.elangelnegro.blog.pingblog.pinger.PingController main
INFO: Program Finished


El código esta disponible en CVS, si está interesado en probarlo entonces puedo hacer un release binario para que se baje la nueva versión y juegue con él.

¿Que otras cosas hace pingblog? Bueno, si usted agrega etiquetas de Blogalaxia y Technorati, entonces el programa "simple_tag_generator.sh" generará el código por usted, desde una sencilla interfaz gráfica en Java:

pingblog simple tag generator
Genere etiquetas para Technorati y Blogalaxia más fácilmente


¿Se animan a ayudar? Por favor, dejenme sus comentarios y allí nos ponemos de acuerdo.

Blogalaxia.com:java, pingblog, open source, to2blogs, tecnorati, blogalaxia, java
Technorati.com:java, pingblog, open source, to2blogs, tecnorati, blogalaxia, java

Etiquetas: , , , , ,