Ditching Obsidian and building my own
190 points
6 hours ago
| 50 comments
| amberwilliams.io
| HN
lolinder
5 hours ago
[-]
> Since my PKMS is hosted online to manage notes across devices, I have multiple layers of security to ensure my notes are kept private. {Screenshot of a login form}

The biggest life hack I can recommend for a self hoster is to set up a VPN on your local network and then just never expose your services on the public internet unless you're specifically trying to serve people outside your own household.

Before I did this I was constantly worried about the security implications of each app I thought about installing or creating. Now it's not even worth setting up auth on a lot of simple services I build because if someone is able to hit their endpoints I'm already in deep trouble for many other reasons.

reply
caconym_
3 hours ago
[-]
+1. I have Wireguard set up on all my mobile devices and configured to automatically start when connecting to any wifi that isn't mine, so I can take my devices anywhere and I'm still on my home LAN. It works seamlessly and flawlessly.

I self-host a lot of services, and without Wireguard (or equivalent), remote access just wouldn't be realistic.

reply
burnt-resistor
9 minutes ago
[-]
I have wg into home and wg into an aws instance. All my mobile and laptops can reach them.
reply
Arch-TK
2 hours ago
[-]
How did you automate it to start on networks which are not yours?

This is like the only piece of the puzzle for me.

reply
thequux
1 hour ago
[-]
Set the AllowedIPs wireguard setting (and/or the route, if you can set that separately) to one larger than your home network (i.e., if your home network is 192.168.1.0/24, use 192.168.0.0/23). Then, block wireguard packets from the internal network on your router. Then the tunnel will always be running; it just won't be used when you're at home because there's a more specific route
reply
caconym_
45 minutes ago
[-]
All my regular mobile devices are Apple, so whoever said that has it right. I also have a Linux laptop but NetworkManager support for Wireguard was broken last I checked, and at the time I didn't care enough to set it up by hand.
reply
runjake
1 hour ago
[-]
For the Tailscale app on Apple platforms it’s called VPN On Demand. Here's how you can configure it.

https://tailscale.com/kb/1291/ios-vpn-on-demand

reply
mcpeepants
1 hour ago
[-]
This is a built-in feature of the Wireguard app on iOS, not sure about other platforms.
reply
george_perez
1 hour ago
[-]
And specifically it's based on VPN On Demand. https://developer.apple.com/documentation/networkextension/v...
reply
thepill
2 hours ago
[-]
On Android devices? If so: how? :)
reply
viraptor
2 hours ago
[-]
I don't use it with wireguard, but Zerotier works just fine on Android.
reply
Jarwain
2 hours ago
[-]
As does tailscale!
reply
fluidcruft
45 minutes ago
[-]
My only issue with wireguard/tailscale is that somehow my work IT has managed to make it unusable on our wifi. It's really annoying. I'm pretty sure it's a misconfiguration on their end but they don't have any reason to care.

OpenVPN does seem to always work everywhere (presumably because outside contractors and support personnel use OpenVPN when onsite so it's a squeaky wheel that matters) so I've moved to that instead. Beyond that I can't figure out what the hell is the problem and the way IT works, they have no reason to fix it. I did get them to somewhat work on it by reporting Google VPN as randomly failing, but they just fixed Google VPN and nothing more than that. So anyway wireguard is great until you encounter bullshit corporate firewalls.

reply
ParetoOptimal
1 hour ago
[-]
reply
_heimdall
40 minutes ago
[-]
This is my recommendation for anyone that wants full control.

I use Tailscale, purely out of laziness and a willingness to trust them today, but I'd move to head scale if either of those caveats changed.

reply
brightball
3 hours ago
[-]
Tailscale is actually great for this if you configure an exit node on a device in your home.
reply
chris12321
1 hour ago
[-]
You can also set up DNS records pointing to your home server's VPN IP, which, with Tailscale, I've found to be pretty static and then a reverse proxy on your home server. So I have my home network apps running on app1.my-domiain.com app2.my-domain.com, app3.my-domain.com etc, which only work when I'm connected to the VPN.

The downsides are that I need to be connected to the VPN at home to use the domain and I currently don't have SSL set up on the domains, so browsers complain when I connect to them. The second problem I could fix, but I'm not sure if there's a solution for the first.

reply
sebws
15 minutes ago
[-]
You can fix them both in one. In your local network you host a local DNS, in my case I’m using pihole. It has records which point to the local IP of a reverse proxy. With this setup you can have SSL for your domain names on your local network.

To make it then work outside your local network, in tailscale settings you use “split dns” to set your DNS to be the IP of your pihole in the tailnet for your domain. Now when you try hit your local domains you should receive the same local IPs that you do at home. Then in the tailscale route settings of your machine hosting the reverse proxy you make it advertise the subnet of those local IPs. Now when you receive the local IPs your devices using the tailscale VPN should go to your home server with SSL and no external DNS.

Hope that’s somewhat clear enough

reply
8fingerlouie
1 hour ago
[-]
The internet is not a friendly place, so a VPN is a great idea.

With modern tools like Wireguard, you can even set it up relatively easy, either as Wireguard alone or as Tailscale (or ZeroTier, though that's not Wireguard).

Wireguard (and Tailscale) allows you to setup the tunnel so that only local (RFC1918 ie) traffic is routed over it, meaning it won't eat up your battery like when just routing all traffic over it.

I have Wireguard setup like that. It enables on any Wi-Fi network that isn't mine, as well as cellular, and the battery impact is less than 2% over a day.

reply
sabellito
4 hours ago
[-]
For single page web apps I use pagecrypt [0] and just publish the html file (with inline scripts and styles) as public files.

[0] https://pagecrypt.maxlaumeister.com

reply
rafram
4 hours ago
[-]
The downside is that if you’re on a two-week vacation and your home network/server goes down on day two, there’s probably nothing you can do until you get home. If it’s hosted online, you can count on that 99.99…% uptime and SSH access no matter what.
reply
vhanda
4 hours ago
[-]
I think what they meant is that if it's hosted online / home-network, only allow access to all services through a VPN. Wireguard is relatively easy to setup, and you can configure all your services to only be available through wireguard.

Ever since ssh almost got backdoor-ed, the only thing "exposed" on my servers is Wireguard, which is UDP based and therefore harder to know if it's running. SSH also goes over wireguard.

reply
accrual
3 hours ago
[-]
Although not perfect, I added a couple features to help ensure uptime:

* LAN components are on a UPS, helps keep continuity between power blips and breaker flips

* Dynamic DNS, cron runs a script 4x per day to ensure a DNS name points to my IP, even if issued a new one by the ISP

* Rebooting everything occasionally to ensure the network and services come back up on their own and I didn't make a mistake with some config that loads at boot, etc.

reply
Zambyte
3 hours ago
[-]
These solutions are composable. Just run it on a VPS over a VPN.
reply
rafram
3 hours ago
[-]
That’s a good point.
reply
jauntywundrkind
4 hours ago
[-]
Ssh exposed on a non-standard port, with root disabled, using key-based auth should be pretty non-controversial.

The security through obscurity (non-standard port, no root) are both kinda silly but why not.

That said, with awesome services like TailScale, it's pretty hard to get locked out of your network. TailScale is so so good at "just working".

reply
batch12
3 hours ago
[-]
> The security through obscurity (non-standard port, no root) are both kinda silly but why not

I think these are decent controls when layered with others. The effectiveness differs depending on your threat models, of course, but at the very least it helps reduce the noise seen from most automated scans reducing the effort involved in monitoring your assets.

reply
johnmaguire
1 hour ago
[-]
Disabling root provides more than security-through-obscurity if your sudo config requires a password to elevate: it essentially means you need both your SSH private key and your password to gain root.
reply
accrual
3 hours ago
[-]
Fail2ban or rate-limiting SSH into a block table are useful layers to have as well.
reply
cyberax
2 hours ago
[-]
Another option is port knocking. Super easy to set up and with 4 knocks it provides 64 bits of randomness.
reply
sammyteee
2 hours ago
[-]
You can also enjoy your vacation instead :)
reply
williamsss
5 hours ago
[-]
Good point. I also use my PKMS as a CMS for my blog. Might just split out the services and go this route.
reply
justsomehnguy
3 hours ago
[-]
welcome to the world when not TailScale, not a private WireGuard, not aL2TP, OpenVPN works. No, SSTP doesn't too. HTTPS works. Even on the devices you don't or can't control.
reply
SahAssar
3 hours ago
[-]
So you've managed to unlearn the last decade of security learnings in regards to zero-trust and similar concepts?
reply
lolinder
3 hours ago
[-]
I'm not running a business, I'm running a home. The threat models are totally different and I adjust my security posture accordingly.

Besides, I don't bother with auth for simple services, not stuff that actually hosts data. If someone unauthorized is inside my network they're not going to be interested in using my TTS/STT service or in finding out the last barcode I scanned or in using my tiny consumer GPU to generate tokens on an LLM—there are way worse things they could be doing at that point than fiddling with the many tiny services I have set up.

Also: I couldn't set up so many silly, inconsequential services if I didn't have a VPN. With my setup, every new idea I have can be a quick service on my network accessible by me anywhere in the world. If I had to expose each of these things to the internet I wouldn't bother running them at all lest they have an exploit that ends up being an entrypoint into my network.

reply
xboxnolifes
3 hours ago
[-]
You need to understand your own risk tolerance and, more importantly, effort/resource threshold. Zero-trust is great if you have the resources to put to it, and companies should do it. But individuals trying to manage multiple companies worth of services, alone, on their own network? There's going to be corners cut.
reply
caconym_
3 hours ago
[-]
That's a comically uncharitable extrapolation on what was said.
reply
sigmonsays
3 hours ago
[-]
self hosting is entirely different than enterprise security practices. You're a little out of touch with reality if you don't realize this.
reply
old-gregg
1 hour ago
[-]
Your "life hack" is not a good advice. There's plenty of well-written explanations for why perimeter based security doesn't work. What is strange is that you've started in the right place: by being "constantly worried about security implications of each app". Unfortunately it's annoying and time consuming, but that's the right way to keep your data private. And if that's too much hassle, it means it's worth it to pay others to do it.

When I'm thinking about a hypothetical situation when I need to save the world by hacking into a hypothetical villain, my best hope will be him using your approach to security.

reply
lolinder
1 hour ago
[-]
Any serious approach to security begins with a reasonable and clearly defined threat model, and my threat model for my home network doesn't currently include a team of superheros targeting my file backups in an effort to save the world. But I'll definitely keep your advice in mind when I do decide to start executing on my evil plots.

For now my threat model consists of script kiddies and abusive corporations. Self-hosting gets me away from the corporations and keeping my stuff off of the public internet keeps me away from script kiddies.

reply
bigfatkitten
1 hour ago
[-]
> There's plenty of well-written explanations for why perimeter based security doesn't work

It certainly helps when your attack surface consists of numerous web apps of unknown quality.

Drive-by RCEs (e.g. log4j) then suddenly become much less of a headache when none of it is reachable by the world at large.

Exactly how you do that, whether via an authenticating reverse proxy or VPN doesn’t really matter.

reply
gugagore
1 hour ago
[-]
Could you provide an example of one of the well written explanations?
reply
vunderba
5 hours ago
[-]
Good article but as a heavy user of Obsidian (and previously Evernote), I would offer some counterpoints:

> After some mental gymnastics weighing if I should continue with Obsidian, I found solace when asking myself "Can I see myself using this in 20 years?". I couldn't. The thought of cyclically migrating notes from one PKMS to another every 5 years, as I had done from Evernote to Notion to Obsidian, made me feel tired.

In point of fact this is actually an argument IN FAVOR of Obsidian. While the editor might be proprietary - the notes themselves are just standard markdown. If somehow all the copies of Obsidian magically disappeared off the earth tomorrow, I could easily switch over to Emacs org mode, VS Code, or literally anything else.

> Obsidian was a great tool for me personally for a long time. But I felt frustrated when I wanted to access my notes on my phone while on-the-go and saw that I had to pay for this feature.

Again, a little bit odd considering that the author is technically savvy enough to write an entire PKMS but didn't seem to consider that you can just check your markdown notes into a git repository and sync with the native android/iOS Obsidian app on a mobile device. All my notes sync up to Gitea hosted on my VPS and it works relatively seamlessly.

I'm glad the author had fun. Personally, I'm very happy with Obsidian and the plugin architecture has made it easy for me to extend it where necessary.

reply
scubbo
7 minutes ago
[-]
> Again, a little bit odd considering that the author is technically savvy enough to write an entire PKMS but didn't seem to consider that you can just check your markdown notes into a git repository and sync with the native android/iOS Obsidian app on a mobile device.

Even simpler, I have mine in a Dropbox folder. Felt very strange for _this_ to be the straw that broke the camel's back for the author.

Nonetheless, very glad for them that they enjoyed and learned from the experience of building a replacement!

reply
caconym_
3 hours ago
[-]
> In point of fact this is actually an argument IN FAVOR of Obsidian. While the editor might be proprietary - the notes themselves are just standard markdown. If somehow all the copies of Obsidian magically disappeared off the earth tomorrow, I could easily switch over to Emacs org mode, VS Code, or literally anything else.

100% this. The reason I started using Obsidian in the first place is that it's built on the exact directory structure and file formats that I was already using to manage my writing and notes, and if Obsidian goes away for some reason, that won't change.

reply
braden-lk
2 hours ago
[-]
Big obsidian fan, but I will say: notes being “just markdown” is not entirely true depending on how you use obsidian. If you are a plug-in heavy user, and those plugins introduce new syntax and lots of JavaScript functionality, you are accumulating a bespoke custom syntax that only works on your copy of obsidian with your set of plugins. Obsidian and those plugins are still free and are a huge benefit, but just something to keep in mind regarding data hygiene and longevity.
reply
edanm
1 hour ago
[-]
True, but the format is still text. In a "catastrophe", you can always just a) ignore these, or b) write custom code to process them (e.g. port the plugin to VSCode or whatever).

Still far better than a proprietary format.

reply
eviks
52 minutes ago
[-]
A proprietary format with an export function allows you the same inconvenience of having to write code for processing.
reply
Xss3
7 minutes ago
[-]
No. You might not be able to load the program to get to the export button. They might paywall it away. Etc.
reply
williamsss
5 hours ago
[-]
Thanks for the feedback! Agreed Git can be used to sync your notes. Its a great solution for those comfortable putting their notes into a Git repo like Github. I wasn't comfortable with that however.

Currently vetting a way to sync my database files with my markdown files on my laptop, so it functions similar to Obsidian. I enjoy Vim too much to work constrained to Directus' markdown editor!

reply
bryanhogan
1 hour ago
[-]
Common ways to sync Obsidian are through cloud tools (Google Drive, OneDrive, etc.), SyncThing Fork or Git.

I'd recommend you to look into SyncThing Fork or a similar tool if you never want your notes to leave your own server.

I wrote about ways to sync Obsidian here: https://bryanhogan.com/blog/how-to-sync-obsidian

reply
viraptor
2 hours ago
[-]
It's not just git. You have the plugins available for S3, couchdb, FTP, MongoDB, cloud drives, rsync, syncthing, and probably every other storage/protocol in the world. And they're all available for free in obsidian.
reply
JonChesterfield
4 hours ago
[-]
Git is decentralised. You can sync between laptop and phone directly, no third party server required.
reply
achierius
3 hours ago
[-]
To be clear, GitHub is centralized, but Git is not. You can sync between laptop and phone directly with Git -- no third party server required.
reply
adastra22
2 hours ago
[-]
No one said anything about GitHub… git is perfectly fine for this use case and 100% private.
reply
charlie0
3 hours ago
[-]
The odd part here is why take it to 100%+ when you can just build a plugin on Obsidian rather than re-building the whole thing? Seems a bit extreme.
reply
williamsss
3 hours ago
[-]
In 20 years will that plugin work? I doubt it.
reply
9dev
1 hour ago
[-]
You can’t even compile stuff from 20 years ago without some extensive archeological efforts. I doubt this is your largest problem by then.
reply
komali2
2 hours ago
[-]
This is why I didn't like Obsidian, half the plugins I tried didn't work despite them being in the top 20 downloaded ones. Meanwhile I'll use like 15 year old emacs plugins that haven't been updated in like 5 years and they'll work fine (I think org-diary or something along those lines was what I tried).
reply
petee
2 hours ago
[-]
Some people just enjoy the process, and you'll always learn something new
reply
e28eta
4 hours ago
[-]
What about git makes you uncomfortable?

I saw that you didn’t want to use a 3rd party provider, but why not stick a git repo on your VPS (which you are trusting with your data today) and use that to coordinate syncs between your client devices?

reply
williamsss
4 hours ago
[-]
Made a comment in the thread explaining this https://news.ycombinator.com/item?id=44023090

I expect my PKMS to evolve and wouldn't rule out a self-hosted Git server if I find it's a better option long term.

reply
tasuki
2 hours ago
[-]
> wouldn't rule out a self-hosted Git server

I don't think you really get it. Git is distributed. There's no need for "a git server". You already have a machine on which you host the SQL database, you can just use that as yet another git remote.

reply
exe34
5 hours ago
[-]
> The thought of cyclically migrating notes from one PKMS to another every 5 years, as I had done from Evernote to Notion to Obsidian, made me feel tired.

I had a very similar thought process about 15 years ago, and went on a quest to write my own notes system - after trying out a lot of ideas and giving up, I washed up in emacs and gave org-mode a try. It's actually good enough, and I can grep through my notes easiy, and sync them with git.

reply
mutoyoru
4 hours ago
[-]
> Obsidian was a great tool for me personally for a long time. But I felt frustrated when I wanted to access my notes on my phone while on-the-go and saw that I had to pay for this feature.

I'm using Syncthing [0] to sync my vault between devices. On my main PC, Syncthing runs constantly in the background. Say, if I made a change, and want to send those changes to my phone, I open the application on my phone and let it fetch the changes. It's not perfectly smooth, like Obsidian's own integration, but I prefer this instead of setting a Git repository. Also, the files don't stay in a remote server.

[0]: https://syncthing.net

reply
SamPatt
24 minutes ago
[-]
Same. I admit I've running into a few syncing headaches over the years, but given the cost of $0 and the fact it's open source, I recommend it too.

I previously rolled my own notes system and I find Obsidian plus Syncthing is better. Plugins are a big deal.

reply
mk12
2 hours ago
[-]
I do this but additionally with an always-on Raspberry Pi, so syncing works perfectly even if the laptop and phone aren’t able to sync directly to each other. The SyncTrain iOS app arrived just in time for me: https://t-shaped.nl/posts/synctrain-a-rethought-ios-client-f...
reply
charkubi
1 hour ago
[-]
Apple allowing iCloud directories to be permanently downloaded fixed this for me.
reply
al_borland
52 minutes ago
[-]
Yep. I use iCloud for my Obsidian vault, set to always be downloaded. I haven’t had an issue, and doesn’t cost me anything (beyond what I’m already paying for iCloud due to Photo Library).
reply
bryanhogan
1 hour ago
[-]
I've also been using Obsidian a lot. I recommend the SyncThing Fork over SyncThing.

I myself currently use Google Drive with DriveSync on Android to sync my notes, which works great. Other cloud providers also work well.

I wrote a comparison of different tools to sync here: https://bryanhogan.com/blog/how-to-sync-obsidian

reply
trwhite
4 hours ago
[-]
It’s $4 a month to sync Obsidian notes, for anyone wondering.
reply
galleywest200
4 hours ago
[-]
This was news to me, so this must have changed recently, as I have been billed more than that ever since I signed up.

I looked at my account, and I am charged $10 but it seems they automatically moved me to a "Plus" plan that has more storage. So no complaints from me really. Either that or the $4 plan is new. [1]

The $4 only comes with 1GB of storage. I would recommend the $10 for 50GB if you use images in your notes.

[1] https://news.ycombinator.com/item?id=37251708

reply
kepano
4 hours ago
[-]
The $4 plan was launched March 20, 2024

https://obsidian.md/blog/standard-plan/

reply
harvey9
4 hours ago
[-]
It's a good price but still feels wasteful if you also run/pay for nextcloud or similar.
reply
nsteel
3 hours ago
[-]
There are plugins allowing you to sync via other means (for free). I don't know how the author fails to realise/mention this. I've been using Remotely Save with WebDAV or years without issue.

And the notes are all just markdown files. If the obsidian software were to disappear you have all your notes. It's fine someone wanted to spend a load of time writing their own software but none of the reasons presented in this piece make sense.

reply
BiteCode_dev
1 hour ago
[-]
It's not wasteful to support great software.
reply
bryanhogan
1 hour ago
[-]
I think your comment is very disingenuous. And not just because it's another subscription. That plan does not work if you got more than one vault, and if you use Obsidian you will probably have more than one vault.

https://obsidian.md/sync

reply
TheFreim
41 minutes ago
[-]
> if you use Obsidian you will probably have more than one vault.

Why would anyone ever want to use more than one vault? I just use different folders. The only reason I can think of would be if you are using Obsidian for work where you aren't allowed to use unapproved services.

reply
Xss3
4 minutes ago
[-]
Just me perhaps, but I have three. Personal, Work, and Shared. But only personal and shared are synced as work stuff needs to stay on the work PC.
reply
trwhite
52 minutes ago
[-]
It's a time/cost tradeoff and for me personally $4 has been fine for out-of-the-box syncing between clients for the last ~2 years of using just the one vault. It's now $8 for 10 vaults (I only recently added my second), which is still a relatively insignificant amount considering I spend more than that on toilet paper.
reply
freddie_mercury
52 minutes ago
[-]
I use Obsidian and don't have more than one vault. What a weird thing to claim.
reply
MSFT_Edging
4 hours ago
[-]
I've been meaning to switch over to syncthing. I currently use insync for google drive syncing on Linux and it's basically instant and constant. I can make an edit on one machine and in the time it takes me to grab my laptop, it's been synced. That said, using google drive which I don't want to do anymore.
reply
Saris
4 hours ago
[-]
Syncthing is a lifesaver, it's such a useful tool!

There are also several Obsidian community plugins for sync, I use Remotely Save via WebDAV.

reply
moelf
4 hours ago
[-]
too bad Syncthing is no longer officially maintaining andoird app https://forum.syncthing.net/t/discontinuing-syncthing-androi...
reply
atrus
4 hours ago
[-]
But the syncthing fork (https://play.google.com/store/apps/details?id=com.github.cat...) has been going for years now, and should have been the first choice anyways.
reply
Nezteb
2 hours ago
[-]
For anyone who would prefer to get the Syncthing-Fork build from F-Droid: https://f-droid.org/en/packages/com.github.catfriend1.syncth...
reply
blackmoon42
4 hours ago
[-]
Or you setup a Couchdb and the self hosted live sync plugin. Although the data will reside on a remote server in this case.
reply
ezst
3 hours ago
[-]
I went deep into to the PKMS rabbit hole a year and a half ago, benchmarked Obsidian and many many others, and settled with Trilium¹ which I can only highly recommend. It addresses all the hosting/deployment requirements of OP² without the quirky workarounds mentioned here (syncthing & al), and makes the kind of "lifestyle scripting" this article about very simple and straightforward.

In my mind and experience, Trilium has a very unique and extensible model that lends itself to "growing with your PKMS": notes is the atom of information, attributes can be used to manage notes as structured and relational data, templates and inheritance provide structure and consistency at scale.

Trilium may not look like much on the surface, but it is incredibly capable while being approachable. Give it a serious try.

¹: https://github.com/TriliumNext/Notes/

²: you can use Trilium local-first/only, or cloud-only, or hybrid. It has its own sync protocol, you just point your instance to a server to sync with, and now you have a master-master replication. All my notes are available offline so I can keep working in-flight, notes shared with others are available via web whether I'm online or not, and I can edit my notes on the web where I don't need offline persistence. All of that is built-in/native to Trilium.

reply
Jarwain
2 hours ago
[-]
Trillium looks great! I'm curious if it has an outliner mode or something similar? I currently use logseq and the two features I love are how each bullet/block is its own thing that can be cross-referenced and embedded in other blocks and pages, and that my workflow is essentially to have daily journal pages I dump everything into and tag and references/crossreferences are automatically handled and linked to build out a network of things.

I've noticed that trillium has hierarchical notes; is there a view to look at an item higher on the tree and have it also have the contents of all its children?

reply
ezst
2 hours ago
[-]
> I've noticed that trillium has hierarchical notes; is there a view to look at an item higher on the tree and have it also have the contents of all its children?

You are right that the "atom" of content is the block in an outliner and the Note in Trilium. If you can tolerate⁰ the coarser-granularity, you can make Trilium behave pretty closely to an outliner: notes can be embedded within notes, either manually, or via the "Book" note-type¹ (that essentially renders a tree as embedded notes), hoisting² should be a familiar concept then.

⁰: when researching the topic, I immediately fell in love with outliners, thinking I would never go back to a note-based approach like Joplin which I was using then, but here I am, promoting a note-based solution. Metadata/tags at block level is not something I could get the hang of (I know how to manage collections of notes at scale, but not collections of blocks). ¹: https://triliumnext.github.io/Docs/Wiki/book-note.html ²: https://triliumnext.github.io/Docs/Wiki/note-hoisting.html

reply
williamsss
2 hours ago
[-]
Another person in the thread recommended it. I'll have to check it out this week thanks!
reply
skeledrew
2 hours ago
[-]
I find it just a bit crazy that this is still an issue. I too jumped from Evernote when they did their rug pull in 2016, landed on Emacs+org-mode, and never looked back. Since then I've adopted Orgzly for org-mode on my phone, and syncthing to keep it all synced. The only real issue I ever had was the occasional conflict, which I resolved by splitting one of the files further into things that got modified on the laptop (primarily write-ups and my cheatsheet collection) vs things that got modified on mobile (primarily repetitive tasks).

I haven't found use for plugins yet since I'm really just searching, updating tasks and archiving. But if I do need extra functionality, Emacs is the most versatile editor out there, and org-mode is native to it.

reply
holmb
57 minutes ago
[-]
The discontinuation of Syncthing for Android bothers me.

https://news.ycombinator.com/item?id=41895718

reply
skeledrew
30 minutes ago
[-]
I did see that a while back, but I haven't had any issues so didn't look into it. A quick search just now though shows Syncthing-Fork on F-Droid, so it should be an easy migration if there does come a need. I did the same with Orgzly a few months ago as it too was forked due to the original dev going MIA, and there were a few annoyances I wanted resolved.
reply
AstroBen
3 hours ago
[-]
> It helped me reclaim control over my privacy, and significantly cut down on recurring costs.

Obsidian has end to end encryption and is $4 a month. I totally relate to it being fun to build your own tools but acting like it's a practical use of time... idk

reply
Sytten
5 hours ago
[-]
I really don't want to critisize OP since building stuff for yourself is always a good mentality. But lets be realistic, 1000$ over 10 years is nothing.

It will always cost more if you consider your own time for maintenance long term. Obsidian is one of the most consumer friendly business for note taking out of there, they are not VC so the Evernote comparison is unwarranted IMO.

reply
8fingerlouie
1 hour ago
[-]
> But lets be realistic, 1000$ over 10 years is nothing

Where is the limit ?

While $100/year maybe doesn't sound like much, it's hardly the only subscription service you have, and they all add up, from your mail provider, office suite, cloud storage, streaming services, phone bills, internet service, etc.

Personally I find $100/year to edit notes on my phone to be a bit much, but then again, I just use iOS Notes.

I am so fed up with everything turning into subscriptions, that I've just completely stopped buying things that are subscription based.

I understand developers need to make a living, but simply throwing a subscription on top of it won't convince me to buy your product. You convince me by making a compelling product, and by continuously updating it, adding new features, which will convince me to buy another version.

reply
al_borland
39 minutes ago
[-]
Personally, I just set myself a budget of $100/month for subscriptions. I was going to drive myself crazy judging every one all the time, so I decided as long as I’m under this threshold I’m not going to stress.

I track the ones I have so I can compare the cost, looking at either daily, monthly, or yearly cost. Sorting by price, I can look them over to judge if one of them seems unusually expensive for what it is, and regularly review to see if there are and I’m not using and need to be cancelled.

My most expensive is the could backup for my NAS. $8/month is about what I pay for Proton, which offers a lot more than just note syncing. So $8 for notes does seem like a lot. Looking at Obsidian’s pricing page[0], the $8/month is for publishing… hosting a website with your Obsidian data. Just syncing is only $4, and there are many free ways to do it. That part of the article felt like the author was trying to justify writing their own tool due to cost. That doesn’t feel justified, and they were stretching… but the good thing is there doesn’t need to be any financial justification at all. Just make your own tool for the sake of making your own tool. That’s good enough.

[0] https://obsidian.md/pricing

reply
gr4vityWall
2 hours ago
[-]
> 1000$ over 10 years is nothing

It's a non-trivial amount of money to a lot of people (myself included). I spend way more than that on Free Software, but I'm not throwing money to a proprietary program if I can choose.

reply
SOLAR_FIELDS
5 hours ago
[-]
FWIW, I’d be more concerned about the implications of the company having my notes in lieu of the pure cost perspective. But the thing is, you can avoid that entirely too by implementing your own sync
reply
misnome
4 hours ago
[-]
FWIW unless they are outright lying this is a choice, one of the choices when setting up a vault is E2E that you have to enter whenever setting up a new sync, but they are really clear that if you lose this password you are at the whims of your own backups.

They do also publish the “verify the encryption steps” for this.

Of course, depending on your threat model this could be insufficient, but then you probably wouldn’t trust obsidian in the first place.

reply
para_parolu
5 hours ago
[-]
And implementing local sync for obsidian is just running on docker container
reply
AstroBen
48 minutes ago
[-]
even better: Obsidian is only $480 over 10 years!
reply
hartator
5 hours ago
[-]
I think the author point still stands though: Obsidian won’t probably be here in 20 years.
reply
raesene9
3 hours ago
[-]
For me that's one of the great points about obsidian's choice of all notes being Markdown.

Even if Obsidian vanished tomorrow and the application became unmaintainable, I'd still have all my notes in a text based format.

reply
al_borland
33 minutes ago
[-]
I wish all markdown editors just had their markdown files in a simple folder like Obsidian does.

I wanted to like Bear, which advertises that it uses markdown. But when I went looking for the files, they were locked away in a database. This was many years ago, so if this has changed, I’d be happy to hear it.

I’d love to be able to easily jump between apps, which markdown should allow in theory, but in practice view apps allow for. I don’t find using a text editor to be ideal here as a solution, as I want my notes to look like notes and hide away the syntax when the cursor isn’t on the syntax. Obsidian handles this well, most text editors do not.

reply
no_wizard
4 hours ago
[-]
I’m a time traveler from 2046 and I hate to break it to you but it’s still running strong.

Couldn’t avoid the computation panic of 2038 but it got by

reply
theappsecguy
2 hours ago
[-]
Why not? It’s got a huge user base, a massive open source plug-in ecosystem and a sensible revenue model. It’s probably one of the note apps that has the largest community around it outside of Notion, which is heavily VC influenced and is more of a do everything app
reply
MissTake
4 hours ago
[-]
Neither solution is guaranteed to stick around for 20 years.

As we’ve seen before, it takes one VC investment to change a source available license into something not so friendly and forks are never guaranteed.

reply
TiredOfLife
4 hours ago
[-]
Can I have those 1000$ if you think that is nothing?
reply
harvey9
4 hours ago
[-]
Sure, but only in installments over the next 10 years and in exchange I need you to provide a sync service for my notes.
reply
komali2
2 hours ago
[-]
I'll install https://syncthing.net/ on your computer right now for 100 bucks!
reply
cypherpunks01
3 hours ago
[-]
Are there any private note solutions that can encrypt all markdown files against your own Yubikey-generated privkey?

You can do this with SOPS and age encryption and it's amazing, but can't view/edit notes outside a terminal or on mobile very easily that I've found.

Looking for a new solution like this, or maybe obscure configuration for an existing notes app that can support this workflow.

All of the "end-to-end" solutions seems like they just store your encrypted keys somewhere with the application files, sync them around to different machines, etc, and decrypt key with a password. But web frontends can be compromised and the master password intercepted, so I'd like to require a Yubikey touch for each document decrypt, which would make exfiltrating multiple documents more difficult.

reply
williamsss
2 hours ago
[-]
Encryption is a rabbit hole I want to jump down soon. Other users recommended Triliumnext looks like they do file encryption like that worth checking out https://triliumnext.github.io/Docs/Wiki/protected-notes
reply
zeta0134
12 minutes ago
[-]
> Obsidian was a great tool for me personally for a long time. But I felt frustrated when I wanted to access my notes on my phone while on-the-go and saw that I had to pay for this feature

On Android, I solved this problem quite simply by pointing Obsidian's mobile app at a syncthing folder, which cheerfully communicates with my workstation (and about a dozen other devices I own) and keeps things up to date. Works way better than I expected it to. Honestly the most infuriating part is that Google seems to have decided that apps like syncthing aren't welcome on the Play Store anymore, leaving the maintenance of that particular app up in the air. But the point here is that Obsidian can point to any folder, and the syncing task is totally separate. It's nice to have the convenience of their hosted option, but it's by no means the only solution to that problem.

reply
zie
3 hours ago
[-]
I ditched for [silverbullet](https://silverbullet.md). MIT licensed, markdown editor with embedded lua scripting. It's a PWA app that works offline and syncs well.
reply
369548684892826
21 minutes ago
[-]
Thanks for mentioning this, it looks exactly what I want; a markdown web app that stores the files using the filesystem on the backend!
reply
williamsss
3 hours ago
[-]
Holy shit this is awesome
reply
OlivOnTech
5 hours ago
[-]
OP's main arguments to build their own PKMS are: - cost (feature or maintenance) - migration because it won't exist in the future

But their solution is to depend on directus, which can lead to the exact same issues. To my eyes, they just added an extra step...

reply
darkwater
5 hours ago
[-]
Directius (the foundation on what this was built) is Source Available [1] and not Opensource.

[1] https://github.com/directus/directus/blob/main/license

reply
williamsss
4 hours ago
[-]
Thanks I'll revise the article
reply
bryanhogan
44 minutes ago
[-]
I don't understand the negative concerns mentioned by the author.

It's quite easy to sync notes to your mobile device using a free method, or using a cloud service you might already be paying for [4].

The great thing about Obsidian is that the notes itself are just markdown files, so you can use them in any other program. This protects you as a user in case Obsidian enters a enshittification phase. A good alternative is haptic [0], it is very similar to Obsidian but can also be used in the browser. Or LogSeq [1], SilverBullet[2] and just Visual Studio Code also work well. For just editing a single file MarkText[3] is also good.

[0]: https://github.com/chroxify/haptic

[1]: https://logseq.com/

[2]: https://silverbullet.md/

[3]: https://www.marktext.cc/

[4]: https://bryanhogan.com/blog/how-to-sync-obsidian

reply
williamsss
6 hours ago
[-]
This article is a background of why I built my own PKMS. I've also written another article with a step-by-step on how I built it here https://amberwilliams.io/blogs/the-last-note-system
reply
busymom0
5 hours ago
[-]
Can I ask how you created the image at the top of the article? I really like it.
reply
vunderba
5 hours ago
[-]
I noticed it too (not necessarily in a bad way) - I'd put it at 99% probability it was generated using OpenAI's gpt-image-1 model.
reply
williamsss
4 hours ago
[-]
AI image gen
reply
arnath
1 hour ago
[-]
I could be wrong, but I’ve always been under the impression that Obsidian charges a lot for sync because the app is amazing and free. Sync helps pay for that. But they’re also very helpful about providing other ways to sync your files to your phone. I use iCloud Drive (which I have anyway for other reasons).
reply
horsellama
5 hours ago
[-]
fwiw, on mac/ios you can put your obsidian vault inside icloud directory and have a “free” cross-device sync feature.
reply
zikduruqe
4 hours ago
[-]
Hell, you don't even need obsidian. Just create a bash function

    notes()
    {
    if [ ! -z "$1" ]; then
        mkdir -m 00750 -p /Users/User/iCloud/Documents/notes
        Now=$(date '+%B %d %Y %H:%M')
        echo -en "\n$Now\t$@\n" >> /Users/User/iCloud/Documents/notes/notes.txt
    else
        echo "${Now}"
        cat /Users/User/iCloud/Documents/notes/notes.txt 2>/dev/null
        fi
    }
reply
accrual
2 hours ago
[-]
While we're sharing simple note taking functions, here's mine that I used for a few years. :)

    function nod { mg +-1 "/home/user/notes/$(date "+%Y-%m-%d").txt"; }
* 'nod' stands for "notes of (the) day" and was quick to type.

* 'mg' is micro emacs, my first shell-based editor thanks to OpenBSD. The '+-1' syntax means "open at end of file" so I could easily append.

reply
bspammer
4 hours ago
[-]
I had the bright idea of symlinking $HOME/.local to an iCloud directory once. About a week later it got completely deleted. No way to restore, or any indication of what happened. Luckily I had a backup with another provider, but I will never trust iCloud again for anything that’s not on the golden path (e.g. photos)
reply
SOLAR_FIELDS
5 hours ago
[-]
Works if you are in the Apple ecosystem entirely. I have read there are difficulties if you want to sync to a non Apple device under this approach
reply
shigi42
4 hours ago
[-]
This is one of the reasons I use a git repo along with iCloud. Anyway, using iCloud across 4+ Apple devices has not been a problem in general.
reply
mettamage
3 hours ago
[-]
I'm at the other side of the note system trade-off thingy. I use Apple Notes.

It's not perfect, but if I really want better search functionality, I'll just use the SQLite database that stores the notes. I've never needed to roll up my sleeves for that. I get around the limitations.

It's not perfect, but crafting one's own Personal Knowledge Management System sounds like a 5 year journey for 10 to 20 hours per week at least.

reply
shreezus
50 minutes ago
[-]
Exactly - I have tinkered with all sorts of systems (including Obsidian), and ultimately prefer the simplicity of Apple Notes. I have a system of nested folders and tags that handles my organization needs pretty well, and I find added complexity just ends up adding more friction to the note-taking process. Apple Notes search could certainly use improvement though.
reply
vlark
43 minutes ago
[-]
You might be interested in this, then: https://www.myforevernotes.com/
reply
flkiwi
3 hours ago
[-]
As a longtime Logseq user who was sick of their app focus (it used to be a webapp!) and skeptical of their revenue model, I switched to Silverbullet a while back. It gets the basics right, and I can throw together some Lua and make it do whatever else I want. Plus there's a small but enthusiastic community developing for it. I have it set up in a VPS and it has brought back most of the magic of early days Logseq.
reply
ezst
3 hours ago
[-]
I inadvertently converted a longtime Logseq user to Trilium. In case you find yourself hacking too much around Silverbullet, or want to try something else, you should give it a try :-)
reply
flkiwi
2 hours ago
[-]
Trillium is great for some folks (and I would have no qualms recommending it), but I cannot stand hierarchical notes. That's a personal preference. I just want a big mishmash of notes all linking to each other. I don't want to manage a taxonomy.
reply
ezst
2 hours ago
[-]
For the record, it's not forcing you in this or another way, you can just dump all your notes on a flat level and later browse a network of backlinks in Trilium like other similar systems.

Where I find Trilium to shine though, is when, after linking notes to one other for a little while, you realise "Well, I have a bunch of them that relate to `People`, others to `Products`, and, oh, a bunch of `Customers` as well, wouldn't it be nice if those were sharing the same properties?" (like People:{"Lives in", "Date of birth", "Partner of"…}, Customer:{"Address", "Contracts":-Multiple-, …}).

When you reach that point you can use Inheritance (from the hierarchy) and/or Composition (from Template notes) so that all your "People"-like or "Customer"-like notes share the same properties, and you can then easily manage them as data, giving the same organisational and queryable power of a RDBMS without having to commit on a data model from the get go (it evolves with you as you refine the inherited or templated attributes).

I think any sufficiently large collection of notes eventually reaches a point where it self-organises around a set of "Reference notes" more often linked to, and this is where Trilium saves you a ton of time instead of giving you more house-keeping work (good luck maintaining those "Reference notes" in sync with each-other in a system like Logseq or Obsidian, been there, done that).

reply
flkiwi
2 hours ago
[-]
I essentially have that with the templates I'm using with Silverbullet. Organically developed metadata based on categories that don't actually exist anywhere.

I'll spin up a Trillium instance soon and see if it's still not for me (but I uh won't approach it with that mindset).

reply
ezst
1 hour ago
[-]
Does Silverbullet support amending existing instances with the updated metadata when modifying the template? Does it let you extend templates from templates (e.g. a "Colleague" is a "Person" + some specific properties like "Department", "Joined on")?

One way to go with your experiment would be to create an inbox¹ where all the new notes go (or use a day note² if you want calendar support) and a side notes hierarchy called "Collections" with subfolders like "Persons", "Companies", … each having their own Template³. That way, when you are in a new note and need to create a reference to a note that doesn't yet exist, it will pull from the available templates and create the new note from it. The template note under "Collections" will retain the backlink to all instances. Just like that you got yourself something as capable as Tana's supertags⁴.

¹: https://triliumnext.github.io/Docs/Wiki/attributes.html ²: https://triliumnext.github.io/Docs/Wiki/day-notes.html ³: https://triliumnext.github.io/Docs/Wiki/template.html ⁴: https://tana.inc/supertags

reply
rcarmo
4 hours ago
[-]
Reads like a mix of valid concerns and a plug for Directus, which is sort of fishy.

Either way, like many others, I use SyncThing to sync my vault, and routinely edit it with vim, so Obsidian is just one comfortable shell that can (relatively easily) be replaced.

reply
righthand
2 hours ago
[-]
KDE Plasma has a vaults feature which allows you to encrypt and decrypt contents of a directory. Combine that (or some other encryption software, eg syncthing encryption instead) with syncthing and markdown editor is virtually the same thing no?
reply
ericb
3 hours ago
[-]
I'm a fan of TrilliumNext, which is open source, for this:

https://github.com/TriliumNext/Notes

reply
williamsss
3 hours ago
[-]
Thanks for sharing. Their encryption service is a nice source of inspiration on note encryption https://github.com/TriliumNext/Notes/blob/56d4d7c20f775eed73...
reply
ezst
3 hours ago
[-]
Same, this gets my recommendation. Trilium is one of the most under-rated tool I know of.
reply
xcircle
2 hours ago
[-]
I use Joplin (https://joplinapp.org) on mobile and pc(windows and Linux). Joplin has a free encrypted sync via OneDrive.
reply
hindsightRegret
2 hours ago
[-]
Obviously no right answer, but personally I think worrying too much finding the perfect tool instead of just integrating more knowledge to your PKMS is a distraction.

Rolling your own solution is especially limiting in the context of the sheer amount of integrations the popular ones (like Notion for example) support.

You're basically saying you will quickly build something better than the X hundred engineers at PKMS company Y quickly and it will continue to be better than what X hundred engineers will iterate upon.

I think that time is just better spent learning and picking the subset of features that, for example, Notion offers that really improves your learning rate.

reply
RadiozRadioz
47 minutes ago
[-]
If you reframe it slightly, it can make sense. Those x hundred engineers are working on y hundred features / integrations. Do you need all of those? Do you want all of those? I bet a handful of those engineers are currently working on a brand new UI redesign that will move all the buttons you're used to. One of the engineers is adding a new cookie popup & enforcing SMS 2FA as we speak.

One of the things I dislike about moden software is the constant bloat and churn, because there are so many customers and so many different incentives for software companies to keep pushing features ad infinitum. In contrast, home-grown software like this has one customer and they know exactly what they want. It doesn't matter that a theoretical home-grown app doesn't integrate with the 10 social networks the user doesn't use, because it integrates perfectly with the one they do use.

This person isn't rebuilding the entirety of Obsidian, they're rebuilding the subset of parts they actually use and get value from, which is a much smaller project. By intelligently narrowing your scope like this, making stuff yourself is totally viable. Reframe "limiting" as "targeted".

reply
williamsss
2 hours ago
[-]
I agree Notion is great. I prefer it if I need a shared PKMS such as a company wide document system.

That said I've played around with its API a few years ago and with page elements being block elements you need to loop through n amount of requests to get the content, it didn't make sense for my use case.

reply
bigcat12345678
1 hour ago
[-]
I think this is a great time to build personal knowledge base!

LLMs are the missing piece that everyone has been desperately need to have the knowledge base come to life, instead of as a glorified key word search engine

reply
gbraad
5 hours ago
[-]
I used git to sync a work related repo, but now use remotely-save with WebDAV (nextcloud, with base set to /Notes). No cost for sync and still access to the ecosystem of Obsidian.
reply
bayindirh
5 hours ago
[-]
> But I felt frustrated when I wanted to access my notes on my phone while on-the-go and saw that I had to pay for this feature. Obsidian charges $8 a month to access the same notes across multiple devices.

Errm, no? Obsidian sync is optional. I pay for it to support them, but my main vaults are all synced by iCloud, which was auto set-up by Obisidan during initial setup on my iPhone.

On the Android side, any service which can sync files can work, I assume.

Note: Yes, I use Obsidian on my phone without sync, all the time, and it syncs.

reply
layer8
5 hours ago
[-]
Not practical if you want to also sync with non-Apple devices.
reply
misnome
4 hours ago
[-]
Then use the git-sync plugin, or many of the others mentioned here.
reply
bayindirh
5 hours ago
[-]
I think any app which can sync in the background can automatically sync things? Dropbox, Moebius, PCloud, Google Drive?

My Office vault lives in a separate cloud service, and it works?

reply
layer8
4 hours ago
[-]
My understanding is that on iOS your only non-paid choice is iCloud, and iCloud doesn’t reliably sync to non-Apple systems. To clarify, the use case here is that you have an iPhone but also non-Apple systems, which is a fairly common scenario.
reply
Saris
4 hours ago
[-]
TBH that sounds like a better reason to get something other than Apple systems instead of changing all your apps to work around Apples bizarre limitations.
reply
layer8
3 hours ago
[-]
To clarify, by “on iOS your only non-paid choice is iCloud” I meant for the Obsidian app specifically. Other apps do provide the option to sync with non-Apple cloud storage, without payment.

There are multitudes of pros and cons regarding choosing an iPhone. The restrictions of the Obsidian app is only a single one of those. Choosing an Android phone has drawbacks of its own.

reply
Saris
3 hours ago
[-]
Obsidian lets you pick any folder you want when setting up the notebook, so you could put it in any of your synced folders right?

Or does the iOS version of Obsidian do things differently?

reply
bayindirh
3 hours ago
[-]
The iOS version asks you whether you want to store your vault in iCloud or not only.

However, if you don't store your vault in iCloud, it creates an Obsidian folder inside the area which can be accessed by Files app (as I just checked), which means, any application having files integration can access and sync that folder.

Even if you store your vault in iCloud, it's still accessible by any app which offer files integration [0].

[0]: https://news.ycombinator.com/item?id=43972056

reply
kepano
3 hours ago
[-]
iCloud is not the only alternative to Obsidian Sync on iOS. There are also several Obsidian plugins that allow you to sync to a variety of services.
reply
nkrisc
2 hours ago
[-]
I have my Obsidian notes on an iCloud Drive that I already had. Works great, even on Windows.

Would probably work with other similar options too.

reply
404mm
2 hours ago
[-]
I wish there was something as lightweight and as well integrated as Apple Notes. Just support MD, sync well and have a search function.
reply
tuwtuwtuwtuw
2 hours ago
[-]
I replaced Obsidian with VS Code and a git repo.

After using Obsidian for a couple of years I realized use a very limited set of features - editing markdown in a directory structure.

All I needed was really the directory structure view to the left and content to the right.

reply
404mm
32 minutes ago
[-]
That’s also one of the options I considered. Right now I have a git-synced obsidian but it feels awkward.
reply
ollien
5 hours ago
[-]
I wrote my own CLI tool for notes a few months ago (https://github.com/ollien/quicknotes). A web interface with proper rendering is something I thought about, but didn't pursue because I just know my UI skills aren't up to the task. Directus is a really interesting compromise!
reply
williamsss
4 hours ago
[-]
This is just the sort of tooling there should be more community around.

A gif would help clarify what your tool does. I've used an automated flow with Github Actions and Charm's VHS (https://github.com/charmbracelet/vhs) in my repo here to demo my CLI tool I built a while back (https://github.com/Amber-Williams/yall/blob/main/demo.gif). Might be of interest : )

reply
rolisz
5 hours ago
[-]
You can do it so easily with AI coding tools. I'm not a frontend dev, but now I can whip up something decent looking in 10 minutes.
reply
dmje
4 hours ago
[-]
I just don’t have any of these worries with Obsidian. I pay for it because it’s great software and needs support. The sync is amazing, totally solid. The data is wherever you want that data to be. It’s just MD files. You can adapt the tool to be whatever you want from a PKM system - massively complex, with some kind of dataview hell, or just some files in a hierarchy. You can use plugins or not use plugins. You can build your own. There’s no lock in. “Migration” isn’t really a thing - it’s some files in a folder system. It’s as future proof as it can be.

I mean go nuts and roll your own if you want, but really, what’s not to like?

reply
eliben
46 minutes ago
[-]
Plain text in git. Eternal, searchable, compact.
reply
elteto
33 minutes ago
[-]
This is orthogonal. You can do this _and_ still use Obsidian since a vault is just a directory and notes are markdown.
reply
charlie0
3 hours ago
[-]
I'm a lot more concerned about some random app on my phone accessing my Obsidian notes, which is why I haven't synced them to my phone yet, rather than Obsidian somehow knee-capping at some point in the future (which is not possible since it's all just md files in the end) .
reply
knlb2022
4 hours ago
[-]
I've built a couple for myself so far; the most recent is in zig (sqlite extension that treats markdown files / frontmatter as virtual tables) and it's lasted me. I plan to rewrite it soon to adapt to how I've been using it :)

https://github.com/kunalb/termdex

reply
williamsss
4 hours ago
[-]
Sounds like something I would use. A demo gif in the readme would help understand what it does faster
reply
knlb2022
3 hours ago
[-]
Yeah, it's very far from usable by other people at the moment =/.

The readme at https://github.com/kunalb/termdex/tree/main/markdown_files is probably the best bit.

reply
hartator
5 hours ago
[-]
Interesting that storing images is not something solved yet.

If you watch the animated gif, he is still using a third party service to store that graph.

I also think people to tend to like Markdown mostly because it’s plain text. The added benefits of that preview view is minimal. Like my gut feeling Markdown is popular 90% because of it’s in an accepted way to do plaintext and only 10% for the added formatting.

reply
chrisweekly
4 hours ago
[-]
> "The added benefits of that preview view is minimal."

In relative terms you may be right... but subjectively, having grown accustomed to Obsidian's live view in editor mode, I'd have a hard time giving it up.

reply
bayindirh
5 hours ago
[-]
Obsidian can automatically ingest files and store them on disk while giving links to it. My personal vault contains many kinds of files living in the "Attachments" folder.

> Markdown is popular 90% because of it’s in an accepted way to do plaintext and only 10% for the added formatting.

For me Markdown allows me to write and format text at the speed of thought. Added bonus is that it's readable with "less xyz.md" or anything which can render text.

reply
vunderba
5 hours ago
[-]
Yep. Obsidian strikes a good compromise of automatically copying attachments into a relative subfolder for the note and then linking them in the MD file:

  lotr-recipes
  lotr-recipes/manflesh.md
  lotr-recipes/media/manflesh_1.png
  lotr-recipes/media/manflesh_2.png
Also makes it trivial to run a note through a static site generator and publish online.
reply
skydhash
4 hours ago
[-]
With plaintext, it's very trivial to add a script that put images in some location and build the link to that.

Markdown is great because you can easily add structure while typing compared to other format which have a more extensive markup format. I prefer org-mode because what Markdown can do, but also more extensive capabilities if you need so, but there's not a lot of editors for it especially on mobile.

reply
damir
5 hours ago
[-]
I believe tiddlywiki stores PNGs as base64 strings, so image is always there.

Yes, the file can grow large with many images, but it's a single file containing everything... even scripting!

reply
Tomte
3 hours ago
[-]
If you run the node.js server version it can handle images properly, as separate files. That also gives you the practical ability to use many large images and videos.
reply
bayindirh
5 hours ago
[-]
Yes, it embeds all attachments as base64.

TiddlyWiki is great until you want to add a structure to your Wiki. I was using it like mad, then I found out that linking pages took more time then writing notes, and I pulled the trigger and moved to Obsidian.

reply
txtfan
2 hours ago
[-]
And here's me just shoving everything into hundreds of .txt files. Easy to grep, easy to backup, and every system has an editor for them.
reply
williamsss
2 hours ago
[-]
Username checks out & you'll probably outlast us all
reply
makizar
3 hours ago
[-]
The Maya Angelou quote is a very poor choice. I don't know if the author realizes the absurdity of putting the civil rights movement in parallel with her "PKM journey"
reply
diggan
3 hours ago
[-]
Does it really matter what context the quote was initially said in, if it generalizes to be applicable to many other things?

For context, this is the quote that is "absurd":

> You can’t really know where you are going until you know where you have been

I feel like that'd be fine in a lot of different contexts.

reply
buibuibui
2 hours ago
[-]
I am also searching for an alternative to Obsidian, that also works well on iOS and macOS. Obsidian is currently really slow somehow although all extensions are disabled, e.g. rendering the content when switching between notes is not instant. I really really like Outline, but I don't want to access the web just to write and read notes.
reply
jszymborski
4 hours ago
[-]
Kudos to the author for scratching their own itch.

People in a similar position might be interested in Joplin, which is indeed FOSS, and has lots of sync options. I personally use SyncThing, which keeps things free, but you can also use a number of other free cloud providers. You can choose to encrypt your notes to protect your privacy.

reply
ezst
2 hours ago
[-]
If you need a little bit more than Joplin (which is a great notes taking app, but not so much of a PKMS), give Trilium¹ a try! (I used Joplin for a little while, and it's a good tool, and it's fine not to chase for more if you don't need it, but if you do, not much beats Trilium, IMO)

¹: https://github.com/TriliumNext/Notes/

reply
ctkhn
3 hours ago
[-]
Self hosted Joplin with encryption has been more than enough for me. It was pretty easy pulling all my apple notes into joplin as md files. Building my own like this just seems excessive
reply
Svoka
39 minutes ago
[-]
I applaud the action, but motivation is strange. I am all for making custom software for your own needs and tailored for own use cases, but price?

How much does your VPS costs vs Obsidian subscription? I wonder. Is it like 1 5$/month micro machine and you just pray that it will survive for 10 years without data loss?

reply
karn97
1 hour ago
[-]
Syncthing + wireguard solves this. What a waste of time.
reply
geoffreymcgill
3 hours ago
[-]
If you need an option to publish your notes online, check out Retype (https://retype.com). You can use Obsidian or GitBook or any Markdown files as your GUI editor and generate a static website using Retype.
reply
babuloseo
4 hours ago
[-]
Emacs chads just keep winning.
reply
iLemming
2 hours ago
[-]
Younger folk and beginners keep ignoring Emacs (and Lisp in general), without the slightest attempt to even understand what kind of philosophy makes it appealing.

The profound difference lies in ontological fungibility – Emacs isn’t software you use, but cognitive clay that becomes an extension of your mind’s operating system. Where any specialized app is inevitably doomed to constrain you to some kind of constructed imagination of what note-taking/knowledge work should be, Emacs+Org erases the distinction between a tool and thought through radical philosophical pillars.

1. The Medium is the Message Paradox

Emacs rejects the app paradigm's fundamental axiom. Instead of being a "notes app" or "writing app", it's a meta-medium where:

- Your notes can spontaneously become a calendar event → spreadsheet formula → email draft → code compiler

- The act of writing is programming your environment (Org markup becomes executable functions)

- Tools aren't discrete entities but fluid expressions of your current mental state (e.g., I can run a shell command piping it to grep and then pipe the results into a text buffer)

1. Agency Through Textual Primordial Soup

By rooting everything in plain text + programmable buffers, you're working with the substrate of computation itself. Unlike database-driven apps that entomb your ideas in rigid schemas:

- Every thought remains perpetually protean – a TODO item can morph into a API documentation generator through markup alone

- You manipulate knowledge at the level of semantics (headings, tags, properties) rather than fighting GUI metaphors

- The friction between "taking notes" and "building systems" disappears – your journal entries are the configuration files of your life (I manage all my dotfiles — for Linux, Mac, home and work machines via Org-mode)

1. Compounding Selfhood

Specialized apps optimize for atomic efficiency; Emacs thrives on continuous identity investment. Each macro you write, each Org capture template, each minor mode becomes:

- A cognitive microhabitat that evolves with your thinking patterns

- Permanent infrastructure that pays compound interest (my 2010 Org config still works, while Evernote of 2010 is abandonware)

- A mirror of your epistemology – the keybindings/hierarchies are your neural pathways externalized

This creates an irreducible satisfaction: you're not just using tools but cultivating a personal universe where every interaction leaves permanent fertile ground for future growth. The specialized app user lives in rented apartments; the Emacs devotee walks through an ever-expanding mansion whose rooms rearrange themselves to their thoughts.

reply
swah
2 hours ago
[-]
(Long time Emacs user, abandoned since VSCode became a thing because it hurt my wrists so much.)

Do you think what you're talking about is hard to demo?

"- The act of writing is programming your environment (Org markup becomes executable functions)

- Tools aren't discrete entities but fluid expressions of your current mental state (e.g., I can run a shell command piping it to grep and then pipe the results into a text buffer)"

I haven't seen an impressive demo of this kind of stuff tbh.

reply
iLemming
1 hour ago
[-]
No, it's not hard to demo, and I've been thinking about making some vids, but it's just difficult for me for multiple reasons. Besides, the whole topic feels too grandiose to cover easily and make it satisfying for every level of expertise — newbies and seasoned veterans.

I'm a regular dweller of https://www.meetup.com/emacsatx. We meet every first Wednesday of the month - if timezone permits it, come talk to us if you have specific questions. I will promise you though to make an effort to produce some demos and publish them.

reply
Trasmatta
4 hours ago
[-]
> Obsidian charges $8 a month to access the same notes across multiple devices.

It's $4 actually, for the normal plan that works perfectly well for most use cases. It's also end to end encrypted, which is great. And it's not just about syncing for me, it's about a backup solution for the notes.

> I started to have concerns about the longevity of the plugins and app itself. Some of you may remember when Evernote aggressively limited free users to 50 notes, many users migrated their notes elsewhere. I was one of those users.

The great thing about Obsidian (in comparison to Evernote), is that everything is just a plain text markdown file on disk. You can open those files in any app. If Obsidian goes away someday, all your notes can continue to be edited in any plain text editor. Sometimes I open notes in VS Code, because there are certain things I just prefer writing there.

reply
williamsss
4 hours ago
[-]
Glad to see they have improved their pricing. It was 8/mo paid for a full year or 10/mo paid monthly last year when I decided to build this.

https://web.archive.org/web/20240104200401/https://obsidian....

reply
jackthetab
2 hours ago
[-]
I tend to start a note with frontmatter in Obsidian, drop into vim to do the writing, then back into Obsidian to clean things up. Wish there were a cleaner way to do it, but it works for me.
reply
SOLAR_FIELDS
5 hours ago
[-]
The main thing being complained about here is that you have to pay for device sync. But instead of setting ups FOSS alternative like with a-shell and git you decided to… checks notes… build a less featureful obsidian without getting all the benefits of the obsidian ecosystem?

I’m all for doing projects like this as an intellectual exercise. It’s just that the motivation behind doing so in the article is a bit more “huh?”

reply
williamsss
5 hours ago
[-]
Yep fair point. I'm doing the project in chucks and writing about it. his written part notably unlocks the ability to use my phone. Currently vetting a way to sync my database files with my markdown files on my laptop as I enjoy using Vim.

Funny enough I had downloaded a-shell and experimented with it and going git based. But ultimately didn't want my notes stored through Github. If that way works for you, cool!

reply
vunderba
5 hours ago
[-]
I do agree with the author and others that I also wouldn't feel comfortable storing personal notes on Github. As I mentioned in a previous comment - you can use "git" without Github by hosting an instance of the open-source Gitea service.

https://github.com/go-gitea/gitea

reply
williamsss
4 hours ago
[-]
Thanks for sharing. I'll have a play with Gitea

My concern with this approach would be I've read through Directus' codebase and can understand it. With a self-hosted Git server like this I'd be worried if shit hit the fan and corrupted my Git files or stopped being maintained I'd be a duck out of water

reply
tasuki
2 hours ago
[-]
You don't need Gitea (nor Forgejo, nor GitLab, ...). You just need `git` installed on whatever server you already have. And just use that as one of the git remotes.
reply
OneDeuxTriSeiGo
3 hours ago
[-]
It's also worth noting that Gitea forked a while back. The community fork is Forgejo.

https://forgejo.org/

And if you really just want a simple hosting system, https://tangled.sh is really easy to set up. It uses atproto (network underlying bluesky) as their identity provider and for tracking issues, PRs, comments, etc. Their "knot server" is basically just a little self-hosted go node that manages git repos. The project is fairly small atm and it's pretty much all in go so it's not too hard to skim through if you want to see how it works under the hood (or if you are afraid of needing to be able to keep it maintained long term).

reply
williamsss
2 hours ago
[-]
Sure will have a look
reply
caconym_
3 hours ago
[-]
> if shit hit the fan and corrupted my Git files or stopped being maintained I'd be a duck out of water

You should have the same concern with anything you're hosting yourself, and you should have 3-2-1 backups to mitigate that concern. Gitea just uses regular Git repositories under the hood last i checked, and Git is an extremely mature system; I'd expect 20+ year old repositories to work fine as long as the data are kept physically intact.

reply
SOLAR_FIELDS
5 hours ago
[-]
Doesn’t HAVE to be GitHub, git is git is git. You could host your own git server like a self hosted Gitlab if privacy is a concern (which is a totally valid concern! I share the same concern, I don’t necessarily want all of my inner brain workings available to GitHub). You could probably also figure out some clever way to encrypt the files too, I bet there’s a plugin for that. Then you could use anything you want without that worry
reply
williamsss
5 hours ago
[-]
You have a good point. I don't have experience hosting Git servers personally. Is it easy to run and maintain? I'll have a try on my VPS if it is.
reply
riwsky
4 hours ago
[-]
Heck, you don't even need to run something like GitLab. Owing to Git's design as a distributed version control system, a "Git server" isn't even really a separate piece of software—it's the same software being used in a different way. Details @ https://git-scm.com/book/en/v2/Git-on-the-Server-Setting-Up-... , but you basically just need to `git init` somewhere on your VPS that you can later ssh to and add as a remote a la `git remote add origin username@yourvpsserver:/srv/git/project.git`
reply
misnome
4 hours ago
[-]
The only limitation here is that (on iOS at least) the git plugin on mobile cannot do ssh, only https.

(This is at least 1+ years old info, might have changed)

reply
matrss
4 hours ago
[-]
In a single user scenario where you don't care about a web interface (and its associated additional features) for your repository you can literally use any server that is accessible to you via ssh and has git installed as a git remote for your repository.
reply
jmbwell
4 hours ago
[-]
I appreciate that you are taking the time not only to do the work but to document your experience and share it.
reply
williamsss
4 hours ago
[-]
Thanks. More devs should write about what they're building. Its the hardest part for me
reply
exe34
5 hours ago
[-]
> The thought of cyclically migrating notes from one PKMS to another every 5 years, as I had done from Evernote to Notion to Obsidian, made me feel tired.

git or syncthing

reply
for_i_in_range
4 hours ago
[-]
For anyone who wants an analog version of this: https://youtu.be/UV7vaqElPHk?si=_c-rxqV4RGhluTJS
reply
I_am_tiberius
4 hours ago
[-]
Does anyone know of a tool that can e2e + collaboration (or in other words: notion but e2e)?
reply
ezst
1 hour ago
[-]
Maybe Anytype, or self hosted appflowy
reply
tasuki
2 hours ago
[-]
> The most commonly used PKMS or note-taking apps today are Notion, Obsidian, Evernote and Logseq. The problem is that PKMS come and go.

Uh oh. I wouldn't use those. Of course they come and go - they're made by companies.

> Could you see yourself using your note-taking app you use today in 30 years?

Yes of course. Otherwise I wouldn't be using it.

> Do you ever have concerns around the privacy of your notes?

Not really.

> Are you spending more time setting up your notes system rather than managing your notes?

No.

> What does an effective and timeless PKMS even look like?

I use VimWiki[0]. There's a possibility it will go away, but I doubt it. There's a possibility both vim and neovim will go away, but I doubt it.

It stores everything as Markdown files. Should Markdown ever go away, it's all still very readable plain text files. I use UTF-8. Perhaps that'll go away at some point?

I version everything with git, I doubt git will fully go away, but I'm ok migrating to a different VCS if need be.

I bet the longevity of my setup is way better than the longevity of a backend written in TypeScript, backed by a SQL database, running in Docker, based on a CMS I've never heard of (Directus).

[0]: https://github.com/vimwiki/vimwiki

reply
williamsss
2 hours ago
[-]
As a fan of Vim, I'm a fan of this solution. Are you able to access them on your phone?
reply
tasuki
1 hour ago
[-]
> Are you able to access them on your phone?

Yes, with caveats.

I actually publish my wiki on the web with about fourty lines of bash to transform the Markdown into a static HTML website[0]. So I can access it through the web browser. When people ask me for recipes or whatever, I can just give them a url.

I host one of my git remotes on GitHub (an extra backup, a service which is usually up and gives me a way to sync my notes should all my other devices be offline). I understand and admire that you didn't want to do that. Probably it's possible to install git on a phone and use a markdown editor? I don't particularly trust my phone tbh. Certainly not enough to put my git signing key on it!

[0]: https://github.com/tasuki/vitwiki/blob/master/build.sh

reply
AlienRobot
4 hours ago
[-]
I'm not saying AI is going to replace programmers, but it's been almost a century already and we still don't have a decent note taking app or even a todo list app and that's like the first app you learn to make. Maybe humanity just kind of sucks at this whole application development thing.

I use cherrytree currently, by the way.

reply
conception
3 hours ago
[-]
There are hundreds of decent note taking apps and todo apps. The issue is that almost no one has the exact same needs or workflow for either of those things. I’ve given up on suggesting those things to people and sticking with “whichever one you use is the best”. So the best you’ll ever do is a decent one //for you// but it’s possible that definition may not work for anyone else.
reply
komali2
2 hours ago
[-]
I have many thoughts, as I'm sure everyone on this forum does. I feel like mentioning PKMS on Hacker News is like mentioning, idk, shave soap or knives on reddit.

> But if it's so obvious, why aren't other developers rolling out their own PKMS? Perhaps I'm the first to discover this or perhaps developers aren't writing about their custom PKMS.

Well, because of Standards, of course: https://xkcd.com/927/

I don't mean to shit on the OP's work here, but from what I can tell, the app they built is a multi-platform markdown editor and renderer that has an auth stack. Oh, and it's self hostable.

If I hop on https://awesome-selfhosted.net/ , head down to the note taking section: https://awesome-selfhosted.net/tags/note-taking--editors.htm... , I can see at least 7 that support this feature. Oh, also this category: https://awesome-selfhosted.net/tags/knowledge-management-too... has many more.

So while I think it's fun to do personal projects, I kinda feel like, if you had time to do this, it would probably have been better both for you and just like the world in general if you instead just created a PR with whatever feature you wanted on one of these more fleshed out projects. Bonus: you get a bunch more stuff, for free, since many other people are working on the same project. Bonus bonus: You can put a project with a shitload of github stars and users on your portfolio/resume/whatever and point to your PR.

Anyway as for PKMS thoughts, I've been using org mode since 2016. I've tried Obsidian and Logseq for completedness but in both cases ended up back in org mode for various reasons.

In PKMS, everyone goes on about knowledge graphs, linking etc, but I've realized lately I've never found that useful - I do use org-roam and link notes, but when I want to find links to, say, "machine learning," I'm just as likely to simply do a full-text file search for the term, which leads to the same results. As for the visual knowledge graphs, I've never seen them useful for anything other than showing off at coworking meetups.

What I've come back to is, what I really need my PKMS to do that I haven't really configured org mode to do yet for me is, in situations that happen to me CONSTANTLY when I'm out and about, I need my PKMS very quickly to answer questions for me like, "who was that guy I read recently that said something about modern capitalism causing us all to be alienated," or, "I vaguely remember reading about how social media categorizes us into advertising groups, what was that again?", or, "What was that city in Italy we went to with that crazy good ice cream? Actually on that note what islands did we go to on that trip?" I'm frequently in conversations with people where I want to share information with them, but maybe because I have ADHD brain or just am uniquely deficient and remembering very specific bits of info, I can't recall stuff (a great example of this, and I had to google to write this part: I ALWAYS forget Quentin Tarantino's name despite really liking his movies). Anyway, I tried using an org-roam org-to-html deploy tool to create a searchable, private website of my knowledge graph, and that's... fine I guess. I need to get it automated somehow, but even then I'm sure it won't be great. Of course I'm thinking of some kind of deployed solution that queries an LLM that can search my entire note repo, but that's a project and a half I don't have time to do.

So for now my plan is to just keep plugging away at org mode and org-to-html to see if I can get a really good flow there.

reply
gitroom
3 hours ago
[-]
Gotta respect anyone who just builds their own stuff instead of waiting around for the 'perfect' app to show up.
reply