Django + mysql - Cambio de COLLATION y CHARSET


En un proyecto django en el que vengo trabajando estaba teniendo problemas con el tipo de caracter usado en la base de datos MySql. Los datos se obtienen a través de una api (cuyo encoding es UTF-8) y al guardar los datos recibidos solía obtener un:

_mysql_exceptions.Warning: Incorrect string value: 'xECx9AxB4 xECx9D...' for column 'name' at row 1

Esto sucedia aleatoreamente en distintas tablas y campos, por lo que decidí modificar todas las tablas de la aplicación django en cuestión.

El problema es que eran muuuchas tablas y se debe establecer el charset y collation individualmente (por tabla).

Usando esta respuesta como base hice lo siguiente:

  1. Ejecuté este script para obtener el script (valga la redundancia) que me convertiría cada tabla (app_django en el nombre de la aplicación django cuya base de datos quiero actualizar):
SELECT CONCAT('ALTER TABLE `', t.`TABLE_SCHEMA`, '`.`', t.`TABLE_NAME`,
    '` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;') as spt
FROM `information_schema`.`TABLES` t
WHERE 1 AND t.`TABLE_SCHEMA` = 'app_django' and t.`table_name` like "app_django_%"
ORDER BY 1

Esto genera una salida por tabla a actualizar:

ALTER TABLE `app_db`.`app_django_country` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE `app_db`.`app_django_customeraddress` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE `app_db`.`app_django_customer` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
  1. Ejecutamos la salida anterior para modificar todas las tablas de la app django.

Anduvo de maravillas.

Saludos

PyCamp 2015 en La Serranita - Córdoba


Entre los días 14 y 17 de agosto se realizó, en La Serranita, Córdoba, el pycamp 2015.

/images/pycamp2015/pano_pycamp.jpg

Este evento, organizado anualmente por la comunidad de python argentina (pyAr), tiene como principal objetivo reunir a sus integrantes en un lugar alejado de las grandes ciudades, y trabajar durantes estos días conjuntamente en distintos proyectos relacionados con python.

Éste fue el primer pycamp al que asisto, y seguramente no sea el último. Para mi fue genial conocer a todas esas personas que leo hace años. pyAr está compuesto por un gran grupo humano, además de técnico, y eso lo pude sentir personalmente en este, mi primer contacto con el grupo. Con respecto al lugar, para mi estuvo muy bien elegido. La Serranita es muy lindo, seguramente vuelva dentro de poco con la flia, la verdad es que me encantó.

/images/pycamp2015/collageSerranita.jpg

Es cierto que el SUM no fue todo lo espacioso que quizás necesitamos, pero el lugar contaba con otros espacios al aire libre, y los días acompañaron.

Si hablamos de la comida, SARPADO!! Comimos abundantemente, y el asado del domingo fue exquisito!

¿Se nota que la pase bien?

Si hablamos de proyectos, yo estuve partcipando de algunos. El viernes estuvimos trabajando en una herramienta web para eventos tipo hackaton. Esta herramienta se llama htools (Hackaton TOOLS), y podríamos decir que nació de HTV (HashTag Viewer), la sencilla aplicación que construí para el Hackaton San Rafael.

/images/pycamp2015/planproject.jpg /images/pycamp2015/slots.jpg

Htools tiene el objetivo de brindar las funcionalidades útiles para un hackaton, que entendemos son: un visualizador de Twitter con determinado #hashtag, un tablero con los distintos proyectos (tomado de hackdash.org) y un timer del tipo countdown para marcar el tiempo restando del evento.

El sábado en la mañana estuve en modo read only en el grupo que estaban con el tema de arduido, raspberry py y esas yerbas, y en la tarde me puse a trabajar en un issue de fades (FAst DEpendencies for Scripts).

Fades es un sistema que automatiza el manejo de virtualenvs encontrando los requerimientos en el código, en un requirements.txt, o si son pasados por parámetros, creando o cargando un virtualenv adecuado y ejecutando el script dentro de él. Mi aporte fue la funcionalidad de poder especificar los requerimientos en el docstrings del script. Seguramente, en estos días se integrará esa funcionalidad.

/images/pycamp2015/sum1.jpg /images/pycamp2015/sum2.jpg

El mismo sábado, pero después de cenar, comencé a mirar TOTA, ya que me intrigaba cómo era el juego y cómo competían esos bot. Me enganché tanto que mi domingo se dividió en terminar lo de fades, y dotar de habilidades a mi bot. En el torneo me fue muy mal, pero me gustó muchísimo esa actividad.

Realmente, me gustó mucho el pycamp, conocí muchas excelentes personas, hice amigos, me acerqué a pyAr. Es un evento muy recomendable!!

Django + mysql - Error en mysql_config


Si estás configurando un entorno para trabajar con django y mysql, puede ocurrir un error al instalar MySQL-python (el conector python para el motor MySQL).

La solución es simple (ubuntu / debian):

sudo apt-get install libmysqlclient-dev

Haciendo esto pude instalar correctamente MySQL-python.

Combates TOTA en el pyCamp!


Última noche en el pycamp, en La Serranita (Cba). Ya comimos, charlamos y bebimos. Algunos juegan juegos de mesas, otros programan, y nosotros combatimos con nuestros bot de TOTA.

Tota es un juego creado por @fisadev para el pycamp de este año, en cuál la idea es que una serie de creeps comandados por un heroe defiendan a su rey y torre, y destruyan a los enemigos.

La competencia se centra en desarrollar la lógica que comanda a tu heroe, de modo de tomar las decisiones correctas en cada "tick" del juego.

Siete participantes desarrollaron su bot, y en estos momentos están combatiendo un todos contro todos, para luego realizar semi-final de los mejores 4.

/images/tota.gif

Mañana se realizará la final, la cual se proyectará alimentando a una visualización 3D realizada por otro grupo.

Cada juego, genera una salida json con la info de cada movimiento. Esta es la entrada para generar la visualización.

Mañana les cuento como resultó todo.

Bye!

Hackatón San Rafael, un éxito!


Cómo algunos de ustedes sabrán el pasado 6 y 7 de Junio se realizó el primer hackaton de San Rafael. Fue todo un éxito.

San Rafael no está acostumbrada a este tipo de eventos, por lo que esperábamos una participación de 50 personas o menos. Fueron más de 90, muchísimos estudiantes de la ciudad, y los alrededores (incluso chicos y chicas del secundario). Hasta se vino un chico desde Neuquén. Realmente no esperábamos tanta gente!

El primer día se dieron las charlas, la mayoría de los participantes se quedaron a todas, desde las 10hs hasta casi las 20hs. Gran participación de los asistentes, con preguntas e inquietudes (y eso que se jugaba la final de la champion!).

Luego nos fuimos a un bar cercano en el cuál tomamos cerveza y comimos algo (además de charlar de informática). Realmente estábamos muy contentos.

Al día siguiente se realizó el hackaton. 9am de la mañana, estaban la mayoría de los participantes esperando en el hall de la facultad. No podíamos creer el entusiasmo de todos. Tantos los organizadores como los participantes, la mayoría no habíamos participado de un hackaton, por lo que la organización fue medio caótica, pero productiva. Salieron proyectos muy interesantes.

El proyecto elegido, fue premiado con entradas para el Startup Weekend Mendoza 2015, que se realizó este fin de semana. El proyecto VeoVeo, salió segundo en ese certamen.

La verdad, que todo salió muy bien.

Si querés conocer detalles sobre los proyectos, comparto la nota de prensa. Igualmente, pronto vamos a subir las diapos de las charlas.

Quería destacar lo piola que estuvo mostrar en una pantalla gigante, los tweet que se iban escribiendo con el hashtag #hackatonSanRafael. Se realizó utilizando un pequeño proyecto personal llamado HashTagViewer.

Los organizadores subíamos fotos y anunciábamos el título de la charla, el nombre del disertante, cuestiones relativas al hackaton y al hackdash, etc, mientras los participantes (muchos adolescentes) comentaban lo piola que estaba el evento, subían selfies y hasta alguien se animó a pedir por el partido final de la champion (en modo de joda). Sé que pareciera que esto distrae en las charlas, pero no fue así. Estaban todos muy enganchados.

#hackatonSanRafael fue TT en la zona cuyo según nos dijeron un par de twiteros.

Pronto les traeré las diapos de las charlas y más datos sobre este evento.

Saludos

Conferencias y hackatón en San Rafael


El polo TIC Mendoza, capítulo San Rafael, está organizando el primer evento de este tipo en San Rafael: conferencias a cargo de prestigiosos profesores y profesionales de la región, y un hackatón colaborativo con fin social.

El evento tendrá lugar en la Universidad de Mendoza, en la Sede San Rafael, los días 6 y 7 de Junio. El primer día se realizarán las conferencias y charlas rápidas, y el día 7 tendrá lugar el hackatón.

Happy Hour

También, se está diagramando un happy hour de cerveza para los asistentes para el sábado a la noche. Este tipo de actividad para nada estructurada suele producir nuevos enlaces y contactos entre los participantes.

Podrás encontrar más información en el sitio de Eventioz.

Cabe destacar que para participar del evento hay que inscribirse previamente, el cual tiene un costo de $100 para estudiantes (universitarios, terciarios, secundarios, etc) y de $200 para profesionales y público en general.

Puedes inscribirte siguiendo el siguiente botón.

Eventioz - hackaton-en-san-rafael

En los próximos días, estaremos publicando la lista de los oradores junto a una breve descripción sobre la tematica de la charla. Podemos adelantarte que se hablarán temas como: programación orientada a eventos, Cloud Foundry, base de datos no relacionales (MongoDB), redes neuronales aplicadas, bitcoins y otros temas. Muy interesante!!

Debido a que no queda nada para este evento, no quiero que se te pase el día, te dejo un recordatorio ;-)

Nos leemos

Terminando de ver Breaking Bad


Seguramente la viste, y ahora te estarás acordando de cada capítulo, o quizás con ganas de verla nuevamente.

Y si no la viste, te recomiendo encarecidamente que la veas.

Breaking Bad es, a mi entender (y al de muchos más), unas de las mejores series de la historia.

/images/Breaking-Bad-HP-Poster.jpg

¡¡Sólo me quedan 3 capítulos!!

¿Vos ya la viste? No me contés el final!

Me pase a Nikola!


Acá estamos nuevamente. Después de muchos problemas con django-cms, decidí pasarme a Nikola. No es que django-cms sea malo, todo lo contrario, es excelente, pero no tuve el tiempo necesario para aprenderlo bien, y me había tropezado con diferentes problemas que no pude solucionar.

Así que decidí probar suerte con este genial proyecto!

$ nikola build

Saludos

PyDay Mendoza 2014


El viernes pasado, 15 de Agosto de 2014, se realizó en el aula magna de la Facultad de Ingeniería (Universidad de Mendoza) el primer PyDay en la ciudad de Mendoza.

Las charlas estuvieron buenísimas. Copio acá la lista de las charlas con el material expuerto.

Espero que pronto pueda participar de otro PyDay o PyConf en Medoza ;-)

Saludos