lunes, 20 de abril de 2009

Cuatro URLs donde enviar sitemaps

A estas URLs se puede enviar el sitemap de cualquier site para que los buscadores te incluyan en su índice:

  • ASK:
  • http://submissions.ask.com/ping?sitemap=http://www.danimata.com/sitemap.xml
  • YAHOO:
  • http://search.yahooapis.com/SiteExplorerService/V1/ping?sitemap=http://www.danimata.com/sitemap.xml
  • MSN:
  • http://api.moreover.com/ping?u=http://www.danimata.com/sitemap.xml
  • GOOGLE
  • http://www.google.com/webmasters/sitemaps/ping?sitemap=http://www.danimata.com/sitemap.xml

Para ver el formato de un archivo sitemap, la url es la habitual: http://www.sitemaps.org/.

Ha sido corto, pero intenso. Salud y rocanrol!!!

Ni se paga con dinero ni se vende libertad,
ganas me dan de hartarme de reír.
Que animal! No me extraña que te sientas infeliz.
Ser el rey del hormiguero no es motivo de envidiar,
como si fuera el guarda del redil.
Ven p'acá, que parece que te has vuelto a confundir.

sábado, 11 de abril de 2009

Una razón más para cambiar

Llevo una temporada leyendo The Railsway de Obie Fernández y estoy interiorizando muchas cosas que antes me costaba bastante aceptar incluso entender. Creo que es por el enfoque directo que le da al libro, el punto de vista práctico del que parte y el lenguaje humano que utiliza. También porque es mucho más fácil entender cosas que ya has puesto en práctica y con las que has luchado a vida o muerte y contrareloj.

Ha coincidido mi comprensión definitiva de las rutas y de la aplicación de los principios REST con la formación de dos personas en Rails. Una de ellas lynuxera, phpera, joven y de mente abierta. La otra, windowsera, javera, joomlera, menos joven y con bastantes manías y estereotipos arrastrados de su larga experiencia. Mezclado todo ello con la presión de un proyecto importante, la situación se me estaba yendo de las manos y no estaba consiguiendo hacer las cosas bien.

Decidí sacar mi chuleta de los 4 verbos, las 7 acciones, la facilidad de extender éstas y lo fácil que resulta hacer todo siempre que se puede de la misma manera... et voilà. El caos se transformó en claridad, la deriva en control y las dudas en seguridad.

En dos patadas creé un proyecto con autenticación y administración sobre el que trabajar y añadir funcionalidad fácilmente. La ordenación de datos, la paginación, los métodos del controlador salían sólos y, trabajando juntos sobre el código, la velocidad de aprendizaje se incrementó considerablemente. Y lo mejor de todo, el arranque de un proyecto real con dos personas neoraileras fue bastante más controlada de lo habitual.

Vamos a ver qué ocurre a la hora de integrar con diseño. Algo nos inventaremos.

Como siempre, salud y mucho rocanrol!!!

Esperando en el metro
a que salga el Sol.
En la calle, chaval,
hace frío y es de noche.
Y se escuchan sirenas al pasar.


martes, 17 de marzo de 2009

Apoyando a los colegas

Mi compi, Dani Cabrera, presenta Freelancit en el BBVA Open Talent. Desde aquí le apoyo e invito a los que leáis esto a que también lo hagáis. Sin duda, el proyecto lo merece.

Freelancit es una comunidad online para profesionales freelance y está, cómo no, desarrollada en Ruby on Rails por ASPgems



Salud y rocanrol¡

Carry on, my sons forever
Carry on, when I am gone
Carry on, when the day is long
Forever carry on
For as long as were together
Then, forever carry on


lunes, 9 de marzo de 2009

No es lo mío , pero bueno...

Ayer desplegué www.procesosmadrid.es, el site de la empresa de mi amiga Julia. Se dedican a control de plagas y ahora también a evitar que los rayos te caigan encima.

Yo no soy diseñador, pero bueno, algo ha mejorado el site. Hemos aprovechado para darlo de alta en Google Analytics para aprender un poco de analítica web.

Visitas, visitas, queremos visitas¡¡¡

Salud y rocanrol

Porque sé que es un baile salvaje
combate a mala cara
veo todo en blanco y negro, blanco y negro...
Sólo quiero ser más rápido que ellos
y echar todo a perder, un día trás otro
y un buen rato después saber llegar a casa
antes de que el sol me diga que es de día.


jueves, 5 de marzo de 2009

El principio de la mínima sorpresa

Me dice un amigo que tiene un problema con el plugin acts_as_feeder. Tiene un modelo en el que ha incluido ese comportamiento y a la hora de lanzar la carga sobre una de sus instancias el sistema canta por soleares.

Escarbando, escarbando llegamos a que el casque ocurre al ejecutar el método open pasándole como parámetro un StringIO. Ese parámetro es el resultado de ejecutar también open pasándole la URL de un feed.

Ponemos trazas y vemos que al primer open le llega un String, como esperábamos; pero al segundo le llega unas veces un Tempfile y otras un StringIO. El primer caso funciona pero el segundo no y, además, lo que ocurre no tiene sentido.

Pues sí lo tiene. Sólo nos queda mirar qué hace el método open de open-uri y observamos este pedazo de código:

217 StringMax = 10240
218 def <<(str)
219 @io << str
220 @size += str.length
221 if StringIO === @io && StringMax < @size
222 require 'tempfile'
223 io = Tempfile.new('open-uri')
224 io.binmode
225 Meta.init io, @io if Meta === @io
226 io << @io.string
227 @io = io
228 end
229 end


Ahí la llevas. Si se trae más de 10Kb te lo mete en un Tempfile; si no, te devuelve un StringIO.

Y claro, esto ha dejado de funcionar al meter un blog nuevo en la BD. Por eso el proceso que lee no trae casi nada y de ahí todo el problema.

¿Me sorprende? No. El principio de la mínima sorpresa vuelve a triunfar.

Salud y rocanrol.

Navega, velero mío,
sin temor, que ni enemigo navío,
ni tormenta, ni bonanza
tu rumbo a torcer alcanza,
ni a sujetar tu valor.

Veinte presas hemos hecho
a despecho del inglés,
y han rendido sus pendones
cien naciones a mis pies.

Que es mi barco mi tesoro,
que es mi dios la libertad,
mi ley, la fuerza y el viento,
mi única patria, la mar.


jueves, 19 de febrero de 2009

Google Analytics: la polémica

Sólo quiero dejar clara mi postura en este tema.

Todo viene de un post del CEO de toprural acerca de cómo Google Analytics recoje sus datos y de cómo un parámetro de configuración que muy poca gente conoce puede alterar sensiblemente los resultados que se obtienen.

Las opiniones que se han dejado ver en la red son de todo tipo y color, pero se pueden agrupar en dos, como bien se explica en fansgao:
  • la expresada en loogic, 'Un ejemplo más de lo que ocurre cuando construimos un negocio sobre los cimientos de una empresa que a la que al final del día lo que más le importa es reportar buenos resultados a sus accionistas'
  • la expresada en web-analytics, 'Un ejemplo más de lo que ocurre cuando contruimos un negocio sobre los cimientos de una herramienta que no sabemos cómo funciona'
Y yo, claramente, con Pere Rovira y los que como él opinan que la culpa no es sólo de la herramienta sino de aquellos que hasta ahora han optado por utilizar google porque es gratis, sin saber como funciona. Es muy fácil confiar tus datos y tus decisiones a terceros y desentenderte de la herramienta elegida y de la analítica en sí misma, para luego no tener ni el más mínimo sentido de la autocrítica.

Salud y rocanrol

Bien oculto en tu disfraz en mis sueños siempre estás.
No lo puedo remediar, te deseo cada vez más.
Al principio todo era paz y contigo llego la maldad.
Surgiste de las tinieblas con fuego arrasador.
Has escrito la historia de la humanidad.
Haces siempre lo que quieres sin tener piedad.
Dios eterno todo lo haces a tu voluntad.

Maldito maldito sea tu nombre!
Maldito maldito sea tu nombre!

jueves, 15 de enero de 2009

Concepto interensante: La Jerarquía de Optimización

Este es una artículo de hace casi dos años al que hoy he accedido a través del blog de Gemma. En él se desarrolla el concepto de la jerarquía de optimización.

De manera similar a cómo la Pirámide de Maslow trata de explicar el orden de importancia que los humanos le damos a nuestras necesidades como una pirámide, Brian Eisenberg explica el orden de importancia que un cliente potencial de una sitio web le da a las suyas.

Abraham Maslow explica que mientras no sean satisfechas las necesidades en la parte inferior de la pirámide (al menos hasta cierto punto) no prestaremos atención a las necesidades superiores. En la base de la pirámide estarían las necesidades fisiológicas (respirar, comer, dormir...), seguidas de las necesidades de seguridad, afiliación y afecto, y estima y reconocimiento, hasta llegar al nivel superior de necesidades, ocupado por la necesidad de autorealización.

Según la jerarquía de optimización de Eisenberg, en la zona inferior de la pirámide se encuentra lo funcional, es decir, si tenemos en nuestro site lo que el cliente viene buscando (un producto, un servicio, una noticia...). Las siguientes necesidades en orden ascencente son lo accesible que resulta nuestro site y lo usable que es. Finalmente, el cuarto y el quinto nivel de la pirámide lo ocupan lo intuitivo que es el proceso de adquisición y lo persuasivo que resulta éste, de forma que el cliente quede plenamente satisfecho.

Un concepto muy interesante. Salud y rocanrol¡¡¡

Para Gemmamú:

Would you lay with me
in a field of stone.
If my needs were strong,
would you lay with me.
Should my lips grow dry,
would you wet them, dear,
In the midnight hour.
If my lips were dry.
Would you lay with me
in the stream of life
when the moon is full.
Would you bathe with me
Will you still love me,
when I'm down and out.
In my time of trial,
would you stand by me.
Would you go away
to another land,
walk a thousand miles
through the burning sand.
Wipe the blood away
from my dying hand
if I give myself to you.

miércoles, 14 de enero de 2009

Comenzamos 2009 con pair programming

Feliz 2009.

Últimamente no pasan cosas interesantes entre Rails y yo. No sé si, como cantaba Medina Azahara 'se perdió el amor' o la cosa va más por 'la vida sigue igual' de Julio Iglesias.

Sin embargo, hoy, por primera vez y después de mucho escuchar cómo otros hablaban de ello, he perdido la virginidad en el pair programming. Y lo he hecho con una persona tan escéptica o más que yo acerca de sus bondades (hola David).

Teníamos que meter un combo de idiomas en 9 formularios de actualización de datos y que en el evento onchange del combo se recargase el valor de cierto campo con su traducción al idioma seleccionado en dicha combo(este párrafo es para ahogarse).

Hemos decidido hacer juntos un partial con el combo y el observe_field que maneje la recarga del valor del campo a traducir y un método de controlador que haga la parte servidor de búsqueda de traducciones. Después, por separado, cada uno ha metido el partial en sus formularios de edición y ha modificado los métodos que éstos invocaban. Previamente, habíamos acordado la forma de implementar los cambios en estos métodos.

El resultado, desde mi punto de vista, ha sido muy positivo:
  • hemos desarrollado el trabajo común en menos tiempo que si lo hubiera hecho uno sólo
  • el código resultante de ese trabajo sólo ha necesitado un pequeño retoque a posteriori
  • además, David y yo tenemos fortalezas y defectos bastante complementarios, con lo que los dos hemos aportado
  • el trabajo por separado nos ha llevado muy poco tiempo porque hemos dejado la parte común muy fina
Sigo pensando que el pair programming como práctica diaria quita más que aporta. Sin embargo, veo que como práctica quizás semanal o como punto de partida de los proyectos y en proyectos que requieran equipos de varias personas puede aportar bastante valor. Como todo, en su justa medida, me gusta el pair programming.

Salud y rocanrol

Well I'm upper upper class high society
God's gift to ballroom notoriety
And I always fill my ballroom
The event is never small
The social pages say I've got
The biggest balls of all


miércoles, 10 de diciembre de 2008

Mi última adquisición

Como últimamente no estoy muy inspirado para escribir sobre código, os voy a enseñar mi última adquisición.



'Y qué coj@#€¬~@ es eso', os preguntaréis?

Pues resulta que, si te sientas en el sofá, le das la vuelta al asunto y apoyas la parte acolchada en tus rodillas, puedes poner el portátil encima y picar cómodamente.

Si acaso, le veo una mejora: dos soportes laterales, uno para una cervecita y otro para unas aceitunas.

Salud y rocanrol!!!

En su tumba hay latas de cerveza.
Txus no bebas tanto, no pierdas la cabeza.
Txus no bebas tanto, no pierdas la cabeza.
No pierdas la cabeza, no pierdas la cabezaaaa!!!!.

jueves, 20 de noviembre de 2008

Conferencia Rails 2008 re-visited

He tardado varios días en pensar qué escribir acerca de la conferencia porque el viernes, cuando terminó y me fui a casa, estaba muy enfadado. Estaba menos enfadado que el jueves, pero enfadado al fin y al cabo. Mi pensamiento principal era me han tanga'o. Tal cual.

Está claro que me equivoqué en mis deseos para este año. Estuve conectado la mitad del tiempo que pasé en las conferencias, las charlas que vi sobre casos de éxito fueron desastrosas salvo la excepción de Fernando Echevarrieta presentando ideas4all y el corporativismo, como era de esperar estuvo en cada esquina de la facultad de teleco.

Y esto, EN MI OPINIÓN no fue lo peor. Hubo dos conferencias en las que estuve a punto de dormir y vi gente cuyos párpados superiores no resistieron la acción de la gravedad. Cierto es, que la baja luz que se utilizó en el Aula Magna no ayudó en nada y que en la parte superior del Salón de Actos te cocías vivo cual pulpo a feira. Pero esto no disculpa la baja calidad y preparación de algunas conferencias ni la intrascendencia en cuanto a contenidos de más de la mitad de ellas (recordemos, EN MI OPINIÓN). Incluso llegué a pensar que, para algunos ponentes, lo importante era aparecer en la foto y no otra cosa (insisto, EN MI OPINIÓN).

Pero no todo fue malo. La keynote de Xavi estuvo llena de datos interesantes. Las charlas de Sergio y Javi nos mantuvieron vivos la tarde del jueves. La keynote de la universidad, aún con pocos asistentes, me pareció interesante. Creo que Joaquín Salvachúa puede hacer interesante cualquier conferencia. Ya salvó del naufragio la del año pasado acerca de REST. Creo que Francesc debería de haber tenido algo más de tiempo para explicar su Typus. Finalmente, los chicos de BeBanjo mantuvieron el tipo y la keynote final de Obie Fernández nos hizo pensar un poco.

Seguro que me perdí cosas muy interesantes y el hecho de que yo no comparta todo el mensaje de esto es la ostia, semos los mejores, viva españa, via el rails igual me hace ser un poco más crítico. Pero pienso que la organización de la conferencia debería ser más selectiva a la hora de elegir qué conferencias se van a ofrecer. O a lo mejor es que no damos para más (el primero YO que no he presentado jamás una ponencia).

Salud y rocanrol!!!!

Sale a la calle una vez más con su rutina y su ansiedad.
Siempre actúa por inercia; ya no piensa en el porqué.
Con cara de lamento y sin haber dormido bien,
se presenta ante la ficha, su temido juez.
Reo del sistema a cambio de seguridad.
Cumple la condena del horario laboral.
Sigue soñando, esperando que algún día cambiará
su futuro con ese boleto escogido al azar.
Buscando, mirando, rodando por el suelo.
Buscando, mirando, rodando por el suelo.