Personal

Integrando Chrome en kde4

Una de las cosas que siempre me ha gustado de KDE es la cantidad de opciones de configuración que tiene. Virtualmente todo es configurable.

Por otro lado, Chrome, a pesar de parecerme un gran navegador, hasta hoy tenía un handycap importante. No podía cambiarlo de escritorio virtual. La forma en la que se crea la ventana de chrome hace imposible acceder a los menús propios de kde.

Navengando un poco, hoy encontré la solución. Es tan simple como ir a Preferencias del sistema / Comportamiento de las ventanas / Especificas de la ventana y  crear un nuevo comportamiento para las ventanas de la clase "chromium Chromium". Para este nuevo comportamiento hay que establecer que queremos forzarla a que funcione sin borde. Luego vamos a la ventana de Chrome, botón derecho y seleccionamos "Utilizar bordes y titulos". Tachan! Ahora mi ventana de chrome tiene una barra de ventana como el resto de mis aplicaciones de kde y puedo controlar mejor el comportamiento.

La evolución de HTML

Tagged:

 

Hoy me he visto gratamente sorprendido por un juego hecho en HTML5. Soporta sonidos, entrada desde teclado, gráficos con tiles en múltiples niveles.

Yo no se si es que uno es viejo, o que llevo mucho tiempo en la red. Probablemente las dos cosas, pero cuando veo cosas como esta recuerdo cuando en HTML solo se podían poner hiperenlaces e imagenes. O cuando javascript salio a la luz para "poder hacer ese efecto tan chulo". Incluso cuando por primera vez flash nos rompía los esquemas de como y para que se podía utilizar la web. 

Y es que la red ha evolucionado y se ha hecho mayor. De sus orígenes, en los que pretendía ser solo un entramado de información interrelacionada, al punto actual, en el que juegos, y aplicaciones que antes solo eran pensables para ser instaladas se ejecutan con toda naturalidad.

Aún creo que nos quedan muchas cosas por ver, y que la red seguirá avanzando pasito a pasito, pero por ahora HTML 5 promete bastante.

 

QtRay (Step 2)

Today I've tried to make my QLineF3d class, but I find something that don't let me finish it.

I tried to make this class reading the code of QLineF that comes with the Qt distribution but one more time the math part kill me. When I tried to convert to 3d all the methods (or almost the main methods of the two dimensional class) I realised that I don't know how to build a line in 3d in polar cordinates... Should be Spherical coordinates? Or Cilindrical coordinates? (I mean, two angles an the lenght of the line or one angle, one height and one lenght?).

The problems appears again with the angles, I have clear how to define angles between two dimensional lines but... in 3d? two angles? the 3d angle between the lines? If I use the last approach should I give the plane that holds the lines?

Reading the Qt code I found things that I don't want to do. Some referent to the style, like define the function with variables named diferent than the ones in the implemention and something like that ( maybe I'll send a patch to the Qt guys) . And some releated to speed of the maths, I found that they use a function from graphics gems III to make intersection between a segment and a point. I'm not really sure but I thing that I've read somewhere better ways to do that (I have to search in my books, in codepixel list , in google....)

I have also some things that I should use. Some friends talk me every day about tests. I know that are usefull, I had the oportunity to "test the test" in work and its great to catch the bugs. I'm not using any test but I should do it. For the math parts will be really usefull, so propably I'll spend part of the weekend looking for testing tools for C++, learning how to use them, and reading details about math problems. I'll try to have on monday a the QLineF3d class finished. Then probably I'll try to make my camera class and start studing what I'll use to store the data.

Like in AC/DC the song.... "It's a long way to the top if you wanna rock and roll" :D

QtRay (Step 1)

I always wan't to make my own raytracer. I have the oportunity in the university, but the raytracer that I want to do then was bigger than the one that I need to do for the university so I get out of time (and didn't pass that assignment). So after reading a lot about realtime raytracers in Codepixel and in Jon Valdes blog I decided to make a really small raytracer.

The first step was remember all about math. I ned to remember what I have to do to know if a ray intersects a triangle. There a lot of methods about it, and a lot of changes to make it faster using sse instructions and stuff like that. But I need the earlier and easiest way. So I get my "Collision detection in interactive 3d enviroments" and I read the easy way to do that. The easy way use Cramer's method to solve an ecuations system. And I didn't remember how It works. So I spend one full night to understand all of this. If someone wants more information about the other methods you can take a look to Codepixel Wiki entry about it. I'll probably talk about all the math stuff when I'll do it in code but today I only wan't to give an overview of what I have now.

I also need more information on how to transform the screen positions into world positions to calculate the ray, after some time trying to figure how to do that. I asked to Jon Valdes and he send me to an old post in codepixel mailing list where he ask the same thing. I've read Alex Méndez answer and I get the solution.

The next thing to solve was a technological problem, what to use? OpenGL? Qt? in which language? C? C++? Ruby? Other? Finally I'm quite sure to do it in C++ with Qt. So I start again to make some test to remember how Qt works. (You know hello world tutorial and something like that).

Ok when I thougth that I can begin with the math part in code, and make appear a white plane on my screen, I found another problem. Qt don't have a 3 dimensional point into their classes. So using the code of QPointF I'll start to make a QPointF3d. And that's my actual state.

I'll try to do something every day (at least a few lines and a post) tomorrow (or even tonight) I'll try to make another class QLineF3d to hold ray's informations.

OpenGL 3.2

Parece ser que la gente del grupo Khronos al fín se han puesto las pilas y están empezando a cumplir las promesas. En el Sigraph de este año ya han anunciado la release 3.2 de OpenGL! Y como siempre nVidia detrás lanzando su driver OpenGL 3.2.

Como novedades más funciones antiguas retiradas,formato bgra, y al fin geometry shaders! Parece que la gente de Khronos ha decidido hacer la competencia de verdad a DirectX copiandoles las cosas que funcionan... Con un poco de suerte volveremos a traernos a la comunidad de programadores de juegos (o eso espero)
Especificaciones OpenGL 3.2:

http://www.opengl.org/registry/doc/glspec32.core.20090803.pdf

Problems with K3b (Solved!)

I've been having problems with K3b. Can't detect my recorder device, but cdrecord can see it.

Looking for a lot of websites and blogs I couldn't find a solution that works on my system, until I find this one: http://linux.derkeiler.com/Mailing-Lists/SuSE/2009-04/msg00922.html

One of the possible problems written on that website was "I have problems with Hal?". That was the last thing that I need to test, so ... surprise!. My hal daemon was stopped!. I suppossed that the reason for that is that I launch X manually without Kdm, and propably I didn't configure the KDE enviroment (so the Hal daemon is stopped too).

Probably I will have this problem again so I will use my own blog to remind what is the solution for the next time.

Problemas con K3b (Resuelto!)

Llevo semanas con problemas con mi K3b. No detectaba mi grabadora, a pesar de que cdrecord me decía que mi unidad estába ahí una y otra vez.

Mirando por cientos de webs no daba con la solución al problema, hasta que he llegado a esta web: http://linux.derkeiler.com/Mailing-Lists/SuSE/2009-04/msg00922.html

Una de las cosas que se planteaba era si tenía problemas con Hal y ya era lo último que me faltaba por mirar, asi que ... sorpresa! Mi demonio de hal estaba parado. Supongo que gran parte de culpa la tiene en arrancar las X a mano sin Kdm y sin haber configurado correctamente el entorno de KDE.

Supongo que me volvera a pasar  y me volveré a olvidar de la solución así que me uso a mi mismo de chuleta para la próxima.

iRvz = iMac + iPhone

Al final he caído y me he comprado un iPod Touch y un iMac de 20".

Hacía tiempo que llevaba picándome la curiosidad por los productos de Apple y la verdad es que el iPod me ha sorprendido gratamente. Y es que he tenido varios cacharros en la misma linea, desde una iPaq hasta la psp, pero ninguno de ellos me dejo tan contento. No se si es el tema de la interfaz táctil, el tema de que es muy rápido para acceder a él (poniéndolo en reposo) o que tiene una interfáz para el teclado realmente cómoda pero el caso es que ahora es un gadget que va siempre en mi bolsillo.

Por la contra el iMac no me ha dejado con tan buen sabor de boca, como hardware es increible, pero por el mismo precio se puede conseguir un hardware mil veces más dopado. Haciendo números por encima con que me compre el iMac me da para un pc con Quad core, el doble de memoria , el cuadruple de disco duro, una pantalla de 24" y aún me sobra dinero. Y a sabiendas de esto decidí comprarme el iMac, la razón principal es que no quería perder tiempo hackeando el pc hasta el infinito para meterle MacOS, prefería usar ese tiempo en programar para MacOS o para el iPod.

En el tema de software, yo no veo las maravillas que predican los maqueros en MacOS. Por el lado de la interfaz me encuentro muy limitado, me siento bastante incomodo con un escritorio en el que no puedo o no se como poner las ventanas pegajosas a todos los escritorios o las ventanas "On Top". Por otro lado, el inexistente sistema de paquetes me hace sentir que pierdo totalmente el control de lo que tengo instalado y lo que no. Y si encima te metes a programar, peor todavía, algunas cosas tiradas en la estructura linux/unix (/usr/lib, /usr/include), otras tiradas en la estructura MacOS (/Developer/framework).

Aún así hay un punto que no les puedo negar, el compilador de c++ es bastante más estricto en los chequeos de tipos y eso me ayuda bastante a cazar bugs. Y por otro lado que cuando una aplicación caiga, te salga una ventanita con la traza de tu programa también es de bastante agradecer.

Por lo pronto, anuncio por aquí y así me obligo un poco a cumplirlo, que en breve intentaré meter algún tutorial de programación del iPod, a la vez que voy haciendo la aplicación chorra que tengo en mente.

 

Primera reunión canaria de codepixel

Ayer tuve el placer de conocer en persona a Javier Loureiro, creador de codepixel e integrante de Ilion Studios, y a Thai Dam.
 
Resultó una tarde muy interesante, hablando de cosillas de gráficos, de codepixel, y de como arreglar el mundo en general delante de una cerveza. Una vez más hablar con cierto tipo de gente vuelve a sacarme las ganas de hacer cosas. Escribir más en el blog, acabar pruebas que he dejado a medias, etc etc.... A ver cuanto me dura está vez el subidón.

Que bien sienta el deporte

Tagged:

Hoy he vuelto a engancharme al volley. Hacía siglos que no jugábamos y tenía un mono impresionante.

El caso es que para llevar tanto tiempo sin jugar no me encontré en tan baja forma como me esperaba.

Mañana tendré agujetas por un tubo... pero después de la duchita que me acabo de pegar, que bien me siento. Mañana me moriré en el curro y despues toca clase de bateria, juaz a ver que tal...

Tras 3 horitas de juego, casí morirme varias veces he salido con las endorfinas por las nubes.

Los culpables de esto han sido:

Distribuir contenido