Delirios de un Informático

Teclas multimedia de teclados Logitech G en Mac

En ninguno de los teclados Logitech G que he probado en Mac OS X (G11, G15 y G510) funcionaban las teclas multimedia para el control de la música (excepto en iTunes, curiosamente). Ni Spotify ni VLC ni otros programas respondían a las teclas prev/next (pero sí a play/pause), por lo que pensé en hacer un pequeño script que solucionara el problema.

Al ponerme a investigar econtré con Karabiner, un excelente software que soluciona muchos de los problemas más comunes con teclados en Mac (el punto del teclado numérico, la posición de las teclas < y >…) y que es extensible mediante archivos XML. Al ser un proyecto alojado en GitHub hice el correspondiente pull request que el autor amablemente aceptó.

Desde hace unos días los cambios se han integrado en la versión estable (desde la 10.5) por lo que basta instalar el programa y activar el mapeo llamado Enable PC Prev/Next Media Keys para poder por fin saltar canciones en Spotify….

Instalar Phalcon en el PHP “nativo” de Mac OS X

Phalcon es un excelente framework para PHP con la particularidad de estar programado en C como una extensión del lenguaje. Ha evolucionado muchísimo y se ha convertido, en mi opinión, en uno de los frameworks más completos e interesantes después de Laravel.

La instalación en Mac puede realizarse con Homebrew pero realiza la instalación de una versión de PHP aparte de la versión nativa de Mac OS X. Si queremos compilar la extensión de Phalcon sin más dependencias, los pasos a seguir difieren un poco de las instrucciones oficiales:

brew install gettext
brew link --force gettext
git clone https://github.com/phalcon/cphalcon
cd cphalcon/build/64bits
git checkout 1.3.4
phpize
./configure --enable-phalcon
make
sudo cp modules/phalcon.so /usr/lib/php/extensions/no-debug-non-zts-20121212

Siguiendo las instrucciones de la web oficial, nos encontramos con dos problemas: el primero es que no localiza el archivo libintl.h (de ahí el uso de Homebrew para instalar GetText) y el segundo es un fallo con _libintl_setlocale en ciertas versiones, que provoca el siguiente error:

dyld: lazy symbol binding failed: Symbol not found: _libintl_setlocale
  Referenced from: /usr/lib/php/extensions/no-debug-non-zts-20100525/phalcon.so
  Expected in: flat namespace

dyld: Symbol not found: _libintl_setlocale
  Referenced from: /usr/lib/php/extensions/no-debug-non-zts-20100525/phalcon.so
  Expected in: flat namespace

Este error se evita haciendo el checkout a la última versión publicada.

Cómo traducir nombres de directorios en Mac

Mac tiene una lista de directorios de sistema que se traducen automáticamente, como ~/Pictures, que se traduce a Imágenes en Finder. La lista de directorios y sus traducciones se encuentra en el siguiente archivo:

/System/Library/CoreServices/SystemFolderLocalizations/es.lproj/SystemFolderLocalizations.strings

Este archivo puede editarse para añadir nuevos elementos, pero está en formato binario, por lo que para editarlo hay que convertirlo previamente:

plutil -convert xml1 SystemFolderLocalizations.strings
vim SystemFolderLocalizations.strings
plutil -convert binary1 SystemFolderLocalizations.strings

Una vez añadidas las traducciones (o modificadas las traducciones existentes) es necesario que dentro de cada directorio traducido exista el archivo vacío .localized, para que Finder entienda que ese directorio tiene traducción. Hecho esto, hay que matar Finder (killall Finder) para que los cambios se apliquen.

Cómo enviar anotaciones a Bitacoras.com desde un iPad

Si quieres enviar anotaciones a Bitacoras.com desde tu iPad del mismo modo que haces con un navegador de escritorio, resulta muy fácil. Simplmente has de añadir un favorito cualquiera (esta misma página) y luego editarlo, sustituyendo el segundo campo por el siguiente código:

javascript:void(window.open('http://bitacoras.com/agregador/enviar/'+location.href));

El favorito ha de quedar así:

Después, en cualquier anotación que desees enviar a Bitacoras.com podrás pulsar este favorito y se enviará y votará :).

Cómo instalar DOSPad en un iPad sin Jailbreak

Tras haber conseguido instalar ScummVM en el iPad recordé que hace tiempo estuvo disponible en el App Store una aplicación llamada iDOS que fué retirada un par de veces por incumplir los términos de uso, ya que permitía la introducción de binarios en el dispositivo con el evidente peligro que eso supone. Como el proyecto en el que se basa es de código abierto (DosBox) es posible descargarlo, compilarlo e instalarlo de forma que no haga falta hacer el dichoso Jailbreak.

Antes de continuar, hay que diferenciar iDOS de DOSPad. El primero es la versión para el App Store y hace uso de librerías como CoreMIDI pero el segundo permite añadir cualquier juego o programa mediante iTunes File Sharing, por lo que es mejor opción.

Lo primero, es descargar el código fuente:

svn checkout http://dospad.googlecode.com/svn/trunk/ DOSPad && open DOSPad/dospad.xcodeproj

Con Xcode abierto, será necesario modificar seleccionar en el desplegable de Schemes el elemento dospad | iPad de David (4.3.3) (evidentemente ahí aparecerá el nombre y la versión de tu dispositivo) y habrá ciertos valores del proyecto para poder realizar la compilación sin problemas. Para simplificar, hay que dejar todos los valores como la siguiente captura:

Estos valores han de completarse para cada uno de los elementos de Targets (añadiendo los elementos en Valid Architectures si no aparecen). Luego, al pulsar Run se compilará e instalará en el dispositivo.

Una vez instalado es posible añadir juegos y software mediante iTunes, copiando los datos desde Dispositivos » iPad de David » Aplicaciones » Compartir Archivos » DOSPad Beta. Todo lo que se copie estará disponible en la unidad C:\ desde el emulador, aunque sólo se pueden copiar archivos sueltos y no carpetas por lo que habrá que recurrir a carpetas comprimidas en ZIP (el comando unzip viene de serie) o directamente ejecutables de instalación.