Systems for making systems | Illusion Slopes
Systems for making systems | Illusion Slopes
I read a comment stating that git (a tool programmers use to collaborate on<br>code, sort of like Word’s Track Changes) is not a version control system but a<br>“system for creating a version control system.”
That got me thinking about other such “metasystems” I use, and the frustration<br>that arises when one expects a mere system and instead gets the meta<br>thing.
Anki
Anki is a system for making a flashcard system.<br>I’ve used this excellent program for about four years to memorize Korean vocab.<br>But the first time I tried Anki, I downloaded a stock deck of Korean words and<br>felt confused and overwhelmed.
Studying with someone else’s Anki deck is a mistake, because it skips the most<br>important part of spaced repetition learning: determining what you’re actually<br>trying to learn and breaking it into flashcard-sized units. For example, if<br>you’re using Anki to learn a language, how do you want to handle synonyms? (That<br>might be a separate post.) Creating your own deck forces you to answer such<br>questions and clarify your learning goals.
Microsoft Excel
Much hated, but much misunderstood. You may think Excel is a spreadsheet tool,<br>but it’s actually a tool for making spreadsheet tools.
I learned this the hard way when I did process automation stuff at work and<br>witnessed how widely people’s Excel conventions vary. Everyone uses the<br>file/worksheet/row/column hierarchy differently. Some enlightened people code<br>booleans using the native TRUE and FALSE, but others use the strings “yes”<br>and “no” (or blank), the checkbox widget, or the cell background color (have fun<br>querying that in Pandas).
Did you know that Excel incorporates an entire<br>programming language?<br>OK, but did you know about the<br>other one?<br>Or sorry, this one?
Sometimes, I wish Excel had a<br>bumpers mode that removes all the<br>formatting options (especially Merge Cells!!) and forces you to put data in<br>named<br>tables<br>with strict column types. But that would just be a spreadsheet tool. It wouldn’t<br>be Excel.
CSS
CSS is how you set the color, layout, and style of web pages. The CSS for this<br>site is quite a mess, a bunch of<br>ad-hoc fixes<br>tacked on as I added new features to Illusion Slopes. I’ve gotten better at CSS<br>since setting up the Jekyll build, but my skills are mainly useful on new<br>projects, where I can architect the HTML and CSS from scratch. The mental shift<br>I made is from using CSS to style an individual page, to using CSS to create a<br>system that styles pages. A cascade of styles, if you will …
This post from Jacob<br>Bleser outlines the kind of CSS system I want to set up for my site once I<br>gather the courage to do a big migration.
Powerful but frustrating
Everyone new to git has had the xkcd 1597 experience<br>of trashing and re-cloning the repo to make a merge work. Metasystems like git<br>are powerful but hard to learn, which explains the abundance of businesses like<br>GitHub that purport to make the underlying tool more approachable.
But a good metasystem tends to resist such taming efforts because it is<br>precisely as complex as the problem space requires. Simplifying tools are often<br>unwieldly in their own ways (see<br>this critique of Tailwind CSS),<br>while disappointing power users who want access to the raw workflow—the worst of<br>both worlds.
But hey, they added<br>yet another programming language<br>to Excel.
Related posts:
PageRanking People and Blogs interviews<br>​
(May 6, 2026)
My poorly automated Kubuntu setup<br>​
(Jun 4, 2025)