Skip to content

Oldest files meme

Published on: January 3, 2009    Categories: Meta, Misc

Doug Hellmann has brought a meme to my attention, and I’d be remiss in my duties if I didn’t act upon it.

Here’s how it’s supposed to work. Save a copy of this Python script, say as a file named oldest.py:

#!/usr/bin/env python
"""Print last-modified times of files beneath '.', oldest first."""
import os, os.path, time
paths = ( os.path.join(b,f)
                    for (b,ds,fs) in os.walk('.')
                    for f in fs )
for mtime, path in sorted( (os.lstat(p).st_mtime, p)
                           for p in paths ):
    print time.strftime("%Y-%m-%d", time.localtime(mtime)), path

Then run it in your home directory (using less to page through results, since there’ll probably be a lot of them):

python oldest.py | less

And talk about the oldest files there (which is to say, the oldest files you personally had something to do with).

I started working at the Journal-World in February 2006, and I’m actually on my second company-issued laptop, so I paged ahead through all the various Mac framework files (which have misleading timestamps dating back to when someone at Apple last changed them) to the period when I actually started working here, and found the oldest stuff I’d personally done (most of which has had mtime lovingly preserved by various migration/restore processes). That turns out to be a rough tie between a few things, all within a few minutes of each other:

  1. Some Emacs extensions in ~/.elisp.
  2. My SSH keys in ~/.ssh.
  3. A Subversion auth file.
  4. Some irssi configuration files.
  5. Some lftp configuration files.

After that come a few copies of tax forms (since I was doing my final round of taxes from freelancing around that time), then more mundane stuff like copying over some music into iTunes.

This probably says a lot about what I consider to be essential for a machine I’ll be using in day-to-day work: I pretty much live in Emacs (that’s GNU Emacs, running inside a screen session inside a terminal window, btw), I use SSH all the time, we use Subversion both for the main Django repository and at work, I use irssi (also running in the screen session) for IRC and lftp is the One True FTP client.

All of these files are still used on a daily basis today (and in fact were being used daily on the older laptop I migrated from and should run this on later, and on the still-older desktop machine I migrated from before that…).

Anybody else want to have a go?