A commentary about software in, from, about or somehow remotely connected to the Pioneer Valley of Western Massachusetts.

Saturday, October 20, 2007

Software Archaeology at the Clapp

Clapp Memorial LibraryMy wife, young son and I are ardent book lovers, and since we discovered it three year ago we have paid an annual visit to what has become one of our favorite events – the Friends of Clapp Memorial Library Book Sale in Belchertown. With 25,000 items, most priced at a dollar or less, the Clapp sale sometimes resembles the bibliophile’s answer to Filene’s Basement.

Last Saturday we spent nearly half a day scanning the shelves at the Clapp for bargains, and were not disappointed. I was pleased to pick up a copy of Mark Twain’s Roughing It to augment my adventure book collection, and found a nice copy of Dinosaur Time, illustrated by Arnold Lobel of Frog and Toad fame, to read to my two-year-old.

The day’s most intriguing discovery, however, came when I wandered into the deepest recesses of the library basement, and stumbled upon … the computer books.

Computer books do not age gracefully. As I thumbed through a 1989 edition of Using Paradox 3.0, I recalled how Borland’s once-mighty database system had faded into obscurity, rendering fat reference guides like the one I was holding, so many pages of scrap. Voodoo Windows (Ventana Press, 1992) offered tips and tricks of the day, such as how to manage51 Game Programs for the Timex Sinclair 1000 and 1500 a Windows 3.1 PIF file. Several generations later, Windows Vista users can claim much more sophisticated and frustrating problems to grapple with.

The oldest title I came across had a bit of character, and at a price of 50 cents I decided to scoff it up. 51 Game Programs for the Timex Sinclair 1000 and 1500 dates back to 1983, and was written by prolific Australian author, Tim Hartnell. Before he died at age 40, Hartnell penned books covering most of the prehistoric PC platforms of the early eighties such as the Commodore Vic-20, Apple IIe, and the IBM PC-junior. But the Timex Sinclair 1000 was the real cat’s pajamas. At $99.95 retail, it shattered the home computer price barrier. Never mind that the T/S1000's video display was limited to 32 by 22 characters in black & white on a TV screen, and the device’s long-term storage solution was a finicky interface to a standard cassette tape recorder. It sported a whopping 2K of memory which could store programs written to its built-in BASIC language interpreter.


10 REM *** POETRY ***
15 SCROLL
17 IF RND>.7 THEN GOTO 40
20 FOR J=1 TO RND*3
25 SCROLL
30 NEXT J
40 LET A$=" "
50 GOSUB 100+10*INT (RND*12)
51 LET X=LEN A$
52 LET Y=LEN B$
53 IF A$(X-1)=B$(Y-1) THEN GOTO 50
60 IF X+Y>=32 THEN GOTO 90
80 LET A$=A$+B$
85 GOTO 50
90 PRINT A$
95 RUN
100 LET B$="DETACHED "
105 RETURN
110 LET B$="INITIATE "
115 RETURN
120 LET B$="EARLY "
125 RETURN
130 LET B$="ALTHOUGH "
135 RETURN
140 LET B$="... "
145 RETURN
150 LET B$="DISCIPLE "
155 RETURN
160 LET B$="WEEPING "
165 RETURN
170 LET B$="ONLY "
175 RETURN
180 LET B$="REACHED OUT FOR "
185 RETURN
190 LET B$="LONELY "
195 RETURN
200 LET B$="YEARNS FOR "
205 RETURN
210 LET B$="THEN "
215 RETURN

51 Game Programs for the Timex Sinclair 1000 and 1500 includes Basic program listings for amusements such as Balloon Buster, Etchasketch and Hangman. I was excited to find that Canadian Jeff Vavasour has created a web-based T/S1000 emulator where the programs in the book can actually be entered and run. I tried my hand at a program called Poetry which the book claims will “turn your T/S1000 into a Walt Whitman…almost.” See the source listing and a screen print of the program’s output below. Not exactly Leaves of Grass material, but for 40 lines of code and 25-year-old technology, wha d’ya want?
Generated poem

Thursday, October 11, 2007

Steve Hartshorne – Cheering for America's Next Top Model?

Weekdays find Stephen Hartshorne seated at his desktop computer putting Dreamweaver through its paces in the offices of GoNOMAD.com, where he is associate editor of the South Deerfield-based online travel magazine. Stephen HartshorneCome Wednesday nights at 8:00 p.m., however, Steve trades the PC for a TV, and tunes into the CW Network to follow the progress of his daughter as she competes in Season 9 of the reality show, America’s Next Top Model.

Through four weeks, Sarah Banks Hartshorne, of Heath, remains among the final 10 young ladies vying for the ANTM title and a $100,000 contract with Cover Girl Cosmetics, management by Elite Model Management, and a cover plus six-page photo spread in Seventeen magazine. Sarah Banks HartshorneHer effervescence and sense of humor, not to mention being portrayed by the show’s promoters as the “plus-size” contestant, have earned her boosters around the country. Stephen Hartshorne describes his daughter’s comic side in his Armchair Travel blog.

Selected episodes of America’s Next Top Model may be watched in their entirety at the CW website. CW joins the Discovery, Fox, E! and ABC networks in presenting its video streams using a format devised by Move Networks. Move is the venture of Drew Major, former lead architect of Novell Netware. Its encoding technology renders the video stream in a variety of resolutions, allowing the Move Media Player to display a quality picture at a variety of internet bandwidths. See the technology in action in CW's video interview of Sarah Hartshorne.

Thursday, September 27, 2007

A-Z blogs for Eons

Congratulations to Amy Zuckerman, principal of A-Z International, who joins actress Jane Seymour and a couplAmy Zuckerman now blogs for Eons.come dozen other Experts and Celebrities recruited by Eons.com, the social networking site for folks on the flip side of fifty.

Eons is the brainchild of Jeff Taylor, UMass Amherst grad ('01) and former Daily Collegian business manager, whose earlier venture, Monster.com, burgeoned into the number one job search site on the internet.

Amy Zuckerman is no stranger to social networking, having created and built up Hidden Tech, an alliance of independent technical professionals and other home-based workers in the Pioneer Valley. It is her expertise in Eons.comvirtual businesses such as those widely represented in Hidden Tech that she shares in her Eons column as well as in her personal blog, Living the Virtual American Dream.

Eons has undergone rocky times of late, laying off a third of its workers earlier this month. However, if Taylor’s baby has yet to boom, it continues to address an audience still underserved on the web. Eons' attractions include the web's largest database of online obituaries with 81 million entries.

Jeff Taylor and Jane Seymour celebrate Eons' launch
Jeff Taylor & Jane Seymour

Sunday, September 16, 2007

Serenading Al

Professional page builders throughout cyberspace agree. One of the deadly sins of web design is embedding a background sound in a web page. Instantly and relentlessly presenting visitors with a constant audio clip is a sure-fire way to turn a pleasant web experience into aural torture. As a coding no-no it ranks up there with DraftGore.comthe cussed <BLINK> tag.

Therefore it was with some reservation that I assisted Monica Friedlander, head of DraftGore.com, in setting up a background sound on the organization’s home page. On the other hand, perhaps this case was justified. Amherst songwriter Paul Kaplan, for whom I’ve done some web work over the years, had written a real winner of a song urging Al Gore to join the 2008 presidential race called Run, Al, Run, and the Draft Gore folks were interested in adopting it as their anthem.

I edited an mp3 recording of the song to make it as innocuous as possible, toning down the volume, reducing the sampling rate to conserve bandwidth, and shortening it to a 22-second segment. I emailed the clip to the webmaster with instructions to include the following line in the <HEAD> section of the home page:

<embed src="RunAlRun_clip.mp3" loop="0" autostart="true" hidden="true">

To the song’s credit, it lasted as a background sound for several weeks. It has since been demoted to a clickable, but prominent, link on the DraftGore home page.

With the Democratic presidential primaries fast approaching, the interest in Run, Al, Run remains high. Critiquing Gore's The Assault on Reason earlier this month, writer Michael Tomasky quoted the song’s chorus in the The New York Times Review of Books. And a music video, edited by Paul’s daughter Brittany, has garnered acclaim and charged up Gore supporters since being posted out on YouTube.


Monday, September 10, 2007

Find an Outlook Contact in 8 Keystrokes

Outlook 2007I’m not a dyed-in-the-wool Microsoft fan, but I have to admit that several products from the Redmond folks have become ingrained in my work routine. First by professional necessity, then by force of habit I have come to rely on MS Office and Internet Explorer as well as Visual Studio when needed. I am proud to say I gave up FrontPage for Adobe Dreamweaver a while back.

As part of the Office suite, Outlook 2007 (aka Outlook 12) is one of my mainstays. I use it daily, not only for email, but also for calendaring and contact management. My productivity received a boost with the discovery that I can look up virtually any entry in my set of Outlook Contact folders in 8 or fewer keystrokes. The trick is to take advantage of a couple of Outlook 2007’s shortcut keys and the new Instant Search feature.

Outlook 2007 Instant Search

I have contacts spread over a number of folders, e.g. I’ve created a folder containing family and friends, another for recipients of a newsletter I send out, and yet another for clients of a small business that my wife runs. When looking up an address or phone number in the past, I often stumbled around looking for the right contacts folder, then clicked on the “File As” column header to sort by last name and scrolled down until I found the person I was looking for. Not quick.

Now I do this:

  1. Type Ctrl+3. This is the shortcut key for Go Contacts and brings me to a view of the Contacts root folder.

  2. Type Ctrl+Alt+A. This moves the cursor to the Instant Search box and sets the scope of the search to “All Contacts Folders.”

  3. Type the first 3 letters of the last name (or any other distinguishing field in the contact entry) of the person you are looking up. Quite rapidly Instant Search will display a list of contacts containing these 3 letters. I have several hundred contacts, but entering a search string of 3 letters usually results in no more than a screen full of results, and I can quickly locate the contact I’m after.

A similar process can be used to quickly find mail messages, calendar appointments, etc.

Wednesday, September 5, 2007

The Old Plastic Bag over the Credit Card Trick

We were low on kitty litter and soy milk, so I made a late night jaunt down to the Hadley Stop & Shop to pick up a few things. Going through the checkout line, I slid my Florence Savings Bank MasterCard through the scanner and was greeted with the message, “Invalid Magnetic Stripe Format.” I tried again – same result. The old plastic bag over the credit card trickThe soy milk was getting warm and a queue was building up behind me. What to do?

The cashier noticed my consternation and handed me a plastic bag. When I shrugged stupidly she snatched my credit card, put it inside the bag and swiped it through the reader. Bingo! I saw the reassuring words, “Debit or Credit?”

I had just observed a workaround that is apparently fairly well known among the cash register community. When a card is scratched or somehow has bad chemistry with its reader, it can fail its parity check, a common software error detection technique. The addition of the layer of plastic above the magnetic strip dampens the magnetic noise that is responsible for the bad reading. A piece of scotch tape reportedly works well, too.

For 16-digit Visa and MasterCard numbers, the parity check algorithm looks like this:

  1. Add up the digits in odd positions (i.e. 1st, 3rd, 5th, …, 15th) and multiply the sum by two. Call the result ODDSUMDOUBLED.

  2. Add up all the digits in even positions (i.e. 2nd, 4th, 6th, …, 16th). Call this result EVENSUM.

  3. Go back to the set of odd-position digits that you added up in Step One. Count how many of these digits are greater than 4 and call this BIGODDCOUNT.

  4. Add up the numbers calculated in the first three steps. Call the sum CHECKSUM:
    CHECKSUM = ODDSUMDOUBLED + EVENSUM + BIGODDCOUNT.
    CHECKSUM must end in “0”. If it doesn’t the credit card number is invalid.

The card's final digit is called a check digit and is there is only one value for it that will enable the validation to work. Find a more detailed description at Anatomy of a Credit Card. If you are exceedingly curious or perhaps a sodoku fiend, pull out your wallet and validate your own card.

Tuesday, August 28, 2007

Banishing a Renegade Ruler

While blithely browsing the web the other night, I was in the midst of entering a search term when an odd little window unexpectedly popped up. renegade rulerIt was titled “Ruler”, and offered some options to check, such as “Snap to X/Y axis” and “Hide Tick marks.”

I found that my keyboard was no longer responding, so I clicked the peculiar popup’s close box and continued typing. All was fine until I had occasion to enter an upper case “R,” then suddenly the strange ruler window popped up again. What the hack was going on?

An hour of experimentation and web research gave me some insight. The ruler box is a feature of the Internet Explorer 7 Developer Toolbar add-on that I had installed a couple months back, but hadn’t trotted out much. It turns the mouse into an on-screen measuring tape that displays the dimension in pixels of whatever you drag over, and can be useful for IE7 Developer Toolbarsizing web page elements. The IE7 Developer Toolbar contains a few other somewhat useful functions, such as the ability to easily examine the code behind individual web page elements (e.g. paragraphs, images, DIVs), simulate the viewable area for various standard screen resolutions, and display a report of all links on a page. But since its official release earlier this year, the toolbar has proven to have some bugs, and has generally been found to be inferior to a similar extension to Firefox called Web Developer.

What I found to be triggering the bad behavior in my IE Developer Toolbar ruler was opening the IE7 Feeds bar for subscribing to blogs. Doing this, either by selecting View | Explorer Bar | Feeds, or by typing Ctrl-Shift-J erroneously causes Shift-R to become a hot key for the Dev Toolbar ruler. I discovered that typing Ctrl-R disables the unwanted hot key.

A different sort of unruly ruler has been the focus of John Bonifaz, attorney, founder of the National Voting Rights Institute and candidate for the Democratic nomination for Massachusetts Secretary of State in 2006, who has recently moved to Amherst. In Warrior-King: The Case for Impeaching George W. Bush (Nation Books, 2003) Bonifaz has argued that Mr. Bush’s leading of the U.S. into war with Iraq was illegal and an impeachable offense. Daily Kos reports that 21 cities and towns in Massachusetts have approved resolutions to impeach President Bush. 16 are in the Pioneer Valley.

Friday, August 17, 2007

Track Meet Technology

I recently returned from a working vacation in Orono, Maine where I joined the Media Operations Team at the 2007 USA Masters Outdoor Track & Field Championships. I was there providing computer support at the behest of Media Director and old buddy, Bob Weiner.

Longtime valley residents may remember Bob as one of a string of democratic kamikazes who attempted to end
Bob Weiner and onlooker
Bob Weiner and onlooker
Sylvio O. Conte’s several decade stranglehold on the Massachusetts District One congressional seat.

Bob made a spirited run for the office in 1986. He was trounced but rebounded in a big way, moving to Washington, DC, where he used his political skills and penchant for promotion to direct the press operations for Congressmen Charles Rangel and John Conyers, then joined the Clinton White House staff as press secretary to Drug Czar Barry McCaffrey. When George W. Bush came to office, Bob left to form his own political consulting company, Robert Weiner Associates, and continues to issue opinion pieces on drug policy, public affairs and his favorite pastime, masters (over age 30) track.

At the meet I shared a tarp with the crew of Brewer Timing Services, and was quickly wowed by the array of technology that went into making sure the races were timed accurately and results reported quickly. The timing folks used a computerized system from FinishLynx. It was designed by Doug DeAngelis from nearby Orrington and is now used to time track, skating, cycling, swimming, kayaking, horse racing and other speed sports throughout the world. The starter's pistol automatically activates a digital timer accurate to better than one one-hundredth of a second, and when competitors cross the finish line they automatically trigger the firing of a high-speed camera that captures and uploads a digital image of the runner with a time bar superimposed below. In this way a photo reader from Brewer Timing can line up a straight edge along the torso of the finisher’s image and read off the exact finish time.

FinshLynx photo of the finish of the Men's 60-69 2000m Steeplechase
The image above shows the kind of photos that they work with. In fact the final runner in the photo, with arms raised, is Bob Weiner. He took fourth place in the men’s age 60-65 2000m Steeplechase with a time of 9:58.10.

Thursday, August 9, 2007

Introducing Pioneer Valley Software

The Pioneer Valley Software blog brings together two themes that have pervaded much of my adult life -- software and the Pioneer Valley.

My fascination with software began in the early seventies when, to fulfill a course assignDigital Equipment Corporation PDP-10, 1969ment I developed a BASIC program that calculated the score of an arbitrary cribbage hand. The computational power of Bowdoin College's DEC PDP-10 which I was time-sharing was inspiring.

Continuing on to grad school in the UMass COINS (Computer & Information Science) department I was introduced to concepts such as artificial intelligence and multi-processing operating systems, and smart new programming languages like APL and LISP, and began gaining an appreciation for how computers can be used to solve problems that we meet in our everyday lives.

Now, with the experience of several generations of hardware and software behind me, I continue to find the task of taming computers fresh and challenging, sometimes frustrating, always exciting.

My university stint also enlightened me to another attraction. I found myself living in a place that offers the best of many worlds. Rural splendorAn early tribute to the Valley's beauty -- Thomas Cole's View from Mount Holyoke, Northampton, Massachusetts, after a Thunderstorm (The Oxbow), 1836, cultural diversity, intellectual vitality and political engagement are all strong traits of the Pioneer Valley -- the three Western Massachusetts counties enclosing the Connecticut River. I've been privileged to make my home here, first in Sunderland, then Northampton and today in Amherst.

So in these writings I intend to treat that place where the Pioneer Valley and software intersect. I hope to pass on lessons I've learned about building software solutions before a backdrop of the history, the people, the businesses and the beauty of the Pioneer Valley.