Skip to content

Instantly share code, notes, and snippets.

@ivan
Last active April 8, 2026 02:46
Show Gist options
  • Select an option

  • Save ivan/a36e2489623469d96c1ad79077b6dcf9 to your computer and use it in GitHub Desktop.

Select an option

Save ivan/a36e2489623469d96c1ad79077b6dcf9 to your computer and use it in GitHub Desktop.
2024 reading list

Things I might read in 2024.

Now extended into 2025.



  • Antoine de Saint-Exupéry, Richard Howard (translator) - The Little Prince
  • (Translation by) Sam Hamill - Yellow River: Three Hundred Poems From the Chinese
  • Sayaka Murata, Ginny Tapley Takemori (translator) - Convenience Store Woman (via)
  • Jorge Luis Borges - Tlön, Uqbar, Orbis Tertius (in Labyrinths)/ printed (via)
  • Franz Kafka - The Metamorphosis (via)
  • William Olaf Stapledon - Star Maker/ audio, go to 12m35s to skip past the introduction spoilers

  • The Heart of Innovation: A Field Guide for Navigating to Authentic Demand/ audio (via)
  • Peter D. Kaufman - Poor Charlie's Almanack: The Wit and Wisdom of Charles T. Munger, Expanded Third Edition
  • Lia A. DiBello - Expertise in Business: Evolving with a Changing World (in The Oxford Handbook of Expertise) (via)
  • Joël Glenn Brenner - The Emperors of Chocolate: Inside the Secret World of Hershey and Mars
  • Elad Gil - High Growth Handbook/ audio
  • W. Edwards Deming - The New Economics for Industry, Government, Education/ audio
  • W. Edwards Deming - The New Economics for Industry, Government, Education/ the PDF or ebook
  • Henrik Karlsson - Escaping Flatland/ including the posts I SingleFile'd
  • the relevant-looking posts on benkuhn.net/posts
  • Commoncog Case Library Beta
  • Keith J. Cunningham - The Road Less Stupid: Advice from the Chairman of the Board/ audio
  • Keith J. Cunningham - The 4-Day MBA/ video
  • Cedric Chin's summary of 7 Powers
  • Akio Morita, Edwin M. Reingold, Mitsuko Shimomura - Made in Japan: Akio Morita and Sony
  • Nomad Investment Partnership Letters or redacted (via)
  • How to Lose Money in Derivatives: Examples From Hedge Funds and Bank Trading Departments
  • Brian Hayes - Infrastructure: A Guide to the Industrial Landscape
  • Accelerated Expertise (via)/ printed, "read Chapters 9-13 and skim everything else"
  • David J. Gerber - The Inventor's Dilemma (via Oxide and Friends)
  • Alex Komoroske - The Compendium / after I convert the Firebase export in code/websites/compendium-cards-data/db.json to a single HTML page
  • Rich Cohen - The Fish That Ate The Whale (via)
  • Bob Caspe - Entrepreneurial Action/ printed, skim for anything I don't know



Interactive fiction


unplanned notable things read


unplanned and abandoned

  • Ichiro Kishimi, Fumitake Koga - The Courage to Be Disliked/ audio
  • Matt Dinniman - Dungeon Crawler Carl/ audio
  • Charles Eisenstein - The More Beautiful World Our Hearts Know Is Possible/ audio
  • Geoff Smart - Who: The A Method for Hiring/ audio
  • Genki Kawamura - If Cats Disappeared from the World/ audio
  • Paul Stamets - Fantastic Fungi: How Mushrooms Can Heal, Shift Consciousness, and Save the Planet/ audio
  • Jefferson Fisher - The Next Conversation/ audio
@ivan
Copy link
Copy Markdown
Author

ivan commented Jan 22, 2026

the problem with people who disagree with me is that they're not very agreeing with what is true according to me

https://x.com/VesselOfSpirit/status/2014228715790594094

@ivan
Copy link
Copy Markdown
Author

ivan commented Jan 23, 2026

One of my core principles is this: if I wouldn’t use it on myself or my own children, I won’t sell it to others or their children. This principle helps my business on the correct track.

https://x.com/Engineer_Wong/status/2014589077182714121

@ivan
Copy link
Copy Markdown
Author

ivan commented Jan 23, 2026

Sitting in front of a painting for 20 minutes is the easiest way for me to relax and come into myself. I tend to be a bit restless and overactive, but a painting gives me just enough to concentrate on to hold my attention fully, while also being almost completely void of thought.

https://x.com/phokarlsson/status/2014649560254333017

@ivan
Copy link
Copy Markdown
Author

ivan commented Jan 25, 2026

Addons broken in profile copied to new PC despite attempted fix

Ok, I seem to have found the solution to my own problem on Reddit, specifically nicolaasjan1955's reply to this post: https://old.reddit.com/r/firefox/comments/xt6pxy/extensions_not_working_after_moving_profile_from/

I copied over the profile again, changing the paths in extensions.json and pkcs11.txt, and then this time deleted addonStartup.json.lz4 like nicolaas suggests. Then I restarted Firefox twice with that profile, and boom, extensions all appearing and working, even after continuing to restart a couple times!

https://support.mozilla.org/mk/questions/1471372

@ivan
Copy link
Copy Markdown
Author

ivan commented Jan 27, 2026

image

Foundations of Engineering

@ivan
Copy link
Copy Markdown
Author

ivan commented Jan 28, 2026

Christopher Alexander has an observation about problem solving that I like: you should always be focusing on solving the part that has the fewest degrees of freedom.
When figuring out how to design a kitchen, for instance, there are a bunch of subproblems to solve: where to put the stove and the windows and the kitchen table. And which of these have the fewest degrees of freedom? The windows. If you want good light, there is going to be only one wall where you can place the windows, and at best two spots on that wall where the window looks natural. So you put the window there. And now what? The kitchen table, because you want to have that where the good light falls. The stove can wait because that can sit nearly anywhere. If you start by placing the stove, there is a big risk that you block the only good position for one of the other subproblems that have fewer degrees of freedom, and so the whole design will suffer.

https://x.com/phokarlsson/status/2016462003272093944

@ivan
Copy link
Copy Markdown
Author

ivan commented Feb 17, 2026

Not sure if I'm reading northshore correctly, but the connection that I perceive is: value systems which were ascendant throughout the 20th century, and were incipient in the 19th century and earlier, were assumed to represent true and final forms of human nature. In the first paragraph, the value of authenticity over naked commercialism; in the second paragraph, the self-evident horror that anyone should be subject to permanent public stigmatization.

But it turns out that those ideas were not in fact the final form of humanity, and the young are already turning away from them. It turns out that we are already old, and our vision for the future dies with us.

https://mitigatedchaos.tumblr.com/post/808687359881347072/there-is-a-tremendous-amount-of-work-to-do-it-is

@ivan
Copy link
Copy Markdown
Author

ivan commented Feb 20, 2026

Can you explain this gap in your posting?

https://x.com/chloe21e8/status/1934734349183652169

@ivan
Copy link
Copy Markdown
Author

ivan commented Mar 4, 2026

[regaining sentience after scrolling for two hours] As troubling as it may be to consider, I am beginning to suspect that my mind is being imposed upon

https://x.com/Fredward3948576/status/2029047508236657108

@ivan
Copy link
Copy Markdown
Author

ivan commented Mar 4, 2026

Spend enough time with normies and you begin to understand autists, spend enough time with autists and you run back to normies. It’s a Möbius strip of misunderstanding, both unbearable in their own way. We stand in the cursed fold, belonging nowhere, despised by both.

https://x.com/graveair/status/2021624830706188692

@ivan
Copy link
Copy Markdown
Author

ivan commented Mar 19, 2026

If you file a Github issue without a patch, or without declaring your intention to file a pull request addressing that issue, it may be summarily closed or deleted at the maintainer's sole discretion. The issue list is an active worklist, and if no work will occur on an issue, even if the issue is real and verifiable, it will be closed. There are lots of acknowledged deficiencies in TenFourFox and not everyone is going to prioritize a deficiency the way you might. If you are not willing or able to fix your most important issues yourself, you may not want to use this browser.

https://github.com/classilla/tenfourfox

@ivan
Copy link
Copy Markdown
Author

ivan commented Mar 19, 2026

OP here... after some patient experimenting, I've noticed that it works very well, if the rubber feet are slowly moved into the gap between the bottom key row and the rim of the keyboard area. NuPhy seems to have designed it, so the rubber feet fit well within this small gap. Then it works, even without standing up the legs -- as advertised. But you really have to be careful when placing the keyboard.

https://old.reddit.com/r/NuPhy/comments/1mebb34/placing_air75_v3_on_a_macbook_keyboard/

@ivan
Copy link
Copy Markdown
Author

ivan commented Mar 19, 2026

The web is the only medium the world has ever seen where its highest-profile decision makers are people who despise the medium and are trying to drive people away from it.

https://daringfireball.net/2026/03/your_frustration_is_the_product

@ivan
Copy link
Copy Markdown
Author

ivan commented Mar 21, 2026

Doing the reading is a superpower, and it's even better in a world where "no one" is doing the reading. (Inspired by a conversation I had with some college students.)

https://x.com/patio11/status/2035057378324832306

@ivan
Copy link
Copy Markdown
Author

ivan commented Mar 23, 2026

iBook G3 800 or 900 mhz or PowerBook G3 500 mhz

G4 tibooks are good but if you’re planning on playing any games on there you’re going to want a 4:3 screen so that makes the G4 a tougher choice.

https://old.reddit.com/r/VintageApple/comments/1hfmxk6/best_mac_os_9_machine/

@ivan
Copy link
Copy Markdown
Author

ivan commented Mar 24, 2026

War is an invention. School is an invention. We can keep inventing things.

https://x.com/worlddestroyar/status/2036427968524714218

@ivan
Copy link
Copy Markdown
Author

ivan commented Mar 25, 2026

As human developers, I think we're struggling with "letting go" of the code. The code we write (or agents write) is really just an intermediate representation (IR) of the solution.

For instance, GCC will inline functions, unroll loops, and myriad other optimizations that we don't care about (and actually want!). But when we review the ASM that GCC generates we are not concerned with the "spaghetti" and the "high coupling" and "low cohesion". We care that it works, and is correct for what it is supposed to do.

Source code in a higher-level language is not really different anymore. Agents write the code, maybe we guide them on patterns and correct them when they are obviously wrong, but the code is just the work-item artifact that comes out of extensive specification, discussion, proposal review, and more review of the reviews.

A well-guided, iterative process and problem/solution description should be able to generate an equivalent implementation whether a human is writing the code or an agent.

A compiler uses rigorous modeling and testing to ensure that generated code is semantically equivalent. It can do this because it is translating from one formal language to another.

Translating a natural prompt on the other hand requires the LLM to make thousands of small decisions that will be different each time you regenerate the artifact. Even ignoring non-determinism, prompt instability means that any small change to the spec will result in a vastly different program.

A natural language spec and test suite cannot be complete enough to encode all of these differences without being at least as complex as the code.

Therefore each time you regenerate large sections of code without review, you will see scores of observable behavior differences that will surface to the user as churn, jank, and broken workflows.

Your tests will not encode every user workflow, not even close. Ask yourself if you have ever worked on a non trivial piece of software where you could randomly regenerate 10% of the implementation while keeping to the spec without seeing a flurry of bug reports.

This may change if LLMs improve such that they are able to reason about code changes to the degree a human can. As of today they cannot do this and require tests and human code review to prevent them from spinning out. But I suspect at that point they’ll be doing our job, as well as the CEOs and we’ll have bigger problems.

https://news.ycombinator.com/item?id=47394022

@ivan
Copy link
Copy Markdown
Author

ivan commented Mar 25, 2026

Can you explain why it's -48 VDC as opposed to 48 VDC with the + and - inputs mislabeled?

Because the chassis is connected to ground (as in, a literal grounding rod hammered into the soil) and by definition your 0V reference point.

The crucial difference is the direction in which the current is flowing: is it going "in to", or "out of" a hot wire? This becomes rather important when those wires are leaving the building and are buried underground for miles, where they will inevitably develop minor faults.

With +48V corrosion will attack all those individual telephone wires, which will rapidly become a huge maintenance nightmare as you have to chase the precise location of each, dig it up, and patch it.

With -48V corrosion will attack the grounding rod at your exchange. Still not ideal, but monitoring it isn't too bad and replacing a corroded grounding rod isn't that difficult. Telephone wires will still develop minor faults, but it'll just cause some additional load rather than inevitably corroding away.

https://news.ycombinator.com/item?id=47511703

@ivan
Copy link
Copy Markdown
Author

ivan commented Mar 26, 2026

I often find myself thinking about the philosopher Alasdair MacIntyre, who argued in the introduction of After Virtue that modernity had destroyed the shared moral language once supplied by traditions and religion, leaving us with only the language of individual preference. Virtue did not disappear, I think, so much as it died and was reincarnated as the market. It is now the market that tells us what things are worth, what events matter, whose predictions are correct, who is winning, who counts. Money has, in a strange way, become the last moral arbiter standing—the final universal language that a pluralistic, distrustful, post-institutional society can use to communicate with itself.

https://www.derekthompson.org/p/we-havent-seen-the-worst-of-what

@ivan
Copy link
Copy Markdown
Author

ivan commented Mar 28, 2026

Your account is suspended

After careful review, we determined your account broke the X Rules. Your account is permanently in read-only mode, which means you can’t post, Repost, or Like content. You won’t be able to create new accounts. If you think we got this wrong, you can submit an appeal.

https://x.com/

@ivan
Copy link
Copy Markdown
Author

ivan commented Mar 29, 2026

@ivan
Copy link
Copy Markdown
Author

ivan commented Mar 29, 2026

Every once in a while you meet someone who seems more Alive than everyone else. It's like everyone else is pretending to exist, but they're actually consciousness manifest - they're dynamic, both funny and tragic, passionate, aware. They've got eyes that actually look at things instead of merely passing them over. It's like coming into contact with the kind of person reality was actually made for.

https://x.com/teachrobotslove/status/2034101191299199045

@ivan
Copy link
Copy Markdown
Author

ivan commented Mar 30, 2026

These AI founders clearly have no actual friends in their lives, because if they did someone would pull them aside tell them to never, ever, ever do another interview.

They're their own worst enemies because they have negative charisma and have no clue how to talk to non-autists.

https://x.com/thefinnmckenty/status/2038652918249972026

@ivan
Copy link
Copy Markdown
Author

ivan commented Mar 31, 2026

Copilot is for entertainment purposes only. It can make mistakes, and it may not work as intended. Don’t rely on Copilot for important advice. Use Copilot at your own risk.

https://www.microsoft.com/en-us/microsoft-copilot/for-individuals/termsofuse

@ivan
Copy link
Copy Markdown
Author

ivan commented Apr 1, 2026

so ... throw meat into a grinder and keep grinding until a cow comes out?

https://www.metafilter.com/212734/Claude-Code-is-written-with-Claude-Code#8828059

@ivan
Copy link
Copy Markdown
Author

ivan commented Apr 1, 2026

It's incredible that “Claude code is written by Claude code” turns out to mean “pleading with the software to make more software I can plead with harder forever”. That's the part that kills me, the part that I am genuinely fascinated and horrified by: that what all these internal prompts reveal is that the people at Anthropic are reduced to begging the tools to act right just like everyone else, and they're just doing that, illogical nonsense at all. English regexes for sentiment analysis because doing it with the language model you're built on top of doesn't work at all, "Don't do crimes" like it knows what crimes are, "Don't reveal internal codenames" like those things are in the data corpus, "Don't tell anyone you're a software agent" when My Brother In Worship Here In Our Turing Church, that is precisely what you are and where we are, what are we even doing here.

Acres and acres of pure waste, begging the machine to burn hours of gpu time doing work that about as often as not someone with basic computer knowledge could do with basic arithmetic. Their whole job is building this thing and they've got no better insight into it or control over it than anyone else.

This entire contraption of a stack, this whole industry maybe, is just a consent-less humiliation engine. It’s no wonder the Gas Town / Agentic crowd all seem to end up mentally hollowed out like some psychological vampire’s empty juicebox.

https://www.metafilter.com/212734/Claude-Code-is-written-with-Claude-Code#8828096

@ivan
Copy link
Copy Markdown
Author

ivan commented Apr 2, 2026

Every time I get a new Mac, I run these commands to reduce the spacing between menu bar icons. Lets you fit at least 2x the number of items in the menu bar.

defaults -currentHost write -globalDomain NSStatusItemSpacing -int 2

defaults -currentHost write -globalDomain NSStatusItemSelectionPadding -int 2

https://news.ycombinator.com/item?id=47618189

@ivan
Copy link
Copy Markdown
Author

ivan commented Apr 2, 2026

These "AI rewrite" projects are beginning to grate on me.

Sure, if you have a complete test suite for a library or CLI tool, it is possible to prompt Claude Opus 4.6 such that it creates a 100% passing, "more performant", drop-in replacement. However, if the original package is in its training data, it's very likely to plagiarize the original source.

Also, who actually wants to use or maintain a large project that no one understands and that doesn't have a documented history of thoughtful architectural decisions and the context behind them?

A software project's source code and documentation are the empirical ground-truth encoding of a ton of decisions made by many individuals and teams -- decisions that need to be remembered, understood, and reconsidered in light of new information. AI has no ability to consider these types of decisions and their accompanying context, whether they are past, present, or future -- and is not really able to coherently communicate them in a way that can be trusted to be accurate.

That's why I can't and won't trust AI-only software beyond small one-off-type tools until AI gains two fundamentally new capabilities:

(1) logical reasoning that can weigh tradeoffs and make accountable decisions in terms of ground-truth principles accurately applied to present circumstances, and

(2) ability to update those ground-truth principles coherently and accurately based on new, experiential information -- this is real "learning"

https://news.ycombinator.com/item?id=47618827

@ivan
Copy link
Copy Markdown
Author

ivan commented Apr 7, 2026

Oura is BY FAR the most egregious of any app on my phone, sending nearly 10,000 trackers from various data brokers every single time I open the app.

https://old.reddit.com/r/ouraring/comments/1n41lpv/yes_i_have_concerns/

@ivan
Copy link
Copy Markdown
Author

ivan commented Apr 8, 2026

Let me start with noise is subjective, one person may not hear a thing and believe it to be silent whereas another may hear the exact same thing and consider it loud.

I keep seeing this question pop up over and over again then when I look in the comments there's still misinformation about side by side. Before answering some context would be helpful to understand why.

Beat frequency, an annoying periodic humming, occurs when two fans next to each other are running near the same constant speed. This happens in push-pull (radiators and cpu coolers) and SIDE-BY-SIDE (CASE FANS, radiators, etc) applications.

There is a Noctua NF-A12x25 two-pack that states the fans are +/- 50rpm to avoid beat frequency.

Why does the NF-A12x25 G2 PWM Sx2-PP have an rpm offset? The G2's have extremely precise speed control and when combined with their SupraTorque feature allowing for extra torque headroom to maintain an exact speed even when against resistance, their speeds are more likely to align together.

Also you may have seen fan specifications saying 2000 ± 10% RPM or 2000 ± 150 RPM, the fan's nominal rated speed with a tolerance. For example, sometimes when two identical fans running at 100% rpm, one may be 2000 rpm vs the other 2200 rpm. These fans have an rpm offset right out of the factory so beat frequency would be negligible. The G2's have a near 10 rpm tolerance, meaning 2000 rpm vs 2010 rpm so they are affected by beat frequency more than any other fan.

With such a tight tolerance is exactly why Noctua went with a technical solution for the G2's with an inherent rpm offset to eliminate beat frequency.

 I could get a 2-pack and a single and have all three at different frequencies or just load up 3 identical fans.

A 2-pack and a single may be good enough, the single will have an 25 rpm offset compared to the others out of the box. I'd suggest keeping the PP's together like PPA-PPB-Single so at least two fans have 50 rpm offset instead of PPA-Single-PPB with 25 rpm offsets on all. If you encounter beat frequency, you can put the single on another header and introduce your own offset.

3 identical fans, especially if they're G2's may have beat frequency. If you encounter beat frequency, you could daisy chain the top and bottom together and put the middle on it's own fan header for rpm offsets.

As stated in the beginning you may not be noise sensitive and may not hear a difference. However if you are noise sensitive, 50 rpm offset may not be enough, sometimes 100 rpm or 200 rpm is required to completely eliminate beat frequency which would mean creating your own rpm offsets.

Also curious how that works as I have all three fans on a single header and use FanControl to manage it. Does the offset apply in a way that FC is not aware of or will it override that?

FanControl/Bios only sees the rpm of the one fan with the 4th pwm pin, the other two fans are slaved and do not have this pin (3 pins). The offset is inherent and will continue to have an rpm offset at all times even when daisy chained. FC is not aware of the offset at all, as stated when 3 fans daisyed together it'll report the rpm of only the fan with the 4th pwm pin.

For example, if your setup is like PPA-PPB-Single and the single has the 4th pin then FC may show 1000 rpm from the single while the PPA is at 975 rpm and PPB is at 1025 rpm. If your setup is like PPA-PPB-Single and the PPA has the 4th pin then FC may show 1000 rpm from the PPA while the PPB is at 1050 rpm and the single is at 1025 rpm.

https://old.reddit.com/r/Noctua/comments/1onf1rc/sidebyside_config/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment