News for hackers. Stuff that matters.
Re:Zettelkästen? by Cladode on Friday October 11, 2019 @06:20AM (#21222977)
I've been using a system like that successfully as an academic (for some interpretation of successful). Started when I was a PhD student 25 years ago, and have been maintaining it ever since. I was inspired by Niklas Luhmann's Zettelkasten, whom I read voraciously as a teenager. I started as an undergraduate with hand-written index cards, but the obvious advantages of electronic files (fast search, cut/paste, easy backup, doesn't need physical space) were immediately clear to me, so I moved to a computer-based system. As I had already been burned by proprietary formats before, I use html as format from day one, every index card is html file in a separate directory. This has various advantages, including

- Easy consistent styling through css

- No WYSIWYG, separation of content and styling

- Easy to include code, which sits in the directory associated with the index card

- Easy to cross link

- Easy to backup

- Everything is under git control

- Easy to write shell scripts / programs that automate various tasks related to my notes

- Search with standard tools like grep

- Edit in my favourite text editor (Org-mode for quick drafting is especially useful I find)

- High quality rendering through modern browsers

- Easy to cut and paste into emails, whatsapp skype discord etc which is how I communicate with students and colleagues

- Easy to include other formats like images sound video etc

- Since the emergence of MathJax I can use LaTeX markup which means I can cut-and-paste between my index cards, scientific papers and lecture notes/slides

In summary, I'm super glad I didn't go super-hi-tech and stuck with marked-up text. It was the right choice! As Graydon Hoare once wrote: "[A]lways bet on text." How much work is it? I spend 1-2 hours on average every day on writing. Is it worth my time? What are the advantages for me that keep me using such a system?

- Structured, easily accessible 'idea store' / second-memory for later refinement and reuse. Refinement is maybe even the core: when I come back to a subject years later I come back from a different angle

- Helps writing introductory sections in papers, because I will have sketched my understanding of a subject already on an index card

- Helps writing related work sections in papers, because I accumulate work related to any particular index card's subjects over years

- Makes reviewing papers much easier, because I can cut-and-paste missing related work (most scientific papers are written by PhD students and post-docs who lack a historical perspective)

- Communicating with students: as an academic I get new students every year, and since they got through similar stages and problems, it has become easy to reuse what I wrote in paste years

- The most important: cultivating a habit of writing down ideas, writing about ideas in a structured way, breaking them down into smaller parts etc, all of which helps me to understand things better, and to communicate them more clearly to others

Is it worth it? I ask myself this question every day. I found that in the first few years, I could always remember what I had written, so my system was of limited use. That changed after about 8 years, when I could no longer recall most of what I had written down, and then it became rather useful, since I got 'new' and already pre-digested ideas.

For me the biggest problem is that it has also become a procrastination device: I love writing. Whenever I am stuck with a work problem (and that happens a lot), I have a tendency to procrastinate by writing long entries on obscure subjects, unrelated to my work. It feels like work, in some sense it is work, but it lets me avoid confronting high-priority tasks head on.

Re:Zettelkästen? by submeta on Friday October 11, 2019 @10:33AM (#21224724)
Since you keep your notes in files, what naming convention do you apply?

I am in the process of moving away from proprietary note taking tools like AskSam (more than 15 years ago on a Windows machine), Evernote, Bear Writer and some more). Got a long list of legacy systems that I want to migrate to markdown / file based system.

I keep date stamping files like so: `yyyy-mm-dd_topic-subtopic-subsub`

Re:Zettelkästen? by Cladode on Friday October 11, 2019 @10:46AM (#21224861)
That's a good question. I tried a variety of options, but it stabilised on something that could be termed "micro-summary of context as file name". Example:

   - giraffes.html
   - giraffes_in_history.html
   - natural_predators_of_giraffes.html
   - grade_inflation.html
   - graffiti.html
   - genghis_khan.html       
   - grassroots_lobbying.html
Since all my Zettel are version controlled anyway, I don't see the point of tracking dates/times in filenames (or the file itself). I've now got so many Zettel that I can no longer recall even descriptive names like the above anyway: is the Zettel called giraffes_in_history.html or history_of_giraffes.html ...? So in practise, nowadays, when I look for related Zettel I always use grep with words I expect to be in the relevant Zettel. Example:

   grep -i giraffe *.html
It works really well.

What I do recommend is writing a little tool that produces filenames in a consistent way. (E.g. stripping out 'weird' characters, removing capitalisation etc.) I found that the more uniform filenames, file structure etc, the easier searching remains. Moreover, writing tools that mine / transform Zettel is also easier when the setup is uniform.

I also tried adding structures by subdirectories

   - computer_science
   - economics
   - biology
etc, but that didn't scale, since everything is connected to everything else. Knowledge is not tree- or DAG-structured. Flat file structure + hyperlinks works for me.
Re:Zettelkästen? by cardiffspaceman on Friday October 11, 2019 @05:07PM (#21228481)
Did you try tags? If you have I'm interested in what you might have to say about them.

I liked Gmail originally because it used tabs. I have seldom had an email that was permanently tagged with more than one tag, but I have imagined having files in a filesystem with multiple tags. Bloggers commonly use tags but I don't know if they're successful.

On a filesystem where tags were not native, you could implement tags as subdirectories, using symlinks to achieve that the same file had multiple paths giraffes/history.html and history/giraffes.html.

Re:Zettelkästen? by Cladode on Friday October 11, 2019 @05:17PM (#21228567)

   Did you try tags? 
No. I found that many of my early ideas on how to structure my notes didn't scale, made evolution of my system more difficult. So later I tried not to impose addition structure. Tagging enforces a structure, and how I classify ideas changes over time. What do tags give that grepping words doesn't?
Re:Zettelkästen? by cardiffspaceman on Tuesday October 15, 2019 @06:55PM (#21264906)
Finally getting around to answering this:

I use a "Travel ideas" tag on emails from cruise lines if they suggest a specific place, time and cost to travel somewhere. Those words aren't in the email. The criteria that qualify the email for the tag are easy to check in a scan of the message but I don't know how I'd grep for them.

I still do searches but for other reasons.

If you wrote a note about a neutrino-hunting instrument at the South Pole, how many searches would it take you to find it later? What about a science station at McMurdo, which is in Antarctica but not at the South Pole?

You could allow yourself to have or not have a line of free association, whose only purpose was to match future searches that would otherwise miss because of how the content was phrased.

Re:Zettelkästen? by submeta on Friday October 11, 2019 @01:23PM (#21226468)
Thanks for the detailed answer. Very helpful tips.

Regarding timestamps: I have a Python script triggered by Alfred App on my Mac. The script creates markdown files based on a template. The template has a header section with helpful infos like `Created: yyyy-mm-dd`.

Here is my template (with filled out placeholders):

```

Created: Fri, 2019-10-11 12:27:18

Title: BOOK - METAPHYSICS - ARISTOTELES

Author: Ugur

FileID: fid-20191011-122718-440741

Base Header Level: 2

Tags: #ethics #philosohy

[%Title]

{{TOC}}

# WRITEHERE

```

This is a markdown template that can be rendered by `iA Writer`.

Re:Zettelkästen? by lolc on Friday October 11, 2019 @11:54AM (#21225554)
Thanks! That was really helpful to me in understanding how it works. That implementation shows the concept very well.