2026-07 - W2

The Full Stack of Terminals Explained: Terminal, Shell, TTY, Console, POSIX, ANSI Escapes, PTYs, Raw/Canonical Modes

ProblemWhich layer?
Colors look wrongTerminal
Tab completion brokeShell
SSH session acting strangeTTY
GUI is dead, need to log inConsole
Script works in bash not zshShell
Font rendering is uglyTerminal
Ctrl+C not killing processTTY / Line Discipline
TUI app not getting keypressestermios (Raw Mode)
Screen flickers on redrawBuffering
Layout breaks on window resizeSIGWINCH handling

Echo Chamber: how bubbles form, and how to break them

Interactive simulation of echo chamber. Interesting.

Notes on software quality

Quality is the absence of problems Quality is a spectrum up to “perfection” Quality relies on the organisation Quality gets harder with scale Quality is not necessary, but ideal

How tech workers are feeling in 2026: a workforce splitting in two

  1. The workforce is splitting in two.
  2. Burnout is surging, and optimism is fading.
  3. Tech workers wouldn’t recommend their own field.
  4. Productivity is up, but quality is questionable.
  5. The underlying fear is of being overworked.
  6. Almost everyone is ambivalent.
  7. Designers and researchers are the most worried.
  8. Founders are still the happiest people in tech, and small companies are still the best places to work.
  9. Managers are still the biggest lever for happiness.
  10. The industry, in tech workers’ own words, is “chaotic.”

Google & AWS Veteran: What Top Tier Software Architects Do Differently - YouTube

Excellent podcast. Really insightful and useful advices from this renowned architect.

Own the Outer Loop - by Addy Osmani - Elevate

Excellent blog post from Addy Osmani, as always.

In a typical agentic workflow, high agency is the art of knowing when to delegate, when to inspect, when to stop, and when to own the result of a process. agency ladder The inner loop is where the work is done. Loops are designed to be as independent as possible. Put all quality assurances and verification inside the loop. Once you’ve designed and validated the loop itself, the only thing you have left to do is to grant autonomy by putting in place a back-pressure mechanism that acts to control the rate at which the loop is run and its scope of operation. And put humans in their rightful place, on the right decisions. Don’t treat understanding as a hand-off or a release gate, but rather as a point of decision where humans are primed to provide their insight. And then for every artifact that exists and is fed back into production and into new teams and engineers, leave behind better artifacts.

How Successful Companies Go Blind

Interesting statement. Difficult to validate, as it’s mostly long term observation, and a lot can happen.

After a few cycles the company has a population of well-meaning people who do not suspect anything is off. They have only ever known the cave, and life inside the cave is good.

isaac on X: “One of our younger team members has business ambitions and asked me for my top pieces of advice. I wrote him a few paragraphs.”

Another good list:

  • Generally speaking it’s best to get something 50%+ built and launch. People get caught up over perfection but never launch. Speed wins.
  • Fire yourself as fast as possible.
  • Anything meaningful takes 10+ years to build. People get bored in years 2-9, and lose focus.
  • Consistency in everything. If you lose it, fight like hell to get it back. People sniff it on you and want to join the winning side.
  • People underestimate what they can do in 10 years, but overestimate what they can do in 1 year.
  • Generally speaking, you are better off improving something than doing something new. Even 1% better can net out billion dollar outcomes in large markets.
  • Follow whales → If someone launched in your category and there is massive demand exploding, you can just swim behind the wake of the whale and have a 1000x easier time winning.
  • A rising tide lifts all boats. Markets are big enough for everyone, and your competitors advertising your category just helps you.
  • 1 A player is better than 3 B players, and 10 C players. Hire A players, give them ownership and give them opportunity. Your team will be better than you.
  • In general leaders exist to uplift others. It’s okay to take credit and it’s okay to seek glory, but it takes a team to do anything and your team should be smarter than you.
  • Julius Caesar was the first propagandist. When he was off in Gaul conquering provinces, he would journal and send back snippets to Rome.
  • Referrals are the most powerful marketing channel in existence. Everything is mediocre, so when someone is singing your praises it means you outperformed. Lean in.

Good Tools Are Invisible - gingerBill

TL;DR: A good tool is and ought to be invisible—striving to make such tools is the goal of a toolmaker.

Agreed. But still, if one can have fun with their tool, I consider a win too, because one is spending lots of time with their favorite tool, so might as well have fun. Not everything must find best of productivity / performance.

Maybe you should learn something |marginalia.nu

Yes, yes and yes!

Learning anything is a long term project, and long term projects are necessary for building a sense of control over your circumstances. Almost nothing can be deliberately and meaningfully changed within the scope of a day, but in months, certainly years, a lot of things can be made to happen.

Why write code in 2026

Instead, we’re switching to this wrong-headed mindset that coding agents are like compilers. That mindset gives us permission to ship terribly written code. Agents aren’t compilers - they’re more like freshly onboarded interns. They read partial possibly slopified code, take an imprecise description of the change, and must generate a change. Humans can’t surrender their thinking and taste to armies of interns. And being hands-on, rather than consumers, helps.

Odyssey Linux — a Void-based distribution, no systemd

Interesting distribution. I should test it out someday…

An Agent in 100 Lines of Lisp, or How my Prof was Right - Just 25 Years Early | The Beach

Whole agent in just 8 lines of Common Lisp:

(defun agent-loop (messages)
  (let* ((message (ref (call-model messages) "choices" 0 "message"))
         (tool-calls (gethash "tool_calls" message)))
    (if (and tool-calls (plusp (length tool-calls)))
        (agent-loop (append messages
                            (list message)
                            (map 'list #'execute tool-calls)))
        (append messages (list message)))))