Módulos python

(8 comentarios)

En lyxia.org, una bitácora francesa recién creada, publican una lista con algunos módulos interesantes para la programación con Python. ¿Conocéis algún módulo que merezca la pena añadir a la lista?

[Pulsa para continuar]

Harry Potter 7 en español

(271 comentarios)

Se puede descargar “Harry Potter and the Deathly Hallows” (Harry Potter y las Reliquias de la Muerte) en español desde Spanish Hallows y Proyecto DH. Ambas traducciones realizadas por fans y no oficiales.

Los 10 mandamientos del software libre

(12 comentarios)

Estos son los 10 mandamientos del software de código abierto según la conferencia del mismo nombre de Matt Asay durante la Ubuntu Live 2007, tal como podemos verlos en las transparencias publicadas en Phoronix.

  1. No tendrás otras licencias delante de mí: sobre el equilibrio que debe buscar Canonical entre las ganancias y el servicio a la comunidad, anteponiendo siempre a los usuarios.
  2. No te harás imagen tallada: los líderes carismáticos, como Shuttleworth o el mismo Linus ayudan a la promoción, pero esto tiene desventajas evidentes. Ubuntu debe anteponer la comunidad a las personas individuales.
  3. No tomarás su nombre (el del código abierto) en vano: Ubuntu debe mantenerse firme en su mensaje de software 100% libre y abierto.
  4. Recuerda el día de Shabbat, para relajarte y disfrutar: Acuérdate de tomar un descanso, la tecnología es importante pero no lo es todo.
  5. Honrarás a tu padre y a tu madre: Evita el culto a las personalidades, pero respeta a los desarrolladores.
  6. No matarás
  7. No cometerás adulterio: Sobre los tratos de Novell y otros con Microsoft.
  8. No robarás
  9. No levantarás falso testimonio contra tu vecino: Red Hat, SuSE, etc no son el enemigo; su éxito contribuye al éxito de Ubuntu y viceversa. Tampoco lo es Microsoft.
  10. No codiciarás: Ubuntu es diferente, su éxito no debería basarse en los puntos fuertes de otras empresas.

Alias para aptitude con autocompletado

(14 comentarios)

Los comandos para buscar, instalar y desinstalar paquetes suelen estar entre los más utilizados. Teniendo en cuenta que se tratan de cadenas bastante largas, es útil crear un alias, de forma que podamos escribir algo como

install konqueror

en lugar de

sudo aptitude install konqueror

Crear los alias es tan sencillo como editar el archivo .bashrc

gedit ~/.bashrc

y añadir las siguientes líneas

alias update=”sudo aptitude update”
alias upgrade=”sudo aptitude upgrade”
alias install=”sudo aptitude install”
alias purge=”sudo aptitude purge”
alias show=”sudo aptitude show”
alias search=”sudo aptitude search”

Ahora bien, si escribimos algo como aptitude install kon y pulsamos Tab, bash utiliza la característica de autocompletado para mostrarnos los nombres de los distintos paquetes que comienzan con kon, cosa que no ocurriría con nuestros alias. Para que bash sepa cómo autocompletar los parámetros de nuestros “nuevos comandos”, tendremos que añadir la siguiente línea a .bashrc:

complete -F _aptitude $default install purge show search

Esto indica a bash que debe utilizar la función _aptitude, definida en el archivo /etc/bash_completion, para completar los comandos install, purge, show y search.

Poesía en Linux

(28 comentarios)

El archivo words, que se encuentra en /usr/share/dict/words en Ubuntu, es un archivo estándar de las distros Linux y otros derivados de Unix que contiene una lista de palabras utilizada entre otros por los programas que comprueban la ortografía. Es una combinación de todos los archivos words que tengamos instalados en el sistema. Por ejemplo, el paquete con el archivo word para el idioma castellano es wspanish, que instala el archivo /usr/share/dict/spanish. También tenemos wamerican, wamerican-huge, wamerican-large, wamerican-small, wbritish, wbritish-huge, wcatalan, wfrench, etc.

Si combinamos estos archivos con el comando grep, que permite buscar cadenas que se correspondan con una expresión regular dentro de archivos o en la entrada estándar, tenemos una forma sencilla de encontrar palabras que terminen con una determinada sílaba 🙂 Por ejemplo, para buscar palabras que rimen con nostalgia, en castellano, podríamos usar:

grep “algia$” /usr/share/dict/spanish

y el resultado sería:

cardialgia
cefalalgia
coxalgia
dermalgia
enteralgia
gastralgia
mialgia
neuralgia
nostalgia
odontalgia
otalgia
raquialgia

Comparar archivos en Linux

(25 comentarios)

En Linux existe un comando de consola llamado diff que nos permite ver los cambios realizados entre dos versiones de un archivo; también tenemos un comando llamado merge que sirve para combinar cambios. Existen varios programas con interfaz gráfica con el mismo propósito. Uno de estos programas es meld.

Meld nos muestra las diferencias entre dos archivos o entre todos los archivos de dos directorios utilizando distintos colores, y nos permite editar estos archivos desde el propio programa, actualizando dinámicamente las diferencias. El programa incluye filtros y distintas ayudas para hacer la edición más sencilla, como flechas al lado de los cambios para aplicar algún cambio en el otro fichero con un simple clic.

Comparar archivos en Linux

Además meld se puede utilizar como un sencillo cliente de control de versiones para CVS, Subversion, Bazaar y otros.

Para instalarlo en Ubuntu:

sudo aptitude install meld

El Zen de Python

(12 comentarios)

Hace mucho tiempo el entusiasta de Python Tim Peters plasmó de forma concisa los principios de diseño por los que guiarse al escribir en Python según el BDFL (NT: Benevolent Dictator for Life o Dictador Benévolo de por Vida, en este caso Guido van Rossum, el creador de Python) en 20 aforismos, de los cuales sólo 19 han pasado a forma escrita.

  1. Hermoso es mejor que feo.
  2. Explícito es mejor que implícito.
  3. Simple es mejor que complejo.
  4. Complejo es mejor que complicado.
  5. Plano es mejor que anidado.
  6. Disperso es mejor que denso.
  7. La legibilidad cuenta.
  8. Los casos especiales no son suficientemente especiales como para romper las reglas.
  9. Aunque lo pragmático gana a la pureza.
  10. Los errores nunca deberían dejarse pasar silenciosamente.
  11. A menos que se silencien explícitamente.
  12. Cuando te enfrentes a la ambigüedad, rechaza la tentación de adivinar.
  13. Debería haber una — y preferiblemente sólo una — manera obvia de hacerlo.
  14. Aunque puede que no sea obvia a primera vista a menos que seas holandés. (NT: Guido van Rossum es holandés)
  15. Ahora es mejor que nunca.
  16. Aunque muchas veces nunca es mejor que *ahora mismo*.
  17. Si la implementación es difícil de explicar, es una mala idea.
  18. Si la implementación es sencilla de explicar, puede que sea una buena idea.
  19. Los espacios de nombres son una gran idea — ¡tengamos más de esas!

El nuevo Banshee

(12 comentarios)

En su bitácora Aaron Bockover habla sobre la próxima versión de Banshee, en el que está trabajando últimamente.

El rendimiento, el consumo de recursos y el tiempo necesario para iniciar la aplicación se van a ver decrementados radicalmente 🙂 Con una base de datos de 25.000 canciones:

Versión anterior Nueva versión
Inicio 32 Segundos 0.8 Segundos
Memoria 81 MB 8.5 MB

Además se separará totalmente la interfaz de la lógica de la aplicación, hasta el punto de que se podrá utilizar distintas interfaces de usuario de forma intercambiable.