published
updated
I'm writing this at the same time as I'm also writing Single Source of Input (Thanks ADHD), and it's fudging my brain a little bit. Obviously they're related. I'm trying to make Kitaab my single source of data for everything I could forget, but what more often happens is I end up with everything I bothered to write down. It makes me wonder if I'm falling into the dark pattern of mistaking data and information for value? No I don't think that's the case. I don't measure how many notes I've created, so I couldn't be utilizing it as some metric. It does give me dopamine to write, but I have found my writing immensely useful, even when I don't return to it. I suppose I use a similar sort of justification for my data hoarding habits. Though in that case it is a total loss if I don't return to it.
One more thing on my mind regarding this project, and that is whether I should continue with nvim, rather than switch to emacs. I really like lisps at this stage, and emacs is highly configurable as well. It suits my "Single Source of Input" better, able to do mail, matrix, web browsing, and probably literally every other application I could think of. There's also obviously org-mode. The oldest and greatest PIM to those who use it. I suppose I'm noting a fork in the road, knowing this is my last even potential opportunity to take the other path. It's a path I think about a lot. The version of Anish that picked emacs, probably picked guix over nix too. Was exposed to lisp at a far younger age. I like to imagine that Anish as more Holy, but that's this Anish's own preference to view themself as a Goblin speaking.
Moving to emacs is something I'd put off because it'd be such a big investment to start over again. My nvim config dates back to when I was first learning vim in 2016. It's still one big fuckoff init.vim
file. I always wrote it off because I'd take such a hit on productivity. None of that has really changed. I'd have to relearn all the plugins that make it go vooom, learn the emacs primitives, though thankfully I wouldn't have to give up vim key bindings. But productivity is not all that I'm after. I want my computing experience to be fun. I want it to be personal. I want it to feel easy and comfortable and fast for me. Does switching to emacs help with those? For some of them I'd like to think so yes, but I've never used emacs. At least not for any meaningful amount of time. I can't know if it does.
Which brings me to my next point. The cost of switching systems is incredibly high. It's why I'm building IncDown in the first place, it's a formalization around a workflow I'm already doing! High switching costs is why I continue to use taskwarrior. It's the one system who's flaws I've found to be totally workable with. It's not perfect, but I know of and can deal with the problems that show up. And inevitably all systems will have problems. Perhaps I'll even know of ways to mitigate these issues, but that will take time.
Thinking of the last big switch I made, it was to NixOS, back in 2019 / 2020. Even though it technically runs a Linux kernel, it breaks enough Linux conventions to be really different. I knew it was going to be a long, steep climb before I got somewhere I felt relative secure. The benefits were immediately obvious, and I dove in. I'd been haunted by configuration issues across my different computing devices for quite some time. I'd constantly forget where to find the configuration for specific software, how'd I'd manage to get builds working for some specific software I wanted to use or what config changes I'd made on one side but not the other. Heck, being strict enough to even put my changes in my dotfiles manager was proving to be difficult. Nix solved all of these, and unlocked much more for me. I couldn't ever imagine going back.
I wonder if I'll say the same about emacs, if I were to make the switch? Even now, I barely understand vim's api or it's language. Making changes and building things in vim that I want to are unreasonably difficult because of how obtuse everything feels. Lua helps a lot in this regard, but as always, I'd rather use a lisp, so it's more complexity still. Vim also isn't really built to be a single source of truth no matter how hard I try. I have all kinds of terminal applications for doing various different things. But that's the thing, I already have them configured. Emacs may be able to do everything, but I'd have to write all that configuration. Sunk cost fallacy?
I didn't mean for this to turn into emacs vs nvim flame bait...