Learning to walk through walls An Article by David R. MacIver drmaciver.substack.com I have a running joke that one of the most useful things I do when coaching or consulting is to say to people “Yes, that does sound like a problem. Have you tried solving it?” Part of why this is a joke is that actually most of the useful work happens prior to the point - the hard part is actually articulating what is going wrong well enough that it seems like a soluble problem - but there is genuinely something useful about this, because often it feels people are looking for permission. Without the external prompt, solving their problem is not something they noticed that they were allowed to do. A Burglar's Guide to the City problemsgames
Delight in the imperfect An Article by David R. MacIver drmaciver.substack.com I think part of the difficulty in allowing ourselves to properly delight in the imperfect, comes from conflating delighting in something with wanting it to happen. This isn’t the case. You can appreciate something as it exists while acknowledging its problems. You can see that a fire is beautiful without becoming a pyromaniac, and you can appreciate the absurdity of your political situation without thinking it’s good. Even if a delight in the imperfect causes you to want more imperfection in your life (and it should), there is no shortage of imperfection to seek out. The imperfect is not scarce, it’s abundant. If you find imperfection delightful, you will never be short of things that delight you, even if you fix any given problem. Solving problems and smoothing out imperfections doesn’t remove the source of delight, it merely opens up new vistas for it. You could give yourself over totally to delight in the imperfect and never run out of things to explore, even without creating your own. flawshumorproblems
We are surrounded by ghosts An Article by David R. MacIver notebook.drmaciver.com I'd like to call the more general phenomenon that this is a specific instance of "ghost knowledge": It is knowledge that is present somewhere in the epistemic community, and is perhaps readily accessible to some central member of that community, but it is not really written down anywhere and it's not clear how to access it. Roughly what makes something ghost knowledge is two things: It is readily discoverable if you have trusted access to expert members of the community. It is almost completely inaccessible if you are not. In this sense, most knowledge is ghost, particularly if you take an expansive view of what counts as an epistemic community. knowledge
Trust beyond reason An Article by David R. MacIver notebook.drmaciver.com In this sense, trust is a polarizing strategy, and it's one that is important to apply early on in the relationship before someone becomes important to you. If you trust someone excessively and it goes badly, but they don't matter to you, you can just kick them to the curb. In general, trusting someone at a level that seems slightly excessive for their level of importance to you will help you sort people in your life who you want to be more important to you than they are from those who you want to be less important than they are. And it does need to be excessive. It needs to be trust beyond reason. Not beyond all reason, but somewhat beyond what currently seems reasonable. If it is not, then unless they are prepared to take the first move, you will never find the signs you need to move to a higher level of mutual trust. Sometimes this will go badly, but you need to be able to try bad things. trustlovefriendship
The fastest way to learn something is to do something An Article by David R. MacIver notebook.drmaciver.com Suppose you have a problem to solve. What do you do? Well, you sit down and think real hard, and after extensive and careful planning you try the well thought out and rigorous solution that you have thought up. Right? No, wrong! Bad. The correct thing to do when you have a problem is: Think for a short amount of time. Make sure it is safe to try things. Try something you think will work. Observe the result. If you succeeded, yay you solved the problem! If it didn't work, think about what that means for the nature of the problem and try again. The Feynman Algorithm problemsprototypesfeedback
Coevolution and the bad take machine An Article by David R. MacIver notebook.drmaciver.com So when you have a bad take machine, you get the following processes: They make a bad take. People are outraged and talk about it. The bad take machine likes it and does more of that behaviour in future. If, on the other hand, they make a take and nobody cares, they do not get reward and the behaviour is selected against. The behaviours drove the spread of the outrage replicator, and the outrage replicator provides the selection mechanism for the behaviours. Thus, via the spread of our outrage on Twitter, we have operant conditioned the bad take machine into producing worse takes. Which is to say, it's bad on purpose to make you replicate it. How to write a high-engagement tweetA bad tweet is like a deepfake of an idea mediaanger
Notes on the Legibility War An Article by David R. MacIver notebook.drmaciver.com The basic idea of legibility is that the act of making something comprehensible enough to control is itself an act that shapes the thing to be controlled, often with far greater consequences than the control itself. This is because it removes complexity that is deemed as irrelevant that makes it harder to control, and that complexity may be in some way essential to the health of the system. controlsystemscomplexitylegibility
Things you didn't know you can be bad at An Article by David R. MacIver notebook.drmaciver.com I wonder how many things we're all going around doing badly because the idea of not knowing how to do them well seems too ridiculous to admit to. ...You've probably never been taught to have a conversation. I've had exactly one class on it and it was in the last six months. I know damn well that many people have not self-taught this well... In general there's this entire class of implicit skills that we mostly don't think of as skills, that we're entirely self-taught on, and that we practice sufficiently non-demonstratively that we can't easily watch what other people do. The result is a very personal skill idiolect. Idiolect skilllearningpractice
A Plea for Lean Software An Essay by Niklaus Wirth cr.yp.to Software's girth has surpassed its functionality, largely because hardware advances make this possible. The way to streamline software lies in disciplined methodologies and a return to the essentials. Measured by the number of its featuresEssential vs. nice to haveDependence is more profitable than educationThe most rewarding iterationsNever enough time A grossly obese set of requirementsFeatures and complexity softwareperformancefunction
Measured by the number of its features A primary cause of complexity is that software vendors uncritically adopt almost any feature that users want. Any incompatibility with the original system concept is either ignored or passes unrecognized, which renders the design more complicated and its use more cumbersome. When a system's power is measured by the number of its features, quantity becomes more important than quality. Every new release must offer additional features, even if some don't add functionality. featuresqualitycomplexity
Essential vs. nice to have Customers have trouble distinguishing between essential features and those that are just "nice to have." Examples of the latter class: those arbitrarily overlapping windows suggested by the uncritically but widely adopted desktop metaphor; and fancy icons decorating the screen display, such as antique mailboxes and garbage cans that are further enhanced by the visible movement of selected items toward their ultimate destination. These details are cute but not essential, and they have a hidden cost. / Increased complexity results in large part from our recent penchant for friendly user interaction. I've already mentioned windows and icons; color, gray-scales, shadows, pop-ups, pictures, and all kinds of gadgets can easily be added. Menus, Metaphors and Materials: Milestones of User Interface Designlittlebigdetails interfacesux
Dependence is more profitable than education A customer who pays—in advance—for service contracts is a more stable income source than a customer who has fully mastered a product's use. Customer dependence is more profitable than customer education. What I find truly baffling are manuals—hundreds of pages long—that accompany software applications, programming languages, and operating systems. Unmistakably, they signal both a contorted design that lacks clear concepts and an intent to hook customers. The design concept documentation
The most rewarding iterations Initial designs for sophisticated software applications are invariably complicated, even when developed by competent engineers. Truly good solutions emerge after iterative improvements or after redesigns that exploit new insights, and the most rewarding iterations are those that result in program simplifications. Evolutions of this kind, however, are extremely rare in current software practice—they require time-consuming thought processes that are rarely rewarded. Instead, software inadequacies are typically corrected by quickly conceived additions that invariably result in the well-known bulk. So that you can get feedback on it and make it betterTo anticipate all the uses and abuses agileiteration
Never enough time Time pressure is probably the foremost reason behind the emergence of bulky software. The time pressure that designers endure discourages careful planning. It also discourages improving acceptable solutions; instead, it encourages quickly conceived software additions and corrections. Time pressure gradually corrupts an engineer's standard of quality and perfection. It has a detrimental effect on people as well as products. Deadlines are bullshitThe Thing-deadline calculus