2
Mis Páginas
martes, 22 de febrero de 2022
sábado, 11 de septiembre de 2021
Bichitos
Si esto aún no pasó... ¿pasará?
---
Ya no había sol en el cielo, ya no había sonidos afuera, ya habíamos cenado. Todo indicaba que era la hora de dormir.
Metido entre las sábanas y frazadas, intentaba en vano recordar la última vez que se habían cambiado.
Debían estar ahí desde el primer día que hizo frío. O empezó a refrescar.
Estando vecinos a la primavera, esto había sido hace un rato ya.
Pensaba... ¿3 meses? ¿4 meses? ¿Están desde el invierno anterior, 1 año? No se sabe. Pero andan.
La cama está empotrada en un lugar rebuscado, de difícil acceso cuando se habla de cambiar las sábanas. Podría tranquilamente suceder que tu espalda se convierta en una copia fiel de la del David, insultos mediante.
No es fácil cambiarlas. Y, más importante, no parece necesario. Sumándole la volatilidad del tiempo, los meses pueden transcurrir como si nada, y las sábanas permanecer ahí.
Además, convierte al dueño en un benefactor social. O 'sucial'.
Esta cama que me estaba dando cobijo, también lo hacía a unos bichitos de tamaño pequeño que alguna que otra vez había visto por ahí.
No sé de dónde vinieron, pero ahí andaban. Charlamos un par de veces, incluso llegamos a jugar unas manos de truco.
También nos divertimos jugando a las peleas juntos, cuando aparecían montados en mis brazos o piel en general.
Ese día, ya metido en la cama calentita, tapado con todas las capas hasta arriba, salía solo un chorrito de luz proveniente del celular entre la oscuridad espesa de la habitación, celular que había agarrado para conversar un poco por WhatsApp antes de zambullirme en el sueño.
Siento un poquito de comezón en la piel. Me causó gracia, porque yo le había dicho a los bichitos que no me molestaran para dormir.
Me rasco, y le comento esta curiosidad a mis contactos por el celular.
Es interesante, porque llegado un punto ya no sabemos qué es real, y qué es invento del cerebro.
Empiezan a picar más partes del cuerpo. Me sigo riendo, como si me estuvieran haciendo cosquillas mis amiguitos.
Pican un poco más. Levanto las sábanas y me fijo. No había nada.
"¡Qué curioso! Me lo estoy inventando todo. Ya me dejaron en paz, son respetuosos y como les dije que no me piquen no me pican."
A vos te debe estar picando el cuerpo ahora, y no hay ningún bichito por ahí. ¿No? El cerebro es curioso. ¿No?
Hasta que siendo una mordida.
¡Me parece muy divertido que el cerebro pueda crear sensaciones así, tan reales, tan intensas!
Me toco, en el muslo, y siento algo húmedo y que me duele, como una herida recién causada. Justo donde había sentido la mordida. ¡Increíble! No sabía que podía generar una sensación tan real solo con la mente.
Dejo el celular a un costado, y la oscuridad de la habitación se vuelve ahora total.
Más cosquillitas. Ahora en los pies. En ese extremo de la cama, las sábanas se están saliendo un poco y siento un poquito de frío.
Ya se habían caído todas las capas de ropa de cama al piso, unas 4 o 5 veces en todo el tiempo en el que estuvieron en servicio.
Ante la vagancia de buscar sábanas nuevas, opté por dejar esas mismas, total el piso no estaba tan sucio. El rocío de la noche lo limpiaba a diario.
Siento algo suave entre mis dedos del pie izquierdo. Exclamo un sonido medio risa, medio nervioso, porque ya me estoy empezando a molestar. Digo. Sean los bichitos o sea yo, ya quiero dormir.
Cierro los ojos, me ladeo hacia un costado, y decido ignorar todo esto para dedicarme a dormir de una vez.
En el oído nunca me entran bichos.
Por eso cuando sentí un cienpiés caminando e introduciéndose en el conducto auditivo, supe que no era real. Y cuando pasó el segundo, lo mismo. Los ignoré con seguridad.
"Mañana creo que debería cambiar las sábanas", pensé, porque ya me iba a quedar esta sensación de incomodidad, como un recuerdo rarito, y prefería dormir bien antes que eso.
Pero no llegué a terminar de pensarlo, porque ahí escuché por primera vez el ladrido y gruñido. "Ah, bueno, es 4D este espectáculo." Y lo era.
Mis dedos del pie, a juzgar por el sonido, eran parte de su cena ahora. "Ufa, están a full estas imaginaciones. Debo estar semi dormido semi soñando."
Dolía. Bastante. Y empecé a sentir también el fluido caliente colorado saliendo de ahí, posiblemente manchando el colchón o la sábana. "Bueno, si fuera real tendría un motivo para cambiarlas", pensé, y me reí.
Y ahí es cuando cae el árbol.
Al lado mío, se cae un pino de 30 metros de altura. Y no hace ruido.
Ni un decibel.
¿Cómo sé que cayó? Por los pájaros que volando me golpearon en la cara justo después de que las ramas me rasparan todo.
Pero ya estaba durmiendo, así que no era nada tan terrible.
Es una buena idea ignorar todo lo que pasa y concentrarse en nada, para relajarse y poder dormirse mejor.
Funcionó bien, porque después de eso me desperté en el hospital, con la pierna enyesada, el muslo morado, y miraba a mi alrededor un poco confundido mientras me explicaban que me habían extraído varios insectos del tracto auditivo, y que no debería tirarme en el medio del bosque durante la noche así nomás, que me iban a ayudar, etc.
No entendí bien por qué me decían eso, capaz me hablaban de una peli, o me dijeron "vos qué" y yo entendí "bosque", en fin.
No sé qué habrán hecho con las sábanas, espero que las hayan lavado porque si voy a dormir de nuevo ahí me va a picar un poquito la piel.
miércoles, 7 de abril de 2021
Programas autorreplicantes (guía)
Esta es una guía para escribir un programa que, al ejecutarlo, imprime su propio código. (No hablo de que sale por una impresora en una hoja, imprime en pantalla...)
¿Es posible hacer esto? Sí. Por algo te hice esta guía. Empecemos.
Introducción
s='s=%r;print(s%%s)';print(s%s)
Idea principal
- Su código
- Una representación de su código como texto
- Una instrucción que imprima esa representación
Pasos a seguir
- Escribir un programa que haga algo. Nos vamos a dar la libertad de hacer uno que no haga nada, excepto printearse a sí mismo, en esta ocasión.
- Crear una variable que contenga TODO el código fuente, reemplazando las nuevas líneas, tabulaciones, comillas dobles por %c, y a sí misma por %s. Manejaremos esto posteriormente.
- Agregar una línea de printf() inmediatamente antes del fin del programa. Esta será la encargada de printear el código fuente. Hay que agregarla en la cadena también.
-
Acomodar los argumentos de printf() para que reemplace cada
%c por el carácter necesario, y %s por la cadena
que definimos.
Escribiremos su representación en ASCII para cada %c, como número decimal, para mayor facilidad. Estos son carácteres que nos complican especialmente la vida en la generación de quines, ya que se representan como secuencias de escape en las cadenas (\n, \t, \" respectivamente. Mucho lío manejar esto, porque la barra \ también necesita ser "escapada" en la representación. Mejor ASCII): - nueva línea = 10
- tabulación = 9
- comillas dobles = 34
- Escribir los argumentos del printf() en la cadena de texto, ejecutar el programa, y gozar.
Manos a la obra
#include <stdio.h>
int main() {
return 0;
}
#include <stdio.h>
int main() {
char cadena[]="";
return 0;
}
#include <stdio.h>
int main() {
char cadena[]="";
printf(/* para completar */);
return 0;
}
"#include <stdio.h>%cint main() {%c%cchar cadena[]=%c%s%c;%c%cprintf(/* para completar */);%c%creturn 0;%c}"
- Saltos de línea por %c
- Tabulaciones por %c
- Comillas dobles por %c
- La cadena en sí por %s
#include <stdio.h>
int main() {
char cadena[]="#include <stdio.h&t;%cint main() {%c%cchar cadena[]=%c%s%c;%c%cprintf(/* para completar */);%c%creturn 0;%c}";
printf(/* para completar */);
return 0;
}
printf(cadena,10,10,9,34,cadena,34,10,9,10,9,10);
#include <stdio.h>
int main() {
char cadena[]="#include <stdio.h>%cint main() {%c%cchar cadena[]=%c%s%c;%c%cprintf(/* para completar */);%c%creturn 0;%c}";
printf(cadena,10,10,9,34,cadena,34,10,9,10,9,10);
return 0;
}
#include <stdio.h>
int main() {
char cadena[]="#include <stdio.h>%cint main() {%c%cchar cadena[]=%c%s%c;%c%cprintf(cadena,10,10,9,34,cadena,34,10,9,10,9,10);%c%creturn 0;%c}";
printf(cadena,10,10,9,34,cadena,34,10,9,10,9,10);
return 0;
}
gcc hola.c -o hola.out
touch nuevo.c
./hola.out > nuevo.c
gcc nuevo.c -o nuevo.out
./nuevo.out
Quiero más
- Video de Lex Fridman sobre este tema (lo que me hizo conocerlo)
- Artículo de Wikipedia con ejemplos y más
- Quine Relay, lista de quines enlazados en más de 100 lenguajes. Gente demente.
Chau
jueves, 22 de octubre de 2020
Parque Chas
Hay gente que tiene ideas demasiado locas.
Demasiado buenas como para ser reales.
Pero algunas se llevan a cabo.
lunes, 19 de octubre de 2020
Pérdida de agua
Un día, en el que no había pasado nada interesante...
"La vecina de abajo llamó ayer..."
"Uh, ¿qué quiere ahora?"
"No, dice que... Que le cae agua del techo."
"Jodeme... ¿Otra vez? Pero si ya habíamos roto todo hace dos años y se había solucionado..."
"Y, bueno. Qué querés que haga."
Así empezaba un arreglo bastante molesto, aunque aparentemente inofensivo.
Un caño del baño, o, mejor dicho, una unión pobremente confeccionada entre dos caños, finalmente estaba teniendo un efecto negativo sobre el techo de la vecina.
En la mudanza, hace ya tantos años, habían aconsejado dejarlo así porque iba a aguantar 'unos cuantos años más'. Aparentemente, ya habían pasado esos "cuantos años".
"Em... ¿Tenés el número de algún plomero?"
"Sí, tengo un amigo que conoce unos que son de confianza y trabajan bien."
"Bueno, dale, llamalos, que total esto va a haber que arreglarlo algún día."
Los primeros nunca llegaron. El segundo, tampoco. Todos alegaban que "el lunes a tal hora paso", pero todavía no se sabe a qué lunes se refirieron (quizás era un lunes de dentro de 15 años).
Finalmente, al enésimo intento, unos trabajadores de la plomería se dignaron a ir a la casa a ver el problema.
"Mirá, el problema es algo así... Había un caño que s-"
"Dale, empiezo a picar acá el piso"
Y antes de terminar de pensar la respuesta, el piso tenía un martillazo.
Trabajaron. En el transcurso de algunos días, rompieron las baldosas que cubrían el trayecto del caño malo, y lo repararon.
En el lugar donde antes había una ducha, ahora había una pileta de natación. Un pozo ciego lleno de agua con colores dudosos, el inodoro puesto dentro de la bañadera, y entrar a este baño no era muy distinto a caminar por un pantano a zancadas, intentando pisar las zonas que más firmes parecieran.
Las clases virtuales fueron muy divertidas durante este tiempo, al tener una experiencia 5-D de sonido envolvente de mazazos, sierras eléctricas cortando cañería, polvo hasta en las pestañas, y mucha alegría para toda la familia. ¡Gran atracción!
Por suerte, después del fin de semana van a volver, van a poner las baldosas, y ya se va a haber terminado. Una semana sola de molestias, y será solo un mal recuerdo.
Miércoles, 11:30 a.m.
"Listo señor, nosotros volvemos mañana a las 8:30 a.m., por hoy terminamos."
No voy a decir que fue rápido, pero por lo menos terminó. Tardaron un poco más de lo esperado, pero al menos ya se puede usar de nuevo el baño. La ducha la habilitaron recién ayer (solo se podía entrar esquivando las aberturas en el piso que lo conducirían a uno al más allá en caso de pisarlas), y estar bajo el agua era equivalente a realizar una infusión de mugre.
Qué bueno. Al menos el piso está terminado, y el inodoro en su lugar.
En su lugar. Aproximadamente. Un poquito desplazado hacia el costado.
Upa. Bastante.
Ah. Buenísimo. Gracias. No entra el papel higiénico porque la mochila del inodoro está demasiado cerca del soporte. Qué copado. Por suerte no acaban de terminar de hacer todo el piso nuevo.
"Che. No entra el papel."
"Jaja, ¿te imaginás?"
"No, es que, no entra. Pusieron el inodoro muy cerca."
"..."
"..."
Por suerte nadie había tenido que operar a su perro en estos días, y tampoco se le había infectado un punto de la costura de la herida por culpa de la mugre infinita. Eso es tan falso como decir que el papel entraba sin problemas.
Jueves, 12:30 p.m.
"Buen día, disculpe la demora, tuvimos un desperfecto con el auto. Ahora terminamos de poner la pastina que falta y ya -"
"Tomá."
"Disculpe, ¿qué hago con este rollo?"
"Ponelo en el soporte."
...
"Uhh, pero bueno, no se haga problema, se puede mover el soporte o si no, vio, ponga otro que apunte para el otro lado, usted me dice después"
"¿Vos viste donde pusiste el inodoro? Está a medio metro de la pared y antes estaba casi pegado. ¿Trajeron la regla o miden con el ojo?"
"Bueno, no se preocupe, hoy lo movemos y va a ver que le queda perfecto. No se haga problema. Eso sí, me va a tener que comprar más baldosas porque las que teníamos se nos rompieron todas"
"¿Cómo que todas? Tenían de sobra como para poner en toda la casa, Hernán."
"Y, pero bueno, vio, como son de cerámica se rompen fácil, vio, cortamos ahí porque sobraba medio centímetro más o menos y vio que se rajan de nada. Y si no, yo conozco un proveedor que me hace buen precio y tiene materiales de buena calidad. Va a poder cambiar todo el piso por porcelanato que va a ver que le va a gustar. Yo le consigo, hoy mismo hablo con mi socio."
"Acaban de terminar el piso."
"Sí, pero vio, yo le digo por el costo de estas baldosas que tiene ahora, si vamos a romper para mover el inodoro le conviene hacerlo todo de nuevo con otro modelo que yo le traigo"
"Bueno, dale. Porque la verdad que este piso como lo hicieron quedó muy desprolijo. Las juntas parecen unidas con, qué se yo, con nesquik."
"Hoy le hablo a mi socio y después le aviso a usted."
Así se retiró Hernán. Se subió a su auto, y se marchó a los terrenos abandonados de Glew.
[en el celular] "Hola, ¿me escuchás, Sergio? Andate ahora si podés para la casa esa, la de la avenida Yrigoyen, que necesito unos porcelanatos para un baño. Síí, jajaja, no sabés, le pusimos el inodoro en cualquier lado, jajaja, ahora quieren hacer el piso todo de nuevo. Hoy nos vamos al casino, Sergito"
El encuentro con Sergio fue muy rápido. Sergio trajo las herramientas, y Hernán la camioneta. El dueño de la casa había fallecido hace unos meses, y como nadie había visto nunca familiares suyos, Hernán y sus amigos aprovecharon y desmantelaron su casa por completo. Materiales gratis.
Viernes, feriado.
Sábado.
Domingo.
Lunes, feriado.
Martes, 10 a.m.
"Estos tipos no van a venir más... ¿Te habían dicho que el viernes feriado venían, no? ¿Cómo fue que te dijo?"
"Me dijo: 'Perdoname, Damián, pero mañana no vamos a poder ir. Estoy muy complicado.' Así nomás me pone, el jueves a la noche."
"Qué tipos... ¿Y hoy dijeron que venían a las 8, no?"
"Sí, qué sé yo qué van a hacer. Todo el piso a medio hacer y el inodoro en cualquier lado. Ya estoy re podrido de bañarme con vasitos."
riiing
"Uh, dios mío, seguro es el correo o alguien equivocado, ni en pedo son estos tipos"
Ah, pero eran. Se habían quedado secos después de ese fin de semana XXL loco. ¿Podés creer que les pagaron por adelantado? Hay que ser...
"Hola señor, mire acá le traigo los porcelanatos que me pagó, fíjese la buena calidad mire que buen brillo que tienen"
[para sus adentros] Hay uno con el borde roto. Es imposible comprar uno así o que se le haya roto en el camino. Esto parece sacado de algún lugar. Bueno, pero no se van más sino.
[para afuera] "Sí, sí, están buenos. ¿Cuándo terminarían con el piso?"
"Y, yo calculo, mire, estimo más o menos dos días más y ya estamos."
[para sus adentros] Por favor que se vayan de una vez.
Miércoles, 11 p.m.
"NO puede SER que no puedan poner una baldosa derecha!!! Es INCREÍBLE!!! DIOS. ¿Se fueron sin avisarte, encima?"
"Sí... ya te lo dije mil veces. Yo estaba en mi habitación en una reunión y se fueron así nomás. Ya lo reputeé por WhatsApp pero no lee. Encima soy tan boludo que le pagué otra vez por adelantado."
"AH bueno. Vos no das más..."
Jueves, 5:30 a.m.
riiing
[con sobresalto] "¡Ehh! Qué carajo fue eso." [se mueve en la cama buscando la tecla de la luz]
[caminando hacia el portero eléctrico]
riiing
"Ya VOY, carajo! Cinco y media de la mañana un jueves, la rreputa madre."
[atiende]
"¿Hólá?"
"Hola señor, mire soy yo Hernán, sabe que veníamos temprano por acá para hacer otro trabajo pero chocamos el auto en su puerta."
"¿¡Qué!?"
"Mire, yo no lo quiero asustar, pero la puerta está prácticamente abierta."
"¿Hernán, ¿¡vos me estás jodiendo!??"
Efectivamente, no. Ahí estaba el auto de Hernancito. Incrustado en la puerta de la calle.
"Pero mire, yo conozco un carpintero de confianza que le va a arreglar esto muy bien, va a ver."
Digamos que a causa del sueño, y del sobresalto, el carpintero de confianza ya estaba contratado después de esto.
"Bueno, mire, ya que estoy acá, ¿no quiere que pase y le veo lo del baño?"
"Hernán, por favor, por el amor de IESVS INRI, terminá esta obra de una vez."
"Sí, sí, usted quédese tranquilo que va a ver que le va a quedar muy bien."
Jueves, 1:30 p.m.
El baño era tierra de nadie. El piso que habían terminado no existía más, y la unión de este piso con el de mármol negro, parecía arrancada con los dientes.
El mueble de madera estaba completamente rayado, y una de sus uniones con la pared destrozada después de que Hernán, con sus 120 kilos de alegría, se sentara ahí a comer un sanguchito de jamón crudo con 7-Up.
La puerta de vidrio también estaba rota, porque habían tenido que sacarla para... Quién sabe para qué.
En la cena, todos estuvieron completamente mudos. Nada podía salir bien nunca más.
El perro ya se había mejorado, pero la suciedad de la casa tendía a infinito, y por cada arreglo que se hacía, se rompían dos cosas nuevas.
Viernes, 5 p.m. (pero tres meses después)
"Sí, hola, buenos días, quería reservar una habitación para cuatro por una semana, ¿es posible? Ah, que no aceptan tarjetas de crédito. No, no, yo buscaba alguno que aceptara el plan 'pague cuotas hasta que se muera'. Bueno, gracias."
Después de arreglar los pisos, la puerta de la entrada, la puerta de vidrio, la columna, haber pintado las paredes, movido el inodoro, los caños, la mesa de la entrada que un día la serrucharon sin querer, las ventanas que se rompieron el día que se les cayó la maza por accidente, el brazo de Hernán que un día se fracturó porque se le cayó un cacho de mampostería del techo, el techo que se le cayó a Hernán en el brazo, la baldosa del piso que se rompió por el cacho de techo que le cayó, el dedo de Damián que se rompió después de pegarle una piña a una viga de hierro en un ataque de cólera, el celular de Damián que se le cayó del bolsillo cuando le pegó a la mesa, la vereda porque un día se tiró uno de los plomeros por la ventana "para bajar más rápido" cayendo arriba de un auto, el auto del hombre que lo había estacionado ese día en la vereda, el auto de al lado porque ese auto tenía un desperfecto en el tanque y explotó, la fachada de la casa porque la explosión le derritió la pintura, nuevamente las ventanas porque explotaron todas (pero tapadas con bolsas de basura nada más), el macetero del árbol porque se abrió un pozo en la calle por un corrimiento de tierra, la otra mano de Damián porque le pegó una piña más fuerte que la primera a Hernán un día que se lo cruzó por la calle, y el corte de pelo de su hijo, Damián pudo pagar su fianza y recuperar la libertad.
Vendió su casa por el terreno y ahora hay un edificio de 14 pisos ahí. Vive con su familia felizmente en la casa de Glew que le alquila Hernán.
lunes, 17 de agosto de 2020
The Full Year Project finalizado
Ya pasó un año.
https://docs.google.com/document/d/1PcFSmLDOR_qh4BzK2zzpkDd7T6bLphifVGj7J4EOxRY/edit?usp=drivesdk