Lethio

Independent software that respects the people who use it.

I build tools that work offline, don't track anyone, and are paid for once. A knitting counter that doesn't need your location to count stitches. A timezone extension that converts times without phoning home. Writing about why the default state of software is hostile and what to do about it.

Terje Rutgersen · southern Spain · MIT License

Projects

Principles

Offline first. Your data belongs on your device. Our apps run locally and only reach the network to verify purchases through standard platform infrastructure.

No subscriptions. Pay once and own it. Software you've bought should keep working without a monthly fee attached to it.

No tracking. No custom analytics, no third-party telemetry SDKs, no ad networks. We only see the baseline, anonymized metrics platforms collect by default, and a 14-day server log on this site.

Small and sharp. One thing, done properly. Every feature has to justify its presence, and most don't.

Writing

Wall of Shame

This server has banned SSH brute-force attempts today. Bots scan every IP on the internet trying default credentials, and fail2ban catches them automatically. Here's how it works.

The last part of each address is cut before it is written to disk, so the full one never reaches this page and is not in the source either. It stays in the server's own log, where it is needed to actually block anything, and goes no further. An IP address identifies a person under EU law, and I have no legitimate claim to publish one: blocking an attack does not require naming the machine to you. Keeping the first three parts is a compromise. It is here because a wall of banned networks looks cool, and looking cool is worth something. It is just not worth more than the principles the rest of this site argues for, and those apply to whoever is on the other end of these attempts, some of whom are running a box someone else broke into first.