Designing my first JD system and it's opinionated

Hello!

I have been thinking recently of wiping my laptop and starting over because things had gotten too bloated and disorganized. And through blogs, I happened here just at the right time. I decided a notebook and some time to properly design how some things about how I use my computer should be structured. There are a lot of things about JD that I really like, but I’m making a few choices that are a bit heterodox, and wonder if others have tried the same and failed. :slight_smile: I’m trying to be as methodical as possible, although I know mistakes will happen, so I really appreciate criticism here.

Motivation

To me, there are two fundamental truths about using the computer. They clash with each other often:

1: the command line is one of the best UIs in existence.

This seems self-evident to me at this point. The command line is great for me when it comes to physical accessibility, lets me take full advantage of cute keyboards, generally helps me do exactly what I want when I want it, etc. There are cases where a graphical interface will be better, but generally speaking I will structure my computer usage to use the terminal as much as possible and as easily as possible.

2: the filesystem is a terrible structure for many things.

A hierarchical structure of streams of bytes kind of sucks when compared to metadata, tables, diagrams, drawings, tags done well, or many other structures. However, it’s the price we have to pay for using the terminal, the best interface.

In a lot of cases where I have to work with information, using the terminal is really important. In a lot of other cases, using a different structure than a filesystem is more important. To me, the point of JohnnyDecimal is to give at least a more orderly structure to the former cases, and to provide identifiers for the latter cases.

Some examples of cases where I don’t want to use a filesystem, and so don’t want JD to structure my data:

  • Spreadsheets are very useful for financial planning or game design.
  • Software like Calibre manages a small digital library really well, letting you search by metadata which (if kept well) is better than what a filesystem does, structuring files in a way that you shouldn’t care about.
  • restic handles backups very well with its own structure.
  • Obsidian is… well, it does use the filesystem! But it provides so many ways to interact with the data that the filesystemness of it isn’t necessarily the most important part of how you interact with it.
  • Paper notebooks are great for so many things I don’t need to elaborate.

In these cases, I’m not going to use the terminal to interact with what’s there. Therefore, I want JD to provide me with a pointer to that thing, and then I don’t really care about whether Calibre has created 4 layers of extra subfolders or whatever. I don’t need to touch the files most of the time, and in the event that I do I will probably be able to handle it.

Zeros

The way JD does zeros is very principled. The main change I’ve made we’ll see when I’ll get to it; apart from that, I’ve made some small adjustments:

  • .00 is reserved for Notes. (These will live where the JDex lives, which is an Obsidian vault, so maybe it does just mean what it normally means)
  • .01 is Inbox.
  • .02 is Temporary workspace. This is a folder to put things in as I am working on them (and I expect the work to last a couple hours at most). It is different from Inbox because it’s a kind of place where I expect to be able to save whatever work I’ve done once I’m done, and flush away all the residue files that are still in the folder. For example, if I want to zip some videos to send to my friend, I won’t do it in the same folder where the videos live: it’s too easy to forget to delete the .zip and leave an annoying file where only videos should be. I’d rather do it in a temporary folder that some script will clear at some point.
  • .03 is Templates.
  • .09 is Archive: I want to keep it but it’s not worth organizing or I don’t have the information needed to fit it into the way I organize stuff now.

So we’ve dropped some zeros from canonical JD:

  • Task management is something that I already have a GTD-like Obsidian system for, and I don’t need to duplicate that.
  • Links don’t really fit well into JD for me, I think. I can imagine designing a decimal classification system for my bookmarks at some point, and if I did, I think it would take a very different shape, with relevance given to much different points.
  • Someday seems like it would only encourage complacency in me. I need to either organize things or decide that it’s not a commitment I can make. I still have space at .08 if I change my mind.

My JDex

Here comes the big part. I will give you my areas and categories, and some sample IDs (with an .md on top, because I generated this with tree and was too lazy to trim that part), with area-by-area commentary.

But first, a scope statement:

My JDex indexes everything informational or digital that I am primarily responsible for.

It does not index non-informational physical objects, or things of which I only have secondary responsibility.

…and we’re off!

├── 00-09 Knowledge, organization, writing, notetaking, learning, classification
├── 00 Management of Area 00-09, meta-organization, general utilities
│   ├── 🏷️ 00.00 JDex.md
│   ├── 🏷️ 00.01 Inbox.md
│   ├── 🏷️ 00.02 Temporary workspace.md
│   ├── 🏷️ 00.03 Templates.md
│   └── 🏷️ 00.09 Archive.md
├── 01 Structured notes and wikis
│   └── 🏷️ 01.11 Getting Things Done.md
├── 02 Short-form writing
│   └── 🏷️ 02.11 Free-hand writing and journaling.md
├── 03 Long-form writing
│   ├── 🏷️ 03.xx [Novel I'm writing].md
│   ├── 🏷️ 03.xx [Non-fiction book I'm writing].md
│   └── 🏷️ 03.xx [Website of mine].md
├── 04 General-purpose notebooks
│   ├── 🏷️ 04.12 Blue Ryden notebook.md
│   └── 🏷️ 04.99 Other random notebooks.md
├── 05 Specific-purpose notebooks
│   ├── 🏷️ 05.21 [The one where I write down words I like].md
│   └── 🏷️ 05.31 Songbook.md
└── 09 Feeds and communication with the outside world
    ├── 🏷️ 09.11 RSS feeds.md
    ├── 🏷️ 09.21 Discord account.md
    ├── 🏷️ 09.22 Telegram account.md
    ├── 🏷️ 09.51 [redacted]@gmail.com.md
    ├── 🏷️ 09.53 [redacted]@protonmail.com.md

So I’m already breaking an important rule. JD reserves a whole area, 00-09, for system-level zeros. In a way that makes sense, but also it’s a huge waste of space to do in a whole area something that everywhere else you do in a category or less. While I have plenty of space left, I just don’t like being wasteful.

So, because my 00-09 is about information and knowledge management and organization, and this system is a form of that, I’m allowing myself to cheat a little bit. This is one of my biggest points of worry and one that I hope doesn’t come back to bite me.

I am indexing my notebooks here, which I think can have really exciting consequences. Because I number the pages on all notebooks important enough to appear here, I can universally use 04.12p15 to refer to page 15 in the Blue Ryden notebook. I can also just write the ID on the notebook’s cover, which finally solves my problem of “how do I distinguish these in a meaningful way”. There is a future where I need to add digits to the categories in here, but that would be cool enough to be worth the pain, I guess.

I am leaving 50 IDs open only for email accounts. That makes sense if you’re me.

├── 10-19 Bureaucracy and accounting
│   ├── 10 Management of Area 10-19
│   ├── 11 General bureaucracy
│   │   ├── 🏷️ 11.11 Personal identification.md
│   ├── 12 Medical bureaucracy
│   │   ├── 🏷️ 12.11 Blood tests.md
│   │   ├── 🏷️ 12.12 STI tests.md
│   │   ├── 🏷️ 12.21 Disability recognition and related documents.md
│   └── 13 Money and finances
│       ├── 🏷️ 13.11 [bank account].md
│       ├── 🏷️ 13.12 [another bank account].md
│       ├── 🏷️ 13.21 Finance spreadsheet.md
│       └── 🏷️ 13.31 Payrolls.md

This is pretty simple. I always see other people’s life management area get very intricate, but I guess I just try to avoid the thing like the plague.

├── 20-29 Being a musician
│   ├── 20 Management of Area 20-29
│   ├── 21 Musical practice and composition
│   │   ├── 🏷️ 21.11 Generic [specific software] practice.md
│   │   └── 🏷️ 21.21 Album for [record label].md
│   ├── 22 Concert preparation
(this will include an ID per concert, with YYYY-MM-DD ordering)
│   ├── 23 Recordings
│   │   ├── 🏷️ 23.11 Unsorted recordings, electronic music.md
│   │   ├── 🏷️ 23.12 Unsorted recordings, acoustic music.md
│   │   ├── 🏷️ 23.21 Concerts.md
│   │   ├── 🏷️ 23.22 DJ sets.md
│   │   └── 🏷️ 23.23 Musical releases.md
│   ├── 24 Music software and technical resources
│   ├── 25 Sample library
│   └── 26 Teaching and workshops

The creative pattern on the JD website doesn’t do it for me, maybe because the way that I make music doesn’t really work in that “turn inputs into outputs” way, or maybe because my output is actually not so large that it needs that kind of space… Unsure. Anyway, this is a large area and it’s likely that there are 1-2 mistakes to correct later, but things seem to fit.

├── 30-39 Other projects and creative work
│   ├── 30 Management of Area 30-39
│   ├── 31 Game design and game-related projects
│   ├── 32 Software, programming and computer nerd stuff
│   └── 39 Miscellaneous projects

I just do a lot of things sometimes. If I decide to download Blender and fuck around with it I want a space that’s better than an archive but still don’t want to specifically make space for that. If something needs to become an area at some point, that’s great.

├── 80-89 Digital media
│   ├── 80 Management of Area 80-89
│   ├── 81 Text media
│   │   ├── 🏷️ 81.11 Calibre Library for books and articles.md
│   │   ├── 🏷️ 81.12 Calibre Library for comics.md
│   │   ├── 🏷️ 81.13 Calibre Library for rulebooks.md
│   │   ├── 🏷️ 81.21 Dictionaries in PDF.md
│   ├── 82 Audio
│   ├── 83 Video
│   ├── 84 Pictures
│       └── 🏷️ 85.12 Steam Library

Here there will be a lot of things that will have a lot of internal structure that I usually won’t care about because some other software will manage it for me. I just need to know where they are

└── 90-99 Digital devices
    ├── 90 Management of Area 90-99
    ├── 91 Current personal laptop
    │   ├── 🏷️ 91.11 Dotfiles.md
    │   └── 🏷️ 91.12 User scripts.md
    ├── 92 Current personal phone
    ├── 93 Current personal e-reader
    │   ├── 🏷️ 93.11 Books on e-reader.md
    │   └── 🏷️ 93.12 KOReader annotations.md
    ├── 94 Current work computer
    ├── 95 Physical storage
    │   ├── 🏷️ 95.11 Main external hard drive.md
    │   ├── 🏷️ 95.12 Backup external hard drive.md
    │   ├── 🏷️ 95.21 HDD-57584C324531303930543941.md
    │   └── 🏷️ 95.22 HDD-575833324139344B48464643.md
    ├── 96 Backups
    └── 99 Decommissioned devices

This is all about device-specific stuff. A couple things are tricky:

When I stop using a device, I can move the whole folder related to that device (removing all that isn’t needed) to an ID in 99. Decommissioned devices. Yes, this does create an extra layer of subfoldering, but I’m not sure that that matters much for data that’s very much archival, and that is still well-structured.

Category 95, “Physical storage” may not be obvious to understand but it makes a lot of sense for my mind. I have hard drives that I store things on, and sometimes they die. If I had more money and space I would build a good NAS to shield myself from consequences, but at the moment what I do is just back things up to additional hard drives, that I can then “promote” to a main role as their main dies and I buy another drive to be the new backup.

So, 95.11-20 correspond to the conceptual role of being a specific kind of physical storage, while 95.21-99 correspond to actual physical objects (identified by serial numbers, but I’d love to implement Johnny’s excellent system with stickers). And in my filesystem, 95.11-20 are symlinks to actual physical devices that are automounted via udev rules at 95.21-99, which are actual folders. This ensures that I can track how physical storage has lived or died, and still swap things out seamlessly when something breaks because I will usually just refer to drives by role rather than device.

Done!

And that’s about it. I don’t have enough experience with the system to even understand exactly how orthodox/unorthodox some of these ideas are, but hopefully at least they make sense.

A couple things bug me about the system still: I don’t really know where’d put my CVs, for example. (Yes, I have a normal person tech job, but because I don’t want to emphasize its presence in the way I see myself I was very careful to not make a “Day job” area. Everything else that’s job-related fits very well in the rest!)

I also don’t have a place to put my physical library (which is organized in a LibraryThing account, so I would just need an ID that points to it). It would make sense to include it given that the notebooks are here. Somehow physical books feel less “informational” to me than notebooks are, though it doesn’t fully make sense… maybe it’s just okay.

Thank you for reading this ungodly slop of a post, and I hope you have some good suggestions!

1 Like

Interesting.

You say that the JDex is for digital items, which makes sense. Then what goes in the digital file system with regard to the physical notebooks - items 04 and 05?

Hi @amara , thanks for this detailed look at your system! I’ve grappled with customization a lot, too, so its always nice to see someone else’s thought process and novel ideas. I’m inspired by the way you’ve done your physical notebooks. I assume you can use those MD files as a digital index of the book?

You asked for suggestions and you mentioned a few specific pain points. One is about your book library. You have a very clear scope for this system: digital or informational. And you seem to make good use of dedicated tools for collections like books, so you’ve avoided the trap of trying to put every single record into JD :face_with_hand_over_mouth:. One way to do it would be to start a different system for physical things. But I noticed that categories 06 through 08 are still undefined. Maybe one of those could be for pointers to such things as your library, which are strictly out of scope but still make sense to mention in the system?

Regarding the CV: translating to my system, that might go under general bureaucracy. The reasoning is that a CV is a kind of self-declaration or meta-declaration of my own qualifications, so it goes with official diplomas, and diplomas go with ID docs because they’re both a kind of legal declaration about me.

I like the way you’ve done physical storage devices. If I would copy this, I think I’d create a new 91 per distro (re)install, i.e. even if the physical laptop is the same. E.g. I’ve graduated from Ubuntu to Debian recently, but I would like to try Arch or Alpine soon. I think this setup of yours exemplifies something I’ve discovered with JD: finding the right naming scheme often is really motivating to take care of the things better. I often struggle with keeping all my system configuration well-organised, but just knowing that the current system has a designation in the archive immediately makes me want to treat it with more respect!

Overall I’m quite impressed by the attitude of leaving out as much as possible to start with. I think that will make changes easier if you do find your suspected pain points need to be addressed in the future

@Don_F the key word to me is not digital but informational. Notebooks are just pointed at by the system, they themselves contain the information. I can still keep notes about them in my Obsidian JDex, if need be.

@hans :

  • it would make sense to just have a “miscellaneous” or “miscellaneous physical items” at .08 (actually, move things around and make it .09 then, misc at the end makes more sense to me…). Weird to do so with only one thing to put in it at the moment but maybe that’s just right to do

- CV: huh! it makes sense to file it as you do, though I see it less as a legal declaration and more as a creative document. Thinking about it more, to me a CV is part of a whole process of “job application” where it may live together with cover letters and similar . I think maybe I have to just cave in and make a “work-related documents” category under 10-19 (space is there, after all) and every single job application would live there with its own CV.

- Restarting 91 per system reinstall makes sense, I did plan to reset things that way when wiping my laptop and starting a JD-based filesystem!

Thank you!

I very much recognize the strong desire to have the system layout reflect how you want to see yourself in the world – viz. the location of CV – and the desire to not create whole spaces just for one thing – viz. Library. It’s been a long process for me to find what feels right, but in the end it’s worth it for me to have the system reflect how I see things.

Yeah, I wouldn’t call a CV a legal document, but for me its a kind of formal claim about myself in the same way as an ID document is. When I hit on that grouping, suddenly everything clicked into place for my ‘personal admin’ category. If you see it more as a creative document, it might fit better elsewhere. Especially since, as you rightly point out, each CV for each job application is really a custom, creative document tailored to that application. Good point.

How does the other option feel: making a separate area or even JD system for ‘non-informational physical things?’ because:

If a book in your library turned out to contain information pertaining to one of your responsibilities, you could create a ‘symlink’ from somewhere in 00-09, perhaps this new 09 category.

Got it. Makes sense to me.

“Medical bureaucracy” might be my favourite category title ever.