Craig Mod
Brilliant Hardware in the Valley of the Software Slump
An Article by Craig ModThanks Doc
An Article by Robin Rendle & Craig ModA couple of months back, Craig mentioned in a video that he has a doc filled to the brim with snippets of text—nice words, compliments, and thanks that had been sent his way for his work. Whenever someone says something nice he just copy/pastes it into that doc.
It sounds silly at first and perhaps a little egotistical. Behold! I have a document that proves how great I am!
But I started doing it just to see what it feels like and…hey…actually? It’s so great! When I’m feeling low (often) or whenever the world feels unstable (extremely often) it’s so very nice to return to a few kind words about my work. It reminds me just how much these words of praise mean, it reminds me that I ought to pass that favor along.
Delight is constraints, joyfully embraced
An Article by Craig ModAnd what is delight? For me, delight is born from a tool’s intuitiveness. Things just working without much thought or fiddling. Delight is a simple menu system you almost never have to use. Delight is a well-balanced weight on the shoulder, in the hand. Delight is the just-right tension on the aperture ring between stops. Delight is a single battery lasting all day. Delight is being able to knock out a 10,000 iso image and know it'll be usable. Delight is extracting gorgeous details from the cloak of shadows. Delight is firing off a number of shots without having to wait for the buffer to catch up. Delight is constraints, joyfully embraced.
Fast Software, the Best Software
An Essay by Craig ModI love fast software. That is, software speedy both in function and interface. Software with minimal to no lag between wanting to activate or manipulate something and the thing happening. Lightness.
Software that’s speedy usually means it’s focused. Like a good tool, it often means that it’s simple, but that’s not necessarily true. Speed in software is probably the most valuable, least valued asset. To me, speedy software is the difference between an application smoothly integrating into your life, and one called upon with great reluctance. Fastness in software is like great margins in a book — makes you smile without necessarily knowing why.
Looking Closely is Everything
An Essay by Craig ModKambara, detail by detail.
I’d say that that huh is the foundational block of curiosity. To get good at the huh is to get good at both paying attention and nurturing compassion; if you don’t notice, you can’t give a shit. But the huh is only half the equation. You gotta go huh, alright — the “alright,” the follow-up, the openness to what comes next is where the cascade lives. It’s the sometimes-sardonic, sometimes-optimistic engine driving the next huh and so on and so forth.
Ri — The Distance Walked in an Hour
An Article by Craig ModA ri is a unit of measure, it’s about how far a person can walk in an hour at a reasonable pace. It clocks out at roughly 3.93 kilometers.
Remnants of the ri system are scattered along the old roads of Japan. During the Edo period, ri were marked recurrently by hulking earthen mounds that flanked the road — ichi-ri zuka, “one-ri mounds.” There are only a handful of “originals” left. When you pass one with an old cypress or oak growing from its center it becomes a tiny moment of celebration.
A Need to Walk
An Essay by Craig ModWalking intrigues the deskbound. We romanticize it, but do we do it justice? Do we walk properly? Can one walk improperly and, if so, what happens when the walk is corrected?
Life as Protest
A Fragment by Craig ModI’ve written this before but I constantly need to remind myself of it, so, once again: A certain kind of work, lifestyle, mode of living — in and of itself — is protest. That is, work that is curious and rigorous is implicitly an antipode to didactic, shallow bombastity. It is inherently an archetype against bullshit. That to be committed to this work or life of rigor (be it rigor focused on “art” or, as they say in Japanese, sakuhin, or family or athleticism or whatever), and to share it with the world is to opt-out of being paralyzed by idiocy, and help others who may be paralyzed find a path back to whatever fecundity of life it is that they deserve.
Koya Bound
A Book by Craig ModKoya-san — home to esoteric Buddhism — is the name of a sacred basin eight hundred meters high and surrounded by eight mountains. It is roughly one hundred kilometers of trails north from the Kumano Hongu Taisha shrine in Wakayama, Japan. Though the name of the basin is often incorrectly translated as Mt. Koya in English, Mt. Koya is only one of the eight peaks, and is remote from the central cluster of temples.
We walked towards Koya-san, but we did not touch Mt. Koya.
The small web is beautiful
I believe that small websites are compelling aesthetically, but are also important to help us resist selling our souls to large tech companies. In this essay I present a vision for the “small web” as well as the small software and architectures that power it.
Why aim small?
Why aim small in this era of fast computers with plenty of RAM? A number of reasons, but the ones that are most important to me are:
- Fewer moving parts. It’s easier to create more robust systems and to fix things when they do go wrong.
- Small software is faster. Fewer bits to download and clog your computer’s memory.
- Reduced power consumption. This is important on a “save the planet” scale, but also on the very local scale of increasing the battery life of your phone and laptop.
- The light, frugal aesthetic. That’s personal, I know, but as you’ll see, I’m not alone.
Features and complexity
Niklaus Wirth of Pascal fame wrote a famous paper in 1995 called A Plea for Lean Software. His take is that “a primary cause for the complexity is that software vendors uncritically adopt almost any feature that users want”, and “when a system’s power is measured by the number of its features, quantity becomes more important than quality”.
Solving the problem of software bloat
But instead of just complaining, how do we actually solve this problem? Concretely, I think we need to start doing the following:
- Care about size: this sounds obvious, but things only change when people think they’re important.
- Measure: both your executable’s size, and your program’s memory usage. You may want to measure over time, and make it a blocking issue if the measurements grow more than x% in a release. Or you could hold a memory-reduction sprint every so often.
- Language: choose a language that has a chance.
- Remove: cut down your feature set. Aim for a small number of high-quality features. My car can’t fly or float, and that’s okay – it drives well.
- Say no to new features: unless they really fit your philosophy, or add more than they cost over the lifetime of your project.
- Dependencies: understand the size and complexity of each dependency you pull in. Use only built-in libraries if you can.
Raw size isn't enough
A few months ago there was a sequence of posts to Hacker News about various “clubs” you could post your small website on: the 1MB Club, 512KB Club, 250KB Club, and even the 10KB Club. I think those are a fun indicator of renewed interested in minimalism, but I will say that raw size isn’t enough – a 2KB site with no real content isn’t much good, and a page with 512KB of very slow JavaScript is worse than a snappy site with 4MB of well-chosen images.
...[Instead, it's about] an “ethos of small”. It’s caring about the users of your site: that your pages download fast, are easy to read, have interesting content, and don’t load scads of JavaScript for Google or Facebook’s trackers.