A more expressive vocabulary for programming

map and friends are more precise, sophisticated ways to talk about consistent patterns in data manipulation. Using them over for is analogous to using the word “cake” instead of “the kind of food that you make by whipping egg whites and maybe adding sugar”.

Interestingly, you can eventually add new layers of category on top of established layers: just like saying that butter cakes constitute a specific family of cakes, one could say that pluck is a specialization of map.

Of vocabulary and contracts, Miguel Fonseca.

Simple made easy

Precise words make communication more efficient. Arguably, software development is about managing conceptual complexity. Simple made easy, by Rich Hickey is a talk that tackles those two topics.

Two takeaways from this talk:

  • The differences between simple and easy.
    • Simplicity is an objective measure, and its units are the level of interleaving (of concepts). Simplicity should not be measured by the cardinality, the number of concepts/units.
    • Easiness is a subjective measure, and it is related to how familiar you are with some topic or your past experience.
  • We can make things simple with the tools we already have by favoring concepts that make things simpler to reason about, not quicker to write. He recommends:

See also:

La La Land

Now, this is a musical that I like. Entertaining, moving, and complex.

I wouldn’t say musicals are my kind of films. My personal favorite is Sweeney Todd: The Demon Barber of Fleet Street, which is typical Burton. I didn’t like Les Misérables and haven’t watched Moulin Rouge. That’s my track record. Yet, this film is energizing, jazz everywhere, a colorful photography, with brilliant performances by Stone & Gosling.

At the core, I’d say this is a wonderful love story, with a positive and naïve message – just what we need right now. That’d be enough to recommend it. At the same time, it is not what would you expect from a Hollywood film: it is sad in many and fundamental ways, which makes the film a modern story about love, life, and personal growth. And has an epic soundtrack.

To the hackers that grew older

A rant about the need to create more community-centered software, instead of focusing too much on the individual.

The Hacker Ethic and the Spirit of the Information Age, by Pekka Himanen, was one of those essays that had a big influence on my early years. It resonated with how I felt about a lot of things: the joy of learning and work that has a purpose are two that I remember now. It was the first time I had thought about how we compartmentalize our lives into chunks of time, which are more or less isolated.

One thing I didn’t realize at the time was who this essay was written for: a generation of individuals, with friends & family, but that see themselves self-contained, as units of life on Earth. Given that the book defined the zeitgeist that has driven one of the major social and cultural changes of the human race, this is no minor issue. Like Jack Sparrow in the Pirates of the Caribbean, this generation had a mindset of fighting for their liberty against companies and governments – as individuals.

This attitude towards life, I believe, is one of the reasons why the products we create and consume are tailored to the individual and not to the communities: we have a personal music account, a personal pictures account, a personal email account, etc. Solutions that take the group into account are rare and mostly exist for production-driven organizations (companies or volunteer based bodies), but less for leisure or consumer communities.

As we grew older and our communities became online, they asked us for help. So we created the “pay the service for user” feature as to pay for our relatives accounts, the family plans in our music and video stores, or the network setup for our publishing platform. These changes reflect a fundamental and more human way to interact with others through technology. We are still in the early stages, but I expect this pattern to become stronger because one of the drivers for this to happen is that we have grown older in the same way that any other generation did in the past; realizing that we are weak as individuals, our natural state is to thrive within groups. Jack Sparrow struggled with this as well; he found out that the Black Pearl can be easily lost if you are on your own, and that you need a team if you want to navigate the ocean in freedom.

I, for one, look forward to a more community-centered future. What specific shapes it will take is something that only we can invent; so let’s do it.

My office i4

I’ve been working from home for more than 3 years now, and my setup has gone through several iterations – the current one is i4.


After joining Automattic, I was encouraged to think about my office setup. The company sponsors the kind of high-quality office perks that you’ll expect in companies at this level, and I took that opportunity to upgrade my own in ways I had been already thinking about. The fact that you are not in their offices, but in your home adds a different feeling to it. Although I appreciate the company efforts and perks, I’d like to stay frugal within comfortable limits, so I didn’t get anything I wouldn’t buy with my own money. I think of my office setup as a gift for the elder me – I wish he’ll be proud of what his younger self is doing for him.

For i4, these are the new additions to my office:

HAG Capisco 8016 chair, which promotes and supports several seating positions.

DIY kit from Autonomous, to build my own height adjustable desktop so I could change between seating and standing positions.

We, humans, are not designed for seating. A lot has been said about the optimal seating position, but an idea that has gained recognition in ergonomics is that changing positions frequently may be the best long-term strategy.

For the past two months, I’ve been experimenting with that idea to learn what works better for me. I’ve used three main positions -traditional seating, saddle seating, and standing- and a lot of other crazy ones. What I’ve found out is that I change positions through the day as my body asks for it, but I mainly use the saddle position (most of the time, but especially when I need to write) and standing (for consuming information). The traditional seating feels a bit unnatural to me now, although it may be a side effect of using the Capisco which is more tailored for other postures. I also have a more traditional chair at home, but I rarely use it.

This is i4. This setup fits me so well that I cannot imagine what i5 will look like yet.

Howdy Automattic


This is part of the invitation I was sent to join Automattic. I accepted. Today marks my first day as an automattician, and I am excited to become part of this family. My day-to-day will be filled with the joys and woes of programming but under Automattic’s creed, I feel safe, motivated and happy to do my best. Fun times ahead!

iot hacked

El viernes pasado, varias webs (twitter, github, etc) estuvieron caídas durante gran parte del día debido a un ataque DDOS contra sus servicios DNS. Lo interesante de esta noticia es que los dispositivos usados para atacar no fueron computadoras zombie, sino cámaras y grabadores de video digital conectados a internet. La internet de las cosas hackeada. No directamente relacionado con este caso, pero que puede parecer relevante ahora: Scheiner dice que alguien está aprendiendo a bloquear internet.


Acabo de participar en la campaña de crowfunding de CALIFACTOS, de Juan. Una serie de calendarios y tarjetas navideñas realizadas a partir de objetos pictórico-sonoros que ha ido creando a lo largo de este año.

Os dejo que él mismo os los presente:

Algún amigo ha definido los CALIFACTOS como “fogonazos”, otros de “destellos fugaces”, algunos afirman que se les quedan prendidos de la memoria. Quizás se deba a que fusionan la vista con el oído y a que intento que ambos tipos de percepción se coordinen para poder ofrecer un significado que no resulta del todo evidente ni único.

No me reprimo de afirmar que están animados de un sentido libertario que resulta fácil percibir y espero que sentir. No sabría definir la libertad, pero creo que cada CALIFACTO expresa un deseo e incita a una acción comprometida con la liberación, la emancipación y la autonomía, con el anhelo de vincularnos libremente con el prójimo sin mediadores y sin coerción. A este espíritu le dedico estas emociones que pinto y escribo, y que deseo transformar en la materialidad de unos CALENDARIOS que os acompañen al menos durante el año 2017.

Si quieres calendarios y tarjetas para esta Navidad estás a tiempo de participar y apoyar económicamente el proyecto.

Taking PHP seriously

Slack se une al club de los que usan PHP:

Most programmers who have only casually used PHP know two things about it: that it is a bad language, which they would never use if given the choice; and that some of the most extraordinarily successful projects in history use it. This is not quite a contradiction, but it should make us curious. Did Facebook, Wikipedia, WordPress, Etsy, Baidu, Box, and more recently Slack all succeed in spite of using PHP? Would they all have been better off expressing their application in Ruby? Erlang? Haskell?

Relacionados: inversión y amortización en la selección tecnológica.