Archivo de 'software'

Rutas en bici + Android

Hola :) Ahora que parece que el buen tiempo ha llegado para quedarse, es el momento de volver a coger la bici. Aprovechando mi nuevo teléfono, tengo la oportunidad de poder llevar un perfecto seguimiento de las rutas que hago.

Añadir rutas

Memorizar todos los caminos puede ser un poco complicado. Pero por suerte estos teléfonos traen GPS integrado. ¿Cómo podemos importar previamente nuestras rutas? Con Google Maps es muy sencillo. En primer lugar, definimos cómodamente la ruta en Google Earth desde nuestro PC:

Una vez definida la ruta, la guardamos a un fichero .kmz, pulsando sobre “Guardar lugar como…”

Ahora, desde Google Maps, y habiendo iniciado sesión con nuestra cuenta de Google, accedemos a “Mis mapas” > “Crear un mapa nuevo” > “Importar”, y seleccionamos el fichero .kmz. Establecemos un título y listo, ya tenemos la ruta lista para consultar en cualquier momento.

Ya desde Android, accedemos a Maps, pulsamos sobre el botón “Capas”, y desde ahí en “Más capas” > “Mis mapas”, podremos seleccionar cualquiera de nuestras rutas. ¡Y ya está! :) De esta forma ya no te perderás por los caminos.

Seguimientos

Existen muchas aplicaciones que realizan un seguimiento de los recorridos. Yo utilizo Endomondo, y me funciona de maravilla. De nuevo, mediante GPS, realiza un completo seguimiento del recorrido, velocidades, tiempos, realiza pausas automáticas, guarda un histórico, calorías quemadas, etc. Lo arrancas, y no es necesario que vuelvas a preocuparte hasta que finalices la ruta :) Por supuesto, sirve igualmente para recorridos a pie.

Destacaría de esta plataforma, respecto a otras, su facilidad de uso, la gran comunidad de usuarios que hay detrás, que es multiplataforma (Symbian, Android, iOs, Blackberry), altamente social y gratuito (pese a que existe una versión de pago por 2.95€).

Ahora que la batería de mi teléfono está cargada, me retiro. ¡Me espera una pequeña ruta de 20Km!

Edit. 10/04/2011 a las 19:48.
Soy un lila; hacía bastante viento (rachas de 45km/h), de modo que al final no he llegado a los 20Km. Pero como muestra de la utilidad de “compartir rutas” de Endomondo, aquí está mi práctica de hoy:

Y aquí las rachas de viento registradas hoy en el observatorio de Toledo:

Oracle – Prácticas DBD

Si alguno de vosotros se ha instalado sqlplus en casa, habrá visto que la página de descargas de oracle es un caos cuántico; decenas de descargas, arquitecturas, versiones, releases y empaquetados distintos, tarballs, debian, rpm, etc, etc, etc.

Aqui tienes la solución definitiva! Ya no tienes excusa para no instalar sqlplus en casa.
Instalaremos una versión muy reducida de oracle. Sólo lo necesario. Es decir, las librerías de oracle, y un cliente (sql*Plus). A esto se le llama instant client. Irémos a esta página http://www.oracle.com/technology/tech/oci/instantclient/index.html.

Una vez ahi, iremos a Download (jeje), seleccionaremos nuestra plataforma y arquitectura (en mi caso linux/x386), aceptamos los términos de la licencia, y nos descargamos 2 paquetetitos:

  1. Instant Client Package – Basic. Lo descomprimimos y movemos su contenido al directorio en el que tengamos las bibliotecas (/usr/lib en mi caso).
  2. Instant Client Package – SQL*Plus. Lo descomprimimos y movemos el binario al directorio en que tengamos los ejecutables (/usr/bin en mi caso).

Bien, ya casi está hecho! Ahora creamos un fichero tnsnames.ora y lo guardamos en ~/.oracle. El contenido de tnsnames.ora será este:

KYBELE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = CERBERO.ESCET.URJC.ES)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = bda)
)
)

decimos a oracle dónde encontrar ese fichero ejecutando:

export TNS_ADMIN=~/.oracle

y ya está! Para probarlo ejecutamos:

sqlplus usuario@KYBYELE

Capturas gráficas de páginas web

Hace poco en algún sitio vi que existía una aplicación llamada paparazzi para MacOSX que realizaba capturas a página web. El resultado de este tipo de capturas es muy chulo, y la utilidad que le veo es principalmente guardar un histórico de la evolución de tu página web (en mi caso).

Por fin me he decidido a buscar información sobre cómo hacer algo similar bajo Linux, y la respuesta ha sido khtml2png. Desafortunadamente el proyecto khtml2png está ya abandonado y busca alguien que lo adopte. Se me pasa por la cabeza la idea de crear un frontend con qt para que quede tan chulo como el paparazzi. En fin, un proyecto más a la lista de cosas que seguramente jamás haré. Os dejo una captura de chuso.sytes.net

Instalación de un servidor DHCP

Para hacer un poco más cómoda la administración de mi red, he instalado un servidor DHCP (Dynamic Host Configuration Protocol). Básicamente lo que va a hacer ésto, es asignar toda la información necesaria a las interfaces de red, tal como su ip, dirección de broadcast, máscara de subred, gateway, y servidores dns. De este modo, tendremos toda la información de la red centralizada en nuestro servidor, y además podremos conectar nuevos ordenadores automáticamente. Muy cómodo! :)

Instalación del servidor

Como servidor dhcp vamos a instalar el usado por el ISC. Para instalarlo:

sudo aptitude install dhcp

Ahora editamos el fichero de configuración (/etc/dhcpd.conf). Primero definimos el nombre de dominio y el dns que deben adoptar los clientes. También diremos cuál será el router (gateway) por defecto y la dirección de broadcast. Estos parametros son globales, y se aplicarán a cualquier sección dentro de este fichero:

option domain-name "chuso.sytes.net";

option domain-name-servers 192.168.1.6;

option  routers 192.168.1.1;

option  broadcast-address 192.168.1.255;

La idea es que los equipos que se conecten temporalmente a nuestra red reciban automáticamente una ip cualquiera (por ejemplo, un amigo que un dia viene con su portatil). Sin embargo, los equipos que pertenezcan a la red, deben tener siempre la misma IP.

En el primer caso especificamos la subred a la que pertenecerán (yo he elegido 192.168.1.0), la máscara de subred y un rango (yo he elegido desde 101 hasta 250).

subnet 192.168.1.0 netmask 255.255.255.0 {

        range   192.168.1.101 192.168.1.250;

}

Para los equipos de nuestra red que queremos que siempre tengan la misma ip, lo que haremos es utilizar su dirección MAC (Para conocerla escribe ifconfig y consulta el valor del campo HWaddr). Pondremos su mac en “hardware ethernet” y la ip que le corresponde en “192.168.1.5″.

host homer {

        hardware ethernet 00:00:00:00:00:00;

        fixed-address 192.168.1.5;

}

Configuración del cliente en Linux

Ahora veamos cómo hacemos que un ordenador con Linux utilice dhcp para conseguir su configuración de red; Debemos instalar dhcp-client:

sudo aptitude install dhcp-client

Y ahora tan solo debemos ejecutar dhclient en la interfaz de red que corresponda, por ejemplo:

dhclient eth0

Nos mostrará una salida similar a la siguiente:

Internet Systems Consortium DHCP Client V3.0.1

Copyright 2004 Internet Systems Consortium.

All rights reserved.

For info, please visit 

http://www.isc.org/products/DHCP

sit0: unknown hardware address type 776

sit0: unknown hardware address type 776

Listening on LPF/eth0/00:12:f0:4c:21:5d

Sending on   LPF/eth0/00:12:f0:4c:21:5d

Sending on   Socket/fallback

DHCPREQUEST on eth0 to 255.255.255.255 port 67

DHCPACK from 192.168.1.6

bound to 192.168.1.101 -- renewal in 235 seconds.

Vemos que nos ha asignado la ip 192.168.1.101, la primera del rango que hemos establecido como ips aleatorias.
Si queremos que esta configuración se aplique automáticamente, debemos editar el fichero /etc/network/interfaces, y en la configuración del interfaz de red que queramos (por ejemplo eth0) ponemos lo siguiente:

 auto eth0

 iface eth0 inet dhcp

Configuración del cliente en Windows XP

En caso de usar Windows XP, el proceso es igualmente sencillo. Entramos en las propiedades del protocolo TCP/IP, y marcamos que tanto la dirección IP como los servidores DNS se obtengan automáticamente

Para ver que todo ha ido bien, abrimos una consola y miramos la configuración actual de tcp/ip

Instalando un servidor DNS

Mi red crece de forma imparable. El numero de equipos asciende a 6. Además tenemos el router y el AccessPoint, lo que hace un total de 8 ips distintas. Históricamente para acceder a cualquiera de ellos he tenido que introducir su ip. Después pasé a un método mucho más elegante; editar el archivo /etc/hosts (y su respectivo fichero en windows) para hacer un enlace estático a una ip. Ésta última solución es muy sencilla y efectiva, y aunque para una red pequeña es suficiente, quise probar con algo más elegante y elaborado: Un servidor DNS.

Antes de entrar en detalles técnicos explicaré qué es lo que vamos a conseguir con todo ésto. Tengo 8 ips en el rango 192.168.1.X. Los apodos de mis equipos reciben nombres de personajes de los Simpson, por lo que la red se llamará “simpson”. Por ejemplo, el equipo con ip 192.168.1.5 tendrá el apodo “homer”. Para acceder a homer tendremos que poner “homer.simpson” como host en la aplicación que proceda. Fácil :)

El servidor elegido ha sido, como no, bind. Para instalarlo en mi Debian nada tan sencillo como:

aptitude install bind

Bind tiene un fichero principal llamado named.conf. Todo el fichero contiene los datos que venían por defecto, excepto la última sección:

zone "simpson" {

 type master;

 file "/etc/bind/db.simpson";

};

Como vemos, la configuración de la zona “simpson” está en el fichero /etc/bind/db.simpson, el cual es autoexplicativo:

$ttl 38400

@           IN  SOA     simpson. central.simpson. (

                        110905 ; Serial

                        86400  ; Refresh

                        7200   ; Retry

                        2592000; Expire

                        172800); Negativa Cache TTl

            TXT "simpson"

            NS  central.simpson.

            MX  20      central

bart        IN  A       192.168.1.9

central     IN  A       192.168.1.6

lisa        IN  A       192.168.1.15

homer       IN  A       192.168.1.5

otto        IN  A       192.168.1.11

abraham     IN  A       192.168.1.2

router      IN  A       192.168.1.1

wifi        IN  A       192.168.1.100

correo      IN  CNAME   central

news        IN  CNAME   central

www         IN  CNAME   central

ftp         IN  CNAME   central

pop         IN  CNAME   central

maggie      IN  CNAME   central

simpson.    IN  A       192.168.1.6

Hemos definido al equipo “central” como el principal del dominio. Este equipo será ahora accesible en “simpson”. El resto de los equipos son accesibles en “<nombreDelEquipo>.simpson”. También hemos creado alias para el equipo “central” (Ver CNAME).

Es el momento de decir que la mayoría de la información que hay en ese fichero no tengo del todo claro para qué sirve. Seguramente habrá formas más eficientes de hacer lo que yo he hecho, pero ésta es la que yo he usado y me ha funcionado.

Bueno, y ahora para terminar sólo nos quedan un par de cosas. Al principio del fichero named.conf, incluimos otro fichero llamado named.conf.options cuyo contenido es el siguiente:

options {

        directory "/var/cache/bind";

        forwarders {

                195.235.113.3;

        };

        auth-nxdomain no; //Conform to RFC1035

};

Lo que conseguimos con ésto es que nuestro pequeño gran servidor DNS también sepa traducir las direcciones que no pertenecen a nuestro dominio. Para ello, lo que hace es realizar la petición a un servidor DNS externo (cualquiera de los que uséis). Con ésto, hemos acelerado la velocidad que emplea nuestros ordenadores en obtener la ip de un determinado host, pues ahora un solo DNS sabrá resolver todas las peticiones.

Ahora para asegurarnos de que todo se actualice:

/etc/init.d/bind restart

Y si no ha habido ningún problema, ya podemos incluir la ip de nuestro servidor DNS en los /etc/resol.conf de cada equipo.

NOTA: En los equipos Windows, este servidor DNS debe ser el primario, sino, no sabrá resolver las peticiones de nuestro dominio (Me pregunto por qué ponen entonces un secundario).

generic viagra