← Back to context

Comment by tzs

4 years ago

I've seriously considered making a file/folder organizer based on an old program called "animal" that I saw on some mainframe in the '80s.

Animal asked you to think of an animal, then it tried to identify it by asking you yes/no questions. Let's say it asked you if it has four legs (no), does it have wings (yes), and then it guesses that you are thinking of a hummingbird.

That's wrong, because you were thinking of a penguin. It would then ask you what yes/no question it could have asked to tell a penguin from a hummingbird, and you could tell it to ask "Does it fly?" and the answer is "no" for a penguin.

It would add that question to its decision tree, so if anyone else thought of a penguin it would get it.

For much of my stuff at work, I use an unfiled filing system. I started this one day when I was asked to write some one time report to solve some mystery.

I spent a half hour with the line "mkdir " typed into my terminal window unable to think of a good name for the directory to do this task in. Finally I gave up on naming the thing, and did "mkdir unfiled". Then in unfiled I did "mkdir 1", and "vi directory.txt". In "directory.txt" I added something like this:

"1 Report for Alice and Bob to identify source of unexpected load on main website"

and then went into the "1" directory and wrote the code to gather the data and analyze it and produce that report.

I intended to figure out a real name for the thing later and rename/move it.

I never got around to figuring out a real name, and unfiled/1 is still there. Along with unfiled/2, unfiled/3, ..., unfiled/314.

This has actually worked out well for me. Suppose I run into some kind of issue with UTF-8 handling in MySQL. I remember I've dealt with that before, and grep in directory.txt for terms like mysql and utf. That turns up that the work for those earlier problems is in unfiled/258, and so that's where I go to find the programs I wrote for investigating that kind of issue.

Not everything goes in unfiled, of course. A good rule of thumb is that if it is something my replacement would need to takeover if I got hit by a bus, it should not be in unfiled. It should be in a well named repo on my department's git server.