Dead Channel






      "The sky above then port was the color of television, 
       tuned to a dead channel..."
      Neuromancer


30 August, 2006

Mañana es el BlogDay!!

Escrito a las 13:00 en la categoría: General

¡¡Y yo sin enterarme!! ;P Bueno, mañana, en cientos de blogs por todo el mundo, habrá un post sobre otros blogs, para que todos nos visitemos unos a otros y ampliemos nuestras miras blogueras :) AQUI te lo cuentan mejor, la iniciativa es muy interesante y el día está pensado, si veis el logo, 3108 recuerda a la palabra Blog, saludos a todos y espero mañana encontrar muchos nuevos blogs interesantes, yo por mi parte haré lo que pueda recomendandoos lo que leo que no es mucho.



29 August, 2006

Cómo colgar el APPLET

Escrito a las 13:57 en la categoría: Juegos

Voy a contar en un pequeño post cómo colgar un Applet de java en nuestra página-blog y como ejemplo utilizaré a Mirón 1.1. Si alguien quere ponerlo en su página que se sienta libre de hacerlo (siempre se agradece que se nombre la fuente ;))

Bien, En realidad es bastante sencillo. La etiqueta para insertar un Applet en HTML es <applet> y debemos establecer al menos, el atributo CODE, con que que indicaremos el nombre de la clase donde se encuentra el Applet (la clase que hereda de Applet o JApplet.) También podemos establecer los tributos NAME, WIDTH y HEIGHT, de finalidad bastante obvia: nombre, alto y ancho que tendrá el Applet en el explorador.

De modo que un ejemplo simple sería:

<html>
<title >MIRON </title>
<body >
<applet code=”Principal.class” NAME =”Mirón” WIDTH=”100″ HEIGHT=”100″ >
</applet>
</body>
</html>

Bien, ahora un par de cosillas más, si nuestro código tiene más de una clase, lo que será bastante normal, y hace uso de recursos como imágenes, sonidos, etc entonces lo suyo sería que lo explortáramos todo en un .jar (básicamente como un zip, simplemente hace que el explorador no tenga que hacer una petición por archivo, sino que lo baje todo de una vez) y que utilicemos el .jar. Bien, y cómo, pues con un par de atributos más: ARCHIVE y CODEBASE.

CODEBASE indica la carpeta o la URL donde está el .jar o el .class si no es la misma en la que está el archivo .html (lo que será lo más normal en un blog) y ARCHIVE es para indicar el nombre del .jar donde se encuentra la class que especificamos con code. Resumiendo, que si tenemos un jar con todas nuestras clases y recursos y entre ellas principal.class es la que hace extends de JApplet o Applet pues pondríamos:

<html>
<title >MIRON </title>
<body >
<applet code=”Principal.class” ARCHIVE=”miron.jar” NAME =”Mirón” WIDTH=”100″ HEIGHT=”100″>
</applet>
</body>
</html>

Y si el .jar está en una carpeta distinta que el .html pues añadiríamos
CODEBASE = “http://loquesea.com/aquitaeljar/”

Bien, ya solo nos queda una cosita para tener todo lo necesario. Los parámetros. Podemos pasarle desde el explorador los parámetros que queramos al Applet. En el Applet los recogeremos con getParameter, pero ese no es ahora el tema. La cosa es cómo se los pasamos. Pues con <param NAME = VALUE => </param> En esta etiqueta, que se coloca entre las etiquetas de principio y fin del Applet podremos pasar los parámetros que queramos, eso sí, siempre como cadenas de texto. Por ejemplo, y ya viene el ejemplo final :) a Mirón 1.1 se le puede especificar el tamaño mediante los parámetros “ancho” y “alto”. Con lo que para poner en vuestra página a Mirón en un tamaño 100 x 100 solo tendríais que escribir donde queráis que aparezca:

<applet CODE = “Principal.class” ARCHIVE = “miron.jar” CODEBASE = “http://juanmi.malak.googlepages.com/” NAME = “Mirón” WIDTH = 100 HEIGHT= 100>

<param> NAME = “alto” VALUE = “100″ </param>
<param> NAME = “ancho” VALUE = “100″ </param>
</applet>

Bueno, espero haber aclarado como va la cosa y que, al menos para probar, alguien se ponga a miron en la página y le de unas vueltas al ratón ;P Seguramente vaya mejorándolo conforme vaya aprendiendo-experimentando con java, seguiré contándoslo todo por aquí. Para cualquier duda o sugerencia siempre podéis comentar :)

26 August, 2006

Mi primer applet

Escrito a las 15:52 en la categoría: Juegos

He abierto una nueva sección en la que iré contando mis avances en el desarrollo de juegos, con lo que desvinculo este tema del de “informatica” más general, que seguiré utilizando para noticias o comentarios más generales.
Mi primer aplet en Java (en realidad no es el primero, pero si el primero que subo a internet y el primero desde que me he puesto más en serio con esto) es muy muy simple, son apenas un centenar de lineas que ponen un par de primitivas en pantalla y detectan los clicks del ratón:




Si clickas en cualquier parte dentro del aplet los ojos del smile mirarán automaticamente hacia donde clickaste… O eso hace en mi ordenador, ¡a ver si tb lo hacen en internet! ;)

Ahora mismo el codigo no es gran cosa y no esta comentado, así que cuando lo mejore un poco y lo comente lo subiré, por ahora solo me hacia ilusión subir algo y tener el aplet online.

22 August, 2006

Libre Expresión IV

Escrito a las 0:18 en la categoría: Historias

O diario de un noctámbulo, porque es de noche cuando me asalta la necesidad de escribir. Los perros ladran a quién sabe qué, la brisa veraniega recorre las calles con su particular olor a relente y a sal, y yo deseo llenar mis pulmones con ella. Ahora que la ciudad no hierve, que el asfalto es casi bello y las luces la adornan como en una silenciosa fiesta navideña, el espíritu tiene espacio para recostarse y disfrutar. Se evapora el estrés del día con el calor de las paredes, se difuminan los horribles telediarios, las obligaciones, las carreras… solo queda oscuridad y frescor. Es entonces cuando la mente, que por fin está tranquila, bombardea con las ideas absurdas que desearia tener todo el tiempo, pero que durante el día no tiene porque está demasiado ocupada pensando cosas ingeniosamente útiles.

No me estraña que muchos artistas digan que prefieren trabajar de noche. Poco a poco, la imaginación que alcanza la libertad en el sueño se va escapando cuando sabe que se acerca el momento de dormir. Como un preso impaciente que sabe que pronto habrá cambio de guardia y podrá escaparse, repasando mentalmente el plan mientras sonríe. De repente ves ante tí claramente las ideas que pensaste durante el día, y las que no pensaste. Ya no son ideas de un dibujo o ideas de un personaje, puedes ver el personaje, puedes ver una película mental de lo que quieres (y de lo que no).

Lo difícil es capturar esas imágenes, plasmar los sueños antes de que el sueño venza. Esbozar la idea significa salir de la ensoñación. Introducirse más en ella significa dormir. ¿Dónde está ese momento del que hablan los genios? Ese en el que todas esas ensoñaciones son libres y tu tienes suficiente lucidez para cazarlas con tu caza mariposas y atravesarlas contra el fieltro… Tal vez no soy lo suficientemente noctámbulo. O lo suficientemente genio.

Tal vez no pueda plasmar ni una de cada diez de esas bonitas fantasías. Pero puedo soñarlas y llenar mis pulmores de levante y de salitre, y hundirme en el sueño reparador de quien no se arrepiente de lo que hace.

Dulces sueños…

21 August, 2006

Pido permiso

Escrito a las 22:46 en la categoría: General, Mis canciones favoritas

Autor: Nach Scrach
Album: En la brevedad de los días

Letra de la canción: (more…)

18 August, 2006

El viejito de youtube

Escrito a las 18:53 en la categoría: Historias

Hola, tenia ganas de dejar un video de youtube para ver como va y de hablar de este viejito entrañable que llevo viendo un par de días (mi conexión no es muy rápida, pero con un poco de paciencia y salivita…)


Este hombre decidió hace poco colgar algunos videos contando su visión del mundo. Es un viudo que vive solo y utiliza internet con asiduidad para comunicarse con el mundo. Sabe utilizar el msn y le encantó la idea de youtube, así que decidió apuntarse. Lo curioso no es esto, puede resultar interesante que una persona de su edad (79 años) utilice y guste de internet, aunque es algo que se entiende ya que así palia su soledad. Pero lo más interesante es que los videos de este señor estan siendo visionados por cientos de miles de personas. El primero casi llega al millón de visitas. Éste que les pongo, que es el primero de una especie de autobiografía en video y tiene casi 150.000. La verdad es que el hombre es entrañable y esas cosas, pero me da que pensar que seguramente más de una de las personas que se han molestado en ver a este anciano por internet hace mucho que no visitan a sus abuelos…

saludos, les dejo con él

16 August, 2006

25 años de PC

Escrito a las 11:25 en la categoría: Informatica y Tecnología

Nuestro gran amigo ya tiene un cuarto de siglo, más que un servidor. En todos estos años el PC ha evolucionado de una forma que la mayoría nisiquiera imaginaban. Una herramienta que al principio no tenia mucha más utilidad que una máquina de escribir con calculadora incorporada pronto se fue convirtiendo en habitual en las oficinas, y más tarde en nuestras casas. Pero para que se produgera el verdadero boom no hicieron falta procesadores de texto, calculadoras, agendas o todas esas utilidades para las que fue concevido en un principio. Como siempre, el producto triunfó gracias al entretenimiento lúdico. Fueron los videojuegos que hoy inundan nuestras casas los que lanzaron al estrellato al PC y lo convirtieron en lo que hoy conocemos.

Hoy en día, sin embargo, el PC parece evolucionar hacia mundos más amplios. Internet es, cada vez más, la comunidad que muchos soñábamos hace unos años. Los Blogs, youtube, los wiki, o msn son buenas muestras de esto. Las comunidades de internautas proliferan como la espuma y el PC ya no solo sirve para jugar en solitario, también para hacerlo acompañado, para compartir opiniones, creaciones, conocimientos…

Larga vida al PC, y larga vida a las comunidades humanas y a la evolución de éstas. Si quieren ver algunos datos sobre los PCs de hace 25 años les remito a la noticia que me ha hecho conocedor del aniversario: 25 años de PC Y también algo sobre Youtube

8 August, 2006

OpenGL y Bloodshed

Escrito a las 23:54 en la categoría: Juegos

Mientras (re)aprendo OpenGL iré contando los escollos que me encuentre en el camino y cómo los he solucionado. Mi primer problema ha sido escoger el entorno de programación y echar a correr mi primer ejemplo. Últimamente he estado programando con el Bloodshed para C++, así que para no cambiar de entorno de primeras quería usar ese. No sé porqué no he conseguido echar a andar ningún programa con la GLUT, me da siempre problemas al linkar. Así que después de varios intentos me decidí por la que viene en el ejemplo de codigo OpenGL del Blooshed (nuevo proecto/Multimedia/OpenGL) y que utiliza también en el framework del wiki de OpenGL (Frameworks para OpenGL)

Pero antes de seguir, detengámonos un poco para ecplicar que es todo estos nombres que puden sonar a nuevos:

¿Qué es OpenGL? Es una API (Application Programming Interface) para gráficos 2D y 3D multiplataforma. Lo que quiere decir que es un conjunto de librerías que nos permiten plasmar en pantalla gráficos 2D y 3D.

¿Qué es la GLUT (GL Utility Toolkit)? Es un conjunto de funciones que facilitan la entrada y salida de datos con OpenGL. Esta librería permite crear ventanas, gestionarlas, recoger la entrada de teclado y del ratón, dibujar primitivas más complejas que las de OpenGL y unas cuantas cosas más.

¿Qué es la windows.h? Pues aun no sé mucho de ella. Solo que es una librería que me permite poner ventanas de windows y gestionar la entrada salida de una forma mucho menos cómoda e intuitiva que la GLUT, pero por ahora es la que puedo usar (Si a alguien que lea esto le funciona l aGLUT en el Blooshed que me avise, aunque de todas formas pronto provaré con Eclipse y ya os contaré.)

Bien, ya que sabéis de que va el tema os contaré el par de cosillas que hay que hacer para poder trabajar con OpenGL en Bloodshed y poder centrarnos en aprenderlo sin preocuparnos de mucho más :)

Los dos ejemplos mencionados nos servirán para lo que acabo de proponer. Aunque personalmente prefiero el Framework del wiki de OpenGL. Aunque tampoco hace alarde de una gran modularización sí que es cierto que nos separa el código que nos interesa del que no tanto en dos archivos, con lo que si no quremos no tenemos que mirar siquiera cómo va eso de la ventanita con windows.h.

En el ejemplo del Bloodshed solo tendremos que poner el código OpenGL que queramos probar justo a continuacón del comentario que dice algo así como “/* OpenGL animation code goes here */” Algo que resulta trivial en cuanto sabemos 2 palabras de inglés.

En mi preferido solo tendremos que copiar el codigo que aparece en la página en los dos archivos que indica (Framework.h y OpenGLBase.cpp) para Windows. Luego nos vamos abajo del todo y copiamos el tercer archivo, el render.cpp. Creamos estos archivos en un proyecto de Blooshed, los guardamos y casi estará todo hecho. Solo nos queda añadirle un par de parámetros al linker para que utilice la biblioteca OpenGL. Pinchamos en “Proyecto/Opciones de Proyecto”. Luego, dentro de la ventana que nos aparece, en la pestaña de “Parámetros” y en el área de texto de linker escribimos: “-lopengl32″ y “-lglu32″ separados por un intro. Y yá está.
Una vez hecho ésto deberíamos poder darle a compilar y ejecutar sin problemas el programita. Nos aparecerá el típico triángulo con la gama de colores girando sobre su centro.

Para escribir nuevo código solo tendremos que irnos al archivo “render.cpp” y sustituir el código del triángulo por el que queramos. En los siguientes tutoriales del wiki siempre nos dan el render.cpp correspondiente, con lo que vamos viendo los fundamentos de OpenGL en funcionamiento sin problemas.

Para entender mejor algunas de las funciones de OpenGl también disponemos de los Tutores de Nate Robins en los que podremos modificar los parámetros de las funciones y ver en tiempo real el efecto que producen nuestros cambios. Para empezar no está nada mal. La verdad es que cuando di la asignatura de Gráficos en la carrera no me enterá de la mitad porque el profesor era malísimo, pero al menos me sentó algo de base, (minúscula y sobre todo matemática) y de interés por el tema. Con estos tutoriales podemos hacer algo, pero no creáis que con eso ya se sabe OpenGL, hay mucho que aprender y lo mejor sería organizarlo un poco más modular de como se nos presenta en la web.

Antes de empezar hay que tener en cuenta una cosa muy importante sobre el funcionamiento de OpenGL: (more…)