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

Volumerb - Ajusta el volúmen de tu sistema desde Ruby

Martes, 1 de julio de 2014
volumerb

En marzo programé un "control remoto web" para el volumen del sistema como parte de unos proyectos de fin de semana. No sé si podría contar dónde, pero la aplicación se estaba usando como parte de otra aplicación con acceso web 😀 Dada la situación, tuvo sentido extraer la lógica de manipulación del volúmen en una gema para que pueda ser integrado de manera más simple con otro sistema Ruby. Así que ahora la funcionalidad está disponible como una gema: volumerb. Funciona en sistemas GNU/Linux y gracias a Daniel Cadenas que me ayudó a testear en su computadora (aparte de […]

aprend.io - Aprende Front-End de forma gratuita y en Español con videos

Lunes, 14 de abril de 2014

Si están con ganas de empezar a aprender HTML y CSS, o conocen a alguien en esa situación, esto les va a interesar. La semana pasada se lanzó el proyecto aprend.io: un sitio compuesto por 16 videos acompañados de código para empezar a aprender los fundamentos de Front–End Development. Los videos están divididos en 3 temas principales: HTML, CSS y un proyecto de ejemplo; Pizzatio. Viendo los videos en orden y practicando con ayuda del código de ejemplo podrás llegar a tener una comprensión firme de lo fundamental de Front–End Development. DrummerHead es el anfitrión del curso y te lleva […]

JSON más rico

Lunes, 31 de marzo de 2014
JSON

Hice una gema: ricojson - herramienta de línea de comando que muestra archivos JSON de forma linda: fernando@endor ~ $ echo '{"name": "Captain America", "alterego": "Steven Rogers", "weapon": "Vibranium Shield"}' | ricojson { "name": "Captain America", "alterego": "Steven Rogers", "weapon": "Vibranium Shield" }fernando@endor ~ $ echo '{"name": "Captain America", "alterego": "Steven Rogers", "weapon": "Vibranium Shield"}' | ricojson { "name": "Captain America", "alterego": "Steven Rogers", "weapon": "Vibranium Shield" } El contenido JSON puede provenir de un archivo, o directamente desde la entrada estándard. Así que puede ser el resultado de un pipe de cat o curl. Como salida vamos a obtener […]

JavaScript para validar Cédula de Identidad Uruguaya

Miércoles, 26 de marzo de 2014
Validador CI

Otro mini proyecto de fin de semana, la validación de la Cédula de Identidad Uruguaya en JavaScript. Un problema mayor que tienen varios sitios uruguayos es la validación de la cédula. Fue lo que me llevó a escribir la gema ci_uy en Ruby, y ahora la implementación en JS como ejercicio. El número de la cédula uruguaya tiene el formato: 0.000.000-0. Entonces cuando un programador implementa el input de texto como para la cédula, empieza a exigirle al usuario cosas como "Use solo puntos, guiones o barras, primero ingrese los tres dígitos, después de una vuelta a la silla y […]

Proyecto de fin de semana: Gibil

Lunes, 17 de marzo de 2014
Gibil en acción

El fin de semana pasado había creado un proyecto simple para un notificador de temperatura. Este fin de semana me tomé un tiempito para convertirlo en gema y ponerle un nombre: Gibil. No fui muy original con el nombre, buscaba algo sencillo y corto, y Gibil es el nombre de un Dios del Fuego en la mitología Sumeria. El uso básico es: $ gem install gibil $ gibil # Genera la notificación del sistema con la temperatura $ gibil schedule # Agrega un crontab para que nos avise cuando la temperatura es muy alta (mayor a 60) El código que […]

Proyectos de fin de semana - Notificador de temperatura y "Control remoto" web

Domingo, 9 de marzo de 2014
Web Volume Control

A veces programar cosas, por muy simples e inútiles que sean, resulta tan catártico como entretenido, y una buena forma de invertir el tiempo en un fin de semana. Este fin de semana armé dos proyectos bastante simples que surgieron a partir de una idea y la pregunta de "¿Se podrá hacer esto?". Supongo que no son demasiado útiles pero funcionan en las condiciones en que los necesitaba. Igual siempre se les puede agregar cosas y mejorarlos. Notificador de temperatura Proyecto 100% Ruby que usa las bibliotecas libnotify y whenever así como Rake para notificarte cuando la temperatura de tu […]

La tabla periódica de plugins de WordPress

Jueves, 13 de febrero de 2014
Tabla periódica de plugins de WordPress

Hace unos días descubrí The Periodic Table of WordPress Plugins: Se ha contribuido con más de 30.000 plugins de WordPress al Directorio de Plugins de WordPress.org. Millones de sitios son impulsados por estos plugins, desarrollados y mantenidos por una comunidad open-source asombrosa en todo el mundo. Esta tabla muestra los 108 plugins más populares de WordPress, rankeados por cantidad de descargas. Pueden visitarla en plugintable.com: Me sorprendió gratamente encontrar a List Category Posts en la lista de plugins 🙂

Proyecto de Fin de Semana: Super Simple Time Tracker

Lunes, 3 de febrero de 2014
Super Time Tracker

En mi trabajo actual solíamos cobrar por hora. Usábamos una aplicación de time tracking para llevar la gestión a lo largo del mes de las horas que trabajábamos. Después pasamos a modalidad "sueldo fijo" y ya no tuvimos que volver a usar MinuteDock... La semana pasada empecé un proyecto en paralelo donde sí tengo que reportar las horas que le dedique. Así que me puse a buscar alguna alternativa a MinuteDock pero más sencilla. Buscaba algo que simplemente "trackee" las horas, sin asignarlas a un proyecto, sin necesitar una cuenta de usuario, sin tener que pagar nada. Después de una […]

Firefox Developer Tools, parte 2: Scratchpad y Editor de Estilos

Jueves, 26 de diciembre de 2013

Siguiendo con el repaso de las herramientas para desarrollo de Firefox, esta vez en Mozilla Hacks cubrieron de qué se trata el Scratchpad y el Editor de Estilos. Si quieren ver la primera parte: Firefox Developer Tools, parte 1: la Consola Web y el Debugger JavaScript En esta parte de la serie, se explican el Editor de Estilos (Style Editor) y el Scratchpad. El Editor de Estilos es una de esas cosas fantásticas sin las cuales la vida de un desarrollador web sería mucho más difícil. Ni que hablar de buscarle la vuelta a distintos problemas en un CSS. Podemos […]

Vagrant: entornos de desarrollo portables, reproducibles y livianos

Viernes, 20 de diciembre de 2013
Vagrant

Si no conocen y usan Vagrant, déjenme recomendárselo. Vagrant es una herramienta que nos facilita enormemente la gestión de distintos ambientes de desarrollo. Mediante "boxes", podemos configurar un sistema desde cero para un entorno de desarrollo específico y transportarlo con nuestro proyecto con un solo archivo de configuración: Vagrantfile. El lema en su sitio web: Crea y configura ambientes de desarrollo livianos, reproducibles y portables, y cumple con lo que promete. Está escrito en Ruby y es Software Libre. Las máquinas son provistas por VirtualBox (por defecto), pero puede usarse también VMware, AWS o cualquier otro proveedor. Para desarrolladores y […]

¿Por qué Ruby?

Miércoles, 11 de diciembre de 2013
Por qué Ruby

Ayer fue el Ruby Meetup Montevideo de Diciembre. Para este meetup preparé una charla con un poco de Live Coding (¿qué puede salir mal?) y algunas razones por las cuales yo elegí Ruby como mi lenguaje de programación. Estuvo muy bueno y me quedé rato largo conversando después de terminar la presentación. No tuve demasiado tiempo para preparar la charla, pero creo que salió bastante bien. La idea era que otros rubistas también participaran para dar opiniones y aportar conocimiento, y por suerte así fue. Es una charla que queda temporalmente archivada pero con miras de retomar y mejorar para […]

[Plugin WordPress] List Category Posts - paginación

Lunes, 18 de noviembre de 2013
WordPress

Sigo actualizando mi plugin de WordPress: List Category Posts. Le estoy dando bastante atención a los temas nuevos en el foro de soporte de WordPress e intento ayudar a los usuarios a que logren lo que necesitan con el plugin. Parece que cada vez va creciendo la base de usuarios, la última versión rompió el record de descargas en un mismo día, así que puedo suponer que cada vez más gente usa el plugin. Un tema que tenía pendiente de hace un buen tiempo es la paginación. El domingo pasado me senté a programar y además de sacar la versión […]

[Plugin WordPress] List Category Posts 0.33

Miércoles, 23 de octubre de 2013
WordPress

Recientemente retomé el desarrollo de mi proyecto software libre más popular hasta el momento: List Category Posts, un plugin para WordPress que permite listar los posts de una categoría con un simple shortcode. Nuevamente superé un récord de descargas en un mismo día, llegando a 2.789 descargas el lunes tras ser publicada la versión 0.32. Algo que me dejó muy gratamente sorprendido es que algunos usuarios se tomaron el tiempo de crear videos sobre el plugin y explicando cómo usarlo: Manage WordPress Content with List Category Posts Plugin Build A Start Here Page with List Category Posts WordPress: How to […]

Intrigado con Scala - parte 1

Miércoles, 16 de octubre de 2013
Scala

Intentando retomar Scala, volví a leer la revista PragPub de The Pragmatic Programmer. El número 17 de Setiembre de 2011 inauguró "Scala for the intrigued", una serie de artículos sobre Scala. Pueden leerlo acá. Empecé a leerlos en el momento que salieron y ahora me puse como objetivo repasarlos todos desde cero. Para que el compromiso tenga más peso, pienso compartir apuntes de cada uno por acá, así me presiono a seguir adelante. Pero antes de pasar a los apuntes, repaso un poco sobre Scala en sí: Scala es un lenguaje de programación con apenas 10 años de existencia. Fue […]

La mentira Agile 2

Martes, 8 de octubre de 2013
La Mentira Agile

Llegué a través de DZone a To be or not to be... Agile! (Ser o no ser... ágil) Me sonó muy parecido a La Mentira Agile, así que lo comento por estos lados. Básicamente hace el mismo ejercicio que hice en su momento con mi artículo: Dados un montón de conceptos errónes sobre Agile, el autor escribió una explicación de lo que significa Agile para él. Comparto todo lo que dice, lo hace de una manera distinta a lo que fue mi post, así que me pareció bueno compartirlo como complemento al susodicho. Los puntos que señala son: "Hacemos" ágil […]

Toasty!