Using Johnny.Decimal with more than 100 files per category

I’m wanting to set up Johnny.Decimal for future school notes as well as for stuff like worldbuilding. Unfortunately, I can’t always predict whether something needs to be a category or a bucket, and usually by the time I know that a certain subject requires far more than a single category’s space (i.e. the files in the category are getting close to/above 100), it’s too late to change the category.

The current solution is to change the files in the category from JD.ID Filename to JD.YYMMDD Filename schema, but this is

  1. Ugly
  2. A bit of a time commitment

How have you handled similar situations?

In this scenario, which is hopefully fairly unusual, I think just going past .99 up to .100 and onwards is okay.

The only thing this breaks is the neatness of the numbers: two, decimal, two. But when you think about it semantically, logically, nothing has actually changed. Really my limit of 99 on IDs is kinda arbitrary. It’s borne of neatness.

I think the JD system is powerfully elegant: the problem is applying it to our digital, multi-platform world. I routinely store stuff in evernote, apple notes, todoist, etc.

I just had this happen to me. I kept going past 100. However, that messed up the folder structure, because the .100 file came after .10, and not after .99. I had to renumber my folders to say, 52.0001 - 52.0099 and then did 52.0100. I’ve dealt with 100 situations here but I can honestly deal in the next year with 1000 actions that will need a folder number, so I just went ahead and put the 3 0s. I’ll give you that it’s not pretty, but it is what it is….and helps me keep a chronological order.

Something that just occurred to me is that I could start using letters. Not really changing it to hexadecimal, but letting the tens column be a letter will keep the sort order in my file explorer while keeping the two-digit system and not having to reformat all my prior notes.

- 10 Some Bucket
    - 11 Some Category
        - 11.01 - 11.99
        - 11.a0 - 11.a9
        - 11.b0 - 11.b9
        - 11.c0 - 11.z9

Of course, I’ll have to do a massive rewrite to my Obsidian Templater scripts because int.toString() won’t get me so close to what I want, but I think that’s worth it.