Because of the simple folder structure, you can also use vim+fzf to search/navigate/create/edit your notes. The notational-fzf-vim plugin[2] is superb for that.
For web-clipping, I just use the markdownload[3] extension in firefox and save the markdown file in the notes folder.
Why not joplin? Mostly because joplin stores notes in an sqlite database instead of a simple folder structure making it not easily accessible by normal unix tools and editors.
Why not obsidian? Was never able to grok obsidian. Pointing it at my existing notes makes it just show up as a huge mess of unstructured notes. I guess it needs some effort to organize and link existing notes. In notable, I can tag a note as Books/CS, and CS/Books, and it'll show up in corresponding folder-like structures in the left panel. Can't do that in obsidian.
1. https://play.google.com/store/apps/details?id=net.redsolver....
All notes (and consequently bookmarks and their contents) are stored as plain-text markdown files - so there's no dependency on a proprietary format, and all the content becomes searchable.
If you're a vim-user, you can also get the notational-fzf-vim plugin (https://github.com/alok/notational-fzf-vim) and point it to the notes/bookmarks folder, and have full fuzzy search over all the content.
It's all stored as markdown, so you can go in and edit the page. nb also syncs automatically every time a note is edited.
Images, pdfs, docs, etc. can all be dumped into nb.
On mobile, I use gitjournal, and point it to the same gitlab repository, so the same notes are synced on mobile.
The notational-fzf vim plugin (https://github.com/alok/notational-fzf-vim) is excellent for searching notes and just works if you point it to your .nb root directory.
The next best thing is notable (https://notable.app/), which provides a much better interface, but doesn't do the download url thing. Gitjournal and notational-fzf also work with notable.
Come to think of it, I don't see why you couldn't use both vimwiki and notational-fzf-vim. That might be pretty good actually.
I don't see the value in memorizing programming -syntax-. It's irrelevant to me to remember how to open a file in ruby or do a specific command- that's what search engines and then my personal wiki is for.
If I worked -only- in ruby, then I'd likely remember those specifics much more, but since I hop around with rust, python, c#, clojure ... depending on our clients, there's no way I'm going to remember stuff like that for every language. Especially since languages tend to get updates and changes!
I would use anki to retain knowledge of stuff like more complicated data structures. Right now, I just search for what I need, then toss it into my personal wiki folders. I can then use notational-fzf-vim to rapidly fuzzy search my markdown files. [0] I keep these synced across computers with a selfhosted nextcloud instance.