linux
Usando la consola: Cuanto miden tus particiones y carpetas?
Posted June 12th, 2009 by joaquinSiempre se me olvida cómo usar bien estos comandos, porque tampoco los uso taan seguido. Pero bueno, si algún día necesitan averiguar el tamaño de una carpeta o lo que están utilizando de sus particiones en línx, desde la línea de comandos, utilicen estos comandos.
Para saber el tamaño de sus particiones:
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 25G 9.8G 14G 43% /
varrun 257M 52K 257M 1% /var/run
varlock 257M 0 257M 0% /var/lock
udev 257M 20K 257M 1% /dev
devshm 257M 0 257M 0% /dev/shm
Para saber el tamaño de sus carpetas:
$ du -csh /home/jackbravo/work/*
33M /home/jackbravo/work/catalogo-pdf
0 /home/jackbravo/work/drupal6
852K /home/jackbravo/work/gitosis
32M /home/jackbravo/work/sf_code
44M /home/jackbravo/work/sphinx-0.9.9-rc1
1.1M /home/jackbravo/work/sphinx-0.9.9-rc1.tar.gz
26M /home/jackbravo/work/user_admin
136M total
Historia de OLPC
Posted January 26th, 2009 by joaquinNo se si estén enterados de cómo va el asunto del proyecto OLPC (One Laptop Per Child), pero parece ser que este año las cosas se han puesto feas para el proyecto. Entre que no les fue nada bien en ventas por la crisis, que van a despedir al 50% del staff y que están cambiando algunas de sus metas la gente no sabe por donde va el asunto.
Este artículo habla más sobre la historia de este interesante proyecto.
Si quieren ver cómo corre el sistema operativo del OLPC (Sugar) también hay manera de correrlo desde tu computadora (ya sea que tengas windows, mac os x o linux ;-) gracias a la magia de los LiveCDs o de la virtualización.
Sea como sea, el OLPC es un gran proyecto que si bien quien sabe si termine o continue ha cambiado la industria de las computadoras y creado una nueva rama de laptops (las 5 laptops más vendidas en amazon son netbooks).
Les dejo también este video del sitio de OLPC.
OLPC Mission Video - Part 1Cargado por olpcfoundation
Enviando mails con gmail desde la línea de comandos
Posted January 21st, 2009 by joaquinDesde que linux es linux el hombre se ha preguntado por la manera más eficiente para comunicarse con otras personas. Hmmmm, perdón por ese inicio tan raro, es que acabo de la Última Pregunta de Asimov =). Bueno, el caso es que al empezar a programar siempre surge la necesidad de mandar correos y no todo mundo tiene a su disposición un servidor de correo instalado localmente desde el cual mandarlos.
En linux existe una aplicación llamada mail que otros programas (como PHP) utilizan para mandar correos. En realidad hay muchas versiones de este programa. La que encontré que era más sencilla de instalar y configurar en ubuntu fue heirloom-mailx (antes se llamaba nail).
sudo apt-get install heirloom-mailx
Este programita te permite mandar correos utilizando cualquier servidor de correo del que dispongas. Por ejemplo, si tienes una cuenta de correo en gmail, puedes configurar mailx con un sencillo archivo en tu HOME ~/.mailrc:
set smtp=smtp.gmail.com:587
set smtp-use-starttls
set ssl-verify=strict
set smtp-auth-user=tucuenta@gmail.com
set smtp-auth-password=muymuyseguro
Si quieres probarlo intenta mandar un correo electrónico con
mail tuamigo@gmail.com
Te va a pedir escribir el título de tu mail y después el contenido del correo, cuando hayas terminado de escribirlo terminalo con Ctrl+D (que manda la señal de End Of Output a la consola... o algo así).
Usando wget para bajar canciones o imágenes
Posted December 5th, 2008 by joaquinUn cliente me tiene que mandar varias imágenes (logotipos, fotos) para poner en el sitio web que les estamos haciendo y lo que se le hizo más fácil fue subirlo todo a una carpeta en el servidor web que tienen contratado. Me dice que tiene más cosas y que las va a ir subiendo durante la semana.
Yo quiero bajarlo todo, pero que flojera hacerlo archivo por archivo. Y luego queda el problema de estar revisando la página por archivos nuevos. Tanto trabajo manual va a reducir mi productividad y no podré estar checando mi Google Reader. Por suerte estamos en linux ;-)
GNU/Linux tiene una herramienta que queda como anillo al dedo para este tipo de tareas y se llama wget. Sirve para bajar archivos de Internet y soporta HTTP, HTTPS y FTP. Como dice en su documentación, sus principales ventajas son:
- que no es interactivo, lo que permite utilizarlo sin necesidad de intervención por el usuario ;-)
- te permite continuar descargas canceladas (para cuando se te cae la conexión por usar la wifi)
- sabe distinguir entre archivos que ya bajaste y los nuevos de la página
- es recursivo (te podrías bajar todo un sitio web completito con un solo comando)
Entonces, manos a la obra.
wget -r -l1 -np -nd -A.jpg,.png,.gif -N http://dominiodelcliente.com/folder_de_imagenes/
Este comando lo que hace es:
- -r. bajar todo lo que este en la dirección recursivamente, es decir, seguir todas las ligas que aparezcan en la página (recursive)
- -l1. pero sólo hasta un nivel de recursividad, es decir, sin seguir las ligas que aparezcan en las otras páginas que se baje (level 1)
- -np. Sin bajarse los archivos de carpetas en niveles superiores (no parent)
- -nd. Bajandolo todo en un sólo directorio (no directories)
- -A. Bajando solamente los archivos que terminen en .gif o .png o .jpg. (Accept)
- -N. Y bajando solamente los archivos nuevos que no existan ya en la carpeta a menos que el del servidor sea más nuevo
Este archivo lo puedo correr una vez al día, o ponerlo en el cron y me bajara cada vez los archivos nuevos que vaya encontrando. Chido.
Todo esto fue fácil de averiguar gracias al poder de google, este buen tutorial escrito en inglés y el man page de wget.
Free Geek
Posted November 20th, 2008 by joaquinEste es un refrito de un email que mande hace algún tiempo. De hecho estoy publicando en este blog varios de esos correos que solía mandar para no perderles el rastro.
Hace poco me tocó ver un video de una organización muy chida llamada Free Geek. Es una organizaciones de fines no-lucrativos que básicamente reciben computadoras viejitas de gente que ya no las va a usar, y las venden a precios bajos, o las dan a quien las necesite de a grapa, o las reciclan, además dando cursos y otras cosillas. En realidad creo que el video lo dice mejor que yo:
En mi grupo de FEFUs ya lo vieron, y a varios de los que vamos de misiones al cerro del 4 nos latió mucho la idea. A muchos nos gustaría poner algo así (a mi me encantaría). Sólo que ciertamente requiere que le dediques tiempo y algo de lana.
Me he puesto a investigar y estos compas de free geek ayudan a formar nuevos free geeks. Al que le interese aqui les pongo las ligas (en inglés) de free geek donde hablan más acerca de cómo formar tu propio free geek:
- http://wiki.freegeek.org/index.php/Free_Geek_Startups
- http://wiki.freegeek.org/index.php/Free_Geek_Startup_Franchise_Application
- http://wiki.freegeek.org/index.php/Final_Application_for_Ongoing_Status_...
Esta última es una liga del cuestionario final que se espera que llenes para hacer oficial a tu nuevo free geek, claro que para llenarlo pues hay un proceso en el que ellos mismos te pueden ayudar.
Si a alguien le interesa poner algo así en Guadalajara, por favor escríbanme un correo porque me gustaría ayudar =P. Yo lo tengo como proyecto en espera desde hace algún tiempo jeje.
Omitir archivos de svn al buscar con grep
Posted October 29th, 2008 by joaquinUsar linux es una maravilla para un programador. Existen muchos comandos que te facilitan muchas cosas de la vida diaria. Uno de ellos es grep, que te permite buscar alguna cadena o patrón en los archivos de tus proyectos. El uso normal se ve así:
grep -r 'function setFormatName' lib/widget
Para buscar recursivamente (-r) en todos los archivos dentro de lib/widget donde esta definida la funcion setFormatName.
Lamentablemente, cuando usas subversion para algún proyecto, terminas con un montón de carpetas .svn con cadenas similares a la que buscas....
Ahora, en internet hay varias maneras sugeridas para evitar buscar en estas odiosas carpetas de svn (una de las razones por las que prefiero mil veces git, que solo tiene una carpeta .git en el root de tu proyecto.... pero me estoy desviando). La que más me gustó, porque no involucra opciones confusas que tienes que recordar cada que escribes el comando, es agregar unas opciones a tu archivo .bashrc y listo ;-).
GREP_OPTIONS="--exclude=\*.svn\*"
export GREP_OPTIONS
Después de agregar eso a tu .bashrc sólo corre el comando source .bashrc para que tomen efecto (o reinicia tu sesión). También puedes leer las instrucciones en inglés aquí.
Otra opción es mejor usar ack, funciona en windows y linux por igual... pero eso lo dejaré para otra ocasión.
Compilando git en ubuntu 7.10
Posted February 10th, 2008 by joaquinGit es un sistema de control de versiones distribuido. Es decir, un programa tipo subversion o CVS pero que funciona también cuando no estás conectado a internet.
En Ubuntu 7.10 puedes instalar git usando apt-get. Lamentablemente la versión que instala es la 1.5.2 que ya es algo viejita. Actualmente git está en la versión 1.5.4 que trae bastantes mejoras, particularmente las que te permiten manejar submódulos en git (introducidas desde la versión 1.5.3).
La gaceta de la cabeza
