Korn Shell Settings
2008-07-18 20:30:16-05
Hacks
Este es mi ~/.kshrc:
Y esto es lo que tengo en ~/.profile:
Ejemplo de mi prompt:
# ~/.ksrch: Korn Shell Settings
#
# Variables de entorno del shell
export EDITOR=vi
export FCEDIT=$EDITOR
export HISTEDIT=$EDITOR
export HISTFILE=~/.ksh_history
export HISTSIZE=1024
export VISUAL=$EDITOR
# A la cuenta del root no le gusta los locales
if [ $USER != "root" ]; then
#export LANG=en_US.UTF-8
export LANG=en_US.ISO8859-1
export LC_ALL=$LANG
fi
# Usamos el estilo de vi para la linea de comandos
set -o vi
# El estilo del commando ls
if [ $USER != "root" ]; then
alias ls='ls -AF'
fi
# El estilo del prompt
export PS1='
$(whoami)@$(hostname)
$(date)
$(pwd)
[$(tty):!]# '
# Otras rutas de acceso
export PATH=$PATH:
#
# Variables de entorno del shell
export EDITOR=vi
export FCEDIT=$EDITOR
export HISTEDIT=$EDITOR
export HISTFILE=~/.ksh_history
export HISTSIZE=1024
export VISUAL=$EDITOR
# A la cuenta del root no le gusta los locales
if [ $USER != "root" ]; then
#export LANG=en_US.UTF-8
export LANG=en_US.ISO8859-1
export LC_ALL=$LANG
fi
# Usamos el estilo de vi para la linea de comandos
set -o vi
# El estilo del commando ls
if [ $USER != "root" ]; then
alias ls='ls -AF'
fi
# El estilo del prompt
export PS1='
$(whoami)@$(hostname)
$(date)
$(pwd)
[$(tty):!]# '
# Otras rutas de acceso
export PATH=$PATH:
Y esto es lo que tengo en ~/.profile:
export ENV=~/.kshrc
Ejemplo de mi prompt:
asarch@hell
Fri Jul 18 20:28:12 CDT 2008
/usr/pkgsrc/emulators/wine
[/dev/ttyp2:1035]$
Fri Jul 18 20:28:12 CDT 2008
/usr/pkgsrc/emulators/wine
[/dev/ttyp2:1035]$
Permalink: http://www.mononeurona.org/users/entry/asarch/1440
El despertar del Dæmonio
2008-07-18 20:09:53-05
Hacks
Desde que me inicié en esto de Unix (como filosofía y no como la marca registrada UNIX®), el editor vi siempre ha sido para mi uno de los grandes y fascinantes enigmas .
No entendía el por qué de su naturaleza (un tanto chocante para el iniciado), sus modos, sus variantes, sus clones, las diferencias entre ellos, sus licencias, el por qué de tantos de ellos, etc., y sobre todo, la médula en la que se centra su edición y su naturaleza: el editor ex.
Para tratar de comprender mejor esta mantra me compré el libro “Learning the vi editor” junto con su versión de bolsillo de Arnold Robins, me leí de cabo a rabo (más o menos) la ayuda en línea del vim, la ayuda en línea de su otro clón: el Elvis (el vi oficial de los slackers y de donde se inspiró Keith Bostic para hacer el nvi, el "New VI", el vi *OFICIAL* de los *BSD), el man page del nvi de los BSD, el comando “:visuage” del nvi asi como tambien el comando “:exusage” y seguía sin poder comprender.
En fin, todo lo relacionado con vi/ex (y por lo ende, todo lo que sea relacionando con el editor estándar de Unix: el editor ed).
Hubo incluso un tiempo en que decidí engañarme y usar el otro mantra de Unix (que en realidad no nació en Unix sino en una PDP-10 que usaba el sistema operativo TOPS-10 y nació en Unix por la frustación de no poder asimilar el mantra de vi. Por eso me atrevo a decir que un usuario de Emacs es un usuario fracasado de vi en potencia. Si tan solo los usuarios fracasados del editor vi pudieran contarse con las... !momento! !ya se puede: vi vs emacs!), el editor Emacs y olvidarme de vi como aquél cuyo amor imposible hace que se olvide de la mujer que tanto quiso pero que nunca le pudo o hubo manera de entregarle todo el amor que sentía por ella.
Incluso imprimí todo sus manuales porque tenía las esperanzas falsas de que en este mantra finalmente iba a encontrar mi felicidad hasta que una noche cansado de hacer tantas “muecas” con las manos por presionar las teclas del “método abreviado” tan mamones que tiene este editor decidí volver derrotado una vez más para ver si en esta ocasión podía conquistar el amor de vi/ex de una vez por todas.
Todas las noches leía con vehemencia el manual del editor Sam, la versión oficial y gráfica del editor ed para el que iría ser el sucesor de Unix pero por falta de tiempo no lo fue (jubilaron a los desarrolladores): el sistema operativo Plan 9, pero no me cabía en la cabeza cómo es que alguien pudiera siquiera preferir un editor de “líneas” a un editor normal, hice miles de anotaciones, leía y leía sin comprender hasta que un día...
Suponiendo que vas a escribir un sencillo programa en C:
Pero suponiendo que por algún motivo ya no vamos querer la salida estándar (“stdout”) para mostrar el saludo sino la salida estándar de error (“stderr”).
He aqui el meollo de vi/ex y ed:
Con un editor normal habriamos que presionar la tecla flecha abajo unas cinco veces y presionar la tecla flecha derecha unas 10 veces, dependendiendo claro si habriamos ocupado el shortcut de Ctrl+Flecha derecha, para saltarnos palabra por palabra hasta llegar al lugar del reemplazo.
Lo primero que tenemos que hacer con ed es “seleccionar” la linea que vamos a editar y eso lo conseguimos con
Segun Arnold Robins hay básicamente tres formas de poder seleccionar las líneas (digo, despues de todo ex y ed son “editores de líneas”):
Viéndolo gráficamente:
Con el comando “/printf” lo que hacemos es seleccionar la línea número 6, que es básicamente:
Despues de haber seleccionado la línea que buscamos le vamos a indicar que en esa línea realice una sustitución de texto, para eso usamos el siguiente comando:
Que es básiamente:
Si queremos comprobar que se haya realizado dicha sustitución o comprobar que se haya efectuado en el lugar que indicado, imprimimos el contenido de la dirección actual con el comando “p”:
Y vemos que satisfactoriamente el cambio se ha realizado.
Guardamos el archivo:
Compilamos:
Y ejecutamos:
Y ¡listo! Esta es la manera, expresado de la manera más simple, en la que ed/ex o cualquier otro editor de líneas operan.
Lo que hace muy poderoso a un editor de líneas es la posibilidad de poder usar las expresiones regulares (esas todavía me hacen falta por comprender) como por ejemplo, del libro de Arnold Robins:
Tenemos la siguiente base de datos:
Y queremos cambiar el orden de los nombres:
Sólo con teclear el siguiente poderoso comando con la siguiente poderosa expresión regular:
realizamos dicha tarea.
Por cierto, ed y ex son tan diferentes como un hombre y una mujer así que el juego de comandos de ed varia un poco en ex y viceversa.
Cuando nos encontramos en vi (que es solamente el modo visual de ex) todos los comandos de ex tienen que llevar implicito los dos puntos (“:”) para indicar que no es un comando del modo visual sino de ex propiamente. Como cuando guardamos un archivo:
Y cuando nos encontramos en ex, el editor automáticamente los agrega:
Y pues bien, esto fue, expresado en mis propias palabras, mi iluminación con ed/ex.
No entendía el por qué de su naturaleza (un tanto chocante para el iniciado), sus modos, sus variantes, sus clones, las diferencias entre ellos, sus licencias, el por qué de tantos de ellos, etc., y sobre todo, la médula en la que se centra su edición y su naturaleza: el editor ex.
Para tratar de comprender mejor esta mantra me compré el libro “Learning the vi editor” junto con su versión de bolsillo de Arnold Robins, me leí de cabo a rabo (más o menos) la ayuda en línea del vim, la ayuda en línea de su otro clón: el Elvis (el vi oficial de los slackers y de donde se inspiró Keith Bostic para hacer el nvi, el "New VI", el vi *OFICIAL* de los *BSD), el man page del nvi de los BSD, el comando “:visuage” del nvi asi como tambien el comando “:exusage” y seguía sin poder comprender.
En fin, todo lo relacionado con vi/ex (y por lo ende, todo lo que sea relacionando con el editor estándar de Unix: el editor ed).
“...y al buscar, en el aliento de otras bocas, el perfume que engañara mis tristezas...”.
— Canción popular, Falsa.
— Canción popular, Falsa.
Hubo incluso un tiempo en que decidí engañarme y usar el otro mantra de Unix (que en realidad no nació en Unix sino en una PDP-10 que usaba el sistema operativo TOPS-10 y nació en Unix por la frustación de no poder asimilar el mantra de vi. Por eso me atrevo a decir que un usuario de Emacs es un usuario fracasado de vi en potencia. Si tan solo los usuarios fracasados del editor vi pudieran contarse con las... !momento! !ya se puede: vi vs emacs!), el editor Emacs y olvidarme de vi como aquél cuyo amor imposible hace que se olvide de la mujer que tanto quiso pero que nunca le pudo o hubo manera de entregarle todo el amor que sentía por ella.
Incluso imprimí todo sus manuales porque tenía las esperanzas falsas de que en este mantra finalmente iba a encontrar mi felicidad hasta que una noche cansado de hacer tantas “muecas” con las manos por presionar las teclas del “método abreviado” tan mamones que tiene este editor decidí volver derrotado una vez más para ver si en esta ocasión podía conquistar el amor de vi/ex de una vez por todas.
Todas las noches leía con vehemencia el manual del editor Sam, la versión oficial y gráfica del editor ed para el que iría ser el sucesor de Unix pero por falta de tiempo no lo fue (jubilaron a los desarrolladores): el sistema operativo Plan 9, pero no me cabía en la cabeza cómo es que alguien pudiera siquiera preferir un editor de “líneas” a un editor normal, hice miles de anotaciones, leía y leía sin comprender hasta que un día...
Suponiendo que vas a escribir un sencillo programa en C:
- Abres una ventana del emulador de terminal y tecleas:
[$] ed
y te aparece lo siguiente:
¡Nada porque aún no hay nada escrito!
- Para empezar a escribir el código fuente es necesario decirle a ed que vamos a agregar texto, para eso usamos el comado “a” (del inglés “append”, ¡d'oh!):
a
- Y empezamos a hackear:
#include
main (int argc, char* argv[])
{
fprintf (stdout, "Hello, world!\n");
return (EXIT_SUCCESS);
}
main (int argc, char* argv[])
{
fprintf (stdout, "Hello, world!\n");
return (EXIT_SUCCESS);
}
- Ahora vamos a detener la inserción de texto para poder guardar el archivo:
.
por cierto, es un sólo punto (“.”).
- Guardamos con el comando “w” (“write”) más el nombre del archivo:
w main.c
116
116
El número que aparece enseguida es el total de bytes que ed guardó en el disco.
- Compilamos:
[$] gcc -o saludo main.c
main.c: In function 'main':
main.c:6: error: 'EXIT_SUCCESS' undeclared (first use in this function)
main.c:6: error: (Each undeclared identifier is reported only once
main.c:6: error: for each function it appears in.)
main.c: In function 'main':
main.c:6: error: 'EXIT_SUCCESS' undeclared (first use in this function)
main.c:6: error: (Each undeclared identifier is reported only once
main.c:6: error: for each function it appears in.)
Y vemos con tristeza que por las prisas nos hemos olvidado de agregar la cabecera estándar “stdlib.h” para el “EXIT_SUCCESS”.
- Ahora editamos el archivo:
[$] ed main.c
- Y le inidicamos que en la línea número 1 le vamos a agregar texto:
1a
- y corregimos:
#include
- Detenemos la inserción de texto:
.
Recuerda, es un sólo punto (“.”).
- Compilamos y probamos:
[$] gcc -o saludo main.c
[$] ./saludo
Hello, world!
[$] ./saludo
Hello, world!
Pero suponiendo que por algún motivo ya no vamos querer la salida estándar (“stdout”) para mostrar el saludo sino la salida estándar de error (“stderr”).
He aqui el meollo de vi/ex y ed:
Con un editor normal habriamos que presionar la tecla flecha abajo unas cinco veces y presionar la tecla flecha derecha unas 10 veces, dependendiendo claro si habriamos ocupado el shortcut de Ctrl+Flecha derecha, para saltarnos palabra por palabra hasta llegar al lugar del reemplazo.
Lo primero que tenemos que hacer con ed es “seleccionar” la linea que vamos a editar y eso lo conseguimos con
/printf
Segun Arnold Robins hay básicamente tres formas de poder seleccionar las líneas (digo, despues de todo ex y ed son “editores de líneas”):
- De manera explícita através del número de línea.
- Con símbolos que te ayuden a especificar el número de línea apartir de la dirección actual.
- Por medio de expresiones regulas (“regexp”), que es el método mas eficaz, poderoso y confuso y es el que usamos con “/printf”).
Viéndolo gráficamente:
| 1 |
#include |
| 2 |
#include |
| 3 |
|
| 4 |
main (int argc, char* argv[]) |
| 5 |
{ |
| 6 |
fprintf (stdout, "Hello, world!\n");
|
| 7 |
return (EXIT_SUCCESS);
|
| 8 |
} |
Con el comando “/printf” lo que hacemos es seleccionar la línea número 6, que es básicamente:
- “/” <- Busca
- “printf”<- La expresión regular indicada.
| 1 |
#include |
| 2 |
#include |
| 3 |
|
| 4 |
main (int argc, char* argv[]) |
| 5 |
{ |
| 6 |
fprintf (stdout, "Hello, world!\n");
|
| 7 |
return (EXIT_SUCCESS);
|
| 8 |
} |
Despues de haber seleccionado la línea que buscamos le vamos a indicar que en esa línea realice una sustitución de texto, para eso usamos el siguiente comando:
s/stdout/stderr/
Que es básiamente:
- “s/” <- Realiza un reemplazo de
- “stdout/” <- La siguiente expresión regular por
- “stderr/” <- La siguiente expresión regular.
| 1 |
#include |
| 2 |
#include |
| 3 |
|
| 4 |
main (int argc, char* argv[]) |
| 5 |
{ |
| 6 |
fprintf (stderr, "Hello, world!\n");
|
| 7 |
return (EXIT_SUCCESS);
|
| 8 |
} |
Si queremos comprobar que se haya realizado dicha sustitución o comprobar que se haya efectuado en el lugar que indicado, imprimimos el contenido de la dirección actual con el comando “p”:
p
fprintf (stderr, "Hello, world!\n");
fprintf (stderr, "Hello, world!\n");
Y vemos que satisfactoriamente el cambio se ha realizado.
Guardamos el archivo:
w
120
120
Compilamos:
[$] gcc -o saludo main.c
Y ejecutamos:
[$] ./saludo
Hello, world!
Hello, world!
Y ¡listo! Esta es la manera, expresado de la manera más simple, en la que ed/ex o cualquier otro editor de líneas operan.
Lo que hace muy poderoso a un editor de líneas es la posibilidad de poder usar las expresiones regulares (esas todavía me hacen falta por comprender) como por ejemplo, del libro de Arnold Robins:
Tenemos la siguiente base de datos:
Name: Feld, Ray; Areas: PC, UNIX; Phone: 123-4567
Name: Joy, Susan S.; Areas: Graphics; Phone: 999-333
...
Name: Joy, Susan S.; Areas: Graphics; Phone: 999-333
...
Y queremos cambiar el orden de los nombres:
Name: Ray Feld; Areas: PC, UNIX; Phone: 123-4567
Name: Susan S. Joy; Areas: Graphics; Phone: 999-333
...
Name: Susan S. Joy; Areas: Graphics; Phone: 999-333
...
Sólo con teclear el siguiente poderoso comando con la siguiente poderosa expresión regular:
:g/^Name/s/: *\([^,]*\), \([^;*\);/: \2 \1;/
realizamos dicha tarea.
Por cierto, ed y ex son tan diferentes como un hombre y una mujer así que el juego de comandos de ed varia un poco en ex y viceversa.
Cuando nos encontramos en vi (que es solamente el modo visual de ex) todos los comandos de ex tienen que llevar implicito los dos puntos (“:”) para indicar que no es un comando del modo visual sino de ex propiamente. Como cuando guardamos un archivo:
:w calculo.c
Y cuando nos encontramos en ex, el editor automáticamente los agrega:
w calculo.c
Y pues bien, esto fue, expresado en mis propias palabras, mi iluminación con ed/ex.
Permalink: http://www.mononeurona.org/users/entry/asarch/1439
Disco de instalación de NetBSD reloaded
2008-07-14 13:48:30-05
Hacks
Introducción
NetBSD ofrece una gran variedad de imágenes de discos para su instalación vía CD-ROM, de tal forma que sólo basta con teclear la dirección del servidor FTP en el Firefox, indagar un rato, decidirse y descargar la imágen con el comando wget para hacerlo de la manera más fiable y segura.
Por ejemplo, para la arquitectura x86 podríamos usar:
[$] wget -c ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-4.0/i386/installation/cdrom/boot.iso
Sin embargo, estos imágenes de discos fueron creados teniendo en cuenta que en la máquinas en donde lo vayas a usar el kernel pueda hacer uso de por lo menos una interface de red para descargar el resto de los sets que se necesita para al menos tener un sistema decente y bootear con el.
Cuando no es posible conectarse por ningún medio a la red usando las interfaces de la máquina en cuestión, debido a que el kernel del proceso de instalación no los puede reconocer, es necesario tener que descargar el resto de los set, quemarlos por separado en otro disco, cambiar el disco de instalación por este disco y continuar con el proceso. Así, de esta forma andar cargando siempre los dos discos para poder instalar NetBSD (amén de que uno de ellos se llegue a dañar y/o de que llegemos a olvidarlo en la máquina de cliente).
El siguiente proceso es para crear un disco de instalación que combine ambos discos en uno solo.
Procedimiento
Descargando los sets necesario
- Primero creamos nuestro directorio de trabajo y nos situamos dentro:
[$] mkdir ./netbsd-install-disc
[$] cd ./netbsd-install-disc
[$] cd ./netbsd-install-disc
- Ahora descargamos los componentes principales de la imágen del disco:
[$] wget -c -r ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-4.0/i386
Lo que esta de rojo es el “release” (la versión) de NetBSD y lo de azul la arquitectura.
Si desean otras versiones y/o arquitecturas solo echense un “clavado” por el servidor FTP usando Firefox y copiando y pegando dicho enlace para la versión y la arquitectura deseados.
- Ahora descargamos los sets auxiliares (los que originalmente tenemos que quemarlos en un disco por separado):
[$] wget -c -r ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-4.0/shared
- Creamos el enlace simbólico que permitirá que nuestra imágen de disco funcione:
[$] ln -s ftp.netbsd.org/pub/NetBSD/NetBSD-4.0/i386 .
No olvides el “.” (punto) al final del comando.
- Este enlace simbólico es necesario para que cuando lleguemos a la siguiente fase de la instalación:
Creando la imágen del disco
Subimos un nivel para poder crear la imágen del disco:
[$] cd ..
Ahora creamos la imágen del disco con el mkisofs:
[$] mkisofs -b ftp.netbsd.org/pub/NetBSD/NetBSD-4.0/i386/installation/floppy/boot-big.fs -J -joliet-long -log-file ./mkisofs.log -o ./netbsd-4.0-i386.iso -r -V "NetBSD 4.0 for i386" ./netbsd-install-disc
Descripción
Ok, vamos paso a paso:
- La opción “-b” es para agregar una imágen de inicio al disco de tal manera que puedas bootear con el como lo haces con las imágenes de disco que descargas de Ubuntu, Slackware, Fedora, etc.
El resto de la opción es para indicarle a mkisofs de dónde va a tomar la imágen booteable que agregará al disco, en este caso de la ruta de acceso
“ftp.netbsd.org/pub/NetBSD/NetBSD-4.0/i386/installation/floppy/boot-big.fs”
es relativa a la ruta de accesso de donde tomara los datos para crear la imágen.
- Las opciones “-J” y “-joliet-long” son por si algún despistado encuentra nuestro disco y de chismoso desea saber qué contiene usando una máquina con Windows. Estas dos opciones las puedes omitir si no usas Windows pero, por experiencia propia, te sale más barato dejarlas.
- La siguiente opción, “-log ./mkisofs.log”, es para indicarle a mkisofs que escriba todos los resultados de sus operaciones en el archivo “./mkisofs.log” de tal forma que si algo llegara a fallar podríamos hacer un estudio “post-mortem” con más calma.
- La siguiente opción “-o ./netbsd-4.0-i386.iso” es para indicarle a mkisofs el nombre de la imágen del disco que va a generar, si se omite tu pantalla se llenará de basura ya que no al contar con éste, mkisofs manda todo a la salida estándar (“stdout”).
- Así como le dijimos a mkisofs que habilitara a Windows para el uso del disco con las opciones “-J” y “-joliet-long”, con la opción “-r” le estamos diciendo que nuestra imágen tambien se usará en entornos Unix (*BSD, GNU/Linux, etc) y que tambien agregue el enlace simbólico a la imágen creada (muy necesario para que el truco funcione).
- La siguiente opción, “-V "NetBSD 4.0 for i386"”, es para agregarle el nombre a la imágen del disco (el que aparece en el Explorador del Windows o cuando tienes habilitado el dæmonio HAL de GNU/Linux).
- Y finalmente, “./netbsd-install-disc”, que es de donde tomará mkisofs la información para crear la imágen del disco.
Probando a la imágen del disco
Despues de un rato vamos a obtener el siguiente archivo:
[$] ls -lh ./netbsd-4.0-i386.iso
el cual podremos probar con QEMU (para no desperdiciar disco vírgenes):
[$] qemu-img create -f qcow2 c.img 5G
[$] qemu -localtime -m 256 -soundhw es1370 -hda c.img -cdrom ./netbsd-4.0-i386.iso -boot d
[$] qemu -localtime -m 256 -soundhw es1370 -hda c.img -cdrom ./netbsd-4.0-i386.iso -boot d
Si todo sale bien, procedemos a quemarlo.
Quemando el disco
Solo teclea:
[$] cdrecord dev=/dev/rcd0d -v -eject ./netbsd-4.0-i386.iso
y listo, a conquistar al mundo con nuestro *UNICO* disco de instalación de NetBSD para procedimientos fuera de línea.
Permalink: http://www.mononeurona.org/users/entry/asarch/1434
¿Qué +kota prefieres?
2008-07-14 12:35:49-05
Opiniones
¿Qué mascota te gusta más?
En cuanto a los caninos tambien me gustan mucho porque cuidan la casa pero no tenemos el espacio amplio suficiente para ellos y es un cuete tenerlos porque luego andan dejando sus "cosas" donde quiera y en las prisas terminas pisándolas.
- Un gato.
- Un perro.
- Un perico.
- Un canario.
- Una iguana.
- Una tortuga.
- Un puerquito (¿Babe?).
- Una serpiente (!).
- Un alacrán.
- Una tarántula.
- Un gecko (en mi casa abundan).
- Un tigre.
- Un elefante (!!).
- Un delfín.
- Una ballena.
- Otro no especificado (dilo tu).
En cuanto a los caninos tambien me gustan mucho porque cuidan la casa pero no tenemos el espacio amplio suficiente para ellos y es un cuete tenerlos porque luego andan dejando sus "cosas" donde quiera y en las prisas terminas pisándolas.
Permalink: http://www.mononeurona.org/users/entry/asarch/1433
Soporte técnico BSD
2008-07-12 18:57:44-05
General
Permalink: http://www.mononeurona.org/users/entry/asarch/1431
¡Enciende mi fuego!
2008-07-12 00:07:11-05
Rolas
Permalink: http://www.mononeurona.org/users/entry/asarch/1428
¿En qué equipo juega?
2008-07-11 16:45:26-05
General
Dos cuates que tenían mucho tiempo de no verse se encuentran por casualidad y...
— ¿Qué onda cabrón? ¿Qué cuentas? ¿Qué te has hecho? Dime.
— Pues nada cuate, aquí chambeando como siempre. Acabo de llegar de un viaje por el Brazil.
— ¿En serio? ¡Orale, qué bien! Y dime ¿qué te pareció?
— Pues dos tres. Te diré que allá solamente hay putas y futbolistas.
— ¡No chingues cabrón! Mi mujer es de allá.
— ¿En serio? ¿En qué equipo juega?
Para muestra un botón:
— ¿Qué onda cabrón? ¿Qué cuentas? ¿Qué te has hecho? Dime.
— Pues nada cuate, aquí chambeando como siempre. Acabo de llegar de un viaje por el Brazil.
— ¿En serio? ¡Orale, qué bien! Y dime ¿qué te pareció?
— Pues dos tres. Te diré que allá solamente hay putas y futbolistas.
— ¡No chingues cabrón! Mi mujer es de allá.
— ¿En serio? ¿En qué equipo juega?
Para muestra un botón:
Permalink: http://www.mononeurona.org/users/entry/asarch/1427
BUG: No se puede renombrar una galeria
2008-06-27 12:58:24-05
Hacks
Si tratas de cambiarle el nombre a una de tus galerias, aparece esto:
y si tratas de mandar el ticket aparece esto:
y si tratas de mandar el ticket aparece esto:
Permalink: http://www.mononeurona.org/users/entry/asarch/1400
Got meat?
2008-06-27 12:53:41-05
Mujeres
Permalink: http://www.mononeurona.org/users/entry/asarch/1399
Esta bien, tu mandas...
2008-06-27 11:07:16-05
Mujeres
Permalink: http://www.mononeurona.org/users/entry/asarch/1398


















