viernes, julio 29, 2005

Frases chorras para firmar en las carpetas

Me estaba acordando de mi época en el instituto, en concreto de una costumbre muy cursi que tenían las niñas... firmarse cursiladas en las carpetas unas a otras. Recuerdo claramente a algunas de las niñas con la carpeta llena de mariconadas siempre abrazada de un lado para otro. Más tarde un colega (que dice que no lee este weblog, pero que me vota dos o tres veces al día, a ver si tomáis ejemplo el resto, cabronazos) me aclaró que lo de la carpeta era para no ir rozándose con las tetas por todas partes, que como estaban desarrollando no apuntaban bien con los pitones (todo lo contrario que un toro afeitado) y que molestaba porque los tenían muy sensibles... joder, no sé si esa explicación me produce ahora más fascinación que cuando la escuché por primera vez... de todos modos, no es el tema que nos ocupa (aunque desde luego que es un tema muy sabroso y que daría para un post entero por sí solo).

Pensaba hacer una recopilación de frases chorras, pero es que me estoy descojonando con una idea... que bueno, vamos allá, a ver qué os parece esta tira (me he flipado y he hecho un enlace al estilo barrapunto :p pinchad para verla entera):

Free Image Hosting at www.ImageShack.us


Bueno, ahí queda para la posteridad esa pequeña obra de arte postmoderno y decadente. ¿Qué? ¿Os animáis ya a hacer sugerencias, guiones y a insultarme?

Ah, también os dejo a vosotros la recopilación de frases chorras, que seguro que conocéis más que yo...

Actualización


A petición de un cabroncete intimista que no se digna a comentar por aquí :p le he dado color a la tira... yo creo que pierde algo de magia, pero la versión en escala de grises no está mal:

martes, julio 26, 2005

Novedades en el blog

Ahora que llega el verano, entre party y party, práctica y práctica, resaca y resaca, a uno le entran ganas de ponerse creativo.

Teniendo ya varias cuentas en gmail y un blog, sólo me quedaba una cosa para sentirme realizado: una tira on-line. Pero claro, para hacer una tira y no quedar como un patán hay que cumplir varios requisitos:
  1. Ser original.
  2. Tener gracia
  3. No ser patético.
Ya sé que son una mierda de puntos, pero me apetecía poner algunos. Volviendo al tema, que apetece hacer dibujitos y colgarlos en internet, coño.

Así que tenía pensadas varias ideas, que me gustaría que comentásemos entre todos (sí, chicos, la tira va dirigida a vosotros y sólo la vais a leer vosotros, así que más vale que colaboréis).
  • En lugar de una "tira cómica" hacer una "tira trágica". Que den ganas de llorar.
  • Hacer una tira de 1,2,4 o más viñetas (lo importante es huir de las típicas 3 viñetas).
  • Ya que estamos, en lugar de una tira, hacer un cómic entero.
Yo me decanto por la última opción. Creo que puedo hacer una producción bastante decente (de muestra un botón: desde hace unas semanas ahí arriba tenéis a la nueva mascota, espero que os guste), pero en el guión ando algo flojo; me rondan muchas ideas por la cabeza, pero no logro definir nada impactante.

Aquí es donde entráis vosotros, mis estimados lectores. Podemos hacer una historia maja entre todos, y yo me encargo de llevarla al papel (digital, eso sí).

También me he pillado la tableta digitalizadora y todo, pero los putos drivers me están jodiendo, hermano... os pongo un par de ejemplos de lo que se puede llegar a hacer simplemente con el ratón, un poco de tiempo libre y muchos huevos:


Sí, ya sé que son Espinete y D. Pinpón, pero cuando se ponen con el gore son unos profesionales (y además es fácil dibujarlos)... Seguro que estáis deseando verlos en acción con una motosierra y un machete en las manos.

Cómo ser un Porn Master

Actualizado 26 de Julio de 2005


A la vista de que nadie se impresionó con los scripts para ajustar los subtítulos de las películas ni para renombrar canciones, voy a poner un ejemplo mucho más aplicado donde ser un power-user da todos sus frutos: bajarse porno.

Supongo que todos vosotros, pajilleros y onanistas experimentados, conoceréis montones de páginas en las que te puedes bajar videos guarros de muestra que duran un par de minutos. Alguno sabiamente dijo una vez "pues yo voy cambiando la dirección, me los bajo todos, y así tengo una película más o menos completa". Esa es la forma "manual" de hacerlo, pero claro, nosotros tendremos las manos ocupadas en otras cosas y no podemos permitirnos perder el tiempo con esas menudeces.

Aquí es cuando todos nos acordamos del anuncio ese de terraadeeseeleplús donde un chaval dice "y así podré estudiar el doble de rápido". Que no, niño, que no vas a engañar a tu viejo, con eso lo que quieres es hacerte las pajas en la mitad de tiempo. Pero claro, eso sólo sirve para eyaculadores precoces, que entre que se bajan un video y el siguiente ya se han corrido. Nosotros queremos más. Necesitamos montones de videos que se vayan bajando en tiempo real para poder hacernos nuestra buena paja (la imaginación ya pasó a mejor vida).

Para poder seguir este cursillo, necesitamos las siguientes herramientas: wget y python. Si usas linux, probablemente ya tengas instalado todo lo necesario (prueba a escribir en la consola los comandos wget y python respectivamente, a ver si sale algo)... si no los tienes, puedes usar tu gestor de paquetes favorito para instalarlos. Si estás en Windows, puedes usar cygwin o bien las versiones nativas... la instalación de python es realmente sencilla y no la voy a comentar, para wget puedes mirar en esta página:

http://gnuwin32.sourceforge.net/packages/wget.htm

Vamos al turrón... lo primero es localizar una página en la que haya videos de esos de demostración. En http://www.petardas.com tenemos un montón de enlaces útiles. Una vez que tenemos una, hay que inspeccionar las urls de los videos. Necesitamos que sigan algún patrón, si es numérico y fácil mejor que mejor.

Lo siguiente que haremos es programar un script que nos genere todas las direcciones de los videos, que utilizaremos para que wget los descarge por nosotros.

Veamos algunos ejemplos:


Creamos el script "genera.py":
base = "http://freempegs.aebn.net/anal_"
for i in range(1,46):
for j in range(1,6):
print base + str(i).zfill(4) + "_" + str(j) + ".mpg"

Lo ejecutamos, y redirigimos la salida a un fichero "lista.txt":
$ python genera.py > lista.txt

Ahora, le decimos a wget que nos baje todos los ficheros a los que hace referencia "lista.txt":
$ wget -i lista.txt

Et voi la! Tenemos un puñado de videos de chicas siendo sodomizadas por fornidos mozos.


Si toda esta perversión no te ha parecido suficiente, tenemos un ejemplo un poco más elaborado... ahora el problema radica en que hay varios archivos que se llaman igual, pero están en rutas distintas. La solución pasa por ejecutar wget indicándole también el nombre del archivo local donde se guardará lo que bajemos. Para ello, ahora el script no tendrá únicamente una lista de urls, sino el comando completo para invocar a wget:


El archivo "genera.py"
base = "http://hardcoremovieserver.com/galls/"

for i in range(151,200):
for j in range(1,4):
print "wget " + base + str(i).zfill(3) + "/" + str(j) + ".mpg -O " + str(i).zfill(3) + "_" + str(j) + ".mpg"

Ahora hay que currárselo un poquito más, y pasarle todo el resultado del programa al intérprete de comandos:
$ python genera.py | bash

Y hale, a ver qué sale... aquí tenemos otro problema añadido, y es que algunos de los ficheros que nos tanto nos gustaría bajar no existen, y en su lugar se baja el archivo "missing.html" (o similar), con el nombre que le tocase al fichero bueno. Para hacer una criba posterior, podemos filtrarlos por tamaño con un
$ du -sh * | sort
o con
$ file * | sort

¿Que también queremos deshacernos automáticamente de los que se hayan bajado y sean páginas web en lugar de vídeos? no problemo, podemos hacerlo con una sencilla línea de comandos:
$ file * | grep HTML | awk  -F: '{print "rm " $1}' | bash

Sí, es la rehostia, lo sé...


En fin, todo eso para los que digan que Linux (o cualquier Unix) no tiene ventajas sobre Windows (al menos sin Cygwin hay muchas cosas que no se pueden hacer...).

Ah, y por último, si a alguno después de esta maravillosa lección de scripting le interesa ver los videos, puede usar el xine o el mplayer.

Actualización


Algo más sencillote, aunque no tan flexible, es usar el wget directamente con estas opciones:
$ wget --recursive --accept="*.mpg" http://www.hardcorepetites.net/a/24l/index67.html
Y se baja todos los videos de la página... normalmente no funciona bien a múltiples niveles porque los cabrones de los pornógrafos no tienen activado el listado de directorios...

viernes, julio 22, 2005

Más cosas que pasan en el Cercanías

¿Qué cara se le queda a uno cuando entran 3 soldados del cuerpo de operaciones especiales armados con subfusiles y con chalecos de kevlar en el mismo tren que viaja uno y comienzan a inspeccionar a la gente?

Ésta: o_O

Al final creo que voy a acabar cogiéndole asco al puto tren...

lunes, julio 18, 2005

Más ciencia y menos ficción

Surfeando (qué cooooooooool...) por la web, llegué a la página del CERN y encontré un artículo bastante curioso aclarando algunas dudas que les surgieron a los lectores del libro Ángeles y Demonios acerca de esa organización. Aunque no hayamos leido el libro (yo no lo he leido y tampoco tengo intención de hacerlo), en ese artículo hay preguntas y respuestas que pueden entretener a cualquier persona curiosa durante un rato; aquí la url del artículo:
http://public.web.cern.ch/Public/Content/Chapters/Spotlight/SpotlightAandD-en.html

Si seguimos los enlaces que hay allí, encontramos lecciones de historia de la Física moderna (que desde luego es más fácil de seguir que la propia Física), datos sobre las tecnologías usadas en la investigación de partículas actualmente y cómo se aplican algunos resultados en la práctica (medicina sobre todo), la historia de la Web...

A mucha gente le podrá parecer aburrido. A mí no.

jueves, julio 14, 2005

Más referrers

Otro repasito a qué cosas busca la gente cuando llega a este blog (los rankings pueden haber variado desde que escribí esto hasta el momento en el que se lea):
Así funciona el mundo...

Vamos a darles unos pequeños consejos, como es costumbre, a los que llegan a esta página más perdidos que Marco y su mono en el Día de la Madre:
  • Al de los frikis: sí, creo que has llegado al sitio correcto, pero un poquito más de respeto, que los frikis también son personas, no especímentes de laboratorio que ser examinados para satisfacer tu morbosa curiosidad.
  • Al de las fotos porno de jovencitas...: ¡sí, tío! ¡mira cuanto porno tienes a tu alrededor! ¡sigue masturbándote sobre tus heces mientras escuchas a los Village People!
  • Al de los bebés y las putas calientes: tú eres un puto enfermo y necesitas ayuda psicológica urgente, pásate por el Consultorio Sexual de Magdalena Vermús.
  • Al del chaval con la polla en el cuarto de baño: sí, normalmente los chavales no se la quitan al entrar en el cuarto de baño, es más, es muy útil para mear de pie.
  • Al que quiere hacer sus pinitos con la masturbación: no es tan complicado, hombre, la mayoría aprende sin necesidad de leer ningún tratado, como hizo mi admirado Karlos Arguiñano. Si quieres experimentar cosas nuevas, te enlazo la recopilación de las técnicas masturbatorias que tanto dió que hablar (y que hizo a este blog un poquito más popular): ¿nos hacemos unas pajillas?
  • Al del counter strike y los efectos psicológicos: seguro que eres algún triste gilipollas de esos que asocian "rol = asesinatos", "informático = pederasta" y "videojuegos = enfermedad mental". Pues que te den por culo, que seguro que hay más asesinos que juegan al mus que al rol, más viejos verdes jubilados que informáticos pederastas y más enfermos por las putas tragaperras, los bingos y los casinos que por los videojuegos.
  • Al de la evolución del hombre y su inteligencia: espero que las reflexiones menos bazofia que de vez en cuando hay por aquí y los enlaces que hemos colgado te hayan servido de alguna ayuda. De todos modos, viendo lo que busca la gente, a uno le resulta curioso hablar de ser humano e inteligencia en el mismo contexto...

domingo, julio 10, 2005

Auténticas frikadas veraniegas

Cualquier parecido con la realidad en este artículo es pura coincidencia, ya que se trata de una historia de ficción y me la estoy inventando sobre la marcha.
Después de tomarse unos cubatas, el mundo se aprecia de otra manera. Algunos sabrán que el Libro Guinness de los Records lo creó la famosa marca de cervezas para resolver las discusiones que se planteaban los borrachos en los pubs y las tabernas.

La noche comenzó discutiendo en torno a unos calimochos cuántas ciudades en los EE.UU. había más grandes que Madrid. Yo sostenía que como mucho habría 3 (L.A. y N.Y.C. seguras y luego Chicago, Detroit o alguna por el estilo), mientras que un colega decía que debería haber unas 4 o 5 mucho más grandes y luego unas 10 más o menos del mismo tamaño. La discusión siguió durante algún rato, pero ante la imposibilidad de llegar a ninguna conclusión mediante el "a ver quién grita más" dije que lo dejaríamos hasta tener una enciclopedia delante.

Continuamos hasta acabar en la casa de un amigo tomándonos unas copichuelas de ron. Me acordé de la discusión anterior y fui a buscar la respuesta a la wikipedia: Ciudades más grandes de los Estados Unidos. Efectivamente, sólo L.A. y N.Y. tenían más de los 3 millones de habitantes que aproximadamente tiene Madrid. Luego surgió otra discusión diciendo que si la wikipedia estaba equivocada y blah, blah... supongo que estarían confundiendo datos de la llamada área metropolitana en cuyo ranking mundial Madrid estaría en la posición 48, justo por detrás de Filadelfia (en total con 6 ciudades de los EE.UU. por delante).

Con la discusión zanjada y una vez en la calle, estábamos flipándonos un poco mientras hablábamos de Ong Bak. La conversación derivó de las hostias hacia el atletismo y acabamos hablando los records de velocidad en los 100 m lisos. Empezamos a divagar sobre cuánto tardaríamos nosotros en correr los 100 metros lisos. Ya que una discusión de borrachos no lleva a ninguna parte, nos fuimos hasta el polideportivo a comprobarlo...
Continuará (o no).

viernes, julio 08, 2005

Yo también soy londinense

Me han dolido especialmente los atentados que se han producido en Londres la mañana del 7 de Julio.

Primero porque como madrileño, sé qué se siente cuando vives tan de cerca una cabronada de ese calibre. No me avergüenzo de haber llorado aquella mañana del 11-M. Sin embargo, sí que siento vergüenza por no haber llorado hoy... aquella vez fue impotencia y tristeza, hoy ha habido rabia y odio.

Lo segundo es porque todavía está muy reciente ese viaje a Londres. A lo mejor recordáis que dije que lo que más me encantó de esa ciudad es lo abierta que era, la mezcla de culturas, el respeto, poder discutir tranquilamente sobre religión con unos musulmantes en el Speakers Corner... recuerdo que me miraron raro cuando dije que era de Madrid y que conocía perfectamente a lo que se llegaba por medio del fanatismo religioso de cualquier tipo y me soltaron el rollo de el Islam es paz, amor y piruletas. En fin, supongo que ahora se les han quebrado los argumentos.

Hace tiempo, unas semanas después del 11-M, vaticiné que dada la forma de pensar de esas alimañas, el siguiente atentado sería en Londres, en autobuses o barcos. Lamento haberme acercado tanto con la funesta predicción.

lunes, julio 04, 2005

Me gusta conducir (es broma)

No hace ni una semana que me he sacado el permiso de conducir y ya odio los coches. Resulta que teníamos el coche viejo sin batería debido a que algún despistado (ejem, ejem!) se dejó el contacto puesto y se descargó.

Primero intentamos arrancarlo empujando. Al principio yo solo. Luego tuve que recurrir a colegas para que nos ayudasen a empujar. Vaya puto infierno. El que inventó eso de empujar para arrancar los coches era un hijo de puta. Finalmente desistimos y se decidió que lo más aconsejable era comprar unas pinzas para hacer un bypass con el coche nuevo.

Compré las pinzas y por la mañana temprano nos pusimos a la tarea. Mi hermano consiguió arrancar el coche a la primera sin demasiado esfuerzo. Como todavía recela de mis aptitudes al volante, decidió darse él solo una vuelta para que se cargase la batería.

Ya me estaba pareciendo a mí que tardaba demasiado cuando llega con la camiseta llena de sudor y jadeante. El coche se le había calado y le había dejado tirado, como finamente decimos por aquí, a tomar por culo. Como los dos teníamos compromisos ineludibles, dejamos el segundo asalto para por la tarde.

Nos vamos con el coche nuevo a la zona cero y procedemos a la maniobra de colocado de las pinzas. Eso de las pinzas al final resulta que es más doloroso que colocarse unas idem en los pezones. El coche no arrancaba ni patrás... cuando nos aburrimos de intentarlo, fuimos a comprar una batería al Carreful. Esta vez no estábamos para coñas con la cajera, entre otras cosas, porque era un cajero.

Llevamos la batería nueva al coche viejo y conseguimos que arranque. Para volver a casa yo cojo el coche nuevo. Joder, ¡qué gusto, qué suavidad de pedales, qué maravilla de dirección asistida, qué reprís en cuanto pisas el acelerador...! total, que aparcamos en frente de casa y nos ponemos a hacer un poco de tuning... ¡Dimitri, pásame el kalashnikov!

No os preocupéis, no era nada serio. Es que el pomo de las marchas estaba un poco roto, resecado de tantas horas expuesto al implacable sol y había comprado uno con lucecitas para reemplazarlo. Antes de ponerme a hacer el burro consulto un poco por internet y me encuentro con esto: Cómo quitar el pomo de un peugeot... todo eso es mentira cochina, al final me tuve que poner a hacer el burro, con una sierra, una lima, un martillo y un cincel.

Cuando ya tuvimos la mini-discoteca portátil en la palanca de cambios salimos a dar otra vuelta para asegurarnos de que el coche se movía. Después de un rato le digo a mi hermano que me deje a mí, que ya estoy en racha. Me fijo en que la salida del escape tiene una tonalidad blanquecina... como todavía tengo fresco el teórico le digo a mi hermano que posiblemente esté quemando aceite. Por suerte nuestra casa ya estaba cerca.

Llego y aparco el coche. Nos bajamos y nos aterroriza una enorme mancha de aceite en el suelo, que ha sido precedida por un goteo de densidad inversamente proporcional a la velocidad con la que me aproximé. Ese puto buga chorreaba más aceite que toda la cabalgata del Orgullo Gay junta.

Manda cojones. Todavía no tengo ni el carné y ya se me ha jodido el coche. Hale, a gastarme dinero... creo que al final estoy mejor con el abono transportes. Y además es más ecológico.

sábado, julio 02, 2005

Renombrar canciones

o cómo se sigue aburriendo un informático...

Son las 5 de la mañana y acabo de culminar el proceso de automatización que empecé hace mucho tiempo para uniformar los nombres de los ficheros de mi colección de música.

Yo soy bastante quisquilloso con los nombres que tienen mis archivos, me gusta que todo esté ordenadito y consistente. Cuando ripeas tus discos para escucharlos en el ordenador, eres tú el que escoge el formato, pero cuando te bajas algún disco, normalmente cada uno tiene sus propias preferencias...

A mí personalmente me gusta tener una carpeta para cada grupo de música, y dentro una para cada disco, y dentro las canciones del siguiente modo: "'01 - Time To Relax.mp3". Lo más frecuente es que al descargar algo, el nombre del fichero sea algo así "the offspring-smash_1_time-to-relax_by-jaquer-juan.mp3" y uno tenga que ir canción por canción cambiando el nombre a mano.

Muy pronto me di cuenta de que había una forma mejor y más rápida (bueno, no siempre más rápida, pero al menos sí menos tediosa). Consistía en, estando en Güindous, abrir un intérprete de comandos, hacer un "dir /w", copiar el resultado en un editor de texto, abrir una hoja de cálculo en la que se ponía en la primera columna ren " en la segunda se pegaban los nombres de las canciones, en la tercera " ", en la cuarta se pegaba otra vez los nombres de las canciones y en la quinta se cerraban las comillas... aprovechando que la hoja de cálculo permite buscar y reemplazar sólo en una columna, se hacían los cambios pertinentes en la cuarta, después se copiaba todo al editor de texto, se eliminaban los tabuladores y se pegaba por fin en el intérprete de comandos, que obedientemente cambiaba los nombres de las canciones.

Eso era mucho pifostio para tan poca cosa. Tenía que haber una manera más sencilla. De hecho la había, y la encontré. Se trataba de emplear sabiamente la consola de Linux (o Cygwin en Güindous) y hacer unos scripts de AWK que facilitasen el trabajo.

El primer script, llamado "substs_delim.awk" se encargaba de reemplazar un texto por otro en el nombre de un fichero. Aquí está el código:

BEGIN{
 cmd = "mv"
}
{
 nombre=$1;
 for (i = 2; i<=NF;i++){
         nombre=nombre s $i;
 }
 print cmd" \""$0"\" \""nombre"\"";
}

La forma de ejecutarlo era la siguiente. Supongamos que te molesta el "ripped-by-juani-the-jaquer" que tienen los archivos... desde la carpeta donde están los emepetreses:
ls | awk -f substs_delim.awk -F "ripped-by-juani-the-jaquer" -v s="" | bash
Lo que hace es pasarle la lista de los archivos (ls) al programa de awk, que genera los comandos de cambiar los nombres de los archivos y finalmente pasárselo al intérprete de comandos para que los ejecute.

Esto es el pan de cada día de un usuario vago de Un*x. Pero requería cierto esfuerzo cuando había que realizar varios pasos para quitar o cambiar varias cosas y en ocasiones había que echar mano de otros scripts para insertar el " - " detrás del número de la canción...

Así que como no podía dormirme a las 3:30 de la mañana, arranqué el ordenador y me puse a hacer el script definitivo: "rename_titles.py"



#!/usr/bin/python
import sys

command = "mv"
c = "\""

def removeFirstEqual(lines):
        if len(lines) < 2:
                return []
        firstPart = lines[0].split()[0]
        for i in lines:
                if i.split()[0] != firstPart:
                        return []
        newLines=[]
        for i in lines:
                tmp = " ".join(i.split()[1:])
                newLines += [tmp]
        return newLines

def removeLastEqual(lines):
        if len(lines) < 2:
                return []
        lastPart = lines[0].split()[-1]
        for i in lines:
                if i.split()[-1] != lastPart:
                        return []
        newLines=[]
        for i in lines:
                tmp = " ".join(i.split()[:-1])
                newLines += [tmp]
        return newLines

def removeAllEquals(lines):
        res = removeFirstEqual(lines)
        while(res):
                lines = res
                res = removeFirstEqual(lines)
                res = removeLastEqual(lines)
        while(res):
                lines = res
                res = removeLastEqual(lines)
        return lines

def replaceAllRare(line):
        line = line.replace("_"," ")
        line = line.replace("."," ")
        line = line.replace("-"," ")
        line = " ".join(line.split())
        return line

class Song:
        def __init__(self, title):
                self.title = title
                self.findNumber()
                self.findExtension()
                self.title = " ".join(title.split()[1:-1])

        def findNumber(self):
                self.number = "0"
                for i in self.title.split():
                        if (i.isdigit()):
                                self.number = i
                                return

        def findExtension(self):
                self.extension = self.title.split()[-1]

        def toString(self):
                return self.number.zfill(2) + " - " + self.title + "." + self.extension
        def __repr__(self):
                return self.toString()

def printCommand(orig, dest):
        print command + " " + c + orig + c + " " + c + dest + c

lines = [i.strip() for i in sys.stdin]
result = [replaceAllRare(i) for i in lines]
songs = [Song(i) for i in result]
result = removeAllEquals(result)
result = [" ".join(i.split()[1:]) for i in result]
result = removeAllEquals(result)

for i,j in zip(songs, result):
        i.title = j.title()

for orig, dest in zip(lines, songs):
        printCommand(orig, str(dest))
 Esta pequeña maravilla de menos de 100 líneas de código en Python se encarga ella solita de, a partir de una lista de nombres, encontrar los cachos molestos, quitarlos y dejarlo todo como una patena.

De nuevo, requiere que le pasemos como entrada un "ls" y redirijamos la salida a un "bash", pero se recomienda echar un vistazo primero sin el "bash" para ver si el resultado es de nuestro agrado.

Espero que por lo menos le sirva a otra persona para limpiar su discografía, porque si no vaya hora y media más tirada... ¿dudas? ¿preguntas? ¿sugerencias?