David R. MacIver's Blog
February 2026
October 2025
August 2025
June 2025
May 2025
April 2025
- Heavy up front learning requirements
- Where are your limits?
- Motivation gradients
- Speaking from the heart
- More ways to work out sums
- Introducing a parameter to work out sums
- A brief introduction to mathematics with one example many times
- What is probabilistic programming?
- Algebra and insight
- Resuming habits
- Sometimes things are actually important
- Moving the consistency bubble around
- Recovering desire with care
- Real examples are messy
- Lessons from win streaking: Learning reliability skills
- An improvised meal
- Anytime Projects
- Stable state
- The scent of reality
- When I learned to read
- Asking for purpose disrupts action
- Python has structural pattern matching
- Digital object permanence
- Good queues and bad queues
- Sources, Sinks, and Flows
- Why do you do things?
- Threads of existence
- Building a library of stories
- You create rules, rules create you
March 2025
- Win Streaking and Reliability
- Necessity creates possibility
- Well you gotta
- Behaving as if you were trying to succeed
- Censored solutions
- Creativity on demand
- Figuring out what hurts
- Particularity
- How I clean my kitchen at the end of the day
- There is no sludge
- World counting as a tool for understanding probability
February 2025
December 2024
October 2024
September 2024
July 2024
March 2024
February 2024
January 2024
- Learning from experts in having problems
- Computer ghost stories
- Adaptive planning and grid systems
- Visible parts of internal states
- Restrictions
- The Candle Exercise
- Noticing things as life happens
- Layers of being bad at things
- I don't wanna
- Landmarks
- Drawing on resources
- Developing new capacities
- Shared frustrations
- Something isn’t working
- Cheeseburger Ethics
- Journaling as a foundational practice
- Things I believe about ethics and personal development
- Defining definition
- Writing good programming abstractions
- Working hours: A report on an anomaly
- Thinking in memes
- Showing people the door
- Safety Advice and Judgment in Emergencies
- The skill element of (not) working harder
- How to be better at everything
- Disingenuous Advice
- Reason as a moral mechanism
- Honesty is kinder than lying
- Some Philosophy of Mathematics
- Is philosophy bad?
- January is a daily writing month
July 2023
June 2023
February 2023
December 2022
November 2022
October 2022
August 2022
July 2022
June 2022
May 2022
April 2022
February 2022
January 2022
- Soul death
- Ladders between communities
- Learning and teaching
- Irritation and fascination
- The kindness of strangers
- Failing to resist temptations
- Seeing clearly
- Other people's needs
- Holding yourself tightly
- Projects that you can't run out of
- The usefulness of things you don't use
- Difficulty finishing things
- Fulfilling work
- Curiosity is a team sport
- Being an ideas guy
- Walls of people
- Regrets and interventions
- Coffee as a way of life
- Being fragmented
- Being unreliable
- Memory and yearning
- Grappling with vastness
- Writing as yourself
- Drifting away the time
- Ready for less than you think
- Being a brain at night
- Relearning curiosity
- Wanting (to) help
- Writing from the heart
December 2021
November 2021
October 2021
- Probably enough probability for you
- How is laughter social?
- A simple model of depression and "depressive realism"
- Learning how to tell a joke
- We must imagine the steelman happy
- The problem of Susan
- Scurrying
- On Julia Annas's conception of happiness
- Revisiting Intelligent Virtue
- What's up with the unity of the virtues?
- What does a good person look like?
- Book Speedrun: Intelligent Virtue by Julia Annas
- Notes on moral disorder
- Book speedrun: On Humour by Simon Critchley
- On feeling blocked, redux
August 2021
July 2021
- Unlearning
- Can you throw money at the Collatz Conjecture?
- The changing nature of sick days
- You can't write life down
- You have to do the easy bits first
- The edge of the familiar
- You can solve your problems, but you don't have to
- First decide what's good enough
- Learning from the real
- The trauma model of talent blocks
- Making life less irritating
- Would you like some advice?
- Clearing hurdles in learning
- Spiraling outwards
- A lack of shared projects
- Source: The noosphere, impersonal communication
- A library of recurring ideas
- You open one of the 999 boxes on this floor and find...
- What does one do on bad days?
- Heading towards the ouch
- Studying the mundane
- Start from amazing
- Why do we need new terminology?
- The humour test for expertise
- No shortage of things to write about
- People are bad at defining things
June 2021
April 2021
January 2021
December 2020
August 2020
July 2020
- Standardised Facts
- Politics as long periods of boredom punctuated by moments of sheer terror
- Inclusivity and Onboarding
- Seeing Your Working
- Thinking Outside Your Head
- Notes on Reduced Output
- An Annoyingly Hard Algorithm to Beat
- Questions to Ask When Bored
- Habit Overload
- Nice Problems to Have
- Living Room Rules
- Automatic Boltzmann Sampling for Context Free Grammars
- Learning to use the system
- Precarity and Conformity
- The Possibility and the Actuality of Change
- Indexing a DFA in shortlex order
- Getting Test-Case Reduction Unstuck with Automaton Inference
- Death of the Reader
- From Maintaining to Making
- Cultivating the Skills of Context
June 2020
- Free and Open Source Social Technology
- I'm not actually that curious
- Ideas Get You Unstuck
- Find a forking path
- Subsetting Life
- Trying out this thing called Hypothesis
- Books are never finished, only abandoned
- Speech and Writing
- Non-Experts and Status in Expert Communities
- Fake Olds
- Conversations in a public
- Chatting with your consciences
- Surviving is good
- Uploading friendships to the cloud
- Help isn't always helpful
- Morality tests as self-fulfilling prophecies
- Losing the story for the style
- Don't anthropomorphise fate, it hates that
- A Book is a Tool for Thinking With
- A Guide to Starting a Daily Writing Practice
- A Meta For Computers
- Testing Positive For vs Having
- The Virtue Ethics of Potato Growing
- Popular Culture Reference, David
- Some Useful Emotion Management Principles
- Being friends with your coworkers
May 2020
- Norms of Excellence
- Knowing what to look for
- Defects are the responsibility of programmers
- Key Performance Indicators
- Life is neither poker nor tennis
- The Inner Pedestal of Tennis
- Attractive People on Magazine Covers as Hermeneutical Marketing
- Identity and Legitimisation of Knowledge
- Feet as a Foundational Skill
- Feeling Good About Being Good
- Against the Classification of Books
- Morality and Emotion
- How I fix anxiety triggers
- Parts of you are missing
- Working with the audience
- Bug Fixes and Performance Improvements
- Requiem for a pair of trousers
- Truth and the Ghost Library
- Notes on Acedia
- Teach me of your human notions of love
- Joy in Sadness
- How to read a book
- Why are things hard?
- Building and Rebuilding Foundational Skills
- How to be a better person
- Initial Notes Towards a Manifesto
- Separating Impulse from Action
- Easy changes and Uncomfortable Reflections
- Cleaning up the fnords in your environment
- Making Success Trivial
- Model Monocropping
- Numbers and Feelings
- Strategy, reliability, and impersonality
- Adoptive Identities
- On not behaving like other people
- Ritual and Freedom
April 2020
- Care Work and Fixing Things
- The Casting of Leaders
- There is no moral obligation to be exhausted
- Masculinity as a source of sexual hang ups
- Telling each other stories
- Fixed and growth relationships
- 78 Thinking Hats
- The conditional love of a small town
- Democracy isn't just voting
- Proportionality and identity
- Power, baby, power
- Does a fish have a face?
- The Accelerator/Brake Model
- Notes on becoming a cis man
- Dust Motes and Electric Plugs
- Ubiquitous Incommensurability
- Capabilities can be coerced
- Spock is a Lie
- The memetic domus
- Intuition as search prioritisation
- Trivial irritations as inhibiting factors
- Maybe everyone was right all along
- The rule of three twos
- What's cooking?
- Being safe for others
- Anxiety vs Worry
- Teleology is fake
- The problem of deduction
March 2020
- Vampire bats as a model for flirting
- Desire as a driver of growth
- Everything is a teachable moment
- On having different thresholds
- Competence is sexy
- Pragmatic Problem Solving (aka Kludges)
- Notes on Running a Mutual Support Group
- Trust beyond reason
- Life as an anytime algorithm
- Leaving knowledge in the box
- The Inner Game of Celeste
- On feeling blocked
- Good strategies often fail
- Safety as an enabler of growth
- Everybody is looking for permission
- Berkson's paradox is everywhere
- Alief/Belief Coherence
- Communication: Collaboration and Conflict
- Books should be taken seriously but not literally
- Suspension of annoyance
- Homophily and the tyranny of false positives
- The art of not having opinions
- You can't actually explain everything to laypeople
- You can't actually run out of ideas
- Stuff just happens and you probably don't know why
- If a task is impossible, try making it harder
- Be the more decisive person
- Computer games as therapeutic tools
- Install cut out switches in your mind
- Nerding
- COULDDO vs TODO
- Untangling moral concepts
- Touch starvation and group responsibility
- Depression as felt restriction on emotional range
- Seeking out existence proofs in everyday life
- Skirting the edge of disaster
- Your emotions are valid but probably wrong
- Legibility as a relationship
- There are no deterministic voting systems
February 2020
- The social obligation to be bad at things
- Culture is deeply contingent
- Supersaturation of knowledge
- The fastest way to learn something is to do something
- How to make decisions
- All knowledge is connected
- Legibility Privileges
- You should try bad things
- Constraints on skill growth
- Emotional reactions as legacy code
- Books by writers are the worst
- Extracts from "How to talk about books you haven't read"
- Coevolution and the bad take machine
- We are surrounded by ghosts
December 2019
November 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
- Improving Binary Search by Guessing
- TIL: Libguides
- Lashon Hara
- Short Reviews
- Book Review: Agnotology: The Making and Unmaking of Ignorance, edited by Robert N. Proctor and Londa Schiebinger
- Book Review: The Descent of Man by Grayson Perry
- Book Review: Illness (Art of Living) by Havi Carel
- Book Review: "Daring Greatly" by Brene Brown
- You're walking wrong
- A Boltzmann Agent with Very Bad Judgement
March 2019
- Boltzmann Samplers for Consistent Epistemic Actors
- Book Review: The Body Keeps the Score by Bessel Van Der Kolk
- (Partial) Book Review: [Focusing by Eugene T Gendlin ](https://amzn.to/2NRXaM5)
- Unkind / Unfair / Untrue
- Book Review: Sorting Things Out: Classification and Its Consequences by Geoffrey C. Bowker and Susan Leigh Star
February 2019
- The Core Problem with Democracy
- The Lazy Collection Trick
- Do numbers exist?
- What even is a number?
- Caching interactions with an arbitrary interface
- Talking to your imaginary friends as a writing prompt
- Book Review: Marriage and Morals, by Bertrand Russel
- Easy parallel test-case reduction
- Updating Random Samplers
- TV Show Review: A Series of Unfortunate Events
January 2019
- Reducing the Reduction Pass Ordering Problem
- Vegan Chartreuse Hot Chocolate
- Recipe Write-Up: Not really Soboro
- Book Review: Every Cradle is a Grave by Sarah Perry
- Book Review: A Paradise Built in Hell by Rebecca Solnit
- Onion, Bacon, and Potato Pancakes
- Some female SFF authors to read
- Reducer Pass Budgeting
- Brexit Prep
- Book Review: Aphantasia: Experiences, Perceptions, and Insights, by Alan Kendle
- Recent Fiction Reading
- Using unsound A\* search to improve a greedy algorithm
December 2018
- Book Review: The Cooking Gene by Michael W. Twitty
- Derivative of a polynomial with real roots
- Flying Lessons
- Test-case reduction as graph search
- Etymology of property-based testing
- Another attempt at brownies.
- Privacy as Friction Reduction
- When is it OK for a book to be long?
- Placeholder
- Levy's theorem
- Wheat-and-Dairy-Free Brownies
- Book Review "The Tao of Pooh and the Te of Piglet" by Benjamin Hoff
- Book Review: How to Improve Your Foreign Language Immediately Paperback by Boris Shekhtman
- Democracy Can't Work
- Crispy Spicy Green Beans
- Book Review: Learn to Write Badly by Michael Billig
November 2018
- You Can Do Anything (But You Can't Do Everything)
- Teach People How To Do Things
- Book list from CUP.
- Building Friendships
- The people that live in your head
- How to build a superintelligence
- Reading a Paper
- Book Review: Rereadings, edited by Anne Fadiman
- Miscellaneous Notes on Vegetarian Cooking
- Book Review: Rewriting the Rules
- Notes on Queer Life as Combat Epistemology
- Book Review: 100 Ways to Improve Your Writing, by Gary Provost
- Testing if nearness is an equivalence.
- Not the Box
- Book Review: Trans Like Me
- Notes from TickTalk
- How to write when writing is hard
- Dietary Experimentation
- Book Review: The Knowledge Illusion
- Notes on Lagrangian Duality
- Pork Meatballs with Ground Almonds
- Doing Mathematics to People
- Notes on "Towards a general mathematical theory of experimental science"
- Book Review: The Life Changing Magic of Tidying Up
- Frequentist Statistics as a Tool of Critique
October 2018
- Notes on Blocking Sets
- Notes from London Liberating Structures 2018-10-30
- The No Genies Conjecture
- Book Review: "An Astronaut's Guide to Life on Earth" Chris Hadfield
- Book Review: A Field Guide To Getting Lost by Rebecca Solnit
- Deleting larger intervals in test case reduction
- Book Review: Thinking in Systems by Donella H. Meadows
- Vegetarian Lasagne Recipe
- Book Review: All The Lives I Want by Alana Massey
- Book Review: Writing to Learn
- Compare and Contrast: Big Capital vs Radical Markets
- Big Capital: Who is London for? by Anna Minton
- Book Review: We Should All Be Feminists by Chimamanda Ngozi Adichie
- Book Review: How to Talk about Books You Haven't Read, by Pierre Bayard
- Book Review: How to understand your gender
- Books
- Implicit vs Explicit
- Beeminder for Enforced Participation
- Teaching from worked examples
- Beware Threshold Effects
- Communicating Knowledge
- Stories about Data
- Auto-parallelising test-case reduction
- Try not to think about it
- Branch and Consolidate
- Maybe these two great flavours go together
- Things you didn't know you can be bad at
- Vegetables and diet
- Questions
- You Can't Trust Lawful Good
- The Duties
- On Formal Mathematics
- Notes on Interviewing
September 2018
- What is a neural network?
- Liberating Structures
- Principles of (Social) System Design
- Homo economicus as a user persona
- Group Decisions on Names
- Lightweight RPG Systems
- Switching between models
- The structure of a programming language revolution
- Some of my favourite PyCon UK talks
- Lean Coffee at PyCon UK
- Notes on Tweeting Too Much At Conferences
- Implication chains and probability
- Some hung parliament jokes
- What might a continuous rational agent look like?
- Programming vs Mathematics
- Physical and Topological Limitations to Rational Choice
- NP-hardness in preference elicitation
- Self-defeating objects and diagonal arguments
- How complex systems fail
- Towards a definition of mathematics
- Laptops in the classroom
- When come back bring pie(s)
- Two cultures of mathematics
- Trolling and devil's advocacy
- STV-based talk scheduling
- Mechanisms for talk scheduling and voting
- My parents, Ayn Rand and God
- Asshole filters and self-selecting scams
- Fiction for Kristian
- Modes of writing
- Can a machine design?
- Notation for test-case reducers