Conectar con una base de datos MySQL desde Python (I)

1480896754_pythonCuando programaba (aún lo hago) aplicaciones web, utlizaba las utilidades PHP para conectar con bases de datos y poder tener la interacción con los datos que me hiciera falta en ese momento. Nunca había pensado que MySQL se pudiera utilizar fuera de las aplicaciones web. Pues resulta que gracias a mi nueva tarea de doctorando, estoy obligado a extraer datos de un servidor MySQL, pero no desde el gestor PHPMyAdmin que uso habitualmente, sino desde consola. Ya he experimentado con la conexión vía bash, pero necesito algo más versátil, así que hoy pensé en Python.

Existen varias maneras de conectar Python con un servidor MySQL, como vemos en los comentarios de los usuarios de StackOverflow. Después de haber investigado algo más, y de probar yo mismo desde la consola con Python, me decantaré por las dos maneras más usuales: MySQLdb y mysql connector.

Continuar leyendo “Conectar con una base de datos MySQL desde Python (I)”

Mi Raspberry Pi 2 (II): media center con Kodi

1456084125_CassetteComo ya comenté en el anterior post, mi intención es utilizar mi Raspberry Pi en todos los proyecto que se me ocurran (y que pueda soportar el dispositivo). Aparte del de hacer copias de seguridad, está el de convertirlo en un media center mejor que el que ya tengo. Para ello recurrí a los múltiples manuales que hay en Internet, y encontré en Malagueños originales y libres que en lugar de optar por Raspbian o OpenELEC (es decir, una distro multipropósito versus una distro dirigida a tener un media center), podríamos tener nuestra Raspberry Pi funcionando con una distro Raspbian, y sobre ella instalar Kodi. Kodi es como se conoce al antiguo Xbox Media Center” o XBMC, un centro multimedia (media center) de entretenimiento multiplataforma bajo la licencia GNU/GPL.

Continuar leyendo “Mi Raspberry Pi 2 (II): media center con Kodi”

Mi Raspberry Pi 2 (I): configuración básica

1456084196_raspberryPor fin me ha llegado mi Raspberry Pi 2. Aunque la configuración y puesta en marcha se hace muy rápidamente (aproximadamente un tarde, y sin tener que buscar mucho: hay multitud de manuales, tutoriales y vídeos circulando por ahí), no quiero dejar pasar la oportunidad de escribir los pasos que me han llevado a dejarla a mi gusto. Supongo que en los próximos días ampliaré este tema y escribiré más posts acerca de ello, ya que tengo pensamiento de darle más usos a mi Raspberry Pi, aparte de ser el Media Center que siempre he querido tener.

Continuar leyendo “Mi Raspberry Pi 2 (I): configuración básica”

Un netbook como servidor (IV)

1454291621_12-lan-connected-512x512La configuración wake on lan del ASUS EeePC 701 es un poco complicada, pero no imposible. Me ha costado un poco, sobre todo porque la única web que encontré al respecto estaba en francés. A continuación pondré los pasos que seguí para poder activar esta característica en mi netbook/servidor.

Activar la opción Wake On LAN en la BIOS

El notebook ASUS EeePC 701 no tiene esta opción en la BIOS, con lo que aparentemente es imposible activarla. Sin embargo, está escondida, por lo que sí se puede activar. Al iniciar el netbook, pulsamos F2 para entrar en la BIOS

IMG_8698

 

Continuar leyendo “Un netbook como servidor (IV)”

Un netbook como servidor (III)

Continúo con las pequeñas incidencias con las que me encontré al instalar un servidor GNU/Debian en un netbook. En el anterior post mencionaba la instalación del servidor SSH y asignar una IP fija y nombre de host reconocible y que pudiera recordar. Pero me encontré con algún problema más:

  1. Apagar la pantalla TFT o LCD, ya que no la voy a utilizar
  2. Evitar que entre en suspensión al bajar la tapa del netbook
  3. Configurar Wake on LAN en el netbook

Continuar leyendo “Un netbook como servidor (III)”

Un netbook como servidor (II)

1454273012_cloud-laptopDurante el tiempo que estuve configurando mi viejo EeePC 701 como servidor casero, me encontré con varios problemas que tuvieron su solución. Esto contrasta con la variedad de soluciones y tutoriales que circulan para montar un servidor en una Raspberry Pi. Cada portátil, laptop o netbook tienen sus peculiaridades, no siempre bien documentadas, por lo que hay que echarle imaginación, inventiva y paciencia para buscar en Internet la solución a un determinado problema.

Los pasos básicos que di para llegar a convertirlo en servidor están en esta entrada de 2011, pero que no se diferencia en prácticamente nada a la instalación que hice en mi propio netbook.

Continuar leyendo “Un netbook como servidor (II)”

Un netbook como servidor (I)

1454269955_laptopLlevo tonteando con adquirir una Raspberry desde que leí un facilísimo tutorial sobre cómo montar un NAS (Network Attached Storage) en Debianhackers. Me parece muy interesante la idea de tener un servidor de muy pocos recursos en casa, permanentemente encendido para servir archivos, hacer copias de seguridad, o usar de servidor multimedia. Mis miedos se dirigían hacia el consumo de recursos y a tener un disco duro permamentemente encendido.

Ambos problemas tienen solución. Probablemente, una Raspberry Pi consume tanto como un router o un switch conectado a la red. Apenas hace ruido (no tiene ventiladores: menos ruido, menos consumo) y tiene una altísima conectividad (HDMI, USB, etc). Es la placa ideal para tener un servidor casero, por no hablar del mínimo espacio que ocupa.

Continuar leyendo “Un netbook como servidor (I)”

¿Por qué montar un servidor casero? (II)

1454174840_cmyk-03Desde hace tiempo me viene rondando la cabeza la posibilidad de montar un servidor casero. Ya en 2007 hice mis primeros intentos con lo que se convirtió finalmente en este blog. Utilicé hardware antiguo (un Pentium 200 con 96 Mb de RAM) y un módem ADSL para conectarlo desde el exterior. La experiencia fue buena, pero poco a poco dejé de utilizar sus servicios FTP, P2P y correo para utilizarlo únicamente como servidor web para el blog.

Con el auge de Rasperry Pi, montar un servidor casero es barato y muy sencillo. La cantidad de proyectos para servidores pequeños y baratos es casi infinita, porque depende únicamente de la imaginación de cada uno. No hay que olvidar que una Raspberry Pi no es más que una CPU completo, con su memoria, su micro, y sus entradas y salidas, que podremos utilizar como un ordenador (computadora) con pocas exigencias de mantenimiento y de espacio.

Continuar leyendo “¿Por qué montar un servidor casero? (II)”

¿Por qué montar un servidor casero? (I)

1454265099_cloudAunque tengo preparadas dos entradas (al menos), después de esta sequía de posts, esta primera entrada dedicada a los servidores caseros la quiero utilizar para reflexionar sobre estos dispositivos, y si nos hacen falta o no. Es cierto que en nuestras casas tenemos múltiples dispositivos (televisiones, ordenadores de sobremesa, portátiles, móviles, consolas de videojuegos) que son en sí mismos pequeños ordenadores (todos con su CPU, su sistema operativo y su conexión a una red), y que el tenerlos conectados nos ofrece grandes ventajas. Este post reflexiona sobre la necesidad de tener un servidor casero que centralice datos, que conecte todos los dispositivos entre sí, y que sea capaz de cubir las necesidades del mundo interconectado en el que vivimos.

Para geeks como yo, tener un servidor es una tarea tremendamente interesante, al que le sacamos un valor añadido cada vez que nos proponemos un proyecto con él (copias de seguridad, compartir ficheros, servidor multimedia), pero los menos interesados en esto de la informática se asustan al escuchar la jerga referente a servir archivos.

Continuar leyendo “¿Por qué montar un servidor casero? (I)”

Ejecutar comandos de Linux mediante Python

1429409720_application-x-pythonComo opinión personal, y sin que sea el motivo de crear una disputa entre unos y otros, creo que PHP es más tolerante a errores que Python. Claro, que digo esto porque llevo únicamente un par de semanas dedicado a Python, y aunque como lenguaje de programación me parece sencillo de usar y aprender, creo que escupe errores constantemente, y que a veces encontrar el error no es tan intuitivo como pudiera parecer.

Pero una vez mencionada mi opinión personal, es hora de ponerme al tema del post. Resulta que he encontrado como incentivo para aprender Python el uso de este lenguaje en todos mis scripts de shell que tengo para mantenimiento de mis sistemas. En ocasiones, me doy cuenta que lo que en un script de shell me lleva únicamente 4-5 líneas, en Python me lleva casi el triple, y sin dejar de escupirme errores en la consola. Visto desde el lado bueno, no sólo aprendo a usar Python, sino que si en alguna ocasión necesito complicar el script, posiblemente Python me ofrezca más potencia para hacerlo.

He comenzado a pasar mis scripts a Python, pero sin fijarme en la versión del mismo. Resulta que cuando me di cuenta, estaba programando en Python 2, cuando prácticamente todo el mundo programa ya en Python 3. Esto es importante porque el módulo que se utiliza para usar la línea de comandos está obsoleto en Python 3. Aun así, lo explicaré para ambas versiones.

Continuar leyendo “Ejecutar comandos de Linux mediante Python”