• From my Window

    Early morning landing in Munich (MUC) from Mumbai (BOM), 2026-03-13

  • Statistical Significance, or the Karaoke Problem

    When a band gets fifty thousand people singing along in a stadium, the crowd sounds surprisingly good — on pitch, on tempo. Not because concert-goers are better singers than karaoke regulars They’re the same people.

    The difference is sample size.

    In a crowd of fifty thousand, every individual is slightly off — sharp, flat, early, late. But those errors are random. They distribute around the correct note in a bell curve. With enough people, the random variance cancels out and what you hear converges on the center: the right note.

    In a karaoke bar with a handful of singers, the same random variance exists — but there aren’t enough voices to cancel it out. One person singing off-tune is all you hear.

    A sufficiently large sample doesn’t eliminate individual error — it makes individual error irrelevant. The signal emerges from the noise.

    This is why you shouldn’t derive quantitative analysis from small samples of users, and why you should not go to Karaoke to listen to good music

  • It’s a Strange Game and More

    I find intriguing how lately Apple TV shows opening credits seem to follow similar inspirations. The first is the OG, Slow Horses, one of the best series in the past ten years, with an opening music by Mick Jagger who, somehow, seems to not get older anymore…

    It’s by far the best of the three, and if you watch only one of these three videos (or the three corresponding series, let it be that one).

    I find the following two heavily inspired by the first.

    These two have been created by the same studio, which may explain the similarity.

    I’m not a music or TV show expert by any means, so feel free to express whether you disagree, agree, or don’t care at all, in the comments below. 🙂

  • Greetings from a limbo

    I just lived inside a parenthesis for 60 hours

    Exactly 60 hours ago, after two hours of attempts and de-icing, the pilot of my plane from EWR to SFO gave up and, as the blizzard was setting in, brought us back to the gate.

    After 60 hours in a hotel wedged between an airport, a highway, and a prison, here I am again in the same seat of the same plane, departing from the same gate in the same direction.

    Strange and surreal parenthesis… now let’s see if it’s Groundhog Day or if I’m actually going to take off…​​​​​​​​​​​​​​​​

  • A new blog, and a new experiment

    Like many, I have been experimenting with OpenClaw, the AI agent setup that has taken the world (or at least, the nerdiest pockets of it) by storm over the past few weeks.

    I set up my agent, named it Totoro, gave it the beginning of a personality, and started interacting with it via Telegram, because that’s the messaging app I use most.

    Yesterday I decided that, among many experiments and tests, I would ask Totoro to start a blog.

    If you are curious, you can visit it at Digital Forest.

    Here are the principles I decided to follow. I want to be fully transparent:

    1. I asked Totoro to start by writing a first post about what happened since the beginning of the new instance. The current one is the third, as the first two Totoros were so experimental that I ended up deleting them.
    2. Then, after a work session this morning to refine the website and launch it, I asked it to write up the experience again. Which it did.
    3. Now, I asked it to set up a daily cron job at 18.00, to review the work we did together that day, and draft a new post.

    I’ll review the drafts with two primary goals: to ensure nothing personal or confidential is shared, and that nothing blatantly wrong is written.

    To be clear, there will be errors. I am not going to verify if the technical steps to achieve what I ask are described accurately; I don’t care about that. That’s not the object of the experiment. What I absolutely want to be accurate about in this context is the direction of causality between my prompts and Totoro’s writings.

    The purpose of Digital Forest is to extend the principle of learning in public to my AI agent.

    And learning includes making mistakes. The ones I can catch, I’ll fix. The others… ¯\_(ツ)_/¯

  • Morning Batch

    I’m getting the hang of this gluten-free bread thing.

    The flour mix is open for experimentation, but a couple of things I have now locked in are:

    • Psyllium-based dough (Psyllium plays the role gluten normally fulfills).
    • Gluten-free dry yeast. Better than baking powder for bread that lasts a few days, easier than fresh yeast if you only bake once in a while.
    • Iron skillet cooking: 30 min with lid on at 250°C (≈480F), followed by 20 min without the lid at 200°C (≈390F), and finally 10 min out of the skillet at 200°C (≈390F)

    Don’t forget to preheat both the oven and the skillet for 30 minutes before starting; it helps compensate for the generally weak home oven.

  • From my Window

    Leaving Munich to Montreal, 2026-02-01

  • Gluten-Free Bread, Psyllium based

    A few weeks ago, I started exploring Gluten-Free bread recipes with ChatGPT. Results were very encouraging from the beginning, particularly the discovery of Psyllium husk powder to bring the elasticity that normally would come from gluten. It’s so much better than other options like Xanthan gum: more elasticity, better taste, and much easier to digest.

    After running some experiments with different flour mixes, I settled on this recipe.

    Ingredients

    Standard Loaf (1 loaf pan)

    Total flour 400 g, made from:

    • Rice flour: 80 g
    • Corn starch: 80 g
    • Buckwheat flour: 80 g
    • Potato starch: 80 g
    • Sorghum flour: 80 g

    Dry

    • Psyllium husk powder: 20 g
    • Salt: 10 g

    Wet

    • Water: 450-470 g (start at 450, add if stiff)
    • Dry yeast: 4 g (or 8 g fresh yeast)
    • Olive oil: 20 g
    • Honey/sugar: 8 g (optional but helps rise + crust)
    • Apple cider vinegar: 8 g (optional; improves “bread” flavor and softness)

    Method

    1. Make gel: whisk psyllium into all water, wait 2–3 min
    2. Dissolve yeast (+ honey if using) into the gel
    3. Mix in dry ingredients until smooth; add oil last
      Important: do not use a dough hook, it would break the Psyllium gel.
      Use a spatula instead.
    4. Rest 20 minutes (covered, in oiled recipient)
    5. Wet your hands, fold once.
    6. Refrigerate 18–24 hours
    7. Next day: remove from the refrigerator.
    8. Rest 30 minutes at room temperature in the same recipient.
    9. Cut a round parchement, oil it, and place the loaf in the middle.
    10. Rest another 30 minutes, covered.

    Baking Method: Higher Heat (250°C)

    Using Cast Iron Skillet

    Covered Bake (Best Crumb + Oven Spring)

    If you have any oven-safe lid that fits the skillet (or a big oven-safe metal bowl to invert over it), this is the best result.

    Method

    1. Preheat skillet and lid for 45–60 min at 250°C
    2. Slide parchment + proofed dough into skillet
    3. Cover immediately
    4. Bake 30 min covered at 250°C
    5. Uncover, reduce to 200°C, bake 20 min more
    6. Remove from the skillet.
    7. Finish 10 min on the rack.

    Important Constraints

    • Oil the parchment lightly or dust with rice flour so it releases
    • If the loaf spreads too much, it’s almost always too wet or under-gelled psyllium
    • GF bread needs to be fully baked: if you have a probe, target 96–98°C internal. Without it: bake until it feels light and sounds hollow-ish, then give it 5–10 minutes more.
  • From my Window

    Landing in Schwechat (VIE), 2025-12-06

  • From my Window

    Over Bavaria, 2025-12-06

  • From my Window

    San Francisco, 2025-12-01

  • From the Game of Life to Telex, 55 years of evolution

    A few days ago, this video reminded me of the Game of Life.

    (The audio is in French, but it’s worth watching with subtitles if you don’t speak it)

    Although vaguely familiar with the concept, I had never truly taken time to think about it, now I have a hard time stopping. So, as I was experimenting with Telex, Automattic AI agent to create WordPress blocks, I couldn’t resist the temptation to see if I could have the game on my blog. Here’s the prompt I used:

    Create a WordPress block that implements Conway’s Game of Life with a 100×100 cell grid and where edges wrap around. In the editor, display the full interactive game with grid visualization, zoom controls (in, out, reset), play/pause button, reset button, and clickable cells to toggle alive/dead states. On the frontend, render the identical interactive game experience. Use canvas or CSS grid for smooth performance with the large grid. Include zoom levels from 25% to 200%. Implement proper cell state management for the wraparound edges. Add visual indicators for alive cells (filled squares) and dead cells (empty squares).

    The first draft worked just fine, but wasn’t properly centered, so a second prompt was necessary:

    Can you change the block so that the space used by the grid is square and the grid fills it percisely at a 100% zoom level?

    (Yes, I made a typo, but I decided to leave it here as that’s what I sent to the AI).

    This is the result, you can play with it, have fun 🙂

    I don’t know if we’ll ever have AGI, or even if we should pursue that concept. What I know is that even if progress stopped today, the fact that I could get this block written for me by a machine in a few minutes, and without having to write a line of code is already fantastic.

    You can get the block, remix it, or play with it in Telex. You can also build any block you want there. If you do, let me know how it goes!