Index - Userlinux.net

Blog sobre sistemas operativos, Linux, Wireless, BSD, Open Source, Software Libre, Mac OS X, Apple... y otras tech

» 4 años 17.May.2012 ~

Y todavía puedo sentir los nervios, aunque hoy nos reimos con la nostalgia de los grandes momentos que hemos dejado atrás e ilusión por los que han de llegar. Saudações do Porto!.

~ 0 Comentarios ~ 117 Lecturas

Django-TinyMCE + Django-Filebrowser

07.May.2012 ~ 0 Comentarios ~ 264 Lecturas

Me váis a permitir una pequeña nota mental porque siempre me hago un lío. A la hora de usar un editor WYSIWYG en Django normalmente las preguntas suelen ser las mismas de siempre:

  1. ¿TinyMCE ó CKEditor?.
  2. ¿Django Filebrowser con Grappelli o sin Grappelli?
  3. ¿Funcionará en Django 1.4?
  4. ¿Vienen integrados con uploaders de imágenes?.
  5. ¿Funciona automágicamente con el admin de Django?.
  6. ¡Truenos!, no me funciona a la primera, ¿por qué?.

Las respuestas son sencillas una vez se ha probado... y como es la segunda vez que tropiezo con la misma piedra casi prefiero dejarlo documentado para torpes como yo.

Nginx: 502 Bad Gateway

29.Apr.2012 ~ 2 Comentarios ~ 356 Lecturas

He tenido que lidiar con un escenario bastante interesante como sysadmin, al menos me ha tenido entretenido durante algún tiempo, cosa que últimamente estaba echando de menos. Empezando por la moraleja tengo que decir que debemos tener cuidado con los datos de sesión cuando utilizamos Nginx como proxy transparente hacia Apache.

En este caso concreto se trata de un simple captcha. Nginx escuchando en el 80 actuando como proxy transparente a un Apache en el 8080 con mod_php entre otras cosas. El código php que inserta valores en sesión es el siguiente:

// Preguntas y respuestas para Captcha
$preguntas = array ("¿Qué idioma se usa en España?", "¿Otra?");
$respuestas = array (0 => array("español"), 1=>array("respuesta"));
$ci->session->set_userdata(array('captcha_pregunta'=>$preguntas[0]));
$ci->session->set_userdata(array('captcha_respuestas'=>$respuestas[0]));
return $preguntas[$num];

Bien, pues cuando el array de respuestas tiene un caracter raro (ñ, tildes...), Nginx nos ofrece un 502 Bad Gateway. Es curioso porque no pasa lo mismo con el array de preguntas, sólo con el de respuestas. Cambiando, por ejemplo "español" por "castellano" todo parece funcionar de forma adecuada.

No tengo ni idea del motivo por el que sucede ésto, y sé que cambiar la respuesta no es la mejor de las soluciones pero cuando el tiempo aprieta... es lo que hay. Cualquier comentario al respecto será bienvenido.

Categorías:

Django: Cambiando de DB Engine

28.Apr.2012 ~ 2 Comentarios ~ 266 Lecturas

Normalmente las especificaciones de un entorno de desarrollo y las de un entorno en producción suelen ser bastante diferentes. Quizás en el primero buscas la comodidad mientras que cuando se hace el deploy a producción priman otras cosas. Este suele ser el caso del motor de base de datos cuando trabajas con Django.

Durante el proceso de desarrollo es muy cómodo utilizar sqlite porque no requiere de ningún servidor adicional y está soportado de base en Django (builtin). Es posible que una vez acabado el desarrollo queramos cambiar a otro SGBD "de verdad" como pueden ser MySQL o PostgreSQL.

Lo que podría suponer un quebradero de cabeza en otras arquitecturas, en nuestro caso utilizando dumpdata y loaddata, se reduce a las siguientes tres lineas:

$ python manage.py dumpdata --indent=4 --format=json > fixtures.json
$ scp fixtures.json user@remote:/path/project/
(remote)$ python manage.py loaddata fixtures.json

En la primera usamos dumpdata para hacer un dumpeado de todos los datos de la aplicación (sqlite) en formato json, posteriormente pasamos ese archivo al entorno de producción (en este caso pongamos de ejemplo a otro servidor) y allí finalmente (con el conector apuntando al nuevo gestor) ejecutamos el loaddata para insertar los datos.

Et voilà!

#GraciasPep

27.Apr.2012 ~ 1 Comentarios ~ 224 Lecturas

La rueda de prensa de hoy en la Ciudad Condal para dar a conocer la marcha de Don Josep Guardiola i Sala me ha recordado al archi famoso discurso de Steve Jobs en Stanford (2005):

"Tenéis que encontrar lo que amáis. Y eso es tan válido para el trabajo como para el amor. El trabajo llenará gran parte de vuestras vidas y la única manera de sentirse realmente satisfecho es hacer aquello que creéis que es un gran trabajo. Y la única forma de hacer un gran trabajo es amar lo que se hace. Si todavía no lo habéis encontrado, seguid buscando.

No os detengáis. Al igual que con los asuntos del corazón, sabréis cuando lo habéis encontrado. Y al igual que cualquier relación importante, mejora con el paso de los años. Así que seguid buscando. Y no os paréis.

Seguid hambrientos. Seguid alocados."

Gracias por haber reinventado el deporte rey en pleno siglo XXI. Y sobre todo gracias por hacer de esas reuniones familiares cada 3 días para ver Liga, Copa y Champions durante 4 años un huerto de risas, títulos y disfrute, ha sido todo un honor poder formar parte desde este otro lado.

Los que hemos tenido el privilegio de ver a tu Barcelona nos encargaremos de que tu leyenda no se apague nunca. Que te vaya bonito Pep.

Categorías:

Reseteando terminal en GNU Screen

24.Apr.2012 ~ 0 Comentarios ~ 283 Lecturas

Hay veces - pocas - en las que GNU Screen se comporta de forma extraña cuando estás trabajando con windows, redimensiones y tamaños distintos. Buscando por internet me ha costado encontrar el shortcut del reseteo de un terminal screen, así que aquí queda:

  • Ctrl-a + Z

Suponiendo que la "a" sea la tecla que activa la secuencia de escape de comandos. Nótese que la Z es mayúscula. Con esta combinación de teclas volveremos a tener screen como si lo acabáramos de lanzar. Micropost del día patrocinado por Agua Mineral Natural Día.

Categorías:

Mirror con wget

28.Mar.2012 ~ 0 Comentarios ~ 383 Lecturas

Una rápida... tenía urgencia de hacer una especie de mirror, backup o como queramos llamarlo de una página web en local, en estático; convertir el contenido dinámico en .html con sus correspondientes .css y .js. Obviamente se me vinieron a la mente varios aspectos que no funcionarían, imágenes en css, enlaces absolutos... Y después de un par de pruebas, la solución:

$ wget -mcpk http://pagina-a-cachear.com/

Mejor que mágico. Estaba claro que usaría wget, pero no sabía que era tan rico en opciones, conocía -m (--mirror, recursividad infinita y muchas otras opciones), y -c (--continue, continúa desde el último archivo bajado en caso de corte). Pero -p (--page-requisites, para descargar todo tipo de recursos, css, imágenes y demás para que se vea localmente) y -k (--convert-links, convierte los enlaces a accesibles de forma local) me han facilitado un mundo el trabajo.

Ahora es cuando toca gritar tres hurras por wget y alabar - una vez más - el open source y todas las posibilidades que nos ofrece.

Categorías:
Tags:

Screencast: Hello World en Flask en menos de 3 minutos

23.Mar.2012 ~ 6 Comentarios ~ 471 Lecturas

Siempre me ha apetecido hacer un screencast pero nunca me he atrevido así que en algún momento había que romper ese miedo escénico. Y me he decidido con una micro grabación de la instalación de Flask con pip dentro de un entorno virtual (virtualenv).

Y como bonus veremos el mediático HelloWorld en poco más de 5 lineas de código con el servidor builtin que nos ofrece el fantástico framework... Espero que les guste.

Categorías:
Tags:

Configurar APN en Android

08.Mar.2012 ~ 0 Comentarios ~ 514 Lecturas

Si te ha pasado como a mi, tienes un teléfono libre y te cambias de compañía, tendrás que pasar por la configuración del 3G de forma manual (siempre y cuando poseas tarifa de datos). Realmente es muy sencillo configurar cualquier teléfono Android con los nuevos valores, pero hay una pequeña inconveniencia que me gustaría comentar.

Los pasos para configurar el APN (que así les llaman a los puntos de acceso Access Point Name) son simples:

  • Menú -> Ajustes -> Conexiones inalámbricas
  • Redes Móviles -> APN
  • Menú -> APN Nuevo
  • Agregamos los datos, normalmente el nombre que queremos para esa conexión (por si tenemos varias, a nuestra elección), APN, usuario y contraseña. Dejo un enlace también donde están documentados los datos de las operadoras nacionales.
  • Guardamos los valores introducidos y seleccionamos la nueva conexión.
Categorías:

Virus en Windows que oculta ficheros

06.Mar.2012 ~ 0 Comentarios ~ 348 Lecturas

Vale, si, esta página se llama Userlinux, pero hacía tanto tiempo que no tocaba una terminal de MSDOS - para algo más que un ipconfig - que tenía que documentarlo. El típico ordenador con Windows al que le entra virus y/o troyanos hasta aburrir, después de la ayuda de varios workmates conseguimos limpiarlo pero habían desaparecido todos los archivos del usuario activo.

Realmente no habían desaparecido, estaban ocultos, así que había que hacer algo para que volvieran a ser visibles:

C:/Documents and Settings/Usuario> attrib -h /S /D *

¡Zasca!, problema resuelto. Realmente no tengo ni idea de qué virus es el causante de semejante chapuza, ni si el ordenador está limpio de verdad, pero, entre ls fallidos y otros comandos inexistentes en DOS, me doy cuenta de todo el tiempo que llevo invertido en otros Sistemas Operativos de verdad y lo feliz que soy sin limpiar ventanas.

Por otra parte, he de reconocer que me ha molado el truquillo del attrib.

Categorías:

Buscar

Cargando...

Últimos comentarios

  • graffic
  • reidrac
  • reidrac
  • Wu
  • dilam
  • r0sk
  • reidrac
  • r0sk
  • chucu
  • r0sk
  • el_palomo_programador
  • r0sk
  • reidrac
  • Player 1
  • r0sk

Moneting

Valor de mi cuenta de Facebook según Moneting
Valor de mi cuenta de Twitter según Moneting

Tagcloud

bsd humor bake twitter vacaciones ps3 hack 2007 python blog django alemania_2006 mundial cake felicidades games conciertos rsidenotes juegos openbsd web iphone sidenotes rfilms ubuntu barça cakephp blogsfera mac bash meme macosx deportes canción ds personal films freebsd 2008 opinion nintendo sysadmin futbol mysql php frases userlinux debian ssh linux blogs champions apple lugo league programación twitt lucux seguridad cumpleaños

Archivo

Social

Enlaces de interés