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….

Cómo añadir el locale gallego en Mac OS X

Apple no proporciona el locale gallego para Mac (el listado puede obtenerse con locale -a) por lo que al desarrollar aplicaciones que utilicen fechas en gallego se mostrarán las fechas en el idioma por defecto.

Añadir este locale es fácil (duplicar el español y editarlo) pero un script que lo automatice es mucho más cómodo. Por eso he añadido el repositorio Galician locale for Mac a mi GitHub con lo necesario.

Para hacerlo aún más rápido:

curl -fsSL https://raw.githubusercontent.com/vaites/galician-locale-for-mac/master/install.sh | bash

Lógicamente esto no añade las traducciones de la interfaz de Mac, sólo las definiciones para su uso en desarrollo….

Actualizador de Calibre en Mac OS X

Uso Calibre para gestionar mi biblioteca digital desde hace mucho, y he sufrido la versionitis de su autor con una actualización semanal. Debido a que no dispone de un actualizador automático he creado este pequeño script que descarga la última versión, la instala en /Applications y deja el archivo DMG en la carpeta de descargas:

#!/bin/bash
 
CALIBRE_DOWN="http://status.calibre-ebook.com/dist/osx32"
CALIBRE_LAST=`curl --head --silent ${CALIBRE_DOWN} | grep "Location" \
	| awk '{print $2}' | perl -pi -e 's/\r\n//g'`
 
CURRENT_USER=`whoami`
CALIBRE_NAME=`echo ${CALIBRE_LAST} | awk -F '/' '{print $5}'`
CALIBRE_FILE="/Users/${CURRENT_USER}/Downloads/${CALIBRE_NAME}"
 
if [ ! -f $CALIBRE_FILE ]; then
	wget "${CALIBRE_LAST}" -O "${CALIBRE_FILE}"
fi
 
if [ -f $CALIBRE_FILE ]; then
	cd "/Applications/"
	rm -rf 'Calibre.app'
 
	CALIBRE_VOLUME=`hdiutil attach "${CALIBRE_FILE}" \
		| grep "calibre" | awk '{print $3}'`
 
	cp -R "${CALIBRE_VOLUME}/calibre.app" "/Applications/Calibre.app"
 
	hdiutil detach "${CALIBRE_VOLUME}" > /dev/null
fi

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.

Dash & Zeal: navegadores de documentación para programadores

Dash (para Mac OS X) y Zeal (Windows y Linux) son dos programas imprescindibles para cualquier programador: unifican en una única interfaz la documentación de más de 100 lenguajes, frameworks, librerías y diverso software. Los docsets se actualizan automáticamente y disponen de integración con todo tipo de editores.