Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Technical note app that builds a knowledge base (monocorpus.com)
180 points by mtbarta on Nov 4, 2018 | hide | past | favorite | 52 comments



No note-taking thread could be complete without someone mentioning Emacs and org-mode, so let's be done with this already.

Comparing this app to Emacs/org-mode, I'd say that the core benefit of this app is collaboration. For single-person use, org-mode blows everything out of the water, being faster to use, much more feature-packed, and having better integration with programming languages (e.g. allowing to run code straight from your notes, in any language you've already set your Emacs up to work with, and have such random blocks of code in the notes exchange data). But there's no proper way of collaborating with this setup - both because lack of structure (org-mode notes are just plaintext files), and the near-impossibility to convince your co-workers to use Emacs if they aren't already.

Still, don't treat it as a negative comment, Emacs users are set for life and aren't really your target audience :). If anything, take a look at org-mode and see if you can steal some ideas.


I use vimwiki, and I'm really liking the simplicity of plain text notes (markdown in my case). I've never used orgmode, but I prefer to use other tools for to-dos and calendar/organization anyways. From reading about it, I think the only feature I'd really like to have is literate programming, which looks cool. Also, the tag search appears to support expressions, which vimwiki doesn't.

One area that I'm struggling with is making my notes easily viewable, editable and searchable on mobile. Syncthing + Markor for editing takes care of the editable part, but they aren't displayed nicely or easily searchable by text or tags. Exporting to HTML would make them nicer to read, but still not searchable. App and browser based solutions are much nicer in this regard, but I'm not willing to compromise on the other great benefits of programs like vimwiki/orgmode.

If you or anyone else has experience or an opinion, I'd be glad to hear about it.


> I'm not willing to compromise on the other great benefits of programs like vimwiki/orgmode.

Orgmode has some very decent web client: https://github.com/mickael-kerjean/nuage/wiki/Release-0.1:-O...)

disclaimer: I'm the author


I made a little gem called vimwiki_ markdown which would help with the HTML part.

https://github.com/patrickdavey/vimwiki_markdown


I actually am already using vim_markdown - thanks! It works well in terms of rendering, but I still have no ability to search, which I guess isn't the responsibility of vimwiki/vimwiki_markdown, but might need to be some postprocessing step.


The plaintext editor in NextCloud for iOS is basic, but works quite well for me.


On Android I use an App called Epsilon Notes synced to my vimwiki via syncthing. It handles md files like vimwiki.


Thanks, I'll check it out!

EDIT: it's a great app! Supports search and preview mode, links work properly too. It's just unfortunate that it's not open-source, which I find pretty important for some of the sensitive information that might be in a personal wiki.


How does vim-notes compare?


You can't add pictures and other media items in an org-mode document. You also cannot use a stylus and record notes in free hand in org-mode.


Don't know about stylus and haven't heard about sound recording for Emacs (never searched, but if there's none, then I'm sure this oversight will soon be corrected) - but for media files in general, org-mode allows you to manage "attachments" to textual notes. It works by making a copy of the attached file and storing it in a special directory structure next to the note, and then storing a UUID + list of file names in the note itself. This is probably the only reasonable way to associate extra binary files with a note that needs to remain plaintext and human-readable. Such attachments are then 3-4 keystrokes away from being perused in whatever program you usually open a given data type with.

(Of course if you manage such media manually and don't need a copy stored with note, you can use regular org-mode links to point to files, both local and remote.)

You're probably thinking about displaying media inline, and I agree this doesn't have a good implementation. I'm not aware of support for anything other than inline images, and even with pictures it's pretty rough at the edges. While it works for plots & figures (especially ones you generate straight from your notes, i.e. Jupyter-style workflow), I still haven't figured how to set up some scaling for those images. Also last time I checked, displaying larger images inline gave a somewhat choppy experience.

Overall it's not a big problem, but it does change the way you make notes. The king of "multimedia notetaking" is still Microsoft's OneNote, and long ago when I was using it, my notes would have a lot of pictures and screenshots mixed with text. In org mode, I naturally avoid having to make such notes; I trade it for being able to make text-only notes much faster and better.


Fortunately, you are misinformed about pictures, at least. The other limitations may be true still.


I've tried a lot of different note taking solutions, org mode, vimwiki, apple notes, etc. etc. But at some point I became dissatisfied with them all. My distaste for digital solutions lies in their lack of flexibility: at the end of the day, there's as of yet no digital means of note-taking, that I'm aware of, that achieves the same degree of flexibility and tight feedback loop offered by pen and paper.

Are my thoughts better captured in words or in images? No problem, with pen and paper I can switch modes seamlessly, and, furthermore, mix them without any hassle. Should I come up with tags and some appropriate naming convention so I can find my notes later? No need—when everything is stowed away in a compact notebook, I can quickly flip through and find a multitude of phrases or doodles that indicate what subject I've explored. There's something charming, too, about flipping through the musky contents of a forgotten notebook that I find lacking when I peruse old digital files.

Plenty of people find digital solutions more appropriate, and sure, they do eliminate some of the hassle of carrying around a notebook and pen, they make notes easier to share with collaborators (this is where they excel!), and if you have a large number of notes it may serve for better organization, but at the end of the day, note-taking is one domain in which I've found newer tools aren't necessarily better tools. Something about the tactile and fluid experience of taking pen and paper notes still gets my neurons firing in the right ways...I think the persistence of whiteboards in the workplace also attests to the value of analog means for capturing our thoughts.


The problem I had with musky notebooks is that I have too many of them. I have literally 80~100 old moleskines in a draw filled with old notes and ideas. Like you, I've tried most digital solutions, and they all came up lacking. Nothing can beat hand written note-taking for me.

So, I thought "Why not both?" For the last 5 years I've used a Samsung Galaxy note 8.0 with pen(the old tablet, not the phone). And the best app I found to take notes on is the stock S-note app.

I can put ideas into their own 'book'. It has shape recognition (draw a crappy square or line and it converts it into a nice clean one). Lots of customization options for pen shape, color, transparency and size. I can take or download photos to paste into the notebook.

But the killer feature for me has been the ability to import PDFs and write over them. Not only do I use this feature for reading textbooks and keeping my notes in them, but I can make custom "paper" backgrounds - think different grids - dot, hex etc.

And last year when I started journaling, I found no journal system worked for me exactly. So using Scribus (an open source DTP solution like InDesign) I can make custom journals (think daily, weekly and monthly organization pages) as PDFs to import and scribble on.

So now I have all my notes with me, able to scribble and doodle when I need, backed up and easily searchable and importable to my laptop. Win-win.

S-note doesn't quite do everything I need it to, so I may try to create my own solution - but it's 90% there.


Feel the same way. Ended up buying a Remarkable (https://remarkable.com/) which has been like a one player whiteboard for my thoughts and notes. Highly recommended!


It gets hard to keep track of say a chunk of text that you read online on a particular topic and want to append in your note.


Looks interesting. It's good to see another note app that also has an open source backend.

I'm personally using StandardNotes (https://standardnotes.org) for note taking, which has been great. If you don't need the collaborative functionality of MonoCorpus, it's worth checking out.


I was an avid user of StandardNotes (particularly a fan of the minimalism), but I've since been really taken by Joplin[0] and end up evangelizing for it whenever I can.

Joplin's FOSS, syncs using a number of methods, support E2E (I'm no crypto expert, but they use AES in OCB mode which seems appropriate), and supports things like LaTeX out of the box. Oh, and it has nice things like mobile apps and web snip extensions for browsers.

Collaboration is apparently on the radar, but doesn't currently exist in a meaningful way.

[0] https://joplin.cozic.net/

EDIT: I had cast some vague arm-chair dispersions on StandardNote's crypto claims which I've removed in light of the comment below regarding a security audit. Apologies for not informing myself on the matter!


Standard Notes’ cryptography was audited by a third party security firm: https://listed.standardnotes.org/@sn/821/announcing-our-secu...


That's actually awesome, was not aware.


Applications advertising use of AES is generally a good red flag that they're rolling some sort of custom, broken crypto. Fortunately, neither seems to be the case with joplin.


I mostly was noting that they were using a recognised authenticated AES mode instead of a custom alternative which you rightly identify as almost certainly being broken crypto :P


No, I mean when an application advertises AES, then they often roll their own protocol, which is broken until proven otherwise (taught by experience). Applications advertising use of an existing protocol (e.g. "Uses [signal/noise/whatever protocol] for end-to-end encryption") are less likely to be broken than those rolling their own.


For the record, I'm using SJCL [0] for encryption based on the parameters they suggest, and whenever random numbers are needed I use cryptographically secure ones, so overall I think it should be reasonably secure. I would welcome any third-party audit though. There's some more info about E2EE in Joplin there - https://joplin.cozic.net/spec/

[0] http://bitwiseshiftleft.github.io/sjcl/


For those of you who don't want to store their files on the cloud, try Texts ( http://texts.io ) which natively stores its files in Markdown. It's really awesome and has beaten Sublime as my primary .md editor. Even image embed works in the way you would expect, and the keyboard shortcuts map closely to markdown syntax (for example, Typing "## " will automatically switch formatting to a 2nd level header).


I've recently found an open-source editor named Zettlr, started using it and would recommend.

https://www.zettlr.com/


I'm using boostnote [1] for my note taking. What I like about it is, that I can add checkboxes through markdown which I can check while not in markdown mode. Very handy.

Kinda crazy how many note apps are getting built, all basically looking the same.

[1] https://boostnote.io/


My biggest problem with standard notes is the lack of support for inline images. I use it a lot when I am listening to online lectures (Quickly take a screenshot, crop and paste).


I find that the best way to take notes without slowing down the velocity is to minimize the context switching by embedding note taking to the environment.

Note-taking shouldn't be done by an external application because then users have to switch context from their current work. Rather, the tool should be available in the command line, browser, and IDE.

I have been making and using dnote [0] for the past two years to build a personal knowledge base, and this seems to work. I could just jot down things inside my terminal or web browser within seconds and get back to work.

[0] - https://github.com/dnote/cli


> Note-taking shouldn't be done by an external application because then users have to switch context from their current work. Rather, the tool should be available in the command line, browser, and IDE.

Some ways of working around that:

- have your note-taking app always open, on the other screen if available

- work in the same program you're using to take notes

I do the latter - there's one program that can do that, Emacs.

dnote doesn't look ergonomic enough for me to use directly (I don't spend that much time in raw terminal), but looks perfect for globally binding to a key, with an ad-hoc popup UI (e.g. via your WM on Linux, or with AutoHotkey on Windows - the latter makes it trivially easy to create a minimal GUI too.)


I know I'm playing armchair architect here, but MongoDB, PostgreSQL AND Elasticsearch?

For an application like this I would expect just PostgreSQL with its built-in JSON datatype and surprisingly capable full-text search to be enough on its own. I'd love to know how you ended up deciding on all three.


From the look of it it seams postgresql is used by keycloak for usermanagment-stuff, not by the app itself. So maybe this can be changed or even removed for selfhosting?


Cool stuff, I would pay for that - even a single user - if you could provide me with strong privacy guarantees.

I currently use my own code-note management app. It's crude and is essentially like a Jupyter notebook.

I would be happy to switch over something better if I could feel safe that this extension of my brain would be safe.


...just dreaming

I'd love to have storing PDFs (with searching), storing web pages as images and as text (integrated with my browser), writing notes with markdown, latex, asciidoc, adding links. All that should run locally (as it is my data) with an online integration on a website, so people can edit the data as well. Also teams, projects, content versioning, online conflicts resolution (if more people edited the same file), categories, tagging... Configuring a custom pipeline e.g. to build a pdf from my markdown/latex sources.

Additionally a nice keyboard-UI, so I don't need to click all day, as it slows me down terribly.

I'd happily pay for this.


Honestly, Evernote does the vast majority of what you just listed. I’d highly recommended it giving it a try if you haven’t already.


Does anyone know a similar app not geared so much for developers? i.e. (also) interlinking nodes with full markdown support (incl embedded images) or even files, a good search over all of them, preferably WYSIWYG-y (like Typora)


I use TiddlyWiki for note taking, and I think it has most everything you’re asking for. Except, my one complaint is that it uses an odd dialect of markdown.


You'll probably like CintaNotes (Windows only) or Zim Wiki.

Biggest downside to both is the lack of mobile apps. But Zim uses plain text files and Cinta can sync with Simplenote. I mention Cinta mostly because it has some of the better search capabilities I have seen in a note app.


You should check out notion.so


Second this. We use notion for all of our company knowledge-tracking and documentation. It's even great for the more technical side of things, as it supports code-formatting as well.


Check out https://www.wikiful.com

Prioritizes speed & simplicity. Has markdown shortcuts.

(I’m CTO / co-founder)


I built something like this to use locally and I found it to be one of the most useful tools. For me the Search feature is what really did it, tagging articles so I could look them up later was amazing.

I used https://github.com/olivernn/lunr.js/ so the search had great functionality locally. Is there going to be anything like that?


I see a lot of the note apps popping up - what is the fundamental problem that people are trying to solve that hasn't been solved by all the other apps? Is it collaboration or syncing or other?


This looks quite good for my technical operations workflow actually.. ETA on when it will be available?


the open source version is available if you want to use it immediately. There's no team functionality, however.

I'm hoping to get a more fully-featured product out in a few months.


Might want to check out cacher.io for a team-based app that integrates with VSCode, Atom and Sublime.


One of the screenshots doesn’t resize properly down to mobile. FYI.


Sorry about that! I jammed several gifs and a video into the template without thinking about responsiveness. I know on Macs the video below the about section doesn't seem to play.

I'll look at it asap.


I use my Leuchtturm (bullet Journaling) + TiddlyWiki.


Sorry, but I can't understand why should I use this app instead of saving notes in a source code?


Not all notes belong in shared source code. I take notes on overall code structure and oddities, but also debug output, commands I've run, daily todos, thoughts on papers, experimental results, etc.

I used to save markdown files to git, but 1.) search was difficult and 2.) sometimes I wanted to see the evolution of a project while other times I wanted notes by day.

This project aims to make it easier to record and recall knowledge that teams need and take for granted. I tend to think about onboarding new members, how projects are run, and very specific, technical challenges not on Stack Overflow.

I'm open to feedback. I want to continue to push down a wiki/knowledge base path, but i'm not sure how other teams currently manage stale knowledge and dissemination of technical info.


Notes are structured differently than source code. My notes contain things like tasks, each affecting many source files, sometimes dozens, design notes affecting the code globally, and even plain brain dumps, which would be best left unshared.

Personally, I generate at least as much prose in notes as I do lines of source code, so there would also be readability issues.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: