Skip to content

Instantly share code, notes, and snippets.

@ivan
Last active November 3, 2024 23:12
Show Gist options
  • Save ivan/a36e2489623469d96c1ad79077b6dcf9 to your computer and use it in GitHub Desktop.
Save ivan/a36e2489623469d96c1ad79077b6dcf9 to your computer and use it in GitHub Desktop.
2024 reading list

Things I might read in 2024.



  • 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 Demming - The New Economics for Industry, Government, Education/ audio
  • W. Edwards Demming - 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
@ivan
Copy link
Author

ivan commented Sep 28, 2024

if it ever broke, I would go without groceries to buy a new one. It’s become that essential to my life

https://nymag.com/strategist/article/best-luxury-vibrators.html

@ivan
Copy link
Author

ivan commented Sep 28, 2024

I love that fact that the car saw the cop and tried to escape. AI is learning fast.

a comment on https://www.youtube.com/watch?v=7W-VneUv8Gk

@ivan
Copy link
Author

ivan commented Sep 29, 2024

Displays of unshakable conviction don't require the possession of truth.

https://www.youtube.com/watch?v=vnSiJOOdo30&t=8m45s

@ivan
Copy link
Author

ivan commented Oct 1, 2024

What Sam initiated, and what YC continues to do, is trade their reputation capital for real capital (i.e., more money). However, they’ll soon realize that once their reputation capital is exhausted, rebuilding it will be nearly impossible. Put simply, once YC becomes uncool – which might have already happened – you can’t make it cool again.

https://unfashionable.blog/p/yc/

@ivan
Copy link
Author

ivan commented Oct 1, 2024

After some research, I found that some habit-related apps prevented themselves from being removed, on iPhones. The key is using Screen Time API of iOS. After getting approval from the user, the developer can set a flag to deny app removal.

ManagedSettingsStore().application.denyAppRemoval = true

https://tinycoder.pika.page/posts/you-can-prevent-your-app-from-being-removed

@ivan
Copy link
Author

ivan commented Oct 3, 2024

Right, this all feels like (and I'm not trying to be rude with this, I'm speaking from experience) a mental break.

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

@ivan
Copy link
Author

ivan commented Oct 5, 2024

Developed primarily embossed hologram techniques using stereograms. Pioneered high quality full color embossed rainbow holograms of both live and computer graphic subjects. Developed a "Dot Matrix" method of producing complex grating patterns used both in packaging and security printing. Produced complex holograms for anti-piracy and anti-counterfeiting.Developed primarily embossed hologram techniques using stereograms. Pioneered high quality full color embossed rainbow holograms of both live and computer graphic subjects. Developed a "Dot Matrix" method of producing complex grating patterns used both in packaging and security printing. Produced complex holograms for anti-piracy and anti-counterfeiting.

https://www.linkedin.com/in/craig-newswanger-7277406/
via https://www.youtube.com/watch?v=EmKQsSDlaa4&t=38m22s

@ivan
Copy link
Author

ivan commented Oct 6, 2024

Age when boys become men, by city:

Los Angeles: 27 (parents bully them until they buy a house)

San Francisco: 35 (first liquidity event)

New York: 55 (when they inherit their family’s New Jersey home after a two decade bender)

https://x.com/nikitabier/status/1842635618603384979

@ivan
Copy link
Author

ivan commented Oct 6, 2024

I have never met someone who likes musicals and was also a net positive to society.

https://x.com/nikitabier/status/1842604872497274922

@ivan
Copy link
Author

ivan commented Oct 6, 2024

Anything he says can and will be used against him in a court of sales.

Andrew Tate in https://www.youtube.com/watch?v=DrQFp_N4ALk&t=18m13s

@ivan
Copy link
Author

ivan commented Oct 6, 2024

remember when clinton was all excited about internet freedom and the democratic potential of uncensored networked technologies during the arab spring lmao

https://x.com/dystopiabreaker/status/1842670721241133518

@ivan
Copy link
Author

ivan commented Oct 6, 2024

To begin, DOM elements have attributes and properties. This is so that they can be represented as HTML. Attributes accept only strings while properties being a JS interface can handle any value. Native DOM elements have many rules around specific attributes/properties like how some are boolean (existence means they apply) while others are psuedo-boolean (needs an explicit "true"/"false"). Some properties reflect to attributes and others do not.

A goal of templating languages is to solve this in a uniform way. We can make special rules around known elements and attributes. But with custom elements we don't know. So this is why some templating libraries have interesting prefixes to indicate how things should be set. Even Solid's JSX we have attr:, prop: and bool: prefixes for this reason. Now every runtime location and compiler hook needs to be aware of this.

https://dev.to/ryansolid/web-components-are-not-the-future-48bh

@ivan
Copy link
Author

ivan commented Oct 6, 2024

Similar - when I was younger, I would never have suspected that a scientist was committing fraud.

As I've gotten older, I understand that Charlie Munger's observation "“Show me the incentive and I will show you the outcome.” is applicable everywhere - including science.

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

@ivan
Copy link
Author

ivan commented Oct 6, 2024

Given that all it took just burning $3 Million to generate positive cash flow, it may be tempting to think the business was sailing from the very beginning. But as it goes in any business, the early days were typically challenging. When Gassner spoke with potential customers about their CRM product, they all were uninterested. However, he did pick up from those conversations that the customers weren’t quite “emotionally attached” to their existing solutions either. The very first customer Veeva got actually chose Veeva for completely uneconomic reason. The CEO of the customer company just wanted to buy some software to remind his IT team who was actually in charge.

https://www.mbi-deepdives.com/veev/

@ivan
Copy link
Author

ivan commented Oct 7, 2024

Nobody with an IQ over 130 has algo pull. Their posts are too niche. Nobody understands them. They never go viral. I think the cutoff is 300 followers. If you have more than that, you are a midwit

https://x.com/wordgrammer/status/1841894756231614561

@ivan
Copy link
Author

ivan commented Oct 7, 2024

It’s perfectly legitimate to say "I can’t refute your argument, but your conclusion still seems wrong and I don’t buy it".

But it's critical to notice the "I can’t refute your argument" part, ideally out loud, and to remember it going forward.

Many people who are clever practice sophistry as a hobby to make incorrect arguments that are difficult to refute.

https://x.com/immanencer/status/1842739702132265294

@ivan
Copy link
Author

ivan commented Oct 7, 2024

As your archive grows, you may encounter performance issues. If that happens, you can adjust the memory settings by setting environment variables for NODE runtime arguments, like --max-old-space-size.

https://github.com/dosyago/dn

@ivan
Copy link
Author

ivan commented Oct 7, 2024

But the FPGA is not limited to the boolean world of digital technology when it wires itself; this is because the medium of silicon (which the FPGA is based on) is not limited between computing with the standard range of ones and zeros--it is also capable of producing an entire spectrum of values between the two values; in this way, the FPGA is not limited to the rules of digital design, but rather to the limits of natural physics. Adrian Thompson at the University of Sussex in the UK exploited this capability: he made a genetic algorithm which tested various configurations of the chip so that it would generate a 1 volt signal if it detected a 1-kilohertz audio tone and a 5 volt signal if it detected a 10-kilohertz audio tone. After a certain amount of evolution, the program worked brilliantly, but what is downright scary is this: the FPGA only used 32 of its 100 available logic gates to achieve its task, and when scientists attempted to back-engineer the algorithm of the circuit, they found that some of the working gates were not even connected to the rest through normal wiring. Yet these gates were still crucial to the functionality of the circuit. This means, according to Thompson, that either electromagnetic coupling or the radio waves between components made them affect each other in ways which the scientists could not discern (Taubes 1997).

https://old.reddit.com/r/apple/comments/ft855/can_someone_explain_why_the_new_macbook_contains/c1ikp5c/

Primary source (or at least one of several published versions): https://cse-robotics.engr.tamu.edu/dshell/cs625/Thompson96Evolved.pdf

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

@ivan
Copy link
Author

ivan commented Oct 7, 2024

Rao postulates three groups in any organization: the Clueless, the Losers, and the Sociopaths. The Clueless mistakenly believe that the organization is actually supposed to do whatever it pretends to be for: selling widgets, saving endangered herons, or educating school-children, for instance. They are dedicated to this mission and work hard, and creatively, to further it. The Losers have a job because they need a paycheck; their motivation is to make work reasonably pleasant in exchange for minimal effort. The Sociopaths recognize the reality that the organization is just the setting for a power game played among themselves. Nobody really cares about widgets, herons, or other people’s children. The Losers also understand this, but don’t have what it takes to play the game.

https://meaningness.com/geeks-mops-sociopaths

@ivan
Copy link
Author

ivan commented Oct 7, 2024

A game controller I worked on was accidentally sensitive to physical strain.

We discovered this after the first prototypes/consoles were sent to early reviewers. They kept seeing weird in-game behavior no one could replicate, even when affected reviewers tried to demonstrate. Turns out they were gripping hard enough to minutely bend the PCB during intense moments in games, which created voltage spikes the software mistook for button presses. You needed to be angry to replicate.

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

@ivan
Copy link
Author

ivan commented Oct 12, 2024

I've been on tirzepatide (Mounjaro) for 4 months now. I'm down 13% of my body weight. I realized that frequent cannabis consumption interferes with the weight loss, so I've kicked the habit from daily to occasionally on weekends. I've started walking 2-3 miles a day, 2-3 days a week regularly, in addition to eating less and being more motivated to calorie count.

All this to say, this drug has been life changing for me. I spend more time doing things I want to do, depression and anxiety have less of a hold on me now. I feel that this drug has allowed me to be the best version of myself I have been in a long time. The only side effects so far have been positive. I do worry about what I will do once it's time to titrate off the weekly dose and the best I can think of is that the habits I'm forming in the time on the drug I will have the resolve to continue after cessation.

I say this because I have battled depression, anxiety and obesity issues my entire life. I've had many failed attempts at getting back to a healthy, productive and non-obese lifestyle. I don't know what is so different about having the drug help me, but I can tell you that it has been different.

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

@ivan
Copy link
Author

ivan commented Oct 12, 2024

when people describe a human interaction, like "saying good evening", they abstract out detail and context. so far so good. but then listeners assume the meaning of said interaction was the same meaning the abstracted version of it has in the space of abstracted interactions. wut

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

@ivan
Copy link
Author

ivan commented Oct 12, 2024

As someone who spent most of a career in process automation, I've decided doing it well is mostly about state limitation.

Exceptions or edge cases add additional states.

To fight the explosion of state count (and the intermediate states those generate), you have a couple powerful tools:

   1. Identifying and routing out divergent items (aka ensuring items get more similar as they progress through automation)
   2. Reunifying divergent paths, instead of building branches

Well-designed automation should look like a funnel, rather than a subway map.

If you want to go back and automate a class of work that's being routed out, write a new automation flow explicitly targeting it. Don't try and kludge into into some giant spaghetti monolith that can handle everything.

PS: This also has the side effect of simplifying and concluding discussions about "What should we do in this circumstance?" with other stakeholders. Which for more complex multi-type cases can be never-ending.

PPS: And for god's sake, never target automation of 100% of incoming workload. Ever. Iteratively approach it, but accept reaching it may be impossible.

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

@ivan
Copy link
Author

ivan commented Oct 12, 2024

A ReadableStream is also a class, but you can't call `start` or `pull` because it's designed properly - it uses a revealing constructor pattern.

https://x.com/Rich_Harris/status/1844336681530556479

The Revealing Constructor Pattern

https://blog.domenic.me/the-revealing-constructor-pattern/

@ivan
Copy link
Author

ivan commented Oct 12, 2024

The top stackoverflow answer you link to disagrees with you: "In practice though, no widely used mail systems distinguish different addresses based on case."

The standard says one thing, yet implementers do another. In this case following the letter of the standard gets you in trouble in the real world.

My practice on this is to store the user-provided case, but do case insensitive lookups.

This means that you send emails to the case-sensitive address originally entered, but the user is free to login case insensitively.

The downside is that you cannot have two distinct users with emails that only differ in their case. But I feel rather OK about that.

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

@ivan
Copy link
Author

ivan commented Oct 12, 2024

Email verification codes

One way to verify email is to send a secret code stored in the server to the user's mailbox.

This approach has some advantages over using links:

  • People are increasingly less likely to click on links.
  • Some filters may automatically classify emails with links as spam or phishing.
  • Using verification links may introduce friction if the user wants to finish the process on a device that does not have access to the verification > message, or on a device that cannot open links.

The verification code should be at least 8 digits if the code is numeric, and at least 6 digits if it's alphanumeric. Use a stronger code if the verification is part of a secure process, like creating a new account or changing contact information. You should avoid using both lowercase and uppercase letters. You may also want to remove numbers and letters that can be misread (0, O, 1, I, etc). It must be generated using a cryptographically secure random generator.

https://thecopenhagenbook.com/email-verification

@ivan
Copy link
Author

ivan commented Oct 12, 2024

Not really. Firstly I reject the premise that pushing the burden onto users is desirable — if a tax has to be paid, it's better for frameworks to pay it.

But beyond that, it's not just about the fact that WCs make the platform so much more complex and so much harder to learn. It directly affects users in subtle ways. For example if you want to clone some DOM to build a component you can just do fragment.cloneNode(true), right? Not so fast — if the DOM contains a custom element, the clone won't be assigned the correct class until it's appended to the document, and if you set properties in the meantime it won't trigger accessors (they'll shadow the prototype instead, which is very bad news). It's a real head-scratcher of a bug.

It turns out that if you use document.importNode(fragment, true) instead, it works correctly. Not that you'll casually learn that while reading MDN — this is the kind of knowledge that is only acquired with a side helping of battle scars.

But there's a catch! importNode is roughly 30% slower than cloneNode in our testing. That's unacceptable overhead given that most people aren't using custom elements (and certainly not that often). So we opted to pay a different price — the compiler adds a flag to the generated code, and the flag tells the runtime which to use. That's extra code, and extra work (albeit a miniscule amount), that would be unnecessary if we didn't have to think about this nonsense.

Having the bug? Tax.
Figuring out the solution? Tax.
Implementing the fix? Tax.
Documenting the code for our future selves? Tax.
Adding regression tests? Tax.
Running those tests on every CI job?
Shipping extra code? Tax.
Doing more work in a hot code path? Tax.

And that's just one example. There are others. The bottom line is that framework authors could ship sooner, and could ship leaner and more reliable code, were it not for this ill-designed primitive with its myriad edge cases.

https://x.com/Rich_Harris/status/1841467510194843982

@ivan
Copy link
Author

ivan commented Oct 12, 2024

At the end of the day, it would do to remember that businesses pay for business solutions.

https://x.com/ejames_c/status/1844410177589739562

@ivan
Copy link
Author

ivan commented Oct 12, 2024

waymos becoming dirtier and w more trash in them as the wait list opened up ._ .

https://x.com/nearcyan/status/1844215945381937592

@ivan
Copy link
Author

ivan commented Oct 12, 2024

The bizarre question was about the Jargon File itself. She asked me "Who gave you permission to do this?"

And I was utterly utterly gobsmacked. Permission? Why would I even conceivably need anybody's permission?

This is when I realized how vast the gulf between me and this well-meaning academic actually was. In her world, creativity has structures. And hierarchies. And defining institutions. And it would be completely reasonable to ask me where I got my permission from. Where I got my authority from.

This was several years before the whole open-source thing. But even then one of the most obvious features of the hacker culture was that you get the authority to do things by stepping up and doing them. You don't create because somebody tells you you can, but because you must. There's a problem in front of you that needs solving and it's in your nature to do that.

https://x.com/esrtweet/status/1843768111134044324

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