Live data from Hacker News

Ask HN: How do you organize your files

news.ycombinator.com

41–44 of 44 posts

Re: Ask HN: How do you organize your files

#42
Organizing my files has been an obsession of mine for many years, so I've evolved what I think is a very effective system that combines the advantages of hierarchical organization and tagging. I use 3-character tags as part of every file's name. A prefix of tags provides a label that conveys the file's place in the hierarchy of all my files. To illustrate, here's the name of a text file that archives text-based communications I've had regarding a software project called 'Do, Too':



- pjt>sfw>doToo>cmm



'pjt' is my tag for projects



'sfw' is my tag for software and computer science



'doToo' is the name of this software project



'cmm' is my tag for interpersonal communications



Projects (tagged with 'pjt') is one of my five broad categories of files, with the others being Personal ('prs'), Recreation ('rcn'), Study ('sdg'), and Work ('wrk'). All files fall into one of these categories, and thus all file names begin with one the five tags mentioned. After that tag, I use the '>' symbol to indicate the following tag(s) is/are subcategories.

Any tags other than those for the main categories might follow, as 'sfw' did in the example above. This same tag 'sfw' is also used for files in the Personal category, for files related to software that I use personally--for example:



- prs>sfw>nameMangler@nts



Here, NameMangler is the name of the Mac application I use to batch-modify file names when I'm applying tags to new files. '@nts' is my tag for files containing notes.

I also have many files whose names begin with 'sdg>sfw' and these are computer science or programming-related materials that I'm studying or I studied previously and wanted to archive.



A weakness of hierarchical organization is that it makes it difficult to handle files that could be reasonably placed in two or more positions in the hierarchy. I handle this scenario through the use of tag suffixes. These are just '|'-delimited lists of tags that do not appear in the prefix identifier, but that are still necessary to convey the content of the file adequately. So for example, say I have a PDF of George Orwell's essay "Politics and the English Language":



- sdg>lng>politicsAndTheEnglishLanguage_orwell9=wrt|wrk|tfl|georgeOrwell



The suffix of tags begins with '=' to separate it from the rest of the file name. A couple of other features are shown in this file name. I use '_' to separate the prefix tags from the original name of the file ('orwell9' in this case) if it came from an outside source. I'm an English teacher and use this essay in class, and that's why the tags 'wrk' for Work and 'tfl' for 'Teaching English as a Foreign Language' appear. 'wrt' is my tag for 'writing', since Orwell's essay is also about writing. The tag 'georgeOrwell' is not strictly necessary since searching for "George Orwell" will pick up the name in the text content of the PDF, but I still like to add a tag to signal that the file is related to a person or subject that I'm particularly interested in. Adding a camel-cased tag like this also has the advantage that I can specifically search for the tag while excluding files that happen to contain the words 'George' and 'Orwell' without being particularly about or by him.



That last file name example also illustrates what I find to be a big advantage of this system: it reduces some of the mental overhead of classifying the file. I could have called the file 'wrk>tfl>politicsAndTheEnglishLanguage=sdg|wrt|lng|georgeOrwell', but instead of having to think about whether it should go in the "English teaching work-related stuff" slot or the "stuff about language that I can learn about" slot, I can just choose one more or less arbitrarily, and then add the tags that would have made up the tag prefix that I didn't choose as a suffix.



There's actually a lot more to the system, but those are the basics. Hope you find it helpful in some way.

Re: Ask HN: How do you organize your files

#43
post #16

One thing I do that I've found to be pretty helpful is to prefix files/directories with a number or date, for sorting. Some things are naturally ordered by date, for example events. So I might have a directory "my-company/archive", where each item is named "20170621_some-event". Other things are better sorted by category or topic. For tools or programming languages I'm researching I might have a directory with items…

I do something very similar. I save files into a watched folder with Hazel (Google Drive, Dropbox and my Downloads folder). Hazel has a rule to rename the file with the YYYYMMDD_Filename.ext, and then depending on the extension filters it to a different folder, or with a PDF runs an OCR on it and stores it in Devonthink Pro.

Re: Ask HN: How do you organize your files

#44
post #38
post #31

I made an automatic document tagger and categorizer. It collects any docs or HTML pages saved to Dropbox, dropped into a Telegram channel, saved with zotero, Slack, Mattermost, private webdav, etc, cleans the docs, pulls the text, performs topic modeling, along with a bunch of other NLP stuff, then renames all docs into something meaningful, sorts docs into a custom directory structure where folder names match the to…

This sounds really interesting -- can you share anything else, or pieces of the pipeline...especially topic modeling?

I use LDA algorithm for topic modeling. It has been the standard go-to for a while now within NLP community. There are implementations of it in many languages. The tricky part is cleaning the text, domain specific stopword lists, and in general controlling how text is processed depending on the context to make useful topic assignments when the text corpus represents more than a single field of knowledge. There are also some interesting ways of combining recent advances in RNNs on top of the more old school LDA topic modeling. I think this will be where most substantial advances will be coming from.
Post reply on HN