Archive for the ‘Frikadas’ Category

El pasado oculto de Lucía Lapiedra

Wednesday, June 4th, 2008

Pues sí, estimados teclarios, la actriz porno Lucía Lapiedra tiene un pasado inverosímil y poco conocido. Antes de ser una estrella del cine X, Lucía estudiaba… ¡Ingeniería Informática! :o

La propia Lucía, que realmente se llama Miriam Sánchez, lo contaba así en el periódico gratuito 20minutos:

“En realidad estaba más tiempo en la cafetería jugando al mus que en las clases de Turbo Pascal, aunque llegué a segundo. Lo dejé porque se me atragantaron las de programación.”

Estamos, sin duda, ante un bonito caso de superación personal que demuestra que la vida no se acaba en la informática. Lucía no se desanimó y se propuso que el Pascal sería lo último que se le atragantaría en su vida. Abandonó Ingeniería Informática y, ni corta ni perezosa, se dedicó al cine porno. El resto es historia.

Luc�a vuelve a interesarse por el PascalSin embargo, siempre nos quedará la duda de qué hubiese sido de la buena de Lucía si hubiese caído en las manos de un profesor de Pascal atento y consagrado a sus alumnos como el Coronel Jessep. Quiero pensar que, de haber tenido esa suerte, Lucía no le habría cogido manía a la programación y habría acabado la carrera con un buen expediente. Hoy, Lucía se seguiría llamando Miriam y sería feliz como analista programadora en alguna empresa, o (soñar es gratis) habría decidido estudiar el doctorado y sería una teclaria más. Nunca lo sabremos.

Quizás, amigo teclario, estés cayendo en la cuenta de que, por edad, en lugar de profesor de Lucía Lapiedra, has podido ser su compañero de pupitre. Debes saber que no andas muy desencaminado porque, según la socorrida Wikipedia, la chica es madrileña y de la generación del 81. Pero antes de que te abras la cabeza contra la pared pensando que quizás perdiste la oportunidad de tu vida cuando no quisiste echar una mano a aquella chica que no pisaba el laboratorio de programación, conviene aclarar que no, que aquella Miriam no era la que luego sería Lucía Lapiedra. Lucía estudió en el campus de Madrid de la Pontificia de Salamanca.

Esta curiosa historia puede servir de consuelo a aquellos profesores responsables  que se preocupan por el futuro de aquellos alumnos a los que no les motiva la programación. La moraleja de la historia también nos la podemos aplicar todos aquellos que estamos experimentando dificultades para acabar nuestras tesis o para obtener nuestras acreditaciones. El dicho popular no miente: cuando una puerta se cierra, otra se abre. ¿La del mundo del porno? Quizás.

Flash rallante

Friday, May 16th, 2008

Supongamos que una buena tarde nos aburrimos y nos decidimos a tirar unas líneas de código en las que reproducimos todas las leyes de la física y de la química (casi nada). Como somos buenos programadores, GOD 1.0, que así se llamaría nuestro programita, compila y ejecuta sin problemas a la primera. Arrancamos nuestra flamante aplicación y picamos como datos de entrada las condiciones iniciales que dieron lugar al Big Bang. A continuación, pulsamos el botón “Simular” y nos vamos al cine mientras que el programa se ejecuta. Supongamos que, a la vuelta del cine, la simulación ha llegado al instante actual.

ATENCIÓN PREGUNTA: ¿Creéis que el resultado de la simulación sería exactamente el mundo tal y como lo conocemos? ¿o sería completamente diferente y, por ejemplo, no se habrían dado las condiciones para que se diese la vida en la tierra? ¿o, quizás si existiría vida y seres humanos pero nuestra historia sería distinta y, qué se yo, Francia estaría anexionada a España? En realidad, estas preguntas se reducen a… ¿existe el azar o es todo determinismo puro y duro? ¿somos libres o sólo nos creemos libres? Joey, ¿te gustan las películas de gladiadores?

Aterriza como puedas

Con la mano sobre los libros de Física y de Química, yo respondería que el mundo es asquerosamente determinista, que nos creemos libres sin serlo y que sí me gustan las pelis de gladiadores (Espartaco es mi favorita). Afortunadamente, el determinismo no es algo dramático, porque, como es imposible anticipar el futuro, vivir nuestras vidas no pierde su gracia.

Supongo que muchos os habéis planteado estas cosas alguna que otra vez. El otro día leía aquí un post relacionado con el tema que cuenta que un filósofo de la Universidad de Oxford afirma que existe “una probabilidad significativa de que estemos viviendo en una realidad virtual simulada por un supercomputador.” Según la fuente, al tipo le respaldan las investigaciones de un astrofísico y un matemático. ¡Venga hombre! ¿Y cómo se ha cuantificado esa probabilidad? Si parece un chiste: “Esto van un filósofo, un astrofísico y un matemático y dice el filósofo…”. La idea está bien para comentarla en la cafetería de la Facultad, pero publicarla en un foro científico me parece de coña. Supongo que la ANECA de sus respectivos países no les tendrá en cuenta esos artículos. :)

En realidad, esto de la existencia de dos mundos, uno real y otro ilusorio, es un tema muy trillado y muchos lo han contado mejor y con más gracia. Entre ellos Platón, Calderón de la Barca, Philip K. Dick, los hermanos Wachoski… Pero una cosa es pensar sobre el tema en la ducha (como yo), o charlar sobre el tema mientras paseas con tus discípulos (Platón), o escribir libros, obras de teatro o guiones sobre ello (el resto de los citados); y otra muy distinta es hacer carrera investigadora con ello.

En cualquier caso, como dicen en el blog que he enlazado, no deja de tener gracia pensar que Dios es un adolescente aburrido y sin amigos que juega al Civilization Masters Edition con nosotros en un recóndito vórtice del universo (¡¡¡Hermano!!!). Sin duda, eso explicaría bastantes cosas.

Es curioso, pero mientras escribía esto, en la radio que suena de fondo en mi cuarto una voz ha dicho: “Si Dios no existe, nada está permitido“.

¡Maldita sea! ¿Quién anda ahí? ¿Vienes a por mí? ¿Quién te envía?

Jeje, ¡hasta la próxima!

Perro viejo comentando

Sunday, February 17th, 2008

Querido Ndugu,

Parece ser que decía Marcel Proust que

La sabiduría no nos viene dada, sino que debemos descubrirla por nosotros mismos, después de un viaje que nadie puede ahorrarnos o hacer por nosotros.

Creo que en gran medida tiene razón pero hay ocasiones en las que otros que han hecho ya el camino pueden indicarnos “atajos” que hayan encontrado en su duro paseo, y como “recoger la sabiduría de otros, también es de sabios”, he pensado en compartir dos trucos que mi lento transcurrir por el mundo de la programación me han dejado.

Se trata de dos usos de comentarios que no he leído/encontrado en ningún sitio, que en algún momento “inventé” o mejor “descubrí”, y que no sé hasta qué punto otros viejos programadores de C++ (o en general de lenguajes con comentarios del tipo /* ... */) tienen en su repertorio. Por si resultan no estar extendidos, los grito aquí a los cuatro vientos para que cualquier teclario que los vea pueda aprovecharse de ellos y extenderlos por el mundo.

Mientras se programa, muchas veces estamos haciendo pruebas y queremos activar y desactivar trozos de código. Cuando el código ocupa poco (una o dos líneas), es rápido comentarlas utilizando los comentarios de una única línea. Lo incómodo llega cuando la sección ocupa un número de líneas considerable; en ese caso, es mucho mejor utilizar los comentarios de bloque, /* ... */.

Sin embargo, activar y desactivar una sección de código utilizando esta técnica requiere “visitar” el principio y el final del bloque, para poner o quitar los dos símbolos, el de apertura y el de cierre del comentario.

Y aquí va mi primer “truco”. Ya he comentado anteriormente que no lo he visto en ningún sitio, aunque sí he leido algo similar en el manual de LUA. Consiste en terminar la sección de código que queremos poder activar y desactivar rápidamente con un comentario multilinea vacío, es decir, con /**/. La peculiaridad de este comentario vacío es que puedes antecederlo con otra apertura de comentario multilínea, de tal forma que quede algo como /* ... /**/. El analizador léxico ignorará la segunda apertura, por encontrarse dentro de una sección comentada.

Por tanto, gracias al sencillo paso de colocar el comentario vacío al final de la sección, nos basta con abrir el comentario al principio de la misma para desactivarla:


/*
.... sección larga de código
.... que queremos activar y
.... desactivar fácilmente
/**/

Para volver a activar la sección, basta con borrar esa primera apertura, aunque yo aconsejo a su vez comentarla con un //, ya que de esta forma se sabe en qué sección concreta estaba el programador pensando cuando colocó el /**/.


///*
.... sección larga de código
.... que queremos activar y
.... desactivar fácilmente
/**/

Considero que esta sencilla técnica por sí sola es ya lo suficientemente útil como para darla a conocer a todos aquellos que no hubieran llegado a ella por ellos mismos. Sin embargo, puede darse una vuelta de tuerca más, para obtener otro método también útil en otras circunstancias.

Se da a veces que, siguiendo con la misma idea, tenemos dos secciones de código seguidas y excluyentes con las que queremos hacer pruebas, de tal forma que unas veces queremos compilar la aplicación con la sección de arriba, y otras veces con la de abajo. Por ejemplo:


// Sección 1
CMapLoder::Init();
CMapLoader::LoadMap("mapa1.map");
/**/
/*
// Sección 2
map = new CMap();
map->addEntity(creaEntornoVacio());
/**/

Tenemos dos secciones, una que construye un mapa utilizando un cargador de disco, y otra que lo crea desde código. Una veces queremos utilizar una y otras veces la otra. En este caso, debemos “activar” una sección y “desactivar” otra en cada prueba. Siguiendo con el truco anterior, eso puede hacerse cómodamente poniendo al final de ambas secciones el ya explicado /**/, pero no deja de ser algo pesado, ya que hay que quitar y poner dos aperturas de comentario (en el ejemplo anterior, habría que poner el /* al principio de la sección 1, y quitarlo en el de la sección 2).

Para evitarlo, y este es el segundo truco que quería contar, basta con:

  • Colocar un /**/ al final de la última sección.
  • Colocar un /*/ entre las dos secciones.

De esta forma, para elegir una u otra alternativa, basta con abrir o no abrir un comentario multilínea al principio de la primera sección, aprovechando que el /*/ que aparece entre ambas secciones unas veces hace de inicio de comentario multilinea y otras veces hace de cierre.

Como ejemplo, a continuación aparece el código con la sección 1 comentada y la sección 2 activa (observar que el /*/ del centro sirve de cierre de comentario multilinea):


/*
// Sección 1
CMapLoder::Init();
CMapLoader::LoadMap("mapa1.map");
/*/
// Sección 2
map = new CMap();
map->addEntity(creaEntornoVacio());
/**/

Y para cambiarlo y activar la sección 1, basta con quitar la apertura inicial (o comentarla con un comentario de línea); en ese caso, el /*/ sirve para iniciar un comentario multilinea que se cierra al final de la sección 2:


///*
// Sección 1
CMapLoder::Init();
CMapLoader::LoadMap("mapa1.map");
/*/
// Sección 2
map = new CMap();
map->addEntity(creaEntornoVacio());
/**/

Probadlo, y veréis lo cómodo que es…

Va de monos

Friday, December 7th, 2007

Tras unas semanas sin actualizar Teclarios… ¡estamos de vuelta!

Será una entrada corta, sólo para recordar que seguimos vivos y para estimular a la logia para que escriba más regularmente, especialmente a los nuevos doctores y a los quasi-doctores (enhorabuena, cab###azos).

Bueno, al lío.

Muchos de nosotros nos pasamos a Gmail hace unos años por múltiples razones. La principal porque funcionaba bien y porque era gratis… ¿gratis? Bueno, tan gratis como ver la tele. Sólo hay que estar dispuesto a tragarse los anuncios. Eso sí, anuncios personalizados según los mensajes que envías.

En sus orígenes, allá por el año 2004, este modelo de negocio suscitó polémica entre las personas más preocupadas por su privacidad (que, como ya sabéis, son los que usan internet para hacer cochinadas). Google se defendía con aquella famosa frase de “Ningún humano leerá los mensajes“. Frase que por un lado tranquilizaba, pero que a los paranoicos nos dejaba un poco inquietos, porque dejaba la puerta abierta a que otros seres NO humanos leyesen el correo, ¿no?

Recuerdo a alguien bromeando sobre la posibilidad de que, en los cuarteles generales de Google, un ejército de monos se dedicasen a inspeccionar nuestros mensajes. Tenía su gracia imaginar a unos chimpacés dedicándose a leer correos delante de una pantalla de ordenador y aplaudiendo ante un mensaje gracioso. Jeje. Una pena que no fuese posible porque los monos son sensiblemente más tontos que los humanos. ¿Seguro? Una noticia reciente hace que tengamos que replantearnos esta idea. Echad un vistazo a este video.

mono leyendo

Desde luego, la noticia hace pensar que, ¡vaya! despues de todo, tal vez los monos no sean tan tontos como parecen. De acuerdo, tienen ridículas aficiones (muestra 1 y muestra 2) y dejan que les disfracemos de portero de fútbol o similar para hacer calendarios de bolsillo y posters chorras, pero quizás todo forma parte de un plan maestro y están esperando el momento adecuado para hacerse con el control. ¡DIOS! ¡Qué Charlton Heston nos asista!

He vuelto a consultar la política de privacidad de Gmail y ahora explicitan quién “leerá” el correo: Google procesa información personal en nuestros servidores en Estados Unidos de América y en otros países. Ahora no cabe duda, los monos no leen nuestro correo.

Seguro que saldrían más caros que los servidores.

Para todos

Wednesday, September 12th, 2007

Para los que tienen dos dedos:

Matricula 0100

 

Para los que tienen 16:

Matricula DDD Matricula FFF

 

Para los que abren:

Matricula FSF Matricula SL

Matricula GNU Matricula DVX

 

Para los que cierran:

Matricula DRM Matricula TM

 

Para los viciaos:

Matricula BSP Matricula CG Matricula DDS Matricula GTA extranjera Matricula IG

 

Para los desempleados:

Matricula CV Matricula CCC

 

Para los programadores…

Matricula BNF Matricula CVS Matricula DSW

 

… de ensamblador …

Matricula CMP Matricula LD Matricula CS Matricula DX

 

… para las nenas …

Matricula VB Matricula CLS

 

… para sus hermanas …

Matricula TP

 

… para los de verdad:

Matricula TC Matricula CC Matricula CPP

 

Para los que votan:

Matricula ZP Matricula PP

 

Para los de M$…

Matricula DLL Matricula NT Matricula CMD Matricula XP

 

…para los *n?xeros…

Matricula CP Matricula CSH Matricula BSD

 

…para cualquiera:

Matricula OS Matricula CD

 

Para los que cantan:

Matricula OT Matricula CBS

 

Para los magos:

Matricula OZ

 

Para los que lloran:

Matricula CRY

 

Para los que rien:

Matricula XD extranjera Matricula XD

 

Para los de la caja tonta:

Matricula TV Matricula BBC Matricula CNN Matricula FRY Matricula AV

 

Para los cinefilos:

Matricula DVD

 

Para los matemáticos:

Matricula FFT Matricula NP

 

Para los ochenteros:

Matricula CRT Matricula XT Matricula WP Matricula BX

 

Para los administradores:

Matricula BPS Matricula DB Matricula FTP Matricula YP Matricula CPD Matricula SU

 

Para los gemelos:

Matricula SS Matricula TT Matricula XX Matricula ZZ extranjera

 

Para los desafortunados:

Matricula KK

 

Para los que quieren olvidar:

Matricula BB Matricula DYC

 

Para los que quieren recordar:

Matricula DDR Matricula SD

 

Para tí:

Matricula TU

 

Para todos:

Matricula DGT