17 de Marzo de 2009
desarrollo
Estoy leyéndome JavaScript: The Definitive Guide, y me ha parecido práctico tener a mano la siguiente tabla de conversiones automáticas de tipos de datos en JavaScript:
| Valor |
Contexto |
| Texto |
Número |
Booleano |
Objeto |
| no definido |
“undefined” |
NaN |
false |
Error |
| null |
“null” |
0 |
false |
Error |
| cadena no nula |
igual |
valor numérico de la cadena o NaN |
true |
objecto String |
| cadena vacía |
igual |
0 |
false |
objecto String |
| 0 |
“0″ |
igual |
false |
objecto Number |
| NaN |
“NaN” |
igual |
false |
objecto Number |
| Infinity |
“Infinity” |
igual |
true |
objecto Number |
| Infinity negativo |
“-Infinity” |
igual |
true |
objecto Number |
| otro número |
valor de texto del número |
igual |
true |
objecto Number |
| true |
“true” |
1 |
igual |
objeto Boolean |
| false |
“false” |
0 |
igual |
objeto Boolean |
| Object |
toString() |
valueOf(), toString() o NaN |
true |
igual |
10 de Marzo de 2009
eventos, ruby, rails
Los próximos 9 y 10 de mayo de 2009 se celebrará en Barcelona la EuRuKo 2009, es decir, la conferencia europea de Ruby.
Si estás interasado en asistir, apúntate rápidamente, ya que creo que las plazas van a volar. El calendario de ponencias promete bastante. La keynote de apertura estará a cargo de Yukihiro Matsumoto, el creador de Ruby.
27 de Febrero de 2009
desarrollo, libros
Acabo de leer The Pragmatic Programmer: From Journeyman to Master
, todo un clásico sobre el desarrollo ágil, y me ha parecido bastante interesante. Muy recomendable si quieres huir de la metodogía tradicional en cascada o si no sigues ninguna metodología. Si eres de los que lleva tiempo en el mundo Rails, los temas tratados te resultarán de sentido común, pero recuerda que el sentido común es el menos habitual de los sentidos.


El libro nos va resaltando las cosas que todo programador pragmático debería tener en cuenta. Os las enumero aquí para que os hagáis una idea de los temas tratados en el libro. Muchos de los puntos se entienden por sí sólos. Para entender otros será necesario que leáis el libro.
- Mima tu obra
- ¡Piensa!, sobre tu trabajo
- Proporciona opciones, no excusas
- No vivas con ventanas rotas
- Sé un catalizador del cambio
- Ten perspectiva
- Haz de la calidad un requisito
- Invierte regularmente en tu conocimiento
- Analiza críticamente lo que lees y oyes
- Importa lo que dices y cómo lo dices
- No te repitas
- Haz que sea fácil la reutilización
- Elimina las interacciones entre cosas no relacionadas
- No hay decisiones finales
- Utiliza balas trazadoras para encontrar el objetivo
- Prototipa para aprender
- Programa cerca del dominio del problema
- Estima para evitar sorpresas
- Replanifica según codificas
- Mantén el conocimiento en texto plano
- Utiliza el poder de los comandos de la shell
- Aprende a utilizar un editor a fondo
- Utiliza siempre control del código fuente
- Arregla el problema, no busques culpables
- Evita el pánico
- “select” no se ha roto
- No lo asumas, pruébalo
- Aprende un lenguaje de manipulación de textos
- Escribe código que escriba código
- No puedes escribir software perfecto
- Diseña con contratos
- Haz que los errores aparezcan pronto
- Si no puede ocurrir, asegúrate de que no ocurra
- Utiliza excepciones para problemas excepcionales
- Acaba lo que empieces
- Minimiza el acoplamiento entre módulos
- Configura, no integres
- Pon las abstracciones del código en metadatos
- Analiza el flujo de trabajo para mejorar la concurrencia
- Diseña utilizando servicios
- Diseña siempre pensando en la concurrencia
- Separa las vistas de los modelos
- Utiliza el patrón pizarra para coordinar los flujos de trabajo
- No programes por coincidencia
- Estima el orden de magnitud de tus algoritmos
- Comprueba tus estimaciones
- Refactoriza pronto, refactoriza a menudo
- Diseña para testear
- Testea tu software, ya que si no lo harán tus usuarios
- No utilices asistentes de código que no entiendas
- No recojas requerimientos, escava para encontrarlos
- Trabaja con un usuario para pensar como un usuario
- Las abstracciones viven más que los detalles
- Utiliza un glosario en tus proyectos
- No pienses fuera de la caja, encuentra la caja
- Escucha a tus dudas persistentes — Empieza cuando estés preparado
- Algunas cosas se hacen mejor que se describen
- No seas un esclavo de los métodos formales
- Las herramientas caras no producen mejores diseños
- Organiza alrededor de la funcionalidad, no de los puestos de trabajo
- No utilices prodedimientos manuales
- Testea pronto, testea a menudo, testea automáticamente
- La codificación no termina hasta que todos los tests hayan pasado
- Utiliza saboteadores para testear tus tests
- Testea pensando en los estados de tu aplicación, no en las líneas de código
- Busca los bugs sólo una vez
- Utiliza tu lengua como otro lenguaje de programación (documenta)
- Genera tu documentación de la manera más automática posible
- Excede las expectativas de tus usuarios
- Firma tu trabajo
20 de Enero de 2009
internet
Hasta hoy básicamente había utilizado mi cuenta de Facebook para añadir amigos. Hoy he dedicado algo de tiempo a investigar y he encontrado una aplicación que me gusta: Where I’ve Been. Aquí os dejo el mapa de los lugares en los que he estado.
14 de Enero de 2009
eventos
Tras leer El libro negro del emprendedor, de Fernando Trías de Bes, algo que me quedó claro fue que muchas veces, a un emprendor, le pueden ser más útiles los consejos sobre qué cosas no debería hacer que las típicas recetas para alcanzar el éxito. En muchos foros se habla de casos éxito, pero ¿no puede aprenderse, incluso más, de los casos de fracaso?
Hace un rato, escuchando Intereconomía, he conocido los Fiasco Awards 2009 y me ha parecido una idea estupenda. Según su propia web:
Los Fiasco Awards quieren premiar a los mejores proyectos del ámbito TIC que han acabado en FIASCO, con el fin de potenciar el espíritu crítico, fomentar la actitud positiva hacia los escollos del camino hacia el éxito y, para qué negarlo, para divertirnos!