Tuesday, July 31, 2007

birthday list

Pardon my long absence from the blogosphere. One cause has been that my workplace blocked access to Blogger, all Blogger-hosted blogs, all mailing lists anywhere, etc. I'm becoming thoroughly frustrated. The message it seems to send is, "We don't desire the fruit of your work as much as we value our infantilizing mistrust of your professionalism. We pay for the services of skilled adults yet believe that we got delinquent children instead."

But anyway. That's not why I'm posting. I've been fairly nomadic lately, migrating my work from machine to machine and experimenting with various operating systems, and it's made me crave some good organizational software. Since my birthday is coming up, I thought I would ask the Universe to produce it and see what happens.

1. I need help keeping track of the difference between files I've worked on - stuff I want to keep when I move or rebuild - and stuff I can leave behind because I just downloaded it from somewhere and I'll just download it afresh on a new system anyway. Then it'll be easy to back up and transfer my work. This software will note when I modify a file with a text editor, IDE, image editor, OpenOffice, or whatnot, and will flag it as my own personal work - a "keeper". Stuff that comes from downloads, from expanding zipfiles, automated processes and loggers, etc. will all be flagged "ephemeral".

2. I need help reorganizing my folder structure. I'd like something that can scan my drive and notice that my photos are scattered in four different places, short text notes are all over, I've got four copies of the same file in four directories under three names, etc., and propose and facilitate a consolidation plan.

3. A nice tag-based file access system That could actually replace #2 and be a key component of #1.

If you know of this stuff already existing, speak up! If you want to write it, hooray! If you want to wait several years until I have the skill and the time to do it myself, well... keep reading my blog, I guess. If you are saying, "You wouldn't need any of this if you exercised organizational discipline when creating your files", then please note that I am Sticking My Tongue Out At You.


Matt Wilson said...

If your employer is blocking websites, but they allow you to make outbound SSH connections, consider using an SSH tunnel to another box on the outside that will proxy for you.

For example, set up tinyproxy on a box on the outside. Then set up an SSH tunnel from your desktop to the box running tinyproxy. Then configure your browser to connect to the port on your desktop as a proxy.

Nosy network admins won't be able to snoop on your browsing, and you'll be able to view whatever sites you want.

As for how to get organized, I use a subversion repository for nearly everything. This is nice because I work on about half a dozen boxes, each with a checkout of my files. If I make a change, I check it in, and then later update it on the other boxes when I get there.

I put my whole /etc directory into subversion too. I set up a daily cron job to commit and update all changes to my /etc directory, so that everything I do there gets committed even if I forget.

Anonymous said...

Here's another vote for Subversion.

I keep all of my *important* files in two subversion repositories - one for documents, text files and configuration and another for all of my code snippets. The reasons for having two repositories are hidden in the dim and distant past and if I was starting over I would probably just use one.

I then create an 'andy' directory on each machine I'm using and checkout a working copy of my repositories to it.

Anonymous said...

One could also possibly use the new Subversion "changelists" feature for metadata about specific files.

Anonymous said...

Definitely post a follow-up if you find a good solution. I've thought about using Subversion for this, but it doesn't quite fit the bill for what I was thinking (which sounds almost exactly like what you've described). So, one more thing for the "Software I Will Write Someday When Time Permits" list, aka the "Don't Hold Your Breath" list. :)

Oh, and organizational discipline?? Pffft. Good call. ;)

Antonio Alvarado Hernández said...

That's remember me an article about this: http://www.onlamp.com/pub/a/onlamp/2005/01/06/

Anonymous said...

Catherine, have you seen/explored the Journal feature on the XO (One Laptop Per Child laptop)? I think it does a lot of what you're looking for. My latest entry mentions this, but I know others have written about it in more depth. I can find links on it if you'd like.