• Yo Estuve Ahí

    III Semana del Emprendedor Tecnológico Rionegrino 2015

    La semana que viene voy a estar en la III Semana del Emprendedor Tecnológico Rionegrino 2015 presentando un proyecto en el que venimos trabajando hace unos meses con mi primo y unos amigos. Lo que más me divierte de este proyecto es que no es software, sino un producto tangible, que por una vez en la vida se lo puedo tirar por la cabeza a quién lo critique 🙂 (con los DVDs podía hacerlo pero si justo tienen algo de filo puede ser mortal y no es la idea). Luego del encuentro la idea es publicar la experiencia en este tipo de eventos, comentar que cosas interesantes vimos y que…

  • Programación

    Tablas rápidas para Grails

    Si hay algo odioso cuando hay que hacer una interfaz de administración, es armar la lista para cada modelo del dominio para los AMBs. Esta semana me tocó mejorar el diseño para una aplicación grails, por lo que decidí ver como se podían generar «helpers» o TagLibs en nomenclatura grails. El siguiente código genera usando bootstrap3 una tabla con paginado, botón de editar y eliminar de forma genérica: package test class ResourceTableTagLib { /** * Creates a bootstrap3 compatible datatable. * * @emptyTag * * @attr list REQUIRED List of domain models to show * @attr count REQUIRED Total registers (for pagination) * @attr labels REQUIRED Comma-separated values for the…

  • General

    10 hechos sobre los programadores que deberías conocer

    El otro día leyendo el artículo «Ten hilarious programmers facts that only programmers can understand» me dí cuenta que muchas de las respuestas que doy siempre están reflejadas en estos simples hechos, por lo que decidí hacer una traducción libre y criolla del asunto. A continuación, mis «10 hechos sobre los programadores que deberías conocer» Hecho #0 Empezamos a contar desde 0, no desde 1. Desde nuestros primeros pasos nos encontramos que todo lo que tiene «posiciones» arranca de 0, es por eso que se nos hizo costumbre. Hecho #1 Los programas que usas, son como una cámara de una rueda de tu bicicleta. Anda, se infla, rueda. Pero puede…

  • Programación

    Volviendo a PHP

    Hace fácil 5 años que no hago nada serio en PHP, empezando desde cero. Mayormente me ha tocado retocar cosas andando o parchar bugs boludos. Sin embargo el otro día tuve que hacer un demo chiquitito en PHP. El principal limitante era el tiempo, por lo que tenía que hacerlo rápido. Al principio intenté el viejo HTML+PHP all-in-one con ifs $_GET, $_POST, etc. Una locura, no podía avanzar. Mi mente me decía «esto va en el controlador, esto en el view» :D. Borre todo y empecé de nuevo. Pensé dos segundos y dije «tiene que haber algo». No, CakePHP no es ese «algo». Era mucha config al pedo, bloated y…

  • Programación

    Mejorando el «Doble panel» en Android

    Siguendo con la serie de casos en mejorar las interfaces en Android, esta vez le toca al doble panel que solemos ver en las aplicaciones cuando las usamos en una tablet. No voy a entrar en detalle de cómo implementar un doble panel con Fragments ya que en la web hay más que suficiente información para hacerlo. De lo que si vamos a hablar es de cómo mejorar el aspecto y darle al usuario una mejor experiencia. Para lograr esto lo que vamos a hacer es copiar lo que hacen Google con sus aplicaciones, com Gmail o la misma aplicación de Contactos que viene en IceCream Sandwich y que se…

  • 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)$