Why I think everything after R5RS was a mistake

Today in “things nobody cares about”, I’m kinda mad at the R6RS authors for creating their own DEFINE-RECORD-TYPE that is apparently different from SRFI-9? because… something something PL nerd bullshit and now I can’t re-use my code

Feeling more and more like everything after R5RS was a mistake. Like sorry Scheme lost but I don’t think PL nerds breaking my code to write new semantics or whatever is gonna make fetch happen for the modal ALGOL programmer in industry anyway

On the recent public layoff emails

The public layoff email is one of the most important communications an exec can make. That most so far are poorly written rambling jargonfests that are somehow also self aggrandizing (signs they clearly didn’t get a professional edit) is telling IMO

Like you can’t formulate a coherent 3 paragraph email amongst your entire team with all your resources but tell me again how you are good at strategy and execution

Why I don’t like the new big pickup trucks

My critique of the new big pickups is primarily aesthetic. They look like a 4 year old boy’s idea of a “big man truck”. They represent a new low point in the development of faux masculine objects. Fundamentally insecure. “2 generations of boys with no dads at home” vibe

My parents divorced when I was young so I’m sympathetic but only to a point

Some interesting small use cases for ChatGPT / LLMs

Based on following a bunch of “AI people” on Twitter, the most interesting use cases I’ve seen so far for ChatGPT and LLMs are:

  • take a pile of notes and turn them into an outline. I think this is fine if you treat the outline as a draft outline and continue to refine it and/or move things around
  • convert data from one format to another, eg CSV to JSON, or markdown to asciidoc or whatever. This is a pretty annoying task that having computer help available for would be very nice. In fact this is probably the use case that would get me to install the Emacs extension (https://www.reddit.com/r/emacs/comments/zhwhww/i_wrote_an_emacs_package_for_chatgpt/)
  • write simple implementations of stuff you want to do in code eg “fetch this webpage and get all the links”. This kind of stuff is necessary but kind of annoying to write sometimes, and it’s also simple enough that you can edit to taste if the output code is buggy or has some other undesirable properties
  • take an outline and turn it into a rough draft of an essay. This is a little fraught since you can easily get something that is functionally indistinguishable from spam, but if you are an actual serious writer you will do edits and make it your own. This would only be a first draft to get something down on the page and get momentum

I’m sure there are many more interesting big world changing things ™ people want to do, but these are the sorts of little things I enjoy doing and will get value from having a helper for.

Reading notes from the book ‘The Man from the Future’, a biography of von Neumann

Notes from:

[Bhatta2021] Bhattacharya, Ananyo. The Man from the Future: The visionary life of John von Neumann


Book: Mathematical Foundations of Quantum Mechanics, by JvN (p. 41-46)

JvN re: quantum mechanics (p. 60):

that events appear to be linked to each other in the familiar everyday world is irrelevant … because what we see is the average of countless quantum interactions

Operators in Hilbert space (p. 61)

Goedel 2nd incompleteness theorem (p. 117):

  • no system complex enough to contain arithmetic can be proven to be consistent using the tools of the system itself
  • it is impossible to prove that contradictory statements such as 2+2=5 can never be proved

Article: First draft of a report on the EDVAC (p. 122)

“Monte Carlo” methods (p. 133-134)

Programming with flowcharts (p. 135)

“method of middle squares” for pseudo-random numbers (p. 138) (See also article The middle of the square by Brian Hayes)

The complete computer program for the 2nd Monte Carlo run ever, by Klari von Neumann (p. 137):

  • Can be run today on an ENIAC emulator (p. 138)
  • For the code, see the book ENIAC in action, Haigh et al

Minimax theorem (p. 143)

Minimax theorem first appears in the article On the theory of parlor games (p. 143):

  • “draws” depend on chance
  • “steps” are player actions based on human choices
  • “minimax” means a strategy to minimize the maximum loss

Paper concludes with a proof that every 2-player zero-sum game has a solution that is either (p. 147):

  • a “pure” strategy, e.g., pick heads consistently
  • a “mixed” strategy, e.g. pick heads / tails at random

Book: Theory of Games and economic behavior, by John von Neumann (p. 151)

Numeric “utility” or “happiness” values need to be assigned to make game theory work (p. 160)

How to calculate “utils” (p. 161):

  • Imagine a birthday party
  • Instead of the party, you can have a lotto ticket
  • If it wins, you go to “heaven” (100 utils)
  • If it loses, you go to “hell” (0 utils)
  • If the ticket would need to give you a 75% chance of winning for you to trade your party for it, the party is worth 75 utils

ways to represent games (p. 162):

  • Extensive form: a game tree; can grow quite large; each branch is a possible move, each leaf is a final outcome of the game
  • Normal form: shows moves and payoffs as a 2-d grid or table

When all moves are visible to both players, it’s a game of “perfect information”, all of which have a “solution”

NB. there are at least 10^120 games of chess, according to Claude Shannon

“Chess is not a game” – von Neumann

JvN shows why the key to poker is “bluffing”, aka betting big with bad hands (p. 166)

How often players should bid high with a weak hand depends on the ratio of high to low stakes

If you only bid high with good hands, opponents learn to fold, reducing your winnings

The book Theory of Games and Economic Behavior explains why monopolies occur: In a 3-person game, a rational player forms a coalition to make the game 2 vs. 1

  • 2 buyers, 1 seller: buyers form a coalition to drive down seller’s price
  • 2 sellers, 1 buyer (aka “monopsony”): sellers collude to drive up the price

Game theorists designed an FCC auction (p. 177):

  • “simultaneous, ascending auction”
  • “the greatest auction ever” (NYT – link)

Kahnemann & Tversky, “prospect theory” (p. 178)

Most useful application of game theory: auction design

Price Equation (p. 180)

  • Hawk-Dove game

“Tit for tat” is optimal strategy for repeated prisoners’ dilemma (p. 181)

  • proved by Anotol Rapoport
  • cooperate by default
  • be selfish if the other guy is selfish

RAND is a non-profit (p. 187)

AMP: Applied Mathematics Panel; did “operations research”

Game theory “utility” -> “military worth” (p. 188)

The Compleat Strategyst, satirical book from RAND

Von Neumann’s student ran RAND; he consulted for them (p. 190)

Dantzig (of Linear Programming fame) and von Neumann met; von Neumann sees connections between LP and the minimax theorem (p. 191)

Shapley values of a cooperative game (p. 196)

Gale-Shapley “deferred acceptance” algorithm to solve the stable marriage problem (p. 197)

Paper: John Nash, The Bargaining Problem, re: 2-person cooperative games, and how to divide the “surplus” created when a deal is struck

Nash equilibria (p. 201):

  • players can not communicate or team up
  • there are certain outcomes for all games in which no player can do any better than unilaterally changing their strategy
  • works for any number of people / players
  • doesn’t have to be zero-sum

Paper: Some Experimental Games, by Merrill Flood (at RAND)

Prisoners’ Dilemma (p. 205):

  • interestingly, the only Nash equilibrium is for the prisoners to rat on each other (a.k.a. both defect)
  • good discussion p. 205-208 of how many people cooperate even if it’s more rational not to (using RAND researchers as guinea pigs)

Eisenhower contemplated nuking China in the 1950s (p. 209)

Paper: Selection and Use of Strategic Bases, by Wohlstetter (p. 214):

  • Used game theory to determine why we should not station our bombers in Europe

First ICBMs: 1957-58 (p. 218)

Paper: Defense in Atomic War, by John von Neumann (p. 221)

U.S. military guidelines for small-scale nuclear warfare: JP-372 on Joint Nuclear Operations (p. 223)


Alex Ellery at Carleton University: RepRap (3-d printer) but for the outer space environment (p. 226)

Book: Theory of self-reproducing automata by John von Neumann (p. 226)

McCulloch & Pitts: early neural networks (p. 226)

Article: Man viewed as a machine, by John Kemeny (p. 232)

John von Neumann developed cellular automata (p. 234):

  • endless 2-d grid
  • 29 states
  • cell can only talk to 4 contiguous neighbors
  • reproduces a universal Turing machine
  • self-replicating! (p. 235)
  • first simulation ran in 1994 (p. 236)

Conway Game of Life description:

  • Found a much simpler representation that could still provide Turing completeness and self-replication

Tommaso Toffoli Ph.D thesis:

  • reversible automata exist
  • any automaton can be made reversible by adding another dimension (p. 244)
  • designed CAM: Cellular Automata Machine

Wolfram and cellular automata (p. 245):

  • Matthew Cook proof: Rule 110 is Turing complete
  • Book: A new kind of science (p. 251)

Nils Aal Baricelli:

  • Artificial life (p. 254)
  • symbiogenesis: cooperation, not just competition
  • one-dimensional automata that presage Wolfram’s automata
  • Evolved mechanisms to play tic-tac-toe, chess

First conference on artificial life, Los Alamos 1987 (p. 257)

Langton Loops (p. 258)

Lab-made organism by Craig Venter (p. 261)

von Neumann probes – send automata to terraform planets (p. 263)

Book: Kinematic self-replicating machines, by Freitas and Merkle; catalogs self-replicating technologies (p. 264)

Richard Laing:

  • proved that an automaton need not start with a complete description of itself in order to replicate
  • NASA “SRS” group (Self Replication Systems)

Book: Engines of Creation, by Eric Drexler – on nanotechnology

Article: There’s plenty of room at the bottom, by Richard Feynman

Thomas Schelling (p. 270):

  • Economist
  • Investigated segregation in cities
  • segregation can result from even mild proclivity towards neighbors with same ethnicities

John McCarthy attended the John von Neumann lectures on automata

Book: The Computer and the Brain, by John von Neumann – his last book, prepared while dying

Perceptron: improvements by Frank Rosenblatt on the earlier McCulloch-Pitts neuron; similar to today’s neural networks


John von Neumann invented the term “technological singularity” in discussion with Ulam (p. 276)

Mandelbrot says John von Neumann was shunned by various groups in Princeton (p. 277-278)

Goedel wrote to John von Neumann re: P vs. NP problem just before the latter’s death; this was years before P vs. NP was first rigorously stated in 1971

John von Neumann deathbed conversion to Catholicism (p. 279); he was thinking of Pascal’s Wager

Article: Can we survive technology?, by John von Neumann

Notes from reading the book ‘The Highly Sensitive Person’

These are some notes on the book The Highly Sensitive Person, by Elaine Aron.

Note that I did not read this entire book – just the first 70 pages or so one rainy Sunday, after which I skimmed the rest. The later chapters focus on various aspects (love relationships, work, etc.) but IMO are not that weighty; I think I already got the gist from the first 70 or so pages.

(Aside: there is also a documentary on this topic featuring Elaine Aron, I think on Netflix – see below.)

Key takeaways:

  • Uses the acronym “HSP” throughout

  • 20% of the population (or so)

  • Nervous system is more sensitive to stimuli

  • Often (incorrectly) deemed “shy” or “withdrawn”, esp. in the (IMO bombastic) USian culture.

  • Difficulties can be exacerbated by out-of-sync, insensitive caregivers

  • In particular, a neglectful or mean caregiver can lead to avoidant attachment style (DING DING DING)

  • The Infant/Body’s message (p. 62) is very powerful. I strongly related to several parts of it. In particular “Keep my toys simple and my life uncomplicated. Don’t take me to more than one party in a week”. Also, “Please don’t make me handle more than I can.”.

  • highly sensitive babies with inattentive sitters showed more cortisol (stress hormone) in their saliva

  • Some parents and environments can make things much worse… especially experiences of failing to be calmed or helped, of being punished for exploring, and having others who should be helpful become dangerous instead. (p.35)

  • The culture you are in can help or hurt a lot, too. Especially if you are in a culture that deems your traits the less desirable ones.

  • Research study: Chen & Rubin of UWaterloo and Sun of Shanghai Teachers University compared 480 schoolchildren in China to 296 in Canada to see what traits made children most popular. In China “shy” and “sensitive” children were among those most chosen by others to be friends or playmates. In Mandarin, the word for shy or quiet means good or well-behaved, sensitive can be translated as “having understanding”, a term of praise. In Canada, shy or sensitive children were among the least chosen. Chances are, this is the kind of attitude you faced growing up.

See also “Sensitive, The Movie”: https://sensitivethemovie.com

An idiosyncratic ebook reading workflow

I’ve found the following workflow that I enjoy for reading ebooks. In particular right now I’m finding this to be a good way to read the book The Misbehavior of Markets by Benoit Mandelbrot.

  1. Open the book in the Calibre ebook reader
  2. Copy and paste a chapter’s worth of text from Calibre
  3. … into the Evernote “legacy” Windows client, one note per chapter
  4. Spend a few minutes “copy editing” the note in Evernote, making sure diagrams appear in the right places, formatting quotes, etc
  5. Print out the note (really: chapter) from Evernote, which uses a print stylesheet on Windows that I particularly enjoy for some reason 6. Staple the printed pages together and read them in my favorite chair

Honestly really enjoying this