Category: Programming

  • Who is funding the “AI Editor” wars?

    2 minutes

    People are excited for code completion powered by AI. Excited as in: they are willing to pay for it. A year ago, GitHub Copilot, a product launched in 2021, surpassed $100M ARR. It’s roughly 1M paying customers, given the lower tier is at $100 per year. For comparison, GitHub (+15 years old, launched in 2007)…

  • On JavaScript modules

    5 minutes

    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

    1 minute

    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

    1 minute

    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

    1 minute

    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

    1 minute

    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

    1 minute

    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

    1 minute

    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

    1 minute

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

  • Psychological safety

    1 minute

  • Born for it

    1 minute

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

  • Code and decision trees

    1 minute

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

  • The Google repository

    2 minutes

    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

    3 minutes

    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

    6 minutes

    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

    4 minutes

    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

    1 minute

    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

    2 minutes

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

  • A more expressive vocabulary for programming

    1 minute

    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

    1 minute

    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

    1 minute

    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

    1 minute

    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

    1 minute

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