Participa en el Firefox Download Day

Download Day

La gente de Spread Firefox está intentando batir el record Guinness de descargas en 24h. Para ello, piden la colaboración de los usuarios.

Que ilusión me haría levantarme una mañana y descubrir que apenas recibo visitas en el blog ni en ninguna otra página desde Internet Explorer… sería casi un sueño hecho realidad…

¿Y tú? ¿Vas a descargar Firefox 3?

Transmission 0.91

Transmission es un cliente de Bittorent bastante ligero y con una interfaz GTK. Lo llevo usando varios días y la verdad es que me gusta bastante. Es rápido y bastante sencillo de usar y de configurar.

Como la última versión disponible en el arbol de portage es la 0.82 he escrito un ebuild para Transmission 0.91.

Transmission

También lo he colgado en bugs.gentoo.org. Es recomendable descargarlo de ahí por que seguramente recibirá algún feedback y los usuarios colgarán mejoras del ebuild.

Realizar Busquedas con Google Maps en tu web.

Estos días me he tenido que pelear bastante en serio con Google Maps y Google Local Search. Necesitaba un mapa que permitiese buscar una dirección y que pudiera, una vez encontrada la dirección, guardarla en una base de datos.

Por suerte Google Maps permite hacer cosas así con poco código aunque de todas maneras me tocó pelearme durante un par de días con su API hasta que conseguí encontrar lo que quería. Casi todo lo necesario se encuentra en la documentación de su API, el único problema es que necesitas saber exactamente lo que buscas antes de poder encontrar algo. En este enlace está la ayuda de Local Search, que aunque no es demasiado extensa tiene algunos ejemplos interesantes.

Mis requsitos exactos eran los siguientes:

  • Un mapa con un cuadro de búsqueda
  • Un sistema para poder moverse por los resultados de la búsqueda de forma sencilla para el usuario

En este caso particular solo necesitaba las coordenadas del centro del mapa una vez que el usuario ha encontrado lo que buscaba. Este dato se copiará en un campo oculto de un formulario para poder guardarlo en una base de datos. En el ejemplo se mostrarán las coordenadas en un DIV junto al mapa.

Una vez que sabemos lo que necesitamos nos ponemos manos a la obra. Vamos a repasar las herramientas que vamos a usar:

  • Lo primero que necesitamos es una key para acceder al API. Para ello visitamos esta dirección. Lo único necesario para conseguirla es una cuenta en Google, sirve la que se usa para acceder a GMail.
  • Como vamos a hacer un uso intensivo de Javascript es una buena idea buscarse un ayudante. En mi caso he echado mano a la librería mootools 1.11 por que es con la que mejor me llevo, pero imagino que sirven otras librerías del mismo estilo como jQuery o prototype. El motivo para usar este tipo de librerías es que permiten moverse libremente por el árbol DOM del documento HTML y capturar eventos que ocurren en él de forma sencilla. Dos tareas que vamos a necesitar para nuestro ejemplo.
  • Por último no nos puede faltar nuestra navaja suiza para el desarrollo web: Firebug ya que nos permitirá depurar y testear nuestro Javascript de forma sencilla.

Aquí podéis encontrar el ejemplo terminado y aquí os lo podéis descargar. Tiene una licencia MIT, así que podéis hacer lo que queráis con él, aunque agradecería un aviso si lo usáis para cualquier cosa, simple curiosidad :)
Por último unas cuantas aclaraciones. He intentado comentar el código lo más claramente posible, si tenéis cualquier duda podéis preguntar en los comentarios e intentaré responder. Si tenéis que añadir el código al post, por favor, hacedlo aquí (aquí tenéis una ayuda por si no sabéis usarlo) y añadid un enlace en el post.

He comentado el codigo linea por linea para los que, como yo, no tengan ni idea de Javascript, mootools o Google Maps. Espero que a ellos les pueda servir como ejemplo de lo que se puede hacer con estas 3 tecnologías juntas.

HOWTO: Instalar la webcam del Dell Inspiron 1520 en Gentoo GNU/Linux

Ayer ya comenté que mi “juguete nuevo” viene lleno de sorpresas. Una de ellas es una webcam de 2 megapixels integrada en la pantalla. Yo no soy mucho de usar la webcam, pero no puedo evitar tener un cacharro y no poder usarlo.

Siguiendo a medias las indicaciones de este manual, hay que hacer lo siguiente (con permisos de superusuario, evidentemente):

flagedit media-video/linux-uvc -- ~x86
emerge -va linux-uvc

Una vez instalado

modprobe uvcvideo

Listo, ya podemos usar la webcam. Yo la he probado en kopete y funciona, aunque para ello hay que abrir los puertos 6891 a 6901, tanto TCP como UDP, de vuestro router o firewall.

PS: Gracias a Ana y a Bugman por el testeo :)

Poniendo tu portátil a punto con Gentoo

Ayer por la tarde me llego un juguete nuevo. Se trata de un Dell Inspiron 1520 para sustituir a mi antiguo y casi difunto Airis Pragma 890… al pobre solo le quedan unos cuantos telediarios. El caso es que lo primero que he hecho cuando lo he cogido ha sido empezar a Instalar Gentoo desde el principio.

Dell Inspiron 1520Hace unos días un amigo me dijo que llevaba uno tiempo queriendo instalarla pero que no lo conseguía y que la verdad es que le daba bastante pereza por que nunca encontraba documentación así que voy a poner una lista de algunos de los enlaces que más me han ayudado para dejar mi máquina Gentoo a punto.

  • El Handbook: Es un conjunto de recursos bastante completo para la instalación. La instalación de Gentoo no es algo trivial. Para instalarla tienes que ser capaz de tomar un buen puñado de decisiones (número de particiones, tipo, etc.). Estas decisiones repercuten en el funcionamiento del sistema operativo y el handbook nos guía paso a paso por algunas de las decisiones más importantes que hay que tomar.
  • La guía del kernel de Gentoo: Es una guía en la que se explican las peculiaridades de los distintos kernels incluidos con Gentoo.
  • Consejos para instalar en un Core 2 Duo: Una de las dudas que me surgió con el nuevo portátil era pasar a una arquitectura de 64 bits o quedarme en 32. Al final me decidí por los 32, principalmente por que he oído perrerías del soporte de hardware de algunos dispositivos. En este documento explica lo que hay que hacer cuando se elige una u otra.
  • Discos Duros SATA: El Inspiron 1520 incluye un disco duro SATA de 160 GB… nunca había usado uno de estos discos… así que no sabía si era necesaria alguna configuración especial en el kernel, aquí lo explica todo.
  • Algunos consejos específicos para el Inspiron 1520.
  • Guía de administración de energía de Gentoo: Una guía en la que explica como instalar soporte para hibernación o para la suspensión al disco duro (entre otras cosas).

Solo una nota más, la guía de instalación que hay en gentoo-wiki se queda un poco corta para algunos de los periféricos del Inspiron 1520, en concreto para la tarjeta de sonido, la tarjeta wireless y el bloetooth). Postearé otros métodos de instalación en breve un poco más actualizados.

Por cierto, la foto la he hecho con otro de mis juguetes nuevos… ya hablaré de él otro día.

Joomla 1.5

Por motivos de trabajo llevo una temporada trabajando y destripando Joomla 1.5. Es el principal culpable de que últimamente postee con cuentagotas.

Este CMS es uno de los más usados del mercado y en esta nueva versión han mejorado bastante. Su licencia es GPL 2 y está programado en PHP.

Ya había usado las versiones 1.0.X con anterioridad y me sorprendían enormemente su facilidad de uso y la cantidad de extensiones, plugins y módulos que se podían encontrar para él. Aunque administrar una página web no es una tarea trivial Joomla facilita enormemente la tarea. Dispone de herramientas para administrar usuarios, artículos (en forma de weblog), contactos, enlaces, etc. y además su API para la creación de plugins y componentes es bastante extensa y soporta el patrón MVC.

Hasta ahora nunca había tenido que programar un componente para Joomla, sin embargo la tarea no es imposible. En la página web de Joomla podemos encontrar una ayuda bastante buena para esta tarea: un API bastante completo (aunque algo caótico) y algunos ejemplos de código además de un foro con bastante actividad.

El principal problema es que la documentación de la versión 1.5 aún no está completa y claro, tarde o temprano tienes que acabar buceando en el código de los componentes que forma el núcleo de Joomla a los cuales, dicho sea de paso, les falta un poquito de documentación. Esa es la única pega que le veo, aunque quizá sea por que estoy muy acostumbrado a Java y la documentación que incluye de serie me resultaba muy cómoda.

Por cierto en Leandono’s Blog se puede encontrar la primera parte de un tutorial bastante prometedor para la creación de plantillas de Joomla.

Por último recomendaros algo de bibliografía sobre el tema: Learning Joomla 1.5 Extension Development de Packt publishing esta muy bien y además de incluir muchos ejemplos de código avanza paso a paso en el desarrollo de una web completa con Joomla y explica muchas cosas acerca del API de Joomla que no son fáciles de averiguar.

Si el trabajo me deja un poco de tiempo intentaré postear algún ejemplo “tonto” de un componente muy básico.

El núcleo de GNU/Linux cumple 16 añitos

Fue en 1991 cuando Linux Torvalds comenzó el desarrollo de Linux, un núcleo compatible con UNIX. En 1992 dicho núcleo se anexó al sistema operativo GNU dando así lugar a GNU/Linux.

Por lo tanto, lo que ha cumplido 16 años no es el Sistema Operativo, sino el núcleo de dicho sistema. No me gusta ser un talib del Ñu, pero cuando un medio como El País habla de algo sin tener ni idea… y encima intenta meter miedo…

Sin embargo, 16 años no parecen tantos y los amantes de este sistema operativo deben andarse todavía con cuidado, no vaya a ser que por instalarlo les invaliden la garantía.

Pues eso, que a uno le tocan la moral.

Via: ElPais.es
Más información: GNU (Wikipedia), Linux (Wikipedia)

Weather Wallpaper

Weather Wallpaper es un programa escrito en Python que genera un fondo para tu escritorio usando información meteorológica obtenida por internet. Aquí Podéis encontrar más información.

Si queréis instalarlo en Gentoo podéis usar el ebuild que hay en este bug del Gentoo Bugzilla.

Tutorial: Usar Firefox para desarrollo web I

Ya dije en la entrada “Extensiones útiles para Firefox ( mis favoritas )” que algunas de las extensiones que uso son bastante específicas para el diseño web. Intentaré hacer una pequeña serie de posts hablando de ellas y dando algunos consejos para su uso.

Aunque hay bastantes extensiones que pueden resultar muy útiles para el diseño y desarrollo de páginas web yo uso principalmente dos, que son las siguientes ( en orden de importancia según el uso que les doy ):

  1. Firebug
  2. Webdeveloper Toolbar

Sin lugar a dudas para mí la estrella es Firebug. En este primer post voy a centrarme en ella y poco a poco veremos como usarla para que nos asista en el desarrollo.

Firebug: Instalación

Para instalar la extensión nos vamos a su web y pulsamos en el botón grande y naranja que dice “INSTALL FIREBUG 1.0 FOR FIREFOX”. Esta es la parte fácil del tutorial :D

Lo más básico.

Mediante firebug podemos acceder al árbol DOM de la web y editarla “on the fly”, además es perfecto para darle esos últimos retoques a las hojas de estilos que se nos resisten. También podemos usarlo para optimizar el tiempo de carga de la página, averiguar si hay algún elemento que no carga bien, depurar nuestro javascript, y muchas otras cosas que yo todavía no he descubierto. Para nuestro ejemplo usaremos un pequeño fichero HTML que contiene 2 div y una hoja de estilos bastante rudimentaria.

Como podéis ver es algo bastante rudimentario lo primero que vamos a hacer es inspeccionarlo y ver lo que lleva por dentro. Para ello abrimos la web de ejemplo y abrimos firebug con ella abierta. Para abrir podemos abrir Firebug por las siguientes vías.

  • Herramientas > Firebug > Open Firebug
  • Pulsando en el botón correspondiente en la barra de estado del navegador

(more…)

TinyMCE: Editor WYSIWYG HTML integrable en páginas web

Hoy me ha surgido un problema bastante tonto con una página web que estaba terminando de diseñar para un cliente. Uno de los requisitos es que el cliente necesitaba un cuadro de texto en el que insertar una descripción en texto con formato. Hasta ahí todo bien, hasta que me he dado cuenta de que el cliente no sabe ni tiene por qué saber formatear un texto en HTML. Buscando un poco en Google he encontrado TinyMCE ( DEMO ).

TinyMCE es un editor HTML WYSIGYG ( What You See Is What You Get ) programado en Javascript que se integra en páginas web de forma rápida y sencilla. Convierte los <textarea> en editores completamente funcionales y muy configurables. Una lista de algunas de sus características:

  • Soporte para varios navegadores.
  • Extensible mediante temas y plugins.
  • Soporte para diferentes lenguajes.

Al final parece que el cliente no se va a tener que pelear con HTML… menos mal.

Por cierto, ¿ he dicho ya que tiene licencia LGPL ?

Extensiones útiles para Firefox ( mis favoritas )

Hace un par de días tuve que reinstalar firefox y eliminar mi perfil por un problema con una extensión que no conseguía solucionar. Y me di cuenta de la cantidad de extensiones que uso. Eliminé algunas que no usaba y descubrí algunas nuevas bastante interesantes. Ahí va una lista de las que más uso a día de hoy.

  • CuteMenus: No sirve para nada, lo único que hace es incluir un icono a la izquierda de cada entrada de los menús para que se vea un poco más “bonito”.
  • del.icio.us Bookmarks: Una auténtica maravilla de extensión. Se integra con nuestra cuenta de del.icio.us permiténdonos acceder a los bookmarks almacenados en ella de forma sencilla ( Ctrl + B ). También nos permite añadir nuevos bookmarks con solo un atajo de teclado ( Ctrl + D )
  • Google Reader Notifier: Mi preferida, sin lugar a dudas. Esta extensión te mantiene informado del estado tu cuenta de Google Reader y te avisa cada cierto tiempo si las webs que lees han sido actualizadas. Por cierto, si no sabes lo que es Google Reader o lo que es un feed, date una vuelta por aquí
  • Tab Mix Plus: Una de las extensiones más configurables que he visto para el zorro rojo. Permite al usuario configurar cada detalle del comportamiento de las pestañas y así exprimir al máximo la usabilidad del navegador.
  • Session Manager: Otra maravilla. Entre otras cosas permite guardar el estado de la sesión actual de navegación ( las pestañas abiertas, etc. ) para recuperarlo más tarde.
  • FaviconizeTab: Una extensión bastante curiosa que permite reducir el tamaño que ocupa una pestaña en la barra de pestañas para que solo muestre el Favicon. Muy útil si eres de los que tienen siempre un montón de pestañas abiertas y algunas de ellas siempre están fijas ( como tu lector de feeds, por ejemplo ).
  • Download Statusbar: Coloca el estado de las descargas en la barra de estatus. Muy configurable y ocupa muy poquito espacio en la ventana.
  • Tiny Menu: Sirve para reducir la barra de menús de firefox a un único menú, lo cual permite, entre otras cosas aumentar el tamaño que la vista de una página web ocupa en la pantalla sin necesidad de usar la pantalla completa.

No son las únicas extensiones que uso, pero prácticamente todas las demás sirven para el diseño web. Las dejo para un post posterior en las que intentaré “destriparlas” un poco para que veáis los usos que se les puede dar a cada una.

Howto + Atajo: Buscar el contenido del portapapeles en Google usando una combinación de teclas

Hace un tiempo hablé de klipper, un sustituto del portapapeles para kde. Pues bien, basándome en esta entrada de the How-to Geek he realizado mi propia versión que busca el google, usando Firefox, el último texto que Klipper ha copiado.

Para poder usarlo hay que tener instalado klipper, perl y dcop. Perl se instala con el sistema base de Gentoo ( o eso creo ) y dcop se instala con kde, en otras distros no lo sé, pero si alguien me lo dice estaré encantado de postearlo. Solo nos queda instalar klipper.

para los users de Gentoo:

emerge klipper

Ahora creamos un fichero llamado, por ejemplo, googleSearch.sh en nuestro home y pegamos este contenido dentro.

  1.  
  2. #!/bin/bash
  3. texto=`dcop klipper klipper getClipboardHistoryItem 0`
  4. urlencoded=`echo "$texto" | perl -MURI::Escape -lne ‘print uri_escape($_)’`
  5. url="http://www.google.es/search?q=$urlencoded"
  6. firefox $url
  7.  

Ahora le damos permisos de ejecución

chmod +x googleSearch.sh

Para que funcione bien hay que configurar firefox para que habra las nuevas páginas en pestañas. Yo lo hago usando la extensión Tab Mix Plus, pero podéis hacerlo de cualquier otra forma que se os ocurra.

Ahora para probarlo copiamos cualquier texto en el portapapeles con klipper y ejecutamos nuestro script.

cd ~
./googleSearch.sh

Si todo ha funcionado debería aparecer una pestaña nueva en firefox con el resultado de la búsqueda deseado.

Para que sea la repera completamente, pulsamos con el botón derecho en el menú k y seleccionamos “editor del menú”. Nos colocamos en el grupo “Internet” y seleccionamos “Archivo/Nuevo elemento”. Luego lo rellenamos de forma parecida a lo que hay en el siguiente screenshot.


Screenshot, originally uploaded by Nicolas Flamel.

Yo he usado el atajo Control+Mayúsculas+G pero podéis usar cualquier otro que se os ocurra.

Dudas, errores, sugerencias, etc. en los comentarios :D

RIMUJA GUI para GNU/Linux 0.1 ( o incluso 0.01 alpha o menos )

Como lo primetido es deuda, aquí dejo un pequeño GUI que he hecho en kommander para conectar a la WIFI de la Universidad de Jaén ( RIMUJA ) desde GNU/Linux. Para usarlo necesitáis instalar kommander y lanzarlo con permisos de superusuario.

Me consta que funciona relativamente bien en Gentoo, pero no lo he probado en ninguna otra distro. Para usarlo hay que instalar Kommander y luego ejecutarlo como superusuario. Por ejemplo:


kdesu kmdr-executor /ruta/a/rimuja.kmdr

Si usais Gnome puede ser algo como


gksudo kmdr-executor /ruta/a/rimuja.kmdr

Aquí va el enlace de descarga.

Aquí os dejo una captura del programita. Pinchad en ella para verla en flickr. Si colocáis el ratón encima de cada uno de los elementos podréis ver para que sirve cada uno.


GUI para RIMUJA en GNU/Linux 0.1, originally uploaded by Nicolas Flamel.

El script tiene licencia GPL por lo tanto podéis cambiarlo, modificarlo y hacerle todas las perrerías que queráis siempre que os ajustéis a los términos de la licencia. Si encontráis algún fallo hacédmelo saber y lo corregiré en el menor tiempo posible.

Evidentemente el script está muy “verde” no funciona del todo bien y hay muchas cosas que me gustaría mejorar. Para la próxima versión espero poder arreglar las siguientes cosas.

  • Permitir almacenar el nombre de usuario y la contraseña en un archivo o preferentemente mediante kdewallet
  • Detección automática de las interfaces inalámbricas disponibles
  • Detección del nivel de la señal
  • Evitar de alguna forma tener que ejecutarlo como super usuario para que funcione
  • Evitar la necesidad de un fichero de configuración externo.
  • Detección de la instalación de wpa_supplicant
  • Instalación de wpa_supplicant por el usuario en caso de que no esté instalado.

Es una buena “wishlist” pero no creo que la pueda cumplir, algunas de las cosas sé como puedo hacerlas y otras las veo un poco más difíciles. Por supuesto se aceptan sugerencias, aunque lo que mejor me vendría es una buena documentación en Kommander, pero parece que los desarrolladores están en ello.

PS: Mis disculpas a los lectores asíduos por la falta de posts, pero los exámenes están aquí… y me comen todo el tiempo. Lo siento, prometo recuperar el ritmo cuando acabe con ellos ( o ellos acaben conmigo… ).

Edito 19-06-07 19:30: He corregido el enlace de descarga, por alguna razón Wordpress modificaba la extensión del archivo al subirlo.

Actualización de la configuración de RIMUJA

Para todos aquellos alumnos de la Universidad de Jaén que me lean, he actualizado el HOWTO de conexión a la red RIMUJA desde GNU/Linux. Intentaré postear una mejora del script de conexión en breve… en cuanto pueda ir a la facultad para probarlo.

Atajos: Screenshots ultrarápidos en KDE

Hoy he encontrado ( por casualidad ) una forma de hacer un screenshot ultrarápido en KDE para ello simplemente hay que seleccionar la región que queremos capturar con el ratón mientras mantenemos pulsada la tecla “windows”. Para los que no lo sepan la tecla “windows” es una tecla que luce tal que así



Windows Key, originally uploaded by yum9me.

En la configuración de los atajos de KDE se la llama la tecla “Win”. Si esto es dificultad que venga alguien y me lo cuente. Rápido, fácil y para toda la familia :D
Edito: El screenshot se guarda en el escritorio con el nombre “screenshotN.png” donde N es un numero que se irá incrementando sucesivamente según hacemos los screens