#!/bin/bash
while [ 1 -eq 1 ]; do
while [ `mpc playlist | grep -c ^` -lt 2 ]; do
mpc listall | sed -n $[RANDOM % $(mpc stats | grep Songs | awk '{print $2}')+1]p | mpc add > /dev/null
done
sleep 60
done
Créditos:
http://b.fluff.cc/2011/10/add-random-songs-to-mpd-playlist.html
jueves, 8 de diciembre de 2011
Reproducción aleatoria continua en MPD
MPD es un gran concepto, pero algo que me molesta mucho (y se me hace increíble que no exista), es que no tenga integrada una forma fácil para agregar canciones de forma aleatoria cuando se acaba una playlist. Para eso creé este script, que automáticamente agrega canciones cuando la lista tiene menos de 2 canciones:
Opciones por default en VIM
Estas son las opciones que me gustan tener por defecto en VIM:
# ~/.exrc :set ts=4 :set ignorecase :set autoindent :set number
lunes, 5 de diciembre de 2011
¡Vendo!
Dada la inminente victoria del Peje en México, es hora de vender todo y huir de este país. ¡Aprovechen estas gangas! Iré poniendo mas fotos conforme las vaya consiguiendo.
- Bocinas frontales TR-2830 ($2,700)
domingo, 27 de noviembre de 2011
Usando el R.A.T 9 en Ubuntu
Tengo en mis manos un nuevo mouse. Se llama Cyborg R.A.T. 9. Tiene todo tipo de ajustes ergonómicos, paneles deslizables, y hasta pesas. Tendré que usarlo un tiempo para formar una opinión objetiva, pero hasta ahorita parece que es un buen mouse.
Aún así, me trajo algunos problemas al usarlo en Ubuntu. Específicamente, el enfoque se quedaba trabado en una sola ventana y no podía hacer click en otra cosa. Al desconectar el mouse, todo funcionaba bien. Esto se debe a un error en los comandos de inicialización del mouse, a los que les falta mandar una instrucción de "button release". Es sencillo arreglarlo:
Aún así, me trajo algunos problemas al usarlo en Ubuntu. Específicamente, el enfoque se quedaba trabado en una sola ventana y no podía hacer click en otra cosa. Al desconectar el mouse, todo funcionaba bien. Esto se debe a un error en los comandos de inicialización del mouse, a los que les falta mandar una instrucción de "button release". Es sencillo arreglarlo:
cd /usr/share/X11/xorg.conf.d/
# crear un archivo nuevo
sudo nano 910-rat.conf
# agregar esto al archivo
Section "InputClass"
Identifier "R.A.T."
MatchProduct "R.A.T.7|R.A.T.9"
MatchDevicePath "/dev/input/event*"
Option "Buttons" "17"
Option "ButtonMapping" "1 2 3 4 5 0 0 8 9 7 6 12 0 0 0 16 17"
Option "AutoReleaseButtons" "13 14 15"
Option "ZAxisMapping" "4 5 6 7"
EndSection
# Guardar, salir y reiniciar
martes, 11 de octubre de 2011
Problemas instalando PowerDNS
Al estar instalando PowerDNS me topé con este problema:
Setting up pdns-doc (2.9.22-3) ... Processing triggers for pdns-server ... invoke-rc.d: unknown initscript, /etc/init.d/pdns not found. dpkg: error processing pdns-server (--configure): subprocess installed post-installation script returned error exit status 100 Errors were encountered while processing: pdns-server E: Sub-process /usr/bin/dpkg returned an error code (1)El problema salió por andar borrando scripts manualmente. Para resolverlo:
sudo apt-get --purge remove pdns-server
domingo, 25 de septiembre de 2011
Tienes un poco de antrax en tu teclado...
Recientemente, una persona cuyo honor no mancharé al revelar su nombre, me pidió que revisara el teclado de su computadora, dado que estaba fallando. Accedí a ayudarla, y al recibirlo noté que se veía realmente sucio. Imaginarán mi sorpresa cuando al revisarlo mas a fondo descubrí esto:
Ilusamente pensé que toda la porquería saldría simplemente con la ayuda de un compresor de aire, pero no hizo la menor diferencia. Era claro que esto iba a necesitar algo cercano a un baño en ácido.
Después de una limpieza profunda, finalmente quedó un dispositivo que no va a seguir procreando nuevas armas biológicas:
Misión Cumplida!
Ilusamente pensé que toda la porquería saldría simplemente con la ayuda de un compresor de aire, pero no hizo la menor diferencia. Era claro que esto iba a necesitar algo cercano a un baño en ácido.
Después de una limpieza profunda, finalmente quedó un dispositivo que no va a seguir procreando nuevas armas biológicas:
Misión Cumplida!
sábado, 20 de agosto de 2011
Como usar imagemagick para crear thumbnails
Necesitaba crear thumbnails de todas las imágenes de un folder. Esto implicaba cambiarles el tamaño, pero además hacerlas ver mas oscuras, como esto:
Este es el comando que usé:
Una variación mas, donde el requerimiento es crear thumbnails de 300x214 pixeles, a partir de todos los archivos JPG en un directorio, los cuales no contengan "_med" ni "_thumb" en su nombre, y agregarles el sufijo "_med":
Este es el comando que usé:
for i in *.jpg ; do convert -quality 85 -geometry 181 -level -25% -brightness-contrast -25 "$i" "thumbs/$i.off"; done Una variación mas, donde el requerimiento es crear thumbnails de 300x214 pixeles, a partir de todos los archivos JPG en un directorio, los cuales no contengan "_med" ni "_thumb" en su nombre, y agregarles el sufijo "_med":
find * -prune -name '*.jpg' | grep -v _thumb | grep -v _med | sed 's/.jpg$//' | xargs convert {}.jpg -thumbnail 300x214 {}_med.jpg
lunes, 1 de agosto de 2011
Borrar llaves de ssh viejas
Cuando estes tratando de conectarte por SSH a otro host y te salga este mensaje:
Quiere decir que la llave ya no corresponde al host, y hay que generar una nueva. Para esto hay que primero borrar la vieja:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Quiere decir que la llave ya no corresponde al host, y hay que generar una nueva. Para esto hay que primero borrar la vieja:
ssh-keygen -R host
martes, 26 de julio de 2011
Como rootear el Motorola Milestone
Hace algún tiempo, compré a través de amazon.com un Motorola Milestone que venía con Android 2.1. Me cansé de esperar a que sacaran un update, entonces decidí rootearlo e instalar CyanogenMod 7.
Estos son los pasos:
Listo!
Estos son los pasos:
- Bajar sbf_flash
- Bajar el SBF de vulnerable recovery
- Bajar open recovery
- Bajar cyanogenmod y google apps.
- Copiar update.zip y el directorio openrecovery a la raíz de la tarjeta SD
- Copiar los zips de cyanogenmod y google apps al directorio updates.
- Prender y dejar apretado arriba en el pad.
- Ahora flasheamos el vulnerable recovery:
sudo ./sbf_flash vulnerable_recovery_only_RAMDLD90_78.sbf - Dejar apretado "x" cuando se reinicie.
- Instalamos OpenRecovery: apply sdcard:update.zip
- Dentro del menu de OpenRecovery, escoger la opción de apply update.
- Ahora deben aparecer los zips de cyanogen y de google apps.
- Primero instalamos cyanogen, y despues el otro.
Listo!
viernes, 27 de mayo de 2011
Usando una memoria USB con Banshee
Si quieres poder manejar tu memoria usb desde banshee y poderle agregar canciones, playlists, etc. hay que crear un archivo llamado
.is_audio_player y llenarlo con algo similar a esto:audio_folders=Music/ video_folders=Video/ folder_depth=2 playlist_formats=audio/x-scpls, audio/mpegurl, audio/x-mpegurl playback_mime_types=video/mp4-generic, video/quicktime, video/mp4, video/mpeg4, video/3gp, video/3gpp2, application/sdp, audio/3gpp, audio/3ga, audio/3gpp2, audio/amr, audio/x-amr, audio/mpa, audio/mp3, audio/x-mp3, audio/x-mpg, audio/mpeg, audio/mpeg3, audio/mpg3, audio/mpg, audio/mp4, audio/m4a, audio/aac, audio/x-aac, audio/mp4a-latm, audio/wav coverartfilename=folder.jpg coverartfiletype=jpeg coverartsize=200
jueves, 28 de abril de 2011
Como borrar archivos específicos de un directorio
Este comando borra todos los archivos con un patrón específico de un directorio y sus subdirectorios, sin importar que el nombre tenga espacios.
find . -type f -name *foo -print0 | xargs -0 rm
lunes, 11 de abril de 2011
Como mover el directorio /home de lugar
El escenario es este: Tengo un sistema con un disco principal, y 4 discos configurados en RAID5. La idea es mover el directorio /home al RAID5, en vez de tenerlo en el disco principal. Asumiendo que el arreglo ya esta montado y funcionando en /raid, estos son los pasos para mover /home:
-
Primero, agregamos una entrada a /etc/fstab:
/raid/home /home none defaults,bind 0 0
-
Después, copiamos el contenido de /home a su nueva ubicación:
sudo rsync -axS --exclude='/*/.gvfs' /home/. /raid/home/.
-
Ahora movemos home a otro lugar, y creamos un directorio nuevo vacío:
cd / && sudo mv /home /old_home && cd / && sudo mkdir -p /home
-
Finalmente, montamos el directorio nuevo:
sudo mount -a
viernes, 18 de febrero de 2011
TOra - GUI para PostgreSQL
Aunque el cliente para PostgreSQL mas popular, pgAdmin III, es bueno, siento que a veces es demasiado lento y complicado. Encontré una alternativa: TOra. Este cliente era originalmente para Oracle, pero ahora tiene soporte básico para Postgres. Tiene muchos bugs y mucha menos funcionalidad, pero aún así prefiero usarlo para queries rápidas. Para instalarlo:
sudo apt-get install tora libqt4-sql-psql
Suscribirse a:
Entradas (Atom)

