I really do need to get started on a personal wiki. I might give this a try.
It would be nice if I can get the files into git that I can save to a private github repo (I'm fine paying the one time payment to support them but $8/month seems too much for a simple sync feature)
I've been playing with this app for a few minutes, and it does appear to save everything in plain text files, so adding it to git would be straightforward.
I'm currently saving into a dropbox folder, which gives me automatic syncing.
Since it's just markdown files, using a fit repo to sync it is trivial. There's even an obsidian plugin to automatically commit/push in regular intervals (i.e. every 30 minutes).
> It would be nice if I can get the files into git that I can save to a private github repo
It's just a directory of markdown files. Nothing preventing that directory from being a Git repo. Lots of people use it that way (or with Syncthing, Dropbox, or whatever).
Obsidian is great. I'm a paying supporter (catalyst and sync).
Weirdly I started playing with Emacs + org-mode recently (never been an Emacs user before!) and I'm seriously considering making it my exclusive "second brain".
Something about org-mode, org-babel, org-jupyter, org-agenda and org-roam that just clicks with me.
Emacs is so customisable that as soon as I want to customise anything, I get lost searching for solutions online and inevitably give up on using Emacs altogether.
I use emacs-mac with spacemacs which works pretty well out of the box. What I try to do, to not go into the "hacking Emacs" rabbit hole, is to really avoid tweaking it unless something is really interfering with my workflow.
I think the biggest problem with Emacs is that you cannot really make sense of a lot of stuff until you start programming elisp in anger. I tried for many years to copy and paste snippets etc, but now I realised you just need to bite the bullet and learn it like any other programming language and be prepared to do "real development" in Emacs. Its very difficult to be a "tourist" in Emacs, IMHO, a lot of things just don't make sense until you became more of a elisp programmer.
Couldn’t agree more. I used to get annoyed that I had to copy and paste code snippets that I found over the Web just to configure basic stuff. It got out of control pretty quickly. Now I understood that Emacs is supposed to be used by programming it. Turns out it was meant to be a feature, not a bug.
Exactly. Ironically, Emacs is also the place where transition from tourist to resident is the smoothest. You can stray writing and evaluating Elisp practically anywhere. (Almost) Everything is programmable via Elisp, everything is documented in excruciating detail, learning about any system attribute is two keychords away, there are debugging and profiling tools built in, and source code for very built in thing is available. If the target is to make average Joe into a programmer with least effort, things don't get much better than this.
Emacs is fantastic for Yak Shaving. You can spend hours or days tweaking and modifying its configuration files if you're not careful.
My advice for those seeking to get into Emacs: start from scratch. Learn how to split your custom.el from your init.el, and make sure you're using git to manage those files. Then start slowly and install org-mode from source and go from there:
8 │ ;; Save customizations in a different file. Prevents this file being
9 │ ;; modified by Emacs.
10 │ ;;; Code:
11 │ (setq custom-file (expand-file-name "custom.el" user-emacs-directory))
12 │ (when (file-exists-p custom-file)
13 │ (load custom-file))
14 │
15 │ ;; Before anything else, orgmode:
16 │ (add-to-list 'load-path "~/.orgsrc/org-9.4/lisp")
17 │ (require 'org-loaddefs)
18 │
19 │ ;; First off, we need MELPA and the org-mode repo:
20 │ (require 'package)
21 │ (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
22 │ (add-to-list 'package-archives '("org" . "https://orgmode.org/elpa/") t)
23 │ (package-initialize)
Paying user here too, big fan. I've had several adventures with Emacs (mostly vanilla, some Doom), but always find myself returning to (Neo)vim due to performance and the perceived Windows-hostility of the project.
I mention this because I, too, fell in love with org-mode and magit, and for a while I kept using Emacs only for those tools. Org quickly became a cornerstone of my workflow and made it easy to separate notes and tasks for different clients. I think Obsidian leaves maybe a bit much up to our imagination, but that's part of the beauty of it, imo
Currently sticking Obsidian (because it's discoverable, fast and extensible) and Neovim (only because Emacs is too antiquated)
I don't see why that would be problematic. You can name each folder/note what ever you want.
I guess you could also write a plugin for Obsidian that would do this for you.
I don't really see the need for numbering though. Obsidian has a very robust system for tagging and linking together notes. Coupled with proper search, I can always find what I need.
I do store my notes in a hierarchical context centric way (Finances > Loans > Calculations) which also helps.
The only thing missing for me in Obsidian is filtering of list of tags it tag pane - when I select one, list should get filtered to show only tags coexisting in notes with selected tag/tags. I write about it too often. Otherwise, it's perfect in searching/accessing notes. I use Obsidian every day and love it.
Bloody brilliant! Assigning states is exactly how I use tags too. With tags, I always find that I'm just adding more avenues to be unhappy with imperfection. "Oh, is that the perfect tag? Is that tag too obvious? How will I remember this tag later on?" I would hate to have to develop an entire philosophy of tagging, because I have too many others anyway. So I prefer to deal with the one-stop uneasiness of "is this the right folder for it?". Still not perfect, but just the one.
Thanks for writing that post! I look forward to reading more on your website.
Why have I never heard of this before? And I'd really like to see some example top-level hierarchies.
And I'd ask, still, is is unnecessarily hierarchical? If you only have 10 categories below "20 Finance", why not just stick the (maximum) 10 categories under 20-29 in the top level? You'd still have the conceptual grouping under 2x, but without the indirection.
It does sound very interesting, but designing the system well at the beginning looks quite important (moving categories around later on probably causes large overhead) and difficult to do without experience.
I would also like to see more examples. I'm an academic, if anyone here is also one and has implemented this system I'd be very interested in seeing what your tree looks like!
Not seeing real-life examples is the most frustrating thing about JD in my opinion. Not John Noble's fault of course. In that spirit. My structure is below.
The Writing bits contain my two obsidian vaults as well as the static site generator contents for two websites I write on. As you can see, pretty much most things of any importance are covered, and yet I've got tonnes of space free to add onto later. Hope HN formats this danged list properly.
I'm far from a strict adherent to it though. Not everything is three levels deep. Some things are much more than that (like the SSG stuff for instance). But this is real life and not an abstraction after all.
Thanks for sharing! I will try this out with work files - personal work files so far. If I like it probably also for personal files. I suspect lots of personal stuff will still be outside the system - like coding projects. I don't like to have coding roots to far away from $HOME
What I'd like is an easy way to keep my notes synced on my laptop and my android phone. I suppose I could install git on my phone and do it that way, but maybe there's a less faffy way I'm missing?
As long as you can sync a folder on your phone (whether with Git or any cloud service), mobile app can open it.
Of course, you may experience some conflicts, but that's why you can pay them not to worry about that. Totally worth the price for me, though I do have a permanent discount ($5/month, as does everyone that signed up before Sep 30th).
Try Syncthing (Synctrayzor is a nice wrapper on Win, Syncthing-Fork on Android is better than original Syncthing), if you don't want to pay for their Obsidian Sync.
I keep my notes synced on a Dropbox folder. On my Android I use Dropsync to keep all synced changes in the local file system (the official Dropbox app supports that but only for paying users).
I've been using it with termux+git on phone. My shell history has the full path to the obsidian folder and the previous git commands. So I just do up arrows and enter. Not that ugly.
I'll admit it's not as UXy as pressing a sync button
Syncthing. Been using this combination for a few months now and seems to work fine between an Android phone and a few Windows + Linux machines.
I had previously been hosting TiddlyWiki from my phone, but offline editing + opportunistic syncing when on WiFi seems to fit a personal wiki better for me.
I really love obsidian. Sure it has a couple of wrinkles, the mobile app is new still and has a couple more wrinkles, but it scratches so many itches I have around note taking.
Currently using it alongside https://get.mem.ai/ and love the pairing for knowledge base and real time notes. I’m working on combining the two to come up with my ideal set up.
Just tried out mem.ai. Unfortunately, very buggy through account creation (registering my phone number failed) and the layout doesn’t work on mobile.
As something that’s built and branded for quick release of information, I think there’s some more work to be done. Worth following, but isn’t immediately useful for me.
No, they have no specific vscode-extension. That would kinda defeat the whole purpose of it. But there are a bunch of markdown-extension doing more or less similar things. But IMHO a dedicated app serves the purpose better so far. VS Code is good, as an editor. But it's not (yet) an app-platform.
snapshots aren't that big. A wiki server just runs on a single server? I thought it was pretty common among the HN population to have a cloud note solution. Syncing files seems more hassle than a one-time docker setup.
interoperability for one. Makes it fairly trivial to move notes between apps. I tried out Obsidian because I could just copy my logseq markdown files over.
Markdown compatibility is cool, but what's even cooler is stringing these together to be able to create a new note in a specific folder with a template that contains some variables, and having all of that automatically added in an index note.
If emacs scares you and other options are too limiting, this is where you'll find that sweet spot between user friendliness and extensibility.
I'm the type most comfortable with taking notes on a physical piece of paper (cuz then I can draw stuff and make mind maps).
After many months I'm still learning to use Notion more extensively for different things e.g. automating stuff via the API
This is my first time coming acrossing Obsidian, just wondering if anyone's been using both Notion and Obsidian.
How would doing things in one and not the other differ from a use-case perspective, etc?
(I never quite understand this graph thing from a cognitive-offloading perspective, and how it should be utilized for domain-specific things, etc) I feel like it's often the act of taking notes that is benefitial (eg helping us to clear up the conceptual space). But maybe that's cuz I'm not in a name-intensive field like biology?
I use both Notion and Obsidian. The main difference is that Notion is an entire database processing platform, especially once you get into mirroring databases, and getting savvy with filters and check boxes. Not to mention the fact that everything in Notion is its own page. This makes it wildly customizable, and again, programmable.
Obsidian is a lot more static. It's basic strengthis having offline capabilities, simplicity, and markdown. I use it exclusively for my Zettelkasten, which I also have on Notion (I started my ZK and migrated it over to Obsidian). Obsidian is great for ZK in part due to its simultaneous multiple panel openings. So, you can see multiple notes at once. Notion can do this too, and I've use its Gallery fxn for exactly that, but there's something less claggy about Obsidian in this regard.
Notion is great for GTD and project management (again, when used dynamically with filters etc). Obsidian is great for note storage and retrieval, as well as processing ideas and arguments for use later in writing articles, scripts, etc.
I see! Thanks for the detailed breakdown and comparisons! I'm now somewhat convinced that I should definitely get familiar with Obsidian and exploring different aspects of it
Zettelkasten has been something that I wanna try out for a while!
The comments here made it sound exciting, but it seems like it's proprietary, which is a no-go for me. I'll stick to plain text file notes and the occasional org-mode for now.
Software _is_ proprietary, ie. closed source. I fully understand that this might be off-putting for someone.
Almost all plugins accessible from the app are OSS, though, and Obsidian has a process of checking them and some kind of control, which I don't know details about.
Obsidian just looks at the folder you specified and all files created with it are just plain text. You can work in notepad all you want and use the software to view the rendered markdown.
As an open-source alternative, Joplin could be worth a look. It's a little different in terms of features, missing a lot of the linking which is kind of key to Obsidian's appeal, so maybe it's closer to Evernote. Still, they're fundamentally the same in terms of being a note-taking app built on folders of markdown files. It's quite actively maintained and improved too.
Joplin is my choice too. I deplore the complicated codebase, unfortunately. I would have made the changes to get better linking, at least in a personal fork, but I could not find the time to commit myself to it.
Also Joplin's mobile app is poor compared to obsidian's, and that's with obsidian basically just shoving the same content as in the desktop app into a mobile web view.
Joplin is great, simple, and I love it. I find things like connections and tagging to be more work with minor, if any benefit. Just folders with markdown works great.
I’ve been using Joplin for about a year now too. My favorite feature is the totally seamless cross-platform sync. Honestly if Obsidian had better support for sync on e.g. Dropbox, I would’ve taken the plunge.
Joplin has its issues though. For instance, it seems confused about the format that it wants to store your notes in. Desktop search recently became useless too (no highlighting of search terms and ranking is broken).
I’d check out logseq [0]. Closer to roam than obsidian, but GPL, operates on plaintext files, and supports Org-mode style formatting as well as markdown. It’s getting to be fairly fully featured by now, and the development team moves fast. It’s a joy to use.
Yep, and you choose where logseq files are stored, so you can use anything you'd like to for syncing. I will say though, I've tried using Dropbox for syncing with logseq, and it ended up creating a lot of duplicate copies due to conflicts. Have had better luck with iCloud/Syncthing (also, many people actually use Obsidian + logseq, so I believe you can take advantage of Obsidian's sync if you choose to). In any case, having better file syncing is something the logseq devs are currently working on.
Logseq does not currently have templates integrated the way Notion does, but it wouldn't be difficult to programmatically create them since they're just plain markdown files. There's a plugin ecosystem for logseq now, so I think it's just a matter of time before someone writes one to generate templates.
I actually used Athens for several months and then switched over to logseq once I found it. They're quite similar in functionality, though logseq is a bit further along in my opinion (e.g., the task management and time tracking is more advanced in logseq). Which I was fine with not having in Athens. What ultimately pushed me towards switching was the fact that logseq stores notes in plaintext, whereas Athens notes are stored in these difficult to parse .bkp files. Having the ability to easily write scripts to do whatever with my notes is important for me. Also, not a technical point, but the developer of logseq seems like a really nice guy! :) (see https://www.youtube.com/watch?v=DUGV8HL-poQ)
While Obsidian may be proprietary, as long as the files follow standard markdown syntax, it can be opened in any markdown editor. I am currently using both Obsidian & Typora on the same workspace folder(I like Typora better for editing since its WYSIWIG). Not being locked down to any specific software was the primary reason I moved away from OneNote.
Obsidian has it's own flavor of Markdown there is bunch of stuff other Markdowns (including CommonMark) doesn't support.
> We strive for maximum capability without breaking any existing formats, therefore we use a slightly unorthodox combination of flavors of markdown. It is broadly CommonMark, with the addition of some functionality from GitHub Flavored Markdown (GFM), some latex support, and our chosen embed syntax
Why? "Markdown" is not a standard, it's a loose collection of formats. CommonMark is a standard, and they are not calling it that. Anything that is Markdown-like can be called Markdown.
It's the same deal with lisps. Lots of languages are "lisps", even the ones that are slightly different than the ones you're used to. Then there is a Common Lisp that is a language that is also a lisp.
It’s just nice to be able to differentiate between markdowns that adhere to some existing implementation (GitHub, CommonMark or something else) and those that are their own flavor.[1]
“Markdown” is marketing speak for “you probably already know this”. Which yes, sure, but all the little tiny differences between all the different implementations can act as annoying papercuts.
At least it’s not wiki markup...
[1] GitHub Markdown etc. are fine since they can be called that (X Markdown) and not just “Markdown”.
Some snippets from those two pages, where they call their own syntax just "Markdown":
> Markdown is a lightweight and easy-to-use syntax for styling all forms of writing on the GitHub platform.
> You can use Markdown most places around GitHub:
> Here’s an overview of Markdown syntax that you can use anywhere on GitHub.com or in your own text files.
> Create sophisticated formatting for your prose and code on GitHub with simple syntax.
It's until the bottom of those pages that they start mentioning GitHub Flavored Markdown (GFM).
Just like how Obsidian deals with the very same documentation.
Not sure what the problem is, Markdown has always been different on different entities on the internet, since there is no common specification. Blaming Obsidian for this seems short-sighted.
If you want an open source alternative, you should check out Notabase [0]. It's like a mix of Notion + Roam Research, designed to be delightful and easy to use. The difference from Obsidian is that it's database-backed.
The Open Source solution which serves me well for years has been TiddyWiki (1). Supports Tags and various modes of output. Each page one file or all in one, very open so recursive changes can be applied on the shell in plain files.
TiddlyWiki in many ways is the best predecessor to Obsidian, in that it follows many of the same priorities and tradeoffs.
I was a big user of TiddlyWiki but Obsidian has so many UI quality of life improvements, and the plugin ecosystem is evolving at such a rapid pace that I decided to jump ship.
You probably mean the NodeJS version. I agree. It’s not just starting a Docker container. There are more steps involved. And there is no authentication.
Last I checked there was no good way to do quick capture of articles from mobile iOS to obsidian. Scenario — I come across an article on my iPhone, and I just want to dump title + URL (maybe even the text content) into obsidian. This is a must have for any note taking tool. Anyone have a good workflow for this, please share. Ideally an iOS shortcut.
My main gripe with Obsidian. That, and the fact that it costs almost $100 to have the mobile app sync with the desktop. That's insane to me, and feels vindictive. I'm all for paying for the platform. Seriously. These ventures need bottom - up support. But, syncing is a basic feature that any mobile app should have baked in. Charge for 24-hour support, something that actually requires the time of the team.
Just download the app make a vault. Same it in iCloud or google drive. Now use your desktop pc and copy the files over. Done and a accessible vault in your smartphone.
Note that iCloud Drive on the Mac is a bit random about when it decides it wants to sync files. I ended up abandoning that setup after too many times of being somewhere and finding my laptop never pushed up the latest version of a file.
You can't just save the vault in Good Drive on your phone, because the vault is looking for a folder on your phone to sync to. The Drive option simply isn't there. From what I've seen you have to download another, third party sync app, to do that, and that just sounds clunky af. Obsidian charging $90 a year(!) for sync is just super lame. I can wait til they realize that.
In the spirit of HN always recommending, to my absolute infuration, "Org-Mode" to noobs usisc Windows when it is clearly a non-solution, I'll offer my own non-solution. Don't take notes on your phone.
My relationship with my phone is the best it has been in a decade, because I fucking despise using that thing. It's cramped, limited, inflexible, addictive and disposable. It's an awful machine to do anything non trivial. So, now my phone just serves as a calendar reminder for upcoming meetings, maps, and messaging. It is no longer a "constant companion". I use it for less than an hour a day on average. I don't even have a browser on it. I love this. I love my superior smug face when I'm on the bus and every other pleb is buried deep into his/her screen, while I ride astride with my zen halo glowing brightly, taking in the world, paying attention to squirrels being chased by cats and so on.
There is more to life than increasing it's speed. Nature does not hurry, yet everything is accomplished. Do fewer things, but cherish them more. Throw the phone into the trash, and wait till you're in front of a laptop or a desktop.
I actually do all of those things you mentioned but also like to keep things simple and take my notes on iAWriter on my iPhone which syncs with iCloud and is very conveniently available on my iPad and Mac as well. Haven’t found a more simple and markdown supporting application in years. You don’t need to dump all functionalities of your phone to enjoy life.
Fair, fair. My comment was pretty tongue in cheek anyway.
I was going to suggest to the GP that they take a screenshot, and then process it later on, when they do their weekly review or something. If the URL isn't fully captured in the screenshot (because smartphones are woeful pieces of dogshit remember), then they could search for the article. Adding that extra friction is a Good Thing in my opinion, because it forces you to consider whether accumulating all that extra burdensome information is worth the friction. But your solution is smoother :)
This is exactly how I felt when trying to use my smartphone for ‘productivity’. The screen is so damn small and most apps zoom in so damn close there’s no space to do anything non-trivial. It feels like I’m operating in a workspace for ants. It’s impossible. So I concluded that experiment and now exclusively use the phone for stupid cat videos.
Have you tried Markdownload? It's a browser extension that saves and downloads web content as markdown. I use it all the time on my desktop but it's a browser extension and supports Safari, so maybe it's helpful for you too.
Yes. I have seen the .mdown extension also, but .md is the default in every editor I've used, and it's a default for readme files on Gitlab and GitHub.
We're talking about the website here, not the file format. .md is the top-level-domain for Moldova, Obsidian.md exists at that address by the good graces of the Moldovan government.
It's clever until you hit issues with uptime, or breaking the specific rules of the TLD. I'm also a supporter of Obsidian, but it scares me that the domain is under the whim of the Moldovian government and could get shut down/redirected if someone who uses Obsidian Publish decides to write "bad" stuff about government officials since the TLD doesn't allow that.
> Registration restrictions: Prohibited domain names with bad taste, foul language, injurious to public order or to public sensibilities, with offending character, or with obscene or pornographic words
The latter is my concern. Until 2020, Moldova had a pro-Russian government. They could easily return to power. I would see Moscow having zero qualms about requesting e.g. certain visitors be re-directed to a Kremlin-controlled server.
I have switched to Obsidian and I use multiple vaults for multiple purposes.
One is for work, one is for personal projects and notes.
One for Books and Movies I watched or want to watch.
And one for Zettelkasten[0].
Obsidian is extremely customizable and user-friendly. And to make things even better, which is a must for many people including me, it saves the files as .md in the local storage.
You can even sync it among n devices for free using Box, Sync, Mega, OneDrive, Dropbox or whatever floats your boat.
Just as a quick exercise, I spun up a fully functional Obsidian clone that runs in the browser that works locally, in four hours using React- just in case the company goes under in future. It works great.
The one thing I found weird when I looked into Zettelkasten is the focus on having relatively hard to read IDs as the primary part of the title. It could certainly help in the original use case of having to categorise and store physical paper notes, but it just feels obsolete in a world where you have digital notes, hyperlinking, and search.
I've found that to be exactly the case. Once you are able to freely hypelink your notes, the ID isn't really helpful. It's the first thing I dropped from mine.
The funny ID thing was necessary when zettelkastens were physical cards in a box that you need to keep in order so that you can look them up. Digital zettelkasten apps have largely dropped the ID systems, you link cards just by their name, and you can use folders or internal headers for ordered structure when you want it.
You don’t need crazy IDs any more. In Obsidian I just make sure each of my notes has a descriptive title and that’s enough to ensure it’s unique.
Some of my notes are literally just a bunch of links to other notes because the title of the notes is descriptive enough that stringing a bunch together I can form entirely new sentences.
Could you share your clone (w/ source code)? I've been wanting to build an open source Obsidian Publish alternative w/ the ability to authenticate and edit - Yjs + ProseMirror would allow for high quality collaborative Markdown editing on the frontend.
More broadly, I want a general Markdown notes "backend". Obsidian currently operates on local vaults which we can sync w/ general cloud providers, but no providers have all the features I'd want. Using Git lets me have great versioning of notes, but makes realtime syncing impossible, and using OneDrive is the opposite, so for the moment I'm using a Git repository in my OneDrive to get both.
It would be great to have a universal self-hostable note vault backend that interfaces with Obsidian, Dendron, etc. and allows for real syncing and publishing without requiring something hacky.
My biggest protip for Obsidian would be to never look at the connections graph. If you've got any kind of "completionist" mindset, it's easy to waste a bunch of time trying to perfectly format your notes so every node has a bunch of connections to other nodes. Once I got out of the habit trying to maximize the amount of backlinks in each note, it became a useful tool instead of a chore.
Ironically i found the same behaviour in me and immediately thought it would be a great idea to further gamify colleagues writing docs. There is something rewarding about keeping the graph optimal. It becomes almost pretty to look at.
Just add some achievements, XP, levels, silver/golden/diamond/epic statuses to notes with pretty colors and shiny graphics, and a lootbox mechanism with slot machine sound effects.
For me the act of making connections is part of the review process. The connections are really in my head. The documents are just part of the memorization and structuring. I don't spend much time on it though. Just when a subject is unclear in my mind.
The Jiggl extension gives a local network view that is actually useful and not overwhelming. You can custom style nodes by folder or tags. This makes it intuitive and worth keeping open in a frame.
Aside from the technical characteristics of Obsidian, they have created a great community, particularly on Discord. They sell things (I'm a happy customer) but you can use it completely free. No nagging to buy or hitting you with ads or anything.
I built a simple journal solution for myself two years ago. It sends an email every day and I can reply to it, and the response is stored in an SQLite database, in plain text. The db is on a remote server but copied to Dropbox every day (and in any case all the emails also exist in my sent folder).
It is surprisingly effective at storing not just what I did with my day, but random thoughts and ideas, solutions to bugs, etc. All I have to do is type something every day.
In 2 years I have typed around 150k words. For reading he whole thing is just one plain html page, searchable in the browser.
I'm currently experimenting with documenting my reading, while the book is being read (instead of a summary at the end). We typically forget what we expect while we read, and only remember the final impression. Taking notes at the end of each reading session, not just about what I just read, but also about what I think will happen next, and revisiting that later, is surprisingly interesting.
I'm somehow on the same boat as you. I've tried dozens of "fancy" tools but they never stuck. A plain text file, kind of a "flat wiki", that you can search with your text editor may be the grail of note taking. What I consider critical is to "tree-shake" it often to remove the cruft. Hints:
- Tree-shake your notes each time you iterate them. You'll leverage your excitement and it won't be a chore.
- Maintain part of your notes public, it will be a catalyst to polish them. A git repository is perfect for that. Serendipitously, I started a related thread a couple hours ago: https://news.ycombinator.com/item?id=28895647
I use gjots2, a hierarchical plain text note taker. If I need photos, LaTex, inline math, or such, I use Zim -- a local desktop wiki. And of course, I use text files, permanent and otherwise.
The nice thing about both gjots2 and Zim, is that their source files read almost as easily as text. This is especially true for gjots2.
I like the hierarchical arrangement of gjots2. I still have Ctrl-F if I want to search, but sometimes in browsing a category, I find things I would not have found with search -- sometimes how I refer to things changes with time -- and I've got many years of gjots entries.
I do not, as gjots author Bob Hepple does, keep separate topics in separate gjots files -- one big tree in the left panel holds all topic headings.
I just wrapped up writing my own. I’ve been following a lot of projects such as Archivy and Obsidian for a while, but neither of them were what I needed. Wrote a flask app that does exactly what I need.
Obsidian’s business model is really smart: creating a knowledge management system that applies to the vast majority of use cases, add room for a little modularity, and monetize it.
However for those edge use cases, which on HN might be closer to a majority, it’s important to first hash out exactly what sort of features you need.
Do you need to link files as well as notes in a knowledge graph?
Your solution seems to miss the single most important feature of Obsidian, the ability to link notes together with references directly in the documents.
Obsidian is a knowledge base, what you are describing is a note taking solution. Might work for most people who just want to scribble things down, but once you start having information you want to inter-connect, it'll break down.
> It sends an email every day and I can reply to it, and the response is stored in an SQLite database, in plain text.
Maybe this is obvious to other readers, but I love this portion of it. I think it's one of the critical details to making things like this work. It's easy to built a tool that you "just remember to use" but the issue then the tool is implicitly asking the user to modify their workflow, which isn't always trivial. So well done.
Another simple example: one of my favorite features in Slack is /remind. It can do recurring reminders, reminders way out into the future, and is as simple as typing `/remind me "do the thing" in 6 months`. Critically, it's in Slack which I'm using all the time anyway. It's not tucked away into a calendar I won't look at, or in a place I have to remember to get to. It's right there, and it's really easy to set another one up. I've thought about building a separate tool to replicate this, but I know it will never have the same utility without being in an existing workflow.
I tried using a database for personal notes many years ago and the problem I discovered was that I can't do a quick Ctrl+F to find previous scraps of knowledge.
Instead, I use plain "notes.txt" and use the editor's text search functions (including regex functionality) to locate things.
These 2 ways of finding text have very different ergonomics:
- SQL: select * from notes where description like '%ubuntu config%';
- text editor: Ctrl+F "ubuntu config" <press Enter>
Yes, one can write a program to "dump" the SQL database to a text file for subsequent search by a text editor. The problem is that it creates a read-only file that you can't edit-in-place. And one can also write a custom wrapper program in whatever language as a GUI for the database but now we're way past your simply "reply to email" paradigm and expending a lot of effort in "yak shaving" instead of just taking notes.
Not saying your system is bad for you but I'm guessing that most people would find the friction of a SQL database too high for freeform notes.
It would be extremely easy to replace storing in a db with append to a text file. (As a matter of fact it already appends everything to a text file for added security...)
However I kind of like the fact that it's hard to edit, and I (almost) never do it. It's a log -- the log of my brain.
Also, append (or prepend) to a text file means everything is in the order it was written. But sometimes I miss a day and then come back to write about days out of order (I write about Tuesday, then about Monday).
With a db it is trivial to order posts either in the order of the days or in the write order, etc. With only a text file that would be very difficult.
> most people would find the friction of a SQL database too high for freeform notes
Something that I find not only true, but inherent in relational databases: they require some kind of schema, and schemas for freeform text and ideas are notoriously difficult.
I created my own software, which doesn't have a fancy gui or anything, but organizes my notes sufficiently for me, using plain markdown files and dumping the contents into an ElasticSearch index configured for text analysis. I can easily do a very good full text search on the body of the notes, plus I've indexed the keywords for each note in their own mapping.
In addition to having good linking together of related ideas, wiki-like, it's good to have the ability to fruitfully search without the restrictions of exact term matches. Even relatively simple things like stemming and common synonym matching* can improve the usability of a large collection of notes measurably.
*No, I don't think we've really solved the searching by synonym problem. More work is needed.
SQLite has full-text search built-in (including tokenization of english words with similar roots). It takes just a few statements to enable, and it can even do spelling corrections with an optional extension.
I used to use a SaaS that did exactly the but unfortunately they shut down after a few years. I still have my notes in Gmail since they were just emails but I miss getting the reminders.
P.S. I like your description of this as your log of your brain.
It's all pretty simple, but all the mail part uses Mailgun routes, which now require subscribing at least to the "Foundation" plan, that costs $35/month.
Fortunately my routes were already set up and still work on the Flex plan; I just can't edit them any more; but they were pretty generic so that's not too much of a problem for me; but it would be a problem for a new implementation.
Also, the code isn't pretty and since I built it for myself, it doesn't have any security feature whatsoever (no login, no sessions, no encryption, nothing).
I don't think I want to deal with all the people who would tell me how bad my code is if I published it... But for me it works.
- - -
That said, sending emails is the easy part; it's dealing with incoming email that requires a better Mailgun plan (not just for routes but for parsing the content of the email).
If you only need a system to send you an email every day you can 1/ open a Flex account with Mailgun (no recurring fee, pay-as-you-go email) and 2/ setup a cronjob with a short script in any language that can do a POST request; here's my example in Python.
(There are certainly many other providers that do the same thing.)
- - -
PS: I'm surprised of the interest though; last time I talked about it on HN it didn't generate that many replies; someone did indeed mention a similar SaaS that folded for lack of growth. I think it's one of those things where all potential users are already here on HN...
Did you completely misunderstand the text segment you quoted? It doesn't say that the software itself is open-source/free software, it's just talking about the data it produces/maintains/uses, so your comment seems to be way offside.
"Did you misunderstand the text segment you quoted? Nowhere does it say, 'I am ironic'; therefore, you have no right to find irony in it. You, you, too-freely-associating nitwit, you."
What is your point? I've moved my obsidian notes to vscode and back without any issues. Is closed source software somehow incapable of having true statements?
Closer: "I am incapable of reasoning, except in broad generalities".
Having an open and simple file format that is easily imported/exported is all many of us want from software. We are actually perfectly OK with paying people for work. Separating data freedom from access to source code is a perfectly meaningful thing to do, even if you personally don't like it.
I assure you that I'm personally good with the separation, which makes sense.
I made a remark about a remark, and nothing more.
Speaking of personal, I don't mind attacks; do go on. Well, not that I want to encourage it here, where it is not allowed, but you can PM them to me, if you have more.
It's by default tricking you into believing you should trust it, so yes closed source is incapable of having true statements until proven wrong (source: you can't prove it by nature)
I do like Notion. I have been a paying customer for the last year. But I find that it has too many limitations for how I work. Why can I not customize colors? Why is there no plain text block? Why is there not a simple table? So many basic things seem missing.
If what you have in your notion is mostly ideas, concepts, and thoughts, then Obsidian is a great choice. It is not as great for storing facts, because of the lack of something resembling Notion's robust database system.
So I use both: Obsidian for ideas, beliefs, concepts, explanations, class notes, etc. Notion for Goals, freelance client project info, job hunt tracking, to watch/read lists, images and links for internet arguments, plans for video games, travel plans, technical solutions, exercise and practice routines.
Always fun to see these original comments in a HN thread. If you write this on Twitter you can get hundreds of retweets, hurry before someone else writes the tweet!
Jokes aside, Obsidian being a Electron application is not a issue. The app starts in under 3 seconds for me, barely uses any RAM and CPU usage remains stable and low.
If you want to actually contribute anything to this thread, feel free to give feedback on specific issues you find, that it's using too much CPU or whatever. But as it stands, you're not really adding much here.
It takes me about 15 seconds to boot my computer. But do I need to start the computer each time I do something on it? No, I leave it on.
Similarly goes for other things you use but takes "too long time" to open, leave the thing open and you just have to switch windows to access it.
And if you think Obsidian is a note taking app, then yeah, it's not the right tool for you, continue using Vi/m. But once you grow out of it, you'll need a knowledge base instead, and for that, Obsidian is lightweight.
You may also use any other note taking app as your default brain dump and use Obsidian as your editor tool to work your notes afterwords. Just for note taking anything would work its markdown/text. Where obsidian wins is backlinking information and all the wonderful community plugins that's been appearing.
My problem with Electron apps is that they don't seem to support window decorations under Wayland on Linux. I'm trying Logseq (https://github.com/logseq/logseq ) right now, and like any Electron app on Wayland, you have to start it via "Logseq --enable-features=UseOzonePlatform --ozone-platform=wayland" but that still doesn't give you window decorations (like titlebar, minimize button, etc)
For me, it definitely adds something to the conversation. I simply much prefer native apps to Electron-based apps, and I'm not the only one. The original comment thus saves me time.
For obsidian it is a significant advantage because you can have plugins that e.g. render a markdown task lists as a Kanban board.
It seems to fall into the vs-code category of being sufficiently well optimized, but if you wanted to deal with millions of files then some popular plugins (queries on tasklists in all files, aggregating data into diagrams, etc) probably would get slow.
Obsidian benefits from being an electron app because it has allowed people to create many plugins that provide useful UIs and these plugins likely wouldn't exist otherwise.
(That said, there are non-Electron alternatives like Tauri coming along that use the native webview to accomplish essentially the same thing.)
And as is typical for Electron apps, it installs in some non-standard location (C:\Users...) on Windows, without even giving you the option to change it.
Obsidian may be Electron, but it doesn’t feel like it to me. It’s fast, smooth, and I’ve never noticed excessive memory usage. I think its quality exceeds most fully native apps, especially on Linux.
Last I heard it was built entirely by two people (and two cats). What’s a better way to build a high quality native-ish application targeting 5 platforms with a team of 2?
Yes. I use Fedora 34 and I completely agree. Obsidian is very smooth. I admire logseq but it is buggy and slow (although I will periodically monitor their development) and I can't see myself using it atleast for now (Not sure if it's due to OS).
372 comments
[ 4.1 ms ] story [ 460 ms ] threadIt would be nice if I can get the files into git that I can save to a private github repo (I'm fine paying the one time payment to support them but $8/month seems too much for a simple sync feature)
I'm currently saving into a dropbox folder, which gives me automatic syncing.
It's just a directory of markdown files. Nothing preventing that directory from being a Git repo. Lots of people use it that way (or with Syncthing, Dropbox, or whatever).
I setup a cron job to git add ., git commit, and git push everyday at 3am, so that I don’t have to think about it at all. It works great.
https://news.ycombinator.com/item?id=23324598
Thanks but org mode seems to handle that kind of thing just fine.
Weirdly I started playing with Emacs + org-mode recently (never been an Emacs user before!) and I'm seriously considering making it my exclusive "second brain".
Something about org-mode, org-babel, org-jupyter, org-agenda and org-roam that just clicks with me.
I use emacs-mac with spacemacs which works pretty well out of the box. What I try to do, to not go into the "hacking Emacs" rabbit hole, is to really avoid tweaking it unless something is really interfering with my workflow.
Exactly. Ironically, Emacs is also the place where transition from tourist to resident is the smoothest. You can stray writing and evaluating Elisp practically anywhere. (Almost) Everything is programmable via Elisp, everything is documented in excruciating detail, learning about any system attribute is two keychords away, there are debugging and profiling tools built in, and source code for very built in thing is available. If the target is to make average Joe into a programmer with least effort, things don't get much better than this.
My advice for those seeking to get into Emacs: start from scratch. Learn how to split your custom.el from your init.el, and make sure you're using git to manage those files. Then start slowly and install org-mode from source and go from there:
I mention this because I, too, fell in love with org-mode and magit, and for a while I kept using Emacs only for those tools. Org quickly became a cornerstone of my workflow and made it easy to separate notes and tasks for different clients. I think Obsidian leaves maybe a bit much up to our imagination, but that's part of the beauty of it, imo
Currently sticking Obsidian (because it's discoverable, fast and extensible) and Neovim (only because Emacs is too antiquated)
I don't see why that would be problematic. You can name each folder/note what ever you want.
I guess you could also write a plugin for Obsidian that would do this for you.
I don't really see the need for numbering though. Obsidian has a very robust system for tagging and linking together notes. Coupled with proper search, I can always find what I need.
I do store my notes in a hierarchical context centric way (Finances > Loans > Calculations) which also helps.
Thanks for writing that post! I look forward to reading more on your website.
And I'd ask, still, is is unnecessarily hierarchical? If you only have 10 categories below "20 Finance", why not just stick the (maximum) 10 categories under 20-29 in the top level? You'd still have the conceptual grouping under 2x, but without the indirection.
I would also like to see more examples. I'm an academic, if anyone here is also one and has implemented this system I'd be very interested in seeing what your tree looks like!
The Writing bits contain my two obsidian vaults as well as the static site generator contents for two websites I write on. As you can see, pretty much most things of any importance are covered, and yet I've got tonnes of space free to add onto later. Hope HN formats this danged list properly.
I'm far from a strict adherent to it though. Not everything is three levels deep. Some things are much more than that (like the SSG stuff for instance). But this is real life and not an abstraction after all.
30 Hobbies 31 Solo sports 31.1 Weight Lifting 31.2 Running 32 Team sports 32.1 Football 33...
You get the idea.
Edit: It looks like it's backed by git so maybe it could be used for free, with a bit of faffing. Unfortunately I'm cheap and lazy.
Of course, you may experience some conflicts, but that's why you can pay them not to worry about that. Totally worth the price for me, though I do have a permanent discount ($5/month, as does everyone that signed up before Sep 30th).
Overall this setup Just Works for me.
I'll admit it's not as UXy as pressing a sync button
Syncthing may be even easier, but I didn't try it since I am not sure if I can restrict it to LAN only.
I had previously been hosting TiddlyWiki from my phone, but offline editing + opportunistic syncing when on WiFi seems to fit a personal wiki better for me.
As something that’s built and branded for quick release of information, I think there’s some more work to be done. Worth following, but isn’t immediately useful for me.
(For now I personally use vimwiki, instead. I just can't quite leave the vim keybindings for typing.)
I also find the requirement "have internet" is a good trade-off against the requirement "install client on every device".
- Query your notes into tables/lists: https://github.com/blacksmithgu/obsidian-dataview
- Templates with variables: https://github.com/SilentVoid13/Templater
- QuickAdd: https://github.com/chhoumann/quickadd
Markdown compatibility is cool, but what's even cooler is stringing these together to be able to create a new note in a specific folder with a template that contains some variables, and having all of that automatically added in an index note.
If emacs scares you and other options are too limiting, this is where you'll find that sweet spot between user friendliness and extensibility.
After many months I'm still learning to use Notion more extensively for different things e.g. automating stuff via the API
This is my first time coming acrossing Obsidian, just wondering if anyone's been using both Notion and Obsidian.
How would doing things in one and not the other differ from a use-case perspective, etc?
(I never quite understand this graph thing from a cognitive-offloading perspective, and how it should be utilized for domain-specific things, etc) I feel like it's often the act of taking notes that is benefitial (eg helping us to clear up the conceptual space). But maybe that's cuz I'm not in a name-intensive field like biology?
Obsidian is a lot more static. It's basic strengthis having offline capabilities, simplicity, and markdown. I use it exclusively for my Zettelkasten, which I also have on Notion (I started my ZK and migrated it over to Obsidian). Obsidian is great for ZK in part due to its simultaneous multiple panel openings. So, you can see multiple notes at once. Notion can do this too, and I've use its Gallery fxn for exactly that, but there's something less claggy about Obsidian in this regard.
Notion is great for GTD and project management (again, when used dynamically with filters etc). Obsidian is great for note storage and retrieval, as well as processing ideas and arguments for use later in writing articles, scripts, etc.
Zettelkasten has been something that I wanna try out for a while!
Almost all plugins accessible from the app are OSS, though, and Obsidian has a process of checking them and some kind of control, which I don't know details about.
[1] https://discourse.joplinapp.org/t/quick-links-plugin/14214
[2] https://discourse.joplinapp.org/t/automatic-backlinks-with-m...
Joplin has its issues though. For instance, it seems confused about the format that it wants to store your notes in. Desktop search recently became useless too (no highlighting of search terms and ranking is broken).
[0]: https://logseq.com/
Does it support templates like how Notion does?
Logseq does not currently have templates integrated the way Notion does, but it wouldn't be difficult to programmatically create them since they're just plain markdown files. There's a plugin ecosystem for logseq now, so I think it's just a matter of time before someone writes one to generate templates.
and it supports saving files as org-mode! pretty freaking sweet.
> We strive for maximum capability without breaking any existing formats, therefore we use a slightly unorthodox combination of flavors of markdown. It is broadly CommonMark, with the addition of some functionality from GitHub Flavored Markdown (GFM), some latex support, and our chosen embed syntax
https://help.obsidian.md/How+to/Format+your+notes
It's the same deal with lisps. Lots of languages are "lisps", even the ones that are slightly different than the ones you're used to. Then there is a Common Lisp that is a language that is also a lisp.
“Markdown” is marketing speak for “you probably already know this”. Which yes, sure, but all the little tiny differences between all the different implementations can act as annoying papercuts.
At least it’s not wiki markup...
[1] GitHub Markdown etc. are fine since they can be called that (X Markdown) and not just “Markdown”.
Searching for "GitHub Markdown" on Google yields the following two links at the top:
- https://guides.github.com/features/mastering-markdown/
- https://docs.github.com/en/github/writing-on-github/getting-...
Some snippets from those two pages, where they call their own syntax just "Markdown":
> Markdown is a lightweight and easy-to-use syntax for styling all forms of writing on the GitHub platform.
> You can use Markdown most places around GitHub:
> Here’s an overview of Markdown syntax that you can use anywhere on GitHub.com or in your own text files.
> Create sophisticated formatting for your prose and code on GitHub with simple syntax.
It's until the bottom of those pages that they start mentioning GitHub Flavored Markdown (GFM).
Just like how Obsidian deals with the very same documentation.
Not sure what the problem is, Markdown has always been different on different entities on the internet, since there is no common specification. Blaming Obsidian for this seems short-sighted.
[0]: https://notabase.io
[0] https://gitjournal.io
(1) https://tiddlywiki.com/
That's an interesting name for an open source project. :P
I was a big user of TiddlyWiki but Obsidian has so many UI quality of life improvements, and the plugin ecosystem is evolving at such a rapid pace that I decided to jump ship.
I wrote a guide on my migration process: https://forum.obsidian.md/t/import-from-tiddlywiki-5-to-obsi...
My relationship with my phone is the best it has been in a decade, because I fucking despise using that thing. It's cramped, limited, inflexible, addictive and disposable. It's an awful machine to do anything non trivial. So, now my phone just serves as a calendar reminder for upcoming meetings, maps, and messaging. It is no longer a "constant companion". I use it for less than an hour a day on average. I don't even have a browser on it. I love this. I love my superior smug face when I'm on the bus and every other pleb is buried deep into his/her screen, while I ride astride with my zen halo glowing brightly, taking in the world, paying attention to squirrels being chased by cats and so on.
There is more to life than increasing it's speed. Nature does not hurry, yet everything is accomplished. Do fewer things, but cherish them more. Throw the phone into the trash, and wait till you're in front of a laptop or a desktop.
I was going to suggest to the GP that they take a screenshot, and then process it later on, when they do their weekly review or something. If the URL isn't fully captured in the screenshot (because smartphones are woeful pieces of dogshit remember), then they could search for the article. Adding that extra friction is a Good Thing in my opinion, because it forces you to consider whether accumulating all that extra burdensome information is worth the friction. But your solution is smoother :)
https://github.com/deathau/markdownload
I can’t seem to get it to work on my iPad in Safari…
Pasting the url gives me:
I assume the bookmarklet uses some javascript that’s blocked by Safari in Private mode.. :)
It’s working fine now!
Question: who decided Moldova [1] was a good idea? Was Obsidian.kp taken?
[1] https://en.wikipedia.org/wiki/.md
Makes sense. Is (EDIT: the use of the TLD) .md a convention in the markdown community?
> Registration restrictions: Prohibited domain names with bad taste, foul language, injurious to public order or to public sensibilities, with offending character, or with obscene or pornographic words
From https://en.wikipedia.org/wiki/.md
The latter is my concern. Until 2020, Moldova had a pro-Russian government. They could easily return to power. I would see Moscow having zero qualms about requesting e.g. certain visitors be re-directed to a Kremlin-controlled server.
One is for work, one is for personal projects and notes.
One for Books and Movies I watched or want to watch.
And one for Zettelkasten[0].
Obsidian is extremely customizable and user-friendly. And to make things even better, which is a must for many people including me, it saves the files as .md in the local storage.
You can even sync it among n devices for free using Box, Sync, Mega, OneDrive, Dropbox or whatever floats your boat.
Just as a quick exercise, I spun up a fully functional Obsidian clone that runs in the browser that works locally, in four hours using React- just in case the company goes under in future. It works great.
[0]: https://zettelkasten.de
Some of my notes are literally just a bunch of links to other notes because the title of the notes is descriptive enough that stringing a bunch together I can form entirely new sentences.
More broadly, I want a general Markdown notes "backend". Obsidian currently operates on local vaults which we can sync w/ general cloud providers, but no providers have all the features I'd want. Using Git lets me have great versioning of notes, but makes realtime syncing impossible, and using OneDrive is the opposite, so for the moment I'm using a Git repository in my OneDrive to get both.
It would be great to have a universal self-hostable note vault backend that interfaces with Obsidian, Dendron, etc. and allows for real syncing and publishing without requiring something hacky.
The Jiggl extension gives a local network view that is actually useful and not overwhelming. You can custom style nodes by folder or tags. This makes it intuitive and worth keeping open in a frame.
It is surprisingly effective at storing not just what I did with my day, but random thoughts and ideas, solutions to bugs, etc. All I have to do is type something every day.
In 2 years I have typed around 150k words. For reading he whole thing is just one plain html page, searchable in the browser.
I'm currently experimenting with documenting my reading, while the book is being read (instead of a summary at the end). We typically forget what we expect while we read, and only remember the final impression. Taking notes at the end of each reading session, not just about what I just read, but also about what I think will happen next, and revisiting that later, is surprisingly interesting.
- Tree-shake your notes each time you iterate them. You'll leverage your excitement and it won't be a chore.
- Maintain part of your notes public, it will be a catalyst to polish them. A git repository is perfect for that. Serendipitously, I started a related thread a couple hours ago: https://news.ycombinator.com/item?id=28895647
Personally I like that notes are raw and stay raw. I even force me to not use capital letters to remind me of this.
But of course very often they are used as a draft for something more elaborate.
The nice thing about both gjots2 and Zim, is that their source files read almost as easily as text. This is especially true for gjots2.
I like the hierarchical arrangement of gjots2. I still have Ctrl-F if I want to search, but sometimes in browsing a category, I find things I would not have found with search -- sometimes how I refer to things changes with time -- and I've got many years of gjots entries.
I do not, as gjots author Bob Hepple does, keep separate topics in separate gjots files -- one big tree in the left panel holds all topic headings.
Dokuwiki stores its pages in plain text, with a syntax designed to be readable in a text editor, outside the wiki.
Obsidian’s business model is really smart: creating a knowledge management system that applies to the vast majority of use cases, add room for a little modularity, and monetize it.
However for those edge use cases, which on HN might be closer to a majority, it’s important to first hash out exactly what sort of features you need.
Do you need to link files as well as notes in a knowledge graph?
Do you need to use advanced search filters?
How much data are you dealing with?
Just some food for thought.
Here’s their pricing page for more info: https://obsidian.md/pricing
Obsidian is a knowledge base, what you are describing is a note taking solution. Might work for most people who just want to scribble things down, but once you start having information you want to inter-connect, it'll break down.
Maybe this is obvious to other readers, but I love this portion of it. I think it's one of the critical details to making things like this work. It's easy to built a tool that you "just remember to use" but the issue then the tool is implicitly asking the user to modify their workflow, which isn't always trivial. So well done.
Another simple example: one of my favorite features in Slack is /remind. It can do recurring reminders, reminders way out into the future, and is as simple as typing `/remind me "do the thing" in 6 months`. Critically, it's in Slack which I'm using all the time anyway. It's not tucked away into a calendar I won't look at, or in a place I have to remember to get to. It's right there, and it's really easy to set another one up. I've thought about building a separate tool to replicate this, but I know it will never have the same utility without being in an existing workflow.
This seems unnecessarily complex - have you considered replacing this with rsync + cron job?
It's also in effect a poor man's backup, because the db is renamed with today's date so each copy doesn't overwrite any other.
[0] Edit: not in fact true. The email part uses Mailgun's API (from when you could use routes with a basic account).
I tried using a database for personal notes many years ago and the problem I discovered was that I can't do a quick Ctrl+F to find previous scraps of knowledge.
Instead, I use plain "notes.txt" and use the editor's text search functions (including regex functionality) to locate things.
These 2 ways of finding text have very different ergonomics:
- SQL: select * from notes where description like '%ubuntu config%';
- text editor: Ctrl+F "ubuntu config" <press Enter>
Yes, one can write a program to "dump" the SQL database to a text file for subsequent search by a text editor. The problem is that it creates a read-only file that you can't edit-in-place. And one can also write a custom wrapper program in whatever language as a GUI for the database but now we're way past your simply "reply to email" paradigm and expending a lot of effort in "yak shaving" instead of just taking notes.
Not saying your system is bad for you but I'm guessing that most people would find the friction of a SQL database too high for freeform notes.
However I kind of like the fact that it's hard to edit, and I (almost) never do it. It's a log -- the log of my brain.
With a db it is trivial to order posts either in the order of the days or in the write order, etc. With only a text file that would be very difficult.
Something that I find not only true, but inherent in relational databases: they require some kind of schema, and schemas for freeform text and ideas are notoriously difficult.
I created my own software, which doesn't have a fancy gui or anything, but organizes my notes sufficiently for me, using plain markdown files and dumping the contents into an ElasticSearch index configured for text analysis. I can easily do a very good full text search on the body of the notes, plus I've indexed the keywords for each note in their own mapping.
In addition to having good linking together of related ideas, wiki-like, it's good to have the ability to fruitfully search without the restrictions of exact term matches. Even relatively simple things like stemming and common synonym matching* can improve the usability of a large collection of notes measurably.
*No, I don't think we've really solved the searching by synonym problem. More work is needed.
https://www.sqlite.org/fts5.html
I used to use a SaaS that did exactly the but unfortunately they shut down after a few years. I still have my notes in Gmail since they were just emails but I miss getting the reminders.
P.S. I like your description of this as your log of your brain.
Fortunately my routes were already set up and still work on the Flex plan; I just can't edit them any more; but they were pretty generic so that's not too much of a problem for me; but it would be a problem for a new implementation.
Also, the code isn't pretty and since I built it for myself, it doesn't have any security feature whatsoever (no login, no sessions, no encryption, nothing).
I don't think I want to deal with all the people who would tell me how bad my code is if I published it... But for me it works.
- - -
That said, sending emails is the easy part; it's dealing with incoming email that requires a better Mailgun plan (not just for routes but for parsing the content of the email).
If you only need a system to send you an email every day you can 1/ open a Flex account with Mailgun (no recurring fee, pay-as-you-go email) and 2/ setup a cronjob with a short script in any language that can do a POST request; here's my example in Python.
The Mailgun API is well documented and fairly simple to use: https://documentation.mailgun.com/en/latest/api-sending.html...(There are certainly many other providers that do the same thing.)
- - -
PS: I'm surprised of the interest though; last time I talked about it on HN it didn't generate that many replies; someone did indeed mention a similar SaaS that folded for lack of growth. I think it's one of those things where all potential users are already here on HN...
It's actually been 3 years, not 2! Lockdown messed with our perception of time...
... says a brochure page for proprietary software.
"It's funny to be criticizing user freedom and lock-in issues with other programs, above a link to buy your stuff from an app store."
Having an open and simple file format that is easily imported/exported is all many of us want from software. We are actually perfectly OK with paying people for work. Separating data freedom from access to source code is a perfectly meaningful thing to do, even if you personally don't like it.
I made a remark about a remark, and nothing more.
Speaking of personal, I don't mind attacks; do go on. Well, not that I want to encourage it here, where it is not allowed, but you can PM them to me, if you have more.
1. It is easy to back up or export my data
2. Great UI! May be its just me, I care about the UI a lot and if it is nice, I seem to be writing more
3. Support for templates, so that I can write daily journal/entries with predefined fields
4. Support for keyboard shortcuts (or mouse-less operations) so that I can link or embed documents quickly
[0]: https://notabase.io
So I use both: Obsidian for ideas, beliefs, concepts, explanations, class notes, etc. Notion for Goals, freelance client project info, job hunt tracking, to watch/read lists, images and links for internet arguments, plans for video games, travel plans, technical solutions, exercise and practice routines.
Oh well, back to vim and cd.
Jokes aside, Obsidian being a Electron application is not a issue. The app starts in under 3 seconds for me, barely uses any RAM and CPU usage remains stable and low.
If you want to actually contribute anything to this thread, feel free to give feedback on specific issues you find, that it's using too much CPU or whatever. But as it stands, you're not really adding much here.
:wq
Similarly goes for other things you use but takes "too long time" to open, leave the thing open and you just have to switch windows to access it.
And if you think Obsidian is a note taking app, then yeah, it's not the right tool for you, continue using Vi/m. But once you grow out of it, you'll need a knowledge base instead, and for that, Obsidian is lightweight.
Aside from that I refuse to support writing desktop apps in Javascript, because it is slower than equivalent app written in C/C++.
Compare telegram client to slack client. Which one is more snappy?
Users are boiled like frogs, millisecond wait here and there. And suddenly any action on ui takes 1 or 20 seconds. And you get frustrated.
If obsidian is a webapp I prefer to use it as such, not hide it in electron.
Jokes aside: if they wanted feedback on what's wrong with it they'd have made it free software.
It seems to fall into the vs-code category of being sufficiently well optimized, but if you wanted to deal with millions of files then some popular plugins (queries on tasklists in all files, aggregating data into diagrams, etc) probably would get slow.
(That said, there are non-Electron alternatives like Tauri coming along that use the native webview to accomplish essentially the same thing.)
Last I heard it was built entirely by two people (and two cats). What’s a better way to build a high quality native-ish application targeting 5 platforms with a team of 2?