summaryrefslogtreecommitdiff
path: root/content/blog/2023/i-still-run-local-applications.md
blob: 7a08a675536a327ff9ae1189c37a779da7482b8e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
---
title: "I Still Run Local Applications"
categories:
- blog
abstract: I refuse to put my life at the mercy of web apps
date: 2023-03-10T06:51:46+01:00
year: 2023
draft: false
tags:
- Emacs
- Vim
- GIMP
- Neomutt
- mbsybc
- Irssi
- IRC
- RSS
- cmus
- privacy
- Unix
- javascript
---
{{<img-pull-right "old-man-yells-at-cloud.webp" "Grumpy Mc Grump">}}
Javascript used to be cool. You could have a clock or snow raining on your site, and it was amazing. A small DHTML made it so much more lively.

Then Google came with V8. Their vision for the future was to move all applications to the web. And they succeeded. I work at a [SASS](https://www.zendesk.com/), which makes a web app. I see the benefit for most people in using a web browser as their operating system, but I just refuse to do it myself as it limits my ability to tinker. 

Nowadays, I choose to run my complete set of tools on the desktop as it makes me happy. I love the command line and having it all available without constant connection. I also think that the quality of desktop apps is much higher. But the most significant advantage is the Unix philosophy of small apps working together. You don't have small apps on the internet. Those I see range from big to gigantic. And making them work together takes a lot of engineering power. Why won't big companies leave Salesforce? Because they spent millions of dollars making them adjust to their needs. APIs are very limited compared to Unix-like piping. The design of web apps is aimed at basic usage and making sure the user has as many problems leaving as possible. Core utils from BSD or Linux have completely different goals. They are much more difficult to learn, but the possibilities are limitless after the curve is conquered. And since those apps are made to be small, swapping each one is extremely simple (like going from grep to [The Silver Searcher](https://geoff.greer.fm/ag/))

My current roster of bigger apps is as follows:
- Code editing: [Emacs](https://www.gnu.org/software/emacs/) and [Neovim](https://neovim.io/)
- Email: [Notmuch](https://notmuchmail.org/) with Emacs as UI. Emails are synced to my machine via [mbsync](https://isync.sourceforge.io/mbsync.html)
- Graphics: [GIMP](https://www.gimp.org/)
- IRC: [Irssi](https://irssi.org/) and [Circe](https://github.com/emacs-circe/circe) inside Emacs
- Ebooks: [nov.el](https://depp.brause.cc/nov.el/) inside Emacs
- RSS reader: [Newsboat](https://newsboat.org/)
- Music Player: [cmus](https://cmus.github.io/) playing local files.

Those applications have a few things in common:

- They run locally, and I only need Internet access if they work on data from the web. In 2023 if an app requires internet, it is tracking me.
- They are small and fast. Emacs, being the behemoth here, is comparable to Slack. But it does a lot, while Slack is nothing more than a glorified IRC.
- They don't require any subscription. Self-explanatory. I choose to pay for some of them, but generally, one can use (and own!) them without any cost.
- They work from a terminal. I have problems focusing, and having youtube within two keystrokes is risky at the best of days.
- They are either FOSS or Open Source. I am an associate of [GNU](https://www.gnu.org/) because I believe users should have the right to understand and modify their applications.

Or as Maja, a coworker of mine, said:

> You like to complicate things for yourself, don't you?