The Ultimate Home Server - Component: Knowledge Repository

I was zoning out watching Wendel talking about German Noises and metadata which got me thinking I should probably update my Devember project for what actually came out of it.

TLDR. It is a sort step by step on using 2 tables to sort millions of records and make them useful to a Data Warehouse and best of all, it can be automated.

The burnout is real! Thank you for your contribution, it does make me think that note taking should be monitored and recorded just like commit monitoring systems such as git, etc.

@zalealb
Thanks for the kind words. Its hard to not feel useless when you only have enough energy for working on your hobby 1-2 hours a week :frowning:

But I’m glad I have something to contribute!

note taking should be monitored and recorded just like commit monitoring systems such as git, etc.

It makes such a difference! Merging notes from work and my home computer has never been easier! Setting up a new computer is only a command away! And offline backup are as easy as making a mirror on Gitlab :smiley:

1 Like

(I’ll have to go back and read this thread after posing this - 83 is a lot)

For decades now I have been downloading various “stuff”, and early on I got in the habit of recoding a url.txt with them, or a urls.txt if there were multiple sites associated with it, adding see: ../some/other/related/folder as need.

About a month ago I started (alt-dir) adding the files .alt (with descriptive one-liners) and .description (with multi-line descriptions) into interesting folders, that a shell command can process: als or dls. With dls I can also put all subtree .alt and .description files in a seperated tree mirrored .dir folder, in which nothing is hidden, so its easy to edit, and you can see whats not documented yet (useful for repository parents, or seperating generic info /.dir/, or syncing info seperate from current filesystem).

Even tho they are unstructered text (not format, except 80 wrap if time allows), the commands can render inline $(shell command) and ${VAR} at runtime, including color, bold, underline etc if I choose (useful in /home/.description for current user name, and in / root to show the actual “root filesystem device”).

BTW I created alt-dir to help give “unpolluted” FileSystem feedback (because they are hidden .dot files) for a “L1Techs-Devember” filesystem catalog.

As an example, I can put a .dir/ folder in the parent of my serenity repo, and add issues and comments, descriptions, or observations into the seperated tree mirror (keeping the repo free of non-source files), and generate some of that content at dls run-time dynamically from the GitHub repo Issues or Pull Requests (which are not part of a Git repo). There is also no reason I could not add a .todo file to that OR even re-use the .dir/ structure as TODO only usage.

while creating /.dir/ I decided to add .history files for more extensive reading and creating inline archeological records that could be used in “a living OS” (like the origins of /sbin, /usr and /home, and the historical usage of /usr/local - basically all the extra stuff you wont find in the man pages) :slight_smile:

Cheers

Paul

EDIT: example (and every file/folder name is output ls --color=always at the terminal):

/ - the ROOT directory
This is the ROOT of the filesystem, everything else is mounted somewhere 
inside this filesystem tree.

$ lsblk -l | grep "/$"
mmcblk0p2 179:2    0  96.7G  0 part /
------------------------------------------------------------------------
 bin       		ROOT CLI Binary folder soft-link /bin -> usr/bin
 boot      		  (no alt-dir info)
 dev       		  (no alt-dir info)
 etc       		  (no alt-dir info)
 home      		  (no alt-dir info)
 iozone    		  (no alt-dir info)
 lib       		ROOT Library soft-link /bin -> usr/bin
 lost+found		  (no alt-dir info)
 media     		  (no alt-dir info)
 mnt       		  (no alt-dir info)
 opt       		  (no alt-dir info)
 proc      		  (no alt-dir info)
 root      		  (no alt-dir info)
 run       		  (no alt-dir info)
 sbin      		ROOT System Binary folder soft-link /bin -> usr/bin
 share     		  (no alt-dir info)
 srv       		  (no alt-dir info)
 sys       		  (no alt-dir info)
 tmp       		  (no alt-dir info)
 usr       		  (no alt-dir info)
 var       		  (no alt-dir info)
pi@raspberrypi:/ $

I stopped using Evernote and switched to Standard Notes which I like a lot more.
It also offers End to End Encryption
https://standardnotes.com/

3 Likes

I just saw the video and don’t think this was covered.

I feel like we need some plug-ins or tools specific to audio-visual media that would allow for more fine details.

Something like Facebook’s face recognition to help speed up sorting a photo album tagging (but obviously offline and open source). A pre-configured framework for tagging things like events, locations, etc. There could be built-in tools for image restoration or enhancement that would leave the original explicitly unaltered but organize it alongside the new version.

I’ve been wanting to go back over some old family recordings that include just audio and some other useful things could be voice recognition to help with converting them to text and labeling the speakers.

All these are things that could be done, in theory, with separate programs but would take a lot of time and effort to integrate together and sort through compared to single program. When combined with good import features/plug-ins that allow for external video/image/audio editing without losing that integration, a single large program would likely end up with a better overall.

This may not be entirely related to the knowledge repository specifically but I felt that it was at least somewhat relevant and would be similar software to what is discussed with Obsidian but more integrated into the media.

Im surprised no one mentioned HTML here because that is what I do. I have a plain ol apache server on a raspberry pi that hosts my personal knowledge base. Everything is organised in a hierachical fashion into a tree sub folder structure. Each folder has an index.html which is the root page of each sub topics. I use Bluegriffon to edit/take notes. All my PDFs are catalogued using Zotero. Mainly because I need to reference them sometimes. Because Zotero files are also synced over WebDAV to the same apache server back up is a breeze - a simple rsync command to my NAS for the /var/www folder.

2 Likes

I’ve started using Obsidian since watching the video. I had tried it a couple years ago when it was very new, but found writing at length outside of vim to be frustrating.

Fast forward to today and Obsidian has a vim mode! So I have been migrating my scattered notes into it and have been liking it so far.

I did find the live preview mode to be buggy. It froze the application several times. Easy enough to just not use it though.

Slightly more inconvenient is that the git plugin doesn’t expose the pinentry application. I sign my git commits and authenticate ssh with yubikeys via gpg so while I can stage with the git plugin which is useful, I have to commit and push manually. Not the end of the world, but it would be nice to use the plugin.

I have not looked at using it on mobile yet. I am not sure how possible that will be without paying for the sync feature which I do not intend to do.

I am using OneDrive to sync things and it is working just fine. My main vault is stored in OneDrive and I use OneSync on my phone to sync them automatically every 5 minutes. I haven’t had any issues with this yet. I am also using Office Lens in combination with Microsoft Flow (PowerAutomate) to move the scans from the default folder to my Obsidian vault automatically.

There is also Community Plugin called Self-hosted LiveSync → https://github.com/vrtmrz/obsidian-livesync
I haven’t tested this plugin though.

A neat thing I’ve found is a podcast app called using Momento - It lets you sync to sync podcast clips (transcribes clips automatically) and notes with Readwise (which syncs with Obsidian)

1 Like

On iPhone, iCloud sync is an option out of the box. On a Mac, the files will appear in ~/Library/Mobile Documents/iCloud~md~obsidian/Documents/VaultName. Symlink that where ever you want to access your notes in your home folder and you have sync.

Of course, if you are uneasy about your notes being unencrypted on a cloud service, then that’s not going to work. But for now, mine are all information I would share publicly, so not a concern yet.

Nice. Might give that a try. Although I think using it with an external syncing storage would be preferable (like Nextcloud).

3 Likes

I used to be kind of obsessed with notetaking organization in my 20s… I used OneNote, Evernote, txt files in well designed folder structures… now some 20 years later I just dump all files into one directory… if I am not lazy I make new directory every year… and notes - I keep everything as open document in SublimeText, most of it is not even saved to file (because I am lazy to name it and Sublime text keeps open documents persistent across restarts)…

1 Like

:grimacing:

Haha yeah I like to live dangerously these days. But also what I like about Sublime is that I don’t need to “name” the file, it keeps the first line as name (in the side bar) until I explicitly save it. I had a look at obsidian and you need to explicitly name each note… not for me :slight_smile:

But unlike with my notes I managed to stay more disciplined with my photos at least. My system for that is super simple. When I copy photos from camera or phone to PC a create directory named YYYY-MM-DD-events-on-photos and dump all photos in this directory. And I have all of this in one “photos” directory on my TrueNAS (so it is on zfs mirror and occasionally send to offsite backup).

I also used tagspaces for a while. App that lets you tag any file and works on any platform. I think some people here might like it and I didn’t see it mentioned here yet.

If you need an idea for a video, I’d love to see your ingest process with MSFT Lens and Obsidian. This is where I struggle.

1 Like

Alright, so it has been over a month with the Supernote, and I have to say I absolutely love it. It is still getting software updates, but having one notebook where I can write notes for different subjects and scribble on PDFs, etc. is fantastic.

Although the software isn’t totally open-source, their linux kernel sources are available on github. They also allow you to use all the main features of the Supernote without ever connecting it to the internet (software updates, text recognition, note-taking). You can just pull your notes from it and convert them to pdf over USB.

The battery life is great, I have charged it once since owning it. If you are less privacy-concerned, you can sync your notes with their cloud service and your phone, as well as import images from your phone into your notes, but I haven’t tried these features.

Overall, I am very pleased with it, it really does a good job of replacing mountains of notebooks, textbooks, and printouts with one “thing”

They claim they are working on an SDK so you can sideload new apps to it (its ART based), but IDK where that falls on their roadmap and they seem to be mainly concerned with making its base functionality excellent.

I mean, in theory if you have a good enough search tool that will be faster than organizing.

Did a fairly extensive deep dive into this rabbit hole recently trying out like 20+ apps. I strongly feel we’ll get a universal answer to this in 2023, as many solutions are only just recently receiving features that make them “complete solutions” (Example: Obsidian just got live preview editing a few months ago in late 2021. Google docs just got “pageless”).

Words of Warning

If you have fallen into the same neurotic trap as everyone else. realize one thing:

NOTE-TAKING SHOULD BE A MEANS TO AN END.

Notice no one has asked you…what are you taking notes for? STOP with your autistic research and ask yourself this question. WHAT ON EARTH do you need notes for?

Imagine you want to write a grocery list and spending all this time thinking about HOW you’re going to write this list. You try vim, then obsidian, you title your notes by date so you can sort all your grocery shops chronologically, you use tags and folders depending on what store you’re going to… All that nonsense, and now you’re fucking STARVING because you have no food in your fridge because you didn’t thing of the END: BUYING GROCERIES.

That said…

In the spirit of keeping note taking low friction, and to fold in a number of legacy usecases such as:

  • todo.txt
  • notebook
  • technical docs
  • blog
  • kanban, etc.

My minimum requirements to switch to anything are:

  • Low friction.
  • Mobile support.
  • Real time multi-user collaboration on the same document.
  • 100% open intermediate format. Markdown storage, markdown everywhere. Can be on my PC.
  • Single-pane live preview editor (See Obsidian).

Extra nice:

  • Mermaid charts, kanban and such. (plugin system OK)
  • Embedding things like audio, images, easily. (plugin system OK)
  • Open source platform.

We’re not really here yet as of this writing (2022), here’s some thoughts on things I’ve tried:

Note: Features on these apps are continually evolving. This is only valid up to March 2022.

Google Docs

  • Contender because just added both “pageless” and “wide view” support.
  • First class mobile support and free if you already use Google.
  • :star_struck: Just make shortcuts to your Note folder on your phone/PC.
  • Best user access controls and real time same-document collaboration.
  • Can publish documents any time.
  • Single-pane live preview editor. (WYSIWYM)
  • Dark reader gives a nice dark theme experience.
  • Links updated automatically when things move.
  • :rage: But you forfeit the ability to store markdown directly on your local computer.
  • :rage: Maybe we’ll get official markdown export soon?
  • Making an exception for Google Docs because it gets so much right and it’s dead easy frictionless.

Obsidian

  • Obsidian + Syncthing seems like a winner for solo or a handful of technical people.
  • Very minor merging ability, but it does exist (haven’t fully stress tested this). It’ll even tell you “we merged your changes” in a little popup.
  • Obsidian is gamechanging because it’s markdown everywhere, plugin ecosystem is strong.
  • Codemirror 6 enables single-pane live preview editor. (WYSIWYM)
  • Links updated automatically when things move.
  • We may get real time multi-user collab at some point: GitHub - vrtmrz/livesync-classroom

GitLab

  • :star_struck: GitLab markdown editor is vastly superior to GitHub.
  • If you’re prioritizing static site generation (technical documentation, blogging) this is what to use as of this writing.
  • Seems like the best if you’re okay with a slower, lockstep collaboration that “git only” offers.

Hedgedoc

  • :star_struck: Zero-install open source solution.
  • :star_struck: Real time same-document multi-user collaboration.
  • Stores end result in markdown.

Standard Notes

  • Used by Wimpy of Ubuntu MATE fame.
  • Can be self-hosted.
  • NOT 100% flat file markdown. Only partial.

Foam, Dendron.

  • Neither have single-pane live preview editing.
  • VSCode mobile does not support git = RIP. May work okay with Syncthing?
  • Real time collaboration is limited to GitDoc autosaving, which isn’t usable on mobile. May work okay with Syncthing?
  • Dendron will not translate directly to Hugo, etc. because of structure and has metadata like crazy.

Logseq

  • Scares me as a security concern as all devs are from mainland China.

Etherpad, Livebook

  • Very promising but just aren’t evolved as others as of this writing.

Joplin, Zettlr

  • Just feel like a crappier Obsidian.
  • Joplin paid plan is actually more expensive than obsidian (lol).

TakeNote, Notable are good for single person, but no live preview editing. TakeNote disables mobile usable.

Mattermost

  • If you need a combination on of Slack + Trello + Asana for proprietary information, this is great.
  • Not really a note taking solution.
  • Threw this in here out of curiosity.

Haven’t tried yet but am interested after I recover from app demoing fatigue:

  • Inkdrop
  • cryptpad :eyes:
  • trilium

Tried a bunch of others that ended up being too limiting, too proprietary, or too high friction.

also @wendell

12 Likes

Which one (if any) did you end up sticking with?

Does anyone use traditional scanning software like Paperport?

To reduce friction, I’ve been looking for something that accepts a page separator aka patch code to batch scan stuff and automatically split them into individual documents before sending them to paperless-ng.

Everything I’ve found seems to price that futuristic level of tech into the thousands of dollars range.

I assume you’re talking about production scanning? The Fujitsu and Canon models I’ve used all supported patch codes in their bundled pre-processing software (Fujitsu PaperStream or Kofax VRS) or with a drop-in a hardware module. Check your manufacturer’s support site and see if there is something free you can download. If not, you could buy something like Kofax VRS software ($700) but for that much I’d probably start looking into new scanners that come with bundled software.