Nueva versión disponible de la CDPedia

Python Argentina (PyAr) se enorgullece de anunciar la versión 0.6 de la CDPedia. Esta versión fue entregada a Educ.ar con vistas a la distribución en escuelas del todo el país, y ya está disponible para la descarga pública.

¡Pasen la noticia!

¿Qué es la CDPedia?

La CDPedia es un proyecto del grupo de usuarios de Python Argentina para poder acceder a la información de la Wikipedia en castellano aunque no se posea una conexión a Internet. Se puede descargar libremente de la red y grabar a CDs o DVDs para repartirlos sin restricciones. La CDPedia funciona en cualquier computadora, ya sea que tenga Linux, MacOS o Windows como sistema operativo.

La versión 0.6 de CDPedia en DVD fue recientemente entregada para su evaluación a Educ.ar, que por medio de un acuerdo con Wikimedia Argentina y PyAr está planeando distribuir esta enciclopedia libre en todas las escuelas de Argentina.

Esta misma versión ya está disponible para la descarga pública tanto para el formato de CD y DVD. Para mayor información e instrucciones para la

descarga, visitar la página del proyecto.

Comentarios Imprimir

A puro deporte

Esos días que estuvimos en Cardales (les había comentado) estuvieron divertidos.

Jugamos mucho a las cartas y al boggle, pero también hicimos natación...

En la pile

...e incluso deportes de riesgo:

Deporte de riesgo

El hijo, compartió mucho tiempo conmigo y con Moni...

Con Moni

...pero también se la pasó bastante rato en la compu:

Con la laptop

(todas las fotos `acá <http://www.flickr.com/photos/[email protected]/sets/72157623166800462/>`_)

Comentarios Imprimir

Copias de resguardo

Siempre, siempre, siempre, ante un problema con el disco rígido de una computadora, la palabra "backup" es la más mencionada y maldita por los usuarios.

Todos sabemos que tenemos que hacer backup. Pero muy pocos lo hacen. Y todos nos acordamos nuevamente del mismo cuando la máquina de repente no arranca, o arranca por la mitad, o se apaga de repente con un ruido raro.

El problema de hacer backup es la constancia. Lo hacemos una vez... quizás lo repetimos una vez más... y nos volvemos acordar cuando el problema nos muestra sus dientes gritando "¡tus datos están perdidos!".

Y no importa si sos un principiante en el mundo de la informática, o un avezado experto: hacer backups con constancia es complicado... no por el conocimiento técnico involucrado, sino porque uno no es constante.

Hasta hace una semana atrás yo tenía backups de pocas cosas:

  • Todas las fotos que fui sacando las tengo en el disco rígido y en DVD, pero también las subo a Flickr, en tamaño original. Esto no es gratis, ya que el servicio de Flickr sin costo no permite tanto almacenamiento, pero creo que vale los 25 dólares que pago por año.
  • Este blog y los archivos aledaños se copian cada tres días al disco rígido de mi computadora. Entonces, si algo le pasa al server, sé que la info la tengo en otro lado.
  • La música que tengo en mp3 está en mi computadora de escritorio y en la laptop, más una copia de backup en DVD.

Ahora, finalmente, armé una solución para proteger de incidentes mis datos diarios, que son los más complicados de todos.

¿Por qué son complicados? Porque cambian todo el tiempo, y si uno pasa cinco meses sin hacer backup, los cambios son muchos y están todos desparramados... ver qué cambió y hacer un backup parcial es complicado, y hacer backup de todo de nuevo es una putada. Se podrían hacer backups parciales y diferenciales, pero la info no son dos gigas, y armar algo en múltiples DVDs es más complicado de lo que parece.

La solución

Lo que armé es básicamente una solución RAID, en configuración espejo, que se ve como un directorio normal pero que realmente duplica los datos en dos discos físicamente separados, de manera que si se rompe uno toda la info está a salvo en el otro.

Además, armé un crontab para que me haga copias de determinados directorios cada tanto y de forma diferencial, lo cual es bastante eficiente.

¿Cómo armé esto? Así...

Un par de semanas atrás compré un segundo disco rígido, al que le instalé Karmic Koala desde cero, luego de particionarlo.

No voy a entrar en detalles de cómo particioné el disco nuevo y qué usé del viejo, sólo es importante que dejé una partición vieja del disco anterior y una del disco nuevo del mismo tamaño, como podemos ver en el siguiente reporte:

$ df -m
S.ficheros       Bloques de 1M Usado  Dispon Uso% Montado en
/dev/sdb5              93872     188   88916 1% /backup
...
/dev/sda1              93872     188   88916 1% /mnt/old-barra</span>

La partición nueva es /backup y la vieja es /mnt/old-barra. Se puede ver que son dos discos físicos distintos porque uno es sda y el otro es sdb. Ambas particiones están montadas porque las dejó así el instalador del Ubuntu (y además yo necesitaba rescatar info de la partición vieja).

El primer paso para armar el RAID usando estas particiones es desmontarlas:

$ sudo umount /backup
$ sudo umount /mnt/old-barra/

Luego, creamos el dispositivo que será el que utilicemos como entrada/salida:

$ sudo mknod /dev/md0 b 9 0

Luego le indicamos a mdadm (el programa que nos arma el RAID) que queremos hacer sobre el dispositivo que recién creamos un RAID tipo mirror utilizando las dos particiones antes mencionadas. El programita nos va a dar información de las particiones, preguntar si estamos seguros, y hacer el laburo:

$ sudo mdadm --create /dev/md0 --level=mirror --raid-devices=2 /dev/sda1 /dev/sdb5
mdadm: /dev/sda1 appears to contain an ext2fs file system
  size=97659100K mtime=Mon Dec 21 23:26:54 2009
mdadm: /dev/sdb5 appears to contain an ext2fs file system
  size=97659100K mtime=Mon Dec 21 20:18:02 2009
Continue creating array? yes
mdadm: array /dev/md0 started.

Podemos ver la info de RAID que tenemos armada mirando el contenido de un archivo en /proc:

$ cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdb5[1] sda1[0]
    97659008 blocks [2/2] [UU]
    [>....................] resync = 1.0% (1036096/97659008) finish=26.4min speed=60946K/sec
unused devices: <none>

Luego, para hacer utilizable la partición, tenemos que crear el sistema de archivos en el disco RAID... y aquí vemos como ya no usamos las particiones de los discos físicos, sino el dispositivo especial que creamos:

$ sudo mkfs.ext4 /dev/md0
mke2fs 1.41.9 (22-Aug-2009)
Etiqueta del sistema de ficheros=
Tipo de SO: Linux
Tamaño del bloque=4096 (bitácora=2)
Tamaño del fragmento=4096 (bitácora=2)
6111232 nodos-i, 24414752 bloques
1220737 bloques (5.00%) reservados para el superusuario
Primer bloque de datos=0
Número máximo de bloques del sistema de ficheros=0
746 bloque de grupos
32768 bloques por grupo, 32768 fragmentos por grupo
8192 nodos-i por grupo
Respaldo del superbloque guardado en los bloques:
  32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
  4096000, 7962624, 11239424, 20480000, 23887872
Escribiendo las tablas de nodos-i: hecho
Creating journal (32768 blocks): hecho
Escribiendo superbloques y la información contable del sistema de ficheros: hecho

Para que esta partición esté montada siempre, agregamos al archivo /etc/fstab la siguiente linea:

/dev/md0  /backup ext4  defaults,user 0 0

Y la montamos al directorio donde la queremos usar (como tenemos la info en el fstab no hace falta especificarla aquí de nuevo):

$ sudo mount /backup

Se puede ver entonces que el dispositivo que habíamos creado originalmente está montado en el directorio indicado, listo para usar:

$ df -m
S.ficheros       Bloques de 1M Usado  Dispon Uso% Montado en
...
/dev/md0               93872     188   88916 1% /backup</span>

Lo podemos usar sin problema... pero luego de reiniciar la máquina, vi que no tenía el RAID funcionando! Luego de buscar un poco en la web, entendí que mi archivo de configuración no tenía la info necesaria, vaya uno a saber por qué.

Así que le dije al programita que administra el RAID que busque en lo que tiene armado y agregue la configuración actual al archivo:

sudo mdadm --examine --scan >> /etc/mdadm/mdadm.conf

Una vez hecho esto, reinicié y encontré todo fantásticamente bien.

Ahora que tenemos una partición "a prueba de roturas de un disco", tenemos que hacer backup regularmente ahí. Lo mejor que encontré para esto es el programita rdiff-backup (gracias Chaghi), que backupea un directorio en otro (el directorio destino termina con una copia del directorio fuente, pero se guardan diffs extras en un directorio especial de manera que se puede recuperar no sólo la última versión sino también anteriores).

Entonces, todo lo que hice fue poner unas llamadas a este programita en mi crontab, para que se ejecute cada tres días a la madrugada y me haga el backup de algunos directorios específicos en la nueva partición RAID:

 0 4 */3 * * rdiff-backup /home/facundo/dir1 /backup/dir1
30 4 */3 * * rdiff-backup /home/facundo/dir2 /backup/dir2
 0 5 */3 * * rdiff-backup /home/facundo/dir3 /backup/dir3

¡Y listo! La solución funciona, es eficiente, y no tengo que hacer nada de forma manual, :)

Bonus track: rdiff-backup funciona también a través de la red, lo cual es útil para hacer backup desde o en otras máquinas a las que tengamos accesso SSH. Hay un sólo detalle, y es el tema de que nos pida clave para entrar en la máquina remota: el ssh-agent nos va esconder este paso cuando lo probamos a mano, pero va a fallar cuando lo pongamos en el crontab. Para solucionar esto, encontré que se puede hacer lo siguiente:

0 3 * * * SSH_AUTH_SOCK=$(find /tmp -name 'socket.ssh' -user $USER 2>/dev/null); export SSH_AUTH_SOCK; rdiff-backup ...
Comentarios Imprimir

Internet por el celular

Con Moni y Feli pasamos unos días en Cardales, entre Navidad y Año Nuevo, en la casa de unos amigos que se iban de vacaciones toda la semana.

El lugar no tiene Internet, y aunque esto a mí no me jode porque tengo siempre laburo para hacer estando offline, se me ocurrió hacer una prueba... ¿cómo me conecto a Internet en la laptop, pero usando el transporte de datos de la red celular?

Nunca lo había hecho, y encima tenía que comunicar la laptop con el teléfono a través de bluetooth, lo que siempre que probé resultó ser una tarea no trivial... pero nunca lo había probado con Ubuntu Karmic.

Agarré el fonito entonces y le prendí bluetooth, y lo mismo hice con la laptop (los tenía apagados en ambos para que no consuman energía).

En la laptop me apareció un iconito de bluetooth, al que le hice click y elegí la opción de Configurar dispositivo nuevo. Me apareció una pantalla que me contaba que me iba a guiar a través de la configuración, se puso a buscar dispositivos y me encontró el teléfono.

Lo seleccioné y me apareció un número de unos pocos dígitos, indicando que pusiera lo mismo en celular. Voy a este y veo que ya estaba pidiéndome la clave. Ingresé el número y ya estaba listo: ambos dispositivos quedaron acoplados.

La pantalla que me guiaba en la laptop avanzó sola al mensaje final, en el que me decía justamente que el dispositivo ya estaba configurado. Pero en este ventana también había un checkbox que decía "usar este dispositivo para conectarse a Internet".

Hice click en el mismo, y automáticamente hizo que el teléfono se conectara, y que la máquina usara esa conexión: unos segundos después el Network Manager me indicaba que estaba conectado a la red usando el teléfono. ¡Y listo! Ya podía usar Internet.

La verdad, todo el proceso me sorprendió mucho, ya que en cuatro clicks y sin tener que consultar ninguna documentación ni hacer cosas raras (ni siquiera cargar un driver del teléfono, o indicar qué modelo de teléfono tenía), pude conectar mi máquina a Internet de esta manera.

Comentarios Imprimir

La infertilidad es una enfermedad

En Argentina no está contemplada como tal, por eso el Programa Médico Obligatorio (PMO) no cubre los tratamientos de fertilización asistida, que son la única alternativa para lograr un embarazo cuando se sufre esta enfermedad,. Los tratamientos son muy costosos, oscilan entre los 2 mil y 23 mil pesos de acuerdo a la complejidad, y obviamente no están al alcance de todos.

Muchas parejas quieren tener hijos y no pueden. Y se quedan afuera de estos tratamientos.

/images/sumateadarvida.jpg

La gente de Sumate a Dar Vida están empujando una iniciativa popular, tratando de juntar 300 mil firmas para que el Congreso trate la Ley de Reproducción Humana Asistida.

Si querés participar, entrá a la página de esta asociación, donde podés enterarte más de este tema.

Comentarios Imprimir