As I was contemplating de treasuring various of my computer books last night, I began to get nostalgic, and I suffered a bit of panic.  What if what I wanted was NOT available on the internet?  So, I went look.

A very long time ago, I compiled a set of C++ routines and classes that were rather esoteric in nature.  You know, the typical library of sort, search, containers, random number generators and the like.  I thought for sure I had the library on disk somewhere.  I did, but it was formatted as a BFS filesystem (BeOS file system).  So, until I get my BeBox plugged in again, I can't really access that disk.  That's another story.

I thought I remembered the name, and I'm pretty sure I know my own name, so I went to my little Google search bar and typed in “William Adams bebits ftp”.  After some grubbing around, I found it here:

http://linux.inf.elte.hu/ftp/beos/development/samples/support_kit/obsolete/bebits.zip

It's taylored for the BeOS, which is extinct, but only for the thread and spinlock classes.  The rest is fairly generic.  It might even be interesting to resurrect it as a C# library, but I think that will largely be covered by generics in Whidbey.

Looking back at that library is interesting to me because it reminds me of the different design choices, constraints, and assumptions I was operating under at the time.  Things like, C++ compilers did not have reliable template implementations, or STL was not quite standard as yet.  Things I wouldn't think about today with the far superior MS C++ implementation.  But, they were my assumptions at the time.

I looked at the random number generator that I had in there.  Then I thought, “where did I get that code?”.  Digging back through my library, I remembered that it came from this book: Data structures and problem solving in C++

http://www.cs.fiu.edu/~weiss/#adspc++2

That book sells for almost $100 in its second edition.  How much will I get for my first edition copy?  Probably about $3 at the used book store.

But, as I had hoped, the source code from the book can be found here:

http://www.cs.fiu.edu/~weiss/adspc++2/code/Random.cpp

So, I can safely detreasure this book from my library, as painful as it might be.  By the way, this particular implementation of a LCG RNG is pretty good because it has a period of 2(32)-1, and it visits all of the numbers.  See if your local random number generator does as good, you may or may not be impressed by what you find.

Looking at the stack of books at my feet, I see a lot of history.  I also see history being digitized in the age of the internet.  Progress is informed by look backward, but is only made safely by looking forward.  I will probably detreasure these classics, but I will probably keep the Knuth book for old time's sake. 

I did go looking into a few plastic storage boxes I have.  I found the entire series of Commodore PET user's club magazines from volume 1, issue 1 onward!  That represents magazines that are about 25 years old, and the oldest computer magazines in my library.  I can't detreasure them because they'd have zero 'value' today.  I think they're either headed for eBay, the Boston Computer Society, or the Smithsonian.  Who knows, perhaps I'll preserve them for my daughter so she can dispose of them when I'm old and gray.

For Arpan: To 'Osborne' your product, look here: http://oldcomputers.net/osborne.html at the bottom where it talks about the Executive and Vixen releases.