11 ms·
Foam: A personal knowledge management and sharing system for VSCode
- jph 6y agoFoam is a great FOSS clone of Roam. If you like to write text files, like markdown, and like to link among the text, then definitely try Foam and Roam-- they are superb for organization. And if you use emacs, the similar tool is org-roam for emacs org mode. https://github.com/org-roam/org-roam https://github.com/org-roam/org-roam
- JosephHatfield 6y agoThere is also Obsidian https://obsidian.md/ https://obsidian.md/
- max_dev 6y agoI customized a jekyll template[1] to publish my Obsidian knowledge base and increase the discoverability of notes, which could be better in the app. Also, I wasn't comfortable being tied to the "publish" feature that is still in development. I use it daily[2]. [1] notenote.link template : https://github.com/Maxence-L/notenote.link https://github.com/Maxence-L/notenote.link [2] https://arboretum.link https://arboretum.link
- notagoodidea 6y agoThere is also neuron. https://neuron.zettel.page/ https://neuron.zettel.page/
- cjlm 6y agoThere is also logseq. https://logseq.com/ https://logseq.com/
- escherize 6y agoI am a logseq user. The nice things about it include: - all your usual backlinks, graph views, etc. - saves files as plaintext - md or org mode files - operates on / syncs / saves plaintext files - edit locally, or sync with a git repo - accessible from mobile (via your github repo) So I use this with org-mode files, and on my laptop I edit files locally (I have it pointed at a git repo), which is very reliable. Then the phone simply reads from (and writes to) the same git repo. Since it runs on git, the interoperability of the notes is really nice. If I edit the same page on 2 machines or delete a file, it's just a simple merge conflict that I can use my favorite git merge tool to fix. Not to mention the developer is extremely active and helpful.
- toadi 6y agoand there is also dendron.... https://dendron.so/ https://dendron.so/ I used all of them and settled on dendron. Because Dendron makes the same links and nodes as roam and all the others. But it is still also hierarchal. After so many years of hierarchy I can't let it go so this hybrid is perfect for me.
- khimaros 6y agoopen source and self-hostable: https://github.com/BoostIO/BoostNote.next https://github.com/BoostIO/BoostNote.next hosted version is freemium on web or desktop: https://boostnote.io/ https://boostnote.io/
- jasonmotylinski 6y agoThere is also Zettlr. https://www.zettlr.com https://www.zettlr.com
- fsnowdin 6y agoObligatory mention of org-mode: There is also org-roam. https://www.orgroam.com/ https://www.orgroam.com/
- diego_moita 6y agoI believe that knowledge management tied to a development platform is a bad idea. Development isn't the only thing I do in computers and knowledge management should be able to store stuff from all other activities (including cooking recipes or reading notes to read on a mobile phone). I don't love tiddlywiki but haven't found a better alternative yet. I'd love something easy to configure but powerful like the wiki and bug tracker on the Fossil SCM, but not tied to a specific platform. Also, Markdown/text/html because no vendor should own my thoughts. Obsidian[3] and Notion are in my "to check" list. [1] https://tiddlywiki.com/ https://tiddlywiki.com/ [2] https://fossil-scm.org/home/doc/trunk/www/index.wiki https://fossil-scm.org/home/doc/trunk/www/index.wiki [3] https://obsidian.md/ https://obsidian.md/
- Groxx 6y agoI recently switched to Obsidian for my desktop pile-of-notes - so far it's pleasantly compliant with everything else I've done so far, and hasn't done anything to screw up my notes or make it hard to understand in other systems (e.g. Notable has a... "unique" folder system). Definitely recommend giving it a shot.
- BlahGod420 6y agoI (respectfully) disagree completely. All source code is knowledge. All the content that goes in to a product when you're shipping it is knowledge. Managing a project is knowledge management. Managing multiple projects is knowledge management. Managing a company is knowledge management. I've never seen a tool (other than, arguably, an Operating System) that does all of this comfortably.
- foota 6y agoI think they're using vscode here as an application platform of sorts.
- smnrchrds 6y agoLike Emacs before it. Emacs has Org-mode. Why shouldn't VS Code have a killer app of its own?
- 6y ago
- sean_pedersen 6y agoInteresting, I just realized I should market my project as a personal knowledge management system as well. Thanks a bunch! https://github.com/SeanPedersen/HyperTag https://github.com/SeanPedersen/HyperTag
- teitoklien 6y agoThis looks interesting ! Great project !
- sean_pedersen 6y agoGlad you like it. Feel free to give some feedback, once you tried it out.
- hackeredje 6y agoWhen you have a family. A wife who barely knows how to create bookmarks in a browser and kids who only use their phone you need something extremely simple. So you need to " scale " from 1 person to a household and take into account that all information you put in there, financials, recipes, addresses, etc. etc.. need to be ubersimple, working on a phone, auto sync etc... and need to continue working even when something would happens to yourself. So that is why i standardized the knowledge management system in our household on OneNote (2016 client for the laptop). This is because everyone understands office. The API both the COM and the graph API also lets you create , update, read, etc... so you can write basically everything you can think of e.g. auto put bank transaction on the correct place in the correct table in the correct place in the taxonomy. Thinking about the structure of a family and everything in there is also interesting and I had some larger revisions on that. See also: https://github.com/projectje/OneNoteExporterAkaPublisher https://github.com/projectje/OneNoteExporterAkaPublisher
- joshspankit 6y agoI’ve always shied away from OneNote, finding it cluttered and as overwhelming as someone else’s heavily dogeared and bookmarked notebook, but you have my attention. Do you have any breakdowns on how you conquered WAF and the API?
- hackeredje 6y agoCOM interface: https://docs.microsoft.com/en-us/office/client-developer/onenote/onenote-developer-reference https://docs.microsoft.com/en-us/office/client-developer/one... So just $whatever = New-Object -ComObject OneNote.Application and then lookat $whatever |get-member to see what you can do for members and properties. --- I tried several things. I needed it because the amount of stuff around a family is just too much to keep in my brain especially with kids who needing a lot of help with their school and trying to also put some fun in it like " nice netflix series you want to share" but also serious stuff like " households tasks, bedtimes etc" I think I could write a book on what i put in there. Budget is also interesting, after 20 years I decide on the following structure: A = income B = budget per household member (so 4 posts) C = everything that needs to be discussed (vacation budget, savings, subscriptions, stuff we want to buy this year, etc) D = everything that we do not need to discuss (mortgage, food, all kinds of city taxes, healthcare etc) That makes it really simple: only the points in C are needed to discuss "want to spend 20.000 on vacation Or want to spend 20.000 in savings" . Because I noticed that mosts of the costs stay the same. Many of these "topics" then tie in or have an overlap with the knowledge management topics from another perspective. So e.g. the budget post C.Subscription.XboxLiveGold ties into culture_and_free_time.games and where we just have fun pages on various game consoles and tips for games we play or we want to share with each other or " favorite games" .
- joshspankit 6y agoCan I just say that this is a space I’ve been deeply interested in for a long long time (I have a terrible memory, and latched on to tech early), and it blows my mind that very few (if any) of these solutions use a graph database as the back-end. I understand the argument that it’s likely overkill for <10000 entries, but for me it’s been wildly freeing. Especially in cases where the abstraction layer gets out of the way and allows for free-form connections between items. No more rigid db schemas, primary keys, or trying to cram “one or many” connections in to a column. Shoutout to Neo4j and APOC, as well as to one of my inspirations: https://neo4j.com/blog/building-graph-history-codex/ https://neo4j.com/blog/building-graph-history-codex/
- qudat 6y agoA lot of solutions referenced in this thread are using graph databases. It's actually shocking how crowded this space has become. Everyone is racing to monetize note taking apps and as a result developers are trying to give it away for free now.
- fphhotchips 6y agoI think I come at this problem the opposite way to everyone that actually builds these products/tools. I want to mindmap and brainstorm all of the topics, and then take notes on them - preferably with a time component to that. Even more than that, I want to be able to take notes on the relationships between nodes, since that's where the real gold tends to be. Mindmap tools generally don't work for this because they want a single topic for each map, and all the words on the one page. KM/KB tools don't work because I can't just draw the relationships between the points, I have to go in and actually create notes that I then get to visualise. I really wanted to like Obsidian, but the way it treats folders puts me right off. I tried Neo4j Bloom, but there are UI difficulties and it's not really great for notes. I'd build it myself but I have no idea where I'd even start on a UI.
- cik 6y agoI'm the same way. Mindmaps are by far the best tooling for how I think. They're also just not portable. I keep trying. It would be awesome if mind maps could be united with a console somehow, so that I could inject things from "wherever". I've spent a lot of time caring about KM/KB and can't settle on anything that survives more than 2 years. What do you do today?
- npunt 6y agoNeat, but fails in the same way Obsidian et al do: files are not a good abstraction for atoms of knowledge. What if knowledge isn't textual, or is only partially textual?
- hu3 6y agoI'd love to be able to paste an image and have it figure out the image markup and storage in the directory.
- O_H_E 6y agowhat do you mean by "image markup"?
- joshspankit 6y agoAlso my question
- coldtea 6y agoTo paste the image in the text editor, and get an automatic Markdown markup linking to the image... 
- neurotrace 6y agoThere's a plugin for that https://marketplace.visualstudio.com/items?itemName=mushan.vscode-paste-image https://marketplace.visualstudio.com/items?itemName=mushan.v...
- spiffytech 6y agoFile-based knowledge systems also assume knowledge is neatly partitionable in relatively large chunks.
- notadev 6y agoMicrosoft OneNote has pretty good OCR of documents and full-text search.
- ydant 6y agoI just recently started trying to get my note-taking together and build my own personal knowledge base (or at least stop trying to remember everything and instead store it somewhere to refer back to). After trying a handful of the usually mentioned tools, I've been very happy with Trilium Notes [1], which seems to share some of the same concepts as this project, but providing rich-text (including embedded images). As much as I like the flexibility that flat files, markdown, or Org-mode provide, I also really like the extra built-in functionality that comes along with Trilium. I'm not wild about having the data tied into a single program, but the data is at least accessible and documented (if primarily through the open source code), so I know my data's not entirely locked up. Trilium says macOS isn't supported as the author doesn't have a Mac, but it works 95% like you'd expect with a few small quirks. [1] https://github.com/zadam/trilium https://github.com/zadam/trilium
- gklitt 6y agoSomething I find intriguing about Foam is that it's mainly a recommendation for how to stitch together existing tools into a nice integrated workflow, rather than a new piece of software built from scratch. I wrote a blog post about this idea of "Software as Curation", and how we might imagine more software being built in this way: https://www.geoffreylitt.com/2020/07/19/tools-over-apps-for-personal-notetaking.html https://www.geoffreylitt.com/2020/07/19/tools-over-apps-for-...
- jazzex 6y agoI use this tool everyday and with some customization it has been very helpful for me. It helps that I also use VS Code for my job so its nothing to have an extra window open. I don't have to worry about folder and file structure and just write. The VS Code search is robust and fast. The customizations I use are just for auto creating daily notes and including timestamps and other metadata. Foam is also easily incorporated into static sites, although I have not yet used that feature.
- newlikeice 6y agoSo just going through this. Does it’s methodology say that you keep all your notes in one directory? It’s note very descriptive about this.
- neurotrace 6y agoFoam doesn't take a very prescriptivist approach. A flat directory is the path of least resistance but you can put things in to separate directories. Personally, I store all of my daily notes in a separate folder and everything else in the root
- ibn_khaldun 6y agoNotenik[0] is a FOSS native Mac app for note taking that I have benefited from tremendously. It has a few UX quirks to it, but the developer is highly active, responsive and friendly. Its strengths lie in its scripting and templating features (check out the site for more info about them) that turn the app into something like a static site generator with a GUI. [0]: https://notenik.net https://notenik.net
- ipiz0618 6y agoTo people who maintain a personal knowledge base: how often do you check older entries of it? And how useful is the graph view as compared to traditional list view note taking grouped by tags?
- jjude 6y agoI take notes in an atomic way (other than clipping interesting articles). Because they are atomic, many of the notes are linked in one manner or the other (either via "concepts", "daily log" etc.). So whenever I revisit one of the "concepts" node, I visit these atomic notes. Also, obsidian has a "open a random note" button. Thus I open a random note once in a while to see if I can learn (or relearn) something + to see if that note is still relevant for me.
- ipiz0618 6y agoThe "random note" function sounds really neat
- lervag 6y agoMy base has somewhere around 200k lines of text. I'm pretty sure some of these are almost never read. But I do open old entries/pages some times. I see no problem in writing a note that I never read. The writing is itself useful, in fact, as it helps me learn and organize information. (FYI: I use a personal wiki based on Vim (with wiki.vim [0]) and a markdown flavor.) [0]: https://github.com/lervag/wiki.vim/ https://github.com/lervag/wiki.vim/
- ipiz0618 6y agoCool plug-in!
- ricg 6y agoA data point: 11 years of note taking → 1,860 notes. I've been keeping notes for work in a structured way for quite some time. I log everything that I might want to recall later (project/app ideas, active projects, meeting minutes, phone call logs, people/companies I interacted with). Typically I use two methods for retrieval: (1) full text search: I simply search for a keyword; most common access (2) via backlinks: mostly for people when I need to figure out when I last talked to a person and what we agreed upon. I link the person in each meeting minute so that I get a list for links on the person's page. Frequency of access: - For active projects, pretty much each (work) day - For older notes, infrequently, maybe once a month. The older a note becomes, the less likely it is that I will have to access it. I started out with Circus Ponies Notebook, migrated to Scrivener, and two years ago started working on my own app, Life Notes[0] (I really wanted links and backlinks and the ability to keep regular files/PDFs next to my notes). [0]: http://kitestack.com/lifenotes http://kitestack.com/lifenotes
- deleted 6y ago[deleted]
- threesmegiste 6y agoFoam is a good solution if your not writing code on vscode. Our you should have second vscode somehow. KM should be seperate from my development enviroment.
- coldtea 6y ago>KM should be seperate from my development enviroment. Based on what? On Emacs it has been combined (org mode etc) since the dawn of time...
- pantulis 6y agoAnd that's why it has only reached adoption inside a very particular demographic, which may or may not be a selling point for you as a user (customer?) but definitely has an impact on the community and the usage of the tool.
- deleted 6y ago[deleted]
- neurotrace 6y agoPersonally, I like having my dev environment and my note-taking environment be the same. I finely tune VS Code to do what I want and I miss those features when I'm editing elsewhere. If I setup configuration or plugin that's non-optimal for note-taking, I can adjust that in the workspace settings
- threesmegiste 6y agoHype on pkm bases on zettelkasten. So pkm should support backlink. And notes should not live in seperate folders. Relation of note should be provided by links. Notes or parts of notes can be embedded to others. These are basics. And rest is plugins, ux. But these are basics. Of course this philospy also regrets vendorlock. Thats why they mostly use markdwon. These are the requirement. Backlink, embedding, markdown, graph view of notes relation. Who achieve that on multi-platform will win the game. Obsidian is on the way. But their users are generally developers. So they want always new features. So the markdwon format started to lose the feature of interoperatibilty. Needs are that simple. And all solutions on some point will need an mobile app. Because in use case you will need your pkm with you allways.
- cparsons3000 6y agoI can appreciate these graph based solutions but they are not visual enough for me. I've been using Bookmark OS as a folder based knowledge system and found it easy to navigate and retrieve data. https://bookmarkos.com https://bookmarkos.com
- galaxyLogic 6y agoI've found that I write a lot of notes but much less frequently read them. Seems so much of my time goes to writing notes that I don't have much time to read them. Still I believe it's good that I write them because I assume it clarifies my thoughts and makes it easier to remember the thoughts I had because I wrote them down.
- areactnativedev 6y agoMy 2 cents: I'd have liked to find a "Why this is better than for instance Notion" somewhere in the Readme
- brianjunyinchan 6y agoBeen using and loving foam since it came out. Decided to use backlinks as a tagging system to take advantage of VSCodes / the extensions backlinks display. Wish the main mode of navigation was visual clusters of text + used key shortcuts like vimium. Also wish the graph wasn’t newly generated each time. At the moment the graph is essentially pointless, with no long-term meaning communicated by the structure. There’s an open issue on that iirc
- vfclists 6y agoDoes it operate in the VSCode user interface in the same way Emacs plugins like org-roam and org-mode work?
- Thorentis 6y agoI want a FOSS knowledge management application that supports quick-linking, backlink browsing, a graph visualisation, and tagging. I'm yet to find something that doesn't leave one of these features out, or has some other deal breaker (not FOSS, can't backup, no markdown support, not cross platform, etc). This looks like it might fill that void, but I don't like that it's based on tying together VSCode extensions. I want something standalone, dependable, and usable purely off-line if need be.
- escherize 6y agoI believe logseq.com fulfills those needs. Using the "properties" feature, you can tag any block or page. What's more you can even write queries [0] to ask interesting questions about your notes, like what TODOS were written within a time period, etc. Could you explain quick-linking a little more? [0] https://logseq.github.io/page/Queries https://logseq.github.io/page/Queries
- Thorentis 6y agoBy quicklinking I mean you can quickly link between pages, usually by using some kind of keyboard shortcut or shorthand. e.g. The [[ in Confluence has become common in most tools. (You type double square bracket and sometimes it has a prompt with recent pages, or you just type the page name and close with two more closing square brackets).
- calebkaiser 6y agoI posted this in a reply to another comment, but in case it gets buried, as of last month Foam is also published to OpenVSX, meaning you can run it on VSCodium if VS Code's telemetry and licensing give you pause: https://github.com/foambubble/foam/issues/26 https://github.com/foambubble/foam/issues/26
- kevinslin 6y agoSince this thread is has a lot of note taking enthusiast, going to also suggest https://dendron.so; https://dendron.so;. Dendron is a scalable note taking tool built on top of VSCode. It's similar to foam but focuses on a hybrid approach for managing notes notes with both roam styled back links and dendron’s very own hierarchy system. Dendron also helps users selectively publish any subset of your notes as a dendron style digital garden. Disclaimer: I'm the author and I'm happy to provide any questions or help. You can also drop by our discord community if you just want to talk note taking: https://discord.gg/AE3NRw9 https://discord.gg/AE3NRw9