Thoughts from David R. MacIver
Death of the Reader
From Clear and simple as the truth by Thomas and Turner, page 138:
Word for word, Gallanda's version is the worst written, the most fraudulent and the weakest, but it was the most widely read. [...] Its orientalism, which we now find tame, dazzled the sort of person who inhaled snuff and plotted tragedies in five acts. [...] We, mere anachronistic readers of the twentieth century, perceive in these volumes the cloyingly sweet taste of the eighteenth century and not the evanescent oriental aroma that two hundred years ago was their innovation and their glory. No one is to blame for this missed encounter, least of all Galland.
Jorge Luis Borges, "Los traductores de las 1001 noches" [The translators of the 1001 nights]
I wrote before about the difficulty of understanding historical fact from historical records. This, I think, highlights another problem for understanding history: As modern readers, it is extremely difficult for us to understand how a text would have been read at the time.
I've encountered this problem with reading historical mathematics. It is very hard to read historical mathematics, because one tends to read them through the lens of modern mathematics. For example, reading texts from prior to the invention of modern mathematical notation, it's very easy to think of it in terms of its modern representation.
The thing is, that modern representation makes certain things very obvious that were not at all obvious to historical mathematicians.
In general, it is very hard to read a text without looking at it through the lens of culture that we have built since that text was written. That culture gives us ways of looking, and thinking, and feeling, about the contents of the text that make it impossible for us to read it as it would have been read at the time.
Sometimes that culture is even informed by the text. For example, I found reading 1984 very tedious, because I found its contents obvious and predictable, but a lot of why they are obvious and predictable is that everybody has read 1984.
I am reminded of people who read Lord of the Rings and find it laughable because all of the characters in it are fantasy cliches.
From Maintaining to Making
From The Shock of the Old by David Edgerton, page 98:
There are many examples in the history of twentieth-century technology where enterprises started by maintaining a technology, moved on to manufacture components or the whole thing, and then to innovate. But equally there are others where maintenance did not lead to such a development.
This point is, of course, straight out of The Economy of Cities by Jane Jacobs (and Edgerton explicitly mentions it).
I think one of the interesting dynamics of maintenance is that maintenance is intrinsically context-specific. You're not maintaining cars, you're maintaining this specific car. Over time, two identical objects have their own events and history - sometimes they're deliberately modified, sometimes they're just used in a particular way which causes particular strains. This intimately affects what you need to do to maintain them.
The skill of generalising from that maintenance is differently hard - it involves thinking about how things behave when stripped of their context, and robs you of a lot of context-specific tools. For example, it is not in the nature of the kludge to generalise.
But, equally, maintenance both gives you a strong incentive to generalise, because although each object you maintain is different, you get to see many objects and start to notice the patterns through them over and over again. A maintainer is significantly more aware of what the lifecycle of the objects in use is than the manufacturer, and this probably leads very naturally into superior manufacturing if you've got the means and inclination to do so.
Cultivating the Skills of Context
Have you noticed how there are jokes that really can only exist in their extremely specific context?
Here's an example. The joke is kinda obvious in context, but it entertained me, and there is really no other context in which that joke could possibly have existed.
Something I lightly advocated for recently is the use of niche analogies. e.g. I get good mileage out of analogies between programming and therapy. I also get good mileage out of analogies between farming and ethics. I also get good mileage out of analogies between farming and ethics ("cultivating" is itself something of a farming analogy). These analogies will typically only work for a small group of people, because they have to be in the intersection of the groups who understand each of the things being compared, but they may work very well for those people.
In unusual foundations I argued that you have a unique set of skills and background, and as a result may be able to take advantage of them in unique ways that allow you to achieve things more easily than advice would suggest.
A lot of software is situated - it is extremely embedded in a particular environment and use case, and has none of the things that you might expect from a more general purpose piece of software, to the point where it may be easier to write a new one than to adapt the software to a new context (this notebook blog is itself a piece of situated software).
What all of these have in common is that they are things that only work in a very specific context. They don't generalise (or "scale" if you prefer) outside of that context, because they take advantage of hyper-specific features that are not widely shared.
Is that a bad thing?
When I tell (or, more realistically, hear) a really funny joke that works only in that specific context, I always feel a little annoyed because I would like to share the joke and can't. But maybe the reason the joke is so funny is precisely because of its uniqueness - its reliance on the situation is what gives it its novelty and makes it funny.
Advice that generalises is great, because it can help more people, but the nature of advice is that the more you generalise it the less good it becomes, because you have to simplify it so people understand, you have to add preconditions or remove the things that depend on those preconditions. Often by the time you've reached enough people you've put in a lot of work and made it less good as a result. This is the whole reason I wrote the unusual foundations post - for any given general purpose piece of advice there is probably a better context specific piece of advice. So you end up trading off between number of people you help and how much you help them.
(This isn't entirely true because helping more people gives you more people to innovate on the advice, but you can have your cake and eat it too by sharing the advice in its context-specific form, along with explaining the context, and let other people innovate to adapt it to themselves)
This pattern repeats over and over again, with generalising things being a lot of work and typically making them worse.
But of course one nice thing about generalising is that you often don't have to do that work in the first place. Someone has already invented the hammer, I don't need to come up with a custom context-specific artisanal solution to hammer in this particular nail. As a result, in the moment a general purpose solution is often easier than a context-specific one as long as that general purpose solution already exists.
This is, I think, the source of a lot of mediocrity: It's too much work to do the good thing, so we fall back to the known thing. We only use a context-specific solution when there isn't an easy general purpose one, or when the context-specific one is obvious to us (e.g. the jokes).
(The general-purpose solution is, of course, not always worse than a context-specific one - often a general-purpose solution has been refined through a great deal of time and effort, and trying to adopt a context-specific one is like rolling your own crypto: It's bad)
But everything we do has a rich set of context. This means that we should expect there to be a rich set of context-specific solutions available to us, and we're often likely ignoring them and trying to fit an inappropriate general purpose solution to the situation in question.
The solution is, I think, to generalise from the solutions we find in context, but not by generalising the solution and instead generalising the process by which we found it. By cultivating the skills of looking at a context and identifying whether it permits things that are not possible in the broader world, we lower the effort of finding context-specific solutions, which will often allow us to move from mediocrity to excellence.
Free and Open Source Social Technology
From Where Good Ideas Come From by Steven Johnson, page 242:
As Lawrence Lessig has so persuasively argued over the years, there is nothing "natural" about the artificial scarcity of intellectual property law. [...] Ideas are intrinsically copyable in the way that food and fuel are not. You have to build dams to keep ideas from flowing.
This is in the context of Johnson talking about what he calls the fourth quadrant - ideas generated by networks of people operating outside of market incentives. The fourth quadrant is in fact a great source of innovation, and a large part of that is this relative lack of intellectual property dams. If someone comes up with a great idea and isn't interested in making money off it, they're usually delighted if you copy them. Good etiquette requires that you credit them, and ideally (in the spirit of open source) if you make any improvements to the idea you pay it back by telling them or others about it, so as long as everyone behaves like a vaguely good citizen sharing ideas that you don't intend to monetize is a net positive for everyone.
One difficulty is when ideas escape the network and into the market - if you share your idea and someone goes "that's a great idea, I'm going to make money off it", that's less good. Firstly, you feel exploited (in many cases this will be literally cultural exploitation) and secondly now there's an entity who likely has more money (and thus power) than you who is liable to claim ownership of the idea and/or make demands of you, and because you gave the idea away for free you have little leverage.
If I sound bitter, this is of course because we run into this problem in FOSS a lot.
But there's a nice example where this doesn't really come up that much, which is social technology. You do get people "selling" social technology through writing books and doing consulting or training courses, but even there it tends to be pretty much part of the network rather than the market, with members of the network also making money off it.
A lot more people are developing social technology, and more general technologies in the form of the techniques of being human. In the last year or so I've been hanging out with the group who I tend to refer to as "feelings Twitter" - a very loosely aligned group of people who basically do a lot of weird therapy and talk about their feelings and the tools they've used to explore them. This is very much an example of fourth quadrant innovation, with people mixing and matching, generating new techniques, boosting ideas that have worked well for them.
So far this all seems to work out pretty well, and I think a large part of that is that even though you can make money off this sort of thing very few of us are trying to do so (I suppose I kinda am trying to make money off it, in that the newsletter is paid, but I'm pretty far from being there). Being better humans is our work but not our job.
At the moment I don't see much risk of us falling into the FOSS trap of having to support companies who are using our stuff for free (providing free therapy in your DMs is a lot more likely, but I think quite a different problem and not necessarily a problem at all), and if a company uses our ideas that's generally going to be somewhere between neutral an positive for us (it might be a bit annoying if and when they butcher them).
And, to go back to the original quote, a lot of that is because you can't patent social technologies. Lets keep it that way.
I'm not actually that curious
Small personal note, but I've noticed a number of people have a particular misconception of me, and thought I'd clear it up.
You know how I read insatiably, driven by pure curiosity, and know a huge amount of different things just because I wanted to know them?
Yeah, I don't do that.
At least, I don't do that often. It's a thing I do sometimes, but an idle scan of my bookshelves suggests that no more than about one book in twenty is something I've read out of pure interest. Generally speaking if I'm reading something nonfiction it's because I expect it will actually improve my life in some material way.
I'd like this to not be the case: It would be wonderful if I could just read things because I thought they were interesting, but I actually find it very difficult to be interested in knowledge that I can't use in some way to solve practical problems. I suspect that will improve as the ongoing project to improve my emotional landscape progresses, but I'm very much not there yet.
Don't get me wrong, a lot of the books I read are super interesting in their own right, and I do appreciate that aspect of them. I also don't do well at reading boring books. But I don't select books because they're interesting, I select books because they'll help me with something. The emotion that most commonly drives me to read a book isn't curiosity, it's distress: Something is bad, and my stress response is to understand more about the subject matter so I can make it better, so I read a book about it.
It's not always distress. Sometimes it's because I'm annoyed that something doesn't make sense. Sometimes it's a simple desire for improvement, or some really concrete problem to solve. Sometimes it's just a general background faith that even if I don't have a specific problem I'm trying to solve then the book will be good for something.
This might seem odd given my reading material ("David, what are you reading?" "I'm reading a Christian theology book about how giving yourself over to Christ will solve capitalism." "Of course you are.") but what you have to bear in mind is that I am a deeply unreasonable person with a very idiosyncratic approach to knowledge.
If you read my notes towards a manifesto, a lot of what I'm working on is "general humaning skills". What field do you need to read in in order to figure out how to do humaning better? Basically all of them I'm afraid.
When I say All knowledge is connected I think most people nod sagely and agree that this is true in principle, and you do get people reading out their field a bit (e.g. Software developers reading architecture books is a thing, though mostly because books about software development are mostly terrible, and every field has a subculture of people telling you that you need to read Zen and the Art of Motorcycle Maintenance to truly understand it). But I don't think, by and large, people fully embrace it as a praxis, mostly because it's really hard and time consuming.
I have three advantages here:
- I take the idea seriously and am willing to put in the work.
- I don't find it that hard. I'm good at reading books, I'm good at connecting up knowledge, and I generally prefer hitting practical problems with huge theory hammers.
- I have a relatively large amount of time to devote to the problem, especially on days when I'm failing to work on my PhD.
The result is that yes I just really am the sort of person who goes "Community drama seems like a really hard problem. Why don't I read a text on Talmudic law so I can understand it better?" and have a project to learn phenomenology so I can improve my own subjective emotional experience.
Does this work?
Honestly, yes. I cannot say that I recommend it to everyone, or even to most people, but I've found it extraordinarily helpful. It's not sufficient in its own right, but I've been taking this seriously for a few years and really kicked it into high gear this year with the addition of the writing practice to properly integrate this knowledge, and I've seen huge improvements in my life enabled by it.
I expect I'll keep reading like this for at least another couple of years - with any luck I'll gradually include a higher fraction of pure interest reading as time goes on, but I doubt I'm at any risk of solving all my problems any time soon.
I can't read everything relevant to my problems of course. I'm not trying to. What I'm trying to do is cultivate a domus that gives me a sufficient wealth of ideas to get me unstuck on making progress with the problems I have.
(A domus is a concept I got from reading about the early history of civilisation and the role of grain cultivation - James C. Scott is an author I tend to just read because I assume I'll get something useful out of it even if I don't know what going in. Haven't been wrong yet)
When I encounter a limitation, I read new material to overcome it. Because the category of problems I am trying to solve is, in the limit, all of human endeavour, there's no shortage of limitations. The result is a constant switching around of what I'm working on based on what I can currently make progress on, and reading whatever seems most currently accessible and relevant to the bits I'm actively stuck on. This tends to cause me to bounce around a lot between different fields, because once I've read a book (or a couple books sometimes) about a subject I need a while to let it bed in and try applying it and integrating it before I'm ready to read more in that area.
From the outside this process does looks a lot like curiosity, but as a David expert I'm here to tell you that this isn't cute, and Davids only behave this way when they're under stress.
- Ideas Get You Unstuck
- Find a forking path
- Trying out this thing called Hypothesis
- Subsetting Life
- 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
- 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
- How I fix anxiety triggers
- Morality and Emotion
- Parts of you are missing
- Working with the audience
- Bug Fixes and Performance Improvements
- Requiem for a pair of trousers
- Notes on Acedia
- Truth and the Ghost Library
- 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
- Adoptive Identities
- Strategy, reliability, and impersonality
- On not behaving like other people
- Ritual and Freedom
- 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
- 78 Thinking Hats
- Fixed and growth relationships
- 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
- 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
- Install cut out switches in your mind
- Be the more decisive person
- Touch starvation and group responsibility
- Computer games as therapeutic tools
- Untangling moral concepts
- If a task is impossible, try making it harder
- Stuff just happens and you probably don't know why
- COULDDO vs TODO
- You can't actually run out of ideas
- 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
- 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
- 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
- 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
- Unkind / Unfair / Untrue
- Book Review: Sorting Things Out: Classification and Its Consequences by Geoffrey C. Bowker and Susan Leigh Star
- 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
- 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
- Recent Fiction Reading
- Book Review: Aphantasia: Experiences, Perceptions, and Insights, by Alan Kendle
- Using unsound A* search to improve a greedy algorithm
- 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.
- When is it OK for a book to be long?
- Privacy as Friction Reduction
- Levy's theorem
- Wheat-and-Dairy-Free Brownies
- Book Review: How to Improve Your Foreign Language Immediately Paperback by Boris Shekhtman
- Book Review "The Tao of Pooh and the Te of Piglet" by Benjamin Hoff
- Democracy Can't Work
- Crispy Spicy Green Beans
- Book Review: Learn to Write Badly by Michael Billig
- 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
- Testing if nearness is an equivalence.
- Book Review: 100 Ways to Improve Your Writing, by Gary Provost
- Not the Box
- Book Review: Trans Like Me
- Notes from TickTalk
- How to write when writing is hard
- Notes on Lagrangian Duality
- Dietary Experimentation
- Book Review: The Knowledge Illusion
- Pork Meatballs with Ground Almonds
- Doing Mathematics to People
- Notes on "Towards a general mathematical theory of experimental science"
- Frequentist Statistics as a Tool of Critique
- Book Review: The Life Changing Magic of Tidying Up
- Notes from London Liberating Structures 2018-10-30
- Notes on Blocking Sets
- The No Genies Conjecture
- Book Review: "An Astronaut's Guide to Life on Earth" Chris Hadfield
- Book Review: Thinking in Systems by Donella H. Meadows
- Book Review: A Field Guide To Getting Lost by Rebecca Solnit
- Deleting larger intervals in test case reduction
- 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 understand your gender
- Book Review: How to Talk about Books You Haven't Read, by Pierre Bayard
- Teaching from worked examples
- Beware Threshold Effects
- Communicating Knowledge
- Implicit vs Explicit
- Beeminder for Enforced Participation
- 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
- The Duties
- You Can't Trust Lawful Good
- On Formal Mathematics
- Notes on Interviewing
- What is a neural network?
- Principles of (Social) System Design
- Group Decisions on Names
- Lightweight RPG Systems
- Some of my favourite PyCon UK talks
- Notes on Tweeting Too Much At Conferences
- Lean Coffee at PyCon UK
- What might a continuous rational agent look like?
- Programming vs Mathematics
- Physical and Topological Limitations to Rational Choice
- When come back bring pie(s)
- Mechanisms for talk scheduling and voting
- My parents, Ayn Rand and God
- Fiction for Kristian
- Notation for test-case reducers
- Modes of writing
- Can a machine design?