Ya hablamos en DiarioLinux sobre el servicio Metaposta (y como se ve en ese post, también se habló al respecto en el Parlamento Vasco). Tras leer esos documentos, no obstante, seguro que nos quedaban muchas dudas al respecto… Pues bien, los propios administradores de Metaposta han comenzado un blog, llamado METAPOSTAriak, que tiene como objetivo informar sobre este servicio, incluyendo para empezar una descripción más detallada (con ejemplos de uso que yo echaba en falta) tal y como apareció en PCWorld, y un FAQ, donde (en la segunda parte) han tenido a bien publicar la respuesta a mis preguntas 🙂 (thanks David!) Creo que es de obligada lectura para todo usuario del servicio….
Configurar el headset USB en Ubuntu
Aprovechando que me ha tocado un mes de Zattoo (gracias a i-Gente), he querido configurar mi headset (auriculares + micro) USB en Ubuntu (8.04). El sonido funciona en Rythmbox , Skype y hasta ahora en Zattoo. Pero hoy no quería funcionar… o_O
Navegando sin rumbo he encontrado la receta para solucionarlo. Basta con indicarle a Ubuntu que la tarjeta de sonido por defecto es la que incluye el headset:
Podemos ver la lista de tarjetas disponibles así:
juanan@morton:/tmp$ sudo asoundconf list
Please note that you are attempting to run asoundconf as a privileged superuser, which may have unintended consequences.
Names of available sound cards:
nForce2
Headset
UART
Y poner una por defecto (la del headset USB, por ejemplo)
juanan@morton:/tmp$ sudo asoundconf set-default-card Headset
Please note that you are attempting to run asoundconf as a privileged superuser, which may have unintended consequences.
Ya tengo Zattoo funcionando 🙂
juanan@morton:/tmp$ zattoo_player
Web Scraping: urls de ayuntamientos de Gipuzkoa
Bien, sigamos con nuestra mini–serie. Necesitamos tener una hoja de cálculo con los nombres de los municipios de Gipuzkoa en una columna y las URL de los ayuntamientos de dichos municipios en la columna adyacente. Ayer vimos que eso es viable y más o menos «automatizable», siempre que dispongamos de algún servicio que nos proporcione la URL de un municipio dado su nombre como parámetro.
La información en bruto la podemos encontrar en esta web de EUDEL. El objetivo es «recortar» esa información para guardarla en una simple tabla de una base de datos (usando MySQL como SGDB). Para ello, creamos primero el esquema de nuestra tabla municipios, donde guardaremos la información:
CREATE TABLE `municipios` (
`ID` int(11) NOT NULL auto_increment,
`nombre` varchar(200) NOT NULL default »,
`url` varchar(200) NOT NULL default »,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Un simple script PHP hará el resto:
include ("datosconexion.php"); // datos de conexión a MySQL
$municipios = "http://www.eudel.net/aNG/web/eus/est/udalerriak.jsp?nIdm=1&nId=3&sNombre=Gipuzkoa";
$linea = file_get_contents($municipios); // leemos la página de EUDEL y la guardamos en el string $linea
preg_match_all("/<li>(.*)<br><a(.*)>(.*)</a></li>/», $linea, $trozos); // expresión regular para sacar nombre_URL
$i = 0;
foreach ($trozos[1] as $nombre) { // recorremos el resultado de la expresión regular
$url = $trozos[3][$i];
$sql = «insert into municipios
set ID=», nombre=’$nombre’, url=’$url'»;
mysql_query($sql) or die(«Error:» . mysql_error()); // guardamos lo obtenido en la tabla municipios
echo $sql . «n»;
$i++;
}
?>
Una vez guardadas las tuplas (nombre, url), sólo nos queda crear el servicio php correspondiente:
include ("datosconexion.php");
//
$nombre = $_GET['municipio'];
$sql = "select * from municipios
where nombre LIKE '". mysql_real_escape_string($nombre) . "%'"; // intentando evitar ataques SQL Injection
//
$result = mysql_query($sql) or die("Error:" . mysql_error());
if (mysql_num_rows($result) > 0){
$linea = mysql_fetch_array($result);
echo $linea[‘url’];
}
?>
Ok! Todo funciona. ¿Y para qué quiero esos datos? Pronto lo veréis…
Masajeando Google Docs y Wikipedia (II)
Sigamos donde lo dejamos. El objetivo ahora es conocer la url del ayuntamiento de cada municipio de Gipuzkoa y colocar esa url en la celda correspondiente (ver imagen de la izquierda)
Para ello, necesitamos algún servicio que dado un nombre de municipio nos devuelva la url del ayuntamiento. Supongamos que tenemos uno en DiarioLinux (bueno, no supongamos, sea):
http://www.diariolinux.com/municipios/locate.php?municipio=XXXXXX
Donde XXXXXX es el nombre de un municipio (no hace falta que sea exacto… si ponemos Arrasate, nos saldrá la URL del ayuntamiento de Arrasate-Mondragón, sin problemas).
Ahora, ¿cómo decirle a Google Docs que en la celda D3 ponga la URL del municipio que indico en A3? Fácil. Nos colocamos en D3 y escribimos la siguiente fórmula:
=ImportData(«http://www.diariolinux.com/municipios/locate.php?municipio=»&A2)
¿Qué hemos hecho? Hemos construído una URL concatenando las cadenas «http://www.diariolinux.com/municipios/locate.php?municipio=» y el contenido de la celda A2 («Aduna») para formar:
http://www.diariolinux.com/municipios/locate.php?municipio=Aduna
Ese «servicio web» devuelve la url «www.aduna.net». Estiramos hacia abajo desde el manejador de la esquina inferior derecha de la celda D3 y ya tenemos nuestra hoja completita para seguir trabajando.
Epígrafe: «¿cómo has conseguido crear el servicio locate.php en DiarioLinux?» Mediante técnicas de web-scrapping que veremos mañana 😉
Linux Magazine Nov 2008
# DVD: Mandriva 2009.0
# Portada: Trucos Web: Los diseñadores web siempre andan a la búsqueda de maneras de aumentar su productividad. Este mes exploraremos trucos para conseguir páginas más efectivas
# Portada: Para Dejar Huella: Los trackbacks suponen un modo sencillo de conectarse y compartir información entre bloggers.
# Portada: Trucos con Estilo: Las Hojas de Estilo en Cascada (CSS) pueden hacer mucho más que definir el color y tipo de letra de su página Web. Os mostramos cómo implementar la potencia de las CSS en sus creaciones Web.
# Portada: Conejo Veloz: Con Jackrabbit ahorramos tiempo en el desarrollo web. Se trata de una implementación en código abierto del estándar Java Content Repository.
# Portada: Balanceado: Los requerimientos actuales de rendimiento y disponibilidad de la web hacen indispensable el balanceo de la carga. En este artículo, vamos a mostrar cómo configurar un sistema de balanceo de carga utilizando las características que vienen con el servidor web Apache.
# Evaluación: Defensa Móvil: Esta máquina Linux del tamaño de un stick USB actúa como un pequeño cortafuegos móvil.
# Evaluación: ¡Optimizado!: El último GCC 4.3 está destinado a hacerse con el mundo de la programación gracias a sus nuevas optimizaciones, al soporte experimental para la próxima generación de C++ 0x, una STL opcional de C++ concurrente, y un nuevo compilador de Java cortesía del proyecto Eclipse.
# Práctico: A lo Grande: Son muchas las empresas que aún dependen de mainframes, lo que hace más difícil que podamos echar mano de ellos e instalarles Linux. El emulador Hercules nos plantea una buena alternativa.
# Práctico: Tal Como Eramos: La herramienta Flyback, basada en rsync, crea automáticamente capturas de directorios críticos a intervalos regulares; y cualquier usuario normal puede restaurar la copia de seguridad con sólo unos clicks de ratón.
# Práctico: Muy Capaz: Si no deseamos concederle el acceso de root a cualquier programa que necesite privilegios extras, podemos utilizar las capacidades POSIX en vez de utilizar los bits «s».
# Desarollo: ¡Desarrollo Rápido!: Jose María Ruíz nos enseña como contentar al cliente que quería la aplicación con interfaz gráfica para ayer.
# Desarrollo: Portfolio: Este mes os mostramos un script en Perl que nos ayuda a dibujar gráficos de área para seguir el comportamiento de nuestra cartera de acciones.
# SysAdmin: La Máquina Lechera 2.0: El uso de SQL para obtener los datos del registro del sistema de una base de datos se conoce universalmente, pero es una solución bastante enrevesada. phpLogCon, con su interfaz web, brinda a los administradores una opción más sencilla.
# SysAdmin: Envío Certificado: Server Name Indication nos permite operar más de un servicio protegido por SSL por dirección IP.
# Linux User: Creatividad Pura: Inkscape siempre ha sido bueno, aunque ahora la versión 0.45.1 de este programa de dibujo vectorial presenta un aspecto creativo totalmente nuevo.
# Linux User: Ritmo: Originalmente inspirado en los iTunes de Apple, Rhythmbox organiza nuestra colección de música y más.
# Linux User: Trucos Mentales: Aprendemos cómo llegar a dominar las funcionalidades avanzadas de la aplicación de mapeo mental FreeMind para sacarle todo su jugo a esta útil herramienta.
# Linux User: Trileros: Un juego de azar con Squeak que te puede dejar sin blanca.
# Linux User: Sus Labores: ¿Qué está pasando en nuestra máquina Linux? Varios comandos de la shell nos dan detalles sobre los procesos del sistema y nos ayudan a controlarlos.
# Linux User: Adanaxis: Aquéllos que carezcan de «visión 3D» quizás no deberían embarcarse en este viaje interestelar pilotando la peculiar nave de Adanaxis, capaz de moverse libremente en 4 dimensiones.
# Comunidad: El Consultorio De Klaus: Si tienes algún problema de configuración, o simplemente quieres conocer mejor cómo funciona Linux, pregúntale a Klaus Knopper, el creador de Knoppix. Este mes: Dos tarjetas de audio, Linux Raid y FTP.
# Comunidad: Linux Legal: Jose María Lancho, fundador de LegalVenture y secretario de HispaLinux, responde a las dudas legales de los lectores. Este mes: El estado de la GPl en los tribunales.
# Comunidad: Perro Viejo: Jon «Perroloco» Hall se presenta a sí mismo y nos comenta su nueva columna sobre la comunidad.