Resetear autoincremento en MySQL

La posibilidad de generar valores automáticos para nuestras claves primarias gracias a la propiedad: AUTO_INCREMENT presente en muchos sistemas gestores de bases de datos modernos, es además de cómodo, seguro para quien lo implementa.

Sin embargo, en caso de borrar todos los datos de una tabla y volver a introducirlos, el valor del campo con AUTO_INCREMENT activado, en lugar de empezar desde 1, seguirá con la cuenta anterior. Esto es un detalle sin mucha importancia en algunos casos, pero que en algunas implementaciones puede dar problemas. Imaginemos una tabla con 10 registros con valores para su clave primaria numérica comprendidos entre 65 y 74. Sería por lo menos raro. read more

Leer más » 7 Comentarios

Acceder a la WiFi del vecino en 3 minutos

Con este videotutorial que me encuentro en LifeHacker y usando la distribución BackTrack podremos conocer la vía para romper una clave WEP y acceder a una red protegida.

Se encuentra en inglés, pero no te preocupes que el idioma no es un impedimento si no lo conoces, ya que a través de las capturas e imágenes es bastante atendible y podrás llevar a cabo todos los pasos.

read more

Leer más » 5 Comentarios

Instalar y configurar Django manualmente desde el repositorio

Aunque en la entrada de la presentación de Django se habla de la instalación del framework, a través de dos métodos: script install.py e instalación de paquete desde el repositorio; vamos a explicar otro método más, algo más largo pero a la vez más compatible. Nos quita la limitación del paquete de que la versión no sea la más reciente (limitación que no tiene el método de instalación con install.py).

Doy por supuesto que tenéis instalado Python en vuestro equipo.

  1. Nos dirigimos a nuestro directorio $HOME
  2. Descargamos la última revisión del proyecto: svn co http://code.djangoproject.com/svn/django/trunk/ djtrunk
  3. Averiguamos cuál es el directorio en el que Python guarda los paquetes:  python -c “from distutils.sysconfig import get_python_lib; print get_python_lib()”
  4. Nos dirigimos al directorio que nos indique y creamos un fichero de nombre django.pth (el fichero podéis crearlo con nano mismo nano django.pth).
  5. En dicho fichero indicamos sólo una línea con el directorio en el que hemos descargado el código de Django (en nuestro caso será /home/miusuario/djtrunk).
  6. Añadimos a la variable PATH la ruta de los binarios de Django:
    1. Editamos el fichero con las variables de entorno /etc/environment
    2. Añadimos a la variable PATH la ruta: PATH=”lo_que_haya_antes: $HOME/djtrunk/djtrunk/django/bin”

    Ya podemos probar la instalación de Django. Podéis probar a importar el módulo Django desde Python o podéis probar a crear un sitio y lanzar el servidor de prueba: read more

Leer más » 2 Comentarios

Conocer Django: presentación, introducción y ejemplo de desarrollo

A lo largo de la presentación que adjuntamos en este enlace y con motivo del trabajo voluntario planteado en las prácticas de Programación Avanzada, José Antonio Sánchez Pallero y yo, hemos tratado de transmitir una idea general acerca de Django, el framework libre basado en Python orientado a la creación rápida de aplicaciones web. Al final del mismo y para completar la explicación, presentamos un pequeño ejemplo de desarrollo haciendo uso de esta herramienta.

Toda persona que haya tenido contacto con el desarrollo web, sabrá de los inconvenientes que crean temas como: el control de las entradas del usuario, la interacción con la base de datos, la creación de direcciones amigables para los buscadores (tan necesario para el SEO), la modificación de las estructuras de datos una vez creadas o la definición de distintos roles de permisos para los usuarios del sistema. read more

Leer más » 15 Comentarios

Comprender el funcionamiento de juegos en Linux [parte 3/3]

Esta entrada es la continuación de la serie Juegos en Linux. Parte 1 y Juegos en Linux. Parte 2. Por lo que os recomiendo su lectura antes de continuar la del presente. Así, pasamos a través de este tercer capítulo a describir detalladamente que opciones de configuración de nuestros sistemas para prepararlos de cara a las pruebas de rendimiento. Linux (Arch Linux) vs Windows 7.

Una de las ventajas de Linux es que existen cientos de distribuciones donde elegir, en esta caso y para la prueba que vamos a realizar vamos a usar Arch Linux (64-bit) por diversas razones. En primer lugar, el sistema base de Arch es bastante reducido y no vienen con paquetes preconfigurados. Esto evitará que nos planteemos si existe algún proceso en background que se esté ejecutando y en consecuencia afectando al rendimiento del juego en las pruebas que vamos a realizar. read more

Leer más » 2 Comentarios

Instalar y configurar Apache como servidor de ASP.NET con Mono

Si hace unos días hablábamos de la posibilidad de ejecutar aplicaciones ASP.NET en nuestro equipo Linux con XSP, hoy traemos la que podría ser la segunda parte de ese artículo: hacer esto mismo pero con Apache y mod_mono.

¿Por qué escoger este binomio en lugar de XSP? La respuesta es fácil: XSP es un servidor de pruebas, no de producción y si queremos tener un servicio o aplicación web ejecutando de forma decente en producción, mejor utilizar Apache y mod_mono. Las razones no son sólo por la escalabilidad y eficiencia que permite Apache, sino que están relacionadas por la seguridad que provee el servidor más utilizado a nivel mundial y por la gran variedad de opciones que nos ofrece. read more

Leer más » 4 Comentarios

Empezar a programar en Pygame

A través de esta entrada vamos a introducirnos en el mundo del desarrollo de aplicaciones gráficas usando una librería llamada pygame que nos proporciona las herramientas necesarias para crear de forma relativamente sencilla nuestros juegos en el lenguaje de programación Python.

¿Qué es Pygame?

Pygame es un conjunto de módulos que nos ayudan a crear videojuegos o aplicaciones gráficas (no necesariamente videojuegos) en dos dimensiones. Pygame incluye gráficos y bibliotecas de sonido diseñados para ser utilizados directamente bajo Python. Está construido bajo Simple DirectMedia Layer (SDL), que a su vez son un conjunto de bibliotecas desarrolladas en lenguaje C, proporcionando las funciones básicas para realizar operaciones de dibujado 2D, gestión de efectos de sonido y música, y carga y gestión de imágenes. De esta manera, a través de Pygame podemos abstraernos de la lógica del juego (o aplicación) en si mismo, haciendo posible el uso de un lenguaje de alto nivel como Python para estructurar el juego. read more

Leer más » 7 Comentarios

Comprender el funcionamiento de juegos en Linux [parte 2/3]

Esta entrada es la continuación de Juegos en Linux. Parte 1. Para lo que lo que os recomiendo su lectura. Así, pasamos a través de este segundo capítulo a describir detalladamente que opciones de emulación se nos presentan a la hora de ejecutar Juegos en Linux.

Ahora que tenemos una visión general de Wine es el momento de profundizar un poco en las aplicaciones que ya comentamos antes, Cedega y CrossOver. Los dos objetivos principales de ambas es ofrecer soporte a juegos adicionales y una interfaz de usuario más amigable que el que actualmente ofrece el proyecto Wine. read more

Leer más » 4 Comentarios

Comprender el funcionamiento de juegos en Linux [parte 1/3]

En los últimos años ha habido una pregunta común sobre el enfrentamiento entre Linux y Windows, ¿tiene la capacidad Linux de correr los ultimos juegos de mayor éxito? y si es así, ¿cuál es la diferencia de rendimiento entre ambos? Muchas comunidades en la red y el mundo de los juegos en general pasan por alto a Linux como una plataforma de juegos viable. Mi intención no es otra si no mostrar qué funciona y qué no de la forma más objetiva posible, así como intentar ver los datos de rendimiento para los que buscáis (y espero que así sea) otra opción en el mundo de los juegos. read more

Leer más » 5 Comentarios

Instalar y configurar XSP, un servidor para aplicaciones ASP.NET en Linux

Debido a mis circunstancias laborales, trabajo muy frecuentemente con la plataforma .NET en entornos Windows y la verdad es que creo que la tecnología .NET de Microsoft es de lo mejor que ha salido de Redmond en mucho tiempo. Nada que ver con las anteriores tecnologías que nada tenían que ver entre sí y que eran objetivamente malas tanto para el desarrollador como para el usuario final. Hablo de Visual Basic, ASP o Visual C++, junto con las Microsoft Foundation Classes y compañía.

Como consecuencia de esto que os cuento, desde siempre he tenido un interés especial por poder crear mis desarrollos utilizando esta tecnología en Linux. El Proyecto Mono proporciona prácticamente todas las posibilidades de la plataforma, con software libre y para todo tipo de entornos y sistemas (cierto es que está verde en algunas parte pero por lo general está muy depurado y tiene muchas posibilidades). read more

Leer más » 12 Comentarios