Django 1.5 in a nutshell I

In 2011, I wrote a quick tutorial about Django 1.3. I was going to demonstrate how to write a blog in just one hour in a live code session. This time I’m in a mentoring program teaching Python and Django to a colleague so I decided to update that tutorial. Django is now in version 1.5 and you can find what is new in the release notes of the framework. Let’s code!

Seguir leyendo «Django 1.5 in a nutshell I»

Arch Linux ¡y Gnome3! sobre Virtual Box

Los que sigais este blog sabreis que ya publiqué esta guía antes. Pero como Arch Linux es una distribución muy volátil, que trata siempre de estar a la última, os dejo aquí una buena puesta al día de la Guía de Instalación de Arch Linux sobre Virtual Box cuya principal novedad es que incluye la instalación de GNOME 3.

  1. Arch Linux sobre Virtual Box 1/5: cubre las partes I y II, descripción y configuración de Virtual Box respectivamente.
  2. Arch Linux sobre Virtual Box 2/5: sólo la parte III. Trata de la instalación de Arch Linux.
  3. Arch Linux sobre Virtual Box 3/5: partes IV y V, primera ejecución y gestión de paquetes con pacman.
  4. Arch Linux sobre Virtual Box 4/5: parte VI, aplicación sudo y entorno de escritorio GNOME 3.
  5. Arch Linux sobre Virtual Box 5/5: parte VII, explicación de AUR, el gestor de paquetes yaourt y el entorno gráfico Awesome.

Teneis más información acerca de la instalación en la wiki de Arch Linux.

Django 1.3 en «cero coma» I

Puedes encontrar una versión actualizada de este tutorial en ’Django 1.5 in a nutshell I‘ para Django 1.5

Esta semana son las I Jornadas del Software Libre de la Facultad de Informática de la UCM y me toca dar un par de charlas. Una sobre lenguajes y paradigmas de programación y otra sobre framworks de programación de aplicaciones web. En especial, la charla tratará sobre Ruby on Rails y Django. De la de Rails se encargará mi compañero del Grupo de Usuarios de Línux de la Complutense y Vicepresidente de KDE España, Rafael Fernández y de la de Django, un humilde servidor.

Resulta que Rails tiene un tutorial para desarrollar una aplicación rápida de blog que presenta las principales características del framework y aunque el tutorial de Django es excelente y presenta muchas características del software, yo necesito algo más rápido, que me de tiempo a codificar en una hora que es lo que dura mi exposición.

Así que este post es eso, un tutorial rápido de Django donde desarrollar un blog muy sencillo y parecido al del tutorial de Rails, presentando las características principales del lenguaje pudiendo desarrollarse en menos de una hora. Espero que lo disfruteis.

Seguir leyendo «Django 1.3 en «cero coma» I»

usuario ALL=ALL(ALL) ALL

¿Qué significa usuario ALL=ALL (ALL) ALL?  Esta línea es muy común en las configuraciones de Linux pero qué pinta tanto ALL y qué quiere decir son cosas que poca gente sabe.

Sudo es una aplicacion de Linux que permimte ejecutar comandos como si fuéramos otros usuarios, de hecho sudo viene de «substitute user do«. La configuración de sudo, es decir, qué podemos hacer como otros usuarios y dónde, se refleja en un archivo llamado sudoers normalmente situado en el directorio /etc aunque tal archivo sólo debería modificarse mediante la aplicación visudo.

La sintaxis del archivo sudoers no es complicada pero sí bastante extensa. Podeis leerla online en el enlace anterior o en vuestros equipos consultando el manual. Aquí, sólo voy a indicar qué significa la línea que da título al post:

La clave para leer la especificación de usuarios es saber qué significa cada parte. Podríamos resumirlo en:

fulanito, en ciertos equipos, puede ejecutar los siguientes comandos como si fuera menganito; o puede ejecutar estos otros como si fuera jaimito

Traducido a la sintaxis de sudoers:

fulanito ciertos_equipos=(menganito) comandos, (jaimito) estos_otros_comandos

En definitiva:

usuario hosts=(como_quién) qué_comandos [, (como_quién) otros_comandos]...

A veces, la coma se omite pues el paréntesis de apertura sirve como separador. Si el como_quien también, indica que nos referimos a nosotros mismos.

Así que cuando especificamos usuario ALL=ALL (ALL) ALL lo que estamos diciendo es:

usuario, en todos los equipos, puede ejecutar cualquier comando (siendo nosotros mismos) y todos los comandos como si fuera cualquier usuario

Y así de fácil es la cosa.

Arch Linux sobre Virtual Box 5/5

¿Que qué es AUR? Bueno, AUR es un concepto conocido entre los usuarios de Arch Linux pero es totalmente nuevo en este manual. Nuevo e interesante.

AUR significa Arch User Repository o Repositorio de Usuarios de Arch. Es aquí donde nacen los paquetes que serán incluidos en el repositorio [community] . Sin embargo AUR no contiene paquetes, es decir, no contiene archivos que puedan ser instalados mediante pacman sino que contiene archivos que son «esqueletos de paquetes» o «instrucciones para crear paquetes» llamados PKGBUILDs.

AUR está disponible via web para realizar búsquedas y descargar PKGBUILDs.

Interfaz web de AUR para la búsqueda y descarga de PKGBUILDs
Interfaz web de AUR para la búsqueda y descarga de PKGBUILDs.

Seguir leyendo «Arch Linux sobre Virtual Box 5/5»

Arch Linux sobre Virtual Box 4/5

Esta versión actualizada del artículo contiene cambios sustanciales respecto de las primeras versiones.

En este capítulo de la serie vamos a instalar dos aplicaciones:

  • sudo. Que nos permitirá ejecutar comandos como si fuéramos superusuarios.
  • GNOME3. La última versión del popular escritorio.

Seguir leyendo «Arch Linux sobre Virtual Box 4/5»

iTouch con conectividad 3G gracias a un móvil Android baratillo

¿Sabéis lo que es el tethering? Pues yo, hasta ayer, no lo sabía.

Resulta que el tethering, del inglés tether que significa amarrar o encadenar, es una práctica por la cual un dispositivo móvil cualquiera con conexión a Internet actúa como punto de acceso para cualquier otro dispositivo convirtiéndose así en una especie de router.

Hace poco me regalaron un iPod Touch 4G que, reconozco, me ha sorprendido más de lo que imaginaba y es que Apple sabe hacer las cosas realmente cómodas de usar (quizá a veces tan fáciles y cómodas que resultan poco eficientes, pero esta es otra historia). Lo único malo que tiene el iTouch es que su funcionalidad queda gravemente mermada en ausencia de red y no hay tantos puntos WiFi abiertos por ahí.

Así que me preguntaba si no habría alguna forma de conectarlo siempre a la red y ayer, al llegar mi nuevo móvil Android ZTE Link de Yoigo y estar investigando un poco acerca de cómo rootearlo, instalar nuevas aplicaciones, utilidades y demás descubró que la versión de Android 2.2 incluye opciones de tethering así que, raudo y veloz, compruebo con disgusto cómo la versión de mi dispositivo es aún Android 2.1.

Pongámonos en situación: todo lo que voy a contar sucedió en la parte de atrás de un Santa Fe, con un portátil conectado al mechero eléctrico del coche y una conexión a Internet 3G de móvil en una pantalla de 2.8″. Os podéis imaginar…

Con la nueva palabra en mi conocimiento trato de buscar alguna aplicación relacionada en el Market de Android para así encontrar un programa llamado EasyTether Lite que no necesita permisos de superusuario, es gratis y nos permite tethering para Windows, MacOS y Ubuntu a través de USB.

El problema de este software es que es un poco engorroso porque necesita la instalación de un driver en el cliente pero vamos, la propiar aplicación del Market se descarga el cliente para el SO que elijas de manera que luego puedas pasarlo a tu ordenador e instalarlo.

Una vez instalado, con conexión a Internet en el portátil, pantalla de 15″ y teclado completo todo fue considerablemente más fácil. He de decir que no encontraba nada sobre cómo rootear el ZTE Link y esto es porque el nombre del modelo es realmente ZTE Racer o ZTE U X850.

Hay bastante información acerca de cómo rootear estos terminales (a mi me funcionó tanto SuperOneClick como Universal Androot) y una vez con los permisos adecuados solamente tuve que instalar la aplicación Barnacle del Market. Ahora con un simple click puedo activar el tethering WiFi y conectar tanto el iTouch como el portátil a la red 3G. Además, Barnacle te da opciones de NAT, control de acceso por MAC, encriptación WEP… Bastante completito, la verdad.

Sólo me falta ver cómo mantener los permisos de root de ejecución en ejecución ya que al reiniciar el móvil pierdo los privilegios de superusuario. Sin embargo Androot es un exploit que podemos instalar como una aplicación de Android y nos permite rootear / desrootear el SO como si fuera una aplicación normal y corriente.

Os avisaré cuando consiga algo más pero os recomiendo que probeis la configuración. iTouch es una PDA muy interesante y versátil (cuando disponemos de control total sobre él) y el ZTE Link es un móvil Android decente y baratujo con las ofertas de las operadoras hoy día. Una combinación que, junto con una buena oferta de datos, nos permite tener Internet en todas partes y desde cualquier dispositivo.

De cómo me cargué Windows 7 y lo recuperé al momento

¿Conocéis el comando dd de Linux? Para quien no, se trata de una utilidad de copia de datos. Especificamos el archivo de entrada, el de salida y el número de bloques que queremos copiar y ¡pum! en un instante tenemos una copia exacta de esos bloques en el archivo de salida.

Pues bien, el otro día llegó el disco duro nuevo para mi portátil (el otro hace «scratch, scratch» al arrancar). Como tiene mayor capacidad que el original y no quería reinstalar Windows pues pille un dock e-sata, lo conecte ahí y usé dd para clonar el disco duro viejo en el nuevo. Luego ya redimensionaría las particiones.

# dd if=/dev/sda of=/dev/sdb bs=1M

*Por cierto, ese último parámetro fue muy desafortunado ya que quería poder seguir manejando el ordenata mientras se hacía la copia y al final resultó que tocaba limpiar el baño y la cocina así que… Con todo, tardó 2h en copiar 320GiB.

Pues bien, resulta que he decidido cambiar a Arch Linux (ya os contaré…) e hice todo el proceso de instalación bien hasta que metí la gamba al instalar GRUB y lo copie en /dev/sda1 (y no en /dev/sda). ¿Os podéis imaginar, no? Obviamente no arrancaba y encima me había cargado los 512 primeros sectores de mi instalación Windows.

¿Cómo lo arreglé? ¡De nuevo con dd! Mi suposición fue la de pensar que de la fecha en la que hice el clon del disco hasta ahora no se habían modificado los primeros sectores de la instalación de Windows así que cogí dd y copie de vuelta los primeros 512 sectores (y ni siquiera sé si esto es cierto aunque lo que sí sé es que, como mucho, me habría cargado esta cantidad) del disco duro original que conservaré hasta que casque del todo. Luego arranqué Windows, éste hizo un chequeo de la unidad C y listo, funcionando de nuevo.

Me atrevería a pensar que llego a restaurar los sectores de otra instalación y sirve igual (ojo, no lo he hecho, no sé si funciona) pero bueno, ahí queda.

Arch Linux sobre Virtual Box 3/5

Tenemos Arch Linux instalado, ahora debemos configurar el sistema para poder trabajar con él. En este artículo comprobaremos la conexión a Internet, añadiremos un usuario no administrador y aprenderemos a usar pacman, el gestor de paquetes de Arch Linux.

¡Vamos allá!

Parte IV: primera ejecución

Inicia la máquina virtual y volverá a aparecer pantalla de bienvenida de Arch Linux.

Esta vez seleccionaremos Boot existing OS.

Pantalla de bienvenida del CD de instalación de Arch Linux
Pantalla de bienvenida del CD de instalación de Arch Linux. Ahora seleccionaremos la opción Boot existing OS

Seguir leyendo «Arch Linux sobre Virtual Box 3/5»

Arch Linux sobre Virtual Box 2/5

Parte III: instalación de Arch Linux

Por fin llegamos a la parte interesante de todo el asunto. Ya tenemos la imagen del CD de instalación de Arch Linux cargada como CD virtual y sólo queda encender la máquina.

¡Hagámoslo! Ahora, donde antes aparecía el error de la pantalla negra, encontramos la pantalla de presentación de Arch Linux invitándonos a instalar el SO.

Pantalla de inicio del CD de instalación de Arch Linux
Pantalla de inicio del CD de instalación de Arch Linux

Bastará pulsar intro para iniciar una versión live (“en vivo”) de Arch Linux. Las versiones live están de moda, son versiones reducidas y ligeras que no necesitan un disco duro: se cargan en memoria y están listas para ser usadas. Algunas, como Ubuntu, poseen hasta juegos y conexión a Internet y el programa de instalación es una aplicación más así que puedes instalar tu sistema operativo mientras te echas un solitario o navegas por Internet.

Seguir leyendo «Arch Linux sobre Virtual Box 2/5»