Ejemplo: El código cerrado del ePSXe

No quiero que el post genere un flame acerca de si se debe tener como requisito importante que el software que utilizamos sea software libre, open-source, o cerrado, simplemente quiero exponer una demostración de que esas situaciones "hipotéticas" que frecuentemente se mencionan no son tan hipotéticas como intentan hacernos creer los generadores profesionales de FUD.

El caso trata de uno de los mejores, si no el mejor, emulador de PlayStation (la primera), que tuvo su gran apogeo hace ya unos años, cuando otros muchos emuladores para este sistema empezaron a surgir como setas, algunos de pago (Bleem! por ejemplo), algunos freeware, y algunos libres. Con el afianzamiento de la emulación y las continuas mejoras, la guerra entre las diferentes alternativas fomentó una sana competitividad de las que todos salimos beneficiados con emuladores que evolucionaban muy rápido. Algunos proyectos quedaron descontinuados, por no lograr llamar la atención, o simplemente por falta de tiempo de sus desarrolladores (en la mayoría de los casos, estaban programados por gente que usaba su tiempo libre para tal fin).


A día de hoy, todo ese apogeo ha cesado, y varios emuladores de PSX han logrado un nivel de perfeccionamiento bastante alto, muchos otros no, pero la gran mayoría de los proyectos que se iniciaron entonces se encuentran en una especie de estado hibernación.

EPSXe es uno de estos proyectos, pero lleva muerto desde el año 2003. Los autores continuamente reiteran que el proyecto no está "abandonado", sin embargo parece que esas declaraciones simplemente buscan que el proyecto no sea incluida en la larga lista de los que nadie se preocupa, los proyectos muertos, de sitios como Emunations o NGEmu.

En los mismos foros del proyecto se amontonan las peticiones para que el código sea liberado (es freeware, pero no open-source) a fin de que gente a quien realmente le importe el emulador puedan seguir desarrollándolo y adaptándolo a los nuevos sistemas, arquitecturas, etc, independientemente de que sus autores iniciales lo tengan tan desatendido (falta de tiempo dicen, en dos años algo de código podría haberse podido optimizar, digo yo).


Una clara muestra de cómo mueren los proyectos cuando los autores desaparecen y el código no es libre (es más, en este caso tan sólo aparecen para recordar a los usuarios que no tienen intención de liberar el código, pese a no tener la menor intención de usarlo para nada).
Al menos, y sirve un poco como consuelo, muchos de sus plugins (encargados del sistema gráfico, del sonido, el lector de CD y el controlador para joypad), desarrollados por programadores independientes, son GPL (y se nota, si bien llevan bastante tiempo sin sacar nuevas versiones éstas suelen ser bastante más recientes que el propio emulador).

Yo soy de los que se entristecen cuando un proyecto, con muchas horas de trabajo, ilusión, y esfuerzo, desaparece por no actualizarse y quedarse desfasado. Soy de los que, con cada actualización del kernel, de las librerías del sistema, o Wine, Firefox, OpenOffice, Geany (que estoy usando para crear este testamento) se emocionan, y no pueden esperar para que, con los ojos vidriosos, ver como apt-get los descargue junto con sus dependencias y los configure para hacerlos encajar perfectamente en este engranaje casi perfecto que es el sistema derivado de GNU/Linux.

Hacer funcionar ePSXe en ubuntu x86_64 se convirtió en toda una odisea, debido al uso de librerías gráficas desfasadas (gtk1.2) y la no existencia de binarios para arquitecturas de 64 bits, siendo esto último muy facilmente solventable si el código fuese libre, ya que podría compilarse en cualquier arquitectura, y si el código no lo permitiese, siempre se podría modificar el código para solventarlo. Lo peor fue la combinación de ambos problemas para algunas librerías requeridas (tuve que recurrir a la paquetería debian de 32 bits, ya que paquetes tan antiguos ni tan siquiera se encontraba en los repositorios de Ubuntu). Pero esto último será material con el que publicaré otra entrada.

Un saludo.

Créditos:
  1. Captura Legend of Dragoon, funcionando en ePSXe, sacado de NGEmu.
  2. Logo de ePSXe, sacado de NGEmu.
  3. Captura de ePSXe, sacado de asher256.tuxfamily.org

Tuto de instalar AIGLX con el último driver de ATI

Un breve apunte:
Un tutorial para instalar en Ubuntu el último driver de ATI (el más estable), con AIGLX (apto para usar Compiz), muy fácil de seguir paso a paso.

No lo he probado, uso NVIDIA, pero creerme cuando os digo que lo probaré en una de mis "cobayas" en cuanto pueda.

http://jfibergran.wordpress.com/2008/01/25/instalar-driver-nuevo-de-ati-con-aiglx/

Gracias a jfibergran (avasallado a votos negativos en menéame.net).

Créditos:
Imagen de ATI creada por lorddanneh licencia CCv3 con reconocimiento.

Mi N70 y Ubuntu, la senda del OBEX...

Editado 25.12.2009: Ahora, gracias a ciertos bugs corregidos en Ubuntu 9.10, es posible hacer esto de forma mucho más sencilla con ObexFS. Si te interesa, puedes pasarte por Nseries, Ubuntu 9.10, y obexFS vía USB.

Sujerente título, ¿eh? Jajaja, bueno, mejor me explico:
Tengo un N70 (no haré propaganda diciendo que uso YOIGO... ¡outch!) y viene el problema de siempre a la hora de pasar programas/música/fotos/droga del entre el PC y el móvil/mp4/dispositivo raro... bueno, alomejor droga no... Vamos, que los drivers/programas/chapuzas que incluyen estos "artilugios" olvida tristemente que hay gente que es libre, por lo que, una vez más la comunidad linuxera ha tenido que buscarse la vida por su cuenta... la solución es la implementación OpenOBEX (OBEX es un protocolo de intercomunicación por Bluetooth, USB, etcétera que usan muchos dispositivos móviles, info aquí,), oséase, toca instalar los paquetes de esta maravilla... por consola:
sudo apt-get install obexftp
Bueno... obexftp también puede instalarse por synaptic por supuesto... sea como sea, instalar esto implicará instalar el resto de paquetes de los que depende.

Ahora dispondremos de una gran aplicación para intercomunicarnos con nuestro dispositivo móvil por la bella línea de comandos...

Bueno, ya sé que siempre es mejor tener una interfaz gráfica, de modo que tendremos que instalar OpenObex-Frontend de aquí (bajaos el .deb) y lo instaláis.

EDITADO EL 31/08/2008: Debéis tener en cuenta de que es una aplicación en java, es decir, deberéis tener instalado el java de Sun Microsystems y no el de GNU, para que funcione correctamente. Para ver y elegir cuáles tenéis instalado ejecutad sudo update-alternatives --config java (gracias al visitante anónimo que lo avisó). Y por cierto, la versión a día de hoy es la 0.6.6, pero la interfaz sigue siendo casi igual, por lo que no veo necesario actualizar las capturas.

NOTA: Es probable que para poder usar ciertas interfaces OBEX con este programa, deba ser iniciado como root (ejecutando sudo obexftp-frontend).

Este frontend no permite (a día de hoy) ver las interfaces disponibles, de modo que deberemos especificarlas en su configuración (menú options, configuration)...

*1 - Aquí va el tipo de interfaz: Bluetooth, Intranet, infrarrojos, USB, o puerto serie.

*2 - Aquí va el canal de la conexión.
Comprendo que el tipo de interfaz será fácil de elegir, no así con el canal de la conexión. Para ver los canales disponibles (y elegir el adecuado) tendremos que ejecutar uno de los siguientes comandos (sí, para esto hace falta la consola):
Es probable que tengas que ejecutar alguno de estos comandos como root, usando: sudo COMANDO
Para Bluetooth: obexftp -b DISPOSITIVO
Para Intranet: obexftp -n IP
Para infrarrojos: obexftp -i
Para USB: obexftp -u
Para puerto serie: obexftp -t DISPOSITIVO
En mi caso (mi super N70 chupiguachi), por USB me devuelve lo siguiente:
Interface 0:
Manufacturer: Nokia
Product: Nokia N70
Interface description: SYNCML-SYNC
Interface 1:
Manufacturer: Nokia
Product: Nokia N70
Interface description: PC Suite Services
Según he leído por ahí, la interfaz 0 es (al menos en mi caso) para sincronizar lista de contactos y demás (puedo usar otra aplicación llamada wammu), y la interfaz 1 es para transferir archivos (lo que necesitaba), por lo que lo pongo en las opciones del frontend (en el *2 de antes).

Ahora solo hay que hacer que actualice la lista de directorios (pulsando F5 o yendo al menú device y Query root files)...
Ya puedo transferir lo que quiera (incluso aplicaciones .sis o .jar, para instalar en el móvil) usando el botón de upload (la flecha verde para arriba) o download (la flecha para abajo), o incluso puedo hacerlo arrastrando los archivos al directorio (Drag'N'Drop) adecuado. Pero ten cuidado con esto último, intenta tener puntería arrastrándolo al directorio adecuado, de lo contrario la aplicación aparecerá en otro o en la carpeta por defecto del móvil.

Espero que me haya quedado lo más sencillo y explicativo posible, si tenéis dudas ya sabéis.

PD. Hay otra interfaz gráfica, obex-tool, que detecta automáticamente las interfaces (por lo que no hay que ver cuales son las disponibles por consola), sin embargo tiene muchos bugs, es fea y lenta, por lo que no la recomiendo para nada.

PD2. El protocolo OBEX es usado por...
  • Sony Ericsons usando USB, pero sólo si seleccionas modo móvil (phone mode) en la pantalla de conexión USB del móvil.
  • La mayoría de teléfonos con Symbian.
(Sacado de la wiki de OpenOBEX)

Y nos la meten doblada...

QUEDA HUSTEZ CONDENAO POR HASESINATO.
- ¿Pero qué está diciendo, sr Juez?
- TIENE HUSTEZ HUN CUCHILLO JAMONERO EN CASA HI PUEDE HUSARLO PARA ESO.
- ¿Pero han asesinado a alguien? ¿Han encontrado algún cadaver?
- HESO NO INPORTA, ¿TIENE HUSTED UN CUCHILLO JAMONERO O NO?
By penefrito en un comentario de menéame.net

Ciertamente, hace días fue noticia que la falsa izquierda de este país aprovó la ley corrupta que es la reforma de la LISI, por la cual la $GA€ pasa a cobrar lo que les da la gana, y tienen poder para hacer y deshacer cualquier muestra de libertad de expresión en internet...

Parece mentira, que en España, poniendo suficiente dinero al corrupto de turno se pueda hacer cualquier cosa (incluso aprovar leyes anticonstitucionales, que contradicen la presunción de inocencia y la libertad de expresión), pero claro, en el país de la pachanga y del chanchullo... Está claro que las leyes fascistas pueden provenir de la ultraderecha que se refugia en el centro... pero en este caso (y otros) provienen de la falsa izquierda (derecha encubierta cargada de bajos intereses), lo cual me provoca arcadas.

En cuanto pueda, me largo de aquí.

Y por cierto, perdón por el título del post.