Working towards an offline computer
This is a work in process and more a brainstorm than something ready to present.
I don't want to deal with the constant connection that's default now. I don't want my writing, working, relaxing or thinking to be always connected. I want to be able to read, watch, or listen to music without it triggering an update somewhere in a database that I started listening to a certain song at a certain time. I want to watch a film without anyone knowing.
I read an interview years ago where Richard Stallman described his computer workflow as being mostly disconnected, and only connecting 2 or 3 times a day to send/receive emails in batches. I can't find it now but I also remember reading about someone else who had a secretary physically print their emails daily and collect their (handwritten) replies to type up and send.
There's also Neal Stephenson who says:
If I know that I am going to be interrupted, I can’t concentrate, and if I suspect that I might be interrupted, I can’t do anything at all. Likewise, several consecutive days with four-hour time-slabs in them give me a stretch of time in which I can write a decent book chapter, but the same number of hours spread out across a few weeks, with interruptions in between them, are nearly useless.
But I treat these as inspiration, not motivation, because my needs are different. I just want to be left alone. I don't want Spotify using how many times I listened to a song in a day as an advertising campaign, I don't want Google using the wifi networks visible to my phone to determine my location. I don't want Google tying all of my browsing data between my devices via QR codes and using feeding this fine-grained data through LLMs to advertise better. I just want leaving alone.
I've been pondering the idea of an offline-only computer with downloaded resources on it, but for now the inconvenience is too much so I'm settling for an offline-lite existence.
I spend most of phone time in a GrapheneOS profile that can only connect to Tailscale with no wider internet access (TODO: replace Tailscale). Through Tailscale there I can connect to anything running on my own servers, but nothing else. Some of the things this gives me:
- all of my files (Seafile)
- calendar and contacts (Owncloud and Baikal - I want to remove Owncloud)
- photo archive/backups (Immich)
- RSS feeds through FreshRSS (the server downloads full text and I can only read that. If your feed doesn't provide full text I delete it)
- git repos (Forgejo) with actions for changing DNS and publishing blog posts
- password manager (Bitwarden)
- personal wikis (Silverbullet)
- media streamed over the network
- email, though I don't have email my phone so this point is moot.
On my phone I have Auxio for locally stored music, though I lost motivation here to replace Spotify because I realised I don't listen to music that often anyway.
Locally on laptops I have all task lists in TaskWarrior 2 and time tracking in TimeWarrior, with external tasks (eg. JIRA) synced using BugWarrior. I also have scripts pulling in Google Chats from work to a feed but they aren't currently used much. The next step is to move these onto the server so that even laptops can be offline sometimes.
It's a work in progress and a braindump, but I already find that 90% of my phone usage can be "offline", and that even half of that could probably be eliminated all together.
Realistically I'm realising that this means I don't belong on bearblog
- no APIs for publishing content (when I write on my phone I have to copy it to another profile to publish)
- CloudFlare checking I'm human multiple times
- a note that if you pay you can remove the "Powered by Bear Blog" until you pay and find you can only hide it with CSS - it's still in the page source