Delirando sobre informática, fotografía, programación, móviles y mucho más desde 2003
Gnome Rhythmbox tiene algún pequeño problema al pausar y reanudar reproducciones de Last.fm, y teniendo en cuenta que a veces es necesario pararlo o silenciarlo para que no interfiera en otras cosas, me he hecho (porque no he encontrado el modo de silenciarlo de ninguna otra manera) este pequeño script en Python (requiere python-dbus) que permite silenciar Rhythmbox sin parar la reproducción:
#!/usr/bin/env python
import os
import dbus
session_bus = dbus.SessionBus()
proxy_obj = session_bus.get_object('org.gnome.Rhythmbox', '/org/gnome/Rhythmbox/Player')
player = dbus.Interface(proxy_obj, 'org.gnome.Rhythmbox.Player')
if player.getMute() < 1:
player.setMute(True)
else:
player.setMute(False)
Si se combina con xbindkeys para asignarse a una combinación de teclas como Control + Silencio la comodidad ya es total
Subversion por defecto permite enviar commits sin comentarios, pero es posible forzar un error en caso de no detectar comentarios. Basta este script en Python ubicado en el directorio hooks
10/Feb/2009 | 2 comentarios | En Bitacoras.com
Uso Trac desde hace mucho tiempo, pero hace poco dejó de funcionar repentinamente. Podía acceder a ciertas cosas, pero no a lo importante. Tras curiosear un poco me encontré con un montón de estos errores en los logs de Apache:
[Thu Jan 29 09:07:38 2009] [notice] child pid 3383 exit signal Segmentation fault (11) [Thu Jan 29 09:13:25 2009] [notice] child pid 3385 exit signal Segmentation fault (11) [Thu Jan 29 09:13:39 2009] [notice] child pid 3388 exit signal Segmentation fault (11) [Thu Jan 29 09:14:12 2009] [notice] child pid 3389 exit signal Segmentation fault (11)
Es un problema provocado por Python (mod_python en este caso, aunque también fallaba usando mod_wsgi o fastcgi) debido a que apache utiliza una versión de la librería expat y Python otra diferente. Se puede ver cómo detectar el problema en este artículo, que sugiere usar LD_PRELOAD para solucionarlo, pero que a mi no me funcionó. Por el contrario, me bastó con instalar un único paquete y reiniciar el servidor web:
sudo apt-get install python-xml
Esto ya empieza a ser monótono con tanto Google Chrome, pero tras descargar el código fuente y ver que ocupa 2.6 GB (con la información de Subversion, eso si) no he podido resistirme a hacer un rápido cálculo (ha tardado 10 minutos) de las líneas de código usando SLOCCount:
Totals grouped by language (dominant language first): cpp: 1165053 (53.89%) ansic: 537317 (24.86%) perl: 256113 (11.85%) python: 173814 (8.04%) sh: 23412 (1.08%) yacc: 2553 (0.12%) objc: 1958 (0.09%) cs: 1226 (0.06%) php: 122 (0.01%) java: 106 (0.00%) asm: 57 (0.00%) sed: 26 (0.00%) Total Physical Source Lines of Code (SLOC) = 2,161,757
A los de Google les gusta hacer las cosas a lo grande ![]()
Comenté hace unos dias las mejoras de la última versión ( beta ) de Trac, y que ya estaba utilizándola. Todo funciona perfectamente excepto el componente XML-RPC, que permite la integración con Mylyn.
Como todavía no se ha publicado una versión del componente que sea compatible con la última beta del software ( en este ticket se puede ver la evolución ), debemos descargarnos la versión del componente para Trac 0.10 y el parche, y luego ejecutar:
unzip xmlrpcplugin.zip cd xmlrpcplugin/0.10 patch -p1 < ../../xmlrpc-11.3-genshi.2.diff sudo python setup.py install
Luego, habrá que activar como de costumbre el componente en la configuración:
[components] tracrpc.* = enabled
En mi caso, tuve que reiniciar el servidor Apache debido al siguiente error:
ImportError: No module named posixpath
Hecho esto, podemos integrar de nuevo Mylyn con Trac ![]()
Hace unos dias comentaba que estaba probando la esperadísima versión 0.11 del estupendo gestor de tickets Trac.
Las mejoras en esta versión son muchas:
Para mí sigue siendo el mejor gestor de tickets disponible, pero echo en falta ciertas cosas:
Algunas de estas funcionalidades pueden añadirse gracias al sistema de plugins ( lista de Edgewall y repositorio en Trac Hacks ), pero nada mejor que tenerlas de serie…
Soy fan de MythTV desde hace tiempo porque es de lo más completo y a vanzado que hay, además de disponer de mucha información para su instalación y configuración. Pero por un motivo o por otro siempre he tenido algún pequeño detalle que hacía que no funcionase al 100%.
Hace poco descubrí de rebote una estupenda alternativa llamada Elisa, con un aspecto que imita a Front Row y con una buena lista de características
Lo interesante es la cantidad de plugins que tiene, que permiten acceder a contenidos multimedia tanto en local como online usando servicios como Stage6, ShoutCast o Flickr, y al estar programado en Python cualquiera puede añadir un plugin rápidamente.
No puedo resistirme a comentar la llamada Paradoja de Python que he visto estos días en varios sitios.
La reflexión dice:
A falta de un nombre mejor lo llamaré la paradoja Python: si una compañía decide escribir su software en un lenguaje poco utilizado comparativamente, serán capaces de contratar a mejores programadores, porque atraerán sólo a aquellos que se molestaron en aprenderlo
Hasta ahora sólo unas pocas compañías han sido suficientemente inteligentes para darse cuenta de esto. Pero hay una especie de selección natural trabajando: son exactamente las mismas compañías en las que a los programadores les gustaría trabajar. Google, por ejemplo. Cuando ofertan puestos para programar en Java, también piden experiencia con Python.
Me hace gracia la cantidad de gente que se ofende por esta reflexión. Aquí nadie dice que los programadores de lenguajes tradicionales sean malos. Sí, habrá cracks que programan Python, Java, PHP o Brainfuck, nadie lo discute, pero si hablamos de estadisticas, de la media, la cosa no se aleja tanto de lo comentado por Graham.
Es sencillo, sólo hay que pensar en buenos programadores que conozcamos. ¿Cuántos de ellos se han interesado en aprender lenguajes minoritarios? ¿Cuántos se han interesado en retos y juegos de programación?. Es mas, ¿cuántos buenos programadores hablan de las bondades de C y cuántos malos programadores lo desprecian aunque se conozcan al dedillo todas las clases de .NET?.
Puestos a contratar en aparente igualdad de condiciones para un puesto, quién no contrataría antes a alguien que ha demostrado saber desenvolverse en C ( sí, ¿cuántos dominan C hoy en día? ), Python o algún lenguaje esotérico o a alguien interesado en las matemáticas ( como algún Frikisiervo ).
Además, ¿Ya no se recuerda lo bien que se habló de las técnicas de selección de Google y de los cientos que comentaron que no les importaría trabajar ahí?.
Para los que somos maniáticos del orden en los ordenadores, es imprescindible tener la colección de MP3 perfectamente organizada, con nombres y etiquetas ID3 correctos y clasificados por carpetas. El gran problema de la música que se descarga de los P2P que te pasan los colegas piratas que se ripea de los discos originales es que no suelen ter un mismo formato, calidad y las etiquetas ID3 suelen ser un desastre.
Para solucionar esto conocía UltraTagger ( que funciona perfectamente con Wine ), una buena aplicación de pago para Windows ( cof cof ) cuya mejor característica es el poder usar FreeDB con los MP3 como si fuesen discos de audio normales. Hoy descubrí la alternativa Open Source: mBox. Está programado en Python usando wxPython y permite conversiones de formato, renombrado de archivos y también permite usar FreeDB como UtraTagger.
Se puede descargar desde la página del proyecto el código fuente o paquetes RPM.
Leo en la bitácora de mi mentor Debianita que Ricardo Cárdenes está traduciendo al español el imprescindible Dive Into Python de Mark Pilgrim.
A mi me viene genial porque estoy empezando a curiosear un poco la sintaxis de Python debido a que, como ya comenté, existe un intérprete para teléfonos móviles con sistema operativo Symbian.
Delirios de un Informático :: Gestionado con WordPress :: Alojado en Bitacoras.com :: Licenciado bajo Creative Commons