Archivo: Programación | Picando Código - Part 11

¡Feliz día del programador!

Miércoles, 12 de septiembre de 2012
Code Monkey

Hoy 12 de setiembre es el día 256 del año. Por sexto año consecutivo celebro el día del programador desde Picando Código. El día del programador es un “feriado” el 256º día del año celebrado mayoritariamente por programadores de computadora. La fecha es significativa para los programadores porque 256 = 28, la cantidad de valores representables en un byte de datos. Generalmente se celebra los 13 de setiembre, pero este año es bisciesto: fernando@hoth ~ $ irb 1.9.3p194 :001 > Time.now.yday => 256 Desde 2007 aprovecho la oportunidad para desearle feliz día a mis colegas programadores y preguntar en qué […]

Apuntes Rails: Migraciones

Martes, 21 de agosto de 2012
Migrations - Persiste tus datos

Hace un tiempo publiqué un par de posts sobre Rails denominados Apuntes Rails. Mientras iba estudiando Ruby on Rails, procesaba las anotaciones y las armaba en forma de post. La segunda instancia en esa "serie" fue sobre los Controladores. Desde entonces no he usado mucho Rails, sí otros frameworks en Ruby como Sinatra y Cuba. Sin embargo fueron quedando borradores y apuntes por ahí sobre Rails. Para no desaprovechar lo ya escrito, hoy vuelvo a publicar estos apuntes, ya de paso viendo qué interes hay en que siga con esta serie. Como comentaba, últimamente he estado viendo otras tecnologías sobre […]

Feliz Whyday, el día que celebra a _why

Domingo, 19 de agosto de 2012
chunky bacon

El 19 de agosto de 2009, Why the Lucky Stiff desapareció de la comunidad Ruby. Este programador fue bastante importante en la cultura Ruby y su legado continúa presente en el código, herramientas y conferencias que rodean al lenguaje de programación. Hoy se celebra el Whyday, donde la comunidad Ruby recuerda las contribuciones de _why al ecosistema y la cultura que la identifica. Además se invita a realizar alguna de las siguientes tareas: Ver cuán lejos puedes empujar algún rincón extraño de Ruby (o algún otro lenguaje). Elegir una restricción fuerte (por ejemplo, 4 bytes de código) y ver qué […]

git log - explorando el historial de commits en Git

Miércoles, 8 de agosto de 2012
Git

Leyendo Pro Git en el capítulo 2 nos encontramos cómo explorar el historial de commits. El comando para ver el historial de nuestro proyecto es git log. Normalmente git log muestra algo así: commit 2f01d06c52340e658d0458bd48b86db0818f1923 Author: Fernando Briano Date: Mon Aug 6 16:19:46 2012 -0300 Updates Rails commit 86cbc78f1ba66aaa0fb4ee608c17c3edbad04fc2 Author: Fernando Briano Date: Mon Aug 6 15:56:47 2012 -0300 Removes test/ folder Updates gems Pero hay varios parámetros interesantes para aprovechar más la herramienta. Los dejo por acá para tener como referencia: Parámetro Resultado -p Muestra el diff introducido en cada commit -n Siendo n un número, muestra los últimos […]

[Programación] De todo un poco

Martes, 22 de mayo de 2012

Teniendo varias cosas para compartir y comentar, hago este post sin un order muy definido: SIPML5 - el primer cliente SIP software libre (GPLv3) basado en HTML5. Escrito completamente en JavaScript basado en WebRTC. Se puede usar en su navegador como la gente preferido (Firefox, Chrome, 😉 ) y no necesita plugins ni aberraciones raras como Flash. Pueden probar un demo en vivo en sipml5.org. Nvidia anunció un IDE basado en Eclipse para GNU/Linux y Mac OS X para desarrollar aplicaciones con aceleración GPU HackerSays.com es un sitio donde podemos encontrar citas interesantes / graciosas / iluminadoras de programadores. Muy […]

Invitación: Segundo Ruby Meetup Montevideo 2012

Sábado, 5 de mayo de 2012
Ruby Meetup

Se acerca el segundo martes de Mayo, día de Ruby Meetup en Montevideo. Vale la pena recordar que NO ES NECESARIO SABER RUBY para acercarse: La excusa es que entre todos nos pongamos un poco al día sobre distintas técnicas, herramientas, metodologías y lo que se nos ocurra. Aprender. Enseñar. Pero primordialmente: conocernos entre todos. Para este martes ya somos 18 anotados. Si están interesados en ir, anótense en la página del meetup, así los contamos para la pizza y cerveza 🙂 La vez pasada estuvo muy buena, hubo bastante gente. Esta vez parece que Marcos Albe (conocido también por […]

Reseña del Mozilla Developer Network Hack Day Montevideo 2012

Viernes, 4 de mayo de 2012
Mozilla Developer Network Hack Day Montevideo 2012

El martes 24 se realizó el MDN Hack Day Montevideo 2012 en Café la diaria. El evento fue auspiciado por Mozilla, Cubox, la diaria y BlueVia. Antes que nada, quiero aclarar que me reconozco fanboy de Mozilla, Firefox, y todo lo que hacen por la web. Podrán imaginar mi entusiasmo ante la visita de los Mozillianos y la realización de este evento. Pido disculpas si el post desborda en subjetividad 🙂 Llegué con Diego ("el jefe") a café la diaria bastante temprano. Cubox participó de la organización, así que estuvimos a eso de las 17:00 para llevar algunas cosas y […]

Actualizado UserAgent-Spy después de 2 años...

Miércoles, 2 de mayo de 2012
Frankenstein WordPress

Además de List Category Posts, también desarrollé el plugin para WordPress UserAgent-Spy. Es el plugin que uso para mostrar los navegadores, sistemas operativos y dispositivos de los usuarios en los comentarios. Hacía tiempo que quería retomar su desarrollo, pero siempre lo iba dejando de lado por otras cosas. Finalmente me decidí y volví a él. Tengo que admitir que me costó bastante. En primer lugar, al igual que List Category Posts, este plugin empezó de un script super básico a crecer poco a poco. El modelo de crecimiento fue al estilo "monstruo de Frankestein", donde iba metiéndole código por un […]

Nyan Cat RSpec Formatter

Miércoles, 25 de abril de 2012

RSpec permite ver su salida en la línea de comando con formateadores personalizados. Éstos reciben mensajes en eventos como example_group_started, example_passed, y example_failed. Cuando puedo uso Nyan Cat Formatter, un formateador con Nyan Cat que va dejando un camino de arcoíris a medida que se ejecutan los tests. Señala con asteriscos rojos los ejemplos que fallan y con signos de + los specs pendientes. Funciona con RSpec 1.3 y RSpec 2. Es mucho más divertido mirar al Nyan Cat y todos estos colores que los asteriscos verdes que deja por defecto RSpec. Para usarlo por defecto en mi proyecto Rails, […]

Primer Ruby Meetup Montevideo 2012

Viernes, 13 de abril de 2012

El martes pasado se realizó el Ruby Meetup Montevideo. Organizado por Cubox, la invitación estaba abierta para desarrolladores de cualquier tecnología, sin importar el conocimiento que tuvieran de Ruby. Pueden ver algunas fotos y leer al respecto en el post que escribí en el blog de Cubox: Cubox brings back Ruby meetups to Montevideo. Hubo muy buena asistencia, de 29 inscriptos creo que fueron todos. Había gente que conocía Ruby desde hace muy poco, lo que no impidió (asumo) que se llevaran algo de la reunión. El evento arrancó en la sala de reuniones del Coworking con elCuervo haciendo una […]

Apuntes Rails: Controladores

Lunes, 9 de abril de 2012
Controladores - La C en MVC

Los controladores son el pegamento entre la lógica de negocios y las vistas en el patrón de diseño MVC - Model, View, Controller. Cuando el ruteo de Rails determiná qué controlador va a usar para un pedido http, nuestro controlador se va a encargar de darle sentido a este pedido y devolver una salida correspondiente. Cada controlador es una clase Ruby que hereda de la clase de Rails ApplicationController. Métodos y Acciones El ruteo determina qué controlador y acción debe ejecutar. Rails crea una instancia del controlador y ejecuta el método con el mismo nombre de la acción correspondiente. Capitán […]

Apuntes Rails

Viernes, 6 de abril de 2012
Apuntes Rails

He estado estudiando bastante de las Rails Guides últimamente. Mi kit de estudio sigue siendo tan primitivo como cuando iba al liceo: un cuaderno de papel y una lapicera, además del material de estudio (en este caso Internet). Estoy abierto a sugerencias de métodos más modernos. Debería probar sacar apuntes en un editor de texto directamente en la computadora, pero evitando la tentación de copiar y pegar texto... El tema es que pienso compartir mis apuntes por acá. La idea es que al tener que pasar esos apuntes a un post prolijo en el blog, no solo vuelvo a estudiar […]

Regreso al origen

Martes, 3 de abril de 2012
Rails

Como comentaba en Nuevo Camino, hace un mes empecé a trabajar en Cubox. Esto me llevó a tener que aprender muchas cosas nuevas, encontrarme con una forma y ambiente de trabajo totalmente distinto, etc. Por esto, podría decir que estoy aprendiendo cosas nuevas prácticamente todo el tiempo. Además, tengo mucho por estudiar y aprender todavía para acercarme al nivel del resto del equipo. Creo que para un programador trabajar con gente que sabe mucho más que uno es ideal: tenemos de quién aprender. A su vez, estar en una situación desafiante a nivel técnico resulta inspirador (al menos en mi […]

Invitación a Reunión del Grupo de usuarios Ruby

Martes, 3 de abril de 2012

Estimados lectores, por la presente extiendo a ustedes la invitación a la reunión mensual del grupo Ruby Uruguay. La invitación está abierta a desarrolladores de todo tipo, NO ES NECESARIO QUE SEPAN RUBY. La idea es juntarse a conversar y conocerse, hablar sobre las cosas que anda haciendo cada uno -tanto Ruby como tecnologías asociadas- y tomar algo. El grupo piensa empezar a reunirse los segundos martes de cada mes. Así que si saben Ruby, si no saben pero les interesa conocer más, si tienen conocimientos para compartir, o simplemente quieren conocer gente en el ambiente del desarrollo web local, […]

Rails: ActsAsList - Herramienta para manipular posición de objetos en una lista

Martes, 3 de abril de 2012
Rails

Una gema de Rails que tuve que usar recientemente es ActsAsList. Esta extensión de Rails provee la capacidad de clasificar y ordenar objetos en una lista. La clase con esta necesidad específica debe tener una columna position (posición) definida como Integer en la tabla de base de datos mapeada. Es bastante sencilla de usar, pueden agregar a su Gemfile la gema: gem 'acts_as_list' Voy a mostrar un ejemplo bastante sencillo en Rails a efectos de explicar el concepto. Tenemos una aplicación Rails con dos modelos: Book y Bookshelf. Generamos los modelos correspondientes: $ rails generate model Bookshelf name:string $ rails […]

Toasty!