NOTE: This site has just upgraded to Forester 5.x and is still having some style and functionality issues, we will fix them ASAP.

Learning diary › Year 2025 › August, 2025 › 2025-08-04 [2025-08-04]

- #rust
    - Perhaps Rust needs "defer"
        - an example that using defer idiom rarely gets past the borrow checker
        - showcases well how working in Rust with lots of FFI interop feels like
        - `miri` used in iterations
        - from comments of A deep dive into Rust and C memory interoperability
    - The Generativity Pattern in Rust
- DrawAFish.com Postmortem
    - used childhood 6-digit password when creating the website
    - set up Google Auth, then used it ever after
    - forgot that the password remained
    - which was previously leaked
- God created men; Sam Altman made them equal
    - hyperstition: a cultural self-fulfilling prophecy
        - pessimism is an anti-myth that makes Mutual Destruction inevitable. Pessimism is a luxury we can no longer afford.
        - the future is unavoidable, but we are always writing its prologue.
        - techno-optimistism is now a necessity
    - Malcolm Gladwell's cardinal categories of Law & Order provide a compass for tech-induced power redistribution:
        - Western
            - there’s no system
                - AI evades law
            - movies
                - Ex Machina
                - 2001: A Space Odyssey
                - Transcendence
                - Her
                - Blade Runner
                - Neuromancer
                - Ghost in the Shell
        - Northern
            - there’s a system and it’s fantastic
                - AI enforces law
            - movies
                - Person of Interest
                - RoboCop
                - Iron Man
                - Knight Rider
                - The Machine
        - Southern
            - the system has to be reformed from the outside
                - outsiders against AI
            - movies
                - The Matrix trilogy
                - Eagle Eye
                - Alita: Battle Angel
                - Free Guy
                - The Terminator
                - Hackers
                - Johnny Mnemonic
                - eXistenZ
        - Eastern
            - the system is reformed from within
                - insiders against AI
            - movies
                - Short Circuit
                - Minority Report
                - Sneakers
                - I, Robot
                - Westworld
                - War Games
                - A.I. Artificial Intelligence
                - Wall-E
- Governance in GNOME
    - A “bottom up” approach, over-reliance on personal projects and taste, to be sublimated into a shared vision
    - options for maintainers
        - make yourself indispensable, so that everything ends up passing through you, and everyone has to defer to your taste, opinion, or edict
        - replicate your toughts, taste, and opinions into the minds of the people using the API you design
        - reimplement the entirety, a reflection of your taste, commitment, and ethos
    - governance
        - a structure for people to know what to expect and how to navigate the decision making process inside the project
            - responsibility is not something to hoard: it’s something to distribute
            - random GitLab issues should not be the only place where people can be informed that some decision was taken
            - individuals should be able to contribute to a decision without necessarily becoming responsible for a whole project
            - a single person responsible for multiple modules should not be able to design and commit on their own
        - a lightweight but well-defined process
            - discussion: present to the stakeholders, for iteration and consensus
            - documentation: for reference to the decision-making process and resolution during implementation and on-going developments
    - reminds me of ADR
- HTMX is hard so let's get it right
    - many alternatives are suggested on HN
- Maybe the Fastest Disk Usage Program on macOS
    - healeycodes/dumac: 🗃️ Very fast alternative to 'du -sh' for macOS that uses getattrlistbulk.
    - in #rust, with tokio::task
    - macOS has a syscall called getattrlistbulk(2) which allows you to read multiple directory entries and their metadata in one go. It's like a combined "readdir + stat" that returns a batch of file names along with requested attributes like file type, size, etc.
    - inspired by the Linux equivalent 201984/dut: A disk usage calculator for Linux - Codeberg.org
- Modern Node.js Patterns
    - most of them are news to me, it's glad to learn that nodejs has aquired so many desirable features
    - wonder if they apply to Bun as well
- #agent/idea
    - Does the Bitter Lesson Have Limits? (on HN)
        - The Bitter Lesson
            - trying to build knowledge into agents plateaus and even inhibits further progress in the long run
            - breakthrough progress eventually arrives by an opposing approach based on scaling computation by search and learning
        - four major blows to the human ego
            - The Copernican Revolution: we weren’t the center of the universe.
            - Darwinian thought: we weren’t separate from animals.
            - Freud’s ideas of the unconscious: we weren’t in full control of our selves.
            - Cyborgs, robots, and automatons: non-humans could do the work of humans.
        - Garbage Can Model
            - organizations as chaotic “garbage cans” where problems, solutions, and decision-makers are dumped in together
            - decisions often happen when these elements collide randomly, rather than through a fully rational process
            - represents a world where unwritten rules, bespoke knowledge, and complex and undocumented processes are critical
        - issues of the bitter lesson
            - dependent on high-quality data
            - adding compute is often not practical nor optimal
    - Read your code (on HN)
    - The Future Of Software Is Small
    - Typed languages are better suited for vibecoding (on HN)
    - Rust, Python, and TypeScript: the new trifecta