Luego de cuatro años trabajando en una multi-nacional como un consultor de IT a nivel de software para negocios (banca, Seguros, servicios...), Ramiro Pareja decidió ya era momento de cambiar de profesión y orientarse hacia la Ingeniería Electrónica.

[gallery link="file" order="DESC"]

El escenario es difícil, las agencias de empleo reciben cientos de currículum al día de gente que esta aplicando para la misma posición. Con esta avalancha de resumes es imposible que hagan un análisis de todos los candidatos y por ende el primer filtro es la presentación. Si tu currículum no causa una buena impresión es automáticamente descartado y el próximo currículum sera analizado. Es aquí cuando Ramiro decide diseñar su propia tarjeta de presentación para adjuntarlas a su currículum.

Esta tarjeta para poder ser llamativa debe cumplir con los siguientes requerimientos:

  • Tener su información de contacto (gracias Capitán Obvio!).
  • Mostrar profesionalismo.
  • Servir de ejemplo de sus cualidades de ingeniero.
  • Servir para algo mas que una tarjeta de presentación, de esta forma previene que sea descartada en la primera oportunidad.

La Tarjeta.

De entrada queda descartada la idea de usar Open RFID por que pocos reclutadores sabe de esta tecnologia o tienen un lector para RFID Tags. Lo mas comun seria usar algo estilo USB.

Una tarjeta del tamaño de una tarjeta de crédito (85.6 × 54 mm, pero mas gruesa) con dos esquinas perforadas y espacio suficiente para abrir una 'ventana' en el medio y meter un micro controlador soldado. Con la información de contacto impresa en el frente de la tarjeta y las esquinas que fueron perforadas pueden estas pueden ser arrancadas de forma fácil dejando un conector USB para que lo conecten a la computadora directamente.

La tajerta es reconocida como un dispositivo de almacenamiento automaticamente ejecuta un autorun.inf con su currículum, carta de presentación, portafolio y website además de cualquier otro documento.

Características Técnicas.

  • Micro-crontrolador PIC 24FJ64GB002 @ 32 MHz (16 MIPS).
  • 64 KB de flash y 8KB de RAM que puede ser aumentado a 32MB a tra vez de un I2C memory.
  • Hasta 11 I/Os digitales disponibles con cuatro de ellos tolerables a 5 voltios.
  • Hasta 4 canales analógicos.
  • Un puerto ICSP para depuración y programasion. los tres pines del ICSP también pueden ser usados como un GP de I/Os.

Leer más

Usando `du` podemos encontrar los directorios y archivos mas grande dentro de un directorio. el siguiente ejemplo muestra como listar los 10 archivos y carpetas mas grande dentro del directorio 'HOME'

du -a ~/ | sort -n -r | head -n 10

En el script de arriba, lo que estamos haciendo es listar todos los archivos y directorios que están en el directorio donde nos encontramos junto a su tamaño, luego los ordenamos numéricamente y de forma inversa y finalmente elegimos los últimos 10.

Con `find` podemos conseguir los 10 archivos mas grandes recursivamente dentro de un directorio.

find ~/ -type f -exec ls -ls {} \; | awk '{print $6"\t"$9}' | sort -k1 -n -r | head -n 10

Este script busca todos los archivos dentro de nuestro home, y los pasa por el comando ls -ls que los va a listar mostrando su tamaño. El resto de esta linea solo toma los campos seis y nueve pertenecientes a el tamaño en bloques y el nombre. Al igual que el script anterior el ultimo segmento de este script ordena numéricamente la salida y de forma inversa para luego tomar los primeros diez resultados.

Leer más

Hace un par de artículos publique como tener el servicio de push desde un canal de IRC para el iPhone. Después de esa instalación quede inconforme con la forma en que hay que arrancar y parar ZNC en el servidor así que decidí crear un script de arranque.

El siguiente script permite arrancar, parar, recargar la configuración y reiniciar el servicio. Echemosle una ojeada a /etc/init.d/zncd

#!/bin/bash # # Run-level Startup script for the ZNC Boucer # description: Startup/Shutdown ZNC Boucer ZNC_FOLDER="/usr/bin" ZNC_OWNR="orvtech" if [ ! -f $ZNC_FOLDER/znc -o ! -d $ZNC_FOLDER ] then         echo "ZNC startup: cannot start, it appears that it is not installed"         exit 1 fi case "$1" in     start)             echo -n "Starting ZNC: "             su - $ZNC_OWNR -c "$ZNC_FOLDER/znc"             touch /var/lock/subsys/ZNC             echo "OK"             ;;     stop)         echo -n "Shutdown ZNC: "         kill -9 `ps -C znc | awk '{print $1}' | grep ^[0-9]`         rm -f /var/lock/subsys/ZNC         echo "OK"         ;;     reload)         echo -n "Reloading ZNC:"     kill -HUP `ps -C znc | awk '{print $1}' | grep ^[0-9]`     echo "OK"         ;;     status)         if ps -C znc > /dev/null     then       echo "ZNC Bouncer is running"     else       echo "ZNC Bouncer is not running"     fi         ;;     restart)             $0 stop         sleep 2             $0 start             ;;         *)         echo "Usage: $0 start|stop|restart|reload|status"         exit 1 esac exit 0

Si su NSLU2/Servidor esta corriendo gentoo pueden agregar el servicio así:

rc-update add zncd default

El output debería de ser algo parecido a esto

* zncd added to runlevel default

Leer más

Al parecer [joelinux] ha logrado hacer chroot de un stage3 en el Nexus one. [joelinux] solo siguio las instrucciones de xda-developers solo que uso el stage3 de gentoo para ARM.

Aun tiene muchos bugs pequeños pero funciona, se pueden compilar paquetes incluyendo el kernel lo que es una gran ayuda para desarrollar y portear mas paquetes para el Nexus One.

Leer más

Este script es cumple la misma función que el anterior de Flickr pero con los albums web de Picasa. Solo necesita que uno le pase como parametro la URL de el album que uno desea, por ejemplo http://picasaweb.google.com/orvtech/Hdd

Este seria el código del script:

#!/bin/bash SIZE=400 echo $1 | \ curl -s žawk --field-separator=/ '{print "http://picasaweb.google.com/data/feed/api/user/"$4"/album/"$5}'ž |\ sed -e 's/\"/\ /g' -e s/\'/\ /g |\ tr ' ' '\n' |\ grep  s72 |\ awk '{print "[url='$1'][img]"$0"[/img][/url]\n"}' |\ sed s/s72/s$SIZE/g

Asumiendo que es script se llama Picasa2BBCode.sh podemos ejecutarlo así:

sh Picasa2BBCode.sh http://picasaweb.google.com/orvtech/Hdd

De este script podemos modificar el valor de $SIZE, los valores permitidos son 72px, 144px, 288px, 320px, 400px, 512px, 576px, 640px, 800px y 1024px pero si las fotos están en resolución menor a 800 puede que de problemas. El producto de este script seria algo así:

[url=http://picasaweb.google.com/orvtech/Hdd#][img]http://lh6.ggpht.com/_WwtoUQV8M_8/S5kBtkqKAdI/AAAAAAAAPbM/I0LCPdB-qpQ/s400/IMG_7457.JPG[/img][/url]
[url=http://picasaweb.google.com/orvtech/Hdd#][img]http://lh3.ggpht.com/_WwtoUQV8M_8/S5kBtwXW08I/AAAAAAAAPbQ/Y636HBHOxEo/s400/IMG_7458.JPG[/img][/url]
[url=http://picasaweb.google.com/orvtech/Hdd#][img]http://lh5.ggpht.com/_WwtoUQV8M_8/S5kBtzPQLrI/AAAAAAAAPbU/ZOWfnh4uGuA/s400/IMG_7459.JPG[/img][/url]
[url=http://picasaweb.google.com/orvtech/Hdd#][img]http://lh5.ggpht.com/_WwtoUQV8M_8/S5kBuJEzUPI/AAAAAAAAPbY/qxTGuFR_EbA/s400/IMG_7461.JPG[/img][/url]
[url=http://picasaweb.google.com/orvtech/Hdd#][img]http://lh3.ggpht.com/_WwtoUQV8M_8/S5kBupiHjqI/AAAAAAAAPbc/FShn8ryEr54/s400/IMG_7462.JPG[/img][/url]
[url=http://picasaweb.google.com/orvtech/Hdd#][img]http://lh5.ggpht.com/_WwtoUQV8M_8/S5kCW9ags7I/AAAAAAAAPbw/wFYET5XlgkQ/s400/IMG_7463.JPG[/img][/url]
[url=http://picasaweb.google.com/orvtech/Hdd#][img]http://lh5.ggpht.com/_WwtoUQV8M_8/S5kCXA_XujI/AAAAAAAAPb0/WDc3N1tLDCw/s400/IMG_7464.JPG[/img][/url]
[url=http://picasaweb.google.com/orvtech/Hdd#][img]http://lh4.ggpht.com/_WwtoUQV8M_8/S5kCXDnyhkI/AAAAAAAAPb4/SWuagR3LA8c/s400/IMG_7465.JPG[/img][/url]
[url=http://picasaweb.google.com/orvtech/Hdd#][img]http://lh5.ggpht.com/_WwtoUQV8M_8/S5kCXTt6vaI/AAAAAAAAPb8/i1RmMrL5slg/s400/IMG_7466.JPG[/img][/url]
[url=http://picasaweb.google.com/orvtech/Hdd#][img]http://lh5.ggpht.com/_WwtoUQV8M_8/S5kCX8hUk-I/AAAAAAAAPcA/YzOe_0bO0Jw/s400/IMG_7468.JPG[/img][/url]
...

Luego podemos pegar ese código en el foro en el que queramos compartir nuestras imágenes.

Leer más

Me entere este fin de semana que el datacenter que aloja mi NSLU2 (la casa de un amigo que tiene IP publico) va a cerrar y necesito mover el NSLU2 a otro lado. Esto pasara en los próximo 2 meses así que necesito empezar a ver a donde muevo mi NSLU2 o que hacer en este caso en vista de que en mi casa no tengo IP publica.

[caption id="attachment_500" align="alignleft" width="100" caption="NSLU2 sin acceso al publico"]NSLU2 en la carcel[/caption] La primera idea que se me ocurrió es usar el NSLU2 como un backend o publicador y hacer un wrapper a NanoBlogger para que al hacer cualquier tipo de actualización haga un rsync a mi VPS que actuaria como frontend.

Si tienen cualquier sugerencia me la pueden dejar en los comentarios.

Leer más

Como buen troll que soy me mantengo entretenido y participo en varias comunidades o foros en internet. siempre quise mantener mi firma apuntando a mi ultimo articulo publicado pero al mismo tiempo me da flojera actualizar todos esos foros cada vez que publico algo nuevo.

Ya que tengo corriendo apache en mi NSLU2 decidí crear un script que me cree un archivo .htaccess y así redirigir una petición HTTP en especifico a mi ultima publicación en mi blog. Para esto he decidido crear un sub-directorio en mi RootDirectory llamado '/latest'

mkdir /var/www/linuxevolution.org/htdocs/latest mkdir /var/www/orvtech.com/htdocs/latest

El script hace un poco mas que simplemente crear el htaccess. Me permite especificar cuales VirtualHost corriendo NanoBlogger quiero usar, creando un .htaccess para cada uno de estos como se puede ver aquí:

#!/bin/bash DocummentRoot="/var/www/linuxevolution.org/htdocs /var/www/orvtech.com/htdocs"' for virtualhost in $DocummentRoot do cat $virtualhost/rss.xml  | grep link | grep archives |\ head -n1 | sed -e :a -e 's/<[^>]*>//g;/</N;//ba' |\ awk '{print "RewriteEngine on\nRewriteRule (.*) "$0" [R=301,L]"}' > $virtualhost/latest/.htaccess done

En mi caso tengo 2 blogs que usan NanoBlogger y este script mantiene el directorio '/latest/' apuntando a la ultima publicación en cada uno (www.linuxevolution.org/latest la versión en ingles de este sitio y orvtech.com/latest que seria la entrada mas reciente de este blog).

Leer más

Recientemente tuve un montón de problemas con una aplicación web la cual fue modificada bajo MS Windows y tenia el formato MS-DOS. Encontré un montón de errores en los logs de cron el cual corría estos scripts de perl, para no darle largas a la historia, me toco encontrar todos estos scripts y modificarlos, como no fui yo quien subió los scripts al servidor no tenia ni idea de en que subdirectorio podían estar ni cuantos eran. Aquí esta el script que use para conseguir los archivos:

grep -IUl --color '^M' -R ./*

Este script generara una lista de archivos que están formateados como MS-DOS, fácilmente se podría hacer un 'for/while loop' y pasarlos por alguna aplicación como dos2unix.

Leer más

El NSLU2 (conocido como "slug") se vende como un dispositivo NAS (Network Attached Storage) pero en realidad es mucho mas útil que un simple NAS. Es un sistema embedido completo y barato con su firmware basada en Linux. Lo mejor de todo es que su fabricante (Linksys) usa el kernel de linux y ha liberado su código lo que trajo como consecuencia el nacimiento de proyectos llevados por la comunidad como Unslung y OpenSlug.

Leer más