Skip to content

Blogs&Twitter Valladolid

31-Dec-07

El próximo 3 de enero a las 21:00 se va a celebrar, en el Coco Café, el Blogs&Twitter Valladolid. Lo han organizado el Consejo Provincial de la Juventud de Valladolid y 5líneas, y como comenta Daniel:

[...]pensábamos que ya era hora de organizar algún evento para bloggers, twitteros, flickeros, fotobloggers, podcasters y resto de las tribus digitales en Valladolid y provincia.

Será la ocasión perfecta para conocernos, poner cara a amigos de la red, compartir ideas y, en definitiva, charlar de los temas que nos interesan y tenemos en común.

La verdad es que me alegra que se celebre algo así en Valladolid, y es una buena oportunidad para conocer (no sólo virtualmente) a aquellas personas que sigues por sus blogs, por twitter, por flickr, etc… Si estás interesado, apúntate en este wiki. Allí nos vemos :)

Viaje en el tiempo

27-Dec-07

Si vamos más despacio, retrocederemos en el tiempo.

Teniente Waters (Lágrimas del Sol, 2003)

Aumentando la movilidad

26-Dec-07

Como he comentado en una entrada anterior, uso Yoigo para acceder a Internet cuando viajo, y después de las nuevas tarifas también lo estoy usando para realizar llamadas. Me parece muy interesante aumentar la movilidad de una persona, en lo que a conexión de Internet se refiere. No estar preocupados de si vamos a poder conectarnos o no al sitio al que vayamos, el siempre conectados que comenta Error500.

Por eso, detallo a continuación la forma de usar un móvil como módem desde un portátil. Lo que he usado como ejemplo son un portátil con GNU/Linux como sistema operativo, concretamente Archlinux, un móvil Nokia N70 con una tarjeta de Yoigo. Explicaré cómo conectarlos mediante bluetooth.

Lo primero que tenemos que hacer es instalar los paquetes necesarios: bluez-utils, bluez-libs y dbus (ppp también es necesario, pero suele venir instalado por defecto).

pacman -S bluez-utils bluez-libs dbus

Arrancamos los demonios dbus y bluetooth:

/etc/rc.d/dbus start
/etc/rc.d/bluetooth start

Escaneamos en busca de dispositivos bluetooth:

hcitool scan
Scanning ...
      00:19:2D:14:55:5D       N70

Ahora tenemos la dirección MAC del bluetooth del móvil. Volvemos a hacer un escaneo, esta vez para comprobar qué canal hay que usar para usar el móvil como módem (Dial-Up Networking).

Inquiring ...
Searching for DUN on 00:19:2D:14:55:5D ...
Service Name: Dial-Up Networking
Service RecHandle: 0x10007
Service Class ID List:
 "Dialup Networking" (0x1103)
Protocol Descriptor List:
 "L2CAP" (0x0100)
 "RFCOMM" (0x0003)
   Channel: 3
Language Base Attr List:
 code_ISO639: 0×454e
 encoding:    0×6a
 base_offset: 0×100
Profile Descriptor List:
 “Dialup Networking” (0×1103)
   Version: 0×0100

La línea que nos interesa es la que contiene Channel, y en ella obtendremos el canal que usa como módem. En el caso del N70 es el canal 3.

Editamos el fichero del demonio HCI (/etc/bluetooth/hcid.conf) y establecemos las siguientes opciones:

autoinit yes;
security auto;

Mi fichero de configuración queda como sigue:

# HCId options
options {
   # Automatically initialize new devices
   autoinit yes;

   # Security Manager mode
   #   none - Security manager disabled
   #   auto - Use local PIN for incoming connections
   #   user - Always ask user for a PIN
   #
   security auto;

   # Pairing mode
   #   none  - Pairing disabled
   #   multi - Allow pairing with already paired devices
   #   once  - Pair once and deny successive attempts
   pairing multi;

   # Default PIN code for incoming connections
   #passkey "BlueZ";
   passkey "1234";
}

# Default settings for HCI devices
device {
   # Local device name
   #   %d - device id
   #   %h - host name
   name "BlueZ (%h)";

   # Local device class
   class 0x3e0100;

   # Default packet type
   #pkt_type DH1,DM1,HV1;

   # Inquiry and Page scan
   iscan enable; pscan enable;

   # Default link mode
   #   none   - no specific policy
   #   accept - always accept incoming connections
   #   master - become master on incoming connections,
   #            deny role switch on outgoing connections
   lm accept;

   # Default link policy
   #   none    - no specific policy
   #   rswitch - allow role switch
   #   hold    - allow hold mode
   #   sniff   - allow sniff mode
   #   park    - allow park mode
   lp rswitch,hold,sniff,park;
}

Después de terminar con la configuración de HCI, tenemos que editar el fichero de RFCOMM, añadiendo una sección para el dispositivo rfcomm0. El fichero quedaría como sigue:

rfcomm0 {
       # Automatically bind the device at startup
       bind yes;

       # Bluetooth address of the device
       device 00:19:2D:14:55:5D;

       # RFCOMM channel for the connection
       channel 3;

       # Description of the connection
       comment "GPRS dialup N70";
}

Evidentemente, habrá que cambiar las opciones device y channel dependiendo del móvil.

Ahora, editamos el fichero /etc/rc.d/bluetooth y hacemos que rfcomm se inicie cuando arranque el bluetooth:

RFCOMM_ENABLE="true"

Reiniciamos el servicio bluetooth:

/etc/rc.d/bluetooth restart

Lo último que tenemos que hacer es configurar wvdial (/etc/wvdial.conf, o si queremos que sea accesible únicamente por nuestro usuario $HOME/.wvdialrc)

[Dialer YoigoBT]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,”IP”,”internet”
Modem Type = USB Modem
Baud = 460800
New PPPD = yes
Modem = /dev/rfcomm0
ISDN = 0
Phone = *99***1#
Username = “internet”
Password = “internet”
Stupid Mode = 1
Ask Password = 0
Dial Command = ATDT
Compuserve = 0
Force Address =
Idle Seconds = 3000
DialMessage1 =
DialMessage2 =
Auto DNS = 1

A partir de este momento, lo único que tendríamos que ejecutar cada vez que quisiésemos acceder a internet usando como módem un móvil Yoigo es:

wvdial YoigoBT

En caso de que estemos con un portátil y queramos ahorrar algo de batería, es recomendable hacerlo con el cable USB del móvil conectado al portátil, así que deberíamos añadir lo siguiente a wvdialrc:

[Dialer YoigoUSB]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,”IP”,”internet”
Modem Type = USB Modem
Baud = 460800
New PPPD = yes
Modem = /dev/ttyACM0
ISDN = 0
Phone = *99***1#
Username = “internet”
Password = “internet”
Stupid Mode = 1
Ask Password = 0
Dial Command = ATDT
Compuserve = 0
Force Address =
Idle Seconds = 3000
DialMessage1 =
DialMessage2 =
Auto DNS = 1

Y ejecutar

wvdial YoigoUSB

Para el intercambio de ficheros entre el móvil y el portátil mediante bluetooth yo uso Kbluetooth (para KDE).

¡Felices fiestas!

25-Dec-07

Desde este blog os deseo unas felices fiestas y os doy las gracias a todos por estar ahí.

Aprovecho también para comentar una página que encontré hace unos días vía Digg. Se llama Human Calendar y es idea de Craig Giffen, que cuenta que se le ocurrió en medio de un viaje en bicicleta que hizo en 2002 alrededor del continente australiano, y consiste en un calendario en el que varios “modelos” -amigos- sostienen carteles indicando el día, el mes y el año. En la imagen se ve como queda el calendario:

También permite importarlo a páginas personales, blogs, a MySpace y está implementándolo para que sea posible en el Dashboard de Mac OS X y en Windows Vista, con lo que tendríamos el día en el que nos encontramos en ese formato. La opción que he elegido es la de una imagen de 3×3 de 275px y se ve como sigue:

Descargas legales

18-Nov-07

No pasa nada. Podéis bajar lo que queráis del eMule. Pero no lo vendáis.

Jorge Martín, Jefe del Grupo de Seguridad Lógica de la Brigada de
Investigación Tecnológica de la Comisaría General de Policía Judicial
.
(durante su ponencia en el Congreso de Webmasters)
Vía Microsiervos

Teoría y práctica

10-Nov-07

La teoría es cuando sabes algo, pero no funciona.
La práctica es cuando algo funciona, pero no sabes porqué.
Los programadores combinan teoría y práctica: Nada funciona y no saben porqué.

Dicho informático

Yoigo empieza a marcar la diferencia

05-Nov-07

Vía Yoiggers, me enteré hace unos días de la nueva tarifa de Yoigo, llamadas gratuitas entre usuarios de Yoigo (sí cobrarán 12 céntimos por el establecimiento de llamada).

Hace unos meses escribí el porqué había decidido coger una línea con Yoigo. Me interesaba, sobre todo, la tarifa de datos que tienen para poder conectarme a Internet cuando viajo, bien desde el móvil o desde el portátil.

La verdad es que este nuevo movimiento por parte de Yoigo me ha gustado. Tiene unas tarifas bastante claras y las más baratas. No hay que estar preocupado por esas supuestas tarifas planas de otras operadoras (que siempre tienen alguna limitación). Y ahora me planteo si usar también la línea de Yoigo para las llamadas, y dejar las ridículas tarifas de otras operadoras en las que hay que estar pendiente de la hora a la que se llama, del tipo de contrato, etc.

El problema que veo es que todavía no tienen buena cobertura. En Madrid y Valladolid no he tenido problemas, salvo en interiores de casas, y además tienen cobertura 3G. En cambio, en Oviedo o Santa Cruz de Tenerife me he quedado literalmente tirado en un par de ocasiones, en las que el móvil no lograba conectarse a la red. Una de las veces estuve 4 días sin cobertura, aunque he de decir, en su defensa, que cuando resucitó fué con cobertura 3G (supongo que estaban ampliando su red, poniendo antenas propias, para dejar de depender del roamming que tienen contratado con Vodafone).

Sólo espero que en poco tiempo mejoren la eficiencia de su red, para usar únicamente la línea que tengo con ellos. Creo que puede ser la empresa que marque la diferencia y así, a lo mejor, el resto de operadoras se pondrán las pilas y empezarán a ofrecer tarifas más razonables.

Usar una partición NTFS desde Mac OS X

03-Nov-07

Hace poco he tenido que pasar unos ficheros desde un mac mini a un disco duro externo con una partición NTFS. En Linux lo suelo hacer con FUSE y el driver NTFS-3G. FUSE (File-system in USErspace) permite implementar un sistema de ficheros, totalmente funcional, en el espacio de usuario. El driver NTFS-3G permite operaciones de lectura y escritura sobre un sistema de ficheros NTFS y es estable desde febrero de este año (después de doce de desarrollo).

Un empleado de Google, Amit Singh, ha creado MacFUSE, que unido al driver NTFS-3G hará posible que podamos usar ese tipo de particiones desde nuestro mac. Los pasos a seguir son los siguientes:

Descargamos MacFUSE y lo instalamos. Tienen una versión para Tiger y otra para Leopard.

Hacemos lo mismo con el driver NTFS-3G. Yo he descargado la opción Mac OS X Binary Package, que también es compatible con las versiones 10.4 y 10.5 de Mac OS X.

Si hemos conectado el disco duro externo deberíamos ver algo como lo siguiente:

rcmac:~ rafacas$ diskutil list
/dev/disk0
#:              type name               size      identifier
0:  GUID_partition_scheme               *74.5 GB  disk0
1:               EFI                    200.0 MB  disk0s1
2:         Apple_HFS Macintosh HD       74.1 GB   disk0s2
/dev/disk1
#:              type name               size      identifier
0: FDisk_partition_scheme               *74.5 GB  disk1
1:      Windows_NTFS NEWTEKS            74.5 GB   disk1s5

En mi caso, la partición NTFS es disk1s5. La desmontamos.

rcmac:~ rafacas$ diskutil unmount disk1s5
Volume disk1s5 unmounted

Creamos una carpeta, y en ella montamos la partición

rcmac:~ rafacas$ mkdir /Volumes/NTFS

rcmac:~ rafacas$ sudo /usr/local/bin/ntfs-3g /dev/disk1s5 /Volumes/NTFS/ -o pingarb,volname="NTFS"
kextload: /System/Library/Filesystems/fusefs.fs/Support/fusefs.kext loaded successfully

Con esto ya tenemos montada la partición, lista para usarse.

Si la vamos a usar con cierta frecuencia, podemos crear un script con lo que hemos hecho antes. Llamaremos al fichero NTFS.sh:

#!/bin/bash
diskutil unmount disk1s5
mkdir /Volumes/NTFS
/usr/local/bin/ntfs-3g /dev/disk1s5 /Volumes/NTFS/ -o pingarb,volname="NTFS"

Le damos permisos de ejecución

chmod a+x NTFS.sh

Cada vez que queramos usarlo, ejecutaremos

./NTFS.sh

Si la vamos a usar siempre, lo único que tenemos que hacer es añadir el script al arranque.

Home, sweet home

03-Nov-07

Ah, otra cosa, lo que usted llama infierno, él lo llama hogar.

Coronel Trautmant (Rambo II)

Dual head en Linux

30-Sep-07

Hace poco he instalado GNU/Linux en el portátil de la empresa y una de las cosas que he tenido que configurar son los dos monitores que uso (normalmente se le llama dual head). Uno es el del portátil (con una resolución de 1280×800) y un TFT de 17” (de 1280×1024). La verdad es que nunca había necesitado hacer esto y por lo tanto no sabía si era fácil o difícil, lo único que me sonaba era que con Xinerama se conseguía.

Los primeros intentos con Xinerama no funcionaron. El problema era que la pantalla del portátil es panorámica (16:9) y la del TFT es normal (4:3) y ahí es donde se volvía loco. Podía usar resoluciones distintas pero con la misma relación de aspecto en los dos monitores, o bien 16:9 ó 4:3, pero nunca mezclarlas.

Buscando soluciones por Internet encontré XRandR, que es una librería que permite cambiar el tamaño y rotar la pantalla, y además funciona bien con las tarjetas de Intel, que es la que trae el portátil. El problema es que la versión estable de Xorg todavía no soporta las opciones que se necesitan, por lo que hay que instalar una versión beta. En mi caso, que uso Archlinux, se haría de la siguiente forma:

Primero hay que actualizar a las últimas versiones estables varios protocolos de las X.

# pacman -S xproto glproto inputproto

Luego, actualizaremos un par de paquetes, también relacionados con las X.

# pacman -S libxi libdrm

Instalamos la última versión de Xorg (actualmente, en los repositorios de Arch, está la versión 1.4)

# pacman -S testing/xorg-server

Una vez hecho esto deberíamos tener las X funcionando correctamente. Ahora nos falta instalar los nuevos drivers de intel (que actualmente corresponde a la versión 2.1.1)

# pacman -S testing/xf86-video-intel

Por último instalamos xrandr (versión 1.2.2)

# pacman -S testing/libxrandr

Si ejecutamos xrandr, con los dos monitores encendidos, obtenemos lo siguiente:

$ xrandr
Screen 0: minimum 320 x 200, current 2560 x 1024, maximum 2560 x 1024
VGA connected 1280x1024+1280+0 (normal left inverted right x axis y axis) 312mm x 234mm
1280x1024      64.9*
1152x864       75.0
1024x768       70.1     60.0
832x624        74.6
800x600        72.2     75.0     60.3     56.2
640x480        75.0     72.8     66.7     60.0
720x400        70.1
LVDS connected 1280x800+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1280x800       60.2*+   85.0     75.0     70.0     60.0
1280x768       85.0     75.0     70.0     60.0
1280x720       85.0     75.0     70.0     60.0
1152x768       54.8
1024x768       85.0     75.0     70.1     60.0
832x624        74.6
800x600        85.1     72.2     75.0     60.3     56.2
640x480        85.0     72.8     75.0     59.9
720x400        85.0
640x400        85.1
640x350        85.1
TV disconnected (normal left inverted right x axis y axis)

Indica que el monitor TFT está conectado (VGA) y el del portátil también (LVDS). También indica los modos permitidos y cuáles tiene por defecto (los marcados con *).

Los cambios que hay que hacer en el fichero xorg.conf son muy sencillos, lo único que hay que añadir es el parámetro Virtual dentro de la subsección Display (perteneciente a la sección Screen). En mi caso, el fichero queda de la siguiente manera:

Identifier "Monitor"
Option "DPMS" "true"
HorizSync    28.0 - 96.0
VertRefresh  50.0 - 75.0
EndSection

Section "Device"
Identifier  "Intel card"
Driver      "intel"Section "Monitor"
Option      "XAANoOffscreenPixmaps"
VendorName  "Intel Corporation"
BoardName   "Intel Corporation Mobile 945GM/GMS/940GML"
EndSection

Section "Screen"
Identifier "Screen"
Device     "Intel card"
Monitor    "Monitor"
DefaultColorDepth 24
SubSection "Display"
  Depth     24
  Modes "1280x800" "1024x768" "800x600" "640x480"
  Virtual 2560 1024
EndSubSection
EndSection

En Virtual, lo que hay que especificar es el tamaño del escritorio real. En este caso, quería poner los monitores en horizontal, uno al lado del otro, por lo tanto sería 2560 de ancho (1280 + 1280) y de alto 1024. En caso de haberlos querido poner uno encima del otro la resolución a poner en Virtual sería 1280×1824.

Como hay veces que uso el portátil sin el segundo monitor, he creado un script que se ejecuta al iniciar KDE y que lo único que hace es comprobar si está conectado o no. En caso de estarlo configura las resoluciones y las posiciones de los dos monitores.

#!/bin/bash
if xrandr -q | grep -q  "VGA connected"; then
xrandr --output LVDS --mode 1280x800 --output VGA --mode 1280x1024 --right-of LVDS
else
xrandr --output VGA --off --output LVDS --mode 1280x800
fi