Novedades: actualmente estoy impulsando el proyecto Argentina en Python, desde aquí (ver mapa)

Promocionando PyAr y PyWeek

Nota

Este post no es el original, sino una migración de Wordpress a Nikola. Si no se visualiza correctamente, podés ir al original (en Wordpress) haciendo click aquí

Hoy fue la primer reunión del equipo de Santa Fé para la participación de PyWeek 6. Este año nos juntamos antes de que empiece la etapa de codificación para tirar algunas ideas de juegos sobre los temas de la votación.

Después de delirar un rato con cada uno de los temas, por supuesto que no voy a comentar nada sobre lo que pensamos :) , salieron algunas ideas bastante interesantes. A mí al menos me gustaban concretamente dos. Este año tuve más posibilidad de participar en estas opiniones ya que el año anterior me incorporé un lunes a la competencia y ya tenían la idea del juego casi desarrollada...

Con todo esto en la cabeza me fui caminando de lo de César (nos juntamos ahí) a la facultad para comenzar el cursado. No había comido y estaba casi despuesto del hambre, pero no podia perder mucho tiempo más porque estaba llegando una hora tarde a clases y además justo esa profesora tiene pocas pulgas.

Cuando terminó la clase me encuentro con el Guille y le comenté las ideas y demás mientras tomábamos una gaseosa y yo comía algo que estaba muerto de hambre.

Cerca de las 19hs voy al aula nuevamente para cursar Comunicaciones -una materia bastante entretenida- pero cuando llego al aula me encuentro con que había más de 80 personas, y la verdad que se feo sentarse atrás por que no se escucha nada.

Pispié un poco el aula y encontré un lugar en la primer fila, matanga! Me sente esperando que sea una muy buena clase, ya que la anterior me había dejado con algunas cosas picando. Pero el profesor decidió hablar de cómo está el país y los cortes de ruta, los agricultores, la gente del campo y demás. Nos dijo que quería saber qué opinábamos nosotros sobre todo esto y demás. Debatimos bastante y luego nos mostró un video (no me acuerdo el nombre) sobre la agricultura y demás, no entendí mucho porque no se escuchaba nada. Hablamos sobre el video y pasó a tratar de continuar con la clase de la materia.

Nos quedaban 30 minutos para terminar la clase. Explicó dos o tres cosas generales sobre el modelo de capas OSI, más que nada de repaso y se puso a buscar algo en la notebook para la clase que viene. Aproveché este momento para preguntarle si podía hablarle 5 minutos a la clase. Lo bueno: "Me dijo que sí sin ningún problema". Lo malo: "No tenía ni idea qué iba a decir".

Empecé diciendo, "Bueno, presten atención un segundo." (la muletilla bueno es jodido de sacársela de encima). Enseguida me dijeron que no se escuchaba nada y que hablara más fuerte, lo cual provocó que actualmente tenga la garganta a la miseria. En fin, les dije que pertenecía a Python Argentina y que estábamos por participar en una competencia de desarrollo de un juego en 7 días: PyWeek.

Expliqué un poco la competencia, cómo era, qué tenía de bueno, porqué lo hacíamos y demás. El profesor me cortó un segundo y me dijo que me conocía del juego de Twisted Zombie y si estaba participando con Juanjo Conti, uno de los chicos que hizo el juego y además es ayudante de cátedra en esa materia. También me dijo que se había bajado el juego pero que todavía no lo había podido jugar, asique que para la clase que viene lo iba a poner en el proyector y se los iba a mostrar a todos los chicos. ¡Buenísimo!

Seguí hablando un poco sobre Python, me preguntaron que cómo era el lenguaje y a qué era orientado. Le contesté: "Python es orientado a vos" ;) "Tiene cosas de funcional, lo podés usar como procedural o programar en Objetos, como más te guste" Le quedaron los ojos como un dos de oro. También pasé el chivo y dije que necesitábamos diseñadores gráficos ya que los dos que teníamos el año pasado faltaron a la reunión y no sé si van a poder participar :(

Noté algunas cosas extrañas. Me miraban como si era un bicho raro, o al menos eso me pareció a mí, nunca tanta gente me había prestado atención todas juntas. También noté que nadie conocia el lenguaje lo cual me puso bastante mal, aunque por otro lado, toda esa misma cantidad de gente ahora si lo conocía :) .

Estuvo buena la experiencia de hablar adelante de tanta gente y poder decir el 3% porciento de lo que tenía en la cabeza, un poco por timidéz, otro poco por no robarle el poco tiempo que le quedaba al tipo para dar la clase y otro poco por que capaz que a nadie le intresaba, sólo uno hizo preguntas. Pude anotar las direcciones de PyWeek, PyAr y mi mail por si alguno le interesaba participar.

A la salida, unos chicos me frenan y me preguntan algunas cosas un poco más puntales de Python, les hice tres o cuatro comparaciones con C++ y Java, y quedaron boquiabiertos. No podían creer que era tan fácil iterar sobre una lista :P . Me dijeron que iba a ver la posibilidad de participar con otros chicos o si bien podían hacerlo con nosotros.

Esperemos que se sigan sumando chicos a este lenguaje, a la competencia, a la lista de PyAr y a Python. Para ser la primer vez que hablo delante de mucha gente estuvo bastante bien me parece, por lo menos no me tiraron con tomates.


Django Book en español

Nota

Este post no es el original, sino una migración de Wordpress a Nikola. Si no se visualiza correctamente, podés ir al original (en Wordpress) haciendo click aquí

Hace exactamente 10 días me puse a estudiar Django, y me topé con que toda la documentación, ejemplos y tutoriales están en inglés. Después de hacer el primer tutorial básico quería un poco más y me fui a leer el libro.

Después de leer un rato, me cansé ya que al estar en inglés me cuesta demasiado, no tanto por el hecho de traducir o interpretar lo que dice, sino que me cuesta llevar un buen ritmo. Entre lo que tipeo en la máquina, lo que pruebo, el diccionario y demás me distraía mucho.

Propuse en la lista de Django Español y Python Argentina traducir este libro (que por lo poco que había leído --hasta el capítulo 4--) está muy bueno.

Se engancharon bastantes con la idea, asi que para que podamos colaborar todos y de paso para aprender, puse un Trac en mi servidor. Para esto me ayudó Guille, la verdad que salió andando en un par de horas, lo hicimos todo por ssh desde la casa de él. Muy divertido :)

La página del Trac es ésta, cualquiera que tenga intenciones de colaborar se puede sumar al proyecto, no hacen falta casi nada, un poco de ganas nomás.

Después de comenzar algunos párrafos, nos dimos cuenta que era muy tedioso sacar el texto original de la página de oficial, asi que nos pusimos en campaña para buscar los .rst (reStructuredText) ya que este es libre --alguien los debía tener--. Entonces mandé un mail a la lista de Django-es y pregunté por esto. A las pocas horas Jacob Kaplan-Moss, uno de los autores del libro, nos escribe a la lista ofreciendo los fuentes originales. Enseguida nos pusimos a chatear con él y con el otro autor del libro, Adrian Holovaty, por IRC y ellos nos dieron todo su apoyo. Incluso nos dijeron que cuando esté listo lo van a alojar en http://www.djangobook.com/es ¿Qué más querés papá?


Jugando al Cliente-Servidor

Nota

Este post no es el original, sino una migración de Wordpress a Nikola. Si no se visualiza correctamente, podés ir al original (en Wordpress) haciendo click aquí

Esta semana se me terminó la joda. El lunes empezaron las clases en la facultad y yo de colgado no fui porque no sabía cuando empezaban, asique fui el martes (ayer) por primera vez. Hoy teníamos una clase de práctica de una materia que todavía no dimos la teoría asique no tuvimos clases.

Pensando en esto, que ya no iba a tener más vacaciones, me puse las pilas con la otra máquina que tenía en casa para dejarla funcionando como un servidor. ¿Servidor de qué? De cualquier cosa, lo que necesite en el momento, algo. Ésta ya tiene historia, porque es la que tiene la instalación de Ubuntu hecha por red.

Lo primero que se me ocurrió, fue pasar toda la música al servidor y que todas las pc de la casa la utilicen de ahí, así no hay temas repetidos, lo que implica el doble de espacio de almacenamiento. Pero antes que nada configuré el servidor ssh para poder realizar todo esto.

SERVIDOR NFS

Para compartir la música, tenía dos posibilidades, o al menos son las que conozco yo: NFS o Samba. Opte por NFS porque con Samba ya había tenido varios problemas. Ahora sí, los usuario de Windows no sé como van a hacer para sacar archivos de acá por el momento.

NFS es tan simple configurarlo que me llevó 2 o 3 minutos. Primero instalé el paquete nfs-kernel-server,y agregué la carpeta que quería compartir a /etc/exports con una sóla línea:

/home/humitos/Música    10.0.0.5(rw,sync)

Moví toda mi música ahí, y luego le dije a la máquina cliente (la que utilizo habitualmente) que me monte, en mi carpeta donde toda la vida tuve la música, esa carpeta que se encuentra en la red. En el archivo /etc/fstab agregué una línea:

silvita:/home/humitos/Música /home/manuel/musica nfs rsize=8192,wsize=8192,timeo=14,intr

No tuve que cambiar ninguna configuración en Amarok ni nada por el estilo, es como si esa carpeta estaría en mi máquina y nunca hubiese pasado nada. Eso es lo bueno de poder montar lo que se te raje en dónde se te raje, y no andar creando unidades de disco remotas en X:\ por ejemplo.

Nota: la máquina servidor se llama silvita y el cliente michifus. Sí ¿Y qué?

AMULE-WEB

Lo segundo fue poner amule-web. Esto sirve para poder gestionar el aMule desde cualquier lado mediante un explorador web. Buscar, pausar, conectar, desconectar, cambiar configuraciones, etc.

Primero instalé el paquete amuled que me instaló algunas cosas más, no recuerdo bien, pero eran dependencias extricta, no sugerencias ni recomendaciones. Que en fin son lo mismo, pero Ubuntu hace la diferencia.

Ejecuté amuled, me creó los archivos de configuraciones y demas. Cerré el demonio con CTRL+C ejecuté este comando:

$ echo -n CONTRASEÑA | md5sum | cut -d ' ' -f 1

d287200e83ee04f67294de90dd72f9c6

$

y edité el archivo ~/.aMule/amuled.conf:

AcceptExternalConnections=1

ECPassword=CONTRASEÑA

En la sección [WebServer]:

Enabled=1

Password=CONTRASEÑA

Abrí los puertos 4662 TCP, 4665 UPD, 4672 UPD y 46711 TCP, corrí el demonio nuevamente y ¡listo! ahora se puede acceder desde cualquier lado ingresando http:/host.ejemplo:4711

Fuente: usrweblog

APACHE

Lo que sigue (configuración de torrentflux) necesita tener configurado Apache, aunque yo no lo hice en este orden, me parece que es mejor primero instalar Apache y luego TorrentFlux o por menos al mismo tiempo.

Lo que cambié en la configuración que trae por defecto apache, fue agregar dos líneas al archivo /etc/apache2/apache2.conf para poder compartir al mundo (internet) las carpetas public_html de los home de cada uno de los usuarios. Al final de todo el archivo puse esto:

UserDir public_html

UserDir enabled all

Lo que hace es habilitar el módulo UserDir para que se puedan compartir estas carpetas. Aunque todavía no le indiqué que tiene que cargar el módulo (para que esto funcione). Esto se hace creando un link simbólico, yo lo hice así:

$ cd /etc/apache2/mods-enabled

$ sudo ln -s /etc/apache2/mods-available/userdir* .

$ sudo /etc/init.d/apache2 restart

Fuente: huevas, apache

TORRENTFLUX

TorrentFlux es un cliente bittorrent desarrollado en PHP al cual le doy la misma utilidad que al amule-web. Poder gestionar las descargas desde cualquier lado. La verdad que está buenísimo, es multi-usuario, se puede hacer lo mismo que en cualquier cliente bittorrent o más...

Para instalarlo seguí esta guía, que no voy a reproducir porque está demasiado bien explicado aunque esté en inglés, es ir tipeando comandos en la consola, casi como un click en Siguiente-Siguiente.

XDMCP

¿Qué es esto? No tengo la más mínima idea, pero está buenísimo. Es como un ssh -X pero en vez de redireccionar sólamente una ventana tenés todo el escritorio de forma remota. Estuve leyendo algo en wikipedia, y demás webs. Siempre me había preguntado porqué el Kubuntu traía algo que decía al inicio de la sesión "Remote Login", que de hecho no tiene porqué estar en inglés.

Pero bueno, busqué y encontré al toque, en menos de 15 minutos lo tenía funcionando. ¿Qué hice? busqué este archivito en la máquina servidor (silvita) /etc/gdm/gdm.confy cambié un parámetro:

[xdmcp]

Enable=true

Reinicié el servidor porque no sabía como reiniciar sólo esto de gdm (supongo que con un CTRL+ALT+BACKSPACE se solucionaba) volví al cliente, michifús, puse en kde que quería iniciar una sesión nueva y que sea de remota. Al toque me apareció un item en la lista, doble click y voilá, estaba en el login de la otra pc. Asique ahora tengo en CTRL+ALT+F7 mi sesión de KDE en mi máquina y en CTRL+ALT+F9 tengo una sesión de GNOME en el servidor. Lero lero!


Gmail + IMAP

Nota

Este post no es el original, sino una migración de Wordpress a Nikola. Si no se visualiza correctamente, podés ir al original (en Wordpress) haciendo click aquí

Estos meses que no estuve en casa, se me presentó varias veces el mismo problema. Si bien lo tengo hace un tiempo, nunca era tan frecuente como ahora, ya que no estuve en casa por mucho tiempo.

Yo compruebo mi correo de Gmail con KMail y uso POP3. Pero, ¿Qué pasa? ¿Cuál es el problema?. POP3 te descarga el correo a la computadora y, en la mayoría de los Free-Mail, los borra del servidor. Aunque Gmail puede no trabajar de esta forma, se le puede indicar a Gmail que deje una copia de los correos descargados mediante POP3 en el servidor.

Ahora, el problema que yo tenía, es que si descargaba durante algunas semanas mis correos con KMail, leía, administraba, respondía y demás, cuando me iba de mi casa (computadora) y checkeaba el correo en otro lado vía Web, no sabía qué correos había leido y cuales no, ya que Gmail no te marca los descargados mediante POP como leídos o algo así.

Estuve pensando en crear otra cuenta de Gmail y redireccionar los correos que llegaban a mi cuenta común para despues descargar todos mediante POP3 y borrarlos de Gmail. Lo cual era bastante complicado para luego seguir las conversaciones, ya que si tengo un mail nuevo pero no tengo el mail anterior a cual este nuevo le respondió, no me sirve de mucho.

Se lo comenté a algunos amigos, y me dijeron que lo que pensaba iba a funcionar pero que no era lo ideal. La otra forma que se me ocurrió era siempre leer los correos desde mi máquina. Por acceso SSH y levantando un Mail-Reader de consola que me muestre las carpetas de Gmail. Probé uno (mutt) pero al parecer no levanta lassubcarpetas de KMail. Asique lo descarté.

Después le comenté el problema a Karucha, y me dijo que lo que yo estaba buscando se llamaba IMAP y era más viejo que yo. Que lo que hacía el tipo era leer los correos de la web en tu cliente pero estando siempre conectado a este. Entonces, marcás una conversación como no leída, y se marca en el servidor también. Exactamente las mismas cosas que hacés en Gmail, muy bueno. "Era justo lo que estaba buscando", le dije.

Intenté configurar todo vía SSH, pero se complicó bastante, ya que Karucha no tenía una buena conexión de internet, pero algo se pudo hacer. Igualmente cuando llegué de lo de Karucha me puse a configurarlo directamente en mi computadora.

Estuve viendo y KMail tiene dos tipos de IMAP. El primero es el común, que realiza todo tipo de acción directamente en el servidor. Por ejemplo, para leer un mail tenés que estar conectado, y cada vez que quieras leer el mismo mail, vas a tener que estar conectado. Y el otro tipo es IMAP Desconectado, este es el que me sirve a mi. Funciona así, te baja todos los correos, de la misma forma que POP3 y luego todos los cambios que se hacen en el cliente (KMail) cuando se presiona el botón de comprobar correo se realiza una sincronización y tanto el cliente como el servidor quedan iguales. Esto se pasa.

Ahora bien, leí la ayuda de Google y Gmail, configuré todo como es debido y me encuentro que es ultra lento, demasiado para mi gusto. Es lento en descargar los mail, en comprobar el correo nuevo, en sincronizar, en todo. Cubre mis necesidades porque hace lo que quiero, pero si el servicio que brinda Google con IMAP tiene esta velocidad, prefiero quedarme con POP3 con sus limitaciones.

Incluso, me parece extraño que en la página de ayuda de Gmail sobre qué es IMAP, ellos te aconsejan usar IMAP y te explican por qué. Textualmente "Si estás indeciso entre usar POP o IMAP con tu cuenta de Gmail, te recomendamos IMAP."

Ayer lo configuré y hoy por la tarde terminé de bajar mis 504 MB que tengo en la cuenta de Gmail con una conexión de 1Mb. Algo a demasiado mucho lento. Lo voy a seguir testeando unos días más y sino voy a volver al viejo y querido POP3.