Trayendo Typus Pocus de vuelta a la vida

Septiembre del 2006. PyWeek: competencia internacional de hacer jueguitos en Python. Con unos vagos más hicimos Typus Pocus, ganamos :) (acá el detalle de esa historia).

Tipografía y sombrero inconfundibles

Como todo juego de PyWeek, el código tiende a desastroso por el apuro y muchas manos en el plato sin tiempo a demasiado diseño ni emprolijadas. Pero el juego está bueno y yo (y alguien más en algún momento) le seguí metiendo un poco de laburo los años siguientes.

Aunque mostramos el juego en varios stands de Python Argentina en muchas conferencias, creo que la vez que más éxito tuvo fue en la EkoParty del 2014: teníamos una versión adaptada, y la idea era ver si a alguien se le ocurría hackear el juego de alguna manera (algo de eso hubo).

Fué la última vez que lo ejecuté. Fast forward casi siete años.

La primera vez que usamos al Gran Grossini, alto personaje

Una de las ideas para que Felu entre en la programación era que haga juegos. Los dos frameworks para hacer juegos en Python que conocía eran pygame y cocos2d, pero ambos son "complejos" en el sentido que hay que entender un montón de cosas de Python y programación en general antes de poder hacer lo básico. Incluso estuve algunas horas tonteando con hacer una especie de "coquitos" que escondiera la complejidad inicial de cocos2d para los casos más básicos. No progresé mucho. Pasó que escuché sobre Arcade, un framework para hacer juegos justamente orientado a que sea simple. Y Felu está aprendiendo por ahí.

Pero más allá de esa historia, charlando sobre juegos, comenté sobre la existencia de Typus Pocus, y se los mostré (a él y a Male). Y recordé cuan bueno estaba el juego, al punto que decidí que no podía morirse en el tiempo.

Entonces lo refloté.

Escena típica del juego

Lo migré a Python 3, actualicé un poco su entorno de desarrollo y ejecución (mejor internacionalización, ahora corre en un virtualenv, emprolijé el código, etc.), e incluso corregí un par de bugs producto de empezar a usar un Pygame mucho más nuevo (anduvo en un 99.9% luego de tantos años, y más allá de corregir ese 0.1%, es sorprendente que hayan mantenido tan bien compatibilidad con el pasado).

Por otro lado, no le puse mucho más amor que eso: el juego tiene muchos detalles que pueden ser mejorados (manejo de score, por ejemplo). Y sigue estando en Launchpad.

Más allá de correcciones y mejoras (o no), además de hacerlo funcionar de nuevo pensé también en distribuirlo, para lo cual me propuse dos maneras. Por un lado, armé un snap, de manera que pueda ser instalado fácil en cualquier Linux (sudo snap install typuspocus), y por el otro lo empaqueté para Windows y le armé un instalador.

Y hasta le armé una paginita web muy simple. ¡Compartan y disfruten!

Comentarios Imprimir

Usando un muelle

Por primera vez en 13 años estoy trabajando sentado en la silla del escritorio, con mouse y teclado grande, mirando el monitor grande, pero sin utilizar la "computadora de escritorio".

Me siento desnudo.

¿Cómo cómo cómo?

Además, ¿qué tiene que ver eso con un muelle?

Un muelle (o dock en inglés, que es la palabra que realmente usamos para denominar este dispositivo) es un coso al que por un lado se le enchufan muchos periféricos (con sus correspondientes muchos cables) y por el otro se le enchufa una laptop (con un cable, en algunos casos, o con un conector especial que a veces tienen las laptops).

La utilidad del dispositivo es justamente conectar y desconectar una gran cantidad de periféricos "en un periquete". Entonces cuando llegás con la laptop bajo el brazo a tu escritorio enchufás un cable (o apoyás la laptop en un conector particular) y automáticamente tenés todos los periféricos enchufados.

Ejemplo de dock (con muchos cables) conectado fácil a la laptop

Podés trabajar con un monitor grande, teclado y mouse normales, el cable de red enchufado, parlantes decentes, etc. Y cuando tenés que irte de ahí desenchufás un cable y te fuiste.

¿Entonces?

Ya había mencionado algo al respecto, cuando les conté la nueva laptop del laburo: quería analizar la posibilidad de tener un dock.

Terminé de tomar la decisión y lo compré. Este, puntualmente, que tiene todo lo que necesito y un poco más, en caso de ser necesario.

Enchufecitos, muchos enchufecitos

Al dock tengo conectado el monitor de siempre, teclado y mouse normales, los parlantes de escritorio, el cable de red, los auriculares y la cámara que uso en las videollamadas, y me queda un USB más, frontal, para cualquier pendrive que necesite en el momento.

El punto es que empecé a trabajar en el día a día en la laptop, en vez del escritorio.

A la laptop yo la tenía como un "lugar de laburo eventual". Si había un sprint en un bar, laptop. Si había un viaje de trabajo, usaba la laptop. ¿Un PyCamp? La laptop. Pero NO era donde tenía "todo".

Es que de laburar una semanita cada tanto, a tener "todo", hay un mundo de distancia. En los detalles está el Diablo. Es como esa frase que dice "ya hicimos el 90% del proyecto, ahora falta el otro 90%".

Claro, en "el escritorio" yo tenía todo muy acomodado, en estructuras que había ido evolucionando durante un par de décadas. Sí, reinstalo el sistema operativo cada tanto, pero eso es sólo una parte del todo, la gran mayoría de lo que tengo ordenado y me permite ser eficiente con esta herramienta que es mi "trabajo", lo voy llevando de instalación en instalación.

Y ahora que fui a la laptop, la idea es NO llevar todo tal cual. Es que hay muchas cosas que son "de la máquina de escritorio". Por ejemplo, el Deluge que lo tengo bajando torrentes. O las fotos. O el backup en la misma máquina pero disco separado. Etc.

Entonces me llevé un poco "lo mínimo imprescindible", y empecé a laburar con eso, ajustando cosas, trayendo algunas más que había olvidado, etc. Pero es como mudarse de pais habiendo llevado sólo una valija. Te faltan cosas, pero al mismo tiempo tenés la libertad de experimentar sin estar atade al pasado.

Veremos cómo es el viaje.

Comentarios Imprimir

Liberamos un beta de la próxima CDPedia

¿Se acuerdan que les había contado que armé un grupo de trabajo alrededor de CDPedia?

Bueno, todo el equipo de CDPedistas estuvimos trabajando mucho mucho desde ese momento (¡un año!), y estamos felices de contarles que tenemos un beta de CDPedia para mostrarles.

¿Qué es CDPedia? Es un proyecto de Python Argentina para acceder a la información de la Wikipedia en castellano aunque no tengas una conexión a Internet. Más info acá.

¿Por qué un beta? Liberamos una imagen chiquita de CDPedia (8 mil artículos, pocas imágenes, etc) que preparamos en sólo algunos días de procesamiento, y pesa poquito (la pueden bajar en seguida) para permitir probar y revisar que "todo funcione lindo". Claro, va a tener pocos artículos y pocas imágenes, pero todo el resto debería funcionar impecablemente.

Para bajarla, apunten vuestro cliente de Torrent a este archivo. Una vez bajada, descomprimen el archivo y ejecutan (desde la terminal o haciendo doble click) cdpedia.py (Linux o Mac) o cdpedia.bat (en Windows).

Si encuentran algún problema, pueden avisar por acá, o crear un issue en el proyecto, o avisarme por Telegram.

En un par de semanas, con más o menos fixes luego de esta "revisión beta", pondremos a generar las versiones finales (que llevan su tiempo, pero ya les avisaremos).

Muchas gracias por la colaboración :)

Comentarios Imprimir

Lenovo Thinkpad T14 Gen 1

En algún momento del 2019 decidí que era momento de renovar la laptop, y estuve buscando qué había en el mundo que estuviese copado. Era una época donde viajaba, y estaba la posibilidad de comprar la laptop afuera.

La máquina a renovar era mi Lenovo Thinkpad T460s, con 128 GB de disco (no tanto, pero para mi uso estaba ok) y un micro no tan rápido pero mucha memoria (Intel i5 6200U de 2.3GHz y 24GB de RAM), con lo cual se labura lindo. El punto es que a la hora de "renovarla", no había mucho espacio para crecer.

Y dicho y hecho, no encontré nada piola que esté medianamente en precio (no quería gastar dos mil dólares). Eso, sumado a que la evolución natural de esa máquina (las T470, T480, etc) eran caras y no me daban un diferencial, hizo que abandone la idea de renovar. Claro, no estaba apurado, la máquina la usaba poco, podía esperar.

Vino el 2020 y la maldita pandemia. Dos hijes, clases virtuales. Male zafó con mi anterior máquina, que la venía usando Moni (para ella compramos una nueva tranquilita porque la otra estaba muy baqueteada), y Felu se "apropió" de mi T460s. La empezó a usar para la escuela, pero pronto la empezó a usar para todo (hacer stop motion, usar Krita o Blender y dibujar mucho, ver videos de YouTube, jugar Minecraft o algo en Steam, aprender Italiano en Duolingo, etc). Y Canonical me dió la guita correspondiente por laptop refreshment (que te dan cada tres años). Entonces me sentí motivado a buscar de nuevo algo piola.

Viajar no iba a ser posible, pero ya había tenido la experiencia de comprar la laptop de Moni en Amazon USA, pagando el envío, y es negocio. Entonces me puse a buscar ahí, y comentando lo que iba encontrando con un par de amigues, terminé definiendo lo que es la máquina donde estoy escribiendo esto ahora :).

Mi nueva laptop es una Lenovo Thinkpad T14 Gen 1 (código de producto 20UD000CUS). Tiene un micro AMD Ryzen 7 PRO 4750U (con gráficos Radeon), con un clock base de 1.7GHz que escala hasta 4.1GHz. Viene con 16GB de RAM soldados, y yo le agregué otros 16GB (que también compré en Amazon USA y me los mandé a casa). Tengan en cuenta que es el tipo de laptop que está pensada para que uno la abra y le cambie/agregue partes, como la memoria o el disco (que no creo que toque porque el que trae es inmenso: medio tera).

A nivel más "externo", tiene el look and feel de una thinkpad robusta. Y como no es recontrasuperfina tiene conexión Ethernet real (no enchufecito para adaptador ni nada), el HDMI grande normal, y la entradita para engancharle el cable-candado (que es vital para les que trabajamos en bares por ahí... ya volveremos, che). La frutilla del postre: teclado retroiluminado (¡mi primera vez!).

Lenovo Thinkpad T14 Gen 1, un fierrito

La máquina anda un montón. Pero no son todas rosas, sin embargo. Tiene el problema de que consume un poco de energía estando suspendida. Parece que el kernel de Linux no se da cuenta de suspender a la placa de video o parte de ella (por el bus con el que está conectada internamente) y queda gastando algo. No es mucho, pero si suspendés la máquina y la volvés a buscar dos días después, perdiste, está muerta.

Para solucionar eso estoy configurando lo que se llama suspend-then-hibernate, que funciona de la siguiente manera: cuando dejás de trabajar cerrás la tapa de la laptop y listo, y la máquina se suspende. Unos minutos después (cinco? veinte? es configurable) la máquina entra en estado de hibernación (que posta apaga todo). Más allá que es un incordio el detalle, este modo que ahora estoy "obligado" en configurar es algo que siempre quise tener :)

Algo que también tengo que ver de configurar (y entender qué beneficios me da) es el lector de huellas digitales que trae. Y más a futuro, le quiero comprar el dock y empezar a trabajar siempre en la laptop.

Comentarios Imprimir

Ira Glass y el trabajo creativo

Estaba buscando algo viejo que sabía tenía en algún archivo/backup (haciendo un poco de arqueología personal, digamos) y me crucé con este texto que guardé alguna vez, y me gustó volver a leerlo.

Habla de "trabajo creativo", y aplica perfectamente a lo que es desarrollo de software. Lo dejo traducido (por mí) acá. El autor es Ira Glass, un locutor yanqui bastante conocido allá, parece.

El texto original

Nadie le dice esto a las personas que están arrancando con algo. Ojalá alguien me lo hubiera dicho a mí.

Todos los que hacemos algún trabajo creativo, nos metemos en eso porque tenemos buen gusto. Pero hay una brecha. El primer par de años que hacés cosas, simplemente no están tan buenas. Intentan estar buenas, tienen potencial, pero no lo están.

Pero tu buen gusto, lo que metió en esto, es lo que te empuja. Y tu buen gusto es la razón de que tu trabajo te decepcione. Un montón de personas nunca pasan esta fase; renuncian. La mayoría de la gente que conozco que hace trabajos creativos, interesantes, atravesaron esta fase por años.

Sabemos que nuestro trabajo no tiene eso que lo hace especial que queremos que tenga. Todos atravesamos eso. Y si estás empezando o todavía estás en esta fase, todo lo que tenés que saber es que es normal y que lo más importante que podés hacer es trabajar un montón. Ponete una fecha límite de manera de terminar algo cada semana. Solamente trabajando mucho es que vas a cerrar la brecha, y tus resultados serán tan buenos como lo que pretendés.

Y tardé más en darme cuenta cómo hacer esto que cualquier otra persona que conocí. Va a tomar un tiempo. Es normal que tome un tiempo. Sólo tenés que luchar por eso.

Comentarios Imprimir