RIP Steve

Bueno, ha pasado un largo tiempo desde que una noticia me golpeaba de esta forma: Apple ha confirmado la muerte de Steve Jobs. Noticia que realmente nos cae de sorpresa a muchos, y pincha unos cuantos globos de la felicidad de haber tenido la presentación del iPhone 4S justo ayer (A la cual Jobs no se hizo presente).

Por ahora solo me queda agradecer a Jobs por su trabajo, que sin duda, ha sido excelente.

Copio de www.stackoverflow.com, la siguiente cita:

“I’m convinced that the only thing that kept me going was that I loved what I did.” – Steve Jobs 1955-2011

gobolinux+rvm

Bueno, si te preguntabas si rvm funciona en gobolinux, claro que sí funciona, es muy simple y no varía de otras instalaciones, veamos..
Para empezar necesitas bash y curl (Compile bash, Compile curl respectivamente, si ya no lo tienes), luego:

gonzalo@gobo ~]bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head )
# esto descargará un script y luego instalará rvm en tu home.
# Luego deberás agregar una linea a tu zshrc, de la siguiente manera...
gonzalo@gobo ~]echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"' >> .zshrc
# Listo!, antes de continuar, reinicia la consola
# para asegurarte de que todo funciona correctamente.
# ---
# Ahora, a instalar ruby (esto ya no tiene mucha ciencia ^^)
gonzalo@gobo ~]rvm install 1.9.2
gonzalo@gobo ~]rvm 1.9.2
gonzalo@gobo ~]ruby -v
ruby 1.9.2p136 (2010-12-25 revision 30365) [i686 linux]
gonzalo@gobo ~]

Ta-ran! eso era todo, a divertirse, un abrazo!

js magic warning

Bueno, mi primer post aqui será sobre mi querido javascript. Javascript es un lenguaje bastante divertido, con mucha magia, pero como dijo un heroe, “un gran poder significa una gran responsabilidad.”, y he aquí una historia que me sucedió hoy, supongamos que tenemos un inofensivo método, este método puede pasarse como callback, de modo que pasaremos la funcionalidad de un lado a otro. Veamos un ejemplo:

var log = function(a) { console.log(a); };
function myFunc() {
  log('paso 1');
  // ...
  log('paso 2');
  // ...
}

Bien, sí, esto funcionará como esperamos, y la salida sería:

paso 1
paso 2

Perfecto, pero que pasa si en lugar de definir: log = function(a) { console.log(a); }, definieramos: log = console.log ..? Bueno, la realidad es poco fiable, resulta que chrome nos dirá: TypeError: Illegal invocation al momento de invocar log('...');, pero por el contrario, node.js nos acepta el truco y hace justo lo que queremos. Pero esto no es todo, veamos el siguiente ejemplo: Read more »