Category: Programming

  • On JavaScript modules

    A brief history of JavaScript modularity and why ESModules are the future. Includes a technique to make CommonJS modules work in browsers.

  • JavaScript in use 2011-2017

    According to the HTTP Archive, the top 1.000 websites download 5 times more JavaScript today than seven years ago – HTML grew 2x and CSS 3x. Combining that with the fact that the mobile web is more present than ever, the result is that the main bottleneck for the websites we create and consume is the CPU.

  • Input lag: 1977-2017

    Input lag: 1977-2017 is an essay about the time it takes several computers to display a character from a keypress. A lot of newer computers take 3 to 5 times more than 30 to 40 years old computers.

  • Google Maps’ Moat

    Google Maps’ Moat, by Justin O’Beirne. On the competitive advantage that Google Maps has over Apple Maps – equally interesting for map nerds and business people.

  • Agile according to Basecamp

    Running in Circles is Basecamp’s view of agile product management. They acknowledge the value of working in cycles, but add three pieces: having the time to focus, being able to modify the original plan, and tackle the core unknowns of the feature first. The first two are enablers that are provided to the makers by management.…

  • Ten years of mobile

    10 years of mobile by Luke Wroblewski packs a lot of knowledge in one hour and a half. If I could only watch one talk about mobile, I’d make it this.

  • Software architecture failing

    Software architecture failing: tech writing is biased towards what the big ones do, which usually doesn’t fit most other contexts – but, who got fired for choosing IBM, right? Although I feel connected to this rant at an emotional level, I do think it’s necessary to elaborate more and make a positive contribution: help to…

  • Zakas on career advice

    The best career advice I’ve received, by Nicholas Zakas.

  • Born for it

    Born for it, on how the image of software developers came about.

  • Code and decision trees

    An example on how changing the language for thinking may help us to simplify our programs.

  • The Google repository

    I’ve been reading how Google organizes its codebase: they maintain a hyper-large repository containing everything, since the beginning of the company. I guess you may find Gmail, Photos, or AdWords there. You won’t find Android or Chrome, though – these are open source projects. The repository is 86Tb of data, 1 billion of files, and 35 billion…

  • How comparing things is faster and simpler with immutability

    The third post of the series about the differences between values and references is focused on a practical example, the same trick that is at the core of React and Redux performance.

  • How equality and copy operations work

    This is the second post of a series about how fundamental operations work depending on the nature of data they work with. JavaScript is used as example.

  • Value and reference data types

    The introductory post of a series about how fundamental operations behave depending on the nature of the data they work with. JavaScript will be used as an example.

  • A week of FP and JS

    Just this week, two of my colleagues at Automattic have written about Functional Programming concepts. Check Grzegorz’s A journey to Functional JavaScript and Miguel’s Functors and monads: an introduction.

  • sum-csv

    Reflections on a little thing I made, to learn how to better create the bigger ones.

  • 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:…

  • 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. https://www.youtube.com/watch?v=cSwPOpOKr3w 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).…

  • 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…

  • React before React

    While it might look like an overnight success in hindsight, the story of React is actually a great example of how new ideas often need to go through several rounds of refinement, iteration, and course correction over a long period of time before reaching their full potential. – Our first 50.000 stars.

  • Dumb Redux

    Concepts are the real win, and they can be expressed in many different ways. – Dumb Redux, Tom MacWright.

  • Dos ideas funcionales

    En la evolución de cómo se hacen aplicaciones web, la mutación principal del ciclo anterior habría sido la separación API/interfaz. En el actual, apostaría que lo fundamental se deriva de que el ecosistema JavaScript (tanto el lenguaje como las librerías a su alrededor) ha interiorizado dos ideas del mundo de la programación funcional: las funciones…