Conversiones automáticas de tipos de datos en JavaScript

desarrollo 0 comentarios »

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

EuRuKo 2009 en Barcelona

eventos, ruby, rails 0 comentarios »

Los próximos 9 y 10 de mayo de 2009 se celebrará en Barcelona la EuRuKo 2009, es decir, la conferencia europea de Ruby.

euruko 2009

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.


70 cosas que todo programador pragmático debería tener en cuenta

desarrollo, libros 0 comentarios »

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.

  1. Mima tu obra
  2. ¡Piensa!, sobre tu trabajo
  3. Proporciona opciones, no excusas
  4. No vivas con ventanas rotas
  5. Sé un catalizador del cambio
  6. Ten perspectiva
  7. Haz de la calidad un requisito
  8. Invierte regularmente en tu conocimiento
  9. Analiza críticamente lo que lees y oyes
  10. Importa lo que dices y cómo lo dices
  11. No te repitas
  12. Haz que sea fácil la reutilización
  13. Elimina las interacciones entre cosas no relacionadas
  14. No hay decisiones finales
  15. Utiliza balas trazadoras para encontrar el objetivo
  16. Prototipa para aprender
  17. Programa cerca del dominio del problema
  18. Estima para evitar sorpresas
  19. Replanifica según codificas
  20. Mantén el conocimiento en texto plano
  21. Utiliza el poder de los comandos de la shell
  22. Aprende a utilizar un editor a fondo
  23. Utiliza siempre control del código fuente
  24. Arregla el problema, no busques culpables
  25. Evita el pánico
  26. “select” no se ha roto
  27. No lo asumas, pruébalo
  28. Aprende un lenguaje de manipulación de textos
  29. Escribe código que escriba código
  30. No puedes escribir software perfecto
  31. Diseña con contratos
  32. Haz que los errores aparezcan pronto
  33. Si no puede ocurrir, asegúrate de que no ocurra
  34. Utiliza excepciones para problemas excepcionales
  35. Acaba lo que empieces
  36. Minimiza el acoplamiento entre módulos
  37. Configura, no integres
  38. Pon las abstracciones del código en metadatos
  39. Analiza el flujo de trabajo para mejorar la concurrencia
  40. Diseña utilizando servicios
  41. Diseña siempre pensando en la concurrencia
  42. Separa las vistas de los modelos
  43. Utiliza el patrón pizarra para coordinar los flujos de trabajo
  44. No programes por coincidencia
  45. Estima el orden de magnitud de tus algoritmos
  46. Comprueba tus estimaciones
  47. Refactoriza pronto, refactoriza a menudo
  48. Diseña para testear
  49. Testea tu software, ya que si no lo harán tus usuarios
  50. No utilices asistentes de código que no entiendas
  51. No recojas requerimientos, escava para encontrarlos
  52. Trabaja con un usuario para pensar como un usuario
  53. Las abstracciones viven más que los detalles
  54. Utiliza un glosario en tus proyectos
  55. No pienses fuera de la caja, encuentra la caja
  56. Escucha a tus dudas persistentes — Empieza cuando estés preparado
  57. Algunas cosas se hacen mejor que se describen
  58. No seas un esclavo de los métodos formales
  59. Las herramientas caras no producen mejores diseños
  60. Organiza alrededor de la funcionalidad, no de los puestos de trabajo
  61. No utilices prodedimientos manuales
  62. Testea pronto, testea a menudo, testea automáticamente
  63. La codificación no termina hasta que todos los tests hayan pasado
  64. Utiliza saboteadores para testear tus tests
  65. Testea pensando en los estados de tu aplicación, no en las líneas de código
  66. Busca los bugs sólo una vez
  67. Utiliza tu lengua como otro lenguaje de programación (documenta)
  68. Genera tu documentación de la manera más automática posible
  69. Excede las expectativas de tus usuarios
  70. Firma tu trabajo

Where I’ve Been

internet 0 comentarios »

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.


Fiasco Awards 2009

eventos 1 comentario »

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?

fiasco_awards

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!