Mike Schaeffer's Blog

Articles with tag: history
June 12, 2007

Rocky's Boots, The Oregon Trail, and Atari 2600 Adventure

I just saw this story on Oregon Trail over on Slashdot. I was born in 1975, which puts me in grade school in the early 1980's, the prime time for these early Apple ][ educational games. As much as I liked Oregon Trail, I liked Rocky's Boots even better. The basic premise of Rocky's Boots was that you had to use basic boolean logic circuits to build machines to solve particular tasks. You ran around a little maze using a very early 'point and click' style user interface to gather parts and put them together. Once you were done, you got to watch your creation do its thing. A fun little bit of trivia regarding Rocky's Boots is that it was developed by Warren Robinette, the creator of Atari 2600 Adventure, including the famous, ego-driven easter egg.

July 7, 2006

Kerry Nietz and FoxTales

Kerry Nietz, author of FoxTales, dropped me a note regarding a comment I made about his book back in January. I thought it was worth repeating part of my response here:

"Like I said in January, the book brought back memories of the first few years of my career. Obviously the details are different, but if my kids ever ask about the beginning of my career I'll point them to your book first. You did an excellent job capturing the spirit of commercial software development."

I re-skimmed the book last night (setting aside a brand-new copy of C.J. Date's Database in Depth, ironically enough), and it still seems relevant, six months after the initial read. That's always a good sign.

January 5, 2006

Pentium Chronicles

I was roaming through the computer section of the University of Pennsylvania bookstore and ran across Pentium Chronicles, a 2006 book talking about experiences designing the P6 processor core used in the Pentium Pro, II, III, and Centrino. The author, Robert P. Collwell, was basically made employee number 1 on the P6 program when he was hired into Intel and given the assignment to "double the performance of the P5 on the same process." Of course, now, 15 years after that fateful assignment, it's pretty clear how influential the design produced by that program has been: it gave Intel a presence in the server and workstation markets, and it's still overshadowing its immediate sucessor, the Pentium4. Even if the project hadn't been that successful, the first 20% of Dr. Collwell's book has me convinved that it'd have been an interesting read anyway.

At the opposite end of the spectrum is Kerry Nietz's book, FoxTales. As much as Pentium Chronicles was the view from the top, the perspective of a very senior architect at Intel on a huge, industry-wide project, FoxTales is the opposite: the perspective of a fresh out of school programmer working on his first niche market shrink wrapped software package. If anything, that means it's much more likely to be relevant to people with the time to read this blog: it certainly brought back memories of the first years of my career.

The best thing about both of these books is that they are both cheap and short. You can probably read them both for <$50 and 10-20 hours of time, all of which would be well spent.

October 7, 2005

Excel 12 Databars, Without VBA.

I suspected as much, but Excel has a way to duplicate my UDF using Excel formulas.

=REPT("&#9608;",A1) & REPT("&#9612;",ROUND(FLOOR(A1,1),0))

That formula evaluates to a bar of length A1 units, rounded to the nearest 0.5. Rescaling can be done in another cell. If you're interested in a bar that can be right-justified, you can use this:

=REPT("&#9616;",ROUND(A1-FLOOR(A1,1),0)) & REPT("&#9608;",A1)

The trickiest part about this is getting the block characters into the formula. For that, I reccomend using the Windows Character Map.

Qualitatively compared to VBA, this method requires more logic to be represented in the spreadsheet: that adds compelxity for readers and makes it tricker to set up than the VBA. On the other hand, it avoids the performance hit of calling UDF and the requirement that the spreadsheet contain a macro. I honestly don't know which is better style, but can say that this would be a perfect time to use a paramaterized range name (if Excel had such a thing).

Older Articles...