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

[Plugin WordPress] List Category Posts – 0.73

Viernes, 17 de noviembre de 2017
List Category Posts

La semana pasada publiqué una nueva versión de List Category Posts después de 8 meses sin tocar el código. List Category Posts es un plugin de WordPress que permite publicar una lista de posts pertenecientes a una categoría dada, además de unos cuantos parámetros más y personalizaciones. Desde hace un tiempo que la mayoría de las actualizaciones constan más de revisar e incluir Pull Requests de otros usuarios que escribir código propio. Es por la única razón que sigo viendo código PHP, pero como comenté al alcanzar el millón de descargas, es un proyecto exitoso. Esta nueva versión incluye dos […]

¡Feliz día del programador!

Miércoles, 13 de septiembre de 2017
Code Monkeys

Como es tradición desde hace 10 años en este blog*, aprovecho el día del programador para desearle feliz día a mis colegas y hacer un repaso de lo que he estado haciendo como programador. *excepto el año pasado que me olvidé o no me sentía motivado para escribir algo al respecto... El día del programador se celebra en el día número 256 (28) del año por ser la cantidad de valores representables en un byte de datos (13/9 en los años comunes y 12/9 años bisiestos). Este año me agarra en un muy buen momento en lo que se refiere a […]

Riff Studio - Aplicación Android para practicar música

Martes, 7 de marzo de 2017

Sin duda las mejores aplicaciones son las que surgen a partir de una necesidad. Es el caso de Riff Studio, una aplicación para dispositivos Android hecha por y para músicos desarrollada por Bruno Azzinari. Su objetivo es facilitarnos practicar canciones. Básicamente tenemos que armar una lista de temas agregándolos desde nuestro dispositivo. Desde ahí podemos reproducirlos y cambiarles el tono y velocidad. Podemos bajarle la velocidad a una canción para practicarla e ir aumentando de a poco a medida que vaya saliendo mejor. Para práctica más intensa podemos incluso subirle la velocidad a una canción. También cambiar el tono si […]

Puede que no necesites JavaScript

Miércoles, 26 de octubre de 2016
HTML + CSS vs JS vs jQuery

Al hacerse muy populares frameworks como jQuery, algunos desarrolladores generamos malos hábitos.  Entre ellos, abusamos de incluir archivos en nuestros proyectos web que implican más pedidos http y descargas que muchas veces son innecesarias. Algo de eso ya hablé en un post sobre animaciones de scroll fluidas con JavaScript. En el mismo espíritu de la web mencionada en ese post anterior, You might not need jQuery, y con el mismo objetivo de mantener liviano un sitio web, me encontré con otros dos proyectos interesantes: El primero es You might not need JavaScript. Con lo que han avanzado los navegadores web […]

Animación de scroll fluída en JavaScript con smoothScroll

Martes, 23 de febrero de 2016
JavaScript

Hace poco trabajé en un sitio en el que evité a toda costa incluir archivos JavaScript como bootstrap.js o jQuery. Lo poco que había que hacer con JS lo hice a mano. Creo que la ventaja más grande de jQuery es poder hacer: $('.selector').click(function(){ alert("Hiciste clic!"); }); Pero a menos que seamos muy vagos (característica común -y no necesariamente negativa- en programadores), podemos hacer lo mismo con JavaScript "pelado". Algunas funciones que nos pueden ayudar a elegir un selector (por clase, id, e incluso búsquedas) son: getElementById, getElementsByName y querySelectorAll, entre otras. Y para agregarles funciones en distintos eventos, basta […]

Meld - Herramienta visual para diffs y merges

Martes, 9 de febrero de 2016
Meld

Meld es una aplicación para comparar archivos y directorios y mergearlos ("¿unirlos?" a falta de mejor palabra). Es parte del proyecto GNOME y sus aplicaciones centrales. En mis épocas de usuario de KDE usé una herramienta similar: Kompare. Hace tiempo que no usaba herramientas de este tipo, generalmente con los comandos de Git resuelvo todos los problemas de diff y merge. Pero hay casos en los que tenemos que trabajar con archivos fuera del repositorio, o fuera del control de versiones, y éstas herramientas vienen a mano. Recientemente me vino muy útil a la hora de procesar datos abiertos en […]

Crucigramas de Expresiones Regulares

Lunes, 8 de febrero de 2016
Regex Crossword

Hace unos días descubrí Regex Cross­word, un sitio web de crucigramas interactivos que tenemos que completar interpretando expresiones regulares. Hay varios niveles, empezando por un tutorial bien básico para entender cómo es la cosa. Lo interesante es que tenemos una pista mínima en el título de cada ejercicio, como para determinar lo que deberíamos leer una vez resuelto el crucigrama. Si bien son bastante ambiguas, en muchos casos ayudan si nos trancamos. O sea que mezcla esa gracia que tienen los crucigramas con resolver expresiones regulares. No sólo es un ejercicio muy divertido (la razón #1 para usar aprender y […]

¡Feliz día del programador!

Domingo, 13 de septiembre de 2015
Whisky On Rails

El día del programador me sirve como excusa todos los años para hacer algún comentario de en qué ando programando y esas cosas por acá en el blog. El día del programador se celebra en el día número 256 (28) por ser la cantidad de valores representables en un byte de datos. Ya va más de un año que me fui de Neo y empecé a probar suerte como Freelance. Trabajé con varias empresas, me metí más en DATA, viajé de nuevo a Escocia, y en estos momentos estoy trabajando de nuevo como contratista con los ex-Neo Uruguay Crafted y […]

RuboCop - Analizador estático de código Ruby

Martes, 8 de septiembre de 2015
RuboCop

RuboCop es un analizador estático de código Ruby. Por defecto hace cumplir varias de las directrices que de la Guía de Estilo Ruby de la comunidad. Se pueden configurar varios aspectos de su comportamiento a través de opciones de configuración. La instalación es sencilla en la línea de comandos: $ gem install rubocop Y ya nos queda disponible. También podemos agregar la gema a nuestro Gemfile: gem 'rubocop', require: false Si ejecutamos rubocop desde la línea de comandos, va a revisar todo los archivos de código Ruby del directorio desde donde lo ejecutemos. También le podemos pasar como parámetro uno […]

Mi entorno de desarollo con Emacs

Jueves, 16 de julio de 2015
Emacs conf

Como comentaba en el post anterior sobre Emacs, arranqué mi archivo de configuración de Emacs de cero. Antes que nada comentar que si les interesa verlo, pueden encontrar mi configuración de Emacs en GitHub. Tengo organizado el proyecto con un directorio .emacs.d y adentro el archivo init.el que es el iniciador de todo el resto. Los paquetes y demás archivos están en un directorio packages. Ahí tengo por ejemplo programming.el donde guardo todas las configuraciones y personalizaciones de modos relacionados a programación. También tengo el archivo key-bindings.el donde seteo alias (ejemplo que 'll' sea un alias de 'goto-line') y combinaciones […]

Mini pique: Crear un dump de base de datos Postgres en servidor por SSH y descargarlo

Martes, 19 de mayo de 2015
Mini piques

Hace mucho que no publico nada bajo la categoría Mini-trucos: Cosas publico acá para compartir y tener de referencia. En este caso de nuevo trabajando con PostgreSQL tuve que hacer un par de cosas bastante sencillas y probablemente comunes: Crear un dump de la base de datos en el servidor remoto Conectarse al servidor por SSH e ingresar: pg_dump nombre_bd -U usuario_bd -W -h localhost -f ~/nombre_dump -U para pasarle el usuario para acceder a la base de datos -W para forzar que nos pida el password -h localhost para evitar que intente autenticarse con el usuario actual en el […]

Fizz Buzz y Pattern Matching en Elixir

Lunes, 4 de mayo de 2015
Programming Elixir

Fizz Buzz es un "ejercicio de entrevista de trabajo" para programadores: Escribir un programa que muestra los números del 1 al 100. Pero para múltiplos de tres, mostrar "Fizz" en vez del número y para múltiplos de cinco mostrar "Buzz". Para números que son múltiplos de ambos mostrar "FizzBuzz". Imran Ghory empezó a usarlo para filtrar programadores que no supieran escribir código. Aparentemente hay una cantidad alarmante de desarrolladores y personas recibidas de Ciencias de la Computación que no pueden resolver este ejercicio. Jeff Atwood escribió también sobre el tema en su blog. Generalmente no estoy muy de acuerdo con […]

List Category Posts alcanza el millón de descargas

Martes, 31 de marzo de 2015
WordPress

Hace 7 años armé por necesidad de este mismo blog un plugin de WordPress: List Category Posts. Arrancó siendo un script bastante básico. Medio implementaba el API de shortcode de WordPress (que creo salió poco después) con una expresión regular (en esa época estaba fanatizado con las expresiones regulares y las tiraba por todos lados) y armaba una lista de posts dada una categoría. Como comentaba cuando salió la versión 0.24, es mi propio monstruo de Frankenstein, por lo que el código no es lo más lindo de ver. De todas formas en algún momento el año pasado me tomé […]

Videos de RubyConf Argentina 2014

Lunes, 16 de febrero de 2015
Videos RubyConf Argentina 2014

En el post sobre RubyConf Argentina 2014 escribí que publicaría un post una vez que estuvieran los videos subidos Los videos en Vimeo: RubyConf Argentina 2014 - Día 1 RubyConf Argentina 2014 - Día 2 Naveguen la lista de y seguro encuentran alguno que les interese. Si quieren saber cómo estuvo, dénse una vuelta por mi resumen, para tener una idea de mis impresiones. Como comenté ahí, la conferencia estuvo genial. Síganlos en Twitter para estar al tanto de novedades. Espero atento anuncios sobre RubyConf Argentina 2015...

Se acerca el primer Navegador Web dedicado a los Desarrolladores

Lunes, 3 de noviembre de 2014
Mozilla fx10

Mozilla anunció que el 10 de noviembre va a estar disponible su nuevo navegador dedicado al desarrollo web. En lo personal Firefox ya es mi navegador dedicado al desarrollo web. Con lo que han evolucionado las Web Developer Tools en los últimos tiempos, no necesito ninguna extensión más. Pero eso solo cubre mi contexto de trabajo, y hay más... La idea de este nuevo navegador fue dar rienda suelta al equipo de herramientas para desarrolladores y ver cómo podía facilitarnos la vida. Las versiones Nightly de Firefox ya pueden conectarse a los motores de otros navegadores web a través de […]

Toasty!