Soporte para ImageMagick en PHP con LAMPP

Hace algunos días estaba intentando averiguar cómo habilitar el soporte para Image Magick en PHP al utilizar LAMPP (o más exactamente XAMPP for Linux), pero en ninguna parte encontré información específica… así que aquí va una pequeña receta para hacerlo bajo Ubuntu, junto a algunas notas pertinentes. El proceso debería ser bastante similar en otros sistemas y en caso de querer agregar soporte para otras extensiones.

Image Magick es conjunto de programas para trabajar con imágenes que soporta una gran cantidad de formatos. En ocasiones, logra mejores resultados que GD, la librería que suele acompañar a PHP para la manipulación de imágenes — por ejemplo, al generar imágenes a partir de texto, Image Magick logra una mejor medición de cada uno de los caracteres, creando un texto más armónico que GD. A menos que estés creando un script donde hay mucho trabajo con gráficos probablemente no notes la diferencia, pero si sientes que GD queda algo corto en algún caso bien podrías darle una oportunidad a Image Magick.

En PHP, es posibile habilitar el soporte para ImageMagick a través de PECL (un sistema para agregar extensiones similar a CPAN en el caso de Perl o Gem en el caso de Ruby), pero para ello debemos realizar algunos pasos previos.

A los que nos interesa:

  1. Instalar LAMPP (paquete normal): se puede bajar desde el sitio de XAMPP for Linux; donde también se detallan las instrucciones de instalación.
  2. Instalar paquete de desarrollo LAMPP, que también se descarga desde el sitio de XAMPP for Linux. Este paquete es necesario para compilar las extensiones que deseemos agregar a la instalación base de XAMPP.
  3. Instalar autoconf vía Synaptic, o bien por línea de comandos con sudo aptitude install autoconf. Este paquete permite generar los scripts automáticos de configuración para las extensiones que posteriormente vamos a bajar y compilar.
  4. Instalar libmagickwand vía Synaptic, o con sudo aptitude install libmagickwand2 libmagickwand-dev, para incluir las cabeceras de desarrollo que son necesarias para compilar la extensión para PHP. Esta librería sirve de interfaz para ImageMagick. Quizás aquí alguien se preguntará ¿pero cómo sé que tengo que bajar libmagickwand?. La respuesta es simple: porque al intentar instalar la extensión por primera vez, el compilador se detuvo justamente por la falta de este paquete.
  5. Instalar soporte para Imagemagick con PECL: llegamos a lo que nos interesa. Desde la terminal: sudo /opt/lampp/bin/pecl install imagick. Aquí hay que estar atento a los requerimientos para compilar e instalar la extensión. En caso que la instalación falle, habrá que revisar qué paquete esté faltando, instalarlo y luego ejecutar nuevamente la instalación
  6. Agregar módulo a php.ini: finalmente, debes editar el archivo /opt/lampp/etc/php.ini, y agregar en la sección de Dynamic Extensions: extension="imagick.so" de modo de cargar la extensión al reiniciar el servidor.
  7. Reiniciar XAMPP con sudo /opt/lampp/lampp restart para recargar la configuración de PHP
  8. Si todo salió bien, al visualizar un archivo con phpinfo(); debería aparecer el módulo imagick cargado.
Publicada en Desarrollo Web | Etiquetas , , , , , | Dejar un comentario

La gran conversación de los blogs

La semana pasada debió ocurrir alguna extraña conjunción cósmica (o más simplemente una casualidad), ya que dos blogs publicaron entradas sobre las principales formas de participación en un blog.

Por una parte, Pepe Flores se preguntaba en ALT1040 ¿Por qué y para qué comentamos en un blog?, dando paso a una reflexión rotunda y sintética acerca del rol de los comentarios en un blog:

Desde su aparición, una de las grandes virtudes de los blogs fue la posibilidad de entablar un diálogo con los autores. Los comentarios tienden un puente entre lector y escritor, de modo que sea posible un intercambio de ideas crítico y constructivo. El flujo de información se convirtió en una autopista de dos vías, derribando la cuarta pared, y permitiendo la libre opinión sobre los temas. Los comentarios permiten una retroalimentación que, aunque diacrónica, constituye la apertura de un foro abierto, una nueva ágora pública en la que se fomenta la discusión. Al menos, en la teoría.

Su enfoque permite, como nunca, pensar en los comentarios en blogs en torno a su positividad (no en relación a lo optimista, sino a lo que son y no a lo que no son) más que desde las típicas barreras como el spam, el abuso, etc; lo que resulta especialmente interesante pues un par de días después él mismo da la noticia del cierre temporal de comentarios en Engadget, lo que más allá de la importancia que tiene por tratarse de un sitio con un enorme alcance y tráfico, llama la atención porque la razón señalada para ello sea principalmente por un factor humano: la escalada de agresividad en las discusiones relacionadas al nuevo chiche de Apple (el iPad, por si has estado totalmente desconectado de la Tierra hace un par de semanas).

Por otra parte Armonth de SigT se preguntaba por la muerte del Trackback en tono melancólico por la progresiva disminución en importancia que parece sufrir esta herramienta — probablemente una de las más sub-utilizadas y menos entendidas para generar cruces conversacionales entre blogs y que incluso llega a ser desconocida para algunos de los bloggers que llevan menos tiempo.

Hace años, cuando se discutía si un blog sin comentarios podía llamarse “blog” Diego Martín Lafuente planteaba que para conversaciones distribuidas no necesitamos comentarios, sino blogs:

Usted no necesita comentarios, usted necesita un blog. Quien quiere dejar su opinión, armar discusiones distribuidas reales puede hacerlas perfectamente desde un blog y sin comentarios; enlazando a otro blog para hilar una gran tela de opiniones. Esto te asegura que nadie te modere y que tu opinión sigue estando ahí. Con comentarios la discusión no es distribuida, sino centralizada. Aunque existe pedazos de discusiones aquí y allá, la verdadera discusión distribuida por ejemplo es la que mantiene Dave Winner con muchos bloguers que, justamente no tienen comentarios activados. Cada uno conversa, enlaza y de esta forma, en la egosfera nos enteramos todos del tema, sin tener que leer comentarios. Hay decenas de formas de enterarse de una conversación: desde Google, pasando por Technorati y acabando en Digg. Cuando quiero saber si alguien escribe algo sobre lo que yo había escrito, me voy a Technorati. Así me entero quien me rebate, a quienes enlaza sobre el tema y me paso toda una tarde leyendo anotaciones de bloguers de blog en blog si haber tocado el lector de RSS.

… lo que era bastante válido en los tiempos en que Technorati era una herramienta útil.

Hoy por hoy, la conversación ocurre en gran parte en Twitter por sobre cualquier otra cosa… las que antes ocurrían entre geeks y bloggers, al menos, no las que ocurren entre personas normales, que esas ocurren en Facebook. ¿Y de la gran conversación de los blogs, qué fue? Sólo queda esperar que no muera bajo la presión de la inmediatez, y que de vez en cuando nos acordemos del espacio para la elaboración de las ideas y de la terriblemente necesaria posibilidad de disentir y hacérselo saber al que ocupa el puesto de autor.

Publicada en Internet, Weblogs | Etiquetas , , , | 1 Comentar

Servidor de música DAAP en Ubuntu

Digital Audio Access Protocol un protocolo para compartir música a través de una red local creado por Apple e implementado en aplicaciones como Rhythmbox, Amarok, iTunes y otras.

Firefly Media Server es una implementación de servidor DAAP que está disponible en los repositorios de Linux bajo su anterior nombre de mt-daapd —como es de esperar, su instalación es bastante sencilla: basta con instalarlo vía el Gestor de Paquetes Synaptic o bien vía consola con sudo aptitude install mt-daapd

El servidor se iniciará automáticamente la próxima vez que inicies sesión. Cuenta con una interfaz de administración vía web, a la que puedes acceder a través de Firefox u otro navegador en http://localhost:3689 con el usuario admin y la contraseña mt-daapd. Desde este panel podrás cambiar esta contraseña, agregar tus carpetas de música y más.

Entre algunas de las gracias de Firefly Media Server es que puedes compartir música en FLAC, OGG u otros formatos que decodifica al vuelo (son servidos como WAV) y soporte para playlists inteligentes… oh, y por cierto, es totalmente compatible con Linux, al contrario de las versiones más recientes de iTunes que rompieron su compatibilidad gracias a un cambio introducido por Apple en el método de autenticación (¿think different?)

Publicada en Ubuntu | Etiquetas , , , , , | Dejar un comentario

Recursos para desarrollar web móvil

A pesar de que el iPhone/iPod Touch cuente con un navegador completo como Safari, desarrollar web para móviles sigue siendo un paradigma bastante distinto a la web “normal”. Afortunadamente WAP 1.0 ya quedó atrás y con éste WML (el lenguaje de marcado específico para WAP 1.0) por lo que actualmente podemos utilizar XHTML-MP, un derivado del XHTML Basic desarrollado por la W3C bastante similar al X/HTML de toda la vida.

Durante este año, y gracias a la experiencia de trabajo en AyerViernes he comenzado a descubrir algunos interesantes recursos para comenzar a desarrollar web móviles. Les presento algunos de ellos:

Usability & Design Resources
Una librería de recursos del equipo de Nokia con especial énfasis en aspectos de usabilidad; buen punto de inicio para tener en cuenta las limitaciones en el desarrollo para móviles. Especialmente destacado el paper con consideraciones sobre las variables culturales y usabilidad
Mobile Web Best Practices 1.0
Un completo informe de la W3C que abarca múltiples ámbitos del desarrollo, pero enfocado principalmente en otorgar una óptima experiencia de usuario, desde la creación de contenidos al diseño y la implementación
Challenges of Interface Design for Mobile Devices
Del equipo detrás de Yahoo! User Interface (un favorito personal). Como el anterior, aborda distintos temas aunque de una manera mucho más resumida, e incluye enlaces a otros recursos
mobiForge
Un completo centro de información y comunidad de desarrollo de web móvil, un gran concentrador de información valiosa, como
XHTML Mobile Profile / XHTML MP Tutorial
Una referencia más técnica sobre el lenguaje, con información detallada sobre XHTML-MP
Smart.fm: How to move from web to mobile
Un punto de partida para pensar una estrategia móvil. Consideraciones generales a partir de la experiencia de este reconocido grupo de consultores en un caso particular

Pueden encontrar algunos más en mi delicious con el tag “mobile”… y por supuesto, agregar tus recomendados en los comentarios ;)

Publicada en Desarrollo Web, XHTML | Etiquetas , , , | Dejar un comentario

Twittear favoritos de last.fm con twitterfeed y bit.ly

Hace algún tiempo he estado utilizando twitterfeed para publicar en Twitter las actualizaciones de contrasentido y este blog, pero hasta ahora no había encontrado la forma de integrar las estadísticas de bit.ly (una de las razones por las que empecé a usarlo por sobre otros servicios) ni de poder compartir a través de esta combinación las canciones que marco como favoritas en Last.fm, así que aquí va un pequeño (auto)recordatorio de cómo hacerlo.

En primer lugar, vamos a buscar el feed RSS de tus favoritos en Last.fm: lamentablemente (y a menos que esté medio ciego o simplemente despistado) no vas a encontrar fácilmente la dirección entre los datos de tu perfil, sino que deberás “construirla” a partir del siguiente molde: http://ws.audioscrobbler.com/2.0/user/tu-nombre-de-usuario/lovedtracks.rss

Como nota aparte, en la sección de Web Services puedes encontrar todos los feeds que genera Last.fm así como también los métodos de su API y otras delicias para los más geeks y programadores.

Configuración de bit.ly en last.fm Luego, para asociar tu cuenta de bit.ly a tus tweets desde twittefeed, en la interfaz para agregar un nuevo feed debes expandir las opciones avanzadas, seleccionar bit.ly como acortador de URLs (¡dah!) e ingresar tu nombre de usuario y tu clave API de bit.ly, que puedes conseguir en en enlace si estás logueado.

Con eso ya estás listo. Ahora sólo te queda tratar de no saturar a los demás con tus actualizaciones. Y por cierto, si quieres, también puedes seguir mis actualizaciones en Twitter.

Publicada en Internet | Etiquetas , , , | 2 Comentarios

Segunda encuesta del consumidor digital chileno

Hace algún tiempo AyerViernes está impulsando la Segunda encuesta del consumidor digital chileno… ya estamos cerca de cerrar el periodo de recogida de datos, pero por si a alguien se le había pasado la oportunidad de contribuir, aún está a tiempo.

Segunda encuesta al consumidor digital chileno

Por cierto, los resultados serán publicados con licencia de Creative Commons, tal como sucedió con la primera encuesta.

Publicada en Estrategia | Etiquetas , , | Dejar un comentario

Komodo Edit, editor de código multiplataforma

Al trabajar con código, la elección de un buen editor es crucial. Los hay de todos tamaños y colores: tan básicos como gedit o tan gigantescos como Eclipse… por lo general, siempre he buscado algo más bien intermedio: lo suficiente liviano como para poder mantener muchas otras aplicaciones abiertas sin problemas, pero lo bastante potente como para tener un buen set de herramientas en él mismo — como Geany, una buena alternativa para trabajar en GNOME/Linux.

Hace un rato he estado trabajando con Komodo Edit, un editor de código multiplataforma hecho con XUL (uno de los lenguajes utilizados en Firefox) que ha resultado ser bastante práctico. Tiene soporte de resaltado de código para una amplia variedad de lenguajes, montones de atajos de teclado personalizables, auto-completado, auto-indentado, gestión de proyectos (aunque no funciona en sistemas de archivos remotos, por ejemplo montados a través de Samba), pestañas y revisión de sintaxis —en este punto tiene una pequeña gran ventaja sobre otros editores, que suelen confundirse con la sintaxis de jQuery, mientras que Komodo Edit no solo la reconoce sino la soporta como un lenguaje más (también tiene soporte para Prototype, YUI y se pueden agregar otros “API Catalogs”).

Komodo Edit

La guinda de la torta es que soporta extensiones, con las que se puede agregar funcionalidad a gusto de forma bastante sencilla, tal como en Firefox.

Komodo Edit es software libre (código abierto) “apadrinado” por ActiveState, quienes venden una versión más avanzada (no mucho más, considerando las extensiones que se pueden instalar en Komodo Edit) llamada Komodo IDE.

Publicada en Desarrollo Web, Software | Etiquetas , , , , | 3 Comentarios
  • Comentarios recientes

  • Archivos

  • Categorías

  • Licencia de contenidos