24 September 2026

Charlie Munger's Mental Models

I bought, read, and enjoyed Poor Charlie's Almanack from Stripe Press. Munger's mental models are interwoven throughout its text. I wanted a model summary to ease use.

The following summary was mechanically created with Claude. Each model cites the talk where Munger states or uses it. Chapter Three is the editors' overview; a model found only there is marked as their summary.

Thinking with Models

  1. Hang facts on a latticework of models. Isolated facts are unusable. Array direct and vicarious experience on a framework of theory. Talks Two, Three.
  2. One model distorts reality to fit itself. The man with a hammer sees only nails. Carry a full kit. Talks Two, Four, Five, Nine, Eleven.
  3. Draw models from every basic discipline. Take the big ideas from each freshman course and ignore jurisdictional boundaries. Roughly 80 to 100 models carry most of the load. Talks Two, Three, Four.
  4. Explain at the most fundamental level available. Know every big idea in disciplines more fundamental than yours, reduce explanations to them, and attribute fully. Talks Five, Nine.
  5. Analyze rational interests, then subconscious distortions. First weigh real interests and probabilities. Then weigh the tendencies bending the actors' judgment. Talk Two.
  6. Solve problems backward as well as forward. Ask what causes failure, then avoid it. Jacobi: "Invert, always invert." Talks One, Three, Four, Ten, Eleven.
  7. Settle the no-brainer questions first. Obvious decisions simplify the hard ones. Talk Four.
  8. Reason quantitatively about practical life. Galileo's view that math reveals reality holds outside science. Talk Four.
  9. Apply models by checklist, not by recall. Run the list; don't hope the right model surfaces. Talks Three, Five, Nine, Ten, Eleven.
  10. Train judgment the way pilots are trained. Wide coverage, practiced fluency, forward and reverse thinking, training weighted by consequence, mandatory checklists, and simulator drills against skill decay. Talk Five.
  11. Hunt for evidence against your own theories. Darwin prioritized disconfirming evidence. Einstein credited self-criticism. Talks One, Four.
  12. Make models as simple as possible, no simpler. Craving physics-grade precision in soft systems produces false precision. Talks Three, Four, Nine.
  13. Heavy ideology destroys objectivity. Avoid it in yourself and in colleagues you choose. Talks Three, Five, Ten.
  14. Know the edge of your knowledge. Override experts whose incentives impair them. Defer when you have nothing to add. Talk Three.
  15. Ask why, and always give reasons. Reasons aid understanding and compliance. Carl Braun fired writers who twice omitted the why. Talks Two, Eleven.

Mathematics and Probability

  1. Compound growth dominates long horizons. Among the most important models. Log paper shows the compounding rate as a straight line. Talks Two, Three.
  2. Count outcomes with Fermat-Pascal probability. Elementary permutations and combinations, unnatural to the brain and so worth drilling. Talk Two.
  3. Map choices as decision trees. Enumerate outcomes and weight them. Talk Two.
  4. Many quantities follow the bell curve. Know its shape well enough for rough estimates. Talk Two.
  5. Weigh costs against benefits algebraically. Cost-benefit analysis is high school algebra in jargon. Talk Two.
  6. Most participants must get average results. Only 20 percent can be in the top fifth. Talk Two.

Engineering, Physics, and Chemistry

  1. Redundant backups let systems survive component failure. Talk Two.
  2. Systems change behavior abruptly past breakpoints. Talks Two, Nine.
  3. Small additions past critical mass yield outsized results. Talks Two, Nine.
  4. Quality is a priced tradeoff against failure probability. Deming's quality control is Fermat-Pascal applied to engineering. Talk Two.
  5. Self-reinforcing processes accelerate on their own. Autocatalysis. Disney's film library earned videocassette profits without new invention. Talks Three, Four.
  6. Thermodynamics bounds the economics of production. Trace how inputs convert to delivered goods. Chapter Three, editor's summary.

Biology and Physiology

  1. Economies behave like ecosystems; specialists own niches. Talk Two.
  2. New technology destroys incumbents. Competitive destruction: the horseless carriage killed the buggy whip factory. Talk Two.
  3. Evolved physiology throttles consumption. Aftertaste enforces moderation; Coke must defeat it. Talk Four.
  4. Unowned shared resources get depleted. Hardin's tragedy of the commons, the "invisible foot" beside Smith's invisible hand. Talks Five, Nine.

Microeconomics and Business

  1. Scale confers cost, information, and social-proof advantages. Experience curves, geometry, purchasing power, advertising reach, brand familiarity, internal specialization, and winner-take-all cascades. Talk Two.
  2. Scale breeds bureaucracy and invites specialist attack. Territoriality and perverse incentives slow big firms; narrow competitors pick them off. Talk Two.
  3. Chain stores turn scale into buying power and learning. Central expert buying, many small experiments, enforced best practice. Talk Two.
  4. Oligopolies compete either rationally or destructively. Cereal makers prosper while airlines lose. Munger admits he lacks a full model. Talk Two.
  5. Legal exclusivity creates small monopolies. Patents, trademarks, and franchises. Trademarks also give owners an incentive to guard quality. Talks Two, Three.
  6. Commodity producers pass technology gains to customers. A monopoly keeps them. Talks Two, Nine.
  7. Ride a new technology wave from its front edge. Early leaders like NCR, Microsoft, and Intel hold long runs; those who fall off get stuck in the shallows. Talks Two, Nine.
  8. Cut away everything but the sound core. The cancer surgery formula saved GEICO. Talk Two.
  9. Unused pricing power is money in the street. Disney, See's, and Coke could raise prices without losing volume. Talk Two.
  10. A higher price can raise volume. Price signals quality. Munger asks whether the extra margin could bribe the buyer's agent. Talk Nine.
  11. Specialization multiplies output by design or by trade. Smith's pin factory is planned; Ricardo's comparative advantage arises spontaneously. Talk Nine.
  12. Extreme success follows four patterns. Maximizing one or two variables, combining factors past a breakpoint, excelling across many factors, or riding a big wave. Talk Nine.
  13. Consequences have consequences. Ignoring second-order effects wrecked Medicare cost forecasts. Talk Nine.
  14. Hidden embezzlement inflates perceived wealth. Febezzlement: costs that feel like gains to those paying them. Talks Seven, Nine.
  15. Virtue raises economic output; vice lowers it. A reliability ethos and honest accounting pay. Talks Eight, Nine.
  16. Accounting is an essential but crude approximation. Depreciation lives are guesses. Stock-option accounting is the central abuse. Talks Two, Eight.

Psychology

Talk Eleven lists 25 tendencies. Munger calls them overlapping, suited to checklist use, and mostly beneficial despite misfiring.

Tendency Tendency
A Reward- and punishment-superresponse N Deprival-superreaction
B Liking/loving O Social-proof
C Disliking/hating P Contrast-misreaction
D Doubt-avoidance Q Stress-influence
E Inconsistency-avoidance R Availability-misweighing
F Curiosity S Use-it-or-lose-it
G Kantian fairness T Drug-misinfluence
H Envy/jealousy U Senescence-misinfluence
I Reciprocation V Authority-misinfluence
J Influence-from-mere-association W Twaddle
K Simple, pain-avoiding psychological denial X Reason-respecting
L Excessive self-regard Y Lollapalooza
M Overoptimism

Models built on these tendencies:

  1. Incentives bias judgment without conscious malice. FedEx fixed its night shift by paying per shift, not per hour. Builds on A. Talks Two, Four, Five, Eleven.
  2. Conditioning creates buying reflexes. Coca-Cola sells operant rewards and Pavlovian associations. Builds on A and J. Talk Four.
  3. People punish bearers of bad news. Paley's CBS heard only good news and drifted into unreality. Builds on J. Talks Two, Eleven.
  4. Widespread misconduct recruits the honest. The Serpico effect. Builds on A and O. Talks Three, Eleven.
  5. Near misses drive heavier gambling. Slot machines engineered for near misses outearn others. Builds on N. Talks Nine, Eleven.
  6. Converging forces produce extreme outcomes. Tuberculosis needed three drugs; Milgram and the McDonnell Douglas evacuation test show psychological confluence. Builds on Y. Talks Four, Eleven.

Investing

  1. Markets pay only for mispriced odds beyond the house take. The pari-mutuel model. Bet rarely and only on mispricing. Talks Two, Nine.
  2. Treat market quotes as offers, not verdicts. Graham's manic-depressive Mr. Market offers options you may ignore. Talk Two.
  3. Buy far below private-owner value. Graham's margin of safety. Talk Two.
  4. Long-run stock returns track return on capital. Over 40 years, a 6 percent business yields about 6 percent however cheaply bought. Talk Two.
  5. Bet on the business before the manager. Rarely, follow an extraordinary manager. Talk Two.
  6. Compete only where you have an edge. Know your circle of competence. The best plumbing contractor in Bemidji is attainable. Talks Two, Three.
  7. Concentrate on your few real insights. Buffett's 20-punch card. Ten insights made most of Berkshire's wealth. Talk Two.
  8. Deferring taxes compounds returns. At a 35 percent rate over 30 years, paying once at the end adds 2 to 3.5 points a year. Talk Two.
  9. Intermediary costs are a certain drag on all investors combined. Croupier costs. Talks Six, Seven, Nine.
  10. Rich institutions should self-insure against volatility. Overdiversifying buys insurance they don't need. Talk Six.
  11. Products are built to sell, not to work. "I don't sell to fish." Talk Two.

Life

  1. Unreliability cancels every other virtue. Reliability is the most learnable advantage. Talks One, Ten.
  2. Learn from others' mistakes. Most disasters are unoriginal. Befriend the instructive dead. Talks One, Ten.
  3. Envy, resentment, and self-pity guarantee misery. Talks One, Ten.
  4. Deserve your success. Deliver what you would buy yourself. Deserved success deflects envy. Talks Four, Ten.
  5. Hold people accountable for outcomes regardless of fault. A captain whose ship runs aground is finished. Individual injustice buys systemic care. Talks Three, Nine.
  6. Deserved trust beats bureaucratic procedure. A seamless web of trust is civilization's higher form. Talk Ten.

23 September 2026

Vera

With apologies to whichever one's Pink:

Does anybody here remember Larry Wall?
Remember how they said that 6 would be released on Christmas day?
Larry, Larry, what has become of you?
Does anybody else in here know about Raku?

21 September 2026

Mounting Google Drive on Ubuntu 26.04 with rclone

(Notes captured from a Kagi Assistant thread...)

Ubuntu 26.04 LTS ships GNOME 50, which removed the built-in Google Drive mount — the old GVfs backend was dropped because it depended on unmaintained libgdata/libsoup2.4. The community replacement (fluhus's PPA backend) works, but the most robust distro-agnostic option is rclone mount.

Why not apt or snap?

  • Ubuntu's apt package is rclone 1.60.1 — from 2022. It's frozen for the entire LTS release.
  • The snap blocks rclone mount entirely ("Fatal error: mounting is not supported when running from snap") due to its FUSE sandbox.

Instead, install the current binary directly — rclone is a single static Go binary, and it updates itself via rclone selfupdate (manual command; wrap it in a systemd timer or cron if you want it scheduled):

cd /tmp
curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
unzip rclone-current-linux-amd64.zip
mkdir -p ~/bin
install rclone-*-linux-amd64/rclone ~/bin/rclone

Creating your own Google OAuth client ID

rclone ships with a shared client ID, but Google rate-limits it across all rclone users — so the official docs recommend creating your own. It takes about five minutes and only needs doing once. For more on Google's OAuth policies and how test-mode projects work, see my companion page on the subject.

Step 1: Create a new Google Cloud project

  1. Go to the Google Cloud Console at https://console.cloud.google.com/ and sign in with your Google account.
  2. Click the project picker at the top of the page (next to the "Google Cloud" logo) → New Project.
  3. Give it a name (e.g. rclone) — you can leave the auto-generated Project ID as-is — and click Create.
  4. Once created, make sure the new project is selected in the project picker; everything below happens inside it.

Keep this project dedicated to rclone — it makes the credentials easy to find later, and isolates anything you enable from other projects.

Step 2: Enable the Google Drive API

APIs & Services → Library → search for Google Drive API → Enable.

Step 3: Configure the OAuth consent screen

APIs & Services → OAuth consent screen:

  • Choose External (the only option for personal accounts) and continue.
  • Fill in an app name (e.g. rclone) and your email as the support/contact email.
  • Add your own Google account as a test user — required, since the project stays in test mode.

No Google verification needed — test mode is fine for personal use as long as your account is a test user.

Step 4: Create the OAuth client

APIs & Services → Credentials → Create Credentials → OAuth client ID:

  • Application type: Desktop app
  • Click Create, then copy the Client ID and Client Secret.

A note on the companion page

The OAuth policy notes referenced above live on a GitHub Pages site, and two things are worth knowing when publishing one:

  • Initial deployment takes a while. After pushing the site and enabling Pages, the build and propagation can take several minutes to a few hours before the URL resolves and serves content. Don't panic if it 404s at first.
  • Verify the site with Google Search Console. For Google to index and reference the page, verify ownership in Google Search Console. The easiest method for a GitHub Pages site is the HTML tag: Search Console gives you a <meta name="google-site-verification" content="..."> tag, which you add to the page's <head>, push, and click Verify. Since you control the source directly, this is more convenient than a DNS TXT record — and it survives Pages rebuilds as long as the tag stays in your template.

Configuring the remote

Run rclone config as your normal user (never sudo — the token belongs in your config, not root's):

n) new remote → name: GDrive → storage: drive
client_id:     <paste your Client ID>
client_secret: <paste your Client Secret>
scope:         1 (full access)
root_folder_id: leave blank

The OAuth verification dance

During setup you'll hit Google's security screening:

  1. rclone opens a browser to Google's consent page.
  2. Google warns "Google hasn't verified this app" — expected, because your project is in test mode rather than published/verified.
  3. Click Advanced → Go to rclone (unsafe) — it's safe; you're authorizing your own project to access your own Drive.
  4. Approve, and the token is saved to the config.

The config lives at ~/.config/rclone/rclone.conf (check with rclone config file) — a plain text file containing your OAuth tokens, created 0600. Back it up like a password file; copying it to another machine carries the tokens with it.

Test mount

mkdir -p ~/GDrive
rclone mount GDrive: ~/GDrive --vfs-cache-mode writes --daemon

--vfs-cache-mode writes is essential for Drive — many apps fail writing directly to the mount without it.

Running automatically at login: a systemd user unit

Drop --daemon (systemd backgrounds the process itself) and create ~/.config/systemd/user/rclone-gdrive.service:

[Unit]
Description=rclone mount of Google Drive
AssertPathIsDirectory=%h/GDrive
After=network-online.target

[Service]
Type=notify
ExecStart=%h/bin/rclone mount GDrive: %h/GDrive \
    --vfs-cache-mode writes \
    --dir-cache-time 12h \
    --cache-dir %h/.cache/rclone
ExecStop=/bin/fusermount -u %h/GDrive
Restart=on-failure
RestartSec=10

[Install]
WantedBy=default.target

Then:

systemctl --user daemon-reload
systemctl --user enable --now rclone-gdrive.service
systemctl --user status rclone-gdrive.service

Useful commands:

systemctl --user stop rclone-gdrive      # unmount
systemctl --user restart rclone-gdrive   # after config changes
journalctl --user -u rclone-gdrive -f    # live logs

To stop a manually-daemonized mount first: fusermount -u ~/GDrive (lazy variant: -uz if a file handle is stuck).

Type=notify means systemd waits until the mount is genuinely ready; Restart=on-failure recovers from network blips. If you want the mount alive even with no login session, add sudo loginctl enable-linger $USER.

Keeping it updated

~/bin/rclone selfupdate        # run occasionally; it's a one-shot command

Or schedule it — a systemd user timer with OnCalendar=weekly works nicely. Note a running mount keeps the old code until restarted.

30 August 2026

Window, Workspace, and System keyboard shortcuts for Ubuntu 24.04 and 26.04

(Distilled from a larger summary, augmented, reorganized, and saved here for posterity...)

Window Management

ShortcutAction
Super + AShow all applications
Super + TabSwitch applications
Alt + TabSwitch windows
Alt + Shift + TabSwitch windows in reverse
Super + ↑ | ↓Maximize / restore window
Super + ← | →Snap window to left / right half of screen
Shift + Super + ← | → | ↑ | ↓Move window to adjacent monitor
Super + HMinimize/hide window
Alt + F4Close current window

Workspace Navigation

ShortcutAction
Super + Page Up | Page DownSwitch to previous / next workspace
Super + Home | EndMove to first / last workspace
Shift + Super + Page Up | Page DownMove window to previous / next workspace

System Controls

ShortcutAction
SuperOpen Activities overview
Super + SQuick settings menu
Super + VShow notification list
Super + LLock screen
Ctrl + Alt + DeleteLog out menu
Print ScreenOpen screenshot tool
Alt + Print ScreenScreenshot of current window
Shift + Print ScreenScreenshot of entire screen
Ctrl + Alt + TOpen terminal