Coffee As a Service Architecture

Coffee As A Service Architecture

Intro

Today I was in a meeting with recruiters (yes, really) because they want to be better at technical recruiting and they had the idea that talking to me would help them (oh, sweet summer children).

A nice time was had by all (I hope) and at one point I was asked about what architecture was, and more specifically, about the difference between microservices and a monolith.

Which I tried to explain using what I had at hand: coffee cups, sugar dispensers, a spoon and so on. It didn't quite work out but I kept thinking about it on my way home and ... let's try again.

What is Architecture?

Architecture, when it comes to software, can be defined in many ways, but one way I like is to say that architecture involves:

  • What the components of your system are
  • How they are done
  • How they talk to each other

There is a lot more, but you start with that, and that is more or less enough to explain monoliths and microservices.

The Coffee Service

One thing of massive importance about systems is that they are meant to do something. They exist for a purpose. So, let's suppose the purpose of our system is to make coffee and put it in a cup.

We can call the cup the "coffee client" and whatever we use to make the coffee is the "coffee system" or "coffee service"

So, assuming you have a can full of cofee beans and a cup, how do you make coffee?

The Coffee Monolith

This is my very own coffee machine. Not only is it monolith-shaped, it's functionally monolithic (it's also large enough to deserve its own table, as you can see).

It has two buckets on top. On one you put water, in the other you put coffee beans. Then, you put a cup under the spigot and press a button or two.

It will:

  • Grind the beans
  • Put the ground coffee in the right place and apply the "right" pressure
  • Heat the water to the "right" temperature
  • Run water through the coffee grounds
  • Pour the coffee into the cup
  • Discard the grounds into a hidden deposit

Sounds awesome, right? It is!

It takes all of 30 seconds to go from coffee beans to a nice cup of coffee! It tastes good!

And it's important to keep that in mind. IT IS GREAT.

Monoliths, when they done correctly and you are not expecting anything out of their operating parameters, are awesome.

The problem with monoliths is not that they can't be done right, it's that it's hard to do them right, and that even when you do get it right, in our industry the meaning of "right" is not fixed.

So, because the whole point is to ride this analogy into the ground, let's consider all the things about this awesome machine.

Flexibility

It grounds the coffee. What happens if you want it ground finer? Or coarser?

It turns out that if you have the right tool you can adjust the mill's output (it's not in the manual).

In a microservice-based coffemaker I would replace the grinder.

How about water temperature?

It has three settings. Want anything else? No luck.

In a microservice-based coffee service I would just use an adjustable kettle.

How about the amount of coffee per cup?

It has three settings. Want anything else? No luck.

In microservice-cofee I would just transmit as much coffee as I wanted.

How about changing the bean variety between cups?

The bean hopper takes half a pound of beans. It's not easy to get them out. So, no.

In microservice-coffee heaven I could have multiple hoppers providing beans of all varieties and just connect to the one I want today!

Cup size?

It does two sizes (but you reprogram those sizes)

In microservice-cofee I would just pour as much water as I liked.

A monolith has the flexibility its designers thought of adding, no more, no less. And changing it is ... not trivial.

I could use a vacuum cleaner to remove the beans from the hopper and change varieties. I would consider that a hack. I have also done it. I regret nothing.

Unused Features

It has a thing that lets you setup a credit system for coffee cups I will never use. A milk foamer I use once a week. Why? Because "we may need this and it's hard to add it later, so let's just do it from the beginning" ground coffee.

Sometimes yes, it's useful (capuccino!) but sometimes it's just something I paid for and will never use (coffee credits!)

In a microservice architecture I would just get a new milk foamer, use both for a while and then keep using the one I like.

Hard to Improve

How do I add a better foaming thingie?

By buying one and putting it in the table.

How do I add a more flexible coffee grinder?

I can't because this machine is incompatible with pre-ground coffee. There is a newer, more expensive model that can take that but this one? You need to throw it away.

Modifying a monolithic system is difficult because the pieces are tightly coupled. I can't use a separate grinder because the system requires the coffee grounds to arrive via a specific internal duct at a specific point in the coffee-making cycle, there is just no way to insert my grind-o-matic-3000 in there without a saw and duct tape.

In a modular system I would unplug the grinder and insert a compatible-but-different grinder, in a microservice architecture I would just use whatever grinder and put the coffee grounds in a message and have the next piece in the system pick it from there.

Expensive

This coffee machine is expensive. It's much more expensive than buying a grinder, a coffee machine a kettle and a milk foamer.

What it provides in exchange for the extra money (and reduced flexibility and so on) is performance. I don't boil water, I don't grind coffee, I don't pour, I just press a damned button and enjoy coffee.

Outsourcing

You can buy pre-ground coffee and effectively outsource that part of the process to some external provider.

I can't! I am doomed to ground my own coffee forever.

Maintenance

I have a lubrication schedule, or else my expensive machine will break.

I have to disinfect the coffee ground bin or else it will have maggots.

I have to empty the water waste tray before it overflows.

I have to have a thing to dump the bits of dirty water it uses to clean itself when it turns on/off.

I have to buy special acid to periodically remove scale from its innards or it will stop working. That costs actual money and takes half an hour.

I need to cleanup coffee crud from all the internal springs, levers and thingies every couple of weeks.

Now, you, readers with normal coffee making things? How is your coffee machine maintenance routine? What, you don't have one? Thought so.

Conclusion

So, that's why nowadays most people prefer to pay the performance penalty of a microservice architecture instead of using an awesome monolith.

This is not exhaustive, there is still separation of concerns, encapsulation, rigidity of contracts and a lot more, but it should be convincing enough without being dogmatic :-)

Celular barato 3: una vez más, con sentimiento

Celular barato 3: una vez más, con sentimiento

Nunca tengo celulares caros. No tenía un celular caro en 2010 y no tenía un celular caro en 2018 y adivinen qué, no tengo un celular caro en 2019.

Mi empleador me mandó a trabajar una semana a San Mateo (extrañamente no es la primera vez que voy a San Mateo) y aproveché para hacer una compra de cierto riesgo si tratara de hacerla desde Argentina: un celu.

Si lo comprara acá y no anda es más caro devolverlo que otra cosa, así que siempre me dió cosa. Estando allá, con delivery en 24 horas? Es otro tema.

Me compré un UMIDIGI One ... ¿Un qué? Un UMIDIGI One.

UMIDIGI es una marca china de cuarta línea que hace celulares con specs "gama media alta" con precios de gama baja apuntando a mercados como Bangladesh. Entonces, era una apuesta interesante. Si el celu sale bueno, es mucho celu para lo que cuesta.

¿Cuanto cuesta? 120 dólares.

Eso son unos $4800 que es menos de lo que acá sale el smartphone más barato de mi proveedora de telefonía (Personal)

UMIDIGI tiene muchos modelos, este es de los más baratitos. En particular tiene dos variantes, el One y el One PRO. La diferencia es:

  • El PRO tiene menos batería
  • El PRO tiene carga un poco más rápida
  • El PRO tiene carga wireless
  • El PRO tiene NFC

Ninguna de esas cosas me hace alguna diferencia, entonces veamos lo que sí viene en el One:

  • Pantalla con bordes finitos y notch (90% screen/body ratio)
  • Cámara dual 12+5 (tal vez de mentira) pero con un lindo sensor Sony
  • CPU Helio P23 (una Mediatek gama media)
  • 4GB de RAM
  • 32GB de storage
  • Android 8.1 mas-o-menos-stock
  • Frente y "espalda" de vidrio (muuuuy lindo)
  • Una fundita y un protector
  • Lector de huellas al costado
  • Soporta todas las bandas habidas y por haber de cualquier lugar del sistema solar.

La performance para lo que lo uso es buena, la pantalla es muy linda, la batería aguanta tranqui un día largo, tiene jack de audio... la verdad está muy bien.

Saca lindas fotos!

Lo malo:

  • Tiene una tendencia a colgarse de vez en cuando. Al parecer es una sensibilidad a la estática!
  • No hay mucha ROM alternativa (me gustaría poder subirlo a Android 9)
  • Siempre sospecho que se me va a caer o rayar porque es de vidrio (pero hasta ahora no)
  • Si lo ves de lejos parece un IPhone
  • El protector era de plástico, no de vidrio, así que lo saqué
  • La cámara dual es mentira, ninguna app la soporta salvo la stock y sospecho que hace el bokeh por soft

Sinceramente estoy contento, el Moto E ahora es el celu de Tato, y volvería a comprar otro UMIDIGI, hay algunos modelos que son super tentadores como el S3 PRO o el F1.

Clarke no la vio venir

Clarke No la Vio Venir

Ayer escuchaba "Pasaron Cosas" en la radio y pusieron al aire un terraplanista. Lo hicieron con la saludable intención de reírse de él, pero ...

Nada, una cosa lleva a la otra, menciono que al parecer algunos terraplanistas creen que el GPS funciona en base a cables submarinos y entonces un amigo inteligente que tengo dijo esto:

Es una referencia (supongo) a la tercera ley de Clarke:

Toda tecnología lo suficientemente avanzada es indistinguible de la magia. -- Arthur C. Clarke

Pero sospecho que la relación entre una cosa y la otra no es la que Clarke imaginó, o la que esperaba.

Clarke pensaba (creo!) que si repentinamente nos viéramos expuestos a la experiencia de una tecnología mucho más allá de la que experimentamos día a día, muy superior a la tecnología que reconocemos como tecnología entonces parecería mágica.

Entonces, si aparezco en el medioevo y les muestro un helicóptero, parecería magia. Siempre tuve mis dudas al respecto, de todas formas.

Lo que está pasando hoy en día es otra cosa. No es tecnología alienígena la que parece magia, es tecnología alienada.

Alienada en el sentido de ser "ajena". El GPS no funciona en base a cables submarinos. Los sextantes funcionan. Hay satélites dando vuelta sobre nuestras cabezas. Pero todas esas cosas son ajenas para la mayoría de la gente.

Casi todas las preguntas que uno puede hacerse sobre la naturaleza del mundo tienen respuestas fractales que se vuelven más complicadas a medida que uno las ve con más atención.

¿Como sabés que esa foto satelital de tu casa en Google Maps es de un satélite (probablemente no lo sea)? ¿Cómo sabés que tu celular usa GPS para saber donde estás (no usa sólo eso)?

El tierraplanismo no es un movimiento anticientífico. De hecho es casi lo contrario. Es un movimiento equivocado, sí, todo lo que dicen está mal, sí.

Pero es, sospecho, en el fondo, un intento desesperado de apropiarse de la realidad. De pensar que hay una realidad sencilla, alcanzable para el humano de a pie. Que el mundo ha vivido equivocado y yo, Jorge de Berazategui, lo veo.

La tierra parece plana. La tierra, localmente es plana. O incluso cóncava. Obvio, a otra escala, mayor, no lo es. Yo lo sé. Pero imagináte lo que se sentiría ser el que "sabe" que todos los demás están equivocados. Todos tenemos alguna opinión super minoritaria en algo.

  • El helado de dulce de leche? Overrated.
  • El asado es una comida sencilla de hacer y poco satisfactoria.
  • El fútbol es un deporte bastante aburrido.
  • Natalia Oreiro es una chica promedio.

Seguro que al menos uno de esas frases te va a parecer casi tan ridícula como decir que la tierra es plana. La diferencia obvia es que esas frases son sobre gustos, u opiniones subjetivas.

Pero hay realmente una línea dura que separe lo subjetivo de lo objetivo?

Pensemos en el "giro copernicano". Los defensores del modelo Ptolemaico eran los mejores observadores astonómicos de la época. Sus increíblemente laboriosas mediciones del movimiento aparente de los planetas proveen una de las mejores maneras de mostrar que el sistema heliocéntrico es "verdad".

¿Pero que hacían ellos? Tomaban su modelo geocéntrico de círculos perfectos y lo mejoraban. Agregaban epiciclos, más círculos sobre círculos, y resulta que eso hacía que el modelo funcionara. De hecho, es la base del "análisis de Fourier" una técnica que dice que sí, cualquier cosa se puede describir como una acumulación de círculos. ¿No me creés? Mirá esto:

Ahi ves como se aproxima una onda "cuadrada" usando 4 círculos. No hay un movimiento posible de los planetas que no se pudiera explicar agregando más epiciclos, más círculos.

Lo que estaban haciendo los Ptolemaicos es decir "¡ajá! Mis observaciones de la realidad indican que mi modelo actual no es correcto. Voy a hacer lo que hay que hacer, y modificar mi modelo."

Tenían razón, y no eran negacionistas, estaban haciendo lo mejor que podían, eran brillantes y aceptaban la "realidad de lo real", y actuaban en consecuencia de manera inteligente.

Sí, estaban equivocadísimos, pero hay una tendencia, al verlos desde el siglo 21, de decir "mirá que boludos, como no se dieron cuenta que un modelo de órbitas elípticas era una explicación mucho más elegante de los movimientos observados".

Bueno, no se les ocurrió. Esa es toda la diferencia.

Y realmente, si uno se basara en hacer coincidir observaciones con resultados del modelo, no hay nada que impida que el modelo ptolemaico logre el nivel de precisión que se te ocurra. Y tampoco es que el modelo de órbitas elípticas Kepleriano es perfecto ... la preferencia por el modelo copernicano, en ese momento, era bastante subjetiva que querés que te diga.

Y ya que estamos, Kepler también metió una pila de misticismo pitagoreano en sus teorías, así que no hagamos como que un lado era "ay los clásicos" y el otro era "uy, la ciencia" porque eso es proyectar desde hoy al pasado. El pasado siempre fue más complicado de lo que parece ahora.

Un terraplanista te responde a "¿si la tierra no es redonda, como es de noche en Japón cuando acá es de día?" con "el sol está cerca y da vueltas alrededor del polo norte", y cuando le decís "¿pero entonces como se produce un eclipse lunar?" te pueden decir que hay un "objeto sombra" que da vueltas alrededor del sol a un ángulo de 5 grados y bla bla bla oculta la luna. Están tomando su modelo y lo modifican para que coincida con lo observable. Es una versión degradada, clase B, de los astrónomos ptolemaicos.

¿Entonces, que hacemos con los terraplanistas? Ni idea. A pesar de lo tentador que es reírse de ellos, no los vas a convencer de nada así. Si ese es tu objetivo, deberías saber que no estás actuando de manera de lograrlo.

Se puede intentar razonar con ellos, pero no sé hasta que punto sirve. Argumentos tales como "Si la tierra es plana la atracción gravitacional haría que en la patagonia pareciera que el sur está cuesta arriba" o "Si la tierra es plana entonces volar de Buenos Aires a Ciudad del Cabo sería imposible porque quedaría lejísimos" son indiscutibles y a pesar de todo van a ser discutidos.

Tal vez la gravedad no funciona como Newton dice, tal vez la perspectiva no funciona como vos creés, tal vez hay tremendos vientos de cola que hacen que los aviones vayan más rápido mientras más al sur ... en ambas direcciones. No lo sé.

El modelo del mundo que crea un terraplanista sólo necesita ser lo suficientemente bueno para impedir que la disonancia cognitiva le impida creer en el terraplanismo, igual que un creyente complica su idea de dios lo necesario y suficiente como para convencerse de seguir creyendo.

Yo prefiero asumir que no puedo convencerlos, lo que me libera para decir que su teoría es una pelotudez, pero eso soy yo, no otro.

57 channels and nthing on

57 channels and nothing on

Empecé a usar Internet allá por 1995, cuando tenía 23 o 24 años. Este año cumplo 48, lo que quiere decir que llevo casi exactamente la mitad de mi vida online.

Me acuerdo de las primeras páginas web que ví, pero mucho más me acuerdo de los primeros canales de chat que visité en IRC y de los primeros grupos de discusión en los que me metí. No voy a comentar cuales fueron porque dan vergüencita, pero sí quiero hablar de lo que yo creí que sería el futuro.

Ya en 1995 la cantidad de información era abrumadora. Ya en 1995 era posible encontrar casi cualquier cosa online, y en particular gente discutiendo de esa cosa.

¿Programación? Obvio que había gente discutiendo.

¿Un lenguaje específico? Por supus.

¿Una biblioteca o programa escrito en un lenguaje específico? Más vale.

¿Una teoría? Me extraña araña.

Ya en 1995, hace la mitad de la vida de este gordo actualmente pelado, era posible exponerse a todas las ideas. Y este en ese momento no tan gordo ni tan pelado pensó ... "seguramente esto va a hacer que la gente se de cuenta cuando esté equivocada y disminuya la cantidad de gente diciendo boludeces".

Desde ya que es tal vez la cosa más equivocada que he dicho en mi vida.

Resulta que el problema no es a cuantas cosas distintas podés exponerte sino lo fácil que es no exponerte a ninguna.

Imaginemos dos mundos alternativos, cada uno de ellos habitado por 100 personas con 25 ideas distintas.

En el mundo A, hay 10 plazas en las cuales la gente se junta todos los días porque están los negocios donde compra lo necesario para vivir y los lugares de trabajo.

Entonces las personas van a ir, en promedio 10 a cada plaza todos los días, y (supongamos) visitan menos frecuentemente otras 4 o 5 plazas. De esa manera se van a exponer a las ideas de unas 50 personas, que (asumiendo mucho) serán unas 12 ideas.

Entonces esas personas van a "conocer" la mitad de las cosas. Sus ideas personales necesitan coincidir o al menos no contradecir obviamente la mitad del conocimiento del mundo.

Eso implicaría que ese mundo va a tener personas con ideas mas o menos consistentes. Habrá excéntricos, pero va a haber un cierto nivel base de ideas incontrovertibles.

Ahora imaginemos un mundo B, en que hay 100 personas, de nuevo, con 25 ideas distintas, pero en que hay 100 plazas. Cada una de esas plazas es propiedad de una persona, y tiene todo lo que necesita.

Hay, además, enormes carteles alrededor de cada plaza, explicando lo que piensa el que allí vive. Y las 100 personas pasean a diario por caminos disjuntos que los llevan a ver las plazas de los demás desde fuera.

Es un mundo donde se vive aislado, pero donde el contacto con el otro está disponible todo el tiempo. Todo lo que tenés que hacer es, cuando estás cerca de una plaza, es decidir entrar.

Obviamente, ya que podés elegir entre 100 plazas, vas a ir a las que más te gusten. Para qué vas a ir a lugares feos ¿no?

Entonces vas a ir a plazas que los carteles describan en términos que te gusten. Vas a ir a plazas de "gente como uno". Si te gusta el helado de dulce de leche, vas a ir a plazas donde hay gente que le gusta el helado de dulce de leche, no el de sambayón.

Cuando dos personas que les gusta la misma cosa se juntan, ambos refuerzan el gusto del otro.

  • Que rico es el dulce de leche!
  • Cuanta razón tiene, don Cacho.
  • Eso digo yo.
  • El helado de dulce de leche es muy superior a todos los demás.
  • Esos sambayonistas son incomprensibles
  • No saben lo que se pierden!

Transformar el aprecio compartido de algo en desprecio a lo distinto es un proceso simple. Es fácil. Es placentero.

La internet es ese mundo B elevado a una potencia ridícula. Si te parece que el helado de dulce de leche es rico, te unís al grupo de Facebook "Aguante el helado de dulce de leche" y al mes estás en el grupo de Whatsapp "Mueran los salvages sambayonitarios"

No es el "efecto burbuja" o "cámara de resonancia", o al menos no es sólo eso. Vos sabés que hay gente que le gusta el sambayón. ¿Nada más que son ... raros, no? No son gente "como uno". Gente de bien. Gente de dulce de leche.

Y así estamos.

Coding in anger: not-gitbook

I have, intermitently, for the past few months, been writing a book. You can see it here and I am fairly happy with how it's going.

I am not so happy with the tooling.

When I started writing it, I didn't want to write a tool, I just wanted to write a book. So, I looked for "things to make a book out of markdown" and found a few, including mdBook and gitbook and tried them both, then decided to go with gitbook because it seemed more developed.

But, you know how this works. Things started drifting.

One initial obstacle was that I wanted the code in the book to come from the actual working code, not be a copy. I also wanted to "execute" the chapters and make the output of the chapter's code part of the chapter itelf.

I found a nice tool for this called pyLiterate which... I ended up extending to allow for things such as "include this piece of code from that file but do not execute it" and whatever, and integrating it into gitbook involved ... a lot of Makefiles.

And then wen the output appeared in gitBook ... I really didn't like how syntax highlighting worked. I wanted prettier and specifically to be able to highlight some lines, and to have line numbers matching the file contents and not starting from 1 ... and I ended up writing a Gitbook Extension

And I added support for graphviz in pyLiterate because I wanted SVG diagrams as part of the code and not as separate things.

And I wrote and I wrote.

And then life happened and I stopped writing. And whenever I wanted to start writing again in a new setup something broke.

  • Maybe the gitbook version installed or its dependencies had a security issue and needed updating.
  • Maybe the updated gitbook broke my plugin
  • Maybe things just were "off" and I had to track it down*

And a couple of days ago, I just got angry. And what the hell this is just a lame static file generator and I know those suckers.

So, I decided to see how much work would it be to reimplement, somewhat dumbly, gitbook.

Well, really, it's about a day's work (for a low quality version)

  • Supports all I want
  • Supports plugins
  • Supports arbitrary markdown preprocessing
  • Supports arbitrary markdown renderer hacking
  • Uses mistune for markdown, which kicks ass
  • Uses jinja2 for templates and they are 10x simpler than in gitbook AND THE OUTPUT LOOK THE SAME. I mean, there is one template

I logged the work, which was at a very relaxed pace over a couple of days here and published not-gitbook in gitlab

I could migrate my book to the new toolchain in a day more work, mostly involving implementing things gitbook doesn't do and I am hacking via Makefiles.

It's surely not ready for any real usage but feel free to poke around and contact me if you want to use it.

Out on Blue Six

  • Author: Ian McDonald
  • Rating:
  • See in goodreads
  • Review:

    Had a bit of a hard time finishing the book. At a certain point around 2/3rds of the way in the language got just too flowery and psychodelic.

    In any case, it's pretty good!

DeVicenzo 2

A long time ago I "wrote a web browser". Those there are some very heavy quotes. You may imagine me doing air quotes while I write it, maybe?

That's because I didn't really, what I actually did was write UI around Qt's webkit-based widget. It was a fun project, specially because I did it with the absurd constraint of staying below 128 lines of code.

And then I did not touch if for six years. But yesterday I did.

commit 0b29b060ab9962a32e671551b0f035764cbeffaa
Author: Roberto Alsina <ralsina@medallia.com>
Date:   Tue Oct 30 12:32:43 2018 -0300

    Initial PySide2 port

commit 831c30d2c7e6b6b2a0a4d5d362ee7bc36493b975
Author: roberto.alsina@gmail.com <roberto.alsina@gmail.com@1bbba601-83ea-880f-26a2-52609c2bd284>
Date:   Fri Jun 1 15:24:46 2012 +0000

    nicer, smaller margins

Six years is a long time. So, nowadays:

  • I prefer my code to be formatted better
  • Python 3 is the thing
  • PySide is official, so I would recommend using it instead of PyQt
  • Qt is now on version 5 instead of 4

So, with those new constraints in mind, I ported DeVicenzo to the latest everything, formatted the code properly using black, and expanded by line limit to a generous 256.

And Here it is ... it's not realy useful but it is an example of how expressive the Python/Qt combination can be, even while being an absurdly bad example nobody should follow (Oh, the lambdas!)

screenshot

La Fundación Mítica de Gorilandia

El Mito

Es posible aprender sobre un grupo humano por los mitos que elige creer. Esos mitos elegidos son siempre expresión de un valor compartido entre los miembros, o por lo menos de un valor aspiracional, de lo que quieren ser, o de lo que quieren creer que son.

Si tu mito es que dios salvó a tu tribu, querés creer que tu tribu es la favorita, que todas las cosas que pasaron fueron parte de un plan de tu dios, y eso explica cosas.

Si tu mito es que son descendientes de una ciudad mítica, es porque vos querés que tu ciudad actual sea la heredera de esa ciudad mítica, y eso explica cosas.

Si uno de tus mitos es que una persona intachable, inteligente, sabia, fue perseguida sin motivos por un tirano ... eso explica cosas.

Y el mito fundador de gorilandia es que Perón persiguió a Borges humillándolo, y que eso es expresión del odio por la intelectualidad del peronismo, de que el antiperonismo es el dueño de la inteligencia, y sobre todo, de que el peronismo es una colección de mezquindades que ataca a alguien tan indefenso como un escritor ciego y para humillarlo lo nombra en un cargo ridículo en vez de despedirlo o vaya uno a saber qué.

Veamos algunas de las versiones contemporáneas del mito, obtenidas googleando al azar.

Borges era empleado desde 1937 en la biblioteca municipal Miguel Cané. Según una versión, debido a su público antiperonismo, fue designado "inspector de aves, conejos y huevos"

-- Ruben H Ríos

En 1946 Borges fue removido de su puesto en la Biblioteca Miguel Cané, de Boedo, y nombrado por el burócrata Emilio Siri como Inspector de pollos, gallinas y conejos en las ferias municipales.

-- Alguien en la revista Sudestada

En 1937 Borges se empleó en la biblioteca municipal Miguel Cané. En la década siguiente, su oposición abierta al peronismo lo obligó a dejar el cargo. Según una versión, luego fue nombrado "inspector de aves, conejos y huevos" por el gobierno.

-- Alguien en La Nación

Si se buscaran fuentes menos informadas se encontraría gente que cree que fue en la Biblioteca Nacional (no, fue en la Biblioteca Municipal Miguel Cané) y el nombre del cargo en que se lo nombra varía.

Sin embargo, el núcleo del mito es ese. Perón y sus esbirros, ante el antiperonismo de Borges, ínclito escritor, le quitan su puesto en la biblioteca y lo mandan a hacer algo "indigno" obligándolo así a renunciar como parte de una persecución política.

Empecemos por algunas de las cosas en las que hay acuerdo.

  • Borges fue nombrado en la Biblioteca Municipal en 1937 (o más probablemente 1938) como "hemerotecario auxiliar" o "asistente" trabajando en catalogar el fondo bibliográfico.

  • Obtiene el cargo "por recomendación de Adolfo Bioy [padre de Bioy Casares]" o de su amigo Francisco Bernardez

  • Trabaja ahí hasta 1946

  • Perón llega al poder en 1946 (o 1945, depende de a qué llames poder)

Ése es el núcleo más o menos indiscutible. Lo demás ... bueno, lo demás veremos.

Borges, El Ñoqui

Partamos de que Borges entró por acomodo. En 1937, con casi cuarenta pirulos, Borges había tenido trabajo ocasional como asesor para Emecé, y escrito una columna semanal para la revista El Hogar, mientras trataba de hacer que su carrera literaria despegara. Nada en su currículum indicaba que estuviera ni remotamente calificado para trabajar de bibliotecario o archivista. Su conocimiento de los detalles técnicos del funcionamiento de una biblioteca o hemeroteca consistían en que le gustaban las bibliotecas.

Según algunas fuentes fue el padre de su amigo Bioy, según otras fue Francisco Bernardez, que dirigía la biblioteca, pero alguien habló con alguien más y le consiguió un puestito en una biblioteca en Boedo.

Una vez acomodado en ese puesto, Borges procedió a no hacer nada durante la siguiente década, por lo menos en cuanto a trabajar. Leamos al mismo Borges contando su experiencia:

Ahora, yo hubiera debido dejar esa biblioteca --era un ambiente asaz mediocre-- pero seguí trabajando. No sé si la palabra "trabajando" es exacta; éramos, creo, unos cincuenta empleados, y nos asignaron un trabajo que tenía que ser lento.

Yo recuerdo que me dieron libros para clasificar el primer día, y el manual de Bruselas, que emplea el sistema decimal el mismo que se usa en la Biblioteca del Congreso de los Estados Unidos. Yo trabajé, y creo que clasifiqué casi ochenta libros había que simular que se trabajaba cada día, yo clasifiqué los libros y eso se supo; y, al día siguiente, uno de los compañeros vino a recriminarme, me dijo que eso era una falta de compañerismo, porque ellos se habían fijado un promedio de cuarenta libros para clasificar por día.

Ahora, para fines de realismo, esos cuarenta no eran siempre cuarenta; podían ser treinta y nueve, treinta y ocho, cuarenta y uno, para que todo resultara más verosímil, ¿no?, según exige la novela naturalista. Entonces, me dijo que yo no podía seguir así, y yo, al día siguiente, clasifiqué treinta y ocho, para no quedar como presuntuoso.

Bueno, y entonces, ¿qué sucedía?: el trabajo que teníamos que hacer se cumplía en, digamos, media hora o en tres cuartos de hora; y luego quedaba el resto de las seis horas, que estaban dedicadas a conversaciones sobre fútbol tema que ignoro profundamente, o si no chismes, o si no, por qué no, cuentos "verdes". Ahora, yo me escondía porque había encontrado una extraña ocupación: la de leer los libros de la biblioteca. Yo le debo a esos nueve años el conocimiento de la obra de León Bloy, de Paul Claudel; volví a releer los seis tomos de la Historia de la decadencia y caída del Imperio Romano, de Gibbon, y conocí libros de los que no tenía noticia. De modo que aproveché el tiempo.

No crean que fue una década improductiva. De hecho, literariamente, fue la década en la que Borges escribe y publica sus mejores obras. El jardín de senderos que se bifurcan, El Aleph, Seis problemas para don Isidro Parodi, Ficciones ... es la década en que Borges comienza a ser reconocido.

Lo de los compañeros diciéndole que no trabaje tanto suena un poco inverosímil, así como la idea de que la biblioteca Cané tuviera 50 personas catalogando el patrimonio bibliográfico, pero bueno, claramente lo que muestra esta anécdota es que Borges un empleado ejemplar no era.

Borges mismo en El Aleph describe así al protagonista Carlos Argentino Daneri:

Carlos Argentino es rosado, considerable, canoso, de rasgos finos. Ejerce no sé qué cargo subalterno en una biblioteca ilegible de los arrabales del Sur

El Aleph fue escrito en esos años por Jorge Borges, subalterno en una de esas bibliotecas ilegibles.

Admito que estoy pecando al aplicar estándares de 2018 a cosas que pasaron hace más de setenta años. En esa época se aceptaba que los empleados públicos eran acomodados, que no trabajaban, que esos puestos de auxiliar en biblioteca eran sinecuras para ovejas negras de familias bien que no podían ganarse la vida de otra forma.

Queda así planteada la situación alrededor de 1945. Jorge Luis Borges, casi cincuentón, escritor que está teniendo sus primeros éxitos en el mundo de las letras y vive de no trabajar en una biblioteca municipal hace una década, descubre el peronismo. ¿O no?

Enter Perón

Borges fue famosamente antiperonista y era bueno para la chicana. Por lo tanto, hay muy buenas chicanas antiperonistas borgeanas:

Los peronistas no son ni buenos, ni malos; son incorregibles.

Mire, yo detesto a los comunistas, pero, por lo menos, tienen una teoría. Los peronistas, en cambio, son snobs.

Perón no me pudo perdonar que cuando estaba en Norteamérica me hayan preguntado por él y yo haya dicho que "no me interesaban los millonarios" ni que, cuando me preguntaron por la mujer, haya dicho que no me interesan las prostitutas.

La peor desdicha es que lo derrote a uno la gente despreciable. Los peronistas a nosotros.

Los peronistas son gente que se hace pasar por peronista para sacar ventaja.

Partamos de lo más básico. Borges, en 1945, era un desconocido. Sí, estaba comenzando a adquirir una módica fama en ambientes literarios, pero no era Jorge Luis Borges todavía, así, con negritas. Era un escritor.

En 1945 y 1946, cuando el presidente era Farrell (no Perón) Borges firma solicitadas. Había un decreto (deleznable) que prohibía que los empleados públicos emitieran declaraciones políticas. Borges es sumariado por ese decreto antes de que Perón asuma el poder.

Pero aún si hubiera sido sumariado luego de que Perón tomara la presidencia ... ¿Es creíble que uno de los primeros actos de su gobierno fuera sumariar a un auxiliar de tercera en una biblioteca de barrio? Más aún cuando había motivos de sobra para simplemente despedirlo por incumplir su trabajo durante años.

Pero ignoremos por el momento lo que pueda haber sucedido... que cuenta Borges que sucedió?

Como a mí me da por firmar todo lo firmable, resulta que firmé cuanto manifiesto me trajeron los amigos [...] Hace pocos días me mandaron llamar para comunicarme que había sido trasladado de mi puesto de bibliotecario al de inspector de aves —léase gallináceas— a un mercado de la calle Córdoba. Aduje yo que sabía mucho menos de gallinas que de libros.

-- Borges, entrevista con diario El Plata, 1946

En algún resquicio de esa tarde única, yo temerariamente firmé alguna declaración democrática [...] me ordenaron que prestara servicios en la policía municipal. Maravillado por este brusco avatar administrativo, fui a la intendencia. Me confiaron, ahí, que esa metamorfosis era un castigo por haber firmado esas declaraciones.

-- Borges, discurso en cena de la SADE, 1946

Y luego, cuando subió el que sabemos al poder, entonces la municipalidad me nombró inspector para la venta de aves de corral y de huevos... yo, desde luego, no sé absolutamente nada sobre ese tema, y mandé mi renuncia, que es lo que se esperaba.

-- Borges, entrevista, 1999

Nótese que en esos cincuenta años lo que se pierde es lo de "firmé cuanto manifiesto me trajeron los amigos"y en 1946 se arrogaba el puesto de "bibliotecario" que estrictamente no tenía y luego desprecia.

¿Que eran esos manifiestos? ¿Eran acaso manifiestos antiperonistas? Bueno, más o menos, ya que el peronismo no existía aún como tal. Si quieren leerlo, acá está el texto

Eran claramente contrarios al gobierno del momento, de Edelmiro Farrell, y de hecho Perón fue elegido en las elecciones que ese manifiesto reclama, en febrero de 1946, porque Borges siempre estuvo a favor de elecciones libres en las que ganara el candidato de su preferencia.

De hecho, la idea de que todo el incidente fue represalia no por antiperonismo sino por antinazismo es sostenida por Victoria Ocampo en 1961, en una entrevista que recuerdo pero no encuentro.

Si se lee la entrevista con el diario El Plata de Montevideo, se puede apreciar que está escrita en chiste y es ahí donde surge la idea del inspector de gallinas. Cuando lo escribe en serio Borges dice algo distinto.

De hecho, si se le pregunta a terceros surge una historia distinta. María Esther Vazquez, biógrafa de Borges cuenta lo siguiente:

Siempre se dijo que Perón lo hizo renunciar a Borges de la Biblioteca Miguel Cané, y eso es mentira. Fue el Director de Cultura de la Municipalidad de Buenos Aires el que lo despidió, cuando era intendente de la ciudad el señor Siri.

Yo entrevisté a quien fuera director de cultura en aquella época, cuando escribí la biografía de Borges, y le pregunté, y este señor me dijo: (3) ¡Qué quería! Si este hombre (por Borges) era un holgazán, no hacía nada, esa gente molesta, son parásitos. Entonces, en ese momento, algunas personas le pidieron que no lo despidiera porque, alegaban, Borges no tenía como ganarse la vida, y este hombre se apiadó y lo derivó al Departamento de Apicultura, de miel y abejas.

Y Borges, cuando salió de la intendencia dijo, y yo creo que a Alicia Jurado: Me pasaron a un departamento que es exactamente igual como si me hubiera designado inspector de Aves, conejos y huevos. Ahí surgió el mito de esa designación, pero en realidad era en el departamento de Apicultura.

De nuevo Vazquez:

Instaladas las autoridades peronistas, desde la intendencia de Emilio Siri le llegó a Salinas una lista de los cesantes; Borges figuraba allí. Francisco Luis Bermúdez, amigo de Borges y adscripto a la secretaría, le pidió al secretario que no lo echara. “Entonces decidí trasladarlo a la Escuela de Apicultura de la Intendencia”, dice Salinas

No sé si este Francisco Bermúdez no sería Francisco Bernardez, el que le había conseguido su primer cargo en la biblioteca, consiguiéndole un segundo conchabo con el resultado de ser despreciado por hacer un favor.

Luego de dejar de trabajar en la biblioteca Borges cuenta:

Y, en realidad, eso finalmente me hizo mucho bien, ya que inmediatamente me llamaron del Colegio Libre de Estudios Superiores, yo empecé a dar conferencias — yo tenía que hacer algo — , bueno, gané bastante dinero

-- Borges, Entrevista, 1999

Olvida mencionar que esas conferencias las pagó Victoria Ocampo. Pero eso es otra historia.

Incluso, la mayoría de los hechos que se citan como fuentes del antiperonismo de Borges son posteriores. ¿El arresto de su hermana y su madre? 1948. ¿Su oposición a Perón desde la SADE? 1947 en adelante. ¿El arresto de Victoria Ocampo? 1953.

No son motivo para que el gobierno de Farrell o Perón estuvieran enemistados con él en 1946. Antes bien pareciera que su antiperonismo es efecto de este episodio, y no causa.

Y Entonces?

Entonces, sospecho que la historia "real" fue mas o menos así:

Borges entra, acomodado, de ñoqui en una biblioteca municipal, donde procede a no trabajar y dedicarse a leer y escribir, dando forma a sus primeros éxitos literarios.

Por motivos políticos es sumariado y cesanteado por algún burócrata municipal, no por Perón. Apiadándose de él un amigo le consigue un traslado a algún otro lado, pero no de inspector de gallinas. Da una entrevista en chiste, y el chiste queda.

Al no querer aceptar el traslado, supongo que porque involucraba trabajar y salir de la tranquilidad de la biblioteca, presenta la renuncia que es aceptada.

Nunca reconoce que una de sus mejores épocas como escritor fue posible gracias a ser un empleado público corrupto y a ser apañado por amigos y favorecedores que le consiguen refugio para su impracticidad en la vida.

Durante los siguientes 50 años ese chiste se convierte en "la verdad" y la raíz de un mito fundacional del antiperonismo. Esa estadía en la biblioteca se convierte, por un lado, en una especia de paraíso perdido, el cielo en forma de biblioteca, pero por otro en un ambiente mediocre donde es hostigado por seres toscos que quieren hablar de San Lorenzo de Almagro y contar chistes verdes.

Borges, como todo elitista, siente orgullo de sus ignorancias, desprecio por actividades que desconoce. Esa amargura en el sentido lunfardo de la palabra envenena todas sus relaciones con aquellos que no le rinden pleitesía, con las contadas excepciones de quienes considera sus pares.

Así, Borges crea su propia mitología interna y encara una longeva vida de inusitada infelicidad.