What is Grumpystack?

Use Less

Modern computers are so fast, but they often feel so slow.

A part of the problem is that we're constantly asking our computers to work really hard doing things that we don't actually want them to do.

What other tabs are open in your browser right now? If you hit refresh on one of them, how long will it take before you can read it again? What about this page? The web page you're reading right now doesn't contain any JavaScript, any fancy styling, or any images. I want it to do one thing: deliver text. I don't need all that other stuff. There's a sweary manifesto about this kind of webpage over here.

This is not a "web app". It's a document. Documents don't need to aspire to consciousness.

Performance is nice, but simplicity can also come with other good things:

Accessibility
Simple HTML is famously easier for screen-readers than JavaScript-heavy client-side web apps. But even when a bigger app is needed (on the web, or natively in one OS or another), there's still value in simplicity. An app that's just doing the thing I want is often easier to understand and use than one which is trying to steer me into some user-journey I never signed up for.
Security
Smaller software with fewer dependencies has fewer CVEs.
Cost
Compute, storage, and bandwidth all cost money. If you're not paying for it with money, then the cost is coming directly out of your monetised eyeballs. Using less costs less.
Environment
Compute, storage, and bandwidth all cost natural resources. Simpler programs use less of that natural resource, and can run on older computers, so we don't need to make so many new ones.
Accessibility Again

I heard a story once about a UK IT person who found herself in a Job Centre waiting for someone to do some bureocracy. There was a kid in there, intent on an old handheld nintendo. In an attempt to be friendly and reassuring, the IT person asked the kid what they were playing. The kid was not playing. They were using an ancient web browser to check on their benefits situation on a government web site. The nintendo was the only device the kid had access to. The job centre was the only warm space with wifi that they could connect from. This was only possible because the UK gov.uk site had, at that time, been scrupulously designed to be able to work on the absolute bare minimum. It was accessible to people with old, unusual, cheap tech.

The page you're reading now is a bit performatively minimalist. But I'm also confident that it'll load fine on a copy of Netscape Navigator from the 90s.

Local-first

A lot of big-tech wants you to be online as much as possible, partly because that makes it easier to harvest your data.

I want to be able to do as much as possible offline. I want to be able to read my email, work on my docs, write computer programs, edit photos, play music — all offline.

Decentralised power

If we start keeping our data locally, and not on central servers; that takes away a lever of power from the folks who control those servers.

Local-scale

A lot of noise in tech gets made by hyperscale infrastructure. Big companies like Google have millions of users all around the world, and as a result they need BORG and Kubernetes, and all that jazz.

Many of us don't need any of that. You can do a lot with one computer and an internet connection.

The local in local-scale can mean geographically local (like local councils, local newspapers, local charities), or it can mean local on other kinds of social network graph. We could provice a local service for just the one-dozen people world-wide who're interested in the abstract geometry of the uniform designs in classic sci-fi Blake's Seven.

Decentralised power

By opting out of big global services, and instead using smaller local services; we take away a lever of power from the folks who control those big global services.

Tinker-friendly

If I'm building a Big Thing that's going to be used by millions of people, then I'm going to need those people to stay within the guard-rails I set out for them. Otherwise supporting the Thing is going to be impossible.

Fortunately, Grumpystack is Local-scale. So we can afford to make things that are tinker-friendly. We can mess with stuff, and make it work exactly the way our local users want it to work.

Decentralised power

Giving local-folks can use the awesome power of tinkering can empower us to make custom stuff for each other. Stuff that big companies would never bother to make, because it's too niche. Too local.

Non-big tech often gets a reputation as being only for the elite. Don't run linux unless you're a real nerd; run windows because it's more user-friendly. I think this is increasingly untrue. Windows is probably still more user-friendly than linux if you have no community to support you. But if you have a local nerd who's willing to help, they can be way more helpful using tools like linux — which are tinker-friendly — than they can with tools like window — which are deliberately not.

Often Old and Boring

Old and Boring technology is usually also stable and reliable. Choose boring technology.

See also the Accessibility Again story above.

Privacy, Security, Sovereignty

These flow naturally from simplicity, locality, and stability. If the data stays local, there's no central server to snoop on you. If the software is offline, it's way harder to hack. Small local services lend themselves naturally to local sovereignty.

Pets, not cattle

For years a common devops mantra has been cattle, not pets, because that scales better. But we don't need to scale up, we need to scale down. We can afford to have pets, and to treat them well.

Honest uptime

Why is it that every big cloud web service has twelve-nines of uptime, and yet also falls over every other month because of a problem with Cloudflare? Or AWS?

Hyperscale computing needs to aim for unattainable uptime, because of its global reach. It needs to pretend to achieve that uptime, because of the politics of modern business. It needs to outsource anything it can, to cut costs and to pass the buck if that thing fails.

Local-scale grumpystack computing doesn't need any of that. For example, if we're local to a geogrpahy, then we can almost certainly experience massive downtime during our local night-time without anyone really noticing. We don't have to pretend to do magic that we don't need, and we don't have to cut corners on things we actually care about. We can set honest goals, and I think we're way more likely to achieve them.

Slow-UX

Our phones are full of programs that are constantly yelling for attention. Grumpy users know we're allowed to delete them.

I want most of my internetting to happen in managable daily batches, not in an infinite doomscrolling hellscape.

I want to log on in the morning over breakfast, and recieve the daily news. That news might involve articles from newspapers, news sites, mastodon feeds, RSS feeds, email lists, and whatever else seems to be important. I want that daily news to arrive in a box (possibly a big complex box with lots of sub-boxes), and then I want absolutely no more until tomorrow. I don't have to read it all instantly. I can choose to save an article for later. But after my morning-check I want no more new stuff to appear until the next day.

Since I checked the news this morning, for the rest of the day I can give my full attention to whatever is going on in my actual life.


Questions? Comments? Email me at this domain, or toot at me here.

This site best viewed using lynx or eww.