uid y gid 4294967294 usando NFSv4

Estaba configurando mi nuevo servidor casero para que exportase ciertos directorios por NFS al resto de equipos de la red, y me encontré con que todos los ficheros y directorios tenían como uid y gid del propietario el 4294967294. Por lo visto, correspondería al usuario nobody.

Esta es la solución final que he encontrado:

  1. En /etc/default/nfs-common de ambas máquinas (servidor y cliente) poner:
    NEED_IDMAPD=yes
  2. En /etc/idmapd.conf el dominio de ambas máquinas debe coincidir:
    Domain = xxxx
  3. Nos aseguramos de que el servicio idmapd está corriendo en ambas máquinas:
    sudo service idmapd start
  4. Reiniciamos el nfsd y volvemos a montar en el cliente.

Ya está. Todo debería estar funcionando.

Cómo modificar la configuración por defecto del Torrent en la Fonera 2.0n

Cuando instalas el programa de descarga de ficheros Torrent en la Fonera 2.0n (Transmission), éste viene con una configuración por defecto que lo más probable es que no te interese.

Es verdad que desde la interfaz web se pueden configurar ciertas cosas, como por ejemplo los límites de velocidad de subida y descarga, el puerto, etc…

Transmission Preferences

Pero también es verdad que muchas veces cuando cambio algo ahí no me guarda los cambios; o quiero cambiar alguna otra cosa, como por ejemplo el ratio subida/descarga..

En fin, esto es lo que he hecho para hacer estos cambios:

  1. Lo primero que necesitas es tener instalada la versión DEV (para desarrolladores) del firmware para La Fonera.
  2. Ahora hay que entrar por SSH:
    ssh root@192.168.2.253
    Sustituye 192.168.2.253 por la IP de tu Fonera.
  3. Asumiendo que ya tienes instalada la aplicación de Torrents, entra en la administración por web y para la aplicación. Dale a Panel de Control -> Torrent y luego a Desactivar:

    Desactivar Torrent Fonera

  4. Nos vamos al directorio donde están instaladas las aplicaciones de la Fonera. Normalmente es el directorio FoneraApps del disco duro que tengas conectado. En mi caso:

    # cd /tmp/mounts/almacen/FoneraApps/
    # ls
    torrent.2.3.6.0.fmg torrent.2.3.6.0.swp torrent.2.3.6.0.var
    #
  5. Esos ficheros no son más que imágenes de disco. La configuración que queremos tocar está en el fichero torrent.2.3.6.0.var, así que vamos a montarlo en /mnt:

    # mount -o loop torrent.2.3.6.0.var /mnt

  6. Si se ha montado bien, nos vamos a /mnt y vemos qué hay:


    # cd /mnt
    # ls
    blocklists lost+found resume settings.json stats.json torrents
    #

  7. En el fichero settings.json están todos los parámetros que podemos tocar, así que lo editamos:

    # vim settings.json

    Este es el contenido de mi fichero:


    {
    "alt-speed-down": 50,
    "alt-speed-enabled": false,
    "alt-speed-time-begin": 540,
    "alt-speed-time-day": 127,
    "alt-speed-time-enabled": false,
    "alt-speed-time-end": 1020,
    "alt-speed-up": 50,
    "bind-address-ipv4": "0.0.0.0",
    "bind-address-ipv6": "::",
    "blocklist-enabled": false,
    "dht-enabled": true,
    "download-dir": "\/tmp\/mounts\/almacen\/\/torrent",
    "encryption": 1,
    "lazy-bitfield-enabled": true,
    "message-level": 2,
    "open-file-limit": 32,
    "peer-limit-global": 240,
    "peer-limit-per-torrent": 60,
    "peer-port": 2099,
    "peer-port-random-high": 65535,
    "peer-port-random-low": 49152,
    "peer-port-random-on-start": false,
    "peer-socket-tos": 0,
    "pex-enabled": true,
    "port-forwarding-enabled": false,
    "preallocation": 0,
    "proxy": "",
    "proxy-auth-enabled": false,
    "proxy-auth-password": "",
    "proxy-auth-username": "",
    "proxy-enabled": false,
    "proxy-port": 80,
    "proxy-type": 0,
    "ratio-limit": 2,
    "ratio-limit-enabled": true,
    "rpc-authentication-required": true,
    "rpc-authentication-system": true,
    "rpc-bind-address": "0.0.0.0",
    "rpc-enabled": true,
    "rpc-password": "xxxxxxxxxxxx",
    "rpc-port": 9091,
    "rpc-username": "",
    "rpc-whitelist": "*.*.*.*",
    "rpc-whitelist-enabled": true,
    "speed-limit-down": 200,
    "speed-limit-down-enabled": false,
    "speed-limit-up": 20,
    "speed-limit-up-enabled": true,
    "upload-slots-per-torrent": 14,
    "watch-dir": "\/tmp\/mounts\/almacen\/\/torrent",
    "watch-dir-enabled": true
    }

    Yo sólo he tocado las opciones de límites de velocidad y ratio, pero aquí tienes una descripción de todas las opciones para adaptarlo a tus necesidades.

  8. Una vez modificado a tu gusto, desmontamos el sistema de ficheros:

    # cd ; umount /tmp

  9. Volvemos a lanzar la aplicación de Torrents desde Panel de Control -> Torrents

Una vez hecho todo esto, ya deberías tener funcionando todo a tu gusto… :-)

NoBrowser: Aplicación Android para evitar el uso del navegador

Logo NoBrowser

Esta entrada es para presentar NoBrowser, mi primera aplicación para móviles. En concreto para Android, que es el sistema que uso.

¿Por qué se creó NoBrowser?

Hasta hace poco había estado usando un teléfono HTC Magic, el cuál ya es un poco viejecillo, y por tanto se puede considerar un dispositivo de gama baja: poca potencia de CPU y poca memoria. ¿Ves ya por dónde van los tiros? :-)

Una de las cosas que más hago con el teléfono es leer Twitter, y debido a la limitación de 140 caracteres, la gente usa servicios para «saltarse» esa limitación, como pueden ser:

  • Twitlonger

    Este servicio te permite escribir más de 140 caracteres, de forma que en Twitter se publica un tweet con todo lo que quepa más un enlace a su web para leer el resto. Sinceramente, no soy partidario de este tipo de servicios —si quieres escribir más, abre un blog— pero sí leo a gente que lo usa.

  • Videos de youtube con enlaces de youtu.be

    Youtube usa su propio servicio de acortado de direcciones, y curiosamente no son «capturados» por la aplicación de Youtube para Android, de forma que si haces clic sobre uno de estos enlaces, lo que ocurre es que primero se abre el navegador y luego te pregunta si quieres abrir la aplicación de Youtube. Y lo malo es que además, una vez visto el vídeo, vuelves atrás y se vuelve a ¡abrir el navegador! porque el sistema ya lo había sacado de memoria ¿No sería más rápido si no se tuviese que abrir el navegador?

  • Acortadores de direcciones

    Una cosa interesante de NoBrowser es que puede seguir los acortadores de direcciones, de forma que si tenemos, por ejemplo, un enlace bit.ly que redirige a youtu.be y éste al vídeo original, si tenemos la certeza de que es un vídeo, podemos abrir el enlace con NoBrowser y directamente nos abrirá la aplicación de Youtube.

Cuando ya estuve harto de estos problemas busqué en el Android Market una aplicación que me permitiese hacer esto, y como habéis adivinado no la encontré. Así que nada, aprovechando que soy programador, y aunque no me gusta Java para nada, me remangué y me puse a trastear un poquillo para hacer lo que necesitaba. Poco a poco ha ido saliendo algo.

¿Qué hace exactamente NoBrowser?

Lo que hace la aplicación básicamente es capturar ciertos enlaces para tratarlos ella y evitar en todo lo posible que se abra el navegador cuando no es necesario, y como NoBrowser es una aplicación bastante liviana, todo el proceso es mucho más rápido. A continuación paso a detallar lo que hace exactamente:

  • Enlaces de Twitlonger

    Cuando se pulsa sobre un enlace de Twitlonger, el sistema nos preguntará si queremos abrirlo con el navegador o con NoBrowser.

    Si elegimos el navegador, se abrirá éste y nos mostrará la página de Twitlonger con el tweet completo. Abrir el navegador en la Magic, como ya he dicho, supone un tiempo de espera precioso —y desesperante— y luego cargar la página completa, con sus imágenes y demás.

    Sin embargo, si elegimos abrir el enlace con NoBrowser, lo que ocurre es que éste mostrará una ventanita con el contenido del tweet. Abrir NoBrowser es casi instantáneo, y además, no se descarga nada más que el texto, por lo que es un ahorro de tiempo y de ancho de banda, lo cual puede significar dinero también en una conexión de datos móvil.

  • Enlaces a youtu.be

    Este es un tipo de enlaces que la aplicación de Youtube ya debería capturar, pero por raro que parezca, no es así. Cuando pulsamos sobre uno de estos enlaces, el sistema nos preguntará de nuevo si queremos abrirlo con el navegador o con NoBrowser. Como en el caso anterior, si se abre con NoBrowser, éste nos redirigirá directamente a la aplicación de Youtube y se morirá, de forma que podremos ver el vídeo antes que si lo hiciésemos con el navegador, y además, una vez visto el vídeo volveremos directamente a la aplicación en la que estábamos —cliente de Twitter por ejemplo— sin tener que pasar otra vez por el navegador.

  • Enlaces seguros al Android Market

    Este caso es el mismo que el anterior. Curiosamente la aplicación del Market para Android no captura los enlaces seguros (https://), y nos manda a la web.

    Si elegimos abrir estos enlaces con NoBrowser, éste nos redirige automáticamente a la aplicación.

Futuro

Tengo previsto añadir nuevas funcionalidades, como por ejemplo:

  • Petición de confirmación antes de redirigir a la aplicación concreta.
  • Visualizador de imágenes.

Descarga y código fuente

Samsung Galaxy S. Mi experiencia.

Hace poco tiempo que he cambiado, mi ya lento pero bien aprovechado HTC Magic, por un Samsung Galaxy S.

Huelga decir que el cambio ha sido espectacular, y que el rendimiento del Galaxy es impresionante, pero como todo en esta vida, tiene sus pegas, y las pongo a continuación:

  • El LED

    ¡Por favor! El led de notificaciones es algo que no debe faltar en un móvil con Android. Nunca pensé que lo echaría tanto de menos.

  • Más botones

    Echo en falta los botones de llamar, colgar y sobre todo, el botón de búsqueda. Este botón es muy útil para lanzar la función de búsqueda de cualquier programa que la implemente, sin tener que pasar por el menú o cualquier otra sección del programa.

  • Usabilidad

    El botón de encendido/apagado/bloqueo es muy incómodo de usar. Si usas el móvil con la mano derecha, al darle con el pulgar, tienes que apoyarte con el índice y corazón en el otro lado, y casi siempre pulsas los botones de volumen. Cuando consigues no pulsarlos, tienes un 90% de posibilidades de que se te resbale y se te caiga de las manos. Posible solución: Una funda para evitar los resbalones, pero no deja de ser incómodo pulsarlo con una sola mano.

    La forma de quitar la tapa trasera para acceder a la batería, SIM y zócalo de memoria tampoco es fácil. Tienes que meter la uña por la parte de abajo y tienes la sensación de que algo se va romper.

  • Pantalla

    Mucha saturación. Los colores están exageradamente resaltados.

    Veo la pantalla un poco grande para esa resolución. Noto la separación entre píxeles. En el Magic no veía esa separación.

  • El aspecto es muy feo

    El aspecto/tema —o como quieran llamarlo— que instala Samsung es feísimo. Mira que el que trae por defecto Android no es que sea una maravilla, pero no me gustan nada los tonos azules que usan aquí. Además, ese menú de ajustes con un color distinto para cada sección… ¡qué hortera!

La mayoría de estas pegas seguro que se solucionan instalándole una ROM a medida, pero ahora mismo no tengo tiempo como para ponerme a investigar este tema. Tampoco es plan de ponerse a hacer este tipo de cosas con prisas, que puedo acabar con un bonito pisapapeles…

Por lo demás, como ya dije al principio, el móvil es una pedazo de máquina. Estoy muy contento con él. Todavía no he tenido ningún cuelgue ni comportamiento extraño. Además, una cosa que me ha sorprendido es la duración de la batería; pensaba que me iba a durar menos.

Extra Bonus 1. Rootear el Samsung Galaxy S

Para terminar, aunque ya he dicho que no tengo tiempo para ponerme a trastear con ROMs, sí que lo he rooteado, que es bastante fácil y rápido. Sólo hay que:

  1. Descargar e instalar el Kies
  2. Descargar e instalar el programa SuperOneClick.
  3. Conectar el teléfono, arrancar el programa y pulsar el botón Root. Al cabo de unos segundos ya tendrás el móvil rooteado.

Extra Bonus 2. Apps útiles para migrar de tu antiguo móvil a un Android

  • Sim2Phone. Para copiar los contactos de la SIM al teléfono.
  • vCardIO. Para importar contactos de un fichero en formato vCard (vcf). Este es el que usé yo para pasar los contactos de un Sony Ericsson.
  • Import Contacts. Lo mismo que el anterior, pero con algún detalle más.

Cherokee Summit 2010

Logo del Cherokee Summit 2010
Bueno, hoy se ha hecho el anuncio oficial de que el próximo 7 y 8 de mayo tendrá lugar en Madrid (España) el primer congreso/reunión de programadores, usuarios e interesados por mi servidor web favorito.

El evento coincidirá con la liberación de la versión 1.0 de Cherokee, y además se hablará del roadmap de la versión 2.0

Dentro de unos meses cogeré mis bártulos para acudir a la cita, porque además de poder conocer en persona al resto de miembros del equipo de desarrollo y usuarios activos, podré asistir y/o participar en varias charlas sobre infraestructuras web de alto rendimiento. Seguro que aprenderé bastante… ya estoy deseando. :-)

En la página web del Cherokee Summit 2010 podréis encontrar más información sobre el evento, las charlas que se darán, cómo llegar, etc… y lo más importante: cómo apuntaros para asistir. Las plazas están limitadas a 80 asistentes, así que si estáis interesados ¡daos prisa!

Por cierto, la asistencia es gratuita.