Lecture & Notes↑§
Neovim + Syncthing + Markor
Gentoo Package(s):
app-editors/neovim
,net-p2p/syncthing
F-Droid Link(s):
https://f-droid.org/en/packages/com.nutomic.syncthingandroid/
,https://f-droid.org/en/packages/net.gsantner.markor/
Previously, this blog post used to advocate for Joplin for the following reasons:
- Markdown
- I already know how to type and read Markdown
- Markdown is extensible:
- LaTeX is overkill, embedded KaTeX blocks are easy!
- CalDav sync, conflict resolution, and E2EE (end-to-end encryption)
- syncing without conflict resolution is just a disaster waiting to happen
- Self-hosting my notes with E2EE is incredibly convenient
- First-class clients on multiple devices
- Joplin is my main notetaking solution on my phone, desktop, and laptop
- Live preview in the GUI app
- Vim/Emacs motions in the GUI app
- A sleek terminal app
- Which I found preferable to the GUI once I figured out how to get live preview working in Neovim
The other side of the coin that eventually made me switch from Joplin is:
- Neovim is actually extensible
- e.g. You can use Pandoc to export MLA-formatted papers
- Mermaid, Chart.js, sequence-diagrams, flowchart, dot, Toc, etc.
- Joplin uses Javascript for everything
- I don't want to run a web-browser to edit my notes
- Even the cli app is written in Javascript, and all it does is create a filebrowser hooked up to their database
- The conflict resolution is just to bin changes and do nothing else
- All this overhead with the database and whatnot for lackluster conflict resolution
- Slow sync
- Comparing Joplin with its Electron GUI and database and E2EE and Webdav to Syncthing is unfair, I don't fault Joplin for this.
- However, slow sync and bad conflict resolution is a recipe for constant annoyance
To explain the stack:
- Neovim: My text editor on desktop/laptop. It's lightweight, quick, and extensible.
- I go over my Neovim configuration near the bottom of this post
- Syncthing: Used to Sync my notes across all my devices. I have a laptop running Syncthing 24/7 so that my changes always propagate. This reduces the need for conflict resolution
- Markor: Used to edit my notes on my phone.
I get all the features I wanted from Joplin with faster syncing and editing, more control, and easier self-hostability of my notes. It turns out that using three tools that do their job really well is way better than trying to use one tool that does everything.
Anki + Ankidroid
Gentoo Package:
app-misc/anki-bin
F-Droid Link:
https://f-droid.org/en/packages/com.ichi2.anki/
Anki is a flashcard program that uses the spaced repetition technique for effective and convenient studying. Being able to sync my cards and practice progress across my phone, desktop, and laptop is incredibly convenient.
Ankidroid is just an Android client for Anki, it works perfectly.
Once, I took a (mandatory) class that was so rote that I took notes exclusively in Anki. We had open-note quizzes, midterms, and finals. Combined with the ability to search through my entire card database instantly, the class was a breeze rather than the slog RateMyProfessor.com warned me it would be.
I also use the following add-ons (on the desktop client):
- No Distractions Full Screen: Slight modifications to the UI to make it less cluttered while in fullscreen.
- ReColor: Theme Anki to match my system theme (Catppuccin Mocha)
- Review Heatmap: A GitHub-like heatmap of your progress/practice. If I could only use one addon, this is the one I'd use. It's very useful to see your practice (or, lack thereof) and gauge yourself at a glance.
Auto Editor
Python Package:
auto-editor
Auto-editor chops out silent portions of videos, which can save anywhere from a couple seconds to a few minutes depending on a lecturer's ionefficiency (e.g. most math videos are filled with dead space where the lecturer is just writing or drawing).
auto-editor --download-format "mp4" "<YOUR_YOUTUBE_URL>"
and auto-editor "<PATH_TO_VIDEO>"
are two invaluable commands. Note that Auto Editor is super-duper slow on .webms compared to .mp4s (hence --download-format "mp4"
).
Writing↑§
LibreOffice Writer (Suite)
Gentoo Package:
app-office/libreoffice
LibreOffice Calc, Impress, and Writer are great programs that allow me to right essays, reports, et cetera.
I was also able to set custom colors to have all my LibreOffice applications match my system theme (Catppuccin Mocha), which doesn't have any effect on the colors of exported documents (as long as text colors are set to "automatic"), which is another bonus I really enjoy.
LanguageTool
Gentoo Package:
app-text/languagetool
(Optional) Ngram Data:
https://languagetool.org/download/ngram-data/
I use LanguageTool with n-gram support for grammar and spell checking in LibreOffice and VSCodium. There's also Firefox and Thunderbird extensions if that's your jam.
The n-gram data takes up a hefty 8gb of space and needs to be installed on a SSD, but it lets you catch errors like "Don’t forget to put on the breaks".
On Arch Linux there is a convenient AUR package for the ngram data, but on Gentoo you'll just have to manually install it. Luckily it is a one-time thing, as the data was created in 2015 and will not need to be updated until American English eventually shifts enough over time to require a new dataset that can handle sentences like "On god, your Grandma's mac & cheese is hella bussin' sheeesh!" or, "no cap just stay big mad because I'm based and redpilled. You're just a cheugy with a high body count tryna be boujee and calling me 'an incel' and 'a weirdo who got his social skills from tiktok and anime' for clapping back against radical anti-Jordan Petersonism. You can catch these hands if you want equal rights because the fax are that if you hit different (because I'm the default) then L+Ratio because that's totally sus. On god you're just an NPC boomer and I'm a mega-rizzed gigachad living rent free and stanning Joe Rogan-kun desudesudesudesu."
Anyways, I have LanguageTool start automatically with: languagetool --http --port 8081 --allow-origin "*" --languageModel "/usr/share/ngrams/"
Beware that LanguageTool will eat up a half a gigabyte of memory when idle and more than a gigabyte once it's parsing data. This is nothing on my desktop, but it would be wasteful on my ancient laptop, not to mention incredibly slow.
Search↑§
SearXng
GitHub Link:
https://github.com/searxng/searxng
SearXng is a metasearch engine that I use to help to alleviate my pains with user-hostile design in other search engines.
To put it less eloquently, I fucking rage-quit using search engines after being hit with the millionth SEO spam StackOverflow mirror or Chegg clone or godawful shifting and bloated UI that loads unprompted image, GIF, and video carousels for seasonal theming or advertising or an event or whatever. Whatever it was that broke the camel's back, I quit.
I know that there are extensions for some of this stuff, but it's like trying to fix a boat leak with a stick of gum. Plus, using extensions is the #1 way to get hacked.
I set SearXng as my default search engine, which hijacked my muscle-memory of just hitting F6
in Firefox, typing in my query, and hitting enter. It was incredibly jarring at first, but I've gotten used to it and realized that I usually only need the top seven results to be good anyway.
Note that SearXng is the most difficult tool in this list and comes with a couple caveats:
- You will need to seriously RTFM. On Arch Linux there is a broken AUR package. On Gentoo there is no package at all, you'll just need to set it up in Docker.
- You will need to break bad habits fostered by Google trying to keep users on their platform indefinitely. The silver-lining is that breaking these habits will make your life easier.
- A good example of this is using search engines as a unit converter or dictionary. You shouldn't even need an internet connection to do these things, yet Google wants to be our timer, dictionary, calculator, etc. But I digress.
- I ended up enabling the "Dictionary", "Unit Converter", and "Spell Checker" plugins in KRunner, which is better than waiting for a webpage to load every time I want to define a word or convert a unit. Ironically, I had these KRunner plugins disabled for "performance" and "minimalism" when I was just offloading their work onto the web for worse performance, more bloat, and less privacy.
- A good example of this is using search engines as a unit converter or dictionary. You shouldn't even need an internet connection to do these things, yet Google wants to be our timer, dictionary, calculator, etc. But I digress.
- Your results will not be as filtered as Google's results.
- I don't mean this in a "getting around censorship"-way, but more of a "your videos tab will be perpetually filled with DailyMotion clickbait with thumbnails of women in bikinis irregardless of your query"-way.
Nicotine+
Gentoo Package:
net-p2p/nicotine+
Nicotine+ is a client for the Soulseek P2P (peer-to-peer) filesharing network, which is geared mainly towards music.
You may be wondering, "wait, what is a P2P filesharing client doing here?"
Well, I've wasted a lot of my time looking for music on YouTube. And despite my attempts to get around it with userscripts, YouTube would still randomly choose to stop playing music with its annoying "Are you still watching?" prompt. Not to mention the pain of having your music stutter while you're doing something that doesn't even need an internet connection (e.g. typing in LibreOffice Writer).
If you're fine using proprietary services and/or not owning anything, have fun paying for a Spotify subscription. Or maybe you just really like "buying the rights to listen to" a song that's tied to your Apple/Google account that needs a browser DRM feature to be played.
For my use case I just occasionally download a couple gigabytes of songs from the Soulseek network depending on the mood I'm in and I'm all set for the month (usually just grabbing an artist's entire discography on a whim).
I also occasionally batch-convert a couple hundred tracks into incredibly low-bitrate and dynamically normalized (so that I don't have to adjust my volume on every album change while I drive) mp3s with FFmpeg to cram onto a tiny USB stick that gets plugged into my car stereo.
Using the Soulseek P2P network has a couple major advantages over using yt-dlp to download a playlist of music from YouTube or some other client that pulls stuff from a centralized source like Soundcloud or Spotify:
- You can get lossless tracks
- Which you can always reencode if space is a concern
- You don't need to reencode anything. Just download, share, and forget
- You can find music that's hard to find (age, copyright, etc.)
- You can find music more easily
- e.g. browsing a user's files to see if they have an artist's entire discography
- It's far more convenient than the hoop-jumping you need to perform on clearnet sites
- e.g. changing domains, links to paid link services that try to outsmart UBlock Origin, dead links, overwhelming bias for the Billboard 100.
- You get metadata and cover art. The metadata is a lifesaver for my car stereo because it lets me filter by specific artists and albums.
- Longetivity of the Soulseek network and the music you'd like to listen to
- Will you contribute more than the person sharing a multi-terabyte folder? Maybe not, but you can still curate a very nice collection of music for yourself and like-minded people.
To-Do List↑§
Todo.txt + Simpletask
GitHub Link(s):
https://github.com/todotxt/todo.txt
,https://github.com/todotxt/todo.txt-cli
F-Droid Link:
https://f-droid.org/en/packages/nl.mpcjanssen.simpletask/
Todo.txt is a simple plaintext format for maintaining a to-do list. Simpletask is an app that lets me quickly edit and view my to-do list on my phone.
Previously, I used Tasks.org on my phone, a very powerful and open-source to-do application with lots of customizability.
In my quest to access my Tasks.org to-do list on my desktop and laptop, I found that every solution would always do at least one of the following:
- Uncustomizable theming
- Unnecessary built-in features (e.g. Pomodoro timer, daily mood journal, etc.)
- Different formats (todo.txt vs iCalendar format)
- "All or nothing" syncing that overwrites every entry if something conflicts
- "All or nothing" syncing that constantly requires manual intervention to solve conflicts that aren't really conflicts
- Lack of support for tags
- Lack of support for nested to-do items
I'm still playing around with my to-do list, I really miss nested tasks and Tasks.org's superior UI--so this section may change in the future.
Email↑§
Claws Mail
Gentoo Package:
mail-client/claws-mail
Claws Mail is a lightweight, quick email client.
Previously I used Thunderbird hardened and debloated with a fork of Arkenfox.js (to remove all the telemetry and non-email client stuff), but that didn't solve the fundamental problem of having a RAM-hungry web browser running in the background 24/7 just to get my emails.
Of course, when it comes to extensibility, Thunderbird blows Claws Mail away because it's a web browser with extensions and add-ons for everything. I also miss the modern UI.
However, being able to have all my email accounts synced with 35.2 MB of RAM is a good deal for me.
Pomodoro↑§
Potato Redux
GitHub Link: https://github.com/Enchoseon/potato-redux
Alright, I swear this wasn't just a build-up to advertise my own project.
Pomodoro timers usually fall under the umbrella of "guru bullshit" (e.g. "cure your ADHD with time management!", "multiply your time by x10!", "calculate the dollar amount of your time and hire someone poorer than you to do your chores for less than that!", etc.)
On the other hand, I think Pomodoro timers are pretty useful for keeping track of time and recognizing when I've been procrastinating. In short, I don't follow the timer religiously.
However, something as simple as a Pomodoro timer shouldn't be a cross-platform Electron app or even a QT application.
So I found this bash script called "Potato" by Bladtman242 and tried using it, only to get stuck on minor things (e.g. I wanted notifications, then I wanted to enable Do Not Disturb, then I wanted to implement more of the Pomodoro technique, then I wanted better argument-parsing, etc.)
If you live perpetually in a r/UnixPorn screenshot, there are other Pomodoro CLI apps with ASCII art, inspiring quotes, and other hipster things.
But for my use case I'm fine with having a simple bash script in my drop-down Yakuake terminal (which I just split in half with CTRL+(
so that I can use the other half for playing music with nvlc
).
Ad-Block↑§
UBlock Origin
GitHub Link:
https://github.com/gorhill/uBlock
uBlock Origin is a terrific content blocker. The web is hostile to users with its malware, trackers, ads, and other malware cover-up tools; not to mention distracting, bloated, and slow.
I have enabled all the built-in filterlists under "Built-in", "Ads", "Privacy", "Malware Domains", and "Annoyances" and very rarely get any broken websites. Broken websites I do get tend to be very DRM-heavy or tracker-focused / invasive-by-design (e.g. travel sites, payment portals, learning management systems) and I know to disable uBlock for them before I even visit.
I also use the following custom filterlists:
https://raw.githubusercontent.com/DandelionSprout/adfilt/master/ClearURLs%20for%20uBo/clear_urls_uboified.txt
https://raw.githubusercontent.com/DandelionSprout/adfilt/master/LegitimateURLShortener.txt
https://raw.githubusercontent.com/bogachenko/fuckfuckadblock/master/fuckfuckadblock.txt
https://raw.githubusercontent.com/quenhus/uBlock-Origin-dev-filter/main/dist/all_search_engines/global.txt
- ClearURLs: Filters based on the rules used by the ClearURLs extension to remove tracking codes from URLs for privacy.
- Legitimate URL Shortener: Filters to remove unnecessary parameters from URLs for readability and privacy.
- Fuck Fuck Adblock: Filters for pop-ups and other anti-adblock bypasses.
- uBlock Origin dev filter: Filters copycat websites (SEO spam, StackOverflow mirrors, etc.) from various search engines.
hBlock
GitHub Link:
https://github.com/hectorm/hblock
hBlock is a system-wide adblocker that works by creating a hosts file. Because hBlock operates on lower system-wide level to uBlock Origin, the two tools are complementary.
Although hBlock isn't as useful or powerful as uBlock Origin, it can help out in certain cases and offers peace of mind. (e.g. using a different browser, having addons disabled, running sandboxed Wine applications, etc.)
Mouse↑§
Piper + KDE Keyboard Daemon
Gentoo Package:
app-misc/piper
I have a love/hate relationship with my Logitech G600 multi-button mouse. You'll see why once you read about my setup.
To explain the tool combo:
- Piper lets me access and modify my G600's onboard storage; limitations and all.
- KDE's Keyboard Daemon can be thought of as my on-computer storage. It fills the gaps with what Piper/My Mouse can do.
Altogether, this is what my setup looks like:
- Piper:
- Bismuth Window Tiling: Changing The Active Window (these keys are arranged intuitively on my mouse, like arrow keys)
- G10 button is bound to
META+K
- G13 button is bound to
META+J
- G12 button is bound to
META+H
- G14 button is bound to
META+L
- G10 button is bound to
- KDE Window Tiling: Minimize/Fullscreen Windows (meta key is pressed separately)
- G9 button is bound to
PAGEDOWN
- G11 button is bound to
PAGEUP
- G9 button is bound to
- KDE Window Tiling: Closing Windows/Applications
- G18 button is bound to
ALT+F4
- G19 button is bound to
CTRL+W
- G18 button is bound to
- Hacks for KDE Keyboard Daemon:
- Rightmost-click is bound to
COMPOSE
key - G15 button is bound to
CAPSLOCK
key
- Rightmost-click is bound to
- Bismuth Window Tiling: Changing The Active Window (these keys are arranged intuitively on my mouse, like arrow keys)
- KDE Keyboard Daemon:
COMPOSE
=>META
CAPSLOCK
=>CTRL
RIGHTALT
=>COMPOSE
You may be wondering what "Hacks for KDE Keyboard Daemon" is doing:
CAPSLOCK
andCOMPOSE
are valid single-key macros on my G600's onboard storage unlikeCTRL
orMETA
, which don't work.- I never use
CAPSLOCK
and rarely useCOMPOSE
, so they're great dummy keys- Though, this could theoretically be improved by using keys that aren't even on my keyboard as the dummy keys using a tool like Input Remapper (which I previously used before discovering that KDE already had a solution with less features built-in)
- The best resource for finding dummy keys is https://usb.org/sites/default/files/documents/hut1_12v2.pdf (starting at page 53)
- A lot of AL (application launch) keys could be used as dummy keys (e.g.
"AL Voicemail"
,"AL Telephony/Dialer"
,"AL Customized Corporate News Browser""
, etc.)
- A lot of AL (application launch) keys could be used as dummy keys (e.g.
- The best resource for finding dummy keys is https://usb.org/sites/default/files/documents/hut1_12v2.pdf (starting at page 53)
- I do occasionally use the
COMPOSE
key, but it is in such an unergonomic place that I've rebound it toRIGHTALT
.
- Though, this could theoretically be improved by using keys that aren't even on my keyboard as the dummy keys using a tool like Input Remapper (which I previously used before discovering that KDE already had a solution with less features built-in)
- KDE Keyboard Daemon rebinds the dummy keys to their respective special characters.
- In KDE I love using
META+LEFTCLICK+DRAG
andMETA+RIGHTCLICK+DRAG
to move and resize windows with quick, general, intuitive movements. Combined with my tiling windows' auto-snapping and auto-resizing, this results in lightspeed movement that only requires me to use my ring finger that's already resting on the rightmost-click rather than holdingMETA
with my left hand
- In KDE I love using
Despite my troubles and duct-tape with the dummy keys, the benefits have been worth it.
I still prefer to keep my hand off the mouse, but making the mouse more convenient to use, especially for navigating/manipulating my windows, has been a real gamechanger for me. Switching over to the mouse for no reduction in speed (in certain situations) also reduces the chance of me getting a repetitive strain injury (though, changing my keyboard to something with lighter keycaps has done a lot more for me in that department).
Cleaning↑§
BleachBit
Gentoo Package:
sys-apps/bleachbit
I run BleachBit once every couple of months to delete junk files and free up space.
There's really not much more to say about it, BleachBit is very easy to use and difficult to mess up.
Though, beware of applications that use ~/.cache
inappropriately. I had to whitelist ~/.cache/lutris/banners
and ~/.cache/lutris/coverart
after BleachBit deleted my cover art from my Lutris library.
Tangent on Lutris: If you want slightly less-pixelated Lutris banners, resize your covers to 184x69 before adding them! Personally I did this to a bunch of banners downloaded from SteamDB.info with
mogrify -resize 184x69 header.jpg
.Alternatively, you can increase Lutris's zoom until the covers change from banners into vertical coverart, which take up more space but look a lot better (especially for my DS game library). You can download vertical covers from https://www.steamgriddb.com/.
Neovim↑§
Minor Caveat: Neovim is a versatile text editor that I enjoy using for note-taking and some coding. It's a versatile tool that bridges many gaps; but VSCodium remains my code editor, LibreOffice remains my report/essay editor, and Neovim is my text editor that has been heavily decked out such that it isn't shit at coding and can even handle some essay writing.
My Current
init.vim
: https://github.com/Enchoseon/dotfiles/blob/master/.config/nvim/init.vim
Vim Plug
GitHub Link: https://github.com/junegunn/vim-plug
Vim Plug is my plugin manager.
Goyo.vim + Limelight.vim
GitHub Link: https://github.com/junegunn/goyo.vim
GitHub Link: https://github.com/junegunn/limelight.vim
Goyo is an addon that allows for the removal of unnecessary UI elements and the addition of margins for more readability, primarily for writing Markdown.
Limelight dims every line except for the ones near your cursor.
I have Goyo and Limelight start automatically whenever I start editing a Markdown file.
Markdown Preview.nvim
GitHub Link: https://github.com/iamcco/markdown-preview.nvim
Markdown Preview provides an in-browser Markdown preview with support for a slew of Markdown extensions (e.g. KaTeX, Mermaid, Chart.js, etc.) Why use an Electron app when you can just use a web browser on your own terms?
Bullets.vim
GitHub Link: https://github.com/dkarter/bullets.vim
This plugin adds intuitive bullet-point behavior to Markdown files. These changes are incredibly useful when editing Markdown (e.g. automatically-numbered ordered lists, continue a list by pressing enter, support for toggling GitHub-style checkboxes with <LEADER>+x
, etc.)
Vim Pandoc + Vim Pandoc Syntax
GitHub Link: https://github.com/vim-pandoc/vim-pandoc
GitHub Link: https://github.com/vim-pandoc/vim-pandoc-syntax
These plugins provide easy integration with Pandoc, a tool for converting markup into various file formats.
This is useful for doing things like exporting my markdown notes into a wide variety of formats with immense customizability, or exporting markdown into MLA-formatted PDFs
For example, you could do pandoc "example.md" --pdf-engine=xelatex -o "example.pdf"
and set up an alias or keybind, or you could just do :Pandoc pdf
in Neovim.
Nvim Treesitter
GitHub Link: https://github.com/nvim-treesitter/nvim-treesitter
Nvim Treesitter provides fast and slick syntax highlighting for a wide variety of formats with treesitter.
Vim Fugitive
GitHub Link: https://github.com/tpope/vim-fugitive
Fugitive provides Git integration in Neovim's non-interactive shell console. Do :G
to run arbitrary Git commands, sit back, and relax.
Telescope
GitHub Link: https://github.com/nvim-telescope/telescope.nvim
Telescope provides a fuzzy finder with live grep functionality. Useful for notes, code, etc.
LSP Zero
GitHub Link: https://github.com/VonHeikemen/lsp-zero.nvim
This is essentially a metapackage consisting of 10 different plugins for LSP support, autocompletion, and snippets; consiting of who-knows how many NPM packages.
The heaviness, non-async nature, and slowness on large files is a huge downside.
Conclusion↑§
Missing Pieces↑§
Despite my best efforts, there are still a couple missing pieces that I'm unhappy with.
WolframAlpha
Tip: Use WolfreeAlpha if you are a student with no time to explore other options!
"This article may have been created or edited in return for undisclosed payments, a violation of Wikipedia's terms of use. It may require cleanup to comply with Wikipedia's content policies, particularly neutral point of view. (September 2022)"
Stephen Wolfram is a $200 million-dollar robber baron who built Mathematica by stealing from the REDUCE computer-algebra system. He wrote a shitty, crackpot book claiming to rewrite science because apparently all rich snobs are desperate to be known for contributing something to society.
Related Reading: "A Collection of Reviews of ANKOS and Links to Related Work" and the humor page
I'd like an open-source alternative to WolframAlpha. That is, I'd like a open-source computer-algebra system that can process natural language, give step-by-step solutions, and be self-hosted easily.
I don't forsee an open-source WolframAlpha alternative cropping up anytime soon without any major funding.
Even with all the interest in NLP caused by OpenAI's release of ChatGPT, all we've gotten is people making little tools that send your essay/presentation/code/healthcare information/email/whatever into a third-party proprietary blackbox. My condolences to IT teams around the world.
Todo.txt
Todo.txt is the solution I stopped on, not the solution I chose.
Why? Because of all the integrations with tools like topydo or Simpletask. Its plaintext nature also makes it trivial to sync with Syncthing.
Unfortunately, the design paradigm conflicts directly with subtasks, which makes it practically worthless for actually managing my to-do list beyond the syncing and widespread integration.
A short list of various solutions I've tried or looked at:
- Taskwarrior TUI + Syncall
- It's incredibly broken. No, I'm not going to waste time investigating further to provide you with a detailed bug report explaining in further detail.
- Calendar.vim
- No support for CalDav or iCalendar or todo.txt or anything other than Google Tasks.
- Todoman + Vdirsyncer
- Nested tasks aren't grouped together.
- Super Productivity
- Shitty uncustomizable UI
- Bloat (not just talking about the fact that it's an Electron app)
- Probably something else I forgot, it has been a while
- KOrganizer
- Shitty UI. A lot of older KDE apps are like this.
- I wasted a lot of time trying to customize colors to make things readable, but no matter I did it always looked terrible.
- Lots of extraneous features (for my use case, I actually really liked KOrganizer the most, it just wasn't for me)
- Shitty UI. A lot of older KDE apps are like this.
- Thunderbird
- Syncing sucks.
- No nested tasks.
- Probably other stuff I forget, I ditched Thunderbird a long time ago because of the super-high resource usage.
The only solution I see now is learning Emacs Evil Mode for Org Mode. However, I don't know Org Mode has the features I want and if it'll be worth giving up the far wider todo.txt ecosystem, especially topydo's awesome column dashboard.
It's a hard decision because I've already sunk countless hours into this and I don't want to sink countless more into configuring and learning Emacs.
Firefox Mozilla
I think that Mozilla does a net amount of good with the Firefox web browser.
Firefox is also crammed with user-hostile design like telemetry or Pocket or the "studies" backdoor or that Mr. Robot add-on fiasco. I get it, r/StallmanWasRight, whoop-de-doo.
That doesn't change the fact that "lighter" and "security-focused" forks of Firefox or other browsers:
- Tend to have more unique fingerprints
- Lag behind in vital security updates in days or weeks
- "Disable all Javascript!" isn't an option in the modern web
- Can go abandoned
In short, I really don't have any options other than to keep using hardened Firefox with some userChrome.css tweaks; and I don't see any alternatives worth switching to.
Parting Thoughts↑§
I hope that you were able to take away something that will help you in your own life. Kinda like reading someone's dotfiles and adapting the bits that interest you for yourself.
I'm well-aware that I filled this blog post with many tangents and rants, for which I don't apologize because this is my blog post, not my dotfiles.
As you adapt whatever helpful tidbits you found today and integrate it into your own life, just remember to put your foot down and make a decision eventually. Otherwise you'll waste countless hours trying to achieve the unattainable, like I continue to do with my to-do list.