30/4/11

Catacrack


Me ha costado en torno a diez, diez largos años poder ver la película hasta el final. Puede ser que, debido a mi corta edad en aquella época (que era representable con tan solo una cifra), no haya podido evitar revivir las mismas emociones ahora que soy mayor. Pero es que es tan triste. Tan triste. Pensaba, cuando acudía a mis recuerdos, que exageraba al considerar que era la película más triste que había visto nunca. Ahora no estoy de acuerdo.
Y tengo un problema, puesto que aún me quedan unos cuantos ejercicios de árboles por terminar. Pero... ahora no puedo hacerlo. Ahora no puedo programar. Ahora no puedo darle vida a nada, a nadie. ¿Cómo podría? 

Si alguna vez habéis experimentado la mayor sensación de plenitud al llevar a cabo una actividad comprenderéis qué es lo que significa para mí programar. Pero si también habéis experimentado un sentimiento descorazonador, asolador, un sentimiento como una tormenta gélida que borra todo calor, al haber comprendido lo terrible, la monstruosa abominación en que esa tarea puede llegar a convertirse... entonces, bueno, entonces a esta copa invito yo.

Sólo puede romperme una y otra vez el corazón. Porque no hay consuelo final, no hay moraleja, no hay segundas oportunidades. Sólo vida que no puede cambiarse. El presente.


Said I wouldn't call, but I'm a little drunk... and I need you now.

23/4/11

All my life I've been good but now,
I'm thinking What the hell!
All I want is to mess around,
and I don't really care about.

 
If you love me, if you hate me,
you can't save me.
All my life I've been good but now,  

Whoa, What the hell!


Sí, sí, ya sé que este es un sitio público. Ya sé que el dominio de esta página web es accesible desde cualquier rincón del mundo, que cualquiera puede teclear las tres palabras que elegí para preceder a blogspot.com en la barra de direcciones y enganchar con este sitio. Lo sé, ¿vale?

Aún así, no puedo evitar sentir que este lugar me pertenece, aunque sólo sea un poquito (o, qué demonios, no sólo un poquito). Todo esto que veis es mío, fruto de lo que me bulle y me agita por dentro, desde las palabras hasta las imágenes que tomo prestadas para favorecer el extraño juego que ambas pueden llegar a combinar. Mío, mío, mío, un objeto intangible, un diario de recuerdos, un log que registra lo que en algún momento se me pasó por la cabeza y quise compartir. Y también, por supuesto, todas las amenas conversaciones en que derivan los comentarios que vosotros me dejáis al llegar al final de mis entradas.

Así que aquí estoy, pensando en cómo puedo tontear de semejante manera con un sitio que carece de la privacidad que a mí tanto me gusta. Porque veréis, soy muy celosa de mis cosas. Metafóricamente hablando, siempre me ha gustado mantener a los demás a tres pasos de mí, cuanto menos. Con una sonrisa, eso sí, no vayamos a perder las formas ni el respeto. No hace falta ser desagradable para ser uno mismo.

Pero a lo que iba. Hace ya tiempo que vengo notando que el tráfico de visitas a esta página está un poco disparado. Gracias a la relativamente nueva funcionalidad estadísticas puedo controlar la circulación de una forma bastante eficaz (y prescindir por fin de los odiosos contadores de visitas locos que funcionan como les sale de las narices, cosa que, por cierto, me recuerda que tengo que hacer limpieza). Por supuesto, la culpa de todo recae sobre esto, que es la principal atracción de curiosos... y no es que me arrepienta, ni mucho menos, de haber colgado dicha entrada, pero sí confesaré que empiezo a sentirme ligeramente incómoda. Vuelvo a repetir que sé perfectamente que esto es un sitio público, y, por tanto, no me importa que la gente lo visite, lo lea, tome lo que considere oportuno y después se vaya. Siempre que se vaya, claro, y que ahí termine nuestra corta pero intensa relación. Harina de otro costal es que a alquien le apetezca quedarse... pero de verdad, nada de tonterías.

Y es que veréis, últimamente he estado torciendo mucho la nariz al ver que el contador de seguidores subía y los perfiles que aparecían me eran totalmente extraños. ¿Quién eres tú? ¿Y tú? ¿Por qué no te presentas? ¿A quién le estoy mandando automáticamente las actualizaciones que haga en este blog? Mmmh...
Pues he decidido que se acabó. Que puede que este sea un dominio público y no pueda prohibirle la entrada a nadie, pero eso no tiene por qué hacerme renunciar al hecho de contar con algún tipo de privacidad por aquí. No quiero seguir incluyendo en la lista de distribución de actualizaciones interna que debe tener este cacharro a personas desconocidas. En principio aquí todo el mundo es bienvenido (a mi manera, sí, vale), pero si voy a compartir mis pensamientos, lo mínimo que quiero saber es con quién lo estoy haciendo, a quién se los estoy entregando.

Así que... Je. Jeje. Como en el fondo soy un ser absolutamente adorable, voy a darle la vuelta a mi reloj de arena. Cuando caiga el último grano, me enfundaré de nuevo la capa de administradora oscura. Pero sólo por un ratito. Lo que me lleve recuperar parte de esa privacidad perdida quién sabe cuándo.


20/4/11

Sweet Dreams


He vuelto a caer. Lo sé porque esta mañana, mientras dormía espatarrada en la cama de mis padres la media hora de margen que había entre alarma y alarma del despertador, he soñado con ello. Un sueño de apenas diez minutos que ha durado lo que a mí me ha parecido bastante más que eso, pero que, aún así, me ha sabido a poco.
Pero es que no me importa. Me hace sentir viva.

7/4/11

Adivina adivinanza


¿A que no sabéis a quién le han encargado, como proyecto final de una asignatura, diseñar un cliente para BLOGGER? ¿A que no sabéis quién tiene que implementar un programa en java que interactúe DE VERDAD con los servicios de blogger? ¿A qué no sabéis quién tiene que hacer que dicho programa sea capaz de gestionar la publicación de entradas, comentarios y el sistema de listados? ¿A que no sabéis a quién le han dado un mes de plazo?

A mí.

3/4/11

[Teach me!] Trucar un dado... virtual

Alguien me dijo una vez que quería aprender a programar. Bueno, realmente alguien no, bastantes alguien. Está bien. He pensado en algo.

Veréis, yo mejor que nadie puedo comprender a aquellos que sienten curiosidad y muchísimas ganas de iniciarse en el noble arte de la programación. Eso de toquetear el ordenador y ver cómo, de repente, puedes pasar de interactuar con cosas que otros han pensado a diseñarlas tú mismo y crear hasta los más descabellados productos de tu imaginación... lo que se siente no tiene precio, pero bueno, sois libres de quedaros con un excitante "¡qué guay!" también. A raíz de esto último, me veo en la obligación de comentaros que comprendo y, por supuesto, respeto que vuestro interés tenga límites. Después de todo, puede que juguetear con la programación os guste pero que entre vuestros planes no entre, ni remotamente, eso de que unos cochinos bits os vayan a dar de comer. Me hago cargo, my dears. Por ello, lo que os voy a contar no va a ser, ni mucho menos, lo que me cuentan a mí en clase. Voy a sacar mi tamiz mágico y os voy a servir los conocimientos que, pienso, son más interesantes.

Pero bueno, dejémonos de zarandajas y vayamos directos al grano. Para escribir en lenguaje Java, vamos a necesitar un programa llamado Eclipse que podéis bajar aquí (haciendo click en cualquiera de los enlaces, como por ejemplo el de Spain RedIRIS). Cuando os lo descarguéis (pesa 171MB, lo que un capítulo de anime aprox.) no hace falta que instaléis nada para poder usarlo. Simplemente, dado que os bajáis un archivo comprimido, habrá que descomprimirlo y buscar, dentro de la carpeta que se creará, el icono que inicia eclipse (una bolita redonda, morada y con tres rayitas blancas en el centro. Tenéis la chuleta en la imagen).


Bien, lo que viene a continuación lo relataré despacio:
Eclipse es un programa que nos permite escribir código y reproducirlo para ver qué ocurre. Sin embargo, para poder trabajar (antes de iniciarse nada) os va a pedir que seleccionéis un Workspace. ¿Que qué es un workspace? Fácil: tal como su nombre indica es un espacio de trabajo, un lugar en el que le pedís que os guarde todo lo que vais a ir haciendo. Crear un workspace es tan fácil como crear una nueva carpeta (donde queráis) y designarla con el nombre "Workspace Dado" o "Workspace Mastermind" o cualquier otro que describa brevemente de qué va a ir lo vayáis a crear. Después sólo tenéis que indicarle a Eclipse que queréis que ése sea el Workspace (Tenéis la chuleta en la imagen).

Para esta primera toma de contacto con Eclipse os he preparado yo misma el Workspace, con un código muy suculento que os enseñará a... trucar un dado. ¿Os gustan las trampas, queréis ganar una apuesta sin esfuerzo o, simplemente, gastarle una inocente broma a alguien? Bueno, pues con esto podréis, mis queridos y queridas pequeñuelas. Dado que el código que está escrito es bastante complejo para alguien que está empezando de cero, no os voy a hacer una gran descripción de las instrucciones que he escrito (me lo reservo para más adelante, cuando seáis unos pequeños expertos), pero sí que os voy a contar qué tenéis que tocar para que funcione y seáis capacez de trucar el dado. Podéis bajarlo de aquí (obtendréis una carpeta llamada Workspace Dado al descomprimir).

Una vez hayáis bajado el Workspace y le hayáis dicho a Eclipse que ahí es donde tiene que trabajar, el programa se iniciará y os encontraréis con algo como esto:



A la izquierda se encuentra el Package Explorer, que nos sirve para navegar por entre las cosas que tenemos creadas. De hecho, si le dais a la flechita que hay en "Dado" os enseñará un nuevo icono llamado "src" y éste os mostrará "implementacionDado" y, finalmente, éste os mostrará "Dado.java". Esto último se llama Clase. Las Clases en Java son, para que nos entendamos, algo así como moldes. En esta ocasión, yo he creado una clase, un molde, para un dado.
En el centro se encuentra el editor de código y, como podréis ver, tiene cosas escritas. Son las instrucciones para que funcione el programa. Podéis leerlas si gustáis, puesto que están comentadas. Todo aquello que empiece con una doble barra "//blablabla" se escribe en verde y significa que es un comentario. Lo mismo para las cosas que empiezan con "/**blablabla... */" y están resaltadas en azul. Los comentarios se refieren a la línea o líneas que van inmediatamente después y traducen a los humanos lo que éstas mandan que se haga.
Arriba del todo se encuentran dos barras: la de herramientas y bajo ella una barra que contiene una serie de iconos. De momento el único que utilizaremos será el que parece un play, esto es, el icono del círculo verde con un triángulo en su interior. Servirá para que el código se ejecute.
Por último, abajo del todo, justo donde acaba el editor central, se encuentra la consola. La consola es la ventanita que nos mostrará lo que ocurre cuando ejecuta el código. Si está bien implementado, mostrará lo que le hemos pedido. Si no... bueno, sino pasaría otra cosa, pero el código funciona, así que ya comentaremos otro día que sucedería.


Bien, y ahora os voy a enseñar cómo hacer que funcione este cacharro. Veréis, lo único que tenéis que hacerle es darle al botoncito de play y contestar a dos preguntitas. Para contestar a las preguntas tenéis que pinchar en la consola y escribir. Lo que el programa necesita que le suministréis son números (números así: 3, NO así: tres). La primera pregunta os requerirá el número de caras que tiene que tener vuestro dado. La segunda se refiere al número de dados que queréis tirar. Por ejemplo, en la oca, (si mal no recuerdo) creo que se tiran dos dados. Aquí teneís un ejemplo visual de lo que habría salido si yo hubiese tirado un dado de diez caras siete veces:



Y ahora... vamos a trucarlo :D

Sin embargo, my dears, os advierto de que tenéis que ser coherentes. Si queréis trucar un dado, tenéis que tener en cuenta de cuántas caras va a ser y cuál es el resultado que queréis que salga. Si lo que buscáis es, ajem, putear a alguien... pues, obviamente, querréis que siempre le salga el número más bajo. Y el número más bajo de un dado es el 1, no el cero, que os conozco. Si lo que queréis es favoreceros con una tirada perfecta, pues lo mismo pero al revés. El máximo número que podrá salir será el máximo de caras que tenga. Pero bueno, que me estoy enrrollando, ¿qué tenéis que tocar? ÚNICAMENTE ESTO, LO QUE OS HE PUESTO AQUÍ EN ROJO:

private static int generaNumeroAleatorio(int unNumero ) {
/*Generamos un número aleatorio cuyo máximo valor se corresponda con el parámetro recibido y le pedimos que se quede sólo con la parte entera.*/
       double f=Math.random()*(unNumero+1);
        int a=(int)f;
        //Evaluamos si el número generado es cero. De ser así lo cambia.
        while(a==0){
            f=Math.random()*(unNumero+1);
            a=(int)f;
        }
        return a;
    }



Bien, lo que está en rojo es una condición a evaluar. Ahora mismo significa que, cuando el programa genere un número aleatorio y éste resulte ser un cero, que lo descarte y saque otro número aleatorio (los dados no tienen cero). Pero podéis decirle que, mientras que el número que se haya generado no sea el que vosotros queréis, vuelva a generar otro número. ¿Cómo se escribe esto en Java? Así:

a!=6 Esto significa que mientras el número que se saque sea diferente de seis, vuelva a generar otro número.
a!=10 Esto significa lo mismo pero poniéndole en vez de un seis un diez.
a!=1 Y, esto último, exactamente lo mismo pero con un uno.

Es decir, que tenéis que poner a!= seguido del número que queráis sacar. ¿Fácil, verdad? Por cierto, por si no encontráis dónde está situada esa parte del código, os diré que está en la línea 42, más o menos en la mitad.

Bueno y para terminar, comentaros que hay infinidad de maneras de trucar un dado. Nosotros lo hemos hecho para que nos salga un sólo número todo el rato... pero claro, si tirasemos muchos dados sería fácil que nos descubrieran, ¿no? Por ello también podemos pedirle al programa que descarte siempre los unos, o que sólo saque los números de un determinado intervalo, o etc, etc... todo lo que esas retorcidas cabecitas vuestras puedan pensar. Y eso es todo, ahora os toca a vosotros. ¡Manipulad el dado y sentíos los dueños del universo!