Ir al contenido

Blog

Historias

La crisis y las felicitaciones del 2009

He visto bastantes posts y declaraciones que transmiten la idea de que lo ideal es felicitar el año 2010, que este 2009 en el que estamos entrando (ya estaremos del todo cuando pasen los Reyes Magos) no tiene salvación y que mejor concentrarnos en el 2010, y la verdad es que me dejan un muy mal sabor de boca esas opiniones.

Entiendo que no son serias al 100% pero creo que le dan más importancia de la que se debe a algo como una crisis financiera: efectivamente para todos esos que se quedan en paro sin recursos la cosa es una putada, pero lo sería aunque resultara que estuvieramos en el mejor momento de la historia económica. Además, un momento como este nos hará ser más ingeniosos y no creo que sea bueno dejar de disfrutar y pasar un mal año por algo que no nos toca de pleno. Si las cosas se han complicado, pues habrá que hacer más cena con los amigos y jugar a juegos en vez de tanto restaurante y cine. A lo mejor hay que usar menos coche y comprar otras cosas, pero estoy seguro de que todos podemos intentar disfrutar de todo esto.

Y a los que realmente estén pasandolo mal ¡mucho ánimo! Y que tengan un feliz 2009.

Etiquetado

Propuesta para el 2009

Queda poco para que termine el año así que va siendo hora de ir planificando las propuestas que todos nos hacemos para el 2009, y como no fumo pues tendré que empezar con otras.

  • Lo primero que decidí, ya hace unos meses, es que el 2009 sería el año de La Torre Oscura. Mi objetivo será (re)leer la saga de Stephen King así como otros libros que rodean el universo de la búsqueda de Roland. En total supone una veintena aproximada de libros.
  • Me gustaría aprender Haskell, ya que en programming.reddit.com es muy mencionado y creo que nunca viene mal tener algo de soltura en programación funcional (cosa que perdí desde mis años de facultad).
  • En el aspecto ecónomico, en esta última mitad del 2008 he conseguido estabilizar la situación y la idea es conseguir algo de ahorro, aunque el siguiente propósito igual complica ese asunto.
  • Automovilizarme. El año pasado me saqué el carné de conducir y ahora mismo no tenemos vehículo, estamos planteando qué hacer en ese aspecto y ya veremos cómo va todo.
  • En el aspecto laboral supongo que a pesar de tener en mente unas apuestas personales lo mejor será declarar en público un virgencita, virgencita, que me quede como estoy :-).
  • Seguir intentando y conseguirlo.
  • Tendría que decir algo de mi sobrepeso y de el ejercicio, pero no quiero ponermelo como propósito porque no se si seré capaz y tendría que ser algo que se transformara en hábito.

Supongo que quizás tendría que hacer otro post con algunas predicciones sobre el mundo tecnológico, sistemas, Internet y wireless, pero eso hay que reflexionarlo más, que no se me da tan bien.

Etiquetado ,

Una feliz navidad para todos

Quizás tendría que ponerme como propósito de año nuevo el publicar más por aquí, pero entre que lo decido o no dejaremos esta melodía navideña de unos J5.

Pasenlo bien todos, y si no terminan de encontrar alguna razón para hacerlo, pues sólo porque sí. Besos y abrazos para todos.

Etiquetado

¿Bailarías con Matt?

Acabo de leer Así lo hace Matt, una conferencia con metología Ignite de Matt, el creador del vídeo inspiracional posiblemente más popular de todo el mundo.

El final de la conferencia es lo que uno se esperaría de una charla de Matt, ya que pide a todo los asistentes que suban a bailar con él y al verlos me di cuenta de que uno se apartaba para sacar una foto y me pregunté, si hubiera estado allí ¿habría bailado? ¿me habría preocupado en fotografiar o grabar el evento? ¿o habría twitteado sobre ello? Me gustaría pensar que habría bailado sin más recuerdo que mi memoría pero no se si podría aseguarlo ¿Qué hariais vosotros?

¿Qué hay en un nombre?

Acabo de leer un artículo titulado “What is in a name” en el autor introduce sobre las dificultades de globalizar algo tan común como es el nombre propio de una persona. El artículo sintetiza varios de los problemas que se pueden encontrar al plantear cómo globalizar un sistema, lo que es mucho más complejo que traducir algunas cadenas de texto (para lo que gettext es una excelente solución).

I can’t imagine what people do when they have to enter their name in an online form that insists on a name that is made of a single word first name, possibly a middle initial, and a single word last name — none containing any punctuation.

Partiendo de cómo muchos formularios toman el nombre (nombre propio, inicial, apellido) el autor pasa a describir ejemplos de varios nombres que demuestran que no hay ningún formato común ya que puede haber nombres con varios apellidos, nombres compuestos. También hay que tener en cuenta que la capitalización de los nombres y apellidos puede ser mixta (pone como ejemplo el apellido DeGraw) además de que se incluyan signos en los apellidos, como en los apellidos compuestos españoles (comunes en nobleza y familias de postín). Y todo ello sin salir de las familiares normas occidentales, ya que en el caso japonés es muy sabido que suele tener la forma apellido nombre.

No existen soluciones para este tema, en los comentarios se menciona la posibilidad de ofrecer 2 textos: uno para refererirse a la persona informalmente y otro campo más formal (si vais a venderle un billete de avión a un Sir británico puede que no permita que se le llame Mr. y haya que utilizar Sir). Esta solución a priori puede parecer suficiente pero cuando se piensa un poco podemos darnos cuenta de que nos imposibilita una ordenación práctica (por lo general se hace por apellido), y todo esto sin entrar a pensar en juegos de carácteres y escrituras bidireccionales.

Conocer todos estos problemas nos puede hacer afrontar con humildad la tarea de internacionalizar una aplicación para que realmente sea global, y saber valorar todos los esfuerzos que muchas personas y equipos realizan para intentar poder llegar a todo el mundo.

Etiquetado

Iterando por enumerables en Ruby

Hoy estaba haciendo unas cosas con una serie de listas de listas que contienen listas y me estaba encontrando con algún pequeño follón y he descubierto algo que no será para tirar cohetes pero me ha venido bien.


[ ['Triangulos', 1], ['Circulos', 2],['Cuadrados', 3] ].each { |fig,count| p “#{fig} aparece #{count} veces@}

No es gran cosa, pero el poder usar algo como |fig, count| en vez de |a| y tener que recurrir a a[0] y a[1], y aunque en este ridículo ejemplo quizás podría usarse un Hash en lugar del los Array como tuplas en mi caso sí que me ha ayudado a hacer un poquito más legible en código. No es gran cosa, pero algo ayuda.

Etiquetado ,

Pruebas en Ruby/Rails

Seguimos peleando intentando dar con la mejor manera para hacer pruebas, pero por ahora parece que el ganador está siendo la combinación de RSpec con rcov que te permite medir el depender de los fixtures en Rails estamos utilizando FixtureReplacement2, aunque por ahora no tengo claro cuál sería la mejor opción pero es un buen principio y no sería demasiado complicado cambiar las pruebas a otra librería u otra metodología.

Cuando tenga más rodado todo espero poder hablar más extensamente sobre ello, pero si alguien quiere decir algo puede animarse y contar sus experiencias

Etiquetado , ,

Datos para testing en Rails

Cualquiera que haya tenido que mantener tests de aplicaciones en Rails habrá llegado a soltar algún improperio al tener que mantener Fixtures (y eso que en Rails 2.0 facilitaron algo la gestión) ya que en cuanto el proyecto tiene algo de envergadura y movimiento ese sistema se vuelve inmanejable, se emplea demasiado tiempo en gestionar unos datos en unos ficheros de texto para solucionar problemas en los tests.

Sin embargo no parece que haya una alternativa ideal para los tests, hay muchas posibilidades y parece que no está clara cual es la forma más adecuada al sistema integrado en Rails. Personalmente me gusta Fixtures Replace 2 y tengo planeado echarle un vistazo a Fixture Scenarios (un interesante artículo: “Fixin’ fixtures“) pero no tengo muy claro cuál sería el mejor método. También tengo pendiente probar RSpec, pero cambiar toda la metodología de tests puede llegar a ser costoso así que me gustaría preguntar aquí ¿qué es lo que más apropiado habéis visto para usar con Rails?

Etiquetado ,

Tres cosas que estoy leyendo: Gnome, fuentes en Firefox y REST

Ahora mismo estoy leyendo 3 cosas que voy a describir aquí. La primera es sobre la gestión de las tipografías en Firefox 3 sobre el hinting, kerning y las ligaduras, resulta prometedor.

También estoy leyendo algo sobre la posición de Gnome en un artículo titulado Gnome in the age of decadence” (llegué a él a través de Reddit) en el que se debate sobre si Gnome ha llegado a un punto de estancamiento y decadencia. La llegada de KDE4, el estado de Gnome y la omnipresencia de la web 2.0 creo que pueden estar relacionados de alguna forma, y éste es un buen artículo (y los comentarios también en reddit) para reflexionar algo sobre ello.

Por último una reflexión sobre algunos errores al implementar REST que podemos aprender de Newsgator.

Etiquetado , , ,

DataMapper en Ruby

De un tiempo para acá estoy teniendo en cuenta DataMapper, un ORM para Ruby que tiene similitudes con Active Record pero se nota que es una librería posterior por muchos detalles. De las cosas interesantes que puede hacer hay algunas muy dignas de tener en cuenta.

  • Las actualizaciones parciales, que ya se encuentran disponibles en la nueva versión de Active Record en Rails 2.1
  • Actúa contra la base de datos con inteligencia, minimizando en lo posible el número de accesos a las tablas.
  • Las búsquedas son totalmente en Ruby, con lo que no hay que hacer extraños inventos para búsquedas complejas (en ActiveRecord hay que tocar el SQL para unir varias condiciones).
  • Es explícito. Al definir la clase también definimos los campos y el tipado de éstos. En ActiveRecord a veces me siento un poco desorientado ya que las propiedades de la clase se definen al conectar con la base de datos, en DataMapper se definen explícitamente en la clase.
  • Acceso directo. Si tenemos el modelo Post podemos hacer Post[3] en lugar de Post.find(3) y otras muchas más formas de encontrar lo que buscamos.
  • Paranoia. DataMapper incluye de serie el borrado lógico al definir una propiedad como property :deleted_at, ParanoidDateTime. La realidad es que casi siempre que borramos sólo queremos marcar como borrados, y que el ORM de serie incluya esta funcionalidad nos facilita mucho el trabajo. Con ActiveRecord puede conseguirse, pero no es lo mismo

No es oro todo lo que reluce y DataMapper todavía no está completo del todo (siguen trabajando en las relaciones entre objetos y algunas cosas más) pero la verdad es que para proyectos Ruby que no sean Rails puede ser una interesante opción, sobre todo si estamos probando algo como Merb con DataMapper.

Etiquetado , ,