What is a clunk?#

In programming, a hack is an ugly but expedient solution to a problem, and a kludge is a Rube Goldberg-esque assembly of complicated fixes to a messy problem. A clunk is a kludge of hacks that together solve the biggest and messiest of problems: lack of resources. Be it time, money, tools, or knowledge, there never seems to be enough to get it done. Hacking is about making something do what its creator never intended, clunking is about achieving lofty goals with shitty tools and a can-do attitude. It doesn’t matter that the car makes a clunking noise, it’s gotta get you to work on time.

In technology terms it’s about:

  1. using a VPS as the Internet facing piece of your lab because getting a static IP at home is far too expensive.
  2. using a cheap NAS appliance that has been cracked to run Proxmox as the backbone of your lab because a rack full of server gear takes up too much space
  3. using wireguard to connect the VPS and the Prox/NAS together because opening ports on your home firewall is asking for trouble
  4. using Caddy to reverse proxy the services running on the home lab to the Internet because directly exposing your lab services to the Internet is never a good idea
  5. using encrypted overlay networks like Headscale to provide remote access to your internal services that are not proxied by Caddy because everything breaks at some point
  6. doing this ourselves because that’s how we get better
  7. using this infrastructure to run self-hosted applications to connect and support your community, however large or small, because big tech is a tool of fascism

Home labs with political aspiration#

Clunking isn’t about best practice. It’s about realistic practice. Best practice is just corporate speak for “approved practice”. In corporate tech, best practice can sometimes become gate keeping, and gate keeping can sometimes become bourgeois bullshit. It’s easy to “do the right thing” when you have a team and a budget. When you are alone in front of your homemade server rack, or all you have is an old laptop, practicality takes priority. Sometimes you just have to clean up the mess later when you have fewer things that are on fire.

Corporate tech is often less about good work, and more about who gets taken seriously. When you are on the wrong side of the gate, the rules made up by people with time, money, mentoring, and managerial approval don’t really matter. The problem with information technology isn’t that it’s hard, it’s because it’s dripping with “real engineers” that feel that they are superior while not actually accomplishing anything.

The Real Engineers(TM) clunk too, they just give it corporate names like “Technical Debt”, which just means “the chain of questionable decisions that led us to here.” Everyone used VMWare because everyone else used VMWare. No one could imagine a seismic event like a licensing change. The scramble by companies to find a suitable replacement is clunk city. Clunkware doesn’t collapse like that because it’s not propped up by anyone or anything.

This idea isn’t new, and it’s failed before#

People don’t use GMail because they’re stupid, or they don’t know what surveillance capitalism is. They use it because it just works, every time you log in, and you don’t have to know what an MX record is. Normal people don’t care how the sausage gets made. And there are other projects and products with similar aims. The idea isn’t to reinvent them, just to provide better access to them.

So instead of inventing a product, I propose inventing a pattern. Instead of technological wizardry, I want to focus on accessibility. The code is already written (Debian, Proxmox, Wireguard, etc.), there’s no need to rewrite it. It needs lower barriers to entry. After the slow collapse of late-stage capitalism, we will still need to get online, to connect to each other. Clunkware is that post-collapse, Mad Max looking infrastructure.