This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
Do any of you use networked note taking apps, like Roam, Logseq of Obsidian? I'd like to hear about your experiences if you want to share.
Logseq is pretty sweet. And open-source, and with plain text data format, and written in CLJS.
If I understand correctly. Obsidian is more free-format, e.g. you can make todo lists and whatnot, whereas logseq and roam are more limited in: you can only make bulleted lists or so?
But in some areas it's less polished (e.g. diagrams), in some effective usage requires actually reading the docs and not trying to guess what to do (e.g. search for tags), and there's barely any WYSIWYG - you have to know Markdown and some Logseq extensions (Hiccup). Regarding free-form - it's not as clear-cut. You can certainly make TODO lists with Logseq, with proper checkboxes and whatnot. But the underlying impl will be a nested bulleted list. You can embed diagrams, pics, videos, tables, arbitrary HTML, and so on - but it has to be nested in a list item. Because everything is a block or a few, and a single block is represented as an item with that dot in the top left corner, which makes it look like a bulleted list.
I tried logseq, but ultimately went back to org-mode + git, because I'm just more comfortable with emacs and find the customisation preferable. I plan on get trying org-roam, but haven't got around to it yet...
I've used Roam heavily since 2020. My usage has changed a lot since 2020. In the beginning, I used Roam for everything. These days, I collect "bigger things" on my website (https://play.teod.eu/). My website is driven by Emacs, Org-mode, org-roam, pandoc and babashka. I've tried pulling out the reusable parts from my website, but not yet done it successfully. My most recent attempt at that is https://github.com/teodorlu/scicloj-garden-experiment. It's incomplete, but there are design notes in the README. I still can't beat roam for early phase "just get the ideas down", I find Roam to be awesome for that. Tana is a new incumbent. Tana has amazing support for tables (driven by entity schemas). I've used Tana with my team at $DAYJOB since January this year, and I think the tables make it a better suites tools for teams to "think together" than Roam.
I tried to use org-roam a while back; I never got very far with it. I paid for a year's subscription to Roam and promptly forgot about using it. Obsidian is the only one that has stuck for me, but partly by design I don't embrace its features as much as other users. The far-and-away best feature for me of Obsidian is the mobile app. It is much better than any other mobile editing experience for Markdown that I've tried and Just Works:tm: - I use Syncthing to sync my notes across devices. IME the benefits of "networked" note taking are more for the company selling the product or for the influencer seeking clicks on their affiliate links than the user. Linking between notes and seeing the backlinks is occasionally useful but is far from the revolution in "tools for thinking" it's sold as. But it looks cool in a demo! As always, the trap with any note taking system is that you spend more time in your notes than doing what you want your notes to be helpful with. Networked note taking systems - including Obsidian, which has many interesting plugins that encourage you to put all of your structured data (e.g. https://dataloom.xyz/, https://blacksmithgu.github.io/obsidian-dataview/) into the app, tend to reinforce this potentially dangerous habit. If I'm working on a project my notes are frequently "write once" - I keep largely chronological notes that are mainly intended to offload information to reduce the cognitive load on my working memory and help me retrace my steps as I'm solving a problem. I very rarely go back and edit, prune, or maintain these notes after the specific problem is solved, so I don't really get much benefit out of the features aimed at that kind of "knowledge curation."
Plutarch may have said it best almost two millenia ago: > For the correct analogy for the mind is not a vessel that needs filling, but wood that needs igniting — no more — and then it motivates one towards originality and instills the desire for truth. note taking systems lean hard into the "vessel" metaphor, to the user's peril!
I find it to be 90% writing and 10% reading. Or maybe it's 95 to 5. But when I need to find something again or remember what my thoughts were on a particular matter, those 90-95% cannot be compared in terms of time and effort to what I'd have to do if I didn't have any notes. Most of the information would've been lost completely (e.g. lots of the links have 404ed but are still available via the Web Archive - you can't find them via a plain web search).
For sure. I’ve been mostly using Google docs and org mode for this. So I’ve been interested how much the networked thought apps helped on top of that
I think it depends mostly on search capabilities, things that they rely on, and how meticulous you are with those things.
E.g. it's not that rare when I want to find an article by a particular author that I tagged in a particular way. If I correctly set the author
property (nowadays I always do that) and added the right tags (which in Logseq becomes just a stylized page reference), it's trivial to query just those blocks. E.g. if I'm looking for an article by Dan Luu on hiring, I'd use {{query (and (property :author "Dan Luu") [[hiring]])}}
. It's too long and verbose of course, but Logseq helps with composing such a query - overall, I entered just a few characters and hit Enter a few times to get to that query.
Do you save just a reference to that article in your notes or include the whole article somehow? (since that article can 404 over time like you mentioned)
And you can make that query into its own block, and then embed that block somewhere else. It's all cross-linked, and is updated automatically.
At the moment, just a reference and occasionally some quotes or my own thoughts. I definitely want to configure it in such a way so that the whole article is copied. Web Archive is great but it's not a cure all, and I can't search it for contents.
@U051MHSEK wrote a helluva piece on this
I’m looking for it hang on 😄
Now I’m not sure if it is Adi. There was a really good post on why using such tools hasn’t worked for him
It seems to be a highly subjective matter. :) Some swear by rigorous Zettelkasten, some by scribbling notes in a physical journal without any organization. If you can imagine something, someone is probably using it for personal knowledge organization.
Yeah, of course, it is highly opinionated. I wish I can find this post
I like nice editing tooling for writing so the app doesn't get in the way of capturing thoughts as they happen. Neovim in Termux for Android, sharing via Git and GitHub works very well for me (Emacs works nicely too). Can also create/manage GitHub issues from within Neovim/Emacs, if there are tasks I want to remember or delegate. Or I use a voice driven Google doc if I don't want to type, then copy the resulting doc into Neovim/GitHub
the only notes i remember are those i hand write
i've tried many apps but only hand writing has stuck around
I've never managed to "stick" with any note-taking system... I start off well, keeping notes on "everything" but I slowly just trail off... Logseq has come the closest to "sticking". I have it open all the time, I have the browser extension to capture "interesting" stuff I find online, I use it as an informal todo list and scheduled/deadline stuff, but I've slowly trailed off using it overall. Probably the most consistent thing I still use it for is writing up notes on Clojure Camp pairing sessions so I can track what a student is working on and what we've discussed in each session. Even then, there are a couple of students where I no longer bother doing that because either they have a well-defined project and just need occasional input on stuff or they're very random/scattered and there just isn't any point in keeping notes.
I do like Logseq overall tho' but it took me a long while to settle into a good workflow with page attributes and tagging and making sure I cross-linked any words that I might want to correlate ideas about...
I use deft in emacs for most of my notes. it works for my "just put everything in a big pile and sprinkle some search on it" note-taking style. it's just a flat directory of markdown files with a timestamp for the filename with some conveniences around search and filtering and creating new documents
I'd only use cross-linking if the software did it for me automatically. I don't ever want to think about taxonomy around my notes, life is too messy and things are often too interrelated to sort neatly into categories. taxonomies are hard and complex, search is easy and simple
@U8VE0UBBR do you mean this one? https://www.evalapply.org/posts/why-and-how-i-use-org-mode/ (Thanks for the shout-out :)).
For what it's worth, I have an ~/org
directory for assorted notes, and my website directory for blogging (all org files). rgrep
via Emacs is my search interface. That's about my level of organisation. So far it's worked alright, if a little clunky.
I went deep on org-mode, gave Logseq a solid go, and am currently living in Obsidian. Loved org-mode on my laptop but couldn't live without mobile. Liked Logseq for the less file-focused infinite outliner approach with Datascript Datalog querying (and open-source-ness, and tech stack 😉), but ultimately found Obsidian as a much more polished app with with a great mobile app, highly active development, and an incredibly active plugin community (imo, ymmv, etc). The Excalidraw plugin in particular is a killer app for me. Plugin dev docs be improved, but are miles ahead of what Logseq provides, and there are many more plugin repos to crib from. I've successfully written (personal) plugins in ClojureScript—with a fully functional REPL—performing in-app Clojure eval using sci. (All possible with Logseq as well, but the Obsidian API gives you full, first-class access to the system, where Logseq's API felt more restrictive when I last used it). Both are great apps, but for higher polish, better plugins, and mobile experience, I've stuck with Obsidian.
@U066ZAMBJ great to hear. Did you know there is a plugin where you can run CLJS (via SCI) in Obsidian and execute clojure code blocks? It's called "wielder"
@U066ZAMBJ This gave me a nudge to try Obsidian and it is a lot more polished than Logseq. Took me a bit of work to migrate my Logseq notes over (Obsidian seems a bit more "standard" in terms of note structure -- without some of Logseq's quirky mixture of markdown, org-mode, and ad hoc properties). I'm not entirely liking the tags-are-not-linked-pages aspect -- I'd gotten used to that with Logseq but Obsidian's separation makes more sense and I probably should have been more consistent with using tags in Logseq 🙂
@U04V15CAJ I use Wielder code blocks in Obsidian to document new concepts I learned and it works great.

Someone is selling a bespoke org-mode distribution, with things like side-by-side editor + preview preconfigured https://easyorgmode.com/ (no affiliation). Looks pretty cool to me.
throwing my hat into the ring in support of glorious logseq, the Block abstraction really just works well in my brain, and the query engine is pretty awesome- it takes a lot for something to take me out of my terminal/nvim/emacs, and its one of the few apps that has earned that reward. i am considering giving org-mode a look for documentation business however, and i've been ruminating on a todo-list-app-of-choice for routine items, but i think logseq will continue to be my daily driver for general knowledge management
Logseq is a game-changer for me. Its hierarchy helps you structure your thinking and find related topics easily. Roam and Tana are similar and have more features but are closed source and hosted. In Logseq you can open your notes in a text editor and do bulk edits or parse them with scripts. I use it primarily for research and project management. It isn’t collaborative yet but they’re working on a db version that will be queryable with Datalog. The creator recently posted an https://discuss.logseq.com/t/why-the-database-version-and-how-its-going/26744 about this new version. I also use Obsidian but more for writing and taking permanent notes. Logseq is journal-based so old notes naturally fade unless you make an effort to track them, which I like. Logseq is where I think and Obsidian is where I write.
I really wish quiver was maintained, I really liked what blocks gave you https://yliansoft.com
in the end, though, my muscle memory is entirely vim keybindings at this point which limits the field of options significantly. obsidian has pretty ok bindings
> Logseq is journal-based so old notes naturally fade unless you make an effort to track them Interesting way to think about it. I added the Daily Notes Editor plugin to Obsidian so I can easily get the reverse chrono list of journal entries that was the default in Logseq and that is serving me well so far since I switched.
Since nobody mentioned it yet: https://joplinapp.org. It is a simple Markdown notebook. I'll start with the cons. Cons • Data is stored in an sqlite db instead of .md files in the filesystem (export is possible). • The mobile client is merely ok not a full replication of the desktop UI. I basically use it read-only when I need to look something up. • Plugins are JavaScript but the API is a bit jank (complicated to pass data from UI to plugin). • No concept of "blocks" with dynamic/computed/referenced content. • No drawing ability. Pros • Open source. • Desktop + mobile (+ read files via webdav if you sync). • Plugins in JS (and cljs works too). • Can attach files and images. • Has an interesting https://joplinapp.org/help/api/references/rest_api/. • Can edit notes in an external editor. • Can sync to a simple webdav server (plus other options). • Various useful plugins available. • Simple model: basically just text + attachments. Caveats I'm not a power user. I rarely even cross-link notes. I basically just wanted something like a physical notebook but I can search and store images and use on multiple devices. My brain is full so I needed a place to dump thoughts and findings. Like others have mentioned for me it's 90% write-only, but the occasional need to read or edit something I wrote before is priceless. How I use Joplin: • I have a note called "Today" which I put today's TODO list in and any other things I need to track/remember currently. This note stays at the top and is the default when I open the app. • I write my blog posts in there and have a small script which uploads the Markdown + image resources to my server where it's published. • I wrote a tiny webapp + plugin called "note to self" that I use all the time (especially at 2am) which is a simple textbox that gets inserted into the top of my "Today" note when I open it up. Great for sending myself a reminder on the move or sleeping. • Any time I have a weird idea for a business or a piece of software I just dump it in there. This is very liberating! Sometimes I even come back to these ideas later and flesh them out add research links etc. over a period of weeks or months. Some of these things have even turned into real things. Hope this helps!
I've been using Roam, which served my hobby research interests well for some years and also made me aware of Clojure (since it was written in Clojure and uses EDN as a data format). However, I am not completely happy to depend on a pricy subscription and a web service for my note-taking. Lately I invested a lot of time into my Emacs config and discovered Org-roam, which I like very much so far. It is also nice to have all the features from Org-mode available for my notes. I am thinking about migrating my Roam graph to it, but it seems like a lot of work to get the export right (a tool I found on GH is missing lots of features and only acts on the exported Markdown instead of the raw EDN, which is not ideal). Oh and I also use RemNote from time to time, which I found very useful for learning, since it is practically built for spaced repetition. I have also been a happy user of TheBrain for decades, although not so much for note-taking, but primarily to capture and connect resources I found, so I can quickly retrieve them years later. Different apps fit different use-cases for me and I try to keep them separate as much as possible.
Shower thought (I just showered) Technology radars would not be considered satisfactory by Rich because they list solutions without problems. Thoughts? Technology radar example: https://www.thoughtworks.com/content/dam/thoughtworks/documents/radar/2024/04/tr_technology_radar_vol_30_en.pdf
Satisfaction can only be judged in the context where there are specific expectations. I myself expect from a technology radar to see some tech some particular company uses and how they feel about that tech. With that in mind, that particular tech radar seems perfectly satisfactory.
The "problem' solved is a meta one: how do I know what technologies are a good idea to reach for in a bunch of different common categories.
Arguably, every single dev has a tech radar, even if it's just in their head. You start a new project, what libs do you pull down? That's a problem to solve, but at a certain point, you don't have to do the research, you just consult the list (until you're ready to update the list)
Technology radars are not a collage of solutions. They are an emotional collage of artworks -- kinetic or notational -- things people have made. An artwork on the collage may arouse interest, revulsion, desire, fear,... As emotions, those need not explain their context. The radar itself is an artwork. Not until a suitable problem lends it context does a technological artwork become a solution (or a compounding problem!).
Makes sense, thanks for the comments! Pushing a technology radar from “solution” to “a tool we used this year and are quite happy with” is helpful. I don’t think they’ve implied that these things are solutions. I also have to say that I think they’ve done a great job grouping technologies into categories.
I tend to look at their tech radar every time it appears -- I think this is the first time I've seen it almost fully populated with new items that weren't on previous radars... 👀
Has anyone by any chance ever tried to use Clojure / Babashka in https://pipedream.com/? either inside a https://pipedream.com/docs/code/nodejs or https://pipedream.com/docs/code/bash task? Another question would be... do you know of anything like Pipedream, Zapier, etc that supports Clojure / Babashka tasks natively? I like Pipedream's code first aproach, but I'm tired of Python!
ELI 5 what is RAG retrieval augmented generation?
The machinery behind it is typically: • turn the user prompt into a search query • run the search query on some corpus of knowledge • use LLM to summarize the results and then generate a conversational response
Bing Chat (and now Windows Copilot) uses RAG. It turns your prompt into a Bing search, reads and summarizes the top results, and then turns that summary into a conversational response. And it includes footnotes that link to the web pages it drew the information from -- which is why I like Bing/Copilot a lot more than ChatGPT.
Copilot:
Interesting, I hate the AI based search like Bing. Probably because my google-fu is so good already. It rarely saves me time, and often doesn't find as good results as I would myself. But I love ChatGPT, because it leveraged the AI for what it's really good at, answering based on the convergence of a gigantic training set of knowledge. So I feel when I ask the AI, I don't want it to find me some website answer, I want it to give me the convergent consensus of all the data.
My Google-fu (and Bing-fu) is excellent too - but this saves you the work of clicking through into those search results to read them: because it summarizes them for you. By contrast I have found ChatGPT providing blatantly false answers and then doubling down in those falsehoods. It just hallucinates far too much.
Ya, but I feel it's leveraging the tech for what it's best at. Where a RAG is still just a traditional search for answers, made a bit more convenient, like asking someone else to search for you and subscribe the result
It also feels like when we'll be able to keep the LLM training up to date, like if models were only lagging 24h. Including for private models like running on your company or personal data, you won't need RAGs anymore.
Bing/Copilot uses ChatGPT directly for the non-search part, when it's being purely generative (plus image generation), and it has several specifically trained modules, like recipes, fitness, travel, etc.
Hate was a strong word haha, I don't hate rags, they're awesome, I just prefer straight LLM
Ya, but it's biased on search I've found. Whereas chat gpt plus seems to more often rely on it's data unless you ask it to search it
I guess it's hard to know at some point if the hallucinations are so logically consistent you can't tell anymore. But that's also true of info you find online
But Bing's footnotes give you a quick confidence check on how authoritative the search results were...
I just don't trust pure LLMs after my experiences with them:slightly_frowning_face:
I mean, it just shows a link, and the website might be crap. So there comes a point where you have to judge articles on websites, and similarly, answers from LLM. Unless you're searching for facts, I've found with LLM you can prompt back and eventually get the correct answer. I can't challenge an article in real time and have it rework the parts that weren't logical or didn't make sense.
"I've found with LLM you can prompt back and eventually get the correct answer" -- you realize that presupposes that you know the answer... or at least know that the LLM is wrong?
If I get an answer where part of it has a footnote from wikipedia and part of it has a footnote from some random person's website, I can at least assume the part with the wikipedia footnote is relatively trustworthy...
vanilla is question -> llm -> answer RAG is question -> look up any relevenat information (retrieval) and append to question -> llm -> answer
@USDPTD3FY I want to add to the ELI5. RAGs are often discussed in the context of vector search. While it's not required, vector search is all the rage. Normal search is you type some text in Google and look at the results. A standard RAG the LLM AI does the same thing, and then uses the results to figure out the answer to your query. But a Vector Search is that the documents are encoded with vector embeddings generated by LLMs. Basically the LLM representation of information. And when searching, the query is also vectorized in a similar embedding. This results is semantically and contextually aware search results, so the results are more relevant. Vector embeddings are harder to ELI5. But I'll give a simplified example. It will for example convert words into numbers. Texts that have "potato" in them are assigned the number 10. User queries with the word potato are also assigned the number 10. Now relationally relevant words are assigned numbers near 10. Cooking is assigned to 9. Russel to 11. Yukong Gold to 12. Mashed to 13. So now if a query says Mashed Russel recipe, it'll also return documents about Potatoes because it'll look for all documents near [13, 11], and Potato is 10, so it's very close. And you also see how it started to capture semantics, it knows that Mashed Russels contextually refers to Mashed Potato recipes, specifically of the Russel kind. That's the basic of vector embeddings. Now the real thing does it in a multi-dimensional space that captures relationships over many dimensions. Where the 'distance' or 'angle' between vectors represents semantic and contextual closeness. Generating good embeddings is non-trivial. But LLM opened up the space, where they can generate very good embeddings for all kind of texts. Before it was either more basic, or a model was trained for specific datasets. Now the RAG can leverage vector search, meaning the LLM first converts the user query into its vector embedding, then searches for documents near that vector, and finally leverages the found documents content to answer your query. Note: Real vectors are an ordered array of numbers of a preset size. And each index position represents a learned feature. The dimensions are learned automatically by the model during training. They are abstract and not explicitly designed to correspond to recognizable categories like "gender," "tense," or "emotion.". But it helps to think of it that way.
Thank you for the responses!!
This is all very interesting
lol, my wife visited a webpage to read her newspaper and got a clojure.spec.alpha ex-data map on the screen (from some ad website): https://content.lemonpi.io/track/event?e=%7B%22version%22%3A2%2C%22type%22%3A%22click%22%2C%22schema%22%3A%22adset-creative%22%2C%22impression-id%22%3A%228ce2fdee-8738-4389-bbe4-6f76689c3d00%22%2C%22adset-id%22%3A24750%2C%22creative-id%22%3A23770%2C%22out%22%3A%22undefined%22%7D

{"message":"Event does not conform to spec.","explain-data":{"clojure.spec.alpha/problems":[{"path":[[2,"click"],"click-with-out-url","out"],"pred":"lemonpi.interaction-handler-rest-api.utils.core/url?","val":"undefined","via":["lemonpi.interaction-handler-rest-api.web.specs/event","lemonpi.interaction-handler-rest-api.web.specs/out"],"in":["out"]},{"path":[[2,"click"],"click-with-adset-id","out","valid"],"pred":"lemonpi.interaction-handler-rest-api.utils.core/url?","val":"undefined","via":["lemonpi.interaction-handler-rest-api.web.specs/event","valid-or-empty/out","lemonpi.interaction-handler-rest-api.web.specs/out"],"in":["out"]},{"path":[[2,"click"],"click-with-adset-id","out","empty"],"pred":["clojure.core/every-pred","clojure.core/string?","clojure.core/empty?"],"val":"undefined","via":["lemonpi.interaction-handler-rest-api.web.specs/event","valid-or-empty/out","lemonpi.interaction-handler-rest-api.web.specs/empty-string"],"in":["out"]}],"clojure.spec.alpha/spec":"lemonpi.interaction-handler-rest-api.web.specs/event","clojure.spec.alpha/value":{"version":2,"type":"click","schema":"adset-creative","impression-id":"8ce2fdee-8738-4389-bbe4-6f76689c3d00","adset-id":24750,"creative-id":23770,"out":"undefined","raw-out":"undefined"}}}
Almost certainly Kevel
what else is there?
oh yeah, healthcare, there too :)