08 diciembre 2009

Videojuegos 2009

Estos días en las webs de videojuegos están decidiendo cuáles han sido los mejores juegos del 2009 (Game of the Year o GOTY para los guays).

Yo voy a poner mi TOP10 de juegos que he jugado este año. De ellos sólo 2 han salido en 2009 y algunos tienen muchos años.
  1. Team Fortress 2
  2. Plants VS Zombies
  3. Bioshock
  4. NBA 2K10
  5. Portal
  6. Half-Life (+ extensiones)
  7. No More Heroes
  8. Half-Life 2 (+ episodios
  9. World of Goo
  10. Doom 3


Y otros juegos que he jugado y que me acuerdo ahora mismo: The Elder Scrolls IV: Oblivion, Braid, Dragon Ball Origins, Doom, Doom II, Ultimate Doom, Disaster: Day of Crisis, ...

24 noviembre 2009

Cuenta online NBA 2k10

Cómo hacerse una cuenta para jugar online al NBA 2k10. Yo buscando en la web de 2k y en mil foros y resulta que estaba dentro del juego.

Guía para hacerse un usuario de Taringa

También en descubierto que no gano ningún partido porque está puesto en el nivel de dificultad pro (y yo no soy pro).

En fin...

22 noviembre 2009

Autoruns for Windows v9.35

He estado reinstalando Windows XP y bajandome parches y actualizaciones del Windows Update. Navegando por ahí en encontrado esta aplicación de Microsoft: Autoruns para Windows v9.35. Es una especie de sustituto mejorado para el viejo msconfig aunque tiene muchísimas más cosas.

En esta captura se puede comparar con el msconfig. Sólo por permitir redimensionar la ventana ya merece la pena.



La pestaña Logon es la que nos muestra los programas que se ejecutan al inicio y que se suelen acoplar la lado del relojito. En options se le puede indicar que no muestra las aplicaciones propias de microsoft y sólo deje las de otros fabricantes (aunque Adobe consigue acoplar un programa como si fuera de Microsoft y lo que tenido que quitar luego).



Cada elemento se puede deshabilitar como en el msconfig o borrar directamente, lo cual mola bastante. Además si no sabemos qué hace alguno de los procesos, en el menú del botón derecho tiene un acceso directo para buscar en Google.



Espero que el msconfig de Windows 7 sea como este y no el viejuno...

15 noviembre 2009

Particiones



Este post es sólo para guardarme como recuerdo una captura de pantalla del pifostio de particiones que tengo. 2 instalaciones de Windows XP y 2 de linux y varias particiones con montones de basura. Ahora voy a arreglarlo un poco.

14 noviembre 2009

Red-Black Trees vs Binary Trees

He acabado de implementar la estructura red-black tree (árbol rojinegro o árbol rojo-negro). Es un árbol binario de búsqueda modificado para conseguir que siempre esté equilibrado y no ocurran los casos peores del árbol binario típico. Sólo hay que modificar la estructura del árbol para añadir un nuevo atributo a cada nodo: su color (rojo o negro). Además al insertar y borrar nodos hay que reorganizar el árbol efectuando rotaciones aprovechando los colores.

Artículo wikipedia
Artículo Mathworld

He hecho 3 tests sencillos:

  1. 30 vectores aleatorios de 10000 elementos insertados aleatoriamente

  2. 30 vectores aleatorios de 10000 elementos insertados ordenadamente

  3. 30 vectores aleatorios de 10000 elementos todos iguales



El tiempo total de los tests utilizando un árbol binario de búsqueda normal ha sido 17m40.500s. En cambio, el red-black tree que he implementado ha tardado 10.485s (sí, 10 segundos) en mi portátil.

Ejecutando sólo el test 1 que es más realista el red-black tree sigue ganando: tarda 4.040s frente a los 5.660s del árbol binario normal.

04 noviembre 2009

Crear estructuras complejas en C con malloc

Supongamos que queremos crear una estructura para almacenar matrices de cualquier tamaño en C. La estructura tiene un array bidimensional de enteros y un par de enteros indicando el tamaño horizontal y vertical de la matriz.

typedef struct {
int w, h;
int **m;
} Matrix;


La forma simple de reservar memoria para esta estructura sería:

Matrix *mat = (Matrix *) malloc(sizeof(Matrix));
mat->w = W;
mat->h = H;
mat->m = (int **) malloc(sizeof(int *)*mat->h);
for (i = 0; i < mat->h; i++)
mat->m[i] = (int *) malloc(sizeof(int)*mat->w);


Y para liberar la memoria:

for (i = 0; i < mat->h; i++)
free(mat->m[i]);
free(mat->m);
free(mat);


Otra forma mejor de reservar la memoria es hacer un malloc del tamaño total que necesitamos y luego colocar los punteros a mano.

// memoria necesaria:
// la estructura + w*h elementos + h punteros a int para almacenar
// las filas de la matriz
size_t mem_needed = sizeof(Matrix) + sizeof(int)*w*h + sizeof(int*)*h;

Matrix *mat = (Matrix *) malloc(mem_needed);

// convertir el puntero a puntero a char
char *mem = (char *) mat;
// donde empieza el array de punteros a entero
mat->m = (int **)(mem + sizeof(Matrix));
// donde empieza el array de datos
int *p = (int *) (mem + sizeof(Matrix) + sizeof(int *)*h);

int i;
for (i = 0; i < h; i++) {
mat->m[i] = p;
p += w;
}



Y para liberar la estructura nos basta con:

free(mat)


La segunda forma es más complicada de programar, necesité pasarle varias veces el valgrind hasta que conseguí que funcionara, pero en cambio tiene la ventaja que luego se libera muy fácilmente y que toda la matriz está contigua en memoria cosa que podría no ocurrir si hacemos mallocs separados para cada fila.

Es muy importante convertir la memoria reservada a (char *) para poder mover el puntero. Si a un (int *) le sumamos 1, realmente estamos moviéndonos 4 posiciones de memoria porque un int son 4 bytes.

Para estructuras más complejas es bastante difícil de conseguir implementar correctamente la segunda forma. He llegado a ver en una librería como construían de esta forma un array de 5 o 6 dimensiones cada dimensión con tamaños distintos y da un poco de miedo.

01 noviembre 2009

Doom 3

Llevo un mes jugando al Doom 3 con el PC que me compré en agosto. No pude jugar en su días porque mi ordenador no daba para másy ahora estoy aprovechando para jugar a juegos de hace 3 o 4 años.





18 octubre 2009

Libros de programación

Hoy seré breve.

Odio los libros de programación que ponen los ejemplos en pseudocódigo y encima asumiendo que los arrays empiezan en 1.

14 octubre 2009

Me cago en la Universidad de los Andes

Desde agosto vengo recibiendo emails todas las semanas de una tal Sandra Parra que trabaja en:

Coordinación de Prácticas Académicas
Centro de Trayectoria Profesional
Universidad de los Andes
3394949 Ext. 2796
ctp@uniandes.edu.co


Supuestamente estoy apuntado a un curso tallar en Bogotá sobre “Herramientas útiles para identificar y desarrollar competencias”. No sé cómo han conseguido mi email, pero cada semana me invitan a ir a seminarios y "reuniones de jefes".

Este es el último email, aunque básicamente son todos muy parecidos.


Estimado Estudiante:

Esperamos que hasta el momento haya tenido una experiencia satisfactoria en su respectivo lugar de práctica. El segundo taller de seguimiento se denomina “Herramientas útiles para identificar y desarrollar competencias”. Continuaremos con el objetivo general del ciclo de talleres: Brindar a los estudiantes herramientas útiles para orientar y aprovechar autónomamente su experiencia de práctica.

El segundo encuentro se realizará el próximo VIERNES 16 DE OCTUBRE en el horario de 7:00 A.M. a 10:00 A.M. Por favor tenga en cuenta que:

1. A esta reunión ASISTEN SOLO LOS PRACTICANTES.

2. Recuerde que debe traer su carné para ingresar sin contratiempos y un bolígrafo.

3. La reunión se hará en grupos definidos por afinidad de las carreras, SU SALON ASIGNADO ES: O103. (Es importante que tome nota y asista únicamente al salón asignado para usted)

Le agradecemos de antemano puntualidad. Con el fin de iniciar a tiempo la reunión, las puertas se cerraran a las 7:15 AM.

Si bien es una reunión de carácter obligatorio, deberá confirmar asistencia antes del MARTES 13 OCTUBRE DE 2009 vía mail (ctp@uniandes.edu.co) o al teléfono 3394949 Ext. 2093 con Sandra Parra.

Nota: Recuerde que el próximo jueves 29 de octubre es la reunión de Jefes, es por esto que agradecemos nos notifique si su Jefe o supervisor inmediato ha cambiado. De ser así les solicitamos nos envié por este medio antes del martes 13 de octubre los siguientes datos (Nombre completo de su jefe, cargo, teléfono y correo electrónico).


Les he mandado montones de email educadamente y han pasado a mí. Así que a este email les respondí esto:


Hola!

Confirmo mi asistencia. ¿Puedo llevar a un acompañante? Es que no
tengo brazos ni piernas y necesitaría a alguien que me ayudase a tomar
mis notas.

Gracias.


Si sigo recibiendo emails supongo que comenzaré a apuntar a Sandra Parra a las mismas webs que me apuntan a mí: la web de Betty la fea, durex, evax, twitter, etc.

13 octubre 2009

USACO: 2009-2010 Season Announcement

Comienza una nueva temporada en la USACO (registrarse, entrenamiento) para los que les interese las competiciones de programación.

Las competiciones de la USACO se dividen en 3 divisiones. Se comienza en la división de bronce y quedando bien en las competiciones se va ascendiendo a las divisiones plata y oro.

Copypaste del contenido de las divisiones según el mail de la USACO:
  • BRONZE: Students who can write programs that work, including ad hoc programs that don't require fancy optimized algorithms.

  • SILVER: Just below the Gold division, Silver competitors should know a number of standard computer algorithms (e.g., the flood-fill algorithm). Silver is similar to the old Orange division.

  • GOLD DIVISION: The elite level with the most difficult challenges. The lowest-level competitors in this division should be able to create a dynamic programming algorithm from scratch (similar to the old Green division).


En mi opinión personal, la división plata es mucho más difícil de lo que pone en la explicación.

Calendario de competiciones:

  • 23-26 Oct, 2009 - USACO Qualification Contest (OPTIONAL)

  • 6- 9 Nov, 2009 - USACO November Contest

  • 4- 7 Dec, 2009 - USACO December Contest

  • 8-11 Jan, 2010 - USACO January Contest

  • 5- 8 Feb, 2010 - USACO February Contest

  • 12-15 Mar, 2010 - USACO March Contest

  • 23-26 Apr, 2010 - US Open for International


Las competiciones son de 3 horas en el horario de elijamos. La competición está abierta durante 3 o 4 días y en el momento en que se acceda a los enunciados comienza a contar el tiempo.

12 octubre 2009

Inverso de la raiz cuadrada

Probando cosas en OpenGL he encontrado esta función "mágica" que calcula el inverso de la raiz cuadrada de un número. Es decir, 1/sqrt(x) o x^(-1/2). Investigando un poco he visto que tiene artículo en la wikipedia explicando sus propiedades mágicas.

La función sacada de la WP:

float InvSqrt (float x) {
float xhalf = 0.5f*x;
int i = *(int*)&x;
i = 0x5f3759df - (i>>1);
x = *(float*)&i;
return x*(1.5f - xhalf*x*x);
}


La función recibe un número en coma flotante de 32 bits, convierte el número a entero y hace un desplazamiento de bits a la derecha (equivalente a dividir entre 2). Este número entero lo resta a la constante mágica 0x5f3759df y convierte el resultado a coma flotante de nuevo. Ahora con un par de operaciones se obtiene una aproximación para 1/sqrt(x). Un poco raro ¿no?

Parece ser que se comenzó a conocer esta función cuando publicaron el código fuente de Quake 3 como GPL, aunque ya se había utilizado anteriormente en más sitios sin publicarla.

El artículo de la wikipedia: Fast inverse square root

10 octubre 2009

Juegos gratis en Steam

Guía para conseguir juegos gratis:


Ahora en serio, en Steam hay una sección de "cosas gratis", suelen ser mods del Half Life o demos aunque también hay juegos completos que son gratuitos. Yo en verano descubrí el American Army 3 que es gratuito porque creo que lo ha pagado el ejercito de USA y lo usa para hacerse publicidad. No jugué mucho pero ayer me preguntaba si habría más juegos gratis y buscando descubrí este post: Free Steam games list

En él aparecen listados varias cosas gratis, pero yo destaco las siguientes:

Los dos últimos packs creo que abarcan todas las tarjetas gráficas que permiten ejecutar decentemente videojuegos. Gracias a esta promoción he obtenido el HL2: Deathmatch que es el único juego que me faltaba de la serie HL2 porque no viene con el Orange Box.

03 octubre 2009

Memory Limit Exceeded

Este es un pequeño truco para saber cuánta memoria ocupan las estructuras estáticas de nuestro programa. Esto es útil para competiciones de programación y podemos evitarnos el típico error de Memory Limit Exceeded.

Si definimos una array global en C y C++ por defecto está a 0.


typedef struct {
int x1, x2;
int y1, y2;
int area;
int valid;
int color;
} RECT;
RECT rects[500000]; // todo a 0


Si compilamos el programa así (añadiendo un main y todo eso). El ejecutable ocupa 11KB.

Pero en cambio si inicializamos aunque sólo sea un valor de la estructura


typedef struct {
int x1, x2;
int y1, y2;
int area;
int valid;
int color;
} RECT;
RECT rects[500000] = {{1,1,1,1,1,1,1}}; // inicializar el primer elemento


Al compilar ahora el programa el ejecutable contiene la estructura completa y ocupa 14MB.

Si inicializamos a 0 el ejecutable no aumenta de tamaño y se queda en 11K. Tiene que ser un valor distinto de 0.


RECT rects[500000] = {{0,0,0,0,0,0,0}};


Yo utilizo este pequeño "truco" para ver si el programa cumple los requisitos de memoria en la USACO o la UVa antes de enviarlo. También puedes calcularlo a mano pero yo soy más vago para eso...

Como curiosidad: Descubrí esto hace un montón de años cuando al enviar un programa a la USACO, el servidor de la USACO murió y no volvió a funcionar hasta 30 minutos después. Cuando miré el programa resulta que me había generado un ejecutable de más de 1GB.

01 octubre 2009

Libros de fisica

La semana pasada termine de leer un libro llamado Los tres primeros minutos del universo del fisico Steven Weinberg. El libro intenta explicar de manera sencilla que se supone que ocurrió cuando se creó el universo en el Big Bang.

A mí que no me gusta demasiado la física me ha parecido que el libro tiene demasiadas fórmulas matemáticas y cosas extrañas. Y lo peor es que las fórmulas están en prosa tipo "la cuarta potencia de la constante de hubble" y cuesta más de seguir.

Recuerdo que hace unos meses leí el libro La textura del món de Jorge Velasco. Este trataba principalmente sobre los átomos y las partes que los constituyen como quarks, bosones y demás. Este libro me gustó más porque intenta explicar cómo es posible que detecten partículas tan pequeñas y los aparatos que utilizan. Además este libro tiene un capítulo al final que también explica los primeros momentos del universo.

Este libro me gustó más que el de Weinberg. Además de que me pareció más sencillo de entender, el libro de Weinberg es del 77 y ese tiempo es una eternidad en física porque cada año se inventan teorías nuevas.

De libros de física ya estoy servido para un tiempo largo.

25 septiembre 2009

Floyd-Warshall

Después de mucho darle vueltas a un problema he descubierto cuál era el error. Escribí de cabeza el algoritmo de floyd-warshall y lo probé con un ejemplillo y funcionaba bien. Total, son 3 bucles y un if... Pues estaba mal.

Floyd-Warshall devuelve la matriz dist con la distancia mínima entre todas las parejas de nodos de un grafo.

Este es el algoritmo correcto:


for (k = 0; k < nnodes; k++) {
for (j = 0; j < nnodes; j++) {
for (i = 0; i < nnodes; i++) {
double d = dist[i][k] + dist[k][j];
if (d < dist[i][j])
dist[i][j] = d;
}
}
}


Yo había puesto el bucle exterior recorriendo la i y el interior la k y eso no da el resultado correcto.

En fin, he conseguido pasar al capítulo 3 de la USACO.

14 septiembre 2009

Libro: El Enigma de Fermat



Este ha sido uno de los mejores libros que he leído ultimamente. Cuenta la historia del Último teorema de Fermat y de cómo después de 3 siglos un hombre consiguió demostrarlo. No se mete nada en temas matemáticos complejos y pasa directamente a anécdotas y la historia. Tampoco creo que el autor pudiera meterse mucho en la demostración ya que pone que es un artículo de unas 200 páginas y si han tardado 3 siglos y medio de demostrarlo no debe ser sencillo...

12 septiembre 2009

Half Life Platinum Pack

El mes pasado cuando estaba jugando bastante al Team Fortress 2 se me ocurrió agregar en Steam el antiguo Half Life que tenía. Lo daban con el periódico El Mundo hace un porrón de años y yo me lo compré para poder jugar al Counter en su día.

Me sorprendió bastante porque al meter el cd-key del Half Life en el Steam me registró el "Half Life Platinum Pack" que incluye los siguientes juegos:

Half life
Opposing Force
Blue shift
Day of Defeat
Counter-strike
Team fortress classic
Deathmatch Classic
Half-life Deathmatch: source
Ricochet

Lo mejor son las 2 expansiones del HL: Blue Shift y Opposing Force que para mi gusto son mucho mejores que el propio juego.

Si alguien tiene el HL antiguo recomiendo que lo registre en Steam y juegue a las expansiones porque tienen mucha más historia que el HL. Cuando jugué al Half Life 2 en junio me sorprendió la cantidad de personas que había y resulta que todos son personajes de las extensiones.

Además de los juegos que aparecen para instalar con el Platinum Pack, si se accede a la dirección steam://install/150 podremos instalar el Counter Strike Steamworks. Que es una versión del Counter Strike clásico pero adaptada a los usuarios de Steam (implementa lo de los amigos y todo eso).

24 agosto 2009

DDR2

Leo en la portada del manual de mi placa base:


P5QC Motherboard
User guide

DDR2 1006MHz DIMMs work only on the black slots for one DIMM per channel. Ensure to install the DDR2 1066MHz ONLY on the BLACK slots!


Por supuesto, los DDR2 1006MHz DIMMs los tenía instalados en los slots amarillos...

Yo no sé el que montó el PC a qué juega, si lo pone hasta en la portada con una exclamación Dentro del propio manual aparece al menos 2 veces más este mismo mensaje.

22 agosto 2009

Team Fortress 2: Server is enforcing consistency

Si al intentar conectarte a un servidor del Team Fortress 2 te sale el siguiente error: Server is enforcing consistency for this file: particles\water_dx80.pcf (el nombre del fichero puede ser cualquier otro), en el wiki del Steam dicen que es por que has modificado ese fichero y el servidor no lo permite. El caso es que yo no había modificado nada. Tras volverme un poco loco porque no conseguía conectar a ningún servidor descubrí que tenía un aviso del firewall de Windows diciendome que había bloquado la aplicación "hl2.exe" (que es el TF2) y tras quitar el bloqueo ya me conectaba.

Así que si da ese error puede ser por modificar ficheros del juego o por que el firewall no deja al juego enviar ficheros al servidor. A lo mejor se cree que es spyware que está enviando cosas sin que el usuario se entere y por eso lo bloquea automáticamente.

Además un notición....

Por primera vez desde que estoy jugando en los ratos libres al Team Fortress 2 he conseguido matar más que ser matado.

Lo he conseguido hace un rato con el Francotirador quedandome agazapado campeando y hace nada con un Heavy ametrallando a todo lo que se movía mientras un Medic por detrás me iba curando.

La prueba de éxito:

Activar/desactivar Bioshock en varios ordenadores

Hace unas semanas compré de oferta el juego Bioshock (si no lo has jugado recomiendo probar la demo).

Como todo juego original, tiene más protecciones que el papamóvil y para poder jugar hay que activarlo por internet en los servidores de 2K.

Estuve pensando que sí la activación es igual que la del XP, no me dejaría activarlo en ningún otro PC (yo instalé y activé el juego en el portátil). Pero ahora he descubierto que no.

Se puede activar el juego 5 veces (creo) pero además, puedes desactivar una instalación del juego en un PC para poder activarlo en otro. Ejecutando la aplicación Bioshock Activation Revoke Tool puedes desactivarlo.

Es importante hacerlo si vas a formatear el Windows o a cambiar piezas de hardware ya que la activación va con la instalación de Windows y con el hardware del PC.

21 agosto 2009

Libro: Mi visión del mundo

He estado leyendo el libro de Albert Einstein Mi visión del mundo. Es una recopilación de artículos, cartas y demás organizada por temas. No sé si es una recopilación que hizo Einstein o es posterior.

La parte que habla del conocimiento científico, explica la teoría de la relatividad y algunos avances de la física está bastante bien pero el capítulo anterior que habla del judaismo no me gustó nada. Recomienda a los judíos que no se mezclen con los no judíos para no infectarse con su moralidad incluso llegando a decir que los estudiantes judíos no deben aceptar ir a universidades no judías (juraría que él no hizo lo que predica).

Quitando el capítulo ese, en el que habla como un extremista religioso en algunos puntos, el resto del libro está bastante bien. Aunque es un poco irregular el contenido hay cartas de 10 lineas seguidas de discursos de varias páginas.

Buscando en google por el libro, parece que a la gente le encanta el libro.

19 agosto 2009

Bluebirds GH22NS40 y GH22NS50

Recientemente (ayer) adquirí una grabadora LG GH22NS40 con mi ordenador nuevo. Como otros tantos componentes del PC, la grabadora fue escogida aleatoriamente de entre los modelos más baratos que había en la tienda.

Problema

El problema es que LG ha metido en los firmware de sus grabadoras un pequeño programa llamado Bluebirds (creo que es un programa para grabar DVDs pero nunca lo he abierto). Lo jodido es la grabadora cuando detecta un disco dentro de la unidad simula como si hubiera un cd con el instalador de Bluebirds. Peor aún, el "disco" tiene un autorun y te instala el programa en windows sin que tú hagas nada. Si lo desinstalas, la próxima vez que no tengas ningún disco metido aparecerá Bluebirds y se instalará.

En Ubuntu por ejemplo, siempre tendrás un icono del cd de Bluebirds en el escritorio.

Solución

En varios foros encontré links a una actualización de firmware para el modelo GH22NS50 pero en la factura de la tienda ponía que el modelo de grabadora es la LG GH22NS40.

Probé a bajarme la actualización para el modelo 40 pero al ejecutar el programa de actualización no encontraba la grabadora. Así que con dos cojones me bajé el firmware nuevo para el modelo 50 que supuestamente no tengo. Este firmware sí que me detectaba la grabadora. Estos programas de actualización son sólo para Windows.

Actualicé el firmware de la versión TN00 a la TN01. Todos los cambios que se incluyen en esta versión son:

- Removed Bluebird function.

Lo cachondo es que al darle a actualizar el firmware te pide que retires el disco antes de actualizar. ¡Disco que no existe y que se lo inventa el propio firmware! Con abrir la tapa de la unidad ya sirve para que deje actualizar. Tras actualizar pide reiniciar y ¡el maravilloso Bluebirds desaparece! Un error menos en el mundo.

Esto me ha recordado otro fallo que tuvieron los lectores/grabadores LG. Resulta que por el 2003 salió el Mandrake 9.2 y se descubrió que algunos lectores LG se les jodía el firmware al instalar Mandrake. El problema venía de que LG no implementó bien el estándar y había una instrucción que en vez de hacer lo que tenía que hacer jodía el firmware.

Actualización:

Me he fijado que ahora tanto Windows como Linux me dicen que tengo una unidad GH22NS50. He estado repasando los logs de Linux y parece que desde el principio he tenido una 50. Quizá se han equivocado en la tienda o el modelo 40 y el 50 son iguales.

14 junio 2009

Half Life y The Orange Box

La semana pasada estuve jugando al Half Life, uno de los pocos juegos de PC que tengo. El juego es del 1998, es decir de la época en la que los videojuegos empezaban a ser cada vez más fáciles. Aún así la parte del planeta Xen es bastante difícil aunque juegues en fácil.

Tras acabar el HL me compré The Orange Box que es un pack que incluye:

Half Life 2
Half Life 2: Episode One
Half Life 2: Episode Two
Portal

Y un juego multijugador que no tiene nada que ver con Half Life:

Team Fortress 2

Después de pasarme el HL2, el HL2:E1 y Portal y estar a mitad del Episode Two. He decir que Portal es el mejor de todos con diferencia. Quien no sepa que es Portal puede probar la versión en Flash que también está muy bien.

Respecto al HL2 sus secuelas, son muchos más fáciles que el HL original aunque tienen mucho mejores gráficos. El problema de la serie Half Life es que la historia pasa muy muy lentamente. En cada uno de los juegos apenas te enteras de algún pequeño detalle de la trama, el resto es pegar tiros como un loco.

Los 5 juegos de The Orange Box se pueden encontrar muy baratos hoy en día. Por ejemplo, en El Corte Inglés cuesta 20 euros. También vi el otro día únicamente Portal y costaba 15 euros. Por 5 euros podrías tener todos.

Por último, uno de los protagonistas de Portal, el Cubo de Compañía:

20 abril 2009

Recomendación de juego: Braid

He estado jugando esta mañana a la demo de Braid. Braid es un juego de plataformas-puzzles en el que manejas el tiempo. Por ejemplo si mueres porque te ha pegao un bicho puedes volver un poco atrás en el tiempo y saltarlo o irte por otro lado.

El juego salió el año pasado para XBLA y ganó varios de premios y reconocimiento en los medios por su originalidad y diseño. Hace han sacado la versión para Windows.

La demo se puede descargar aquí. El juego completo cuesta unos 10 o 15 euros comprado online. No lo he probado en Linux y no sé si funcionará. Parece que el autor lo intentó portar a linux pero tuvo algunos problemillas.


Braid trailer from David Hellman on Vimeo.

17 abril 2009

Conclusiones Kubuntu 9.04 beta

Después de una semana de convivir con Kubuntu 9.04 beta y de probar a fondo KDE4.2 he decidido volver a Kubuntu 8.04.1 con KDE3.5.9.

Cosas buenas:

Konqueror es un gran navegador. Por fin se pueden cerrar las pestañas con el botón central del ratón y se puede colocar el botón de cerrar la pestaña en la propia pestaña. Carga mejor las páginas y parece más rápido. Aunque se cuelga a veces en algunas páginas con Flash igual que el Firefox. Debe ser cosa del plugin de Adobe que está mal hecho.

Cosas malas:

En general KDE4.2 parece lento. No responde tan rápido como KDE3.5.

Lo de los Plasmoids no me gusta nada. Es una pena que ahora sea el escritorio en sí mismo. En otras versiones los pijos tenían SuperKaramba y los que somos sencillos nos quedábamos con el escritorio tal cual.

No parece que se integre demasiado bien con Pidgin y eMule que son las dos únicas aplicaciones no-KDE que he instalado que utilizan la bandeja del sistema. A veces tenía que darle hasta 8 veces al tray para abrir el eMule y en el Pidgin era peor porque se abría y minimizaba en milisegundos cuando se debería quedar abierto al pulsar en el tray y minimizarse al pulsar de nuevo.

He probado a entrar unas 10 veces a Hotmail con el Konqueror y se me ha colgado todas las veces. Con el Konqueror KDE3.5 había que hacer virguerías para ver el correo de Hotmail pero al menos se podía entrar.

No me gusta el menú K. Está separado en pestañas dentro del menú, podría ser un submenú cada cosa como ha ocurrido toda la vida.

Además si le das a apagar o reiniciar, no se apagar o reinicia si no que aparece una ventana con una cuenta atrás y si quieres saltartela has de pulsar de nuevo en el icono de apagar que aparece. Aún no he entendido la lógica o utilidad de esa cuenta atrás.

Conclusión

El KDE4 por defecto no me gusta. Igual he de tocar mil cosas en la configuración para adaptarlo a mis necesidades, pero el caso es que el KDE3 por defecto me gusta y no he de configurar nada. Además en el mismo PC responde más rápido KDE3 y como veo una tontería los efectos especiales en el escritorio pues he decidido volver a mi vieja Kubuntu 8.04.1 que además es LTS. Así que ahora mismo estoy bajando los 366 MB de actualizaciones.

Supongo que en un futuro KDE4 molará más y me lo podré poner pero de momento no convence nada. Le daré otra oportunidad dentro de un tiempo.

16 abril 2009

Libro: La proporción áurea

Hace un par de día acabé de leer el libro La proporción áurea del autor Mario Livio, su subtítulo dice así: La historia de phi, el número más sorprendente del mundo.



El libro por supuesto trata de phi (1.618033988...) el número que popularmente se dice que representa las proporciones perfectas de la naturaleza. Comienza contando cómo los Pitagóricos descubrieron este número y trataron de ocultarlo, cómo en la edad media se comenzó a pensar que tenía propiedades divinas y hace pocos siglos cómo se le comenzó a llamar la proporción áurea y se comenzó a buscar a phi por todas partes.



La parte que más me gustó fue la que explica algunas propiedades matemáticas curiosas del número en sí. Por ejemplo que si divides un número de Fibonacci entre el Fibonacci anterior sale una aproximación a phi. Es un número mágico porque 1/phi = phi-1 y también phi*phi = phi+1.

Luego hay una parte bastante larga del libro en la cual se explica el uso que se le ha dado al número phi fuera de las matemáticas: en la arquitectura, pintura, etc. Esta parte básicamente se dedica a desmontar mitos. Comenta que las pirámides no siguen la proporción como se dice popularmente, tampoco el Partenón. De hecho hasta hace unos 200 años no se ha utilizado prácticamente nada.

La parte final no tiene mucha relación con el tema del libro. Filosofa un poco sobre de dónde provienen las matemáticas, sobre si son descubiertas por los humanos o inventadas.

En fin, el libro me ha gustado bastante y es barato. Lo único "malo" es que cuando llevas leída la mitad estás un poco descolocado porque el hombre está desmontando uno a uno todo lo que creías conocer sobre phi y su "belleza".

Un poco de humor friki para terminar

14 abril 2009

Facebook chat en Pidgin

Si tienes *buntu: sudo apt-get install pidgin-facebookchat

Si no: Facebook Chat for Pidgin

12 abril 2009

Flash en Kubuntu 9.04 con Konqueror 4.2.2

Instalar el paquete flashplugin-nonfree.

Dentro de Konqueror en el menú Preferencias > Configure Konqueror > Navegación web > Complementos > Pestaña Complementos.

Si no aparece listado el complemento /usr/lib/firefox/plugins/flashplugin-alternative.so pulsamos en el botón Buscar complementos. Tras esto ya debería aparecer y funcionar.

11 abril 2009

KDE4 lento

Al entrar en el KDE Games Center ya me di cuenta de que habían actualizado la mayoría de juegos poniéndoles gráficos KDE4. La mayoría de estos juegos son tan simples que ni siquieran importa si los gráficos son más o menos buenos, lo importante es que son divertidos.

Me puse a probar el nuevo KBounce con gráficos maravillosos pero vi que iba extremadamente lento. Probé en el portátil que tengo KDE3 e iba muy rápido el juego. En KDE4 iba lento.

Me puse a buscar por la zona pija donde se ponen y quitan efectos espectaculares y encontré uno útil para estos casos en: K > Equipo > System Settings > Escritorio > Pestaña todos los efectos > mostrar FPS (en el apartado Herramientas"). Este "efecto" pone en la esquina superior derecha un gráfico en el que se muestran los FPS de refresto del escritorio.

Gracias a este efecto encontré el problema, no era problema de CPU si no de la tasa de refresco que era muy baja (20-22 fps). Al final encontré el culpable, me había dejado activado un Plasmoide que te muestra la bola del mundo girando que tiene el intuitivo nombre "Mármol azul". Desactivando el Márbol azul la tasa de refresco sube a 45-55 fps y ya funciona todo correctamente.

Frames por segundo sin Márbol azul:

Frames por segundo con Márbol azul:

Uno de los cambios de KDE4 respecto al 3.5 es que ahora es más vistoso (pijo). Tras probar los Plasmoides y todo eso me he instalado un juego mítico de KDE: el KBounce.

Supuestamente los cacharritos estos para el escritorio no deberían consumir demasiados recursos porque están de adorno más que nada.

10 abril 2009

Rubik

Después de todos estos años ya puedo decir orgulloso que he conseguido resolver un cubo de Rubik de 3x3x3. Ha sido gracias a una guía paso a paso que está en la página Rubik A-Z obra de un tal Carlos Angosto Hernández. En ella explican para tontos cómo resolver el cubo, con animaciones que muestran los movimientos.

He de decir que casi lo había conseguido, sólo me faltaba intercambiar 2 piezas para conseguir resolverlo pero me he equivocado en un giro y lo he liado todo después de llevar dos días haciendolo. Como ya tenía un poco de práctica lo he empezado desde cero y lo he acabado en media hora o así.

Ahora tengo ahí pendiente el de 4x4x4...

Además en la web Rubik A-Z hay una colección bastante friki de cubos de Rubik y similares.

09 abril 2009

Notes Plasmoid

Los Plasmoids son las pijadas para el escritorio de KDE. En otros escritorios los llaman widgets, midgets, gadgets y cosas así. Viendo las novedades de KDE4 he estado repasando la lista de Plasmoids para ver si había alguno interesante.

Entre pijadas, tonterías y gilipolleces he encontrado uno que me podría ser útil: Notas. El Notas es el típico Post-It amarillo en el que puedes escribir lo que quieras. Lo he dejado activado ya que de vez en cuando suelo escribir algún número de teléfono, URL o nota y hasta ahora me tocaba crear archivos txt en el escritorio.

El único fallo es que no muestra bien los acentos. Ya hay un bug al respecto abierto en el Launchpad de Ubuntu, espero que lo corrijan pronto.

El fallo:

Instalando Kubuntu 9.04beta

Me he cambiado el disco duro que tenía en el ordenador de 80 gigas por uno de 250 porque me estaba quedando sin espacio para mis cosas. Lo malo ha sido que, cuando he ido a instalar el Kubuntu que uso siempre (el 8.04 que es el último que sacaron un KDE3) resulta que no he encontrado el CD. No sé cuántas veces me habré bajado y grabado el CD de Kubuntu 8.04 pero creo que unas 5 veces. Cuando iba a volver a hacerlo, he visto que en la página oficial estaba disponible la versión 9.04 beta he escuchado a Mario en mi cabeza diciendome: "prueeeebalaaaa, te gustaraaaaaaa kde cuatrooooooooooo".

Al final me he bajado la versión beta para probarla. A ver si esta vez KDE4 al menos la barra de tareas sale abajo, porque la última vez que probé KDE4 la barra me aparecia media arriba y media abajo pero no como en Gnome que hay dos barras, era la misma pera partida por la mitad...

Ahora mismo está a mitad de instalación. La parte del asistente donde se selecciona la zona horario me ha resultado curiosa, si selecciono Madrid me colorea Turquía, además pone una cruz en España a mitad camino entre Madrid y Bilbao.

09 marzo 2009

Grub y los kernels en Kubuntu

A medida que los de *ubuntu van sacando nuevas versions del kernel, estas se van añadiendo al menú de inicio de Grub pero no se quitan las anteriores. Al cabo de uno año o así el menú de inicio puede ser bastante grande y además esos kernels normalmente nunca los volverás a usar.

Para limpiar el menú nada mejor que hacerlo automáticamente de vez en cuando con:


sudo apt-get autoremove


A mí normalmente me selecciona y borra sólo los nucleos antiguos, pero hay que fijarse bien antes de darles a 'Y' por si le da por borrar otra cosa...

Si el autoremove no te elimina todos los kernels viejos, siempre puedes modificar el grub para que no los muestra.

Para ello hay que editar el fichero /boot/grub/menu.lst y añadir la línea (o descomentar)


howmany=1

08 marzo 2009

Quitar pitido molesto en Pidgin

Desde que comencé a utilizar el pidgin he venido sufriendo un "problemilla". En las ventanas de chat, si le das a la tecla de borrar y no hay texto que borrar suenda un beep extremadamente fuerte. Por alguna razón el beep siempre suena al máximo de volumen, sin importar si tienes el sonido de KDE quitado o muy bajo. Sobretodo si llevas auriculares, el sufrimiento para los oídos es máximo. Más de un salto he pegado en la biblioteca del susto que me he llevado.

Pero... ¡Por fin he encontrado una forma de quitarlo!
Buscando en google he descubierto que esto también pasa en Windows XP y que hay bastante gente jodida.

Parece ser que es un fallo del GTK+ y en este mensaje explican una posible solución.

Se ha de añadir en el fichero .gtkrc la línea


gtk-error-bell=0


Yo como tengo KDE he tenido que añadirlo al fichero .gtkrc-2.0-kde, ya que en el que pone el post no me funciona. Una vez añadida la línea y reiniciado el Pidgin ya no he vuelto a oir el beep de la muerte.

Recordad, GNOME daña el oído.

14 febrero 2009

GTalk con Kopete

Para poder utilizar nuestra cuenta GMail (GTalk) con el maravilloso cliente de mensajería instantánea Kopete hay que seguir los siguientes pasos:

Preferencias > Configurar > Cuentas > Nuevo...

En la lista de protocolos seleccionamos Jabber y le damos a Siguiennte (sí, con dos enes).

Como Jabber Id ponemos nuestra dirección de GMail, por ejemplo: direccion.inventada@gmail.com.

En la pestaña conexión pulsamos en Utilizar cifrado de protocolo (SSL) para que mole más. Y luego la intuitiva opción Prevalece sobre la información predefinida del servidor en la que debemos de poner talk.google.com.

Le damos a Siguiennte (sí, con dos enes de nuevo) y ¡ya está!

12 febrero 2009

The Algorithm Design Manual

Estoy leyendo estos días el libro The Algorithm Design Manual, 2nd Edition de Steven Skiena
(Web del libro). Es la edición del 2008 y la verdad es que me está gustando bastante. Requiere algo de conocimiento de las estructuras de datos básicas aunque aquí se hace un resumen.

El libro consta de dos partes, la primera tiene explicaciones sobre temas básicos de algorítmica y estructuras: grafos, árboles, ordenación, programación dinámica, heurísticas, etc.

La segunda parte es un compendio de tipos de problemas y es la parte más interesante. Están los problemas organizados por tipos: ordenación, geometría, numéricos, grafos, etc. Dentro de cada sección están los problemas más conocidos como la mochila o la envoltura convexa de puntos y cómo resolverlos. Se supone que prácticamente cualquier problema de programación que te encuentres en la vida real es una variante de alguno de estos problemas por lo que el libro es una buena guía.

Este compendio debería estar en el Programming Challenges de Skiena y Revilla. Después de leer la mitad de The Algorithm Design Manual ya no me parece tan útil el Programming Challenges. El PC tiene un montón de problemas pero te tienes que apañar tú para resolverlos, casino dan ni pistas sobre la solución.

Lo ideal sería tener los 2 pero el TADM es mucho más caro (y gordo) que el PC. Ahora mismo para alguien que quiera participar en competiciones de programación le recomendaría el TADM antes que el PC, aunque supongo que lo ideal será leer los dos.

Como fallo del TADM diría que en la primera parte no tiene capítulo específico de geometría pero luego en el compendio el capítulo de geometría es el que más problemas tiene.

10 febrero 2009

Cervantes HOYGAN

He visto en Barrapunto un enlace a esta entrevista de El País a un lingüista. En ella se habla de El Quijote y de Cervantes como persona.

Me ha llamado la atención esta parte de la entrevista:


P. ¿Y eso cómo lo sabe?

R. Porque era así en la época. Cervantes no tenía ortografía alguna, como no la tenían las personas privadas. La ortografía la tenían las imprentas, hasta que la Academia la organizó un poco. Los escritores escribían haber sin hache, con uve o con be, daba igual. Cervantes no ponía ni puntos ni comas, ni por casualidad. Lo ponían los editores antiguos, por su cuenta, unas veces interpretándolo bien y otras veces haciéndolo mal. Y Cervantes les dejaba absoluta libertad. ¡Él escribió toda su vida Cervantes con be! Él sabía que lo que ocurría antes de la imprenta y durante la imprenta eran cosas distintas.


Que cada cual saque sus propias conclusiones...

Ya lo comentaron hace un par de años en Menéame pero yo aún no conocía esa página.

09 febrero 2009

Aula Mentor

El otro día encontré de casualidad esta web del MEC (ya no existe este ministerio creo pero la web sigue estando): Aula Mentor.

Se trata de cursos online del ministerio sobre temas variados como economía o sanidad aunque lo que más hay con diferencia son cursos sobre temas informáticos. Desde un curso de Gimp (guau) hasta introducción a la programación. No he visto curso de OpenOffice pero sí uno de introducción a Linux.

Los cursos cuestan 24 euros al mes más o menos pero te certifican unas 60 horas al finalizar por lo que a lo mejor a algún opositor le interesa para sacarse puntillos.

Si hubiera alguno de electrónica interesante y yo tuviera tiempo...

08 febrero 2009

Jueguecillo javascript: The Reflex Tester

The Reflex Tester

Como engancha el condenado...

07 febrero 2009

Jueguecillo flash: Desktop Tower Defense

Desktop Tower Defense

En este juego has de construir una especie de muralla con torres que disparan y resistir toda la oleada de enemigos que intentarán entrar en tu base. Esta gracioso durante un rato.

Mozilla Thunderbird

¿Porqué el menú preferencias del Thunderbird en Linux está en Editar > Preferencias y en Windows está en Herramientas > Opciones?

06 febrero 2009

Crayon Physics Deluxe

Un gran juego: Crayon Physics Deluxe.



Cuántas horas habré perdido durante el periodo de examenes jugando en la biblioteca a este juego.

El juego es de pago ($19.95 cuesta) aunque sólo con la demo ya te puedes entretener muchísimo como hice yo. El juego es sólo para Windows (y iphone) pero funciona perfecto en Linux con Wine aunque requiere un procesador algo potente.

Al principio pensaba que el chaval se lo había currado muchísimo y que las físicas deberían de haberle costado una barbaridad hasta que leí el fichero readme (que para eso está). En él se muestran las licencias de todos los componentes de open source que ha utilizado.

Después de ver algunos de la lista creo que ya tengo claro lo que hace el juego y sin haber utilizado ingeniería inversa ni nada.

Con el ratón o el lápiz pintas cualquier figura que se te ocurra y el juego la convierte en un polígono triangulizando con HGRD. Después inserta los triángulos del objeto dibujado en una clase de la librería Box2D y llama a la función de simular.

Box2D es una librería en C++ que trabaja que simula físicas. Le pasas los objetos y las fuerzas y tal y con realizando llamadas te va diciendo cómo se van moviendo los cuerpos de la escena según las leyes físicas.

Así que el juego es original y tal pero ya no me parece tan currazo después de ver que ha pillado una librería ya hecha y al parecer le ha metido un front-end y poca cosa más.

Aunque no es un juego propiamente dicho, sí que te puedes pasar las horas haciendo el gamba con Phun. Phun es un simulador de físicas mucho más elaborado que Box2D. Incluye muchas más cosas como fluidos. Pero Phun no es libre, sólo es gratuito para uso no comercial.

Otra librería de físicas para juegos es Chipmunk (licencia BSD).

Beamer, LaTeX y las gráficas

Beamer es una clase para LaTeX que nos permite hacer presentaciones muy curradas (y para mí es más fácil de usar que el MSPowerPoint o el de OOPresentacion).

El caso es que necesitaba el otro día incrustar unas gráficas hechas con Gnuplot. En un documento LaTeX es muy sencillo: generas la gráfica como .eps y la incluyes en el documento con la orden \includegraphics.

El problema es que para que Beamer haga presentaciones chulas es necesario generar el documento con el comando pdflatex en vez del comando típico latex. pdflatex genera documentos pdf directamente pero tiene una desventaja, y es que no permite incorporar en el documento ficheros .eps.

Probé a convertir todas las gráficas a jpg y png, formatos que sí que acepta pdflatex pero luego al generar el documento se veían pixeladas y muy mal.

Al final la solución fue convertir las gráficas a pdf e incluirlas en el documento para luego generarlo con pdflatex. Convertir un eps a pdf es tan sencillo como poner epstopdf origen.esp destino.pdf. Creo que este programa viene incluido con texlive porque yo no lo he instalado voluntariamente.

13 enero 2009

Declaración responsable

Estoy intentando pedir una beca del Ministerio de Ciencia e Innovación (MICINN). Leyendo el mensaje cifrado que han publicado en el BOE con la convocatoria llego a un punto en el que se detallan, de la manera más enrevesada posible, los documentos que he de presentar.

¿Porqué deduzco que los tengo que presentar? Porque pone:

Asimismo, a la solicitud deberá adjuntar, siguiendo los medios telemáticos habilitados al efecto, la siguiente documentación:

Yo de ahí entiendo que he de hacer ciertos papeles y adjuntarlos (subirlos) en la web del MICINN.

El último de los "papeles" que me piden es una "Declaración responsable del solicitante de encontrarse al corriente en sus obligaciones tributarias y frente a la Seguridad Social, así como en el pago de obligaciones por reintegro". No tengo ni idea de donde pedir o como hacer una declaración responsable de esas. Por internet he encontrado algunos modelos pero son para comunidades autónomas y no para el glorioso MICINN.

Mandé un email a la dirección en la que se supone hay que consultar las dudas con la solicitud y no me han contestado. En ningún sitio pone que te las vayan a resolver, sólo pone que las puedes enviar ahí, es como la carta de los reyes magos. A lo mejor no les ha llegado por la dirección es @MEC y ahora el MEC se llama MICINN.

Algunas páginas del MICINN dan errores en tiempo de ejecución así que moverse por la web es un poco cuestión de suerte. Al final he encontrado la maravillosa sección "Consultas frecuentes" que paso a copiar aunque en la web pone "© Ministerio de Ciencia e Innovación".


6. ¿Cómo obtengo la Declaración responsable del solicitante de encontrarse al corriente de sus obligaciones tributarias y frente a la Seguridad Social, así como en el pago de obligaciones por reintegro, que debo adjuntar telemáticamete a mi solicitud?

* No es necesario buscar ningún documento nuevo ya que al firmar la propia solicitud el interesado está haciendo la declaración.


Dios... ¿porqué me has abandonado? Porque "te" piden un papel que está implicito en la presentación de la solicitud? Eso en mi pueblo se llama "requisito", porque pedir una declaración responsable que no has de presentar...