dissabte, abril 23, 2005

Sant Jordi = Apocalipse Now

Me despierto. Aun me duran los efectos alucinogenos de el Whisky con kiwi de anoche... La luz del sol me deslumbra mientras montones de imagenes psicodelicas golpean mi mente de forma pulsante. Resaca. Una mosca entra por mi ventana abierta y comienza a dar vueltas alrededor de mi lampara.
En ese momento la sargento de mi cuartel me grita para que despierte y comunicarme algo.
Compañeros mios el dia de hoy estan luchando en diferentes y duros frentes, como montar un server de backups o hacer una mudanza... pero a mi me ha tocado una mision especial de alto riesgo personal. La mision en si consiste en conseguir un libro con informacion superimportante y una extraña flor sin perder demasiada cantidad de emonumentos.
Ni corto ni perezoso me armo para un dia de combate standard, con mi ipod cargado y una cantidad de emonumentos suficiente para la mision.
Emprendo el camino hacia el ultimo emplazamiento conocido del libro de poder: El cuartel Gigamesh, justo detras de las lineas enemigas.El recorrido fue bastante tranquilo en un vehiculo civil por el rio L(ichuan)-3 hasta el lago Catalunya. Pero en cuanto llegamos me di cuenta de que estaba en el meollo. Rodeado de charlis intento avanzar mientras lucho cuerpo a cuerpo contra ellos durante 3 cuartos de hora, hasta que consigo escapar de ellos por un sendero no vigilado.
Hablando de los charlies, voy a describirles un poco:

Marujas substandard cuales su mayor preocupacion es el cocido del mediodia
Currantes substandard con pinta de garrulos a buscar la flor en cuestion.
Niñatos y niñatas que no saben que son esas manchitas negras pequeñitas que hay en los libros.

Mientras iba por el sendero secreto, fui fijandome en ciertos pequeños campamentos en los que vendian documentos secretos y demas... pero de el libro que andaba buscando no tenian ni idea. Solamente tenian cosas como premios literarios y libros de autoayuda. Sobre los libros en el dia del apocalipsis hay que decir:

Los hay de 3 clases

Libros "profundos": Se les conoce por su caratula blanca con una mini ilustracion, y en su titulo suele ir alguna frase sin sentido. Son producto de autores dependientes del porno duro y consumidores habituales de substancias psicotropicas. Por alguna extraña razon la gente los compra pensando que de esa forma son mas cultos.

Los de autoayuda: Los mas faciles de distinguir sin duda... Suelen tener una vela en la portada, o en el titulo algo relacionado con angeles.

y finalmente los que son para niños: Con dibujos de brujas o animalitos tiernos, destinados por alguna oscura razon a niños de 8 a 12 años. Yo con esas edades estaba curado de espanto y solo hubiese usado algo asi para limpiarme el trasero.

Finalmente llegue a la base Gigamesh, pregunte... y algun charlie cabron se habia llevado el ultimo. Eso era TOTALMENTE INACEPTABLE! Por lo menos me animo un poco ver a nuestras tropas de futuros generales, comprar buena ciencia ficcion y fantasia en forma de libros :). Me acerque a bases proximas como FREAKS o NORMA COMIC en las cuales mis emonumentos vibraban de la emocion en mi bolsillo al ver las nuevas figuras de starwars, comics, espadas de luz, etc... material de sobras sabido importante para el ejercito.

Despues de mi gran fracaso, recorri el camino de vuelta, no sin antes encontrar el segundo objetivo: La extraña flor
Al llegar al lago Catalnya de nuevo, encontre otro libro que podia servirnos para que el enemigo no nos destruyese al anochecer del mismo dia, asi que lo adquiri por una cantidad de emonumentos no demasiado descabellada.

Al cabo de poco tiempo, estaba de vuelta en el cuartel, con la mision cumplida.
Solo me queda volver a tomar substancias psicotropicas para olvidar EL HORROR... EL HORROR....

dijous, abril 21, 2005

Crear una ventana en OSX!!!

Hola a tod@s

Desde aqui voy a intentar aprender y a la vez, enseñar como programar una intro en macosx.
El tema parece un tanto escabroso ya que, por lo que he visto en pouet.net no hay intros para macosx!!!! Solo ports de otras plataformas y que ocupan muchisimo.
Pero bueno, no me lio mas y voy a por ello:

COMO CREAR UNA VENTANA DESDE 0 (Y no morir en el intento)

La documentacion de apple esta muy bien para alguien que ya se conozca como va todo. Pero lo que es empezar desde 0 pues... es poco mas que complicado.

Todo el codigo y el proyecto estan AQUI
Paso a explicar el code por encima:


#include

Sin esto no ira nada ;) tambien tiene que estar en el proyecto los frameworks de Carbon y de libstdc++.



int main (int argc, char * const argv[]) {

Rect contentRect;
OSStatus osError;
WindowRef ventana;

Comienza el follon.

Un Rect no es mas que un rectangulo, una especie de estructura con el tamaño y las coordenadas de donde lo queremos.

OSStatus es simplemente para almacenar los errores que devuelven las funciones... aun no he probado hacerlo con un entero, pero asi ya va :D

WindowRef definira TODOS los parametros de la ventana que vamos a crear, tamaño, event handlers, iconos de reescalado, and so on...


SetRect(&contentRect,100,100,470,340);


SetRect es la funcion con la que podemos asignar unas coordenadas a una estructura Rect. Asi que le pasaremos primero el Rect que vamos a modificar, y despues las coordenadas horizontal de la esquina superior-izquierda, la vertical de la superior-izquierda, horizontal de la inferior-derecha y la vertical de la inferior-derecha.


osError = CreateNewWindow(kDocumentWindowClass, kWindowStandardDocumentAttributes |
kWindowStandardHandlerAttribute,
&contentRect,
&ventana);

Con CreateNewWindow crearemos la ventanita que queremos... pero aun no se vera ;)
Lo primero que se le pasa es el tipo de ventana que queremos. En MacOSX hay unas 15 distintas.
Lo siguiente seran las caracteristicas que queremos para esa ventana. Le paso

kWindowStandardDocumentAttributes | kWindowStandardHandlerAttribute

esto suma los dos atributos en uno. Crearemos una ventana totalmente standard y con un handler standard (Esto ultimo es importante)
Como siguiente parametro, le pasamos el Rect que habiamos definido anteriormente.
Y por ultimo le pasaremos el handler que manejara la ventana, osea el WindowRef


SetPortWindowPort(ventana);
ShowWindow( ventana );

Pasamos el puerto actual de graficos al de la ventana (que aun no se ve...) con el SetPortWindowPort. Y finalmente hago el ShowWindow para que se vea la dichosa ventanita.


RunApplicationEventLoop();
return 0;
}

Finalmente ejecutamos el ApplicationEventLoop, que es lo que respondera a los eventos tipo minimizar, maximizar, arrastrar la ventana o cerrarla.

Yasta! eso es todo :) Si hay alguna duda, dejadla aqui :)

http://www.mataderu.com/madgoblin

dimecres, abril 06, 2005

¿Cuanto vale tu vida?

50 Millones de pesetas, o lo que es lo mismo, 294000 Euros.
Esa es la fantastica cifra por la que aproximadamente vendeis vuestra unica vida a vuestros jefes del trabajo.
Quizas soy un tanto pijotero con los trabajos, pero valoro mas que nada la libertad de poder hacer lo que quiera, cuando quiera. Por esa misma razon deje de ir al trabajo... me estaba ocasionando algunos problemas en la vista, "robaba" mi vida, etc.. todo por unos increibles 4,3 euros por hora.
Basicamente pierdes una hora de tu vida, por poder comer tres cuartas partes de un menu bigmac aproximadamente.
Asi que, hasta que no encuentre nada decente, que me guste hacer, y que realmente merezca la pena desperdiciar mi precioso tiempo, me dedicare a vivir mi vida y hacer las cosas que me gustan.
He dicho!