Se te puede ir la olla

Eso explicaría muchas cosas… ¿verdad? ay que ver…
Bueno, a lo que iba. Decía que MPlayer es tan potente que se te puede ir la perola si intentas manejarlo por completo. Fíjate que creo que conozco bien menos de un 10% de lo que se puede hacer y cómo estoy de majareta estoy sorprendido totalmente.

Ayer estaba comprimiendo un video que grabé desde un video cassette y me dió por buscar algunas opciones que le diesen un poco más de calidad, ya que al ser grabado de la tele y no ser la imagen clara, requería una tasa de bits muy alta para verse medio bien.

mencoder video_raw.avi -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=3600:vhq:v4mv:vfdct=6:idct=9:ilme:qpel:trell:cpb:nr=500:vpass=1 -o video_divx.avi

vcodec=mpeg4: codificación en DivX 4/5 – MPEG4
vbitrate=3600: usa 3600 bytes por segundo de tasa de video
vhq: selecciona el modo MB que necesita los menos bits posibles
v4mv: Permite 4 vectores de movimiento por macrobloque (calidad ligeramente superior)
vfdct=6: algoritmo dct AAN en coma flotante
dct=9: algoritmo idct sh4
ilme: Usa estimación de movimiento entrelazada
qpel: Usa compensación de movimiento quarter pel
trell: Cuantización de búsqueda Trellis. Esto encuentra la codificación óptima para cada bloque de 8×8. La cuantización de búsqueda Trelllis es bastante simple como cuantización óptima en el sentido de PSNR frente a tasa de bits (asumiendo que no hay errores de redundancia introducidos en el IDCT, que obviamente no es el caso) símplemente encuentras un bloque para el error mínimo y lambda*bits.
cbp: Tasa el patrón de distorsión de código de bloque óptimo. Seleccionará el patrón de bloque codificado que minimize + lambda*tasa solo puede ser usado junto con cuantización trellis.
nr=500: reducción del ruido
vpass=1: primera de las dos pasadas, para ganar calidad

Lo que yo te diga, majareta. Y eso es solo unas poquitas que usé a voleo, se pueden hacer maravillas.

Escuchando: Héroes del Silencio – El camino del exceso

Sin categoría

Preguntas… ¿sin respuesta?

image
Si la gente se muere de hambre… ¿Por qué no se reparte mejor el mundo?

Si hay quien no tiene dónde vivir… ¿Por qué hay tantas casas vacías?

Si todos queremos lo mejor y vivir en paz… ¿Por qué vamos a la guerra?

Si me agrada tu compañía, tu conversación, y tu sonrisa… ¿Por qué no puedo decirtelo claramente?

Escuchando: Laura Pausini – Háblame

Sin categoría

Siete vidas tiene el gato

Y la ratonera ¿cuántas tendrá? Pensaba que el problema que la dejó tirada durante el fin de semana era el disco duro ya que el kernel panic dejaba mensajes que hablaban de acceso a disco, o eso entendía.
«>Ratonera
Al intentar iniciar con Ubuntu Live CD me seguía fallando igual así que pensé que me detectaba que había una partición de SWAP y al intentar usarla fallaba. Total, que cogí los discos duros y me los llevé a mi PC para sacar todo lo que tenía. De camino le dí unos cuantos repasos a los sistemas de archivos. Unas poquitas opciones y la comprobación sería exhaustiva xD

e2fsck -c -d -D -f -F -t -v -y /dev/hdd2

Una vez que le di el repaso a los sistemas de archivos y me dijo que estaba todo arreglado no me volvió a dar ningún error de disco, lo que me hizo pensar que ya estaba todo arreglado, porque no era fallo físico del disco.

Total, que llego, vuelvo a conectar los discos a la ratonera y… ¡el mismo error!. Ahora es cuando digo… Con el tomsrtbt seguro que no falla y… ¡el mismo error! Esto ya me hizo sospechar de la memoria porque al usar el tomsrtbt no hay ningún acceso al disco duro.

En este momento recordé que la whoppix que me habían dejado tenía un test de memoria así que se lo puse y ¡bingo! Resulta que hay un módulo de 32MB de ram que da errores sin parar en el test. Ha sido quitárselo y ya tenemos la ratonera otra vez viva, aunque con 96MB de ram en total. Si vemos que va muy lenta habrá que comprarle un poco más, que total, es barata.

Sin categoría

Extraño fin de semana

El fin de semana ya se presentaba extraño. Solo el comienzo del mismo estuvo planeado. Nos esperaba un festín pantagruélico (tenía que soltar la palabra, que no todos los dias aprende uno cosas tan fisnas) el viernes por la noche en una casa de lujo.

Por aquello de mi nulo sentido de la orientación últimamente empiezo a intentar no depender de los mapas. Al menos no depender directamente, echarle un vistazo antes y luego intentar hacer el camino sin llevar el mapa en la mano.
«>Fiesta
Me tracé la ruta acordándome de la imagen del mapa que habíamos obtenido de Internet e intentando hacer el recorrido mentalmente antes de salir.

Entro por la ronda-sur, luego por los túneles, sigo hacia adelante hasta que llego a esta calle que va hacia este sitio… Más adelante me meto por esta calle mirando por si hubiese ya aparcamiento y si no, sigo hacia aquella que me indicaron y que pinté de color rojo con mi rotulador de punta gorda sobre el mapa impreso…

Mientras me encontraba absorto en estos pensamientos había gente que corría y me gritaba asustada dándome recuerdos para la familia. De vez en cuando durante el grito me señalaban unas líneas blancas y gruesas que alguien aburrido debía haber pintado enmedio de la calzada o unas luces rojas y redondas. Desde luego es que la gente está loca, será por el calor.

En fin, como iba diciendo, mientras me encontraba absorto en estos pensamientos pude localizar mi aparcamiento. Era perfecto, ni excesivamente ancho ni estrecho. Sin línea azul, sin gorrillas/gorrones/ladrones… perfecto. Lo mejor de todo es que fui a parar a unos doscientos metros de la casa a la que iba así que en un momento me planté en mi destino. Solo.

Solo había un pequeño detalle sin importancia y si me lees habitualmente o al menos me conoces ya estarás pensando cuál era. El jueves tuve oportunidad y lo solté pero si el resultado hubiese sido otro no sería yo quien escribiese estas líneas… (no… no pasa nada, lo digo en plan de broma). La cuestión es esa, que fui solo y no con quien a mi me hubiese gustado ir… ¡me dijiste que lo dejamos pendiente para otro dia! ¡me lo apunto! :D

A las 04:01:57 A.M. aproximadamente, llegaba a mi casa con dos pensamientos principalmente:

– El fin de semana para mi ya ha terminado ¿por qué no es mañana lunes?
– Solo.

El sábado pasó sin prisa pero sin pausa, estuve casi todo el tiempo intentando instalar programas en la Zaurus pero resulta que la mayoría de los programas que encuentro (¿todos?) me exigen el paquete qpe-base. El qpe creo que es de Qtopia que es el sistema operativo que lleva cuando se compra y claro, no lo tengo porque le puse OpenZaurus. Si intento instalar qpe-base me pide un montón de paquetes por dependencias. Para colmo no me conecta con el PC por USB porque no la reconoce… En fin, que tenía para rato.
«>Disco
Y mira por donde estaba yo en todo esto cuando por la tarde veo aparecer un amigo por MSN que me dice que había quedado con una amiga. Y esa amiga resulta que iba con otra amiga y digo yo. A ver nauj, que tu eres de ciencias:

Una más una más uno… ahí faltas tú! Esto… uno más dos… es impar, algo no cuadra:
– Oye neng, ¿y puedo ir con ustedes?
– Pues no sé voy a preguntarle, pero dice de ir a Torremolinos
– Al fin del mundo si hace falta

Así que allí fuimos a la aventura, y para que conste en acta hice estas cosas que no me atrevo a llamar fotos con el móvil, por eso salieron tan mal. Hay algunos pequeños comentarios de las fotos en flickr, y puedes verlos haciendo clic en cualquiera de las minifotos que salen en este texto.
«>Cesped
Y ya puestos, por qué no, unas cervecillas al caer el sol del domingo y echamos el fin de semana completo.

Por cierto, estoy escribiendo esto la tarde del domingo pero no sé cuándo podré ponerlo porque la ratonera está enfermita :(

let me take the fall
let me take the blame
let me carry you from hell to home again

let me walk to you when your legs are weak
let me find the words for you when you can’t speak

(chorus)
let me be your armor
let me be your shield
let me take away the pain you feel

your armor

let me be the light that guides your way through darkest night

let me be your armor
(end chorus)

let me take the blows
that were meant for you
let me help you with the trials you’re going through
let me keep you safe from the world outside
let me wipe away the tears that fill your eyes

(chorus)

let me keep you from experience you need
let me bind you with my selfishness and greed
let me stifle you let me have control
let me smother every aspect of your soul

(chorus)

Escuchando: Assemblage 23 – Let me be your armor

Sin categoría

Assemblage 23 – Naked

[Mode encoded on]

Escuchando: Assemblage 23 – Naked

Too eager to appease
The cure is the disease
And it’s only growing worse

Day by day it takes its hold
Divides its cells a thousand-fold
And makes your blindness seem perverse

Out of sight and out of mind
Are deadly traits when they’re combined
But it’s easier that way

Sit and watch the world go by
While all the problems multiply
With nothing left to do but pray

I am the rain
Falling down
to cover you
Wish me away
But I’m here for your own good
I am the storm
Sent to wake you from your dream
Show me your scorn
But you’ll thank me in the end

These amenities are nice
But there is need for sacrifice
You must lose so you may gain

It’s too easy to malign
The implements that steal our time
But it’s we who are to blame

Fill your pockets while you can
And try to keep the upper hand
The voice of reason sounds so shrill

Surround yourself with all you own
Work your fingers to the bone
And happiness evades you still

I am the rain
Falling down to cover you
Wish me away
But I’m here for your own good
I am the storm
Sent to wake you from your dream
Show me your scorn
But you’ll thank me in the end

Too eager to appease
You’ve lost the forest for the trees
And it really is a shame

It is such a sorry sight
When you evaluate your life
You’ve only got yourself to blame

I am the rain
Falling down
to cover you
Wish me away
But I’m here for your own good
I am the storm
Sent to wake you from your dream
Show me your scorn
But you’ll thank me in the end

[/Mode encode off]

Sin categoría

¡No estoy loco!

¡Bien! ¡Acabo de descubrir que no estoy loco! o al menos no tanto como pensaba. Hace un tiempo le dije a enlavin que había visto en Ubuntu un programita de configuración de unidades de disco. Por alguna extraña razón ese programa lo vi cuando instalé la primera versión de Ubuntu.

En ese momento le dije que no sabía por qué extraño motivo el programa lo habían quitado, había desaparecido. Pero es más, no fui capaz de encontrar ninguna referencia a él por ningún sitio. Ni nadie que se quejase de que lo habían quitado: nada.
«>Pantallazo-Disks Manager
En la última actualización que acabo de hacer en Breezy Badger va y ¡aparece de nuevo! No sé si los viajes en el tiempo son posibles, o si esto tiene algo que ver con el poder curativo por imposición de manos (tema que no viene ahora al caso pero del que quizá hablaré algún dia, por poner una vainá como dice JPOL). La cuestión es que yo lo vi allá por noviembre de 2004 y ahora es cuando aparece. No entiendo nada, ¡dime que tu también lo viste!

Escuchando: Front Line Assembly – Providence

Sin categoría

¿Será el mio más grande y más gordo?

¡Mira que sois mal pensados! me refería al mosquito, por supuesto. Cuando he visto en Dobar’s blog una entrada titulada El mosquito más grande del mundo he sentido la necesidad de buscar las fotos aquellas que hice al que maté en el sitio donde trabajaba a principios de 2004.
Puedes hacer clic en las fotos para verlas un poco más grandes:
«>Mosquito«>Comparando 01«>Comparando 02«>Con interruptor

Sin categoría

Pequeño hack en gdesklets

Llevo bastante tiempo sin que me funcione gDesklets. Al intentar iniciarlo me aparecía el mensaje:

==========================================================[07/03/05-17:25:55]====== Error in the core! Please report this bug!

[EXC]exceptions.ValueError:
[EXC]too many values to unpack
in /usr/bin/gdesklets: line 14 ?
in /usr/lib/gdesklets/main/DisplayList.py: line 38 __init__
in /usr/lib/gdesklets/main/DisplayList.py: line 62 __load_list
[—]/usr/lib/gdesklets/main/DisplayList.py
[—] 57 self.__profiles[self.__current_profile] = []
[—] 58
[—] 59 for line in data:
[—] 60 if (not line):
[—] 61 continue
[ERR]> 62 ident, path, profile = line.split()
[—] 63 path = vfs.unescape_path(path)
[—] 64 profile = vfs.unescape_path(profile)
[—] 65 if (not profile in self.__profiles):
[—] 66 self.__profiles[profile] = []
[—] 67 self.__profiles[profile].append(ident)

Echando un vistazo a la línea que produce el problema se puede ver que al intentar obtener los valores de ident, path y profile encuentra más componentes a separar de los que espera. Lo primero que se me ocurrió es mostrar información de las líneas para ver qué estaba pasando:

for line in data:
  if (not line):
    continue
  print line
  ident, path, profile = line.split()
  […]

Con esto se puede ver las líneas de las que está intentando leer los valores que busca:

id11047078028230233 /usr/share/gdesklets/Displays/stickynotes/notes.display default

id1104707878405177 /home/nauj27/.gdesklets/Displays/LTDell/dell.display default

id11054844040964043 /home/nauj27/.gdesklets/Displays/muine_rhythm_desklet-1.7/muine_rhythm.display default

This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. /usr/share/gdesklets/Displays/others/debian-cow.display default

==========================================================[07/03/05-17:26:51]====== Error in the core! Please report this bug!
[…]

Hay alguna aplicación que lanza internamente gDesklets para ver la lista de componentes que tenemos cargados que en lugar de mostrar solo lo que se le pide muestra también una cabecera con la licencia. En la GPL«>GPL hay una parte que dice que si haces un programa para consola, las primeras líneas de la salida estándar del programa debe mostrar un mensaje informando de que es software libre e indicando que no se ofrece ninguna garantía (si es el caso):

TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
[…]
2.c If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)

Habrá maneras seguramente más finas de hacerlo pero para salir del paso he añadido esto al archivo /usr/lib/gdesklets/main/DisplayList.py

for line in data:
  if (not line):
    continue
  if line[0:4] != «This»:
    ident, path, profile = line.split()
  […]

Y voilà:

nauj27@panoramix:~$ gdesklets
Iniciando el demonio gdesklets…
Se conectó con el demonio en 4679 milisegundos.

Escuchando: Moby – Raining again

Sin categoría