I can haz knowledgebase
I’ve often felt sheepish about my personal knowledgebase: it’s just a pile of text files. Everyone else has their own self-hosted MediaWiki or Obsidian or Digital Garden and mine is stuck in the ‘90s, using text/plain
without any folder structure or tags.
But it works!
In this very short post I will outline the 2-rule system I use that makes my lack of system so effective, for my basic use-case.
Also: I recommend you start one if you don’t already have something better! It has saved me so many times.
The system:
A folder of plaintext files, written in markdown. No tags, no directory hierarchy.
Each one (in this case, How to write a very long knowledgebase title full of misspellings.txt
) looks like this:
# How to write a very long knowledgebase title full of misspellings
YYYY-MM-DD
Description of problem and solution
Source: URL (or, Via: URL)
The rules:
- Every time I look something up a second time, I add it to my knowledgebase. I also add things after I look them up the first time if finding the answer was hard, or I’m fairly sure I will need them again at an inconvenient point in the Ebbinghaus Forgetting Curve.
- The filenames all start with “How to” and end with “.txt”. The titles/filenames are ridiculously long and descriptive, and include all the likely synonyms.
Why it works
Emergent phenomena of this systemless system:
- I can find almost anything in about two seconds using Albert Launcher, I just need to remember some words related to my problem, like maybe “ffmpeg” or “crashes” or “printer drivers”.
- I can drop back to more powerful tools if needed. And it will be easy to migrate to a fancier system, or tag with AI if AI ever gets good enough at that.
- No software to update, relearn, or migrate from ♥
- I can go back to the source I got the info from to learn more, or remember why I used a particular approach.
- It only has what I need. It doesn’t have most of the stuff I know by heart. And it doesn’t cover stuff that’s beyond my skill level, and I’m unlikely to need. It only covers the border between them: things I use, yet forgot how to do at least once. This maximizes the usefulness-to-size ratio.
- Each time I reference a file, I can easily update it (since it’s always open in a text editor), and make rude comments about my past self or to my future self (or about ffmpeg).
Here’s a relatively representative sample of the basic-yet-niche things that go in it (and I might otherwise have to look up):
How to find which element is overflowing the body with JS in CSS HTML.txt How to Access Text That Is On the Command Line in Vim.txt How to Automatically Reflow Paragraphs to Chosen Line Length in Vim.txt How to boost video volume with FFMPEG.txt How to Build Compile Sway wlroots wayland meson on Ubuntu 20.04 How To Bulk Resize Autodidacts Images to 1000px Wide with ImageMagick Mogrify.txt How to connect to and mysqldump remote Fly MySQL Database on the CLI by proxying through localhost.txt How to Connect to Wifi from Command Line in Wayland (Sway).txt How to convert scanned JPG or PNG images to a PDF document with ImageMagick convert command.txt How to Count Non-blank lines in Vim.txt How to create printable PDF booklet imposition Linux CLI.txt How to Debug Hangs and Freezes on Ubuntu Linux.txt How to Delete HTML Comments in Vim.txt How to Delete Strip HTML comments in VIM.txt # nobody’s perfect; this is why I should have named the first one what I named the second one! How to Detach a Process and Keep it Running in the Background on Linux.txt How to Detach a Process From Your Terminal Wile Keeping It Running In The Background.txt # ok this is getting embarrassing How to Disable Sodo Search on Ghost.txt How to Figure out What KeyCode a Key Makes, in order to Create i3 or Sway Keybinding.txt How to find what bash bourne again shell process is keeping flashdrive device busy so it can't be unmounted with lsof.txt How to fix broken wifi and ethernet networking on Ubuntu Linux.txt How to Fix Cloudflare 520 error with Page Rule to Redirect Root Apex Domain to WWW Subdomain.txt How to fix could not resolve github host pups discourse upgrade error.txt How to Fix Error with Git Network Access from NeuroBB Discourse Docker Image when Running Launcher REbuild.txt How to Fix Firefox Dark Mode and prefers-color-scheme not working.txt How to fix grayed out ATA Secure Erase in Gnome Disks How to Fix Heroku PostgreSQL SSL error.txt How to Fix ImageMagik Resource Limit Exhaused Error When Converting Images to PDF.txt How to Fix Immediate Wake From Suspend on Ubuntu.txt How to fix python pip requirements.txt externally managed environment error.txt How to Fix Synaptics Touchpad Natural and Horizontal Scrolling Ubuntu 22.04 After XFCE Broke It How to Fix When Printer Won't Print on Linux By Restarting Cups Service.txt How to free disk space for Discourse update with journalctl.txt How to Generate a Static Site from a Local Ghost Instance.txt How to Get htaccess Url Rewriting Working on LAMP PHP Apache.txt How to get on public wifi when the portal login page isn't redirecting correctly linux with routes gateway.txt How to get SMTP mail working from Ghost.txt How To Get Word Count In Vim Status Line.txt How to Get Word Count In Vim with WC.txt How to Google with Advanced Search Criteria.txt How To Insert Rows With Keystroke in Libre Office Calc.txt How to Install Studio One 4 on Ubuntu 20.04 with Wine 6.0.txt How to kill a bash script by name.txt How to make localhost not accessable over LAN apache ports.conf.txt How to Minify HTML with sed.txt How to recieve notification on local machine when longrunning command job on remote ssh machine finishes.txt How to Recover from Failed Ghost Blog Updates.txt How To Recover Lost Text in Firefox By Coredumping Firefox.txt How to Reload vimrc While Editing It.txt How to remove duplicate lines in a text file with Awk.txt How to remove headers and footers from Libreoffice calc or writer document when exporting to PDF.txt How to remove last page from a PDF with the CLI Terminal Linux.txt How to resize scale Autodidacts images on the command line with ImageMagik.txt # oops groundhog day How to Run a Command for a Specific Duration.txt How to Run Atom and Other Electron Applications on Wayland with XWayland by Setting GDK_BACKEND Environment Variable.txt How to run Piwik Matomo CLI commands from PHP cpanel terminal.txt How to Save a Vim Session.txt How to save changes made to readonly file opened in Vim without sudo.txt How To Search for String in All Tables of Entire SQLite Database.txt How to Set Soft Wrap in Vim.txt How to Setup Kobo Bypassing Account Registration.txt How To Smarten Punctuation In Markdown with Pandoc.txt How to Sort Lines in Vim How to Spell Check in Vim.txt How to Stage Selected Hunks Partial Files from Git CLI.txt How to start a new Ghost theme from Timeless and Undefined.txt How to tail view output of running process by PID with strace.txt How to trim a video by timestamp with FFMPEG.txt How to Troubleshoot Ghost Migrations.txt How to Update Ghost Blogs on Heroku.txt How to Update Ghost on Dokku on AWS.txt How to Upload Dploy Ghost Theme Via CLI Command Line with Ghost Admin API.txt How to Use Enable and Use Useful SysRq Magic System Request Key Commands.txt How to Use FZF.txt How to Use Spreadsheets.txt How to Use Tmux.txt How to Watch and Compile Mutiple Files with Sass on the Commandline.txt How to Zip A Ghost Theme From the Command Line.txt
This knowledgebase lives in my tech directory, and mostly covers the rudiments of Unix neckbearding. I have other knowledgebases. Some are piles of files, like this one, and some are single files with piles of text (even more paleolithic, yay!).
I keep running notes for each project, and those live in the project directory. And I keep an ever-growing array of life-admin lists, as well as notes of things I have learned about myself, other people, and the world, and how to navigate the intersection of the three.
I use my tech knowledgebase as an example, because it’s the one I reference most often. After all, when I’m stuck in a conversation that’s going on and on, I can’t really say, “Give me a sec I need to check my notes on how to politely exit a conversation.”
Fortunately, on the web, you can just close the tab.
EOF