21 diciembre 2008

Marcadores en Firefox 3

Hasta la versión 3 de Firefox, los marcadores se almacenaban en el fichero bookmarks.html que se guardaba en el directorio del perfil. A partir de la versión 3 parece que los de Mozilla han empezado a usar mucho el sqlite y desde esta versión todo se almacena en bases de datos. Los marcadores y el historial los encontramos en sites.sqlite.

Quería buscar una forma de sincronizar los marcadores de mi portátil con los del PC de casa. Hay algunas extensiones que te permiten guardarlos en un servidor pero hay que registrase y no me hacía gracia, así que al final me he hecho un par de scripts que utilizan scp para traerse el fichero de marcadores sites.sqlite.

Es un poco artesanal pero es rápido y barato.

Edito el 2 de enero: Después de probarlo unos cuantos días he tenido algún problemilla.

Ayer no me dejaba añadir marcadores y el último que había añadido me salía como NULL.

Me instalé la extensión SQLite Manager que te permite ver y modificar cualquier base de datos SQLite. Pretendía buscar NULLs en la tabla de bookmarks, pero al mostrar la tabla vi que había muchísimos NULL en un montón de campos y que no parecía haber un campo url. Borré 3 filas que tenían más nulos de los normal.

También borré el historial de páginas visitadas (que se guarda en el mismo fichero sites.sqlite) y después de esto ya funcionaba todo de nuevo.

15 diciembre 2008

No funciona el sonido ZSNES (Kubuntu)

Quería probar algunos juegos de Super Nintendo para pasar el rato y me he instalado el emulador znes en mi kubuntu 8.04 (es fácil: sudo aptitude install zsnes).

El problema es que no me funcionaba el sonido. Al iniciar con konsola me aparecería esto:


Audio Opened.
Driver: Advanced Linux Sound Architecture (ALSA) output
Channels: 2


Utiliza ALSA que en teoría es lo que usa el resto de programas KDE, pero no conseguía escuchar el sonido del juego. Al final buscando en foros y demás he encontrado una solución: Ejecutar zsnes pero utilizar el sistema de sonido de la librería SDL en vez de ALSA.


$ zsnes -ad sdl
Audio Opened.
Driver: Simple DirectMedia Layer output
Channels: 2


Con esto me ha funcionado el sonido por fin. Por lo que he visto, SDL utiliza por debajo ALSA para reproducir sonido pero no tengo ni idea de porqué con SDL funciona y con ALSA no.

Otro problema que me he encontrado después es que había errores en el sonido, se oía como unos altavoces cascados. En el mismo foro comentaban que se podía arreglar el sonido cambiando el sampling rate (dentro del zsnes en el menú config > sound > sampling rate). He probado todos los sampling rate y he cambiado algunas opciones de sonido y ya me funciona el sonido correctamente.

Las opciones que he puesto son:
sampling rate: 48000 hz
interpolation: gaussian (ya viene así por defecto)
lowpass: hi quality

Con esto he solucionado todos los problemas de sonido del zsnes.

Link: ZSNES home

03 noviembre 2008

Instalar flash 10 en Konqueror

Para poder ver contenido flash con el navegador Konqueror necesitamos tener instalado el soporte para plugins de Netscape. En Ubuntu por ejemplo ya viene instalado por defecto, pero en Debian por lo que he visto no es así y ecesitamos instalar el paquete konqueror-nsplugins

apt-get install konqueror-nsplugins


Ahora abrimos el konqueror y en el menú "Preferencias" > "Configurar Konqueror..." aparecerá al final del todo de la lista el botón "Complementos".

Aquí podemos darle a "Buscar nuevos complementos" para que busque en varios directorios plugins válidos para el Firefox (como el flash o java).

Si no tenemos instalado aún el plugin de flash (o no tenemos instalado Firefox o Mozilla) podemos bajarnos el plugin de la web de Adobe

Intel PRO/Wireless 3945AG en Debian Etch

Por desgracia, Debian Etch no tiene drivers para el chip wifi Intel PRO/Wireless 3945AG. El caso es que Intel tiene unos drivers que están muy bien, pero al parecer el kernel de Debian Etch no soporta esos drivers.

La manera más sencilla de poder utilizar el wifi en Debian Etch es cambiarnos a Debian Testing. Para ello modificamos el fichero /etc/apt/sources.list cambiando etch por testing en todos los sitios donde aparezca. Nos aseguramos de que estén activados los repositorios "contib" y "non-free".

Una vez hecho esto escribimos

apt-get update
apt-get distupgrade

para cambiar el sistema Debian Etch por Debian Testing.

Una vez tengamos nuestro sistema Debian Testing ya sólo nos falta instalar el firmware del chip wifi.

apt-get install firmware-iwlwifi


Ahora ya podemos activar la interfaz de red wifi

ifconfig wlan0 up


Si todo ha funcionado bien aparecerá un mensaje como este:

[ 590.380061] firmware: requesting iwlwii-3945-1.ucode

Si no aparece ningún error ya tenemos el wifi activado.

iwlist scan

no mostrará las redes wifi que tengamos cerca.

26 octubre 2008

Vim book

He encontrado un libro sobre Vim que parece interesante. Son más de 500 páginas que explican multitud de aspectos del editor.

http://www.truth.sk/vim/

La página no da mucha información, ni siquiera sé el título del libro. Aparece en google como primer resultado al poner "vim book".

24 octubre 2008

Vim y Python

Guía para configurar Vim para poder programar en Python más cómodamente.

Python with a modular IDE (Vim).

Explica como conseguir el autocompletado de funciones y clases y todas esas cosas.

"Relacionada": Mantenedor de VIM en Debian se pasa a Emacs.
Original: One month with Emacs and counting - Part 1.

Mastering Drupal

El otro día encontré esta página de Drupal. Su autor es un tal Greg Knaddison y le ha dado por hacer videotutoriales explicando un montón de cosas de Drupal.

Mastering Drupal

Estuve siguiendo los vídeos de actualizar Drupal 5 a Drupal 6 y el de novedades de Drupal 6.

Los vídeos están en inglés pero se pueden seguir bien.

I Wanna be the guy

Llevo unos días desquiciado jugando a I Wanna be the guy (IWBTG). Es un juego de plataformas creado por algún loco drogado.

Web del juego

El adjetivo que mejor define al juego es: imposible. Después de jugar bastante y no conseguir avanzar nada he llegado a la conclusión de que el juego es imposible. Imposible. En Youtube hay videos de gente mostrando el final pero yo no les creo. El juego es imposible.

Para hacerse una idea de la dificultad, el autor te recomienda que te bajes la demo primero para ahorrar ancho de banda, porque casi nadie es capaz de acabar la demo así que no hay necesidad de bajarse el juego completo.

Otra muestra más se encuentra en las FAQ del juego donde se puede leer:

Emotional Overreactions to the game (General)
Q: You're a bastard.
A: Yes.

Q: APPLES DO NOT FALL UP
A: They're more like giant cherries....

Q: What the fuck is your problem?
A: I love too much. :(


El juego es un ejecutable para Windows, pero en Linux funciona muy bien con Wine.

Foundations of Computer Science

Encontré en Reddit el siguiente enlace. Se trata del texto completo en PDF del libro Foundations of Computer Science.

Al Aho and Jeff Ullman - Foundations of Computer Science

Trata un poco de todo dentro de la "Ciencia de la computación": tipos de datos, costes de algoritmos, automátas y expresiones regulares, grafos y lógica. No es excesivamente teórico. Además, los ejemplos del libro están escritos en C.

Vii y Wii

La nuevo consola Vii. Es un poco más grande que la Wii pero es por el hardware que tiene en su interior...


La consola Wii por dentro

Cosa rara

Cosa rara (pulsa el botón rojo).

31 julio 2008

Iniciar FreeBSD con grub

El sector de arranque del PC original estaba limitado a 512 bytes. Debido a la política de compatibilidad del sistema FreeBSD el gestor de arranque está limitada a 512 bytes.

Está escrito totalmente en ensamblador pero aún así 512 bytes es bastante poco. Así que el gestor no tiene grandes florituras: Pulsar F1 para cargar el primer sistema, F2 para el segundo y lo mismo con F3 y F4.

Yo tengo Windows Vista, Kubuntu y ahora FreeBSD y quería tener como gestor de arranque el Grub. Para conseguir símplemente hay que editar el fichero /boot/grub/menu.lst en Kubuntu y añadir al final:

title FreeBSD
root (hd0,1,a)
kernel /boot/loader

Hay que cambiar (hd0,1,a) por la partición en la que esté instalado FreeBSD. Yo lo tengo en el primer disco duro, en la segunda partición.

La "a" del (hd0,1,a) es debido a la forma que gestiona FreeBSD las particiones. En FreeBSD no es como Linux que necesita como mínimo una partición ext3 y una swap. En FreeBSD tienes una única partición que luego se divide en varias "slices" llamadas a, b, c... La partición /boot/ de FreeBSD suele se la a.

25 julio 2008

Juegos míticos: Adventures of Lolo

Adventures of Lolo es un juego de NES desarrollado por HAL Laboratory que se publicó en 1991 en España. Es un juego típico de puzzles similar a los que hoy en día se ven por ahí hechos en flash.

Tienes que recoger todos los corazones del nivel y después conseguir una bola que aparece cuando los tienes todos. La mecánica del juego es similar al Sokoban pero en este caso con enemigos, ríos, armas, etc.

El juego es muy entretenido y engancha bastante, aunque en algunos niveles te puedes volver loco para encontrar la solución.

Se puede jugar con un emulador de NES online en virtualnes. También están ahí sus 2 secuelas.

Ya que he hablado del Sokoban. Este juego también es muy entretenido pero al final se hace muy repetitivo, me ha gustado más el de Lolo. En KDE puedes instalar el KSokoban que es una implementación libre del Sokoban original.

Wikipedia: Adventures of Lolo
Wikipedia: Sokoban

09 julio 2008

"Virus" para la DS

Existen un par de roms para Nintendo DS llamadas r0mloader y taihen que estropean la consola y el cartucho flash al ejecutarlas.

r0mloader muestra una imagen de un muro y taihen muestras imagenes hentai...

En el mundillo de la DS a este tipo de roms malvadas se les conoce como CRASHME, se puede adjuntar código CRASHME en roms de juegos para fastidiar a los que les mola utilizar "copias de seguridad".

15 junio 2008

Peligro Vim

Ejecución de código arbitrario en Vim al abrir un fichero malicioso. Parece ser que algunos módulos de Vim tienen algún problema con las comillas y al abrir ciertos ficheros se puede provocar que fallen y ejecuten el código que nosotros queramos.

18 mayo 2008

Mejorando un poco vim

A pesar de que ahora soy usuario radical de windows, voy a explicar como "mejorar" un poco la interfaz de VIM.

Para empezar, la opciones por defecto de VIM son muy tristes, para alegrar un poco la interfaz tenemos que crear nuestro propio fichero ~/.vimrc. En el podemos poner comandos que se ejecutarán al iniciar el editor.

Lo mejor es basarse en una configuración algo más avanzada, para ellos copiamos una configuración de ejemplo del directorio de VIM:


cp /usr/share/vim/vimcurrent/vimrc_example.vim ~/.vimrc


Con estas opciones ya podrás programar "decentemente" porque activan el coloreado de sintaxis y el autoanidado.

Yo recomiendo añadir también al final del fichero:


set number " Añade números de linea a la izquierda
set tabstop=4 " Hace que los tabuladores sean 4 espacios en vez de 8
set hlsearch " Resalta en el fichero la cadena que buscamos con /


Nota: Si quieres aprender a usar vim, puedes ejecutar vimtutor y te aparecerá un tutorial básico con ejercicios.

Por último habrá que activar el corrector ortográfico.

Para usar el corrector ortográfico integrado tendrás que bajarte los ficheros del español y copiarlos al directorio spell.


wget http://ftp.vim.org/vim/runtime/spell/es.latin1.spl
wget http://ftp.vim.org/vim/runtime/spell/es.utf-8.spl
sudo mv *.spl /usr/share/vim/vimcurrent/spell/


Poniendo estas líneas en el fichero .vimrc activamos el corrector por defecto pero sólo para los ficheros txt y tex.


" Correción ortográfica
augroup filetypedetect
au BufNewFile,BufRead *.tex set spell
au BufNewFile,BufRead *.txt set spell
augroup END
set spelllang=es


Si usas gvim puedes añadir también

set mousemodel=popup


Con esto, podrás elegir las palabras que estén mal y con el botón derecho te saldrá una ventana emergente con sugerencias. Si no usas gvim tendrás que utilizar el atajo z= para ver la lista de sugerencias.

Referencias: Para el tema de la correción ortográfica me basé en parte de esta explicación:
http://iramos.net/blog/correccion-ortografica-en-castellano-para-vim-7/

17 mayo 2008

Abandono Debian


Hola,

Hoy voy a escribir para decir que he eliminado Debian de mi PC. A partir de ahora sólo usaré Windows Vista. Eso sí, he instalado el gvim para windows y he sustituido el Bloc de notas.

20 abril 2008

Kubuntu 8.04 Hardy Heron



Ayer instalé la versión RC de Kubuntun 8.04 Hardy Heron. En 4 días sale la versión oficial pero bueno, no me esperé.

  • Lleva KDE 3.5.9, pensaba que llevaría el KDE 4. Se ve que está fino el KDE 4 ¿ha salido como el Windows Vista?

  • Las decoraciones de las ventanas han cambiado ligeramente aunque las ventanas siguen siendo azules.
  • En el menú sistema hay una opción que es Desktop Effects que se supone que te instala Compiz y te activa las gilipol mejoras visuales. Lo he activado para probar y se ve que hay que reiniciar o algo porque no he visto cambios.
  • El sonido en el portátil me funciona por fin. El chip 82801H (ICH8 Family) HD Audio Controller no estaba correctamente soportado en anteriores versiones de ALSA.
  • He podido instalar de los repositorios el emesene. LLevo unos días probando este cliente de MSN escrito en Python y me está gustando bastante. Parece que va más fluido que el AMSN y no utiliza el horroroso TCL/TK... oh wait... utiliza el "horrosoro" GTK jajaja.
  • Hablando de repositorios: hice un apt-get update & upgrade y me dio un montón de errores de paquetes no encontrados. Al parecer en los repositorios es (de España, supongo) no están todos los paquetes (aún). Lo arreglé cambiando en /etc/apt/sources.list "es" por "en" (de England quizá). Con esto ya me encontraba todos los paquetes.

  • Ahora el sonido funciona a la perfección. Tanta perfección que el pcspeaker suena cuando apreto backspace muchas veces seguidas. Aunque quite el sonido de los altavoces sigue sonando porque es otro altavoz. Yo pensaba que en los portátiles no había speaker... no pasa nada: silencio el speakder con estos comandos:

    xset b off
    xset b 0 0 0




actualización: Tened cuidado si tenéis el chip 82801H (ICH8 Family) HD Audio Controller ya que ahora el sonido funciona, pero por ejemplo si pones los auriculares no se quita el sonido de los altavoces frontales, se oyen los dos... así que cuidado si estáis en una biblioteca o algo.

En el altavoz ese que sale al lado del reloj si pulsáis es "Mezclador" aparecerán varios slides. Poned a 0 el que pone "Front" si queréis usar auriculares como Dios manda.

23 marzo 2008

Programa para la DS en Linux

Voy a explicar cómo instalar los paquetes necesarios para programar juegos de Nintendo DS en Linux.

Nota: Al buscar información para esta guía he encontrado este mensaje de Lupi en Area DS donde explica básicamente lo mismo que yo. Yo había hecho los mismo que explica Lupi salvo la parte del enlazado, que creo que es más correcta mi forma de hacerlo.

Para compilar programas o juegos para la DS obvisamente es necesario tener instaladas las herramientas básicas de compilación (make, gcc y tal). En Debian ya vienen instaladas pero si usamos *Ubuntu debemos de instalar el paquete build-essential (ya lo expliqué aquí hace años).

Los pasos a seguir son los siguientes:

Descargar devkitARM de aquí

Descagar libnds de aquí

Creamos los directorios /home/lalala/NDS y /home/lalala/NDS/devkitPro

Descomprimimos devkitARM y libnds en el directorio devkitPro. Cuidado: el fichero comprimido del devkitARM tiene dentro un directorio que se llama devkitARM pero el de libnds no, así que hemos de crearlo antes y descomprimir libnds dentro de ese directorio.


export DEVKITARM=~/NDS/devkitPro/devkitARM
export DEVKITPRO=~/NDS/devkitPro
export LIBNDS_INCLUDE=~/NDS/devkitPro/libnds/include
export LIBNDS_LIB=~/NDS/devkitPro/libnds/lib
export LIBNDS=~/NDS/devkitPro/libnds


Ahora en el tutorial de Lupi que he enlazado antes dice que hay que enlazar todos los ejecutables del directorio bin a /usr/local/bin. Yo creo que eso llena inncesariamente de ficheros los directoriso del sistema y yo recomiendo símplemente añadir el directorio de los ejecutable de devkitARM al path.


export PATH=$PATH:~/NDS/devkitPro/devkitARM/bin


Ahora vamos a probar que todo ha funcionado.

Descargamos el paquete nds examples de aquí.

Lo descomprimimos en ~/NDS/ejemplos

Vamos al directorio ~/NDS/ejemplos/Graphics/2D/hello_world

Hacemos make y si no da ningún error, significa que hemos instalado todo correctamente.

Ahora podemos meter la rom hello_world.nds en la consola o probarla con un emulador, por ejemplo desmume.



Si no lo tenemos:


sudo aptitude install desmume


Nota: Versiones utilizadas de los ficheros

desmume 0.7.3
devkitARM_r21-linux.tar.bz2
libnds-20071023.tar.bz2
nds-examples-20071023.tar.bz2

Nota 2: Si vamos al directorio ejemplos y hacemos make, empezará a compilar recursivamente todos los ejemplos. A mi llega un momento que me falla después de compilar un montón de ejemplos y es debido a una librería para acceder a FAT que no tengo instalada. Creo que esta librería sirve para que los programas que hagamos para la DS puedan acceder al sistema de ficheros de la tarjeta SD y hay que instalarla aparte.

09 marzo 2008

Google Tech Talks

Dentro de Google se imparten todas las semanas montones de charlas sobre distintas tecnologías, software y otras historias más o menos relacionadas con la tecnología. Estas charlas las imparten gente de la talla de Linus Torlvalds. Por suerte para los que no trabajan en Google (o trabajan en una oficina lejos de donde se da la charla) se publican casi todas las charlas en Google Video (antes) y en Youtube (ahora).

En Google Video hay un montón de charlas, por ejemplo esta que he visto hace un rato

How to protect your open source project from poisonous people, impartida por los creadores de Subversion que ahora trabajan en Google.

Y en Youtube han creado un canal llamado googletechtalks con 696 charlas ahora mismo y van añadiendo nuevas cada día.

Yo he visto alguna estos últimos meses que ahora mismo no consigo encontrar entre tanta charla.

Están todas en inglés, algunas personas se entienden más, otras menos, otras nada de nada... pero bueno así se practica inglés :p

24 febrero 2008

Huevos de pascua

Huevos de pascua...


ximo@cagallon:~$ apt-get moo
(__)
(oo)
/------\/
/ | ||
* /\---/\
~~ ~~
...."Have you mooed today?"...

ximo@cagallon:~$ aptitude moo
No hay ningún huevo de pascua en este programa.
ximo@cagallon:~$ aptitude -v moo
Realmente no hay ningún huevo de pascua en este programa.
ximo@cagallon:~$ aptitude -vv moo
¿No le he dicho ya que no hay ningún huevo de pascua en este programa?
ximo@cagallon:~$ aptitude -vvv moo
¡Deje de hacer eso!
ximo@cagallon:~$ aptitude -vvvv moo
Vale, vale, si le doy un huevo de pascua, ¿se irá?
ximo@cagallon:~$ aptitude -vvvvv moo
De acuerdo, usted gana.

/----\
-------/ \
/ \
/ |
-----------------/ --------\
----------------------------------------------
ximo@cagallon:~$ aptitude -vvvvvv moo
¿Qué es? Es un elefante que está siendo devorado por una serpiente, por supuesto.

16 febrero 2008

registros en página

Tuve la suerte o la desgracia de registrarme en gmail a los pocos días de publicarse la beta gracias a una invitación. Tuve la suerte o la desgracia de poder elegir un nombre para la cuenta corto y gracioso (no como en hotmail que prácticamente sólo puedes registrar nombres tipo algo3748329).

Hasta aquí todo bien. No suelo entrar mucho en esa cuenta y mucho menos la doy en ninguna página pero desde hace unos meses han llegado como 10 o 15 emails de bienvenida a distintas páginas o servicios que yo no había solicitado.

Es decir, la gente cuando se registra a algún sitio y no quiere dar su email pues en vez de usar mailinator o cualquier servicio similar ¡pone mi dirección!

Me he "apuntado" al Carrefour Baby Club (supuestamente porque tengo una hija desde enero), me he "registrado" en Flixster que es una web de comentar películas que no conocía, me he "registrado" en Facebook, a myspace y a algunas páginas más.

Por lo que he visto, algunas de estas páginas envían el típico email de confirmación antes de activar la cuenta. Con esas páginas símplemente borro el email. Pero hay otras que no. Con sólo dar un email ya tienes tu cuenta activada. En estos me tengo que tomar la molestia en recuperar la contraseña del chaval, entrar en la página y buscar cómo darme de baja. En estos casos suelo enviar un email a alguna dirección que encuentre explicando cómo tienen que validar que las cuentas de email son de quien las pone.

El caso más flagrante es el de Telecinco. Alguien se apuntó con mi cuenta a un concurso de la Fórmula 1 y desde entonces me llegan montones de emails de todos las series de T5. Cada uno de estos emails viene desde un dominio distinto "yosoybea.com", "tele5esunamierda.com", etc. Además ningún email (ni siquiera el primero) ofrece forma de darse de baja. Ya no sé si quejarmea la AGPD o qué hacer.

Bueno todos estos lloros han venido porque me he "registrado" en una página de citas ¡meetic!.

13 febrero 2008

El "algoritmo" del buscaminas

Hace una semana o dos programé un pequeño buscaminas para la Nintendo DS. Hoy me ha dado por añadirle la opción de poner banderitas pero... ¡en el lápiz no hay botón derecho!

En su día me bajé 3 versiones distintas del buscaminas para la DS (creo que todo aquél que ha programado algo para la DS su primer programa ha sido un buscaminas). En todos esos juegos para poner banderas se usaba L+click. Esta forma es buena para los diestros pero muy incomoda para los zurdos como yo. Los buscaminas más currados que se han hecho no discriminan a los zurdos y permiten también R+click para poner banderas. Al final he utilizado estos 2 botones también.

Tras programar lo de las banderitas me he encontrado con que la función que se llama al hacer click en un cuadrado empezó siendo super simple y ahora ya no hay quien la entienda. Cada vez que surgía un fallo añadía un nuevo if y después de corregir varios fallos ya se nota el caos.

Algún día la reescribiré mejor (por lo tanto crearé nuevos fallos) o le pondré comentarios...


void checkPosition(int y, int x, int action) {
if (y >= ROWS || x >= COLS)
return;

if (estate == VICTORY || estate == DEAD)
return;

lastX = x;
lastY = y;

if (action == FLAG && opened[y][x] != OPENED) {
if (opened[y][x] == FLAGGED)
opened[y][x] = HIDDEN;
else
opened[y][x] = FLAGGED;
} else if (opened[y][x] == FLAGGED) {
// nada
} else if (map[y][x] == MINE) {
estate = DEAD;
opened[y][x] = OPENED;
} else if (opened[y][x] == HIDDEN){

opened[y][x] = OPENED;
numOpened++;

if (map[y][x] == 0)
dfsOpen(y, x);

if (numOpened == (COLS*ROWS - NMINES)) {
estate = VICTORY;
}
}

printMap();
}


Por si a alguien le interesa:
action: vale FLAGGED si se ha puesto una bandera y DISCOVER si es para abrir una casilla.
lastX, lastY: Guarda la posición del último click. No recuerdo ahora para qué...
estate: Indica en que estado se encuentra el juego: PLAYING, DEAD, VICTORY, CREATING_GAME, etc.
map[y][x]: puede valer 0,1,2,...,8 o MINE.
openen[y][x]: puede valer HIDDEN si aun no se ha abierto esa casilla, FLAGGED si se le ha puesto bandero u OPENED.

Ocurren 2 cosas:
opened se usaba para indicar si una casilla habia sido abierta o no. Ahora que también sirve para indicar si tiene bandera el nombre no es muy acertado. Esto me ocurre en 2 o 3 sitios más del código.

Cada vez que añado alguna cosa al programa, aunque sea una gilipollez añado también varios fallos. Por ejemplo con lo de las banderas me pasaba que a una casilla descubierta le podias poner la bandera y después al quitársela pasaba a estar tapada de nuevo. Como yo cuento el número de casillas destapadas (numOpened) para calcular cuando ha ganado se podría estar abriendo todo el rato la misma casilla con este método y ganar.

09 febrero 2008

aMSN: enviar ficheros arrastrando a la ventana

He conseguido hacer funcionar el "drag'n'drop" para enviar ficheros con el aMSN (en Debian con KDE 3.5.X, debería ir en todos lados). Explico ahora cómo lo he hecho:

Pasos simplificados:
1 - Instalar la versión en desarrollo de aMSN. Se puede descargar de su web
2 - Instalar el paquete tkdnd (la versión 1.0a2, la 2.0 no funciona)

Pasos para Debian (y *ubuntu, supongo):

1 - Instalar la versión en desarrollo de aMSN. Se puede descargar de su web

2 - Instalar el paquete tkdnd (la versión 1.0a2, la 2.0 no funciona). No lo he encontrado en los repositorios así que he buscado el .deb y lo he encontrado aquí El fichero es tkdnd_1.0a2-1_i386.deb.
Ahora como root: dkpg -i tkdnd_1.0a2-1_i386.deb


Problemas:

Al instalar el .deb me pedía el paquete xlibs que no tenía. Me ha dado muchos problemas y al final no he podido instalar. Tampoco lo he encontrado por internet. Al final lo que he hecho ha sido instalar un paquete que se parecía mucho el nombre xlibs-static-dev y después instalar el tkdnd ignorando las dependencias.

dkpg --force-depends -i tkdnd_1.0a2-1_i386.deb

Tras esto, reinicio el aMSN y ya puedo enviar ficheros arrastrando a la ventana. Mucho más cómodo.

Comics de Heroes

Para aquellos que les mole la serie Héroes por si no lo saben, el canal que emite la serie en USA publicada cada semana un pequeño cómic de varias paginas contando cosas que no salen en la serie y desvelando algunas cosas. He ojeado un par de ellos y el estilo del dibujo parece el mismo que el del pintor ese de los ojos blancos. Que yo sepa no siguen ningún orden, a veces cuentan cosas de años antes de la serie, a veces de cosas que ocurren a la vez...

Bueno si alguien se aburre y le interesa que los lea y que me cuente. Están en la página de la serie pero en la Wikipedia hay una lista mejor con enlaces directos a los pdfs.

Temporada 1
Temporada 2

04 febrero 2008

24 enero 2008

Eclipse en Windows Vista

Hace unos días instale el Eclipse en Windows Vista y me soltó el siguiente error al ejecutar el mencionado programa:

An error has ocurred. See the log file C:\users\lorolo\workspace\.metadata\log.

Tras probar mil cosas como instalar otra versión de java y tal... la solución fue la siguiente:

Le das con el botón derecho al eclipse.exe y pones "propierties", allí en la pestaña "compatibility" seleccionas "run this program as an administrator" ¡y arreglado!

Una hora perdida con este estúpido fallo.

20 enero 2008

Fallos de Super Mario Galaxy

El otro día completé las 242 estrellas del juego (121 de Mario y 121 de Luigi) y voy a comentar así por encima los "defectos" que le veo al juego que por cierto ha recibido la máxima nota en muchas revistas y páginas del sector pero que "perfecto" no es.

No son excesivamente importantes pero bueno los listo:

- Las vidas no sirven prácticamente para nada: da igual que tengas muchas vidas o pocas porque no se guardan al apagar la consola. Estoy ya ocurría con el Mario 65 y el Sunshine. Si te quedas sin vidas vuelves a iniciar el juego y tendrás de nuevo 5. Además siempre que entras hay un Toad de esos que te da 5 vidas si eres Mario o 20 si eres Luigi así que problemas de vidas no debes tener.

- Utiliza un sistema bastante currado para simular la gravedad de los planetas y esto ha provocado que existan varios fallos. En youtube hay muchos videos con errores del Mario Galaxy: atravesar algún muro, subir montañas que en teoría no puedes... etc. No influyen para nada en el juego.

Un vídeo con varios ejemplos:



- El jefe final (Bowser) me pareció excesivamente fácil. Se lo podían haber currado un poco más.

- Si juegas con Mario a lo largo del juego te encuentras a Luigi en varios lugares, cuando consigues las 120 estrellas puedes jugar siendo Luigi que salta más. Lo malo es que en los lugares donde antes te encontrabas a Luigi ahora ¡sigue estando Luigi!. No cuesta nada que si eres Luigi aparezca Mario y viceversa, no sé porqué no lo han hecho así estos japoneses.

- La galaxia esa de la abejas vuelve a aparecer al final de juego pero invertida (modo espejo) y con tonos más otoñales. Me parece muy cutre que hayan repetido una galaxia... al menos sólo es esa. Cuando llegué a esa galaxia me pensaba que tendría que volver a jugar todas en modo espejo pero por suerte no fue así.

- La cámara que sigue a Mario es automática (aunque a veces la puedes mover un poco a los lados). La cámara no puede atravesar paredes así que en algunos puntos puedes hacer que la cámara se quede atascada y no pueda seguir a Mario. Me ha pasado varias veces que se me ha quedado engancha con las ramas de los árboels o con las piedras del mar. Cuando se queda enganchada la cámara si alejas a Mario un buen trozo se recoloca sóla, pero eso puede significar que te hayan matado porque en todo ese tiempo no puedes más que una sombra.

- No sale Yoshi, ni siquiera por ahí mareando. Hay un planeta que tiene su cara pero nada más.

Si me acuerdo de alguno más los iré poniendo... salud

19 enero 2008

Blog sobre IA en los videojuegos

De vez en cuando me paso por este blog: AI in Game Development donde explican cosas sobre la inteligencia artificial en los videojuegos. No es que vaya a implementar una IA ni nada de eso pero es interesante ver lo que hay detrás de una parte importante de un juego como es la IA (que no todos son gráficos 3D).

Una de las últimas entradas es: Hierarchical Planning and Coordinated Plan Execution for Squads of Characters. mmmmm... escuadrones de personajes... ¿para qué podría yo usar eso?

developerWorks > AIX and UNIX > UNIX tips

Esta entrada va dedicada al Sr Rodríguez que es un amante del AWK.

En este artículo se detallan algunos errores comunes que comete la gente cuando trabaja con algún terminal de linux (en concreto bash). Su título es Learn 10 good UNIX usage habits

El error más común que he visto es el de poner un cat al principio de una secuencia de comandos para leer un fichero. Algo tipo:

> cat fichero | grep palabra | wc -l

El fallo radica en que la mayoría de comandos del terminal aceptan un nombre de fichero como parámetro. Por tanto podemos hacer:

> grep palabra fichero

y

> wc -l fichero

en vez de:

> cat fichero | grep palabra
> cat fichero | wc -l

Hay un consejo sobre el uso de AWK que espero que a alguien le guste.