Zettelkasten - General

Welcome to the Functional Programming Zulip Chat Archive. You can join the chat here.

Fintan Halpenny

Yeh, what a machine :sweat_smile:

Fintan Halpenny

If you want a short book on the method, @TheMatten, I'm reading How to Take Smart Notes which gives you a run down of it and contextualises its use

TheMatten

@Fintan Halpenny Cool, thanks!
zettelkasten.de seems to be nice source of information

Jonathan Lorimer

Does anyone have any software that they use for this?

TheMatten

I guess one could use markdown stuff - but as a proper programmer, I already have new, minimalistic, extensible alternative in mind that's :100:% better... :joy:

TheMatten

But seriously, it would be nice to have format with only one way of doing things and support for extensions

TheMatten

And I mean, we're programmers, we can always use code editors with plugin support :big_smile:

Jonathan Lorimer

I am already working on a note taking workflow in vim. The general idea is that I break up my literature in a directory structure that goes <genre/discipline>/<text-name>/<chapter/section>. Then I have a vimscript function that pulls that data and creates frontmatter for my markdown file. I was thinking about linking references with relative paths. Ideally I would find some software that would use the directory structure and path links to build a data structure that I could slap a gui on top of.

Jonathan Lorimer

but if I need to just write my notes in a note taking app to get the visualization portion then I am happy to do that

Bolt

Are you going for the personal wiki approach?

Bolt

I got really pumped with that

Jonathan Lorimer

I guess that is what I want

Jonathan Lorimer

How do you make your personal wiki?

Bolt

I think you just have a system that can convert your notes to HTML

Bolt

There's VimWiki but I think I'm going to turn this into a side project

Jonathan Lorimer

Yeah, I was thinking of having some sort of pandoc setup that would compile my notes

Jonathan Lorimer

I have also been looking at roam research

Jonathan Lorimer

https://roamresearch.com/

As easy to use as a word document or bulleted list, and as powerful for finding, collecting, and connecting related ideas as a graph database. Collaborate with others in real time, or store all your data locally.
James King

I'm a filthy emacs user and use org-mode for literally everything.

James King

Literate programs that can access databases to update spreadsheet tables in my org files which i can export to PDF, etc, etc. I do my diagramming with diaa and the org integration with it, etc.

Jonathan Lorimer

I've honestly been thinking about switching from nvim to doom emacs, just for better graphics support

Jonathan Lorimer

although nvim is super lightweight which is nice

James King

graphics support in emacs is pretty decent these days. I can keep a PDF of Thinking in Types open in one pane while working on the code examples/problems with intero in another buffer.

Jonathan Lorimer

That's really nice. Might have to give it a spin.

Jonathan Lorimer

https://www.zettlr.com/download/ this looks pretty nice

A powerful Markdown editor for researchers and journalists.
Sridhar Ratnakumar

I started implementing Zettelkasten for my notes about 2 days ago. It is all plain-text files, edited with vim. Future proof. But I use the rib static site generator to generate HTML, for easy browsing. Since I use mmark parser, I also added an extension to it to convert wiki-style links for zettels. I have more plan in roadmap. As the system evolves, I hope to write blog posts describing my workflow. See also #Random where there is a topic on Zettelkasten already (I guess I should just move over here?)

Sridhar Ratnakumar

Another workflow improvement I implemented recently is to use fzf with rg to "quick open" (a la Notational Velocity) any zettel, by search for their title in markdown metadata.

Sam Stites

@Sridhar Ratnakumar I was doing the same, but have switched to zettlr for the latex rendering (in markdown files). Zettlr is just really a markdown editor with zotero support.

Sridhar Ratnakumar

I use this in a script, in conjunction with i3's floating window mode + tmux + keybinding to implement a layman's dmenu but for opening and editing zettels from anywhere in desktop

Sridhar Ratnakumar

I tried Zettlr. Found it to be slow (looks like a Atom app?).

Sridhar Ratnakumar

Roam research looks nice though, but buggy (one of my notes just vanished)

Sridhar Ratnakumar

In end, whatever tool we pick - what's important is that our notes remain for entire lifetime (of productive work). If you start with something with Zettlr or Bear, that's okay - but in future if you feel that the app is not what you want, you can always export your notes, write a script to migrate it to a new system.

Sridhar Ratnakumar

Once my plain-text system evolves to a point, I'd like to open source it - based on rib and nix (should include tools like fzf, rg, tmux, nvim, etc.). So people can just nix-build it and use directly.

James King

I've been experimenting with a workflow for writing notes and blog posts by hand on a Remarkable, converting to text on the fly, and piping it through maildrop scripts that sort it into the right bucket.

Sam Stites

@James King that definitely sounds ideal! I haven't been too happy with Remarkable's OCR, have you been using it or are you piping through another ocr reader somewhere in there?

James King

I've been using Remarkable's... so I still need to manually clean up stuff from time to time.

Sam Stites

yeah, I was actually writing my own CLI for a vim-based zettlekasten and would use remarkable png exports for any diagrams. The whole thing was just a lot of manual labor as I was bootstrapping it from my index-cards. : (

Sam Stites

eventually I gave up -- I'd honestly love to see someone else succeed at this, even if it's just some sort of LSP for zotero-references and zettle-ids.

Fintan Halpenny

@James King I've been using a reMarkable for like 2 weeks now!

Fintan Halpenny

I just have a daily notes, references, projects, and slip box directories

James King

@Fintan Halpenny Welcome to the club! :) It's an awesome device. :)

Fintan Halpenny

I'm loving it :grinning_face_with_smiling_eyes:

Fintan Halpenny

I'm hand drawing a talk I'm going to give :sweat_smile:

Fintan Halpenny

And doing up diagrams for discourse posts

James King

I use a bunch of maildrop scripts that I can email reMarkable docs to that sort things into folders for me which I can use to later publish stuff from, etc. :+1:

James King

i self-host my mail though on my VPS which makes this kind of thing possible... might not work for everyone, but it's pretty neat to be able to pass reMarkable docs through their OCR and have it drop off in my mail, sort into blog posts, and be ready for draft. :)

Sridhar Ratnakumar

What do you all use as the reference system? There is bibtex, but that seems like an overkill - as I'm most likely to reference simple things like Slack conversations or web pages rather than academic papers with complete citation.

Sam Stites

@Sridhar Ratnakumar I use zotero for everything -- there is a plugin I use that will save the webpage as a single .html and also request archive.org snapshot it. Zotero will eventually cost money for cloud storage so I just disable that and keep the zotero folder in dropbox

Sam Stites

I think anything lighter weight might require a custom solution -- you can always just fork that plugin as a standalone service: https://github.com/leonkt/zotero-memento

Zotero extension that combats link rot by archiving webpages and journal articles. - leonkt/zotero-memento
Sam Stites

A more forward-thinking, decentralized service would upload to the IPFS -- but right now it's usually best to upload to a service that is memento-compliant: https://timetravel.mementoweb.org/about/

Sridhar Ratnakumar

Sam Stites Zotero will eventually cost money for cloud storage so I just disable that and keep the zotero folder in dropbox

How is that working for you? Zohoro officially warns against it in their support documentation, for example: Storing the Zotero data directory directly in a cloud storage folder is extremely likely to corrupt your Zotero database and should not be done.. https://www.zotero.org/support/sync#alternative_syncing_solutions

Sridhar Ratnakumar

Perhaps it is possible if Zotero is used from only one computer? Because it seems to me that their warning is related to running multiple copies of Zotero with a common Dropbox folder.

Sridhar Ratnakumar

@Fintan Halpenny @Sam Stites Do you use a reference system (which, incidentally, lives outside the slip-box) ? I can see why academics would need it. But why should programmers bother?

Fintan Halpenny

Nah I haven't had the need to

Sridhar Ratnakumar

Another article on Zettelkasten, but this one goes into the practicality of implementing it: https://article69.art.blog/2019/12/20/how-and-why-to-create-a-zettelkasten-a-guide-in-the-vein-of-niklas-luhman/

Source: The goal of this article is to present the generic form of the Zettelkasten (in English—slip-box) as invented by Luhmann himself, as well as why it works and some of the theory behind it. F…
Sridhar Ratnakumar

One of my overview zettels look like this: image.png

TheMatten

I've decided that I'm not happy with markdown and want extensible, self-contained markup format for zettels that's readable in plain text - not the quickest approach to get started, but hey, maybe I can build something interesting this way :slight_smile: :

New format for making articles (and notes)
28.02.2020
#zettelkasten #zetta #notes.meta
===============================================================================

Let's call them "zettas"
------------------------

Some note here. Some note there.

[image https://some.image]
  Some image description

Some more notes. Indentation FTW!:

[code haskell]

  main :: IO ()
  main = putStrLn "Hello World!"


Plain link: https://some.link

A little bit of math:

[math]

  1 + 2 = 3

Some formatting, hopefully as human-readable as possible:

- lists
- /italics/
- *bold*
- ~strikethrough~
- ^superscript
- [code haskell](inline code)
- [code](unknown programming language)
- numeric references [1]

[ ] some
[X] checkboxes
[ ] too

1. numbered
2. points

> Quotes of course.
    Optionally With Person's Name

Cross-references to other zettas, like [z 123456-Some-zetta].

  Subtitles
  ---------

  that use indentation for their content

|--------|---------|--------|
| tables | because |  they  |
|========|=========|========|
|  can   |   be    | pretty |
|--------|---------|--------|
| useful |  some   | times  |
|--------|---------|--------|

All of this should be parse-able. Plus, one should be able to add "extensions"
- those [code zetta]([_](..)) blocks could be mapped to output with custom
style, e.g. when generating HTML or could return some graphical element to show
in IDE. For example, [code zetta]([image url](description)) shows inline image
with description when turned into HTML. At the end, this format could work
for anything text-oriented, from wiki to blog.

===============================================================================
[1] footnote for my reference

29.02.2020 Some fixes and extensions
Joel McCracken

@TheMatten your comment reminds me of my frustration with markdown and then searches that have led me to various places; at this point in time I am just using XML for markup (in a blog, not anythign related to Zettelkasten)

TheMatten

I see - I find {X,HT}ML overly verbose and ugly personally (I mean, reason why I started tinkering with gitlab.com/thematten/html-do, which I should finish, sorry Srid :slight_smile:) - but it's simple at least
I've already started building parser for "Zetta" - let's see how it comes out :slight_smile:

Joel McCracken

sure, hope it works out!

TheMatten

Thanks :slight_smile:

Joel McCracken

i'd like to experiment with this kind of thing sometime too; to me the big issue w/ those custom formats are extensibility

Joel McCracken

but it seems reasonable to have some core/"blessed" markup forms; honestly i've thought i'd like to just use xml and embed markup in the elements

TheMatten

That's that "extension" thing I'm thinking about - sort of code blocks on steroids that could be mapped to custom output in parser
It's that extensibility vs. good integration fight - I choose to have wired-in, readable syntax for common forms and lightweight syntax for extensions - basically as if markdown got support for custom extensions

Joel McCracken

yeah; it makes sense. I've pondered over this kind of thing. You might find https://docs.racket-lang.org/pollen/index.html interesting

Joel McCracken

(I used it for a while, ended up just deciding to rewrite in haskell and use xml as the initial format; i'm still noodling on writing something else.

TheMatten

Racket is cool - I hope that one day we get language with Agda-like syntax and type features with Racket-like extensibility - that would be a killer combination
Until then, it will be hard for me to get over those parens :big_smile:

Joel McCracken

I didn't like the parentheses at first, but after a time you get used to it.

TheMatten

A little bit - I guess it's pretty close to what I'm thinking about
I may consider it if current solution doesn't turn out well

Sridhar Ratnakumar

Recently I used algebraic-graphs library to build a graph of my zettels. This then allowed me to build a "tree" of notes and show it in index.html. It is rather cool! I never set out to create hierarchy like you do in Workflowly or Dynalist; only build connections between notes. And yet a hierarchy (more like, 'heterarchy' - because it is a DAG not a tree) evolves organically.

Sridhar Ratnakumar

Think it is time to create a github repo for "Haskell knowledge base" that uses zettelkasten, and have the community contribute to it. :idea:

Sridhar Ratnakumar

The orange site makes no mention of zettelkasten (except for a comment that indirectly references it). Not surprising. https://news.ycombinator.com/item?id=22473209

Fintan Halpenny

Actually HN is where I first discovered an article talking about the book and the article author's 10 take away points. I think I shared that article with you too :grinning_face_with_smiling_eyes:

Sridhar Ratnakumar

Cool. I discovered two more comments, deep in that thread that references Zettelkasten. But anyway, generally I place much less trust on HN's wisdom.

Sridhar Ratnakumar

Think it is time to create a github repo for "Haskell knowledge base" that uses zettelkasten, and have the community contribute to it. :idea:

I decided to do this. First step - open source my zettelkasten site generator.

Solomon Bothwell

@James King and any other org-mode users, have you experimented with org-roam?

https://github.com/jethrokuan/org-roam

Rudimentary Roam replica with Org-mode. Contribute to jethrokuan/org-roam development by creating an account on GitHub.
Bolt

I like the idea of a Haskell knowledge base very much!

James King

Solomon Bothwell said:

James King and any other org-mode users, have you experimented with org-roam?

https://github.com/jethrokuan/org-roam

I haven't. I just use plain old org-mode and email.

Solomon Bothwell

@Bolt I'm still in the early stages of this but I started an alternate base in the form of literate haskell files which I intend to heavily document and then use with pandoc to create a website: https://github.com/ssbothwell/hcatlab

I would love to get contributions. Once I sort out the pandoc stuff I'll make a big push to add more modules and document everything.

An exploration of the category Hask. Contribute to ssbothwell/hcatlab development by creating an account on GitHub.
Solomon Bothwell

@James King I use plain org-mode as well but the Zettelkasten features of org-roam look compelling to me.

James King

Solomon Bothwell said:

James King I use plain org-mode as well but the Zettelkasten features of org-roam look compelling to me.

Cool! :smiley:

Bolt

@Solomon Bothwell cool, can you point me to an example file? The ones I looked at don't seem documented

Joel McCracken

I think that part of the idea of these things is less having a community wiki

Joel McCracken

and more like having things written by specific individuals

Joel McCracken

(and, for an individual, it is a way to organize your own thoughts)

Joel McCracken

Now i'm not saying that a community concept isn't useful, but it is also distinctly different -- after all, how is a tool like this for haskell fundamentally different than haskellwiki?

Solomon Bothwell

@Bolt I haven't really started on documentation but there are a few modules where I copied content from google. I think Functor and List have some copypasta

Solomon Bothwell

@Joel McCracken My idea was to make something like Haskell Wiki that is fully typechecked (and property tested), where the implementations are more pedagogical then what you might see in the real libraries on hackage, and where its totally self contained so you could clone the project and play around with it in the repl.

Joel McCracken

sorry i thought we were talking about a person's individual "Zettelkasten" based upon haskell

Joel McCracken

referring to something @Sridhar Ratnakumar said a while back

Solomon Bothwell

@Joel McCracken ahh sorry I kinda went off topic. Yeah I think from what I understand of the system, a Zettelkasten makes more sense as a personal knowledge base.

Sridhar Ratnakumar

@Solomon Bothwell Could you give an example of what a ... page would look like? Your idea cues to something interesting, but I don't understand what it actually will be, in the end.

Sridhar Ratnakumar

@Joel McCracken In Zettelkasten, category hierarchy (heterarchy, actually) is organically built bottom-up rather than top-down. I thought that that aspect is awesome to organically create a powerful Haskell wiki of some sort (that may also act as a book?). The idea is still in its fancy. I hope to produce a prototype soon.

Joel McCracken

yeah i mean you could probably make a wiki from it

Joel McCracken

but im just trying to point out the disticnctyion between a personal KB and a group KB

Sridhar Ratnakumar

I realized this only after using graph algorithms on my personal zettelkasten. The resulting DAG I rendered as category tree turned out to be rather interesting! More than what I could have done with pre-defined categories of Workflowy/Dyanlist.

Sridhar Ratnakumar

Say that with this tool: just anyone could add zettel notes without moderation. However for linking them (to make connections), they will require collaborative agreement. A structure will eventually be built from the ground-up, using notes from various participants.

Joel McCracken

yeah thats's interesting

Joel McCracken

reminds me of the federated wiki idea

Joel McCracken

It would be really nice if there were a way to structure blog posts

Sridhar Ratnakumar

You reading my mind? That's exactly what I'm working on :-D I'll soon be replacing srid.ca with a Zettelkasten based personal website/blog/knowledge-base comboi.

Home page of Sridhar Ratnakumar
Joel McCracken

could we make this like a Zettelkasten/WIki topic?

Joel McCracken

(or not, just a thought :P)

Sridhar Ratnakumar

Indeed, but first let me release the project (titled "Neuron"), that combines Zettelkasten + Wiki (also acts as the Haskell library to build these things) as the official open source repo

Joel McCracken

I'll contribtue some boring haskell stuff to it

Sridhar Ratnakumar

And they would all be linked to an overview zettel named "Boring Haskell" :-)

Sridhar Ratnakumar

(among other things, of course; remember it is a DAG)

Solomon Bothwell

@Sridhar Ratnakumar the inspiration was ncatlab.org

Bolt

I'm thinking of doing a little side project of my own as well. And maybe use Haskell to parse Zettels and insert them in a Graphs DB.

Sridhar Ratnakumar

Announcing the open sourcing of my Zettelkasten library, which will serve as the base for my private Zettelkasten, and the upcoming "Haskell wiki" as well as personal blog: :megaphone: :nerd: https://github.com/srid/neuron

WIP: Haskell meets Zettelkasten, for your plain-text delight. - srid/neuron
Sridhar Ratnakumar

https://www.srid.ca/ is now completely switched over to Neuron. All your notes and blogs belong to Zettelkasten!

Bolt

https://github.com/bolt12/zettel

I have made something that is still in beta but can be of use/inspiration to someone. basically is a little CLI that lets me write zettels like they were git commits and insert them automatically in a Graph DB like Neo4J!

I used polysemy to abstract some of the pain away!

Zettelkasten file processor. Contribute to bolt12/zettel development by creating an account on GitHub.
Bolt

I'm having trouble with CI, Im still noob, but hopefully everything works in the LTS-14.27

Sridhar Ratnakumar

Holy crap, just had my first instance of "surprise" my Zettelkasten gave me. Was adding a note on X, and then made a connection to P, Q and even R (something in topic of psychology/actualism). I would have never made this connection pre-Zettelkasten. All this after just 2 weeks of using the system.

Sridhar Ratnakumar

For those who were curious: the new zettel was based on something from a Joe Rogan podcast. Because it reminded me of something I've come across a few times. Looked in my zettelkasten, and found those zettels. One of them from a new concept zettel I created, and another from a journal entry. Made a connection between all three, which lead to whole new concept (a label for a hitherto unnamed phenomenon)!

Anton Lorenzen

There is also roamresearch.com Not open-source unfortunately

As easy to use as a word document or bulleted list, and as powerful for finding, collecting, and connecting related ideas as a graph database. Collaborate with others in real time, or store all your data locally.
Anton Lorenzen

I've found it useful to just use the Delta Chat Android App with two private email addresses. Doesn't support linking very well, but a nice user interface for short notes

Sam Stites

@Anton Lorenzen There's an org-roam group which is currently implementing an open source roam+emacs implementation

Anton Lorenzen

That sounds nice! Though I am currently mostly interested in a good android app

Greg Bell

@TheMatten I didn't see a lot of feedback about your proposed zetta format, so I signed up just to tell you how awesome that looks. Everything I need, and still mostly un-marked-up plain text.

TheMatten

@Greg Bell Thanks! I've started working on implementation of Pandoc reader that would make it possible to convert it to any common format - though I'll probably need to sort out some specification so that I know what to parse actually :big_smile:

I'll let you know once it's done :slight_smile:

Jonathan Lorimer

https://jonathanlorimer.dev/posts/smart-notes-review.html
I wrote up a review of How to Take Smart Notes if anyone is interested. I didn't find much useful in the book, but tried to highlight what I did like.

Sridhar Ratnakumar

Jonathan Lorimer I have heard people refer to a zettelkasten as a directed acyclic graph

Could you state who that is? I originally referred to it as DAG, but have since corrected that characterization. It doesn't have to be acyclic (although it is good to ensure that there are no cycles; neuron facilitates this by distinguishing links between z: and zcf:).

Sridhar Ratnakumar

And I agree with your conclusion. I skimmed the book, and didn't find it very useful.

Jonathan Lorimer

I think it was you who called it a dag, although I didn't know you corrected yourself, and definitely didn't intend to call you out. I more wanted to bring up the fact that it could have cycles.

Sridhar Ratnakumar

Ah okay. No, I wouldn't mind if you explicitly call me out. :-) That's how we learn...

Jonathan Lorimer

@Sridhar Ratnakumar I would be interested in hearing what you thought of the blog post, although I don't suspect that there would be any useful content in it for you. Coincidentally it is also my first blogpost and I am keen to get feedback.

Cyril Valyavin

The post is nice and insightful, however, I'm still yet to find the exact minimal set of links to give a solid answer to "what the heck is Zettelkasten" without too much detail. The post above and How One German Scholar Was So Freakishly Productive are probably what's best for now. LessWrong article is just way too overwhelming without conveying the essence

Luhmann wrote over 70 books and more than 400 scholarly articles using the Zettelkasten notetaking method.
Sridhar Ratnakumar

@Jonathan Lorimer Just one feedback. Where you mention Zulip you might want to link to that discussion directly: https://funprog.srid.ca/general/zettelkasten.html

https://writingcooperative.com/zettelkasten-how-one-german-scholar-was-so-freakishly-productive-997e4e0ca125 Zettelkasten — How One German Scholar Was So Freakishly ProductiveLuhmann wrote over 70 books and more than 400 scholarly articles using the Zettelkasten notetaking method.
Sridhar Ratnakumar

@Cyril Valyavin I would like to produce an answer to "what the heck is Zettelkasten" by expanding the Neuron documentation here, eventually: https://neuron.srid.ca/2011401.html

Cyril Valyavin

@Sridhar Ratnakumar Yeah, thank you! I'll keep an eye on that

Asad Saeeduddin

Has anyone done a video showing how they use their Zettelkasten related tools to take notes, update them, and find stuff?

Rizary

@Asad Saeeduddin i found this YouTube - How to Take Smart Notes | Zettelkasten Method in Roam Research and try to follow his method at the moment. I am still new at Zettelkasten though.

He implemented it with roam research

Bolt

In my https://www.github.com/bolt12/zettel I implemented an edit functionality but it's pretty simple and cannot edit if there's some note is connected to the zettel you wish to edit

Zettelkasten file processor. Contribute to bolt12/zettel development by creating an account on GitHub.
Bolt

In my https://www.github.com/bolt12/zettel I implemented an edit functionality but it's pretty simple and cannot edit if there's some note is connected to the zettel you wish to edit

Zettelkasten file processor. Contribute to bolt12/zettel development by creating an account on GitHub.
Sridhar Ratnakumar

A small asciicast of how search looks in Neuron: https://asciinema.org/a/313358

[See neuron's documentation](https://neuron.srid.ca/2011406.html) for details.
Sridhar Ratnakumar

PR that implements it, using a rather innovative thing called "static which" (using nix to provide a static version of which; which embeds runtime binary path in Haskell program so that it is verified to be available on the user's machine): https://github.com/srid/neuron/pull/25

Closes #14 Fix regression in sridca/self with staticWhich not finding neuron-search script
Sridhar Ratnakumar

Sridhar Ratnakumar said:

Think it is time to create a github repo for "Haskell knowledge base" that uses zettelkasten, and have the community contribute to it. :idea:

I just published such a github repo, and the Zettelkasten site, and announced it here! https://funprog.zulipchat.com/#narrow/stream/201385-Haskell/topic/Haskell.20Zettelkasten

felko

(cont. from #General > Zettelkasten/Emacs) I was wondering why did you chose to denote zettel links as [id](z:/) instead of [link display](z:/id) which feels closer to the way usual markdown links work, is there a reason? I find it weird that everything after z:/ is ignored by neuron but what's between the brackets is taken into account, usually it's the opposite: what's in the bracket is used for display and the link destination is uniquely determined by what's between the parens.

Sridhar Ratnakumar

In the beginning it used to be like the way you suggest. But I wanted zettel links to be consistent across board, without any custom link inner text (which would make it inconsistent). So, it then became something like: [.](z://12345). I guess it occurred to me at that point, "why not put the ID as inner text?", and I made that change. Otherwise, the thing inside [...] would be ignored by neuron, which might be confusing.

Sridhar Ratnakumar

Also, in future I'm considering deprecating (without removing) zcf:/ in favour of something like [12345](z://?type=ordinary).

felko

Alright, makes sense

Alex Chapman

Thanks for the link. Both the system and the content are fascinating.

Ollie Charles

Yea, I found that a few days ago too - did you find it via org-roam's issue tracker? It's a beautiful UI. I had fun trawling through it!

Simon Michael

That looks nice indeed. Reminds me of wiki and Smallest Federated Wiki.

Sridhar Ratnakumar

Ah, stacked notes ... interesting way to navigate notes. I'm gonna think about it! I also like note link preview tooltips.

Kit Langton

@Sridhar Ratnakumar He gets into the reasoning behind that here (https://notes.andymatuschak.org/Peripheral_vision?stackedNotes=zT6iA52811NuLvbU9W8ixeDc3KUqyCT1wN8). I think it's a great idea to deal with the all the jumping around necessitated by note atomicity.

Sridhar Ratnakumar

Basically it is a way to navigate "neighbor" notes (backlinks are one kind). There is also outline notes (aka. overview zettel), and tags - both of those are valuable as well, they let an hierarchical organization evolve, which I find to be valuable (eg: in gleaning common patterns/insights from daily journal entries), but this person does not.

Sridhar Ratnakumar

But the hierarchy is often built bottom up (with patterns emerging over time, not at start), than top-down.

Sridhar Ratnakumar

I like the "Peripheral vision" notion in note taking. There has to be a better visual representation for that than stacked notes, though.

Capn Nemo

I think a very important thing for the usefulness of ZK software that is hard to discuss is the "visual context" in which you are editing a note. Roam/org-roam has clips of other notes based on backlinks, and TheArchive makes every note link a search so you see a list of the titles of other linked notes. Does Neuron have different options for this?

Sridhar Ratnakumar

Neuron already supports backlinks, and I think it would be good to add support for showing those 'clips' (snippets) as well. Can you explain that TheArchive feature in detail @Capn Nemo I don't understand it.

Sridhar Ratnakumar

... Though neuron-mode (emacs) doesn't yet support backlinks; but it would be done eventually.

Vance Palacio

@Sridhar Ratnakumar - hey, so I've been working on my own little series of articles of what is essentially FP design patterns/fundamentals. It's sort of GOF style with a brief section on what each pattern is used for, and a set of examples on usage. I want to add them to the Haskell zettel, just wasn't exactly sure how

Sridhar Ratnakumar

@Vance Palacio Do you have a link to the content as it exists right now?

Vance Palacio

It all just exists in a gitlab repo as a bunch of markdown files

https://gitlab.com/vanceism7/learnbyexample

Specifically
https://gitlab.com/vanceism7/learnbyexample/-/tree/master/guides/FunctionalProgramming

A set of reference guides aiming to teach concepts quickly through terse descriptions with lots of examples
A set of reference guides aiming to teach concepts quickly through terse descriptions with lots of examples
Sridhar Ratnakumar

@Vance Palacio Yea, it would be great to have zettels titled "Fold", "Optics", etc. I would say they should contain an introductory blurb, with a small example, and links to either a) other zettels, b) or external posts explaining them in detail.

Do you currently have a website or blog?

Capn Nemo

@Sridhar Ratnakumar TheArchive doesn't actually have real links, just search. So click [[20200101010101]]and you'll get a search for that ID, with the notes that have it in the filename (i.e. the note you are 'linking' to) at the top and the notes that link to that note (i.e. they have links to it in their content) afterwards. The result is a list of notes that link to that note, but you just see the filenames, not their content. Just like a normal file directory.

Sridhar Ratnakumar

Announcing r/Zettelkasten's new public zettelkasten (based on neuron :-D ) ! https://reddit.zettel.page/

Joel McCracken

Is anyone using org-roam? if so, do you like it?

Jonathan Reeve

@Joel McCracken , I'm using it, and really love it so far. I also use org-roam-server which is truly next-level.

A Web Application to Visualize the Org-Roam Database - org-roam/org-roam-server
Joel McCracken

Cool! I'll check it out

Jonathan Reeve

What I really want is a for Neuron (@Sridhar Ratnakumar ) to support org-roam files, so that I can make those cool-looking websites out of my knowledge base.

Joel McCracken

yeah that would be a cool add-on

Joel McCracken

of course you could also customize org's html export

Sridhar Ratnakumar

org-roam-server has some ideas I could steal for neuron's Impulse feature.

Sridhar Ratnakumar

(its all ghcjs/reflex, as foundation)

Mason Mackaman

this is really cool! I've never been a note taker but I'm gonna try this!

Mason Mackaman

How do you all handle math? I decided it just use MathJax markup, but I'm curious if there's a better way

TheMatten

It manipulates "tree spreadsheets", but what's interesting is that it allows one to "tag" cells and use "hierarchy swap" to morph tree into one where interesting tag appears on top

TheMatten

So you could do stuff like having tree with language cells containing cells with resources about binding to some web APIs, and you could move tag of some concrete API up to reveal all of it's bindings

TheMatten

I imagine this could be interesting alternative to tags in something like Neuron, living in zoomable tree at all times, but supporting similar "graph-like" workflows

Sridhar Ratnakumar

Speaking of tree structure, Emanote (neuron successor) recently got note embedding feature: https://note.ema.srid.ca/demo/custom-style#advanced-styling

You can even do recursive embedding, which is visually isomorphic to trees (as if looking through the root from the top).

(Gitlab support requires this)

Sridhar Ratnakumar

Obsidian just released a mobile app: https://archive.is/VwH5p

Works pretty well with Syncthing on Android. No proprietary / centralized login/sync needed.

Mats Rauhala

And the markdown format seems simple enough that you can use a regular editor on desktop if you want, and still be obsidian compatible

Sridhar Ratnakumar

I pretty much avoid Obsidian (on desktop) as I'm not a fan of its UX. I use VSCode with these extensions and settings (with the web view of Emanote by side).

Sridhar Ratnakumar

But 'tis good to make quick edits on mobile though. If I setup a server with syncthing and Emanote running, I could even get instantly (within seconds) updating web preview.

TheMatten

BTW, neutriNote CE and Markor are nice apps for editing markdown

Mats Rauhala

Disagree on markor. 5 years ago I would have agreed, but it seems to be trying to be more and more and it's not really excelling at any of those.

  • Markdown editing works, but is not pleasant
  • It has todo.txt support, but it's terrible
  • It was wiki support for a dozen different wikis

etc.

Mats Rauhala

In fact, one of the reasons I'm so excited about obsidian on mobile, is that it's sooo much better for markdown editing than markor ever was.

Jonathan E. Magen

Discovered CriticMarkup last week which I am hoping will be supported by more tools. I've been thinking of writing an AsciiDoctor plugin which will do this, actually. Since I tend to use AsciiDoctor for most of my writing. I use Roam Research more as a personal wiki than a true Zettelkasten, however.

Sridhar Ratnakumar

I'm planning to work on a second brain tool that will subsume everything, Zettelkasten, notes, tasks, calendar, etc. etc.

In research phase right now. Probably will use neo4j. No plain-text limitation.

Jonathan E. Magen

This seems really cool! I'd love to learn more about your plans. Personally, I'm curious as to your choices and reasoning for thinking neo4j might be the solution as opposed to something lighter weight. Sounds really cool!

Sridhar Ratnakumar

Couldn't find anything light weight really. Neo4j seems to be the only out there. I'd use it for exploration, at least. Right now I use a whiteboard.

Vance Palacio

@Sridhar Ratnakumar Been giving emanote a whirl this morning. This tool is freaking fantastic! Thanks for making this, definitely gonna convert my personal site soon (if not today)

Sridhar Ratnakumar

Vance Palacio said:

Sridhar Ratnakumar Been giving emanote a whirl this morning. This tool is freaking fantastic! Thanks for making this, definitely gonna convert my personal site soon (if not today)

Great! Once you convert it, let's add it to https://emanote.srid.ca/examples

Vance Palacio

Alright my site is up.
vanceism7.ml

Although I notice that the link to the blog folder isn't working. Navigating to vanceism7.ml/blog is a broken page but vanceism7.ml/blog.html is working. Not sure if that's an issue with me or gitlab or something else

Sridhar Ratnakumar

@Vance Palacio To fix the blog thing, you want to delete urlStrategy key from your index.yaml. (looks like gitlab is not dealing with pretty urls and folders well)

Sridhar Ratnakumar

Is the source available somewhere?

Sridhar Ratnakumar

Btw, query listing can be sorted by date. You basically want to add {.timeline} next to the 'query' identifier. See https://raw.githubusercontent.com/srid/srid/master/Projects/Ema.md

This will use the 'date' YAML property to sort the listing.

Vance Palacio

Ah I see, cool! Thanks for the info, let me try fixing these

Sridhar Ratnakumar

You can use the docker image in Gitlab Pages, btw. No need to commit the HTML in git.

Vance Palacio

Oh cool thanks for the tip. Switched the gitlab script to use the emanote docker image and now this repo is feeling real premium! Thanks for the help with setup

Jonathan E. Magen

Giving a talk next week about documentation and mentioning Zettelkasten as a technique along with Second Brain. Made sure to put Emanote on the list, @Sridhar Ratnakumar so people give it a look. Thanks for making it, I hope things are going well with its development and the research you mentioned earlier.

Sridhar Ratnakumar

Jonathan E. Magen said:

Giving a talk next week about documentation and mentioning Zettelkasten as a technique along with Second Brain. Made sure to put Emanote on the list, Sridhar Ratnakumar so people give it a look. Thanks for making it, I hope things are going well with its development and the research you mentioned earlier.

Nice! Will the talk be available online?

Sridhar Ratnakumar

I'm really curious how documentation & Zettelkasten can be coupled.

Jonathan E. Magen

The talk is unlikely to be available online as it's internal to my company. However, the gist is that documentation writing is like any other writing and the Zettelkasten method, combined with a good personal wiki tool, is a benefit in this scenario. Does this explain adequately? Want more detail?

Sridhar Ratnakumar

End-user documentation generally use https://diataxis.fr/ - which principle conflicts with the atomicity of Zettelkasten. How would you consolidate these two?

Jonathan E. Magen

Can content in a Zettelkasten not lead to formats like articles/papers, books, etc.? So why not also documentation?

Sridhar Ratnakumar

I've found that people use zettelkasten in two different ways:

  • Interlinked notes, with 'backlinks' based navigation
  • The above ^, plus every note is required to be atomic.

For guide-like documentation it can work if you use it in the first principle only. Example: https://ema.srid.ca/

The second principle can work for stuff like internal wiki - where each page talks about one single thing only (ie. no long-winded explanation talking about disparate things). The bulk of https://neuron.zettel.page/impulse might qualify.

Sridhar Ratnakumar

They use it in the way of it being like readthedocs but with backlinks; no atomicity is involved.

Jonathan E. Magen

Sridhar Ratnakumar said:

They use it in the way of it being like readthedocs but with backlinks; no atomicity is involved.

This makes sense. Thanks for your thoughts, friend!

Joel McCracken

FWIW, I've been using org roam fairly often, and quite like it. It works for my needs. Mostly for non-tech at this moment, but I'm slowly working in technical topics.