(λ (x) (create x) '(knowledge))

Very Little Indeed

Digital age minimalism · April 19th, 2021

I've spent most of today, and really the last month, actually lets step back even further. I've spent more or less the entirety of 2020 working with big fat complicated softwares. Things that have common names in the IT world like Ansible, and Terraform, and Salt. And while those things are very well designed, and extremely modular, they're not exactly minimal. They really aren't anywhere close to the Unix philosophy of do one thing and do it well. Oh God no, they do damn near everything when you stop and think about it. I have entire fleets of servers that more or less exist solely as yaml and tf files in git repos. The 21st century is pretty amazing!

But as much use as I get out of these things I don't really draw much inspiration from them. They don't woo me even though they're impressive as hell, and I've even tried to write something a bit like ansible myself in Common Lisp.

No, for me it's far more interesting to look into lo-fi solutions. CLI only tools with solid user experience. Offline first designed tools that allow you to disconnect from the constant churn of the modern world while still retaining some semblance of modernity. These are the kinds of things that truly inspire me, and I especially love seeing the work that my friends produce. Lets poke some cool minimalism together.

Minimalist Software

I should probably do a better job of explaining what I mean by minimalist software than just throwing out a few references to vague things. For me it kind of boils down to the Aurelius quote that shows up in my little about.

"Very little indeed is needed to live a happy life".

Much like the Stoics I find a great deal of comfort in the knowledge that my perspective of the world is shaped by my own thoughts and actions. Our world is littered with distractions, whether that's the constant barrage of marketing materials telling us what thing to buy, or what place to visit, or even how little satisfaction there is without X or Y luxury; or even worse the sharp little device we all tote around in our poke that demands our attention, a tweet here, a push notification there. All around us our freedom is eroded by the constant and incessant chittering of modernity. Minimalism cuts out the cruft.

Lets face it, the home made application made by a dev to fit a niche, or as a passion project, isn't going to adhere to the same principles as big corporate entities. That developer isn't seeking profit. He doesn't care about user retention or leveraging application use to creation profit. He cares about his tool, he is thoughtful and considerate, even if the aim isn't directly minimalist their determination to bikeshed solutions instead of picking off the shelf tools is a stark contrast.

I could probably wax poetic on this topic, but we can probably sum it up to my desire to be a technological barbarian. I want specifically tailored tools that do exactly the right job and nothing more, not because I adhere to the Unix philosophy, or even to Stoicism, but because I'm tired of the constant and incessant call of modernity! Anyways, enough of that, here's the technical stuff.

unk

Unk is a static website generator inspired by shab, which is itself a nice minimalist template generator. Unk honestly inspired this post, it is truly minimal aiming to be in total under 1000 bytes in size, and handily beats it's own ambitions (I believe it currently comes out to 981 bytes between its three components). Within that ultra small footprint you have a set of posix shell scripts that are capable of generating valid HTML pages with a simple mobile and web friendly CSS, and a nice trim markdown style language for you to create pages in.

No you will not be writing the next Gitlab with unk, but you can easily use it to generate simple wiki's, or personal blogs. And eventually the author plans to add Gemini support as well! Personally that feels like the perfect application of minimalism, a tool with just enough features to get something done. And just look at this source code, I can fit it in a single code block and it just works perfectly!

#!/bin/sh alias c=cat q=test e=echo rm -r O;mkdir -p O q -f L||e '`c $F`'>L q -d S&&cp -r S O/ X(){ eval "$(e 'c<<';c "$@";e;e )";} for F in I/* do q -f "$F"&&(e $F N="${F#I/}" T(){ sed 1q "$F";} B(){ sed 1d "$F";} X L>"O/${N%.*}") done

It has this great obfuscated look to it, but what's really going on is unk is invoking a template generation engine called L against the default lht template and parsing documents as heredocs. This little bit of ingenuity allows the heavy processing to be pushed off to awk, and keeps the rest of the functionality absolutely minuscule!

If you're curious about unk, then you'll probably also like some of Case's other works which can be found here.

Hardware

I think the same logic carries very well into the hardware side of things. There's not that much computing gain found in modern systems. I9's and Thread-Rippers are cool, but most people will never remotely touch what they offer in raw computing power. Ok, if you're gaming or running ML or use Micro$oft systems maybe, but most people just surf the web. But those computers are ultimately also considered disposable. When you funnel a few thousand into your rig it's like a child, but that Chromebook/netbook that got picked up at Walmart has a finite life expectancy and will just be replaced with the next consumer good. I dislike that greatly.

I use low end systems all the time, for real work, in production. And just the other day a friend of mine suggested I put more of those to work. He suggested that I should put one of my spare Droid4's to work hosting a pubnix instance. And honestly I love the idea!

For the previous owners of these droids, they ceased to be useful sometime in the late 2010's, replaced by a newer more powerful phone. And that's just the way the world churns, but I can still use them. Tons of people are working on, or using, projects like Maemo Leste and PostmarketOS feel the same way. These devices still have value and worth, maybe because we all have cyberpunk dreams about carrying around an ultra powerful configurable Linux cyberdeck, or because we need to go down this route to escape the constant pressure of modern digital life. Regardless of the motivator, we're all putting what equates to electronic trash to good use. And for me in particular they're the most useful tech I've yet to use.

Rambling thoughts I know, I've been far too busy since the begging of this year, just pure chaos and stuff. But it really has been jam packed. I painted a boat for one of the small businesses we work with which was fun, and we've been exploring more of Maine (battery steele is worth a visit!). And really admist all of the living I've found that despite everything I've rambled about above my extremely minmally viable blog is preventing me from blogging! Having to hand write things, and rebuild containers, it's just too much when really I want to focus on writing these things and getting them out there. So a full blog redesign is on the horizon, keep an eye out. And if you happen to be a casatonian, pester me on the mailing list/irc to redesign this bloody thing so I can bring more content straight to your RSS reader!