pelearse con parametros en scripts python

Si alguna vez tenemos que recoger y tratar parámetros pasados por linea de comando a un script de python la siguiente docu nos vendrá de perlas:

http://www.ibiblio.org/g2swap/byteofpython/read/sys-module.htm

para los vagos que no quieren ni hacer click:

#!/usr/bin/python
# Filename: cat.py

import sys

def readfile(filename):
	'''Print a file to the standard output.'''
	f = file(filename)
	while True:
		line = f.readline()
		if len(line) == 0:
			break
		print line, # notice comma
	f.close()

# Script starts from here
if len(sys.argv) < 2:
	print 'No action specified.'
	sys.exit()

if sys.argv[1].startswith('--'):
	option = sys.argv[1][2:]
	# fetch sys.argv[1] but without the first two characters
	if option == 'version':
		print 'Version 1.2'
	elif option == 'help':
		print '''\
This program prints files to the standard output.
Any number of files can be specified.
Options include:
  --version : Prints the version number
  --help    : Display this help'''
	else:
		print 'Unknown option.'
	sys.exit()
else:
	for filename in sys.argv[1:]:
		readfile(filename)
				

Conectarse a internet a través del movil y bluetooth (yoigo)

Post-nota mental antes de marcharme para que no se me olvide.
Una muy buena explicación:
http://www.pongaunagujeronegroensuvida.es/2007/10/30/conectando-a-internet-con-yoigo/

En resumen se trata de:

  1. Buscar el movil con hcitool scan
  2. Averiguar en que canal ofrece el servicio de DialUP  con sdptool browse MAC
  3. Configurar un dispositivo serie rfcomm en ese canal en /etc/bluetooth/rfcomm.conf
  4. Configurar el PPP (con wvdial) para lo cual hay que saber lo parámetros de cada operador

Para yoigo en el enlace anterior esta casi todo. El único cambio que he tenido que hacer es meter free online blackjack game,free blackjack,play free blackjackplay free slots gameduces wild video pokerfree on line casino,casino on line,casino craps on linelearn video pokernew online casinofree online casino game,play free casino game,free casino gamedeuces wild video pokerfree roulette game download,roulette game download,roulette gameplay internet black jack,internet black jackfree casino game downloadfree craps game,free online casino game craps,free craps game onlinetournament backgammonvideo poker tournamentsfree internet casino888 casino,888 casino reviewfree online backgammon,play backgammon online free,online backgammononline casino free moneyfree no deposit casinowheel of fortune slots game,slots game,free online slots gameinternet crapsblackjack casino gamefree on line video pokerplay bingo onlinevideo poker softwareblack jack 21keno gamefull pay video pokerfree on line casino slots,free online casino slots,free casino slotsvideo poker strategyfree online blackjack gamebest gambling online roulette,online roulette gamblingfree online blackjack,casino online free blackjack,free blackjack gambling onlinecasino online gambling guideplay craps online,play craps,how to play crapsfree slots and video pokerplay casino gamegambling craps,casino craps gambling online,casino craps free gambling onlinevideo poker tournamentjackpot casino,jackpot city online casino,casino jackpot onlinefree casino game no downloadfree online black jack gameonline casino gamblecasino bonus codebest casino bonusroulette casino game,casino game online roulette,casino roulettefree internet casino gambling,internet casino gambling,internet casino gambling gameonline black jack gamedouble bonus video pokerfree casino card game,casino card game,online card game casino la conf de wvdial en /etc/wvdial.conf (cosas del sudo supongo) y que mi LC usa el canal 8 para el tema DialUP.

red en modo bridge en virtualbox

Ultimamente soy un feliz usuario de virtualbox, pero había una cosa que me estaba haciendo la puñeta, no conseguía hacer funcionar la red de las máquinas virtuales en modo bridge con la red real, solo en modo NAT. Es un coñazo cuando quieres acceder a esas virtuales desde otras máquinas en tu red local. El error que me daba es:

Unknown error creating VM (VERR_HOSTIF_INIT_FAILED).
VBox status code: -3100 (VERR_HOSTIF_INIT_FAILED).
Result Code: 0x80004005
Component: Console
Interface: IConsole {1dea5c4b-0753-4193-b909-22330f64ec45}

Continue reading

Streaming de video sencillo con VLC

A veces las cosas en GNU/Linux son sencillas de hacer (solo a veces :), como por ejemplo hacer un streaming de video con el estupendo programa VLC. Solo hay que echar un ojo a su documentación, en la parte de streaming, y seguir la guía de streaming sencillo. A golpe de ratón! Si luego queremos lanzarlo como un demonio, en modo consola, solo tenemos que copiar los parametros que aparecen en la GUI y lanzar vlc con el parametro -d

Desarrollo de paquetes deb con subversion

Me estoy convertiendo en un gran fan de los sistemas de control de versiones, concretamente de subversion. Me parece fundamental el tener un control de los cambios que va sufriendo el código, sobre todo cuando aparecen errores que ya han ocurrido en el pasado, etc. También me estoy entrenando en el noble arte de hacer paquetes .deb. Es una manera estupenda de distribuir nuestro trabajo (sobre todo por que en el trabaja usamos Debian y/o Ubuntu). Entonces si sumamos los paquetes .deb y svn tenemos la repera: svnbuildpackage

Tambien hay herramientas para otros sistemas de control de versiones: cvs-buildpackage, darcs-buildpackage. arch-buildpackage y tla-buildpackage por ejemplo.
Más info:

Como mantener un sistema Debian stable con paquetes de testing

Falta poco para que salga Etch (o eso dicen) pero aun así simpre es util la receta sobre como meter sources apts de testing sin que al hacer un dist-upgrade te pase la instalación entera a testing. Leyendo el apt-pinning howto se saca la información necesaria, pero no biene explicado exactamente como hacerlo, asique aquí va:

Editamos /etc/apt/sources.list y añadimos:

deb ftp://mir1.ovh.net/debian/ etch main

Creamos /etc/apt/preferences y ponemos lo siguiente :

Package: *
Pin: release stable
Pin-Priority: 1001
Y ya está! Podemos instalar paquetes de testing con:

apt-get install PAQUETE/testing

No instalará dependencias y deberemos instalarlas a mano. Es util por ejemplo para instalar paquetes que solo están en testing:

apt-get install wordpress

Links:

Cambiar el teclado en la consola de Ubuntu Edgy

Shell¿No os ha pasado nunca que, por algún motivo, no tenéis bien ajustado el tipo de teclado enla consola ? La situción típica es tener el teclado en UK y volverte loco buscado cosas como «:» o «-«. Es la típica cosa que he tenido que hacer varias veces, y siempre me cuesta un montón. Encima en el wiki de Ubuntu está mal explicado. Así que lo apunto aquí para que no se me olvide. Y mira que es sencillo…

Continue reading

Más sobre prototype

Estaba mirando un poco la librería de script.aculo.us para una idea/proyectillo que tengo en mente cuando he visto que la introducción a prototype del otro día se queda corta. Así que mirando en la web de script.aculo.us sobre prototype encuentro esta estupenda referencia de la librería prototype. Bastante interesante prototype, ahoraa ver si pongo el marcha un traceador (muerte a los alert!) y le doy unas vueltas a mi idea/proyecto