Thinking on hiring me?

Please read

Fernando Guillén

a Freelance Web Developer

cabecera decorativa

software development as an artistic expression

Archive for the ‘software libre’ Category

Viernes, Enero 16th, 2009

Ruby on Rails: exception_logger con soporte jQuery

Estaba yo viendo el screencast éste sobre notificación de excepciones del grandísimo Ryan Bates y me puse a instalarlo, que son, calculando por lo alto, un par de minutos. Y cuando intento acceder al listado de excepciones veo que no funcionan los links ni las acciones ajax de borrar y tal… ouch¡.. resulta que está pensado para trabajar con Prototype y yo tengo todo por defecto con jQuery… así que nada, gracias al gran poder forkeador de github me puse a modificar el plugin para que soporte jQuery y aquí tenéis el resultado:

Exception_Logger_jQuery.

Instalarlo tal que así:

$ git clone git://github.com/fguillen/exception_logger_jquery.git vendor/plugins/exception_logger

Si queréis paginación hay que instalar la gema will_paginate y tocar el init.rb:

$ sudo gem install will_paginate
# init.rb
require 'will_paginate'
$PAGINATION_TYPE = 'will_paginate'
Sábado, Enero 10th, 2009

Monsters of Ruby!!!

No estaban todos los que eran ni eran todos los que estábamos pero si es cierto que se logró reunir a un buen grupo de Monstruos del Ruby.

Sábado 13 de Diciembre de 2008, 14horas, una convocatoria vía email logró reunir a rubistas de todo el estado en una sola habitación para enfrentarse a un reto por equipos.

Se trataba de enfrentarse a un fast-code de una aplicación web usando para el desarrollo de cada una de las capas herramientas que empiezan a emerger y de las que carecíamos de ningún dominio.

Nos mostraron como especificación una aplicación hecha en Rails llamada Frankenstein, para cuyo desarrollo emplearon un par de horas y otro poco para otorgarle un sugerente diseño.

Nos dividimos por equipos atendiendo a la suerta y también por sorteo se fueron repartiendo las herramientas (librerías) que cada equipo podía emplear.

A nuestro monstruoso equipo (los nosferatu) nos tocó:

Pero hubo combinaciones mucho más dolorosas.. :) que ahora no logro recordar.

Nuestro resultado lo podéis encontrar aquí: Nosferatu, pero está totalmente incompleto y dudo que logréis hacerlo funcionar sin nuestras explicaciones. El resto de  grupos y resultados los tenéis en el grupo monstersofruby de github.

A mi parecer no se puede entender lo logrado en esta reunión viendo el código generado. Lo que se ha conseguido va mucho más lejos del código, para mí ha sido una apertura de mente hacia las tecnologías que desconozco pues me da una pereza horrible enfrentarme a la primera línea de código, pero esta experiencia me ha demostrado que no es tan complicado y que hay muchas estrellas en el cielo por conocer.

Además también ha sido otra demostración más de la amigabilidad, sociabilidad, apertura y deseo de compartir que embriaga a toda esta peña entusiasmada con la programación.

Muchas gracias a todos.. ¡hasta la próxima! .. qué por cierto ya se está cociendo.

Martes, Enero 6th, 2009

Looking for _why

La gente que estamos intentando que se haga realidad la Euruko 2009 y entre todos ellos especialmente Marze y yo, nos gustaría mucho traer a _why a Barcelona a alegrar con sus excentricidades y genialidades alguna de las sesiones.

El caso es que no está resultando nada fácil dar con él, no nos quiere contestar a los mails. Incluso hemos contactado con DrNic a ver si él es capaz de hacerle llegar alguno de nuestros mensajes.

La mejor idea la ha tenido Marze que se ha currado una carta al más estilo un-plugged para intentar llamar su atención:

looking for _why

Si por favor ves a _why por algún ricón de la red dile que la gente de la SRUG le estamos buscando.

Miércoles, Agosto 27th, 2008

Ruby, extraer la parte html del body de un email con parte html y part texto plano

Normalmente cuando se escribe un email en formato enriquecido el propio cliente de email se encarga de generar dos partes dentro del email, una con el texto en formato html (enriquecido) y otra en formato texto plano por si el cliente de correo con el que finalmente el destinatario lo abra así lo quiere.

Bien, para una aplicación en la que estoy trabajando se requiere que dado un email con varias partes (html y texto plano) pueda extraer sólo la parte html.

No he encontrado nada en la clase TMail::Mail de Ruby que me ofrezca esta funcionalidad.

No parece difícil en un principio, pero en realidad si profundizas un poco si que se vuelve lioso. Si cogemos el body del Mail lo tenemos todo junto y no sabemos donde cortar, ni siquiera si es requerido cortar. Si empezamos a recorrer las partes del Mail podemos empezar a rastrear los content_type de cada una pero esto puede resultar engañoso pues la parte con el body en formato enriquecido tiene el mismo content_type que un fichero html adjunto en el email.

Al final lo que me ha quedado es este método:

def body_html
  result = nil
  if multipart?
    parts.each do |part|
      if part.multipart?
        part.parts.each do |part2|
          result = part2.unquoted_body if part2.content_type =~ /html/i
        end
      elsif !attachment?(part)
        result = part.unquoted_body if part.content_type =~ /html/i
      end
    end
  else
    result = unquoted_body if content_type =~ /html/i
  end
  result
end

Es un método que extiende la clase TMail::Mail para ofrecer el método .body_html que devuelve la parte html o nil si no hay ninguna parte de texto enriquecido.

Puede parecer liosa pero en realidad está inspirada en el método .body de la propia clase TMail::Mail.

Podéis descargaros el parchecito de TMail::Mail y hacer un require del mismo, o también podéis mirar directamente el repositorio donde lo he subido junto con unos pocos tests.

Cualquier comentario es bienvenido.

Viernes, Mayo 23rd, 2008

¡Dios mio qué he hecho!

Me alejo un poco de la caja de cartón marrón para tomar aire e intentar salir del embobamiento hipnótico.

Ya son más de 5 años de relación amor odio con escritorios Linux, una relación que me ha endurecido enormemente y de la que tengo un recuerdo entre el orgullo de guerrero y cabreo de caprichoso. Quizás sea esa parte mía caprichosa y mal criada la que se ha hecho fuerte últimamente, esos deseos impulsivos de ¡lo quiero y lo quiero ahora! que hacen que me entren cabreos y rabietas al verme marginado una y otra vez por el propio hardware de mi ordenador.

Hoy es ‘un antes y un después’, hoy abandono ligeramente una comunidad que tanto me ha dado… o de la que tanto he cogido (como dijo alguien).

No sé que será lo que más eche de menos, seguramente sea el pertenecer, de una manera consecuente, a una comunidad tan revolucionaria y hermosa como es la del open source, aunque sé que no me estoy separando del todo pues sus tentáculos llegan también al mundo Mac y en mis servidores seguiré administrando distribuciones Linux.

Lo que tengo claro es lo que no añoraré: las peleas continuas con el hardware y la experiencia de usuario con los sistemas de escritorio. La resignación de que la impresora no imprima a dos caras, las tardes perdidas intentando activar el micro, la lucha a muerta con el X11 y el dualhead, la tosquedad de la wifi, en definitiva el uso agotador de energía que requiere dirigir esta gran orquesta de poderosos y cabezotas componentes.

Esta declaración no la debes tener en cuenta a la hora de decidirte a instalar Linux en tu escritorio, distribuciones como Ubuntu son perfectamente válidas en la mayoría de los casos y sin ninguna duda una alternativa mucho menos problemática que Windows. Sólo te diría que te abstuvieras de instalar Linux si el uso de tu ordenador va a ser para jugar o para diseño gráfico profesional, aunque estos casos se puedan satisfacer con una buena combinación de Linux+Wine ya empiezan a requerir de configuraciones medianamente tediosas.

En definitiva, mi querido confidente, me he pasado a Mac.

Algo curioso está ocurriendo en mi todavía querido Ubuntu sobre el que escribo estas líneas, creo que se ha cabreado, según escribía este post se me ha bloqueado varias veces el Firefox, lo cual no es raro pues es la versión Beta de la 3.0, pero había algo raro, como demasiado empeño en no volver a arrancar, temiendo una pérdida de todo lo escrito he continuado en el gedit y, ahora sí que sorprendiéndome, también se me ha colgado al intentar grabar. Aún no estoy seguro si el Ubuntu del servidor sobre el que corre el WordPress de este blog admitirá la publicación de este texto. ¿Tendrá mi nuevo Mac tanta personalidad?.

Buci, parece que estamos sincronizados :)

Actualizado un rato después:  ¿Esto es?… ¿ya está?, ¿esto es todo?, me siento como una quinceañera desvirgada por el guapo de clase.

Martes, Abril 29th, 2008

El DorkBot

Asistí a una de las exhibiciones de el difícil de etiquetar dorkbot. Ellos se describen como “Gente que hace cosas raras con electricidad“.

No tengo muy claro que tipo de asociación es esta ni a qué se dedican pero parece ser un grupo de entusiastas de la robótica artesanal y a mí los mecanismos me encantas y lo artesano también, si encima hay entusiasmo por medio ya me enamoro por completo.

A pesar de mis perspectivas la exhibición no me defrauda en absoluto y me encantan las 3 ponencias.

Primero apareció un chico con una máquina de escribir electrónica completamente hackeada que conectada a un PC y a un rotulador conseguía hipnotizarla para convertirla en un ploter casero.

Luego un par de universitarios nos mostraron su R4P (Robot de 4 Patas) y se me pusieron los pelos de punta cuando su criatura se movía con propia autonomía.

Finalmente se distribuyeron por la mesa un gran grupo de mini-robots hechos a partir de móviles antiguos. El padre ya había conseguido que sus criaturas usaran la batería y las pantallas ahora quería hackear el teclado para que los mini-robots se enviaran SMSs entre ellos e incluso que se comunicaran a base de politonos.

Al parecer esto lo repiten todos los meses, creo que ya estoy enganchado, una cita muy recomendable.

Actualizado 2008.05.21: R4P ganadores del 2º Concurso Universitario de Software Libre Nacional. Óle¡

Martes, Abril 29th, 2008

Conjuros de teclado.

En un rincón de los Mac modernos y más a la vista en los Linux de toda la vida existe un lugar donde se pueden realizar los llamados “conjuros de teclado”, este lugar es la consola, una estancia normalmente negra apta sólo para hechiceros.

En la consola nuestro ordenador es altamente vulnerable y también muy obediente, si somos conocedores de las claves podremos convencerle de hacer cosas que sería complicadísimo explicárselo con el ratón.

Por eso cuando veas a uno de estos hechiceros delante de una pantalla negra llena de letras ten por seguro que está preparando un “conjuro de teclado“.

Un buen libro de hechizos es el que está preparando la gente de shell-fu de los que ya te hablé no hace mucho.

Lunes, Abril 21st, 2008

El estado natural de Conocimiento

¿Dónde me encuentro? Conscientemente sé que se trata del Euruko2008, una reunión de geeks apasionados, una convención que apestaría a cualquier persona normal cuando intenta imaginársela, y que los que aquí estamos, sin embargo, disfrutamos.

Cuando empiezo a relajarme, a soñar despierto y a sentir las vibraciones que surgen de estas sillas empiezo a palpar el ‘Conocimiento’ sólido que sale de los ponentes y de los oyentes.

¿Qué se sentirá en las elitistas reuniones de matemáticos, físicos y científicos de todas las familias cuando se reúnen para compartir avances, experimentos y opiniones que no sintamos los amantes de los mecanismos de software en estas convenciones?

¿Qué es lo que impulsa a los poseedores de conocimiento a compartirlo tan indiscriminadamente? ¿Es simplemente la satisfacción del reconocimiento? No lo creo.

Creo que son (sois, somos) meros instrumentos del ‘Conocimiento’, que existe antes de ser pensado y permanece atento a la espera de un catalizador. Que el estado natural de ‘Conocimiento’ es ser comunicado, que servir de catalizador es una de nuestras razones de existencia y que estamos programados para disfrutar de ello.

Todo intento de poner puertas al libre fluir del ‘Conocimiento’ es luchar contra el estado natural del mismo, contra su estado de equilibrio. Es por ello que requiere tanta energía detenerlo.

Viernes, Marzo 28th, 2008

¡Joder! 40 CMS opensource para implantar redes sociales.

Y yo que creía que el primero que lanzase un buen gestor de redes sociales opensource iba a dar el pelotazo, al estilo wordpress para los blogs o phpBB para los foros.

¡¡Y resulta que hay 40 CMS opensource para redes sociales!!

Vía Genbeta.

Jueves, Marzo 6th, 2008

Glabels, generador de etiquetas para Linux

glabelsApunto aquí esta aplicación para que no se me olvide.

Muy curiosa y útil en la oficina.

¿Cuántas veces nos hemos pegado con el Open Office para tener plantillas para imprimir etiquetas para sobres y demás?

Ahora con Glabels todo es mucho más sencillo.

También sirve para tarjetas de visita.

a Freelance Web Developer is proudly powered by WordPress
Entries (RSS) and Comments (RSS).

Creative Commons License
Fernando Guillen's blog by Fernando Guillen is licensed under a Creative Commons Attribution-NoDerivs 3.0 Unported License.