Gracias a todos mis amigos por su buena onda ... no hay palabras para contar la emoción que siento :~)
--jjo
Sipp ... me voy a trabajar a Google Zurich, obbbbviamente familia included.
La historia es larga en anécdotas, pero vertiginosamente corta en tiempo: hace NADA MÁS que 2 meses y medio me llegó un mail @google.com invitándome a realizar el proceso de entrevistas técnicas para ver si calificaba.
Y así fue ... aprobé las entrevistas telefónicas --hardcore-- y una onsite en las oficinas de Google Zurich --que constó de varias entrevistas muy hardcore-- ... todo el proceso fascinante y muy desafiante.
Y bueh, acatamo' ... tratando de (no)entender cómo se dan las cosas en la vida, sino de just disfrutarlas =)
Wednesday, April 25, 2007
Thursday, April 12, 2007
Instalando Debian 4.0 a ver q'onda...
Standard disclaimer
Ésto no pretende ser un review ni nada que se le acerque, simplemente un "dump" de las cosas que me gustaron y no luego de probar una instalación de la flamante Debian-4.0. Please dont troll.
Metodología
Nah... meramente un toque virtual usando qemu:
$ sudo /sbin/modprobe kqemu
$ qemu-img create -f qcow2 debian4.qcow2.img 4G
$ qemu -cdrom /path/to/debian-40r0-i386-CD-1.iso -hda debian4.qcow2.img -boot d
(instalación...)
$ qemu -cdrom /path/to/debian-40r0-i386-CD-1.iso -hda debian4.qcow2.img -boot c
(booteo...)
Instalador
verso: "instalador gráfico": en momento de booteo es posible seleccionar el "instalador gráfico" tipeando installgui. No es un instalador gráfico, es meramente un gui-ficador de la interfaz de texto. Recomendación: usá el de modo texto, más rápido y no tiene menos funcionalidad (excepto seleccionar con el mouse las opciones :-P ).
groso: como siempre, el control full y la capacidad de tener el "estado" de instalador en cualquier momento, y poder ir y volver de cada paso.
groSísimo: la posibilidad de particionado clásico, LVM y LVM+cifrado.
flojo: es demasiado burocrático para particionar "a gusto" (del experto) comparado con otras distros (Fedora por ej.); _entiendo_ que la funcionalidad "modo texto" no permite mucho juego aquí, pero lo mismo creo que se podría achicar la cantidad de "Enter"s necesarios para hacerlo.
Primer booteo
groso: booteo limpito en modo texto (bien!)
groso: apenas unos 300Mb luego de instalado (!). Ok, sin entorno gráfico, ni de devel, etc; pero bien sabemos que Debian permite una GRAN versatilidad/disponibilidad en la instalación posterior de paquetes.
pateticamente-insoportable-as-always: la falta de los siguientes comandos por default:
- less: sin comentarios :-P
- ip (pkg iproute): agaaain, la única distro que conozco que no lo instala (!), pero eso sí ... tengo ipmaddr, iptunnel (cuaK?!)
Conclusión
Ninguna :-) --no era el objetivo--, probala vos mismo.
Thursday, April 05, 2007
Boing Boing: Stop-motion Space Invaders using human pixels
Probablemente para los más "nostálgicos" (aka dinosaurios):
Boing Boing: Stop-motion Space Invaders using human pixels
Impecablemente molidos del mate :)
Boing Boing: Stop-motion Space Invaders using human pixels
Impecablemente molidos del mate :)
roameando más libremente en otras plataformas
Seguro te ha pasado.
Sos tan adicto al software libre como yo, pero te has visto obligado a sentarte en un típico winpork de cyber ú hotel para leer mail y/o hacer algo de IM, o peor, echarle mano a un putty.exe para alguna emergencia (o meramente para leer mail con mutt ;).
Dado que internet exploder ES insoportablemente inusable y tanto éste como la plataforma es comprobadamente amigable al spyware y otros bichos, resulta imposible usarlos tal como vienen.
Solución (parcial): PortableApps : contiene, entre otros: PortableFirefox, PortableGaim y PortablePutty.
Instalé estos tres en mi pen-drive, arranqué PortableFirefox y le instalé mis extensiones preferidas: Mouse Gestures, AdBlockPlus y TabMix Plus --ésta última útil para almacenar correctamente la última sesión--.
Luego arranqué PortableFirefox (desde el pendrive, obviamente), entré a gmail (claro que el password no lo tipeé, sino que tipeé una cantidad de (human-non)random text en un "Nuevo archivo de Texto" tal que contuviera los caracteres de mi password, los cuales copié y pegué uno a uno); lo bueno de ésto es que el contexto de Firefox (cookies, etc) queda almacenado en el pen-drive, con lo cual la próxima vez que arranques, por ej gmail, no requerirá reingresar el password; asimismo quedarán los tabs, bookmarks, etc de la última sesión.
Algo similar hice con PortableGaim; y para PortablePutty usé el agente "pageant.exe" para cargar mi privatekey de ssh que llevo siempre en el pendrive (ésto anula un ataque de keylogging al logueo vía ssh porque no es replicable sin la privatekey).
Enjoy! ... más que recomendable para llevarlo encima (estos tres en total unos 80Mb).
Sos tan adicto al software libre como yo, pero te has visto obligado a sentarte en un típico winpork de cyber ú hotel para leer mail y/o hacer algo de IM, o peor, echarle mano a un putty.exe para alguna emergencia (o meramente para leer mail con mutt ;).
Dado que internet exploder ES insoportablemente inusable y tanto éste como la plataforma es comprobadamente amigable al spyware y otros bichos, resulta imposible usarlos tal como vienen.
Solución (parcial): PortableApps : contiene, entre otros: PortableFirefox, PortableGaim y PortablePutty.
Instalé estos tres en mi pen-drive, arranqué PortableFirefox y le instalé mis extensiones preferidas: Mouse Gestures, AdBlockPlus y TabMix Plus --ésta última útil para almacenar correctamente la última sesión--.
Luego arranqué PortableFirefox (desde el pendrive, obviamente), entré a gmail (claro que el password no lo tipeé, sino que tipeé una cantidad de (human-non)random text en un "Nuevo archivo de Texto" tal que contuviera los caracteres de mi password, los cuales copié y pegué uno a uno); lo bueno de ésto es que el contexto de Firefox (cookies, etc) queda almacenado en el pen-drive, con lo cual la próxima vez que arranques, por ej gmail, no requerirá reingresar el password; asimismo quedarán los tabs, bookmarks, etc de la última sesión.
Algo similar hice con PortableGaim; y para PortablePutty usé el agente "pageant.exe" para cargar mi privatekey de ssh que llevo siempre en el pendrive (ésto anula un ataque de keylogging al logueo vía ssh porque no es replicable sin la privatekey).
Enjoy! ... más que recomendable para llevarlo encima (estos tres en total unos 80Mb).
Wednesday, March 28, 2007
Confirmado: uno vé @hotmail y piensa....
... lo mismo que esta empresa de recursos humanos al momento de contratar especialistas de Internet y afines:
Link: Catorze.blog - Blog Archive - El criterio Hotmail
Así que ya sabés: no pongas ese @hotmail en tu Currículum :-P
Link: Catorze.blog - Blog Archive - El criterio Hotmail
Así que ya sabés: no pongas ese @hotmail en tu Currículum :-P
Sunday, March 04, 2007
[en] powerful arrays in bash
Doing some experiments with advanced bash array features. I created a bash implementation of insertion sort algorithm.
UPDATE: This example is already part of the great Advanced Shell Scripting Guide :)
UPDATE: This example is already part of the great Advanced Shell Scripting Guide :)
Enjoy :-D
#!/bin/bash
# insertion-sort.bash.sh: Insertion sort implementation in bash
# Heavy use of bash array features: slicing, merging, etc
# URL: http://www.lugmen.org.ar/~jjo/jjotip/insertion-sort.bash.d/insertion-sort.bash.sh
#
# Author: JuanJo Ciarlante jjo \O/ irrigacion gov ar
# License: GPLv2
#
# Test with: ./insertion-sort.bash.sh -t
#
: ${DEBUG:=1} # debug, override with: DEBUG=1 ./scriptname ..
# Global array: "list"
typeset -a list
# Load whitespace separated numbers from just stdin 1st line
if [ "$1" = "-t" ];then
read -a list < <(od -An -w32 -t u2 /dev/urandom )
else
read -a list
fi
numelem=${#list[*]}
# Shows the list, marking the element whose index es $1 by surrounding it with
# the two chars passed as $2; whole line prefixed with $3
showlist() { echo "$3"${list[@]:0:$1} ${2:0:1}${list[$1]}${2:1:1} ${list[@]:$1+1}; }
# loop "pivot" from 2nd elem, to end of list
for((i=1;i<numelem;i++))do
((DEBUG))&&showlist i "[]" " "
# From current "pivot", back to 1st elem
for((j=i;j;j--))do
# search for the 1st elem less than current "pivot" ...
[[ "${list[j-1]}" -le "${list[i]}" ]] && break
done
((i==j)) && continue ## no insertion was needed for this element
# ... move list[i] (pivot) to the left of list[j]:
list=(${list[@]:0:j} ${list[i]} ${list[j]} ${list[@]:j+1:i-(j+1)} ${list[@]:i+1})
# {0,j-1} {i} {j} {j+1,i-1} {i+1,last}
((DEBUG))&amp;amp;&showlist j "<>" "*"
done
echo $'Result:\n'${list[@]}
Friday, February 16, 2007
sistemas criticos funcionando con sistemas operativos de juguete (?)
Si sirve de consuelo ... ver que no solamente en estos lares abunda la mediocridad en quienes toman decisiones de IT.
"Quebec health officials are battling a fast-spreading virus that struck its entire computer network system late Tuesday." link
"Quebec health officials are battling a fast-spreading virus that struck its entire computer network system late Tuesday." link
Subscribe to:
Posts (Atom)