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.
> 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.
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.
Also, Obsidian supports free iCloud sync if you are a Mac and iOS user. I know that's only a subset of users, but a nice option to get Obsidian to sync on the phone if you are in the Apple ecosystem.
Also, they have a cheaper Sync plan now that is $4 per month.
I can't really be bothered that Sync would cost up to 1000 in ten years. If you use Obsidian daily, it had an immensive value and it's cheaper than most services out there.
To add to your last point - 10 years is a very long time frame. Any recurring cost grows to eye-watering levels if the time interval is huge enough. In 10 years, a lot can happen in the space and you are not locked in with obsidian - if the next better thing comes along in 3 years, you can easily migrate.
Even setting up your own couchdb + livesync should be a small task if one can consider to 'write a whole app' to replace obsidian
edit note, if you want to build something :) please expand livesync or a new plugin to allow easily sharing of self hosted obsidian notes :) All the ones I tried use some 3rd party hosting which I don't like even if its encrypted.
Yes I found it wasn't reliable. Perhaps it has improved, but Obsidian Sync has been excellent. I'm happy to support the developer as I'd like Obsidian to stick around.
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.
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).
1. You're relying on the external service to continue providing the export functionality, or else doing regular backups.
2. The format of the exports might be proprietary, so it might be orders of magnitude more difficult to parse.
3. The export might not contain all the data.
4. Even if the export isn't to a proprietary format, it might be to a format that's much harder to parse than Markdown. Markdown is not only a standard, it's fairly readable even without any parsing, as opposed to, say, exporting in HTML. Losing some functionality (often minor, depending on what you use Obsidian for) is better than losing more or all functionality.
1. No, the data is already local, the app is already local, you're not relying on anything.
2. Or it might be orders of magnitude easier to parse vs replicating all the plugins functionality. You're just arbitrarily making the alternative worse
3. That's again something you've made up that's not a generic feature of alternative proprietary format
4. It might also be export to markdown. Again, unless you make up artificial barriers
But you can also do it the other way, for example, anything non-trivial like some large table with in-cell formatting won't be readable in your primitive plain text-based proprietary format, so it will be much worse that the unreadable Excel xml or its binary alternative, but that would still be a much preferable export format since no, you're not going to develop a new spreadsheet parser that some obsidian plugin uses to make sense of it
> it's fairly readable even without any parsing, as opposed to, say, exporting in HTML.
that's true for primitive formatting needs, but in this case there are tools that can convert html to markdown that would easily do that
> 1. No, the data is already local, the app is already local, you're not relying on anything.
That's not necessarily true. Some apps keep only cached copies of the data and the rest on the cloud. Sometimes the local files are in a binary format that is unreadable without the export functionality, and newer releases of certain apps remove the export functionality.
> 2. Or it might be orders of magnitude easier to parse vs replicating all the plugins functionality. You're just arbitrarily making the alternative worse
Obviously this depends on the exact app.
But I don't think you can credibly claim that a textual format like markdown isn't easier to parse than... well, almost any other format.
> 3. That's again something you've made up that's not a generic feature of alternative proprietary format
I didn't make it up. It depends on the alternative app you're talking about. Some export full data including all metadata, some don't include all metadata, etc.
My point is that if all the data is actually just markdown files on your computer, there is no question of whether you have all the data.
> 4. It might also be export to markdown. Again, unless you make up artificial barriers
Once again, depends on the specific app. I was a long-term user of Evernote, and still have a subscription. I just checked, and it looks like you can export to a format called "enex", or to a single html page, or to pdf. That's awesome! And the chance that you won't be able to use this in another app is next to nothing, since everyone works to be able to import Evernote.
It's still a tradeoff between the extra functionality you get from Evernote, vs. the simplicity of the "export" files you have. In Obsidian, there's no separate export, the files are stored in simple-to-read Markdown. But you get less functionality.
It's a tradeoff. I'm not saying one is better than the other. But pretending there isn't a tradeoff is quite simply wrong.
> But you can also do it the other way, for example, anything non-trivial like some large table with in-cell formatting won't be readable in your primitive plain text-based proprietary format, so it will be much worse that the unreadable Excel xml or its binary alternative, but that would still be a much preferable export format since no, you're not going to develop a new spreadsheet parser that some obsidian plugin uses to make sense of it
Yes. I wouldn't use Obsidian to do anything that would require a spreadsheet. I'd simply use Excel, since it's a billion times better at it.
I'm certainly not against using the right tool for the job, nor am I against proprietary formats in general.
1. It true since the argument about formats. You can limit storage of open format to the cloud as well.
> and newer releases of certain apps remove the export functionality.
Then you'd just use the old release with the export functionality intact. You can also make up stuff like "Obsidian can release an app that deletes/encrypts all local files, retaining only the cloud copy, and start charging for it without having any export functionality"
> But I don't think you can credibly claim that a textual format like markdown isn't easier to parse than... well, almost any other format.
This isn't markdown, but markdown + dozens of extensions, so it's very easy to claim that it's much harder to write custom parsers for dozens of formats rather than use an existing parser for some more elaborate format that doesn't need those extensions.
> the files are stored in simple-to-read Markdown
they aren't, they're stored in an undefined format depending on which extensions you use. Part of it is markdown (which is not simple to read in the non-primitive case of richly formatted docs)
> there's no separate export
That's not a benefit! It means that you can't move outside of the Obsidian ecosystem because there is no well-defined format that you could use another app with! So it's (practically) even worse than Evernote since that one is already widely supported, though theoretically it's the same.
> But pretending there isn't a tradeoff is quite simply wrong.
Yet you've failed to identify it, turns out it all "depends on the specific app"! Fine, compare apps, but the general argument was about text-based proprietary format with a chance of data loss if the ecosystem dies (or a chance of requiring a lot of effort to convert), and a generic proprietary format that can be exported into a text-based format... with the same risks!
> This isn't markdown, but markdown + dozens of extensions,
Yes, if the way you use Obsidian includes dozens of extensions that each use a proprietary format, then it's similar to just using Evernote in many ways.
If you're mostly using plain markdown with only a few custom formats, then it's still easier.
If today, right now, Obsidian stopped working, I could literally open my Obsidian folder in VSCode and still be able to do 90% of the things that I do in Obsidian.
If today, right now, Evernote stopped working, it would take some effort to find a working version, export the files, convert them to markdown or whatever, etc.
I just don't know how you can claim that Obsidian is more effort to use outside of Obsidian than something proprietary.
> If today, right now, Evernote stopped working, it would take some effort to find a working version, export the files, convert them to markdown or whatever, etc.
No, at your accepted level of the loss of functionality that would be trivial.
- Launch the app you already have, export
- Launch another app, import. Could be Obsidian. Here is their guide. https://help.obsidian.md/import/evernote
- Open results in VSCode and ignore the 10% lost in conversion
> I just don't know how you can claim that Obsidian is more effort to use outside of Obsidian than something proprietary.
Because at every step you trivialize one option and complicate the other. While they're generically equivalent. All the same things apply...
> If you're mostly using plain
If you're mostly using plain notes in Evernote, then your conversion to the same plain markdown will be trivial, so using another plain markdown isn't easier
No, there is no paywall or etc. This is not an imaginary anything goes area, but simple note taking where you have local client with locally synced data which can always export, so this risk doesn't exist
Very much this. I cannot even fully agree with "plug-in heavy" remark: I mean, how heavy must it be, to be considered "plug-in heavy"? I consciously tried to limit plugin usage. But it really gets pretty wild soon. I was relatively lean for maybe the first 6 months, but when some patterns of how I use it become clear enough, it becomes pretty evident how inefficient many super-common situations are and how I can fix them just by installing a plugin.
Fast-forward a year, and all your vault structure implicitly relies on the quirks of Obsidian search behavior, the markdown you write is extremely obsidian-flavored markdown, and you don't even remember how to write LaTeX without LaTeX-Suite shortcuts.
> 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!
Yeah, I have my obsidian vault in Dropbox and synced to my phone and back with Dropsync on android. The obsidian mobile app Just Works™ with this. It was a one time setup. Of course there's no fancy conflict resolution going on, but it's unlikely I'm editing in two places at once so it's not needed.
Yeah, syncing text files across devices is a problem that has little to do with obsidian or whichever editor/renderer one uses. As long as one keeps things relatively simple with plugin-related syntax flavours, editors are interchangeable.
I think of the sync paid tier as analogous to a patreon membership, combined with paying someone a tiny amount to manage my data for me. The fact that it's all markdown makes me confident I could take my files and go play elsewhere at any time, but I enjoy knowing my money helps keep Obsidian going.
> 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.
Not really.. This problem runs far deeper than most are willing to see. First, Obsidian is using a personalized flavour of markdown, and seconds, for many heavy features it's leaning strongly on plugins which are prone to break or even die. Obsidian has a vibrant plugin-community, which also seems to die really fast. This becomes even more critical by plugins dying from changes in Obsidian itself. So while Obsidian is in theory a nice open app, it's longevity-aspect is really awful. I already had many features and plugins dying in the last years, and who know how much more will break in the next 20 years. Simply switching to another text-editor will not do, because they won't offer the missing features. So at best, you are just not losing your data, but you still won't have the tooling to use them.
Someone creating their own system, where they have full control over everything, even if they will have to sacrifice some benefit in the short run, just makes sense in a bigger picture.
> Nothing stops you from altering plugins or making your own.
You still have no control over obsidian itself. Any change can and will break plugins. So you either settle with one version for the next decade, or you have to maintain them. This is just the normal dependency-hell that every project has, where you have to compromise with external dependency and their whims. Just that neither plugins nor obsidian (to some degree) are the level of professional software-projects in that regard.
And let's not talk about changing Obsidian on fundamental levels. You have even less control on how it works on everything which is not accessible by plugins.
Genuinely curious, which plugins do you mean for example when you say that many heavy features are leaning on them?
I could see the dataview plugin as an example (even though I don't use that one personally) but most other plugins seem like they just add more convenient ways to do something that would be still pretty simple to do manually. (Templates for example).
> Genuinely curious, which plugins do you mean for example when you say that many heavy features are leaning on them?
Depends on what you are doing. But the whole task & project-management-corner is constantly moving. Everything which modified the editor and preview was also regular breaking in the last years. For example, there were some plugins adding banners at the top of documents, or background-images or some icons. Or plugins modifying the yaml-area. They were all breaking multiple times when Obsidian was switching to the new live-preview-editor, then on changing frontmatter to properties, and on some other occasion IIRC. Usually after some months a new plugin appears, or someone forks the old one and fixes it. But as a user, it's pretty annoying to constantly have something breaking outside your control and getting stripped of features you want/need for various reasons.
Obsidian is useful, but far from being stable long-term yet. It's still very young.
> I could see the dataview plugin as an example
Yes, dataview was also very unstable the first 2 years or so, switching code and concepts, breaking old code along the line. It seems to be stable now, as the focus is on datacore.
> but most other plugins seem like they just add more convenient ways to do something that would be still pretty simple to do manually. (Templates for example).
Does it matter what a plugin is doing? If it breaks, it's a loss, whether it's crucial or just annoying.
I'm migrating what's in Evernote to Gmail because the "upgrade to premium" popups are too tricky and the value of Evernote just isn't worth the subscription unless you're relying heavily on it, which I can't because of the popups.
Concerning, maybe. Definitely not surprising. One’s technical ability to do something has, if anything, a negative correlation with their ability to value and manage their own time. The author’s justification is absolutely ridiculous, hands down. I simply pray that they’re never in charge of deploying another human’s time effectively.
> 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.
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!
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.
If you need multiplayer sync, I've been working on a plugin that makes Obsidian real-time multiplayer (like google docs) called Relay [0]. A lot of our users use it in combination with SyncThing to keep it entirely free for up to 3 users (we also offer a paid plan with attachment storage and more seats).
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?
Thanks for the reply. I do agree with sibling comment from tasuki that I think you’re missing the simpler solution of plain git repos to solve “owning your own data in a future-proof manner”.
If you’re not trying to coordinate work among multiple people, and aren’t trying to enforce a single source of truth with code, you don’t _need_ “git server” software. You just need a git repository (folder & file structure) in a location that you consider to be your source of truth.
I’m not trying to convince you to change it now, especially if you’re happy with what you have, but I would suggest reading some (or all) of https://git-scm.com/book/en/v2
I think the first ~4 subsections of chapter 4 cover what I & tasuki were suggesting could be sufficient for you. If you’re the type of engineer to read through the code of your data storage layer, I think you’d find Chapter 10 (Git Internals) interesting, because it can demystify git. I enjoyed the whole book.
As with any engineering project, I see lots of questions about your choices, and I applaud you for sticking around. I would make very different decisions than you, based on your stated priorities, but that’s okay.
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.
I recently unearthed something that I thought was 20 years old when someone asked me about it. I checked and it was only 14 years old based on mtime (thought I suspect I started the project nearly 20 years ago). Another project I unearthed for a different reason was only 13 years old by mtime (again, it was started before that). I must concede that I haven't actually recently compiled and used anything that was untouched for 20 years.
I should note that the first program I wrote that was actually used for a purpose (it calculates energy based on an internal stopwatch and then typing in values from a volt and ammeter, for a science project in 1992) still works in qb64 today.
The second program I wrote that was actually used for a purpose assumes a parallel-port printer on DOS that uses a fairly old version of PCL, and was written in 16-bit C, so probably won't work today.
Directus is not eternal either. They are OSS, but you can't support it yourself forever. For a such a long run this looks like a controversial choice for me.
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).
> 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.
It's far easier to set up, is much more reliable (e.g. when devices are behind firewalls), and uses direct (encrypted) connections when possible.
You can get it to do what you want with just a few clicks. Things like exposing a IoT VLAN on your Tailnet or setting up an exit node to tunnel all internet traffic through your home are super easy. You can even share specific devices with friends, which is super useful. If you have anything particularly sensitive (e.g. a notes app that you wouldn't want your children / partner to have access to), you can limit access to specific users / devices on the TS side, without bothering with implementing auth.
I think there's even a way to look up the user and device based on their IP, which is one way to add painless authentication to your apps. There are reverse proxies that do it and inject the info as HTTP headers.
If you aren't comfortable with trusting them with control over your network, you can always host your own Headscale server.
What makes Tailscale more secure, or more reliable, than just a direct Wireguard tunnel?
Tailscale's complexity and features make sense when you have 200 nodes, or maybe 20 nodes at least. When you have 3-5 nodes, I think it's overkill, and a bunch of extra dependencies which may fail, and lock you out of your private nodes when you need it most.
The benefit of Tailscale is that it gives you “lots” of wireguard tunnels that work through NAT with near zero configuration and a central admin interface.
I use a personal plan and have multiple nodes. Desktop, laptop, tablet, phones, docker containers just for me and a couple of raspberry Pis on my families home networks.
Only once have I been “locked out” of a node and that was due to an expired key.
Sure, for just connecting one node to another with a known IP and accessible port it’s overkill, but for anything more complex it an awful lot of awesome for very little effort.
Well, the dependency on Tailscale's servers, for one. You're getting that NAT-busting because Tailscale is running servers to handle that for you, and you're getting around key management by having them manage your keys and overlay their own auth layer for you.
> Headscale is a re-implemented version of the Tailscale coordination server, developed independently and completely separate from Tailscale.
Headscale is a project that complements Tailscale — with its own independent community of users and developers. Tailscale does not set Headscale’s product direction or manage the community, and neither prohibits nor requires employees from contributing to Headscale.
I had a Headscale server running for a few years with no hiccups. Setup was easy, it's not too resource intensive, and you can use the normal Tailscale client.
> If you aren't comfortable with trusting them with control over your network
Wrt the possibility of Tailscale being compromised, there's the in-beta tailnet lock feature:
> Tailnet lock lets you verify that no node is added to your tailnet without being signed by trusted nodes in your tailnet. When tailnet lock is enabled, even if Tailscale infrastructure is malicious or hacked, attackers can't send or receive traffic in your tailnet. [1]
I've had the Device approval setting on, and wished there were more robust lock features, but not enough to want to run my own coordinator. So Tailnet lock seems like a good security upgrade.
Or, for those who are paranoid about relying on a company, setting up headscake is relatively quick and painless too - currently using it to sync between devices across multiple cities.
Should I be paranoid? I never tried Tailscale, and the idea of trusting 3rd party with managing access to my network does give me chills. But IDK, honestly, maybe it's silly? Is it in all honesty less likely that I'll fuck things up setting my own Headscale server, than that Tailscale™ will (consciously or otherwise) fuck me up?
Tailscale has made all of their client source code available for anyone to view so if you want to confirm that you’re not sending unencrypted data or keys through their servers you’re more than free to do so.
I think there is some merit to setting up wireguard (e.g. you want more devices than what Tailscale offers for free, or their servers become unreliable for some reason)
But people who push the “scarey boogeyman will look at your data” with Tailscale are either technically illiterate or overly-paranoid.
I don't think the hesitation comes from the boogeyman you speak of, but just relying on someone else other than yourself.
This has further implications than just security. Also, whoever gets into self hosting already wants to not rely on others for the most part. If you didn't go into this for the tinkering aspect, I guess Tailscale is completely ok for most, perhaps even ideal.
Nevertheless, none of this has anything to do with the achievements or not of Tailscale. People saying that your own VPN is ok have a point.
Tailscale is more than just a VPN. It has a number of features and capabilities which make it more like a private overlay network that just seems to work wherever and whenever. Some of those features; WireGuard (the VPN bit), NAT punching, automatic key distribution, ACLs, split or full tunnel routing to internet resources, SSO. Just to name a few.
Unraid added native Tailscale support in 7.0, now you can just add an "app" (a docker container) and tick a checkbox and it'll appear in your tailnet directly.
This is also my big frustration. I've set it to an Adguard instance that's also on tailscale and the app keeps getting into a faulty state. I've been looking into hosting the Adguard instance on the open web and securing it another way but bit short on time lately.
+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.
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
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.
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.
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.
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.
> ... Wireguard, which is UDP based and therefore harder to know if it's running.
Isn't it basically impossible to know if it's running unless you have an authorize key? I thought it didn't respond at all unless you ping a valid entry key off it.
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.
> 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.
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.
You're suggesting to use a VPS in a thread that's specifically about self-hosting on a home network, and about there being cons to that compared to hosting on a cloud/VPS platform.
So you're sort of driving parallel to the existing commentary.
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.
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.
There is a solution for the first. I have setup my home server torun Tailscale _and_ be a router to 192.168.2.x network (you can set this up in the Tailscale UI). I have server.mydomain.com to resolve to 192.168.2.x address and this way I can access it from the outside via Tailscale and from inside without the need to turn on Tailscale. I have https setup via DNS-01 challenge as well and updated automatically.
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.
Any idea on how to segment a VPN between friends? I have a few critical servers on my VPN I only want one or two devices to access, but no other devices. Mostly so that in case a rogue device enters or a friend gets hacked, there's no access to my sensitive services.
In my case I simply create two wireguard tunnels (one called "vpn", the other called "guest") and use firewall rules to block all traffic from the "guest" tunnel to all service except the one that should be "public" (in my case a minecraft server).
I think you could technically do it with a single tunnel by using firewall rules that refer to the IP address of the single peer but it's less convenient.
NOTE: I also added a dedicated dnsmasq instance only for the "guest" tunnel so that they have DNS working and can use hostnames instead of IP address.
This setup is trivial with both OpenWrt and OpnSense, but it should be doable also with manual setup
I do this too yes. It's a great extra level of security though probably not too smart to rely on as the only one.
It's true you're already screwed if they get past the VPN and I also don't set up Auth for stuff that doesn't have any private details. But don't count on just the VPN for sensitive stuff. Like password manager.
Yeah, definitely don't do turn off auth for things that matter, if only because I'm not perfectly disciplined at keeping my guests off my main network. I'm talking about tiny services that do one thing—ollama, tts/stt, and similar. Stuff where the worst case scenario is someone using up some processor cycles, not data leaks.
I built a home server project that manages many of the rough edges around deployment of self-hosted apps. It includes DDNS, router+firewall, headscale, automatic setup of apps, and automatic deployment of subdomains and TLS certs for each app.
Apps are blocked to the public by default but accessible using a Tailscale client.
It's built on top of NixOS and completely configurable through a single module.
Still in heavy development but I've replaced an entire rack in my closet with an Intel NUC.
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.
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.
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.
I'm being serious - please educate us, how do you think that we can do better in a homelab setting? How do you apply zero-trust principles in homelab environment with reasonable effort and without relying on 3rd party services?
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.
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.
just go and look at any of the vendors selling “zero trust” solutions. They all have white papers available about how a) perimeter security is “dead” and b) how their specific flavor of zero trust is the One True zero trust and the only thing you can trust to protect your data.
You will without exception need to provide an email address to access these white papers, so their inside sales team can ensure you fully understand the importance of trusting their zero trust, and not trusting anyone else’s.
Defense in depth though: against a strong threat actor, perimeter based security won't prevent you from getting pwnd, but it will likely take them longer than if everything is on the public internet, and a private network will make weak threat actors ignore you, so it is still valuable.
It's sad that "zero trust" has become almost the opposite of what it originally meant. Now you can have the same insecure RDP server with admin/admin login but at least it's protected by a VPN that only a few tens of thousands of people have access to.
It seems to really be an ad for Directus (https://directus.io/) (?)
That he used to replace Obsidian.
One of the first image to hit me when I got there is a button
"Start For Free".
And if I want to run it on my own server in "production" it costs
money? or at least you have to fill out a form and "Lets chat".
When I go to a page, I click on pricing, and what I get is a
form to fill out and "Lets Chat", I am out of there.
If they cant show how pricing is structured, No thanks.
"""
Chat with our team about your project.
We're here as a resource for you. Get clarity on your project, licensing, or enterprise needs.
"""
Freely download and self-host Directus for any project without the need for a license.
Get Started
If you and your organization have less than $5M in total annual income (revenue and any funding), then you do not need to pay for self-hosting Directus. This applies to all projects, including production and commercial projects.
> 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.
SyncThing has some gotchas when it comes to sync, for example I've had files reappear when I edit them on one device and move them on another. It also seems to create "sync-conflict" files when there is no conflict at all (no modification on one side). I'd also quite like to be able to see the history of my notes sometimes...
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...
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.
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.
For me it was the It Just Works-iness of it combined with a handy way to support the project cheaply.
As long as I'm paying for it, I'm the client and not the product.
I tried some of the third party stuff, iCloud, Dropbox, etc and with all of them I either lost data because of notes not being in sync or had to manually fix stuff. $4/month and zero issues was well worth it for a tool I literally use every day.
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.
> 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.
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.
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).
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.
I did this and hooo does Apple make it difficult to sync files without iCloud. I felt like it was too janky for my liking, and paid for obsidian sync, but I felt like it was really silly how an official app could do it no problem, but you can’t get generic functionality to work with iOS.
Wait. Sync is “free” if you want to use some other service other than Obsidian’s. I pay for Obsidian sync partially for slightly more convenience (fewer non-integrated points of failure) and also to support the app itself.
I’d gladly pay $1000 over a decade for a crucial tool. If the concern is open source and true longevity, I get it, you don’t get that here. But cost for value? Holy shit. $1000 over a decade is absolutely worth it for something you depend on.
If you’re a regular at a bar or restaurant, you pay an order of magnitude over $1000 a year for THAT service. This one is probably worth more.
I can, however, relate to the “every five years my system changes” problem. It’s not fun. At the same time, this is a reasonable cadence to re-evaluate things. If you found something perfect for you that works >5 years, holy crap. You are blessed. That honestly should not be the standard for tools these days—ESPECIALLY in a today’s world.
All that said: I don’t knock the author for trying to build software that can work for someone for 20 years or more. I salute that attempt—and I hope they can do it!—even if I think the specific details of how they got there are flawed.
I can easily grab a few imperial stouts for the weekend for 20€ but will balk at paying for a search engine.
Until I did the math of use per euro and Kagi turned out to be well worth it. I just drink one beer less a month and it's paid for and I'm healthier too =)
> If you found something perfect for you that works >5 years, holy crap. You are blessed.
Having been unable to find an out-of-the-box app fitting my needs, I built my own personal finances app in 2012 and I'm using it weekly since then.
I'll probably work again on it one day because the technical stack is old, which makes it harder to host, but otherwise it still does exactly what I want, how I want it.
> That honestly should not be the standard for tools these days—ESPECIALLY in a today’s world.
Maybe I'm not interpreting it correctly, but you make it sound like having a perfect system for more than 5 years is unhealthy.
Whereas, I'd say it's quite the opposite.
Back to my finances app, since I'm using it I've been able to focus on improving/mastering other parts of my life.
Not having to get back to find another system to manage my personal finances means that I'm able to focus on other stuff.
I have a hard time seeing how that would be a bad thing?
I think its not that its unhealthy, it's that things are unfortunately such that its arare and beautiful thing when it happens and if you expect more you are bound to be disappointed.
There's a lot of tools that are very useful but I'm not going to spend that much on. My water bottle is one.
And I don't think food is a good comparison. Or renting a physical space, depending on what you get out of being a regular.
Still, the basic price of $50 a year for sync is something I wouldn't be very upset with... except my main goal is a collaborative setup with other people and I'm not paying 5x or more to make that work.
It comes down to how much is your time worth.
If you're a developer making $100K+ a year, a $1,000 over a decade is nothing if it increases your productivity 2-3X compared to your collegues, which considering the fact that some of my colleagues store their notes in Windows Notepad is a complete underestimation.
I also tried to build my own Obsidian[^1] a few months ago.
However, I stopped using it after some time, since maintaining it would realistically be a full-time job. What I also found super annoying was the feeling that I'm never done with it. Whenever I encountered a rough edge or missing feature, I had to (obviously) implement it myself.
All in all, I find Obsidian as good as it gets. Also, Obsidian is probably one of the best options in terms of longevity, as all notes are just Markdown files, no proprietary DBs or other BS that could lock you in.
As one who has spent years off and on building one, kudos for getting yourself out. I agree with your assessment. I think there's still room for more markdown based note apps and ideas, but it needs to be either a (long term) passion project or have a viable funding strategy. There's an endless slew of not only edge cases and base behaviors, but enhancements and design decisions, on top of maintenance. Obsidian w/ some customization is going to hit a sweet spot for most hackers.
Also, the biggest thing I've appreciated is just how hard it is to tackle a side project while juggling life. Things that would take 2 weeks (80 hours) at work easily ballon into 3 months; things that would take a month end up taking well over a year. Suddenly an idea that is only a few weeks of full time work, is half-way done years later.
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.
²: 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.
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?
> 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
I think my only other question is around my preferred "Daily Journal" workflow and unreferenced tags
On one hand I feel some surprise that you're noting a distinction between metadata/tags for collections of notes vs collections of blocks. On the other hand, it's a bit of a peeve of mine that there's a distinction between "pages" and "blocks" in logseq when it comes to linking & referencing.
> I think my only other question is around my preferred "Daily Journal" workflow and unreferenced tags
how do you generally go about that? Trilium has the concept of day notes¹, incrementally building a time-structured hierarchy (years/months/days, but you can configure that however you want), under which you can park your notes. Or you can just let them stay unordered under an "#inbox"² for later categorisation. It's up to you.
My workflow include both time-based (log of events on that day, meetings and appointments happening on that day, etc), and time-independent notes (notes on projects, places, etc), and I have essentially 3 top-level hierarchies:
- Journal ← time-based
- Hierarchical notes ← time-independent
- Reference notes ← collections of things being often referred to
- People
- Places
- …
(and I have a workspace³ for Personal-stuff and another for Work-related-stuff, but the Reference notes are "cloned⁴" - and hence accessible ‑ in both).
Interestingly, "Book" recently gained a "Calendar" mode, so you can very easily manage notes as events as well, move them from day to day, etc.
> On one hand I feel some surprise that you're noting a distinction between metadata/tags for collections of notes vs collections of blocks. On the other hand, it's a bit of a peeve of mine that there's a distinction between "pages" and "blocks" in logseq when it comes to linking & referencing.
At least it's consistent in that Trilium always holds metadata/tags at note-level. And using Inheritance⁵ and Templates⁶, you can guarantee that all your Reference notes are consistent in terms of type of metadata they hold (all Persons have a "born in" attribute, etc). At the moment I'm working on an extension of the "Book" note type to enable bulk metadata edition in an ag-grid control, effectively managing metadata like a database (not unlike what exists in Notion, but with composition/inheritance and proper sum types).
My current workflow is to drop almost everything into my daily notes, whether time-based, time independent, or reference. The non-time-based notes I'll #tag and logseq will create a new page for the tag or add the block to that page's references.
That way I have both my thoughts on a #topic, and when I thought about it. If I go back and look at the topic and notice a bunch of notes about it spread across time I know that it's a more consistent interest of mine, and can consolidate that info into the body of the topic page, and might start adding further thoughts there directly.
Generally my goal is to get a distraction out of my head ASAP in a way that I feel like I'll be able to find it again later or it'll otherwise be useful, so that I can keep focusing on whatever I'm currently trying to do. Sometimes that'll mean I have notes on two or three different topics on the same daily page that's easy for me to hop between and add to, but it also stays relatively organized.
The other thing I like are "unreferenced blocks" where if I don't think to tag a stray thought I have about, say, RAG, it'll still show up on my #rag page.
Also, Trilium don't have mobile app which is very important for having notes available 24/7. Browser version don't allow offline access and not as convenient as an app
That's correct, there is no official mobile app with full offline sync at the moment, but there are independent efforts underway¹ and more or less involving workarounds².
If you have internet and don't need full offline sync, you should be able to use Trilium decently well today, with the recent responsive theming efforts that went into Trilium Next.
I think trillium is stashing the notes in a database. Certainly it thinks there is a migration step needed to move files around.
The everything markdown feature of obsidian is the dominant one. I can edit the files in emacs when I want to and the sync sorts it out just fine. They're stashed in a fossil repo by one of the machines as a backup because I'm paranoid and that also works fine because it's all ascii files.
Trilium works alongside a SQLite DB. It backs-up your db.sqlite on a regular basis, lets you create manual backups, version-controls each and every note with checkpoints, supports full-encryption, and as soon as you set-up sync between clients/servers, you practically end-up with master-master replicas of your entire notes collection (I have my notes replicated at all time on 3 devices or more). All of this are native, supported features and transparent for the end-user (no offloading to a VCS, no scripting, etc).
Trilium also lets you import/export your whole database as folders of markdown files if you are really into that, I just don't see the point: this is free open-source software, there is no vendor lock-in and no reason to dumb-down the storage layer to text files. But to each their own :-)
Thank God I got over my tendency for gravitating to such bike-shedding [1] projects! While I appreciate that such pet peeves may result in a net benefit to the world, right now, I am in a place where I would cringe at even taking the risk of upgrading a piece of software that is working fine (like how often has upgrading Pylance or vscode resulted in something breaking? Every single time). The real, actual work is so so so difficult. Sitting down and starting (after attending to family obligations, eating, showering, changing clothes, commuting, et al). Getting into a productive flow state. Not getting interrupted. Not getting distracted. Just choose one thing, anything (OneNote, Evernote, whatever) and get to the real work, I beg you. Productivity + don't mess with success.
Thanks for sharing this is an understated point from the article as I was fiddling with Evernote, Notion then Obsidian more than I would like to admit. With this I certainly fiddle but I create what I need and get in and out of my notes.
If people find that rhythm and flow with their own PKMS - don't switch for the next shiny thing!
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.
> 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.
Yeah I just wanted to chime in here on what i see as a world view problem that might need to be updated with the times. I see your point about everything being subscription based.
There are definitely software out there that do not deserve to be subscription based. But there are some developers that I think should be supported on a regular basis. Especially obsidian because they develop one product and continually work on it to make it better. IMHO they deserve the money.
On side note I wish there was a way for it to be open source, and the team's reasons for not supporting open source seems a little iffy. They could still make money of of Obsidain Sync or other features that does not need to be part of a Open Source Release. Commercialism of a project this important worries me because people that depend on it can be easy side-lined if the team decides to sell out. Look what happened to the Atom editor. Microsoft brought it then killed it. I know with Obsidian you can walk away from it and thats good, but I always worry about commercial domination of a market causing limited choice.
I know your point was about subscriptions, and I guess I am saying im more supportive of that model, based on the times we are in, for developers that have genuine passion for a project that they want to continue developing.
Heck I know am realizing I need to support open source projects with regular donations because I want them to thrive long term
> There are definitely software out there that do not deserve to be subscription based
My personal experience with software switching to a subscription model is that often that means you will now only get "bugfixes", and new features are usually few and far apart.
There's no longer any incentive to produce major versions with new breaking features, and instead it just turns into a maintenance product, if you even get that.
An Example could be Sublime Text, that while not traditionally subscription based, the license expires after 3-4 years, and needs to be renewed, so it's just a 3-4 year subscription. It was released in May 2021, and receives 1-2 updates yearly, and every update since 2021 has been "fixes" or "improvements". Nothing new has been added for 4 years.
Another example could be Arq Backup. Version 7 was released in February 2021, and while the changelog does have some "new feature" entries, those are mostly just "added the possibility to backup to X service". It does however see much more frequent updates than Sublime Text.
Don't get me wrong, bugfixes and improvements are great, but I expect new features as well. I expect the product to be moving forward, keeping up with current "best practice" standards, and not just turn into a money pit for the developer, just pushing out the obligatory "yeah, we fixed a few bugs" releases.
There are of course also various projects that do things "well enough" that new major releases are not required, like NextDNS. NextDNS works well, and is priced cheap enough to rival the electricity consumption price of a Raspberry Pi running at home. They don't have big releases, are mostly doing maitenance releases, but for the cost, and function of the service that is OK.
And no, not all software falls into this category, and there are plenty of great software that i pay for, which is actively maintained.
Obsidian falls into the new features category of not just updates, hence why I think they are the exception to the rule about the laziness of developers around the subscription model. But I do understand where you are coming from. I just don't think everything above reflects the entire industry.
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.
I think that no matter that they do you will always find people complaining. That is humanity's favorite sport. Even when it's free and open source people still complain.
Making software for individual consumers is freaking hard. My own perspective as a founder shifted from "this is a viable method to build a sustainable business" to "let's use it as the base for B2B sales, but it is not viable".
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.
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
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.
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.
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
> 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. My guess is that commercial note-taking apps have larger, more vocal communities that drown out the murmurings of other DIY solutions.
> 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
Obsidian's syncing was pretty spotty for me. I was a big fan and was paying by the year, but kept getting frustrated when notes weren't syncing across devices.
$4/month is a lot for something that only sometimes syncs.
I'm aware there are some naming constraints due to the underlying mobile filesystems not liking certain characters. This might be why it's not syncing fully for you? I haven't had any other major issues yet.
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.
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.
I switched to syncthing-fork, have had zero issues.
(At some point I'm sure new Android versions will do something that will require changes, but that can happen to any app and we will adapt. I think I've used syncthing for nearly a decade with next to no issues so I'm not very worried.)
> Will our preferred notes system last the sands of time?
Yes... My note system will last.
> Could you see yourself using your note-taking app you use today in 30 years?
No, I do not trust apps to last. Therefore I use a simple file system hierarchy to categorize everything. Then I use the best avaliable browser and editor.
My setup is Markor on mobile for browse and edit. Syncthing-fork to get it all into my big system where I run customized Neovim and can make scripts to interact with the data as well as syncing any generated output to the phone.
Having been a Obsedian fan, with similar plug-in fascination, I also experienced the negatives the article mention, and I finally settled with a simple file hierarchy and resorting to as few and basic tools as possible. Obsidian is great, but I didn't need all the features. I need a way to categorize, to quickly find, to edit, and to easily sync and my current setup satisfies that and I'm productive with it. (of course it does not reflect Obsidian's second brain feature, but personally I found that concept to require more work than reward and it wasn't intuitive for me to get accustomed to, but I guess the second brain thing is more like a lifestyle).
For years, I used Trello for taking notes and tracking my reading/research. The feature I cared most about was being able to reference notes in other notes and have lists of notes. It turns out that Trello is an awful tool for this because their database doesn't scale well to large boards.
I built a bare-bones alternative where each "card", e.g. book or paper, is a JSON file. This was motivated by parsing the bloated Trello export file into individual files.
I tinkered with this until I came across Obsidian. I used a version of this tool[0] to parse my Trello export into markdown files. It's still not perfect and continually requires tinkering to do what I need, but my present setup is infinitely better than the prior. r.e. another comment: I can imagine using this setup in twenty years and am happy to pay for Sync.
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.
Silverbullet is aptly named but I'd actually wait a month or two because it's going through the transition to V2 which shuffles a few things around.
Other than that it's exactly what it says on the tin, a hacker's digital notebook. While it would take a bit of rolling up your sleeves to make it look as nice as Logseq or Obsidian it's actually closer in form and function to something like org-mode for Emacs (though not quite hitting the mark regarding linking sadly).
It's got some rough edges. I want to sit down and build it so I can add an id to the TOC so I can CSS style it to be floating and submit it upstream.
I'm also having issues with integrating it with Authentik's header proxy auth, keeps directing me to a note with the outpost path as the name. The only guide is for authelia.
> Obsidian charges $8 a month to access the same notes across multiple devices. While not a huge amount for such a useful app, it adds up to an eye-watering amount - almost $1,000 if I planned to use Obsidian for a decade.
This highlights one of my personal bugbears. People have a mental barrier when it comes to recurring, low-cost payments; even though the net sum is small in comparison to other things that they wouldn't think twice to pay for.
A $5 latte every workday comes to (260 * 5) $1300 annually. Obsidian sync is $96. Why would you not pay this amount for a tool you use everyday?
> People have a mental barrier when it comes to recurring, low-cost payments;
It's because they add up.
In this specific case, considering OP job and it's heavy use of obsidian, it makes no sense to not pay for the synchro, if only to support the company[1], but if I was paying 8€/month for all software and service I'm using I would be bankrupted immediately.
Ironically this hurt open source and companies proposing generous free tiers the most because the amount of money people have for software will go to the one they cannot get for free.
[1] actually it makes no sense to develop your own tool when alternatives already exists
I mean, by this definition it's competing with a small paper noteblock and a graphite pencil. Lose the USB and everything is gone, forgo all features of Obsidian, etc.
The primary reason it's recommended is that it provides more freedom and interoperability. Read this thread and you'll notice that many people sync their notes using Syncthing. You cannot use Syncthing with app storage because the files are sandboxed. Many people enjoy the freedom of being able to read/modify notes using multiple apps.
The secondary reason is related to user expectations and file deletion. The device storage option behaves more like desktop in that if you delete Obsidian your files will not be deleted.
For people who are okay with the tradeoffs, app storage is now an option. That's a good thing, no?
If Obsidian didn't allow people to store files in the device storage it would be accused of forcing people to use the paid first-party Sync. Offering both options lets people make the choice that's better for them.
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.
I've been doing this for a while. My biggest hurdle was implementing sync between local and backend. I ended up using GitHub as my backend, Chrome extension as frontend, and implemented a simplified version of the Git client in SQLite with lots of triggers. Happy to share it with people. The app is here:
https://github.com/osmoscraft/tundra and the sync logic is here: https://github.com/osmoscraft/tundra/blob/master/apps/browse...
This is exactly the type of thing I want to inspire others to tinker with! Some of the readers feel there's a single optimal solution. Though I'm confident that there's room for a plethora of PKMS solutions
I have switched to joplin from evernote and I am using webdav on synology NAS to synchronize notes. It is open source and also self hosted and works on all platforms without problem. I also share notes with my wife. We use it for planning and shopping lists and it works really great. It has some basic conflict resolution which is usable for two people.
Joplin uses sqlite as storage but you can export collection to md files and there is backup plugin which does that periodically.
Also you can setup external editor. I am editing notes in neovim and joplin is just for viewing.
I'll always applaud people building things and experimenting and building momentum, so I think this is a worthwhile exercise, but practically questionable.
I think this is extreme micro-optimization of something that ultimately matters little (or not at all).
The hard part of PKM isn't finding the perfect tool, it's to take the time to:
-read/experience something and actually take good notes on it
-actually retrieve something from your notes and add to it with new knowledge
Those two activities are how you get almost 100% of the benefit of note-taking, whether you're using a self-hosted sync or a folder of txt files.
Of course, a few things make these easier (linking, RAG, daily docs), but most of the common tools now offer this
There are community plugins to self-host the sync-server though.
Anyway, I hate the fact I'm using closed-source editor, because it kinda is a sensitive thing, but the more I'm using Obsidian, the more unlikely the switch seems. I was kinda stingy with installing new plugins too, but, well, you cannot just ignore the productivity benefits. It doesn't seem feasible to build something like than on my own (for multiple platforms too!), and nobody brave enough seems to have made it so far.
Even if you try to replicate it, you need the community support and enthusiasm and interest in hacking and sharing their work to compete. Joplin is a great alternative, but the community plugins pale in comparison to Obsidian if you're a power user
> Obsidian charges $8 a month to access the same notes across multiple devices. While not a huge amount for such a useful app, it adds up to an eye-watering amount - almost $1,000 if I planned to use Obsidian for a decade. I was surprised at this fee because I thought Obsidian was open-source.
Before going out and building my own software I’d have looked into self hosting the files. To save those couple bucks.
Note-taking app is very complicated, even bookmark manager is also complicated. They need much time to develop and maintain. If one person develop a himself/herself such app, the possibility is giving up at last.
I think there are two ways:
1. Select an open source app which meet your requirements
2. Select and pay for a commercial app
do not waste your time and resources for it, just use a or some proper tools, and use the time for the most important things.
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)
> 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.
FWIW there is iCloud on Windows [0]. There seems to be some Linux options, but nothing official, so it seems like it'd be a lot more effort there. Also no official Android app it seems.
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.
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.
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.
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].
You can self-host obsidian syncing which is exactly what I'm doing. You can also share your notebooks with something like Syncthing, but you may get merge errors that way - just self host the database (CouchDB) and you're good to go:
I think an PKMS is strictly related to how each of us thinks. It's similar to project management/organizer tools.
I also created my own (https://brainminder.it/) based on how I think: I prefer to organize items by type with different fields that I can add and search. Instead of simply collecting ideas and thoughts, I'm trying to build a system that can help me evaluate leveraging what I've entered.
At the meta level, my life is already too short to allow closed-source tools for anything on which I may need to depend in the long term. Commercial entities come and go, for reasons important for them but not necessarily for me. Old, ancient code can be made to run, as long as it's available and legal to distribute and run. If it's useful enough, I will be not the only user by far, and there'll be enough collective effort to keep it afloat, or replace adequately.
Locally runnable freeware is the next best thing, but a distant second.
So, no Obsidian for me, no Directus for me, etc, no SaaS; Org mode is good enough so far, and when it becomes inadequate, if ever, I'll start looking.
On the inverse, even as a FOSS advocate, my life is too short to only use open source software all the time and to reinvent the wheel and tools that have been put together into one fantastic product by the combined effort of hundreds of people.
I used Joplin for years, I even self hosted the Joplin Sync server, but Obsidian + Community addons runs literal miles around it from a performance and user cusomizability standpoint. Yes, I could stick to being a die hard FOSS user and spend twice as long doing the same tasks, or not even be able to due to lack of community extensions that do the same thing on Joplin's side. I could spend a 100 hours learning how to write a Joplin extension to do what I want and that would be a waste because that's 100 hours less that I've spent focusing on growing the skills that I get paid for. Life is too short to reinvent the wheel every single time.
The product may be fantastic, and thus a force multiplier. But it can see an abrupt end, thus incurring a loss. Whether you win more than you lose, on average, depends on the use case, and the particular advantages. As everything in life, this us a trade-off.
My point is that for long-term, high-investment stuff, in my particular view, the possibility of interruption and loss outweighs any possible upside, and any migration would be costly. Similarly, a move from a house where you lived for 20-30 years by its disruptiveness may tantamount to surviving a flood or a fire.
For "short-term" tools this is not so, very obviously, but they do not need my investment, hence they would incur no loss were I to migrate off them if a replacement exists. I could not replace Google with anything, but then DDG and then Kagi appeared, and largely replaced Google web search for me, quite seamlessly. When a better LLM appears, I will start using it instead of Claude. Etc.
That's not the case here though, Obsidian's a markdown editor. When you own your data and you're using a public plain text format it doesn't matter if your editor is closed source. You can literally open your files in any other. There's no migration cost, that was kind of the point.
I still mostly think like you, but I'm now more open to closed source tools.
The question I ask myself: is the advantage here so significant that it's worth the hypothetical switching cost at some point (and is export even possible?). If the answer is yes to both, I go for it.
For quick notes on the go, I also did go my own way and eventually built the app I wished I had. Journelly: kinda like tweeting but for your eyes only (in plain text)
While you don't need to know anything about its serialized format, it happens to be powered by Org plain text. For Markdown fans, I am recording Markdown interest. Do reach out: journelly + markdown at xenodium.com.
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!
Most note-taking apps share the same fate: they either become obsolete over time (due to unsupported operating systems, security issues, or discontinued drivers) or end up locking you into a proprietary ecosystem.
My solution was to move to a file-based system — using plain folders, files, symlinks, and relative links. The filesystem is one of the most fundamental and enduring parts of computing infrastructure, which means I can rely on accessing my notes the same way 20+ years from now. It also allows me to plug in containerized tools for viewing or editing notes, without being tied to a specific app. Filesystem APIs are incredibly stable — basic commands like mkdir won’t suddenly be locked behind a subscription.
Plus, there are plenty of options for syncing and real-time collaboration, many of which are self-hostable and vendor-neutral.
About a year ago I did the same migration: Obsidian to self-hosted Directus.
My main reasons were:
- Straightforward queries. I have a lot of structured data in my notes and lesson plans, and being able to work with SQL was ideal.
- A web app was much more reliable than Obsidian's third-party sync platforms.
- I could extend Directus to do all sorts of other things. I eventually built my wedding planner and website backend on the same Directus instance that holds my notes.
(I also built a set of scripts on my Hackberry Pi that let me write text files on the go that saved to Directus)
The biggest disadvantage is that the writing and saving experience isn't as fluid.
You're the first person I've heard of that has gone this route. Cool to know I'm not alone.
And yeah I have the same gripes around the writing experience. I prefer Vim so I've been looking into ways I can use my notes as local markdown which sync on save. Of course, keeping the Directus editor for my mobile device edits.
Is there a reason that Obsidian, Notion and OP all decided to use a dedicated sync service, as opposed to just using generic file storage, which may or may not be in the cloud ?
It would seem to me that it would leave out a whole lot of complexity to just use Google Drive / OneDrive / iCloud Drive to handle the synchronization across devices, and if need be you could then just add encryption on the cloud storage (if desired), which you would need to do anyway for the dedicated sync service. It would also reduce the infrastructure cost a lot, and utilize resources already available.
On desktop yes, but on iOS at least, i can choose between iCloud, local or Obsidian Sync.
Simply "plugging in" to an iOS File Provider interface would be a better experience from a user perspective, but i realize it would sell fewer Sync licenses, which appears to be the business model after they removed the requirement for purchasing a license for commercial use.
iCloud and local are less problematic, but Obsidian Sync introduces a governance / compliance hell i'm not prepared to face, and OneDrive / SharePoint is the preferred, pre approved, company file syncing platform. Getting Obsidian Sync approved requires GDPR audits and other niceties from ISAE 3000.
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.
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".
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.
OSS alternatives with free syncing to your chosen cloud already exist, and have plugin systems. Why not just contribute to those? Because this is either advertising or procrastination.
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.
Obsidian answers one of the key questions I asked these days of tools that I use, “Can I walk out of this easily and seamlessly?”
The best tools are the ones that get things done and get out of the way. When the time comes, you can walk out of Obsidian easily without being a hostage in any format.
The few plugins that I use are the ones I can walk out too and live without it. I love the idea of spending extra time to learn the details, shortcuts, and be able to use a tool natively without the help of plugins or extreme configurations that it takes hours/days to deviate too far away from the original configurations.
I long for the days of a note taking / personal "data store" system that isnt a pain in the arse to use. I really couldn't give a damn about apps i need to tweak like craxy or constantly maintain to work how I want. Obsidian is good but its just massive overkill for someone who just wants to wright stuff down and have it securely stored, and accessible anywhere anytime its needed.
The second someone says "oh just set up X server and add Y plugin and tweak Z settings" you've lost the whole point of the thing.
My solution: a bunch of Markdown files in a git repo. I move between files with Vim's `gf`. I sync manually. If I really need to, I can edit through GitHub's web UI. Not ideal in amy way, but wicked simple.
Can't you do the same with Obsidian too? It's also just Markdown, and I believe there's even a plugin to perform Git commands within Obsidian. The main issue you can run into, is when you overly rely on markup syntax that only works in Obsidian.
Obsidian is so useful to me, I don't mind paying for the sync to support Obsidian dev.
The notes being markdown is also very useful, I spend most of my time in a text editor, so I installed a Neovim plugin that works a bit like Obsidian [1]. So, for simple note-taking, I don't have to open Obsidian at all. It comes in useful when I need to use the massive collection of plugins, especially Excalidraw.
I tried a number of note taking apps. I use them for longer term storage of ideas, rather than daily todos. For example holiday itinerary or project ideas. Because of this I don't use them very often and I found I could never remember the basics of Obsidian.
One app that is very simple to use had everything I needed and sync'd using Github is https://about.noteshub.app/. I have been using it for around 6 months and found it perfect for my needs.
Maybe I’m just not a very insightful person, but I can’t imagine ever having so many original and valuable thoughts that I’d need a place to store them. In fact, many of the things I think end up being wrong, so I’d rather use the Internet as my “PKMS” since it is more likely to refine what I think I know.
It’s more like.. project ideas you actually want to pick up, projects in progress, notes while learning something, journals, writing. It can definitely get heavy, but like a personal knowledge base can really be helpful. I store my measurements, health stuff.
Granted, I am neurodivergent and have memory issues, so it’s hard for me to say what use it’d be to anyone else. But like, if you’re doing research into something deep, experiments, etc , and you have to put it down sometimes, it’s nice to be able to pick up right after you left off.
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.
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.
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.
I created Hot Notes to fuzzy search my Apple Notes folders and titles, it is working quite well for me. I think it could work well for your nested folders.
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.
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 :-)
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.
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).
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).
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⁴.
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.
this is the inevitable PKMS pipeline, and the one that almost certainly led to Obsidian and Notion to begin with.
Need PKMS > Use existing product > Notice shortcomings > Switch to main alternative > Notice shortcomings > Begin creating bespoke PKMS with the specific functionality you wanted.
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) .
What do people's success stories with fancy PKMS looks like? I get writing stuff down, but I've never quite gotten the deep linking stuff. I tend to just be able to get away with some basic folders.
Agreed. Particularly with running your notes through a text embedded model you can use semantic similarity and no longer need to manually link notes! This is something I'm excited to add in to my PKMS at some point.
Same here. I get a massive amount of value out of writing things down at home and at work. I get comparably little value out of linking things together — beyond direct references at least. I think this may be a difference in how different people think and recall information.
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?
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?
I’ve done this! I wound up writing a small 500 sub LOC solution (very bare bones) that I copy/paste when I work in places where I don’t get to use my fav note taking software.
That said, I just converged on Apple Notes in the end.
Very curious to hear from avid note takers: is it a habit? (maybe addiction?) is it just a tool to do you work better? Is it for fun? Why the elaborate setups (Git + Wireguard etc.)
Sincerely, not-trolling, from a bare minimum note taker.
There's a lot of ways to sync your notes for free with those said community open-source plugins, including through standard free cloud options if you really want to pay zero and have no server in the middle.
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"
> 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.
Open-source code has been known to have back doors and versions with security vulnerabilities.
I would never use AI code gen I don't understand fully and typically made amendments to get what I need the tooling to do. So yes I prefer personal simple scripts I maintain and understand 100% : )
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).
At least for me personally, the paid syncing was pretty spotty. I was a hug fan of the app, paid for yearly billing, but never got notes to sync consistently across devices.
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.
> "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.
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.
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:
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.
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.
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.
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 :)
Anytype. Local-first, p2p sync with e2ee. It uses the notion model (everything is an object, you can create "databases" with queries of objects). It doesn't store markdown directly I believe, but it can export into markdown perfectly.
I recently moved to anytype from logseq as it hit for me all the right notes for personal stuff, shared family stuff and work stuff.
I wanted something like notion but faster and most importantly, private.
The workspace data is encrypted with a (symmetric) workspace key. Each user gets hteir own encrypted copy of that key, using the user's public key. By wrapping the data-encryption key for each user the content is only encrypted once but each authorized user can decrypt it.
Ah ok. I guess that means when a user leaves the team, you have to re-encrypt the codebase with a new symetric key (as the user would still know the old symetric key)?
Depending on the threat model you want to protect against, yes. For example, although a revoked user doesn't have direct access to data anymore, they could technically collude with us to get future encrypted messages and then decrypt them. At the moment rekeying is only possible by exporting a workspace, changing its key (with a command line tool), and then reimporting it.
I didn't want to sidetrack you with this. I just wanted to know if I understood correctly. I believe this is nothing you need to worry about at this time. Thanks.
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.
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)
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
Funny - I went the opposite direction. Built my PKM in neovim (still a works in progress) + lua + markdown [main plugins I use is treesitter, telescope]; the upside? It's the same tool I use for editing all of my code, config, documentation. I have already re-implemented features such as Dataview and Tasks (not a 1:1 re-implementation, but covering the gaps) using common shell tools (i.e. lua, rg, sed, etc). I have written a few small functions, plugins for neovim that I use myself. I've kept it as barebones and minimal as possible (don't want to overbuild) so I can maintain it myself and not incur maintenance cost for this.
I sync using git between my two laptops - I have given up on mobile sync as I realize: I rarely need to edit my notes on the go, it's mostly for view only, and most of my deep work is on the laptop anyways. Yes, I have a "3 copies - 2 locations - 1 remote" backup system in place (I upload an encrypted volume once a week to iCloud [I'm already paying for it] for my remote).
I wanted to eliminate a dependency on proprietary tools and I've found a way to manage my notes in the same way I manage everything else - using my filesystem, and common open source tools.
> 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.
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.
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.
> 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).
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!
This is what I've switched to doing -- just pushing to my phone as a viewer; I realized that I don't write/think on my phone at all. It's just too annoying, but I do like having certain things (like recipes) on hand.
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.
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?”
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!
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.
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
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).
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.
> 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.
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
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`
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.
If you're not too wedded to git, have a look at fossil, perhaps. Its a dvcs just like git, but is itself distributed as a single static binary. This binary, in addition to allowing you to init & interact with fossil repo's, also comes with an integrated bug tracker, gui (for logs, etc), wiki, even a web forum with threaded discussions (so kind of a replacement for a mailing list).
And a builtin admin interface to govern permissions on the above. Plus, its its own server. All of this ... is builtin to that single binary.
It has a few of its own quirks as a vcs, but its pretty much equivalent to git, both functionally & conceptually (if you know git, you'll know fossil in 5 minutes)
So, if you want a dvcs for syncing, and don't want to setup git for external access, try fossil?
> 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 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?
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.
People definitely sleep on emacs, which is a shame, but I do get it. I switched to emacs fulltime for coding for my work a few years ago, and really had it tailored to my preferences but drift (that took just slightly too long for me to keep up with while on the job) combined with AI features in other editors led me to land on Zed for code, which saddened me but is probably the best fit for coding.
However, Org-Mode is seriously a killer feature that is well worth it on its own. I use emacs to handle all my finances, notes with org-roam, blogging with ox-hugo, dotfiles in a massive org-tangle document, etc. I couldn't find anything remotely to compare it to, and have failed attempts at switching. There are tons of ways of interacting with Emacs that are just lightyears ahead of anything else. Literate programming and tangle are a godsend for tons of different use cases for me as well. I even keep running notes in the base of my codebase so I can hop to various files and capture locations in the relevant files as links in notes.
The only pain point for these tools for me is trying to use them as part of a commandline integration. I really wish org-mode and org-roam's functions were callable outside of emacs, e.g. for automated document generation from org-mode. One of the most painful things I've had to setup is an org-roam-server integration that updates and deploys org-roam-server when the git repo containing its files is updated. Only way to do that seemingly is to run emacs in a very strange way inside of a docker image. Intuitively it feels like org-roam-server should be able to build itself into a static website for deployment. Might seem like a nitpick, but it's really not -- that interface is a huge part of why I use it and not being able to host it without horribly hacky workarounds seems like a massive weakness.
> I really wish org-mode and org-roam's functions were callable outside of emacs
What are you even talking about? It's like wishing for java programs to be able to execute without JVM, or Erlang-code without BEAM. While that's theoretically possible to a certain degree (using Graal and Lumen), it's not easily achievable.
Org-mode is written in Elisp, of course it needs Emacs to run. You just need Emacs executable and you can absolutely run scripts in batch mode. I have done it many times, running tests on GitHub Actions, etc.
Neovim is a text editor. You can't compare Emacs with just a text editor. Just like you can't compare Emacs with a browser, music player, note-taking app, email client, etc. Emacs, first and foremost, is a Lisp REPL, with an embedded text editor. Without deeply understanding and respecting this aspect it is difficult to appreciate what Emacs could be, what you can do with it.
Imagine this — one morning I was watching my colleague showing me a bunch of things over a Zoom video, and I didn't feel comfortable interrupting him with "wait, don't scroll away, I didn't get that, allow me to read it", "hold on, I'm taking notes", etc. I sacrificed my lunch break to write a small Elisp command that runs tesseract to OCR the image in the clipboard. Now, I don't even have to ask my colleagues for explanations or tell them to share the url they are currently browsing — I can just grab it with a couple of keystrokes to make a note. And that's just one, single, isolated example. It cost me twenty minutes of my time. Twenty minutes of investment that paid itself many times over already. And I have tons of similar examples.
"Staying away" implies understanding the perils or benefits, I don't think you ever fully understood either. My point is not to bash on your choice of an editor — I use Neovim myself (it serves me well occasionally).
You "stay away" from Emacs most likely because you don't know any better. Do you use your editor to read and annotate pdfs? Or watch videos? Or manage the library of your ebooks? Or track your expenses? Or control project management like Jira? Or keep your knowledge base and note-taking? Or interact with LLMs? Or explore APIs like Postman? Or keep your spaced repetition flash cards like Anki? Or use it for chat over platforms like Telegram and Slack? Or find and read RFCs and manpages? Or to perform web-search, search through your browser history, Wikipedia, Youtube? Do you have etymology lookup, thesaurus, dictionaries, translation? Or to order pizza? Or measure distances between coordinates on a map? Automate things based on solar calendar or moon phases? Manage all your configs, aka dotfiles? List, browse and code review Pull Requests, etc., etc.
Now tell me, what a sane person ever exposed to all this usefulness would ever reject it? Only those who never had patience to reach it, or those who are oblivious to the possibilities.
(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.
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.
Did you use evil mode? I am basically just running Spacemacs and I don't often need to use ctrl and option most of the time by leveraging the modal editing.
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.
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.
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.
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.
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.
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
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.
> 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.
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.
Also, Obsidian supports free iCloud sync if you are a Mac and iOS user. I know that's only a subset of users, but a nice option to get Obsidian to sync on the phone if you are in the Apple ecosystem.
Also, they have a cheaper Sync plan now that is $4 per month.
I can't really be bothered that Sync would cost up to 1000 in ten years. If you use Obsidian daily, it had an immensive value and it's cheaper than most services out there.
Syncthing... It can do it too
handles syncing my pictures too
Wasn't the syncthing android app deprecated relatively recently?
It was if you install it from google's app store, but it's still fully functional for now if you install it from F-droid.
I've been using Obtainium to install Android apps from Github releases and automatically update them. It's worked great.
Syncthing's .apk release files can be found here: https://github.com/Catfriend1/syncthing-android/releases
Syncthing-fork (of the android app, not syncthing itself) is a straight improvement.
I can second Syncthing. I just use a simple markdown editor with Syncthing on Windows, Android, and a Linux.
To add to your last point - 10 years is a very long time frame. Any recurring cost grows to eye-watering levels if the time interval is huge enough. In 10 years, a lot can happen in the space and you are not locked in with obsidian - if the next better thing comes along in 3 years, you can easily migrate.
Even setting up your own couchdb + livesync should be a small task if one can consider to 'write a whole app' to replace obsidian
edit note, if you want to build something :) please expand livesync or a new plugin to allow easily sharing of self hosted obsidian notes :) All the ones I tried use some 3rd party hosting which I don't like even if its encrypted.
iCloud sync is too unreliable and opaque for me.
It has been reliable for me with Obsidian. I still prefer Obsidian Sync because it has good integrated version history and shared vaults.
Also agree with the sibling poster - I like subscribing to support them on a regular basis (and of course Catalyst).
Yes I found it wasn't reliable. Perhaps it has improved, but Obsidian Sync has been excellent. I'm happy to support the developer as I'd like Obsidian to stick around.
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.
If you're willing to reimplement them in your own obsidian-like editor anyway, I don't quite see the difference
I wouldn't so I keep to markdown and minimize plugins where aplicable, if I need to run for the hills, I don't expect to lose much
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.
A proprietary format with an export function allows you the same inconvenience of having to write code for processing.
Not true for a variety of reasons:
1. You're relying on the external service to continue providing the export functionality, or else doing regular backups.
2. The format of the exports might be proprietary, so it might be orders of magnitude more difficult to parse.
3. The export might not contain all the data.
4. Even if the export isn't to a proprietary format, it might be to a format that's much harder to parse than Markdown. Markdown is not only a standard, it's fairly readable even without any parsing, as opposed to, say, exporting in HTML. Losing some functionality (often minor, depending on what you use Obsidian for) is better than losing more or all functionality.
1. No, the data is already local, the app is already local, you're not relying on anything.
2. Or it might be orders of magnitude easier to parse vs replicating all the plugins functionality. You're just arbitrarily making the alternative worse
3. That's again something you've made up that's not a generic feature of alternative proprietary format
4. It might also be export to markdown. Again, unless you make up artificial barriers
But you can also do it the other way, for example, anything non-trivial like some large table with in-cell formatting won't be readable in your primitive plain text-based proprietary format, so it will be much worse that the unreadable Excel xml or its binary alternative, but that would still be a much preferable export format since no, you're not going to develop a new spreadsheet parser that some obsidian plugin uses to make sense of it
> it's fairly readable even without any parsing, as opposed to, say, exporting in HTML.
that's true for primitive formatting needs, but in this case there are tools that can convert html to markdown that would easily do that
> 1. No, the data is already local, the app is already local, you're not relying on anything.
That's not necessarily true. Some apps keep only cached copies of the data and the rest on the cloud. Sometimes the local files are in a binary format that is unreadable without the export functionality, and newer releases of certain apps remove the export functionality.
> 2. Or it might be orders of magnitude easier to parse vs replicating all the plugins functionality. You're just arbitrarily making the alternative worse
Obviously this depends on the exact app.
But I don't think you can credibly claim that a textual format like markdown isn't easier to parse than... well, almost any other format.
> 3. That's again something you've made up that's not a generic feature of alternative proprietary format
I didn't make it up. It depends on the alternative app you're talking about. Some export full data including all metadata, some don't include all metadata, etc.
My point is that if all the data is actually just markdown files on your computer, there is no question of whether you have all the data.
> 4. It might also be export to markdown. Again, unless you make up artificial barriers
Once again, depends on the specific app. I was a long-term user of Evernote, and still have a subscription. I just checked, and it looks like you can export to a format called "enex", or to a single html page, or to pdf. That's awesome! And the chance that you won't be able to use this in another app is next to nothing, since everyone works to be able to import Evernote.
It's still a tradeoff between the extra functionality you get from Evernote, vs. the simplicity of the "export" files you have. In Obsidian, there's no separate export, the files are stored in simple-to-read Markdown. But you get less functionality.
It's a tradeoff. I'm not saying one is better than the other. But pretending there isn't a tradeoff is quite simply wrong.
> But you can also do it the other way, for example, anything non-trivial like some large table with in-cell formatting won't be readable in your primitive plain text-based proprietary format, so it will be much worse that the unreadable Excel xml or its binary alternative, but that would still be a much preferable export format since no, you're not going to develop a new spreadsheet parser that some obsidian plugin uses to make sense of it
Yes. I wouldn't use Obsidian to do anything that would require a spreadsheet. I'd simply use Excel, since it's a billion times better at it.
I'm certainly not against using the right tool for the job, nor am I against proprietary formats in general.
1. It true since the argument about formats. You can limit storage of open format to the cloud as well.
> and newer releases of certain apps remove the export functionality.
Then you'd just use the old release with the export functionality intact. You can also make up stuff like "Obsidian can release an app that deletes/encrypts all local files, retaining only the cloud copy, and start charging for it without having any export functionality"
> But I don't think you can credibly claim that a textual format like markdown isn't easier to parse than... well, almost any other format.
This isn't markdown, but markdown + dozens of extensions, so it's very easy to claim that it's much harder to write custom parsers for dozens of formats rather than use an existing parser for some more elaborate format that doesn't need those extensions.
> the files are stored in simple-to-read Markdown
they aren't, they're stored in an undefined format depending on which extensions you use. Part of it is markdown (which is not simple to read in the non-primitive case of richly formatted docs)
> there's no separate export
That's not a benefit! It means that you can't move outside of the Obsidian ecosystem because there is no well-defined format that you could use another app with! So it's (practically) even worse than Evernote since that one is already widely supported, though theoretically it's the same.
> But pretending there isn't a tradeoff is quite simply wrong.
Yet you've failed to identify it, turns out it all "depends on the specific app"! Fine, compare apps, but the general argument was about text-based proprietary format with a chance of data loss if the ecosystem dies (or a chance of requiring a lot of effort to convert), and a generic proprietary format that can be exported into a text-based format... with the same risks!
I don't really know what we're disagreeing on.
> This isn't markdown, but markdown + dozens of extensions,
Yes, if the way you use Obsidian includes dozens of extensions that each use a proprietary format, then it's similar to just using Evernote in many ways.
If you're mostly using plain markdown with only a few custom formats, then it's still easier.
If today, right now, Obsidian stopped working, I could literally open my Obsidian folder in VSCode and still be able to do 90% of the things that I do in Obsidian.
If today, right now, Evernote stopped working, it would take some effort to find a working version, export the files, convert them to markdown or whatever, etc.
I just don't know how you can claim that Obsidian is more effort to use outside of Obsidian than something proprietary.
> If today, right now, Evernote stopped working, it would take some effort to find a working version, export the files, convert them to markdown or whatever, etc.
No, at your accepted level of the loss of functionality that would be trivial.
> I just don't know how you can claim that Obsidian is more effort to use outside of Obsidian than something proprietary.Because at every step you trivialize one option and complicate the other. While they're generically equivalent. All the same things apply...
> If you're mostly using plain
If you're mostly using plain notes in Evernote, then your conversion to the same plain markdown will be trivial, so using another plain markdown isn't easier
No. You might not be able to load the program to get to the export button. They might paywall it away. Etc.
No, there is no paywall or etc. This is not an imaginary anything goes area, but simple note taking where you have local client with locally synced data which can always export, so this risk doesn't exist
Very much this. I cannot even fully agree with "plug-in heavy" remark: I mean, how heavy must it be, to be considered "plug-in heavy"? I consciously tried to limit plugin usage. But it really gets pretty wild soon. I was relatively lean for maybe the first 6 months, but when some patterns of how I use it become clear enough, it becomes pretty evident how inefficient many super-common situations are and how I can fix them just by installing a plugin.
Fast-forward a year, and all your vault structure implicitly relies on the quirks of Obsidian search behavior, the markdown you write is extremely obsidian-flavored markdown, and you don't even remember how to write LaTeX without LaTeX-Suite shortcuts.
I've been using Obsidian for years now and besides some experiments use zero plugins. What inefficient patterns are you running into?
I've thought about this and I think Templater and Dataview are the two plugins I'd miss if Obsidian was sold to a VC tomorrow and enshittified.
And I'm pretty sure both will be forked and modified to run independently of Obsidian within a week of the theoretical enshittification.
> 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!
Yeah, I have my obsidian vault in Dropbox and synced to my phone and back with Dropsync on android. The obsidian mobile app Just Works™ with this. It was a one time setup. Of course there's no fancy conflict resolution going on, but it's unlikely I'm editing in two places at once so it's not needed.
Yeah, syncing text files across devices is a problem that has little to do with obsidian or whichever editor/renderer one uses. As long as one keeps things relatively simple with plugin-related syntax flavours, editors are interchangeable.
Even simpler, just pay for the feature
Yeah agreed - does anyone really care for $4/month?
Fun fact: Dropbox doesn’t support emoji in file names ( or at least, didn’t last time I checked. )
Deal breaker for me - adding iconography to file and folder names can be a natural, zesty enterprise.
And here I am still coming to terms with using spaces in filenames.
Still doesn't. I recently moved my vault to Dropbox and had to rename a bunch of filenames
> Again, a little bit odd considering that the *author is technically savvy enough to write an entire PKMS*
I’m pretty sure author just wanted to build PKMS. These types of “oooh, will it be there in 20 years” are standard OCD/procrastination.
I think of the sync paid tier as analogous to a patreon membership, combined with paying someone a tiny amount to manage my data for me. The fact that it's all markdown makes me confident I could take my files and go play elsewhere at any time, but I enjoy knowing my money helps keep Obsidian going.
> 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.
Not really.. This problem runs far deeper than most are willing to see. First, Obsidian is using a personalized flavour of markdown, and seconds, for many heavy features it's leaning strongly on plugins which are prone to break or even die. Obsidian has a vibrant plugin-community, which also seems to die really fast. This becomes even more critical by plugins dying from changes in Obsidian itself. So while Obsidian is in theory a nice open app, it's longevity-aspect is really awful. I already had many features and plugins dying in the last years, and who know how much more will break in the next 20 years. Simply switching to another text-editor will not do, because they won't offer the missing features. So at best, you are just not losing your data, but you still won't have the tooling to use them.
Someone creating their own system, where they have full control over everything, even if they will have to sacrifice some benefit in the short run, just makes sense in a bigger picture.
But you do have full control, if you want it. Nothing stops you from altering plugins or making your own.
The plugins sit in a local directory. Very easy to modify.
> Nothing stops you from altering plugins or making your own.
You still have no control over obsidian itself. Any change can and will break plugins. So you either settle with one version for the next decade, or you have to maintain them. This is just the normal dependency-hell that every project has, where you have to compromise with external dependency and their whims. Just that neither plugins nor obsidian (to some degree) are the level of professional software-projects in that regard.
And let's not talk about changing Obsidian on fundamental levels. You have even less control on how it works on everything which is not accessible by plugins.
Genuinely curious, which plugins do you mean for example when you say that many heavy features are leaning on them?
I could see the dataview plugin as an example (even though I don't use that one personally) but most other plugins seem like they just add more convenient ways to do something that would be still pretty simple to do manually. (Templates for example).
> Genuinely curious, which plugins do you mean for example when you say that many heavy features are leaning on them?
Depends on what you are doing. But the whole task & project-management-corner is constantly moving. Everything which modified the editor and preview was also regular breaking in the last years. For example, there were some plugins adding banners at the top of documents, or background-images or some icons. Or plugins modifying the yaml-area. They were all breaking multiple times when Obsidian was switching to the new live-preview-editor, then on changing frontmatter to properties, and on some other occasion IIRC. Usually after some months a new plugin appears, or someone forks the old one and fixes it. But as a user, it's pretty annoying to constantly have something breaking outside your control and getting stripped of features you want/need for various reasons.
Obsidian is useful, but far from being stable long-term yet. It's still very young.
> I could see the dataview plugin as an example
Yes, dataview was also very unstable the first 2 years or so, switching code and concepts, breaking old code along the line. It seems to be stable now, as the focus is on datacore.
> but most other plugins seem like they just add more convenient ways to do something that would be still pretty simple to do manually. (Templates for example).
Does it matter what a plugin is doing? If it breaks, it's a loss, whether it's crucial or just annoying.
Don’t use plug ins
then you lose a large amount of functionality and value. That's the point they were making.
I'm migrating what's in Evernote to Gmail because the "upgrade to premium" popups are too tricky and the value of Evernote just isn't worth the subscription unless you're relying heavily on it, which I can't because of the popups.
Totally agree, I personally have obsidian set up on multiple devices, and they all automatically sync to my local Synology NAS.
Concerning, maybe. Definitely not surprising. One’s technical ability to do something has, if anything, a negative correlation with their ability to value and manage their own time. The author’s justification is absolutely ridiculous, hands down. I simply pray that they’re never in charge of deploying another human’s time effectively.
> 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.
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!
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.
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
If you need multiplayer sync, I've been working on a plugin that makes Obsidian real-time multiplayer (like google docs) called Relay [0]. A lot of our users use it in combination with SyncThing to keep it entirely free for up to 3 users (we also offer a paid plan with attachment storage and more seats).
[0] https://relay.md
Git is decentralised. You can sync between laptop and phone directly, no third party server required.
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.
No one said anything about GitHub… git is perfectly fine for this use case and 100% private.
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?
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.
Thanks for the reply. I do agree with sibling comment from tasuki that I think you’re missing the simpler solution of plain git repos to solve “owning your own data in a future-proof manner”.
If you’re not trying to coordinate work among multiple people, and aren’t trying to enforce a single source of truth with code, you don’t _need_ “git server” software. You just need a git repository (folder & file structure) in a location that you consider to be your source of truth.
I’m not trying to convince you to change it now, especially if you’re happy with what you have, but I would suggest reading some (or all) of https://git-scm.com/book/en/v2
I think the first ~4 subsections of chapter 4 cover what I & tasuki were suggesting could be sufficient for you. If you’re the type of engineer to read through the code of your data storage layer, I think you’d find Chapter 10 (Git Internals) interesting, because it can demystify git. I enjoyed the whole book.
As with any engineering project, I see lots of questions about your choices, and I applaud you for sticking around. I would make very different decisions than you, based on your stated priorities, but that’s okay.
> 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.
You only really need SSH access on a box to use it as a git remote - no server needed.
I learnt this quite late and was not obvious to me so hope it's helpful for you too.
GitHub is not git
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.
In 20 years will that plugin work? I doubt it.
You can’t even compile stuff from 20 years ago without some extensive archeological efforts. I doubt this is your largest problem by then.
???
I have dozens of projects from 20 years ago that I can compile today.
With respect, I doubt it. Have you tried pulling out a 20 year old tarball and compiling it, without modification, on a modern distro?
I recently unearthed something that I thought was 20 years old when someone asked me about it. I checked and it was only 14 years old based on mtime (thought I suspect I started the project nearly 20 years ago). Another project I unearthed for a different reason was only 13 years old by mtime (again, it was started before that). I must concede that I haven't actually recently compiled and used anything that was untouched for 20 years.
I should note that the first program I wrote that was actually used for a purpose (it calculates energy based on an internal stopwatch and then typing in values from a volt and ammeter, for a science project in 1992) still works in qb64 today.
The second program I wrote that was actually used for a purpose assumes a parallel-port printer on DOS that uses a fairly old version of PCL, and was written in 16-bit C, so probably won't work today.
In 20 years you might be dead.
Directus is not eternal either. They are OSS, but you can't support it yourself forever. For a such a long run this looks like a controversial choice for me.
your ai will straight up write you the plugin if it hadnt already done that seamlessly when you requested it render your file.
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).
Some people just enjoy the process, and you'll always learn something new
Just use Joplin, it’s open source and syncing to many cloud providers you already probably have is free.
> 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.
Even better, set up Tailscale.
It's far easier to set up, is much more reliable (e.g. when devices are behind firewalls), and uses direct (encrypted) connections when possible.
You can get it to do what you want with just a few clicks. Things like exposing a IoT VLAN on your Tailnet or setting up an exit node to tunnel all internet traffic through your home are super easy. You can even share specific devices with friends, which is super useful. If you have anything particularly sensitive (e.g. a notes app that you wouldn't want your children / partner to have access to), you can limit access to specific users / devices on the TS side, without bothering with implementing auth.
I think there's even a way to look up the user and device based on their IP, which is one way to add painless authentication to your apps. There are reverse proxies that do it and inject the info as HTTP headers.
If you aren't comfortable with trusting them with control over your network, you can always host your own Headscale server.
What makes Tailscale more secure, or more reliable, than just a direct Wireguard tunnel?
Tailscale's complexity and features make sense when you have 200 nodes, or maybe 20 nodes at least. When you have 3-5 nodes, I think it's overkill, and a bunch of extra dependencies which may fail, and lock you out of your private nodes when you need it most.
The benefit of Tailscale is that it gives you “lots” of wireguard tunnels that work through NAT with near zero configuration and a central admin interface.
I use a personal plan and have multiple nodes. Desktop, laptop, tablet, phones, docker containers just for me and a couple of raspberry Pis on my families home networks.
Only once have I been “locked out” of a node and that was due to an expired key.
Sure, for just connecting one node to another with a known IP and accessible port it’s overkill, but for anything more complex it an awful lot of awesome for very little effort.
NAT busting, and no key management. What extra dependencies does Tailscale have?
Well, the dependency on Tailscale's servers, for one. You're getting that NAT-busting because Tailscale is running servers to handle that for you, and you're getting around key management by having them manage your keys and overlay their own auth layer for you.
You can always run Headscale: https://tailscale.com/opensource#encouraging-headscale
> Headscale is a re-implemented version of the Tailscale coordination server, developed independently and completely separate from Tailscale. Headscale is a project that complements Tailscale — with its own independent community of users and developers. Tailscale does not set Headscale’s product direction or manage the community, and neither prohibits nor requires employees from contributing to Headscale.
I had a Headscale server running for a few years with no hiccups. Setup was easy, it's not too resource intensive, and you can use the normal Tailscale client.
How do you identify yourself to Tailscale?
My nodes identify themselves with keys signed by the other nodes as per tailnet lock: https://tailscale.com/kb/1226/tailnet-lock
> If you aren't comfortable with trusting them with control over your network
Wrt the possibility of Tailscale being compromised, there's the in-beta tailnet lock feature:
> Tailnet lock lets you verify that no node is added to your tailnet without being signed by trusted nodes in your tailnet. When tailnet lock is enabled, even if Tailscale infrastructure is malicious or hacked, attackers can't send or receive traffic in your tailnet. [1]
[1] https://tailscale.com/kb/1226/tailnet-lock
Thanks for the tip!
I've had the Device approval setting on, and wished there were more robust lock features, but not enough to want to run my own coordinator. So Tailnet lock seems like a good security upgrade.
The pricing page suggests this is only for the "enterprise" plan.
Not sure which page you're referencing, but the linked page states it's available for Personal (free) as well:
> Tailnet lock is available for the Personal, Personal Plus, and Enterprise plans.
It is definitely on personal as I use it myself.
Or, for those who are paranoid about relying on a company, setting up headscake is relatively quick and painless too - currently using it to sync between devices across multiple cities.
headscale*
https://headscale.net/stable/
https://github.com/juanfont/headscale
Should I be paranoid? I never tried Tailscale, and the idea of trusting 3rd party with managing access to my network does give me chills. But IDK, honestly, maybe it's silly? Is it in all honesty less likely that I'll fuck things up setting my own Headscale server, than that Tailscale™ will (consciously or otherwise) fuck me up?
Tailscale has made all of their client source code available for anyone to view so if you want to confirm that you’re not sending unencrypted data or keys through their servers you’re more than free to do so.
https://github.com/tailscale/tailscale
I think there is some merit to setting up wireguard (e.g. you want more devices than what Tailscale offers for free, or their servers become unreliable for some reason)
But people who push the “scarey boogeyman will look at your data” with Tailscale are either technically illiterate or overly-paranoid.
I don't think the hesitation comes from the boogeyman you speak of, but just relying on someone else other than yourself.
This has further implications than just security. Also, whoever gets into self hosting already wants to not rely on others for the most part. If you didn't go into this for the tinkering aspect, I guess Tailscale is completely ok for most, perhaps even ideal.
Nevertheless, none of this has anything to do with the achievements or not of Tailscale. People saying that your own VPN is ok have a point.
If you got yourself into self hosting, you might as well go fully independent. You have already taken care of the most complicated part anyways.
Tailscale is a VPN, how is it "better" than using a VPN?
Tailscale is more than just a VPN. It has a number of features and capabilities which make it more like a private overlay network that just seems to work wherever and whenever. Some of those features; WireGuard (the VPN bit), NAT punching, automatic key distribution, ACLs, split or full tunnel routing to internet resources, SSO. Just to name a few.
Unraid added native Tailscale support in 7.0, now you can just add an "app" (a docker container) and tick a checkbox and it'll appear in your tailnet directly.
For the most part I like Tailscale, but there's weirdness on Android with their app + Private DNS.
This is also my big frustration. I've set it to an Adguard instance that's also on tailscale and the app keeps getting into a faulty state. I've been looking into hosting the Adguard instance on the open web and securing it another way but bit short on time lately.
or zerotier
+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.
How did you automate it to start on networks which are not yours?
This is like the only piece of the puzzle for me.
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
But this will also break whenever there's any more specific route, no?
To answer my own question, looks like there's WG Tunnel[0] on android which does what I need.
[0]: https://play.google.com/store/apps/details?id=com.zaneschepk...
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
Tailscale is built on wireguard but it is not just wireguard. I want a wireguard only solution.
Does it still eat your battery? It used to, and it was so annoying I moved to Nebula
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.
This is a built-in feature of the Wireguard app on iOS, not sure about other platforms.
And specifically it's based on VPN On Demand. https://developer.apple.com/documentation/networkextension/v...
I have wg into home and wg into an aws instance. All my mobile and laptops can reach them.
On Android devices? If so: how? :)
I don't use it with wireguard, but Zerotier works just fine on Android.
As does tailscale!
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.
Or headscale:
https://headscale.net/stable/
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.
Tailscale is actually great for this if you configure an exit node on a device in your home.
It doesn't need to be an exit node unless you want to direct all traffic through that node, like a traditional VPN.
The beauty of Tailscale is that it will only direct traffic to a node that is meant for that node, everything else goes via the internet.
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.
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.
> ... Wireguard, which is UDP based and therefore harder to know if it's running.
Isn't it basically impossible to know if it's running unless you have an authorize key? I thought it didn't respond at all unless you ping a valid entry key off it.
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.
I run Tailscale on an Apple TV which is on a UPS. The thing uses very little power so the UPS lasts a long, long time.
Do you have to hack the Apple TV to run tailscale on it or how does that work?
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".
> 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.
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.
Fail2ban or rate-limiting SSH into a block table are useful layers to have as well.
Another option is port knocking. Super easy to set up and with 4 knocks it provides 64 bits of randomness.
These solutions are composable. Just run it on a VPS over a VPN.
But what if your home hypervisor goes down?
Nothing. You probably though I said "VPN over a VPS", which would just be the same as a VPN, which isn't composing the solutions.
You're suggesting to use a VPS in a thread that's specifically about self-hosting on a home network, and about there being cons to that compared to hosting on a cloud/VPS platform.
So you're sort of driving parallel to the existing commentary.
The parent comment to mine did that.
If you trust someone in your neighborhood/family, you can ask them to power cycle your host and water your plants
That’s a good point.
You can also enjoy your vacation instead :)
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.
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
There is a solution for the first. I have setup my home server torun Tailscale _and_ be a router to 192.168.2.x network (you can set this up in the Tailscale UI). I have server.mydomain.com to resolve to 192.168.2.x address and this way I can access it from the outside via Tailscale and from inside without the need to turn on Tailscale. I have https setup via DNS-01 challenge as well and updated automatically.
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.
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
Any idea on how to segment a VPN between friends? I have a few critical servers on my VPN I only want one or two devices to access, but no other devices. Mostly so that in case a rogue device enters or a friend gets hacked, there's no access to my sensitive services.
In my case I simply create two wireguard tunnels (one called "vpn", the other called "guest") and use firewall rules to block all traffic from the "guest" tunnel to all service except the one that should be "public" (in my case a minecraft server).
I think you could technically do it with a single tunnel by using firewall rules that refer to the IP address of the single peer but it's less convenient.
NOTE: I also added a dedicated dnsmasq instance only for the "guest" tunnel so that they have DNS working and can use hostnames instead of IP address.
This setup is trivial with both OpenWrt and OpnSense, but it should be doable also with manual setup
You can do this on tailscale with their ACL. It is super flexible for nailing down exactly which users/devices can talk to what on your network.
I do this too yes. It's a great extra level of security though probably not too smart to rely on as the only one.
It's true you're already screwed if they get past the VPN and I also don't set up Auth for stuff that doesn't have any private details. But don't count on just the VPN for sensitive stuff. Like password manager.
Yeah, definitely don't do turn off auth for things that matter, if only because I'm not perfectly disciplined at keeping my guests off my main network. I'm talking about tiny services that do one thing—ollama, tts/stt, and similar. Stuff where the worst case scenario is someone using up some processor cycles, not data leaks.
I built a home server project that manages many of the rough edges around deployment of self-hosted apps. It includes DDNS, router+firewall, headscale, automatic setup of apps, and automatic deployment of subdomains and TLS certs for each app.
Apps are blocked to the public by default but accessible using a Tailscale client.
It's built on top of NixOS and completely configurable through a single module.
Still in heavy development but I've replaced an entire rack in my closet with an Intel NUC.
https://homefree.host
Good point. I also use my PKMS as a CMS for my blog. Might just split out the services and go this route.
This is what Tailscale is great at.
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.
So you've managed to unlearn the last decade of security learnings in regards to zero-trust and similar concepts?
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.
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.
That's a comically uncharitable extrapolation on what was said.
self hosting is entirely different than enterprise security practices. You're a little out of touch with reality if you don't realize this.
I'm being serious - please educate us, how do you think that we can do better in a homelab setting? How do you apply zero-trust principles in homelab environment with reasonable effort and without relying on 3rd party services?
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.
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.
> 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.
Could you provide an example of one of the well written explanations?
just go and look at any of the vendors selling “zero trust” solutions. They all have white papers available about how a) perimeter security is “dead” and b) how their specific flavor of zero trust is the One True zero trust and the only thing you can trust to protect your data.
You will without exception need to provide an email address to access these white papers, so their inside sales team can ensure you fully understand the importance of trusting their zero trust, and not trusting anyone else’s.
I’m not kidding - even a little.
Defense in depth though: against a strong threat actor, perimeter based security won't prevent you from getting pwnd, but it will likely take them longer than if everything is on the public internet, and a private network will make weak threat actors ignore you, so it is still valuable.
It's sad that "zero trust" has become almost the opposite of what it originally meant. Now you can have the same insecure RDP server with admin/admin login but at least it's protected by a VPN that only a few tens of thousands of people have access to.
It seems to really be an ad for Directus (https://directus.io/) (?) That he used to replace Obsidian.
One of the first image to hit me when I got there is a button "Start For Free".
And if I want to run it on my own server in "production" it costs money? or at least you have to fill out a form and "Lets chat".
When I go to a page, I click on pricing, and what I get is a form to fill out and "Lets Chat", I am out of there. If they cant show how pricing is structured, No thanks.
""" Chat with our team about your project. We're here as a resource for you. Get clarity on your project, licensing, or enterprise needs. """
It is open sourced they say https://github.com/directus/directus
The first line of the introduction:
"""Directus is a real-time API and App dashboard for managing SQL database content."""
Yeah... that is not what I need for my personal notes system.
"""Manage Pure SQL. Works with new or existing SQL databases, no migration required."""
No
"""Choose your Database. Supports PostgreSQL, MySQL, SQLite, OracleDB, CockroachDB, MariaDB, and MS-SQL."""
Still going on about that?
I dont see this a good fit for the use case he presents.
Yeah, if I wanted to store my data in a database, I'd just go back to using Joplin, a trusted and long term existing FOSS
Pricing page:
Open License $0 for qualifying users
Freely download and self-host Directus for any project without the need for a license. Get Started
If you and your organization have less than $5M in total annual income (revenue and any funding), then you do not need to pay for self-hosting Directus. This applies to all projects, including production and commercial projects.
I think, to be fair, we need to evaluate if this will still be true in 20 years - the same standard to which Obsidian was held.
The BSL and its revenue cliffs isn't open-source but shared-source.
> 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
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
SyncThing has some gotchas when it comes to sync, for example I've had files reappear when I edit them on one device and move them on another. It also seems to create "sync-conflict" files when there is no conflict at all (no modification on one side). I'd also quite like to be able to see the history of my notes sometimes...
I also had this nice surprise literally today, all my synced folders stopped working and had to be re-added: https://github.com/Catfriend1/syncthing-android/issues/1430
But overall it has worked well, I am using it between 4 devices.
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...
It’s $4 a month to sync Obsidian notes, for anyone wondering.
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
The $4 plan was launched March 20, 2024
https://obsidian.md/blog/standard-plan/
It's a good price but still feels wasteful if you also run/pay for nextcloud or similar.
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.
For me it was the It Just Works-iness of it combined with a handy way to support the project cheaply.
As long as I'm paying for it, I'm the client and not the product.
I tried some of the third party stuff, iCloud, Dropbox, etc and with all of them I either lost data because of notes not being in sync or had to manually fix stuff. $4/month and zero issues was well worth it for a tool I literally use every day.
It's not wasteful to support great software.
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
> 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.
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.
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.
I use Obsidian and don't have more than one vault. What a weird thing to claim.
Apple allowing iCloud directories to be permanently downloaded fixed this for me.
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).
Does the iCloud & Windows caveat still apply? https://help.obsidian.md/sync-notes
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.
I did this and hooo does Apple make it difficult to sync files without iCloud. I felt like it was too janky for my liking, and paid for obsidian sync, but I felt like it was really silly how an official app could do it no problem, but you can’t get generic functionality to work with iOS.
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.
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.
too bad Syncthing is no longer officially maintaining andoird app https://forum.syncthing.net/t/discontinuing-syncthing-androi...
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.
For anyone who would prefer to get the Syncthing-Fork build from F-Droid: https://f-droid.org/en/packages/com.github.catfriend1.syncth...
Or you setup a Couchdb and the self hosted live sync plugin. Although the data will reside on a remote server in this case.
Wait. Sync is “free” if you want to use some other service other than Obsidian’s. I pay for Obsidian sync partially for slightly more convenience (fewer non-integrated points of failure) and also to support the app itself.
I’d gladly pay $1000 over a decade for a crucial tool. If the concern is open source and true longevity, I get it, you don’t get that here. But cost for value? Holy shit. $1000 over a decade is absolutely worth it for something you depend on.
If you’re a regular at a bar or restaurant, you pay an order of magnitude over $1000 a year for THAT service. This one is probably worth more.
I can, however, relate to the “every five years my system changes” problem. It’s not fun. At the same time, this is a reasonable cadence to re-evaluate things. If you found something perfect for you that works >5 years, holy crap. You are blessed. That honestly should not be the standard for tools these days—ESPECIALLY in a today’s world.
All that said: I don’t knock the author for trying to build software that can work for someone for 20 years or more. I salute that attempt—and I hope they can do it!—even if I think the specific details of how they got there are flawed.
That’s common thought process: “tool that I use more than 10 times a day to amplify my knowledge? $10 a month? Eye watering!”.
Oh well, time to grab that Uber eats for $20 third time this week.
People are really bad with quantifying things.
I can easily grab a few imperial stouts for the weekend for 20€ but will balk at paying for a search engine.
Until I did the math of use per euro and Kagi turned out to be well worth it. I just drink one beer less a month and it's paid for and I'm healthier too =)
> If you found something perfect for you that works >5 years, holy crap. You are blessed.
Having been unable to find an out-of-the-box app fitting my needs, I built my own personal finances app in 2012 and I'm using it weekly since then.
I'll probably work again on it one day because the technical stack is old, which makes it harder to host, but otherwise it still does exactly what I want, how I want it.
> That honestly should not be the standard for tools these days—ESPECIALLY in a today’s world.
Maybe I'm not interpreting it correctly, but you make it sound like having a perfect system for more than 5 years is unhealthy.
Whereas, I'd say it's quite the opposite.
Back to my finances app, since I'm using it I've been able to focus on improving/mastering other parts of my life. Not having to get back to find another system to manage my personal finances means that I'm able to focus on other stuff.
I have a hard time seeing how that would be a bad thing?
I think its not that its unhealthy, it's that things are unfortunately such that its arare and beautiful thing when it happens and if you expect more you are bound to be disappointed.
There's a lot of tools that are very useful but I'm not going to spend that much on. My water bottle is one.
And I don't think food is a good comparison. Or renting a physical space, depending on what you get out of being a regular.
Still, the basic price of $50 a year for sync is something I wouldn't be very upset with... except my main goal is a collaborative setup with other people and I'm not paying 5x or more to make that work.
It comes down to how much is your time worth. If you're a developer making $100K+ a year, a $1,000 over a decade is nothing if it increases your productivity 2-3X compared to your collegues, which considering the fact that some of my colleagues store their notes in Windows Notepad is a complete underestimation.
So obsidian let's me get 40 hours of work had I used notepad for notes done in 13-20 hours?
I don't disagree with the overall comment but this bit seems like extreme hyperbole:
> If you're a regular at a bar or restaurant, you pay an order of magnitude over $1000 a year for THAT service. This one is probably worth more.
An order of magnitude over 1k per year is almost $30 per day, every day.
It’s missing commas; it should say “an order of magnitude [more], over $1000 a year, for…”
Hyperbole for some but hypobole for others I am sure
I also tried to build my own Obsidian[^1] a few months ago. However, I stopped using it after some time, since maintaining it would realistically be a full-time job. What I also found super annoying was the feeling that I'm never done with it. Whenever I encountered a rough edge or missing feature, I had to (obviously) implement it myself.
All in all, I find Obsidian as good as it gets. Also, Obsidian is probably one of the best options in terms of longevity, as all notes are just Markdown files, no proprietary DBs or other BS that could lock you in.
[1]: https://github.com/AlexW00/brainforge-desktop
As one who has spent years off and on building one, kudos for getting yourself out. I agree with your assessment. I think there's still room for more markdown based note apps and ideas, but it needs to be either a (long term) passion project or have a viable funding strategy. There's an endless slew of not only edge cases and base behaviors, but enhancements and design decisions, on top of maintenance. Obsidian w/ some customization is going to hit a sweet spot for most hackers.
Also, the biggest thing I've appreciated is just how hard it is to tackle a side project while juggling life. Things that would take 2 weeks (80 hours) at work easily ballon into 3 months; things that would take a month end up taking well over a year. Suddenly an idea that is only a few weeks of full time work, is half-way done years later.
Or use Joplin which is open source and also creates markdown files, and setting up sync to a cloud provider that you probably already have is free.
Joplin uses its own database, it can't edit Markdown files.
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.
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?
> 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
Book is exactly what I was thinking of!
I think my only other question is around my preferred "Daily Journal" workflow and unreferenced tags
On one hand I feel some surprise that you're noting a distinction between metadata/tags for collections of notes vs collections of blocks. On the other hand, it's a bit of a peeve of mine that there's a distinction between "pages" and "blocks" in logseq when it comes to linking & referencing.
> I think my only other question is around my preferred "Daily Journal" workflow and unreferenced tags
how do you generally go about that? Trilium has the concept of day notes¹, incrementally building a time-structured hierarchy (years/months/days, but you can configure that however you want), under which you can park your notes. Or you can just let them stay unordered under an "#inbox"² for later categorisation. It's up to you.
My workflow include both time-based (log of events on that day, meetings and appointments happening on that day, etc), and time-independent notes (notes on projects, places, etc), and I have essentially 3 top-level hierarchies:
- Journal ← time-based
- Hierarchical notes ← time-independent
- Reference notes ← collections of things being often referred to
(and I have a workspace³ for Personal-stuff and another for Work-related-stuff, but the Reference notes are "cloned⁴" - and hence accessible ‑ in both).Interestingly, "Book" recently gained a "Calendar" mode, so you can very easily manage notes as events as well, move them from day to day, etc.
> On one hand I feel some surprise that you're noting a distinction between metadata/tags for collections of notes vs collections of blocks. On the other hand, it's a bit of a peeve of mine that there's a distinction between "pages" and "blocks" in logseq when it comes to linking & referencing.
At least it's consistent in that Trilium always holds metadata/tags at note-level. And using Inheritance⁵ and Templates⁶, you can guarantee that all your Reference notes are consistent in terms of type of metadata they hold (all Persons have a "born in" attribute, etc). At the moment I'm working on an extension of the "Book" note type to enable bulk metadata edition in an ag-grid control, effectively managing metadata like a database (not unlike what exists in Notion, but with composition/inheritance and proper sum types).
¹: https://triliumnext.github.io/Docs/Wiki/day-notes.html ²: https://triliumnext.github.io/Docs/Wiki/attributes.html ³: https://triliumnext.github.io/Docs/Wiki/workspace.html ⁴: https://triliumnext.github.io/Docs/Wiki/cloning-notes.html ⁵: https://triliumnext.github.io/Docs/Wiki/attribute-inheritanc... ⁶: https://triliumnext.github.io/Docs/Wiki/template.html
Oh that all sounds super neat!
My current workflow is to drop almost everything into my daily notes, whether time-based, time independent, or reference. The non-time-based notes I'll #tag and logseq will create a new page for the tag or add the block to that page's references.
That way I have both my thoughts on a #topic, and when I thought about it. If I go back and look at the topic and notice a bunch of notes about it spread across time I know that it's a more consistent interest of mine, and can consolidate that info into the body of the topic page, and might start adding further thoughts there directly.
Generally my goal is to get a distraction out of my head ASAP in a way that I feel like I'll be able to find it again later or it'll otherwise be useful, so that I can keep focusing on whatever I'm currently trying to do. Sometimes that'll mean I have notes on two or three different topics on the same daily page that's easy for me to hop between and add to, but it also stays relatively organized.
The other thing I like are "unreferenced blocks" where if I don't think to tag a stray thought I have about, say, RAG, it'll still show up on my #rag page.
Also, Trilium don't have mobile app which is very important for having notes available 24/7. Browser version don't allow offline access and not as convenient as an app
That's correct, there is no official mobile app with full offline sync at the moment, but there are independent efforts underway¹ and more or less involving workarounds².
If you have internet and don't need full offline sync, you should be able to use Trilium decently well today, with the recent responsive theming efforts that went into Trilium Next.
¹: https://github.com/FliegendeWurst/TriliumDroid ²: https://github.com/orgs/TriliumNext/discussions/827
I think trillium is stashing the notes in a database. Certainly it thinks there is a migration step needed to move files around.
The everything markdown feature of obsidian is the dominant one. I can edit the files in emacs when I want to and the sync sorts it out just fine. They're stashed in a fossil repo by one of the machines as a backup because I'm paranoid and that also works fine because it's all ascii files.
Trilium works alongside a SQLite DB. It backs-up your db.sqlite on a regular basis, lets you create manual backups, version-controls each and every note with checkpoints, supports full-encryption, and as soon as you set-up sync between clients/servers, you practically end-up with master-master replicas of your entire notes collection (I have my notes replicated at all time on 3 devices or more). All of this are native, supported features and transparent for the end-user (no offloading to a VCS, no scripting, etc).
Trilium also lets you import/export your whole database as folders of markdown files if you are really into that, I just don't see the point: this is free open-source software, there is no vendor lock-in and no reason to dumb-down the storage layer to text files. But to each their own :-)
But it doesn't seem to store the notes in text-files on your file system.
I reponded to that in this tread, FYI
https://news.ycombinator.com/item?id=44027331
Another person in the thread recommended it. I'll have to check it out this week thanks!
Thank God I got over my tendency for gravitating to such bike-shedding [1] projects! While I appreciate that such pet peeves may result in a net benefit to the world, right now, I am in a place where I would cringe at even taking the risk of upgrading a piece of software that is working fine (like how often has upgrading Pylance or vscode resulted in something breaking? Every single time). The real, actual work is so so so difficult. Sitting down and starting (after attending to family obligations, eating, showering, changing clothes, commuting, et al). Getting into a productive flow state. Not getting interrupted. Not getting distracted. Just choose one thing, anything (OneNote, Evernote, whatever) and get to the real work, I beg you. Productivity + don't mess with success.
https://thedecisionlab.com/biases/bikeshedding
Thanks for sharing this is an understated point from the article as I was fiddling with Evernote, Notion then Obsidian more than I would like to admit. With this I certainly fiddle but I create what I need and get in and out of my notes.
If people find that rhythm and flow with their own PKMS - don't switch for the next shiny thing!
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.
> 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.
Yeah I just wanted to chime in here on what i see as a world view problem that might need to be updated with the times. I see your point about everything being subscription based.
There are definitely software out there that do not deserve to be subscription based. But there are some developers that I think should be supported on a regular basis. Especially obsidian because they develop one product and continually work on it to make it better. IMHO they deserve the money.
On side note I wish there was a way for it to be open source, and the team's reasons for not supporting open source seems a little iffy. They could still make money of of Obsidain Sync or other features that does not need to be part of a Open Source Release. Commercialism of a project this important worries me because people that depend on it can be easy side-lined if the team decides to sell out. Look what happened to the Atom editor. Microsoft brought it then killed it. I know with Obsidian you can walk away from it and thats good, but I always worry about commercial domination of a market causing limited choice.
I know your point was about subscriptions, and I guess I am saying im more supportive of that model, based on the times we are in, for developers that have genuine passion for a project that they want to continue developing.
Heck I know am realizing I need to support open source projects with regular donations because I want them to thrive long term
> There are definitely software out there that do not deserve to be subscription based
My personal experience with software switching to a subscription model is that often that means you will now only get "bugfixes", and new features are usually few and far apart.
There's no longer any incentive to produce major versions with new breaking features, and instead it just turns into a maintenance product, if you even get that.
An Example could be Sublime Text, that while not traditionally subscription based, the license expires after 3-4 years, and needs to be renewed, so it's just a 3-4 year subscription. It was released in May 2021, and receives 1-2 updates yearly, and every update since 2021 has been "fixes" or "improvements". Nothing new has been added for 4 years.
Another example could be Arq Backup. Version 7 was released in February 2021, and while the changelog does have some "new feature" entries, those are mostly just "added the possibility to backup to X service". It does however see much more frequent updates than Sublime Text.
Don't get me wrong, bugfixes and improvements are great, but I expect new features as well. I expect the product to be moving forward, keeping up with current "best practice" standards, and not just turn into a money pit for the developer, just pushing out the obligatory "yeah, we fixed a few bugs" releases.
There are of course also various projects that do things "well enough" that new major releases are not required, like NextDNS. NextDNS works well, and is priced cheap enough to rival the electricity consumption price of a Raspberry Pi running at home. They don't have big releases, are mostly doing maitenance releases, but for the cost, and function of the service that is OK.
And no, not all software falls into this category, and there are plenty of great software that i pay for, which is actively maintained.
Obsidian falls into the new features category of not just updates, hence why I think they are the exception to the rule about the laziness of developers around the subscription model. But I do understand where you are coming from. I just don't think everything above reflects the entire industry.
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
I think that no matter that they do you will always find people complaining. That is humanity's favorite sport. Even when it's free and open source people still complain.
Making software for individual consumers is freaking hard. My own perspective as a founder shifted from "this is a viable method to build a sustainable business" to "let's use it as the base for B2B sales, but it is not viable".
Obsidian is not free and not open source
> 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.
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
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.
And implementing local sync for obsidian is just running on docker container
even better: Obsidian is only $480 over 10 years!
I think the author point still stands though: Obsidian won’t probably be here in 20 years.
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
One of Obsidian's creators is saying exactly the same actually.
https://stephango.com/file-over-app
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.
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.
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
But Op's program have even less probability to be here in 20 years
How?
Because Obsidian exists, is finished, has a community, and is in use?
Because it takes time and energy to develop and maintain a software
We'll see. I think there is a chance that it will.
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.
Can I have those 1000$ if you think that is nothing?
Sure, but only in installments over the next 10 years and in exchange I need you to provide a sync service for my notes.
I'll install https://syncthing.net/ on your computer right now for 100 bucks!
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...
The guy just created some bullshit excuses in order to advertise his new product.
> 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. My guess is that commercial note-taking apps have larger, more vocal communities that drown out the murmurings of other DIY solutions.
Because we value our time.
> 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
Obsidian's syncing was pretty spotty for me. I was a big fan and was paying by the year, but kept getting frustrated when notes weren't syncing across devices.
$4/month is a lot for something that only sometimes syncs.
I'm aware there are some naming constraints due to the underlying mobile filesystems not liking certain characters. This might be why it's not syncing fully for you? I haven't had any other major issues yet.
Ah, I've never had an issue there
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.
The discontinuation of Syncthing for Android bothers me.
https://news.ycombinator.com/item?id=41895718
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.
I switched to syncthing-fork, have had zero issues.
(At some point I'm sure new Android versions will do something that will require changes, but that can happen to any app and we will adapt. I think I've used syncthing for nearly a decade with next to no issues so I'm not very worried.)
Directius (the foundation on what this was built) is Source Available [1] and not Opensource.
[1] https://github.com/directus/directus/blob/main/license
Thanks I'll revise the article
> Will our preferred notes system last the sands of time?
Yes... My note system will last.
> Could you see yourself using your note-taking app you use today in 30 years?
No, I do not trust apps to last. Therefore I use a simple file system hierarchy to categorize everything. Then I use the best avaliable browser and editor.
My setup is Markor on mobile for browse and edit. Syncthing-fork to get it all into my big system where I run customized Neovim and can make scripts to interact with the data as well as syncing any generated output to the phone.
Having been a Obsedian fan, with similar plug-in fascination, I also experienced the negatives the article mention, and I finally settled with a simple file hierarchy and resorting to as few and basic tools as possible. Obsidian is great, but I didn't need all the features. I need a way to categorize, to quickly find, to edit, and to easily sync and my current setup satisfies that and I'm productive with it. (of course it does not reflect Obsidian's second brain feature, but personally I found that concept to require more work than reward and it wasn't intuitive for me to get accustomed to, but I guess the second brain thing is more like a lifestyle).
For years, I used Trello for taking notes and tracking my reading/research. The feature I cared most about was being able to reference notes in other notes and have lists of notes. It turns out that Trello is an awful tool for this because their database doesn't scale well to large boards.
I built a bare-bones alternative where each "card", e.g. book or paper, is a JSON file. This was motivated by parsing the bloated Trello export file into individual files.
I tinkered with this until I came across Obsidian. I used a version of this tool[0] to parse my Trello export into markdown files. It's still not perfect and continually requires tinkering to do what I need, but my present setup is infinitely better than the prior. r.e. another comment: I can imagine using this setup in twenty years and am happy to pay for Sync.
[0] https://forum.obsidian.md/t/t2md-a-tool-to-migrate-trello-to...
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.
Silverbullet is aptly named but I'd actually wait a month or two because it's going through the transition to V2 which shuffles a few things around.
Other than that it's exactly what it says on the tin, a hacker's digital notebook. While it would take a bit of rolling up your sleeves to make it look as nice as Logseq or Obsidian it's actually closer in form and function to something like org-mode for Emacs (though not quite hitting the mark regarding linking sadly).
v2 is here already as far as I know, I mean I'm happily using it.
It's got some rough edges. I want to sit down and build it so I can add an id to the TOC so I can CSS style it to be floating and submit it upstream.
I'm also having issues with integrating it with Authentik's header proxy auth, keeps directing me to a note with the outpost path as the name. The only guide is for authelia.
Thanks for mentioning this, it looks exactly what I want; a markdown web app that stores the files using the filesystem on the backend!
Very impressive!
Holy shit this is awesome
> Obsidian charges $8 a month to access the same notes across multiple devices. While not a huge amount for such a useful app, it adds up to an eye-watering amount - almost $1,000 if I planned to use Obsidian for a decade.
This highlights one of my personal bugbears. People have a mental barrier when it comes to recurring, low-cost payments; even though the net sum is small in comparison to other things that they wouldn't think twice to pay for.
A $5 latte every workday comes to (260 * 5) $1300 annually. Obsidian sync is $96. Why would you not pay this amount for a tool you use everyday?
> People have a mental barrier when it comes to recurring, low-cost payments;
It's because they add up. In this specific case, considering OP job and it's heavy use of obsidian, it makes no sense to not pay for the synchro, if only to support the company[1], but if I was paying 8€/month for all software and service I'm using I would be bankrupted immediately.
Ironically this hurt open source and companies proposing generous free tiers the most because the amount of money people have for software will go to the one they cannot get for free.
[1] actually it makes no sense to develop your own tool when alternatives already exists
Also it is competing with a free editor and USB stick that has been around since 2000. That's the anchor.
Then now you have Google docs, Dropbox, O365, Notion, Confluence, etc.
I mean, by this definition it's competing with a small paper noteblock and a graphite pencil. Lose the USB and everything is gone, forgo all features of Obsidian, etc.
> A $5 latte every workday comes to (260 * 5) $1300 annually.
I spend ~€10 on food per day. Paying $5 for a coffee _every day_ sounds like a lavish luxury. Fun fact: global median income is only ~$2500.
> Obsidian sync is $96. Why would you not pay this amount for a tool you use everyday?
If I paid $96 for my notes to sync, I'd still need to set up some synchronisation mechanism for other files (e.g.: photos, documents, music, etc).
I.e.: I would still need something like Syncthing. If I'm going through the effort of setting up Syncthing, including notes notes for it is trivial.
Also Obsidian asks for permissions to read files in all of the device on Android. They don't explain clearly why that is necessary.
I don't see it being discussed that widely.
Also another aspect is that many people seems to think Obsidian is open source, while it is not so.
Not anymore. As of Obsidian 1.8.10 you can use app storage which doesn't require additional permissions. It's explained here:
https://help.obsidian.md/android
Still they are recommending people to use device storage permissions with "All files" permissions rather than the limited App Storage permissions.
They prefer that the users use the less secure option.
The primary reason it's recommended is that it provides more freedom and interoperability. Read this thread and you'll notice that many people sync their notes using Syncthing. You cannot use Syncthing with app storage because the files are sandboxed. Many people enjoy the freedom of being able to read/modify notes using multiple apps.
The secondary reason is related to user expectations and file deletion. The device storage option behaves more like desktop in that if you delete Obsidian your files will not be deleted.
For people who are okay with the tradeoffs, app storage is now an option. That's a good thing, no?
That(using whole device, all files access permissions) is entrusting all your files to the good senses of Obsidian, which is not an open source app.
There isn't a good reason to grant an app unlimited file access permissions.
If Obsidian didn't allow people to store files in the device storage it would be accused of forcing people to use the paid first-party Sync. Offering both options lets people make the choice that's better for them.
> Also Obsidian asks for permissions to read files in all of the device on Android.
Oh interesting where did you find that?
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.
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
I've been doing this for a while. My biggest hurdle was implementing sync between local and backend. I ended up using GitHub as my backend, Chrome extension as frontend, and implemented a simplified version of the Git client in SQLite with lots of triggers. Happy to share it with people. The app is here: https://github.com/osmoscraft/tundra and the sync logic is here: https://github.com/osmoscraft/tundra/blob/master/apps/browse...
I really admire the way you've solved this.
This is exactly the type of thing I want to inspire others to tinker with! Some of the readers feel there's a single optimal solution. Though I'm confident that there's room for a plethora of PKMS solutions
Oh and funny enough I'm in the process of working on an open-source chrome extension for bookmarking things I've read it looks similar to your https://github.com/osmoscraft/osmosmemo project. Picture of the tool in use is here https://notes.holeytriangle.com/admin/files/a969c5f6-fa9c-44...
I also built my own note-taking app[1] out of frustration of existing apps, so I can relate to the author.
I wanted:
- A flexible block editor like Notion.
- That runs natively and FAST (unlike Notion).
- Where the underlying data is always plain text (Markdown formatted).
I wrote about its development on my blog[2].
[1] http://get-notes.com
[2] https://rubymamistvalove.com/block-editor
I have switched to joplin from evernote and I am using webdav on synology NAS to synchronize notes. It is open source and also self hosted and works on all platforms without problem. I also share notes with my wife. We use it for planning and shopping lists and it works really great. It has some basic conflict resolution which is usable for two people.
Joplin uses sqlite as storage but you can export collection to md files and there is backup plugin which does that periodically.
Also you can setup external editor. I am editing notes in neovim and joplin is just for viewing.
I'll always applaud people building things and experimenting and building momentum, so I think this is a worthwhile exercise, but practically questionable.
I think this is extreme micro-optimization of something that ultimately matters little (or not at all).
The hard part of PKM isn't finding the perfect tool, it's to take the time to:
-read/experience something and actually take good notes on it -actually retrieve something from your notes and add to it with new knowledge
Those two activities are how you get almost 100% of the benefit of note-taking, whether you're using a self-hosted sync or a folder of txt files.
Of course, a few things make these easier (linking, RAG, daily docs), but most of the common tools now offer this
There are community plugins to self-host the sync-server though.
Anyway, I hate the fact I'm using closed-source editor, because it kinda is a sensitive thing, but the more I'm using Obsidian, the more unlikely the switch seems. I was kinda stingy with installing new plugins too, but, well, you cannot just ignore the productivity benefits. It doesn't seem feasible to build something like than on my own (for multiple platforms too!), and nobody brave enough seems to have made it so far.
Even if you try to replicate it, you need the community support and enthusiasm and interest in hacking and sharing their work to compete. Joplin is a great alternative, but the community plugins pale in comparison to Obsidian if you're a power user
I'm assuming a lot of interest in Obsidian stems from (1) having underlying plaintext docs, and (2) preferring the doc-as-note unit
If you ever relax these constraints, Tana is a great mix.
I'd call it a mix of Roam + Notion.
Now that it's in GA, easy to recommend too.
> Obsidian charges $8 a month to access the same notes across multiple devices. While not a huge amount for such a useful app, it adds up to an eye-watering amount - almost $1,000 if I planned to use Obsidian for a decade. I was surprised at this fee because I thought Obsidian was open-source.
Before going out and building my own software I’d have looked into self hosting the files. To save those couple bucks.
I just use iCloud for the sync and it works great with Obsidian
Note-taking app is very complicated, even bookmark manager is also complicated. They need much time to develop and maintain. If one person develop a himself/herself such app, the possibility is giving up at last.
I think there are two ways:
1. Select an open source app which meet your requirements
2. Select and pay for a commercial app
do not waste your time and resources for it, just use a or some proper tools, and use the time for the most important things.
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
Can I ask how you created the image at the top of the article? I really like it.
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.
AI image gen
fwiw, on mac/ios you can put your obsidian vault inside icloud directory and have a “free” cross-device sync feature.
Hell, you don't even need obsidian. Just create a bash function
While we're sharing simple note taking functions, here's mine that I used for a few years. :)
* '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.
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
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.
Any notes on how you achieve this? I use a-shell on my iOS devices but it is... sometimes flaky
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)
> 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.
Not practical if you want to also sync with non-Apple devices.
FWIW there is iCloud on Windows [0]. There seems to be some Linux options, but nothing official, so it seems like it'd be a lot more effort there. Also no official Android app it seems.
[0] https://support.apple.com/guide/icloud-windows/what-is-iclou...
Then use the git-sync plugin, or many of the others mentioned here.
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?
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.
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.
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.
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?
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
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.
You can self-host obsidian syncing which is exactly what I'm doing. You can also share your notebooks with something like Syncthing, but you may get merge errors that way - just self host the database (CouchDB) and you're good to go:
https://leduccc.medium.com/setup-self-hosted-synchronization...
I think an PKMS is strictly related to how each of us thinks. It's similar to project management/organizer tools. I also created my own (https://brainminder.it/) based on how I think: I prefer to organize items by type with different fields that I can add and search. Instead of simply collecting ideas and thoughts, I'm trying to build a system that can help me evaluate leveraging what I've entered.
Reminds me of the Zettelkasten note-taking method.
I'm not confident I understand how it works from the site though. A video of how it works would be helpful.
At the meta level, my life is already too short to allow closed-source tools for anything on which I may need to depend in the long term. Commercial entities come and go, for reasons important for them but not necessarily for me. Old, ancient code can be made to run, as long as it's available and legal to distribute and run. If it's useful enough, I will be not the only user by far, and there'll be enough collective effort to keep it afloat, or replace adequately.
Locally runnable freeware is the next best thing, but a distant second.
So, no Obsidian for me, no Directus for me, etc, no SaaS; Org mode is good enough so far, and when it becomes inadequate, if ever, I'll start looking.
On the inverse, even as a FOSS advocate, my life is too short to only use open source software all the time and to reinvent the wheel and tools that have been put together into one fantastic product by the combined effort of hundreds of people.
I used Joplin for years, I even self hosted the Joplin Sync server, but Obsidian + Community addons runs literal miles around it from a performance and user cusomizability standpoint. Yes, I could stick to being a die hard FOSS user and spend twice as long doing the same tasks, or not even be able to due to lack of community extensions that do the same thing on Joplin's side. I could spend a 100 hours learning how to write a Joplin extension to do what I want and that would be a waste because that's 100 hours less that I've spent focusing on growing the skills that I get paid for. Life is too short to reinvent the wheel every single time.
The product may be fantastic, and thus a force multiplier. But it can see an abrupt end, thus incurring a loss. Whether you win more than you lose, on average, depends on the use case, and the particular advantages. As everything in life, this us a trade-off.
My point is that for long-term, high-investment stuff, in my particular view, the possibility of interruption and loss outweighs any possible upside, and any migration would be costly. Similarly, a move from a house where you lived for 20-30 years by its disruptiveness may tantamount to surviving a flood or a fire.
For "short-term" tools this is not so, very obviously, but they do not need my investment, hence they would incur no loss were I to migrate off them if a replacement exists. I could not replace Google with anything, but then DDG and then Kagi appeared, and largely replaced Google web search for me, quite seamlessly. When a better LLM appears, I will start using it instead of Claude. Etc.
>the possibility of interruption and loss
That's not the case here though, Obsidian's a markdown editor. When you own your data and you're using a public plain text format it doesn't matter if your editor is closed source. You can literally open your files in any other. There's no migration cost, that was kind of the point.
Out of interest what add-ons do you use that make a big difference for your needs?
I still mostly think like you, but I'm now more open to closed source tools.
The question I ask myself: is the advantage here so significant that it's worth the hypothetical switching cost at some point (and is export even possible?). If the answer is yes to both, I go for it.
For quick notes on the go, I also did go my own way and eventually built the app I wished I had. Journelly: kinda like tweeting but for your eyes only (in plain text)
https://xenodium.com/journelly-like-tweeting-but-for-your-ey...
While you don't need to know anything about its serialized format, it happens to be powered by Org plain text. For Markdown fans, I am recording Markdown interest. Do reach out: journelly + markdown at xenodium.com.
edit: A user's blog post from today (also a Markdown fan) https://ellanew.com/ptpl/157-2025-05-19-journelly-is-org-for...
Where are the text/pictures stored?
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!
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 : )
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.
Always possible, just not something I really want to do :)
Most note-taking apps share the same fate: they either become obsolete over time (due to unsupported operating systems, security issues, or discontinued drivers) or end up locking you into a proprietary ecosystem.
My solution was to move to a file-based system — using plain folders, files, symlinks, and relative links. The filesystem is one of the most fundamental and enduring parts of computing infrastructure, which means I can rely on accessing my notes the same way 20+ years from now. It also allows me to plug in containerized tools for viewing or editing notes, without being tied to a specific app. Filesystem APIs are incredibly stable — basic commands like mkdir won’t suddenly be locked behind a subscription.
Plus, there are plenty of options for syncing and real-time collaboration, many of which are self-hostable and vendor-neutral.
You should write about your solution it sounds interesting
This is exactly the route I've taken. Just rely on known tools and filesystem.
About a year ago I did the same migration: Obsidian to self-hosted Directus.
My main reasons were:
- Straightforward queries. I have a lot of structured data in my notes and lesson plans, and being able to work with SQL was ideal.
- A web app was much more reliable than Obsidian's third-party sync platforms.
- I could extend Directus to do all sorts of other things. I eventually built my wedding planner and website backend on the same Directus instance that holds my notes.
The biggest disadvantage is that the writing and saving experience isn't as fluid.You're the first person I've heard of that has gone this route. Cool to know I'm not alone.
And yeah I have the same gripes around the writing experience. I prefer Vim so I've been looking into ways I can use my notes as local markdown which sync on save. Of course, keeping the Directus editor for my mobile device edits.
Here's a video I did for the Directus Changelog that shows how my system works: https://www.youtube.com/live/SZg6hYMA3yo?si=Qi-E5NGeoQicnpR_...
It's highly eclectic, but might give you some ideas?
https://web.archive.org/web/20250518171639/https://amberwill... as long as the original throws a 500 "Internal Server Error".
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.
Username checks out & you'll probably outlast us all
Is there a reason that Obsidian, Notion and OP all decided to use a dedicated sync service, as opposed to just using generic file storage, which may or may not be in the cloud ?
It would seem to me that it would leave out a whole lot of complexity to just use Google Drive / OneDrive / iCloud Drive to handle the synchronization across devices, and if need be you could then just add encryption on the cloud storage (if desired), which you would need to do anyway for the dedicated sync service. It would also reduce the infrastructure cost a lot, and utilize resources already available.
You can sync an Obsidian vault with whatever you wish, the online option is mostly convenience.
On desktop yes, but on iOS at least, i can choose between iCloud, local or Obsidian Sync.
Simply "plugging in" to an iOS File Provider interface would be a better experience from a user perspective, but i realize it would sell fewer Sync licenses, which appears to be the business model after they removed the requirement for purchasing a license for commercial use.
iCloud and local are less problematic, but Obsidian Sync introduces a governance / compliance hell i'm not prepared to face, and OneDrive / SharePoint is the preferred, pre approved, company file syncing platform. Getting Obsidian Sync approved requires GDPR audits and other niceties from ISAE 3000.
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.
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".
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.
OSS alternatives with free syncing to your chosen cloud already exist, and have plugin systems. Why not just contribute to those? Because this is either advertising or procrastination.
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.
Obsidian answers one of the key questions I asked these days of tools that I use, “Can I walk out of this easily and seamlessly?”
The best tools are the ones that get things done and get out of the way. When the time comes, you can walk out of Obsidian easily without being a hostage in any format.
The few plugins that I use are the ones I can walk out too and live without it. I love the idea of spending extra time to learn the details, shortcuts, and be able to use a tool natively without the help of plugins or extreme configurations that it takes hours/days to deviate too far away from the original configurations.
I wrote an article for me to remember it in future. https://brajeshwar.com/2025/obsidian/
I long for the days of a note taking / personal "data store" system that isnt a pain in the arse to use. I really couldn't give a damn about apps i need to tweak like craxy or constantly maintain to work how I want. Obsidian is good but its just massive overkill for someone who just wants to wright stuff down and have it securely stored, and accessible anywhere anytime its needed.
The second someone says "oh just set up X server and add Y plugin and tweak Z settings" you've lost the whole point of the thing.
My solution: a bunch of Markdown files in a git repo. I move between files with Vim's `gf`. I sync manually. If I really need to, I can edit through GitHub's web UI. Not ideal in amy way, but wicked simple.
Can't you do the same with Obsidian too? It's also just Markdown, and I believe there's even a plugin to perform Git commands within Obsidian. The main issue you can run into, is when you overly rely on markup syntax that only works in Obsidian.
Obsidian is so useful to me, I don't mind paying for the sync to support Obsidian dev.
The notes being markdown is also very useful, I spend most of my time in a text editor, so I installed a Neovim plugin that works a bit like Obsidian [1]. So, for simple note-taking, I don't have to open Obsidian at all. It comes in useful when I need to use the massive collection of plugins, especially Excalidraw.
1. https://github.com/epwalsh/obsidian.nvim
I tried a number of note taking apps. I use them for longer term storage of ideas, rather than daily todos. For example holiday itinerary or project ideas. Because of this I don't use them very often and I found I could never remember the basics of Obsidian.
One app that is very simple to use had everything I needed and sync'd using Github is https://about.noteshub.app/. I have been using it for around 6 months and found it perfect for my needs.
Maybe I’m just not a very insightful person, but I can’t imagine ever having so many original and valuable thoughts that I’d need a place to store them. In fact, many of the things I think end up being wrong, so I’d rather use the Internet as my “PKMS” since it is more likely to refine what I think I know.
It’s more like.. project ideas you actually want to pick up, projects in progress, notes while learning something, journals, writing. It can definitely get heavy, but like a personal knowledge base can really be helpful. I store my measurements, health stuff.
Granted, I am neurodivergent and have memory issues, so it’s hard for me to say what use it’d be to anyone else. But like, if you’re doing research into something deep, experiments, etc , and you have to put it down sometimes, it’s nice to be able to pick up right after you left off.
I'm a fan of TrilliumNext, which is open source, for this:
https://github.com/TriliumNext/Notes
Thanks for sharing. Their encryption service is a nice source of inspiration on note encryption https://github.com/TriliumNext/Notes/blob/56d4d7c20f775eed73...
Same, this gets my recommendation. Trilium is one of the most under-rated tool I know of.
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.
The whole article can be summarized by “I don’t know that iCloud sync is free”.
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.
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.
I created Hot Notes to fuzzy search my Apple Notes folders and titles, it is working quite well for me. I think it could work well for your nested folders.
https://github.com/emadda/hot-notes
You might be interested in this, then: https://www.myforevernotes.com/
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.
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 :-)
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.
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).
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).
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
I was hesitating to start writing my own PKMS. Today I started: Lisp and postgresql, thanks for writing this post!
Nice one
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
this is the inevitable PKMS pipeline, and the one that almost certainly led to Obsidian and Notion to begin with.
Need PKMS > Use existing product > Notice shortcomings > Switch to main alternative > Notice shortcomings > Begin creating bespoke PKMS with the specific functionality you wanted.
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) .
As of Obsidian 1.8.10 on Android you can choose to store your notes in the sandboxed app storage which means other apps can't access those files.
What do people's success stories with fancy PKMS looks like? I get writing stuff down, but I've never quite gotten the deep linking stuff. I tend to just be able to get away with some basic folders.
Agreed. Particularly with running your notes through a text embedded model you can use semantic similarity and no longer need to manually link notes! This is something I'm excited to add in to my PKMS at some point.
Simon Wilson does a great job at explaining this here https://simonwillison.net/2023/Oct/23/embeddings/ see video at 6.30 min to about 10min point.
Same here. I get a massive amount of value out of writing things down at home and at work. I get comparably little value out of linking things together — beyond direct references at least. I think this may be a difference in how different people think and recall information.
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?
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?
I’ve done this! I wound up writing a small 500 sub LOC solution (very bare bones) that I copy/paste when I work in places where I don’t get to use my fav note taking software.
That said, I just converged on Apple Notes in the end.
Very curious to hear from avid note takers: is it a habit? (maybe addiction?) is it just a tool to do you work better? Is it for fun? Why the elaborate setups (Git + Wireguard etc.)
Sincerely, not-trolling, from a bare minimum note taker.
There's a lot of ways to sync your notes for free with those said community open-source plugins, including through standard free cloud options if you really want to pay zero and have no server in the middle.
I use Joplin (https://joplinapp.org) on mobile and pc(windows and Linux). Joplin has a free encrypted sync via OneDrive.
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"
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.
> 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.
I installed logseq but i guess i am either too stupid to learn it or just lazy because there are so many things
Vibe coding a plugin to increase security, compared to trusted, open-source code? The mind boggles.
Open-source code has been known to have back doors and versions with security vulnerabilities.
I would never use AI code gen I don't understand fully and typically made amendments to get what I need the tooling to do. So yes I prefer personal simple scripts I maintain and understand 100% : )
I wish there was something as lightweight and as well integrated as Apple Notes. Just support MD, sync well and have a search function.
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.
That’s also one of the options I considered. Right now I have a git-synced obsidian but it feels awkward.
Obsidian is nice...
but.. i just think that writing markdown (unless its just #headline and ### subheadline) it takes too long.
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.
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).
At least for me personally, the paid syncing was pretty spotty. I was a hug fan of the app, paid for yearly billing, but never got notes to sync consistently across devices.
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.
> "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.
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.
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:
Also makes it trivial to run a note through a static site generator and publish online.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.
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!
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.
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.
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
Sounds like something I would use. A demo gif in the readme would help understand what it does faster
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.
Does anyone know of a tool that can e2e + collaboration (or in other words: notion but e2e)?
Anytype. Local-first, p2p sync with e2ee. It uses the notion model (everything is an object, you can create "databases" with queries of objects). It doesn't store markdown directly I believe, but it can export into markdown perfectly.
I recently moved to anytype from logseq as it hit for me all the right notes for personal stuff, shared family stuff and work stuff.
I wanted something like notion but faster and most importantly, private.
We're building https://thymer.com/ to do this. Real-time collaboration, local-first + end-to-end-encrypted (and optionally self-hosted).
Cool. May I ask how you implement the collaborative e2e? Do you encrypt the content multiple times - once for every user?
The workspace data is encrypted with a (symmetric) workspace key. Each user gets hteir own encrypted copy of that key, using the user's public key. By wrapping the data-encryption key for each user the content is only encrypted once but each authorized user can decrypt it.
Ah ok. I guess that means when a user leaves the team, you have to re-encrypt the codebase with a new symetric key (as the user would still know the old symetric key)?
Depending on the threat model you want to protect against, yes. For example, although a revoked user doesn't have direct access to data anymore, they could technically collude with us to get future encrypted messages and then decrypt them. At the moment rekeying is only possible by exporting a workspace, changing its key (with a command line tool), and then reimporting it.
I didn't want to sidetrack you with this. I just wanted to know if I understood correctly. I believe this is nothing you need to worry about at this time. Thanks.
Maybe Anytype, or self hosted appflowy
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.
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/
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
Plain text in git. Eternal, searchable, compact.
This is orthogonal. You can do this _and_ still use Obsidian since a vault is just a directory and notes are markdown.
Funny - I went the opposite direction. Built my PKM in neovim (still a works in progress) + lua + markdown [main plugins I use is treesitter, telescope]; the upside? It's the same tool I use for editing all of my code, config, documentation. I have already re-implemented features such as Dataview and Tasks (not a 1:1 re-implementation, but covering the gaps) using common shell tools (i.e. lua, rg, sed, etc). I have written a few small functions, plugins for neovim that I use myself. I've kept it as barebones and minimal as possible (don't want to overbuild) so I can maintain it myself and not incur maintenance cost for this.
I sync using git between my two laptops - I have given up on mobile sync as I realize: I rarely need to edit my notes on the go, it's mostly for view only, and most of my deep work is on the laptop anyways. Yes, I have a "3 copies - 2 locations - 1 remote" backup system in place (I upload an encrypted volume once a week to iCloud [I'm already paying for it] for my remote).
I wanted to eliminate a dependency on proprietary tools and I've found a way to manage my notes in the same way I manage everything else - using my filesystem, and common open source tools.
Sounds cool. Is it open-source?
I tried obsidian but VSCode and Dropbox or Github is hard to beat. Stays out of your way.
This too is a solid choice particularly with Github actions for free cron jobs for instance
> 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.
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....
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.
Why not Anytype? long love IPFS p2p sync.
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.
> 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
As a fan of Vim, I'm a fan of this solution. Are you able to access them on your phone?
> 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
This is what I've switched to doing -- just pushing to my phone as a viewer; I realized that I don't write/think on my phone at all. It's just too annoying, but I do like having certain things (like recipes) on hand.
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.
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?”
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!
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
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
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).
Sure will have a look
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.
> 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.
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
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.
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`
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)
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.
If you're not too wedded to git, have a look at fossil, perhaps. Its a dvcs just like git, but is itself distributed as a single static binary. This binary, in addition to allowing you to init & interact with fossil repo's, also comes with an integrated bug tracker, gui (for logs, etc), wiki, even a web forum with threaded discussions (so kind of a replacement for a mailing list).
And a builtin admin interface to govern permissions on the above. Plus, its its own server. All of this ... is builtin to that single binary.
It has a few of its own quirks as a vcs, but its pretty much equivalent to git, both functionally & conceptually (if you know git, you'll know fossil in 5 minutes)
So, if you want a dvcs for syncing, and don't want to setup git for external access, try fossil?
I appreciate that you are taking the time not only to do the work but to document your experience and share it.
Thanks. More devs should write about what they're building. Its the hardest part for me
> 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
just use txt / html / numbers/excel / files. All will lasted next 20 years.
A solid lasting PKMS solution
For anyone who wants an analog version of this: https://youtu.be/UV7vaqElPHk?si=_c-rxqV4RGhluTJS
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?
I like using neovim / nvim + plugins for this kind of thing
Emacs chads just keep winning.
Emacs can be a curse too. Once you get into it, it's really hard to use anything else..
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.
People definitely sleep on emacs, which is a shame, but I do get it. I switched to emacs fulltime for coding for my work a few years ago, and really had it tailored to my preferences but drift (that took just slightly too long for me to keep up with while on the job) combined with AI features in other editors led me to land on Zed for code, which saddened me but is probably the best fit for coding.
However, Org-Mode is seriously a killer feature that is well worth it on its own. I use emacs to handle all my finances, notes with org-roam, blogging with ox-hugo, dotfiles in a massive org-tangle document, etc. I couldn't find anything remotely to compare it to, and have failed attempts at switching. There are tons of ways of interacting with Emacs that are just lightyears ahead of anything else. Literate programming and tangle are a godsend for tons of different use cases for me as well. I even keep running notes in the base of my codebase so I can hop to various files and capture locations in the relevant files as links in notes.
The only pain point for these tools for me is trying to use them as part of a commandline integration. I really wish org-mode and org-roam's functions were callable outside of emacs, e.g. for automated document generation from org-mode. One of the most painful things I've had to setup is an org-roam-server integration that updates and deploys org-roam-server when the git repo containing its files is updated. Only way to do that seemingly is to run emacs in a very strange way inside of a docker image. Intuitively it feels like org-roam-server should be able to build itself into a static website for deployment. Might seem like a nitpick, but it's really not -- that interface is a huge part of why I use it and not being able to host it without horribly hacky workarounds seems like a massive weakness.
> I really wish org-mode and org-roam's functions were callable outside of emacs
What are you even talking about? It's like wishing for java programs to be able to execute without JVM, or Erlang-code without BEAM. While that's theoretically possible to a certain degree (using Graal and Lumen), it's not easily achievable.
Org-mode is written in Elisp, of course it needs Emacs to run. You just need Emacs executable and you can absolutely run scripts in batch mode. I have done it many times, running tests on GitHub Actions, etc.
Which is why I've settled on neovim; I've written my code to be as modular as possible, so I can pull it in an CLI program if needs be.
Neovim is a text editor. You can't compare Emacs with just a text editor. Just like you can't compare Emacs with a browser, music player, note-taking app, email client, etc. Emacs, first and foremost, is a Lisp REPL, with an embedded text editor. Without deeply understanding and respecting this aspect it is difficult to appreciate what Emacs could be, what you can do with it.
Imagine this — one morning I was watching my colleague showing me a bunch of things over a Zoom video, and I didn't feel comfortable interrupting him with "wait, don't scroll away, I didn't get that, allow me to read it", "hold on, I'm taking notes", etc. I sacrificed my lunch break to write a small Elisp command that runs tesseract to OCR the image in the clipboard. Now, I don't even have to ask my colleagues for explanations or tell them to share the url they are currently browsing — I can just grab it with a couple of keystrokes to make a note. And that's just one, single, isolated example. It cost me twenty minutes of my time. Twenty minutes of investment that paid itself many times over already. And I have tons of similar examples.
And this is why I stay away from eMacs.
"Staying away" implies understanding the perils or benefits, I don't think you ever fully understood either. My point is not to bash on your choice of an editor — I use Neovim myself (it serves me well occasionally).
You "stay away" from Emacs most likely because you don't know any better. Do you use your editor to read and annotate pdfs? Or watch videos? Or manage the library of your ebooks? Or track your expenses? Or control project management like Jira? Or keep your knowledge base and note-taking? Or interact with LLMs? Or explore APIs like Postman? Or keep your spaced repetition flash cards like Anki? Or use it for chat over platforms like Telegram and Slack? Or find and read RFCs and manpages? Or to perform web-search, search through your browser history, Wikipedia, Youtube? Do you have etymology lookup, thesaurus, dictionaries, translation? Or to order pizza? Or measure distances between coordinates on a map? Automate things based on solar calendar or moon phases? Manage all your configs, aka dotfiles? List, browse and code review Pull Requests, etc., etc.
Now tell me, what a sane person ever exposed to all this usefulness would ever reject it? Only those who never had patience to reach it, or those who are oblivious to the possibilities.
(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.
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.
> wrists
there is evil-mode, even mouse support ;-)
Did you use evil mode? I am basically just running Spacemacs and I don't often need to use ctrl and option most of the time by leveraging the modal editing.
Just a reminder that if Obsidian or Logseq is not sufficient note taking solution for you, nothing will be. The problem is on your side
Syncthing + wireguard solves this. What a waste of time.
just use txt.
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.
[dead]
[dead]
[dead]
[dead]
Gotta respect anyone who just builds their own stuff instead of waiting around for the 'perfect' app to show up.
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.
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.
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