January 5, 2009

Oldest Files Meme

Happy New Year! Brandon Rhodes started this meme, which seemed worth continuing to me.
  1. Run the following script in your home directory. (You might want to use less to read the output.)
  2. Ignore files whose date does not reflect your own activity.
  3. List the oldest files in a blog post and discuss!
#!/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
OK, omitting some font files I bought from Adobe, here are the results:
1988-02-12 ./tools/doc/classify.1
1988-02-12 ./tools/doc/getmail.1
1988-02-12 ./tools/doc/mailio.3l
1991-10-13 ./writing/wdp.rv
1992-08-10 ./chum/SCCS/s.sch.trm
The first three are manual pages for Icon programs that I wrote to handle email folders. classify filtered a mail file, ordering its messages by subject line; getmail extracted messages by number; and mailio was a primitive library used by the other utilities. Man, 21 years ago! Just in case you want to read the ancient manual pages I've linked each file name to its man2html output.

wdp.rv is a review I wrote, probably for the Sun UK User Group magazine, of the Island Software Write, Draw and Paint tools. I've been a writer or sorts all my life, and involved with user groups quite a lot, too.

s.sch.trm is the source control master (for the venerable SCCS source code control system that used to come on Sun workstiations) of a termcap file for a Wyse-60 terminal. I suppose I could use CSSC to try and revive it, but I don't know anyone nowadays who uses Wyse-60s. I can't think of any reason why I should have kept that file except for inertia.

I hadn't realised I've been using source code control so long. Although the SCCS files for most things are no longer in evidence I used it a lot at Sun from 1985. Other gems I came across that I'd completely forgotten about include a database publishing utility from 1994 that I used to drive FrameMaker from various databases, and a system that would merge the alias files from a bunch of UUCP sites to allow the use of simple email aliases rather than the bang-ridden paths that preceded the domain name system.

An interesting exercise in nostalgia. I think I'll allow them to live a bit longer.

No comments: