• Programación

    Mejorando las UI en Android

    En los últimos días me puse a ver varios de los videos de Google I/O del año pasado referidos al diseño de interfaces y diseño gráfico de android. La verdad es que con muy poco se puede cambiar el aspecto radicalmente, y la experiencia termina siendo muy superior (y si tenemos suerte podemos tener una mayor user base lo que significa más ingresos :D). Para probar diferentes consejos decidí mejorar la interfaz de mi lector del diario Río Negro, el cual era bastante feo y se puede ver al final del post lado a lado con la imagen luego de mejorar el diseño. La idea era resaltar un poco más…

  • Programación

    Participando en Facebook Hacker Cup

    Este año me acordé a tiempo de este evento (y la verdad que este año estuve usando por primera vez mi cuenta de Facebook :P) así que decidí probar a ver que onda. La primer impresión : se complica rendir bien teniendo familia (o una vida de por si :P); no se puede salir apenas aparecen los problemas a lo loco a cualquier hora a resolverlos. Desde el punto de vista técnico, los dos primeros problemas fueron muy fáciles. «Beautiful strings» fue trivial realmente, con pensar 2 o 3 min salía. El problema «Balanced Smileys» donde se buscaba determinar balanceo de () con al dificultad de que había caritas felices…

  • General

    Otro año que se va …

    Hace un año aproximadamente hice mi último update :D, la verdad es que 2012 me agarró con muy pocas ganas de escribir, aunque espero que eso durante 2013 cambie. Este año ha sido un gran año realmente, tanto laboral como personal. Tal vez el logro más destacable sera que finalmente pude presentar mi tesis de Ingenería en Informática (la cual estaré publicando la semana que viene calculo), haciendo que «automáticamente» pueda poner un «Ing.» en la firma de los mails :P. El año que se va también me vio alejado de mis colaboraciones al software libre, otra cosa que quiero ver de cambiar un poco más en el 2013. Veremos…

  • Oregano,  Programación

    Oregano tiene nuevo lider

    Luego ya de muchisimos años (parece eterno) alguien con pilas apareció Marc Lorber, quien va a ser el nuevo lider y main developer de Oregano, proyecto que salio de este grupo alguna vez. Marc estaba completando el port a Gtk3 y al nuevo canvas además de tener pilas para arreglar los bugs históricos que arrastramos hace tiempo :). El main git fue movido a https://github.com/marc-lorber/oregano por lo que es la nueva fuente oficial. Saludos y Feliz 2012 para todos!

  • GNU+Linux

    Git branch & Subversion detection en el prompt de Bash

    Simple, agregar en el .bashrc lo siguiente : function parse_git_branch { git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* (.*)/(1)/' } function detect_svn { test -d .svn && echo "(svn)" } function proml { local RED="[33[0;31m]" local LIGHT_RED="[33[1;31m]" local YELLOW="[33[0;33m]" local LIGHT_GREEN="[33[1;32m]" local WHITE="[33[1;37m]" local LIGHT_GRAY="[33[0;37m]" local LIGHT_PURPLE="[33[1;34m]" case $TERM in xterm*) TITLEBAR='[33]0;u@h:w07]' ;; *) TITLEBAR="" ;; esac PS1="${TITLEBAR} $LIGHT_PURPLEw$YELLOW$(parse_git_branch)$(detect_svn) $LIGHT_GRAY$ " PS2='> ' PS4='+ ' } proml Y se ve algo como (sin colores, sorry 🙂 : ~/src/some_git_project(master)$ ~/src/some_svn_project(svn)$

  • Programación

    Filtro de Contenido para T!

    Hoy estuve leyendo este post donde los dueños de Taringa declara que «no podemos investigar el destino final de cada uno de los 20.000 post diarios». Lejos de ser algo «colectivamente inteligente» como declaración, es una terrible boludez :). Con aplicar algunos filtros automáticos, permitir que cualquiera de forma rápida y fácil reporte los contenidos ilegales y actuando más o menos rápido en su eliminación uno se cubre el 90% del orto. El otro 10% hay que pelearlo por carta documento porque hay gente muy al pedo ahí afuera, pero ni en pedo llegamos a un juicio oral teniendo un poco de criterio :). El problema es que filtrar a…

  • General,  Programación

    Procesando archivos en background con Rails

    Procesar archivos en paneles de administración es un bajón, sobre todo cuando son cada vez más grande y cada vez más. En uno de nuestros proyectos tenemos ya unos cinco archivos CSV diferentes a procesar donde cada uno cumple alguna función específica. Algunos de estos archivos superan los 5 Mb por upload, por lo que se hizo necesario desacoplar el procesamiento del archivo del request que realiza el upload. Para manejar procesos en background en rails hay muchas opciones buenas, algunas más complejas con colas de trabajo, workers distribuidos y otras cosas que nosotros no necesitamos. Lo importante para nosotros era encontrar alguno que permita : Procesar en background (obvio…

  • Programación

    Filtrando datos con jQuery

    Filtrar elementos dentro de una lista o una tabla para realizar una búsqueda inline con jQuery es bastante simple, solo basta entender un poco donde va cada cosa. La función en cuestión que nos permite hacer esto es filter() que junto con un poco de trabajo para hacer un deep-search dentro del DOM nos da esta funcionalidad. Por ejemplo si queremos mostrar los elementos de una lista que coinciden con una búsqueda deberíamos hacer algo como : v = 'some word'; /* Ocultamos todos los LI */ $('#list ul li').hide(); /* Filtramos y mostramos los que coinciden */ $('#list ul').contents().filter(function () { return innerSearch(this, v); }).show(); La función innerSearch la…

  • Programación

    HTML5 : Guardar el contenido de en el servidor

    Hoy tenía ganas de hacer algo distinto (vamos, no quería trabajar :P) así que me puse a jugar con HTML5, entre otras cosas con el tag <canvas> para poder dibujar. Luego de bajar varios ejemplos y tener un ‘paint’ andando lo que quería era guardar la imagen, y llegué a este post donde el autor deja guardar en PNG, JPG hasta incluso en BMP el contenido del canvas. Pero que el usuario se pueda guardar la imagen no era mi idea, era más bien guardarle en el servidor. Por ejemplo para hacer una firma digital y usarla después en el sitio para firmar los posts como si fueran documentos :P.…

  • General,  Yo Estuve Ahí

    Casa y Casamiento

    Y si, volví para seguir molestando con cosas que a nadie le interesa :). En los últimos meses han pasado tantas cosas que ya ni encuentro un rato para sentarme a escribir :D. Para empezar me volví a mudar, si, si, 4 mudanzas en 4 meses, espero que esta vez sea la definitiva. Ahora, y después de 12 años, volví a mi Cipolletti «natal«, el que me vio hacer tantas cagadas de chico. Y más aún, volví al barrio donde viví toda mi secundaria (a menos de 100 mts de la casa donde vivíamos con mis viejos por esa época), toda una regresión :). Pero la cosa siguió y finalmente…