The iPhone App

App

You may recall that I was slightly busy from shortly before Will was born until early October. Well, my big project was finally released yesterday. The Wolfram|Alpha iPhone application is now available in the iTunes app store.

The app has generated quite a lot of buzz over the past 24 hours, mostly because the price is significantly greater than the vast majority of iPhone applications. While I was intimately involved in the development of the application, I am completely in the dark about the business and marketing side of the product. On the bright side, most of the reviews speak relatively highly of the app itself, even though many are quite critical of the price.

Since I work primarily on Mathematica, I’ve been fairly uninvolved with the Wolfram|Alpha project prior to this iPhone app. I’m still not an expert on innards of Wolfram|Alpha but I do understand the big picture a little better than I did before.

1.0.0

If you’ve never used Wolfram|Alpha before, go ahead and give it a try on the website. It’s kind of hard to describe what it does, simply because it’s not like any other application you’ve ever used before. Despite certain visual similarities to web search engines like Google or Yahoo, Wolfram|Alpha is not a search engine. It doesn’t find web pages that might be related to your query, it computes factual answers to your query (except when it doesn’t).

Typically this means your query must be constructed in a slightly different way (perhaps using slightly different language) than you would use for a search engine. It’s worth taking the time to experiment to see what works and what doesn’t work. Perhaps my best description of Wolfram|Alpha is that it is a combination of a calculator and an encyclopedia.

The iPhone app features optimized input and output for the interesting and useful Wolfram|Alpha computation engine.

W|A knows all sorts of interesting facts. For instance, Robert was a more popular given name than William in the U.S. for most of the 20th century (though William recently overtook Robert… a sign of things to come?).

The app provides a number of ways to share the interesting results you find. Click the “share” button in the upper-right corner, or press and hold on a result.

The app also has numerous built-in examples to help you get started.

It also contains a complete history of all your queries.

Many of the computations have parameters that can be fine tuned for more precise results.

So there you have it. The app was a lot of fun to write, even if the release schedule was a bit hectic. The next version should be even better.

Late night coding

The Keynote

As I write, Melissa & I are at Chicago O’Hare airport waiting on our (delayed) flight to San Francisco. I am attending Apple‘s Worldwide Developer Conference (WWDC) this week. Melissa is along for the ride.

Since I started working full time as the primary Mac OS X developer of Mathematica at Wolfram Research in 2001 I have attended this conference every year except 2006. That year the conference was scheduled (Apple has been really bad lately at waiting until the last minute to schedule this huge conference) during the week Melissa & I were moving to Nicaragua, so I missed out. The conference is exciting every year, but none was more exciting for me than 2005 when I (along with my boss Theo Gray) participated on stage during Steve Jobs’ keynote address.

Note: some of this information was confidential at the time, but is now mostly publicly known. I can’t imagine any of the details I mention below would still be considered sensitive information.

On Wednesday night the week before WWDC I got a call at 9:30 pm from Theo. I was almost ready to go to bed. He asked if I would be able (and willing… but more able :) ) to fly to California at 6 am the following morning. I suppose I could, but why? Theo went on to tell me that Apple had a super secret project and they wanted our help, but he wouldn’t tell me what the project was.

I have since learned that he actually knew what the project was at the time of that call, but he couldn’t tell me. Stephen Wolfram, the founder and president of Wolfram Research wouldn’t sign off on the idea until he knew what was going on. Steve Jobs told Stephen Wolfram & Theo what the project was and they agreed to take part… but they couldn’t tell anyone else.

I spent the next two hours packing (including the Dahon, my folding bike at the time) before going to bed. Early the next morning I arrived at the Champaign airport. Apple purchased my one-way ticket to San Jose (by way of Chicago). An Apple limo picked me up at the San Jose airport and drove me straight to Apple’s campus in neighboring Cupertino. Luggage still in hand I entered 3 Infinite Loop (I think). A few minutes later I was in a meeting with Ron Okamoto, Vice President of Worldwide Developer Relations.

Ron told me what the secret was, that Apple was building a Mac which used an Intel x86 processor. They had ported all of Mac OS X to this new architecture (Darwin, the open source core of Mac OS X, already ran on x86). They intended to demonstrate this new x86 version of Mac OS X on Monday’s WWDC keynote. They wanted to demo a 3rd party application running on the x86 Mac. They chose Mathematica to be that 3rd party application. He asked me if I thought it would be possible to get Mathematica up and running on Mac OS X Intel by Monday.

Uhhhh.

That’s a potentially huge task. Our code is fairly portable (at the time Mathematica ran on several Unix platforms in addition to Mac and Windows), but supporting new platforms usually takes a fair amount of time. Ron told me Apple was prepared to provide significant resources to make this happen, including a small team of Apple developers and immediate access to any other relevant Apple developers. I was cautiously optimistic.

(Now 30,000 feet over Iowa)

We travelled across De Anza Blvd (luggage still in hand) to a different Apple building where I was ushered into a conference room with a single desktop computer sitting on the conference table. It was in the same metal case as Apple’s high end desktop computers at the time, the PowerMac G5. I think the case even said “G5” on the side. From the outside you couldn’t tell the difference between this machine and a G5 unless you carefully peeked through the holes on the front and noticed it didn’t have the huge heat sink the G5’s had.

I was greeted by the team of Apple engineers (Matt, Eric, & Ronnie) who would be providing technical assistance in the porting process. This place was not only hidden from the public, but it was hidden from the rest of Apple. Very few people at Apple were even aware this project existed. The four of us got busy.

I sat down at the Macintel and immediately began working. The experience wasn’t just familiar it was identical to any other Mac I had used. I was blown away by how seamless Apple had made the transition. The whole OS was there it all its glory, including every bundled application (even Xcode). I could just work exactly like I do on any other Mac.

But wait, sometimes I use BBEdit to edit text. I guess I won’t be able to do that since it (or any other 3rd party application) hasn’t been ported yet. “Why don’t you just go ahead and try it?” Matt said to me as he tried to hold back a smile. It hit me immediately. “You’re kidding, right?” I downloaded BBEdit, double clicked the icon, and it ran. I ran just like it does on any other Mac. Apple had incorporated (with technology licensed from another company) a PowerPC translation layer into the OS. This meant that nearly all existing Mac applications would run on the new Intel machine, with a slight performance penalty. This was amazing news, as it meant the new machines could be adopted immediately by users rather than waiting until all their applications were ported. Very exciting.

Back to work. We started with MathLink. This is a low level library used by both the Mathematica user interface (FrontEnd) and the computation engine (Kernel). With one set of flags MathLink builds for Mac OS X PowerPC and with different flags it builds for x86 Linux (or Windows, etc.). It only took a few minutes of experimentation with the Makefile and headers to find the right set of flags to treat the OS as Mac OS X and the architecture as x86. The elapsed time from entering the conference room to having a built, fully functional MathLink library was probably around 20-25 minutes. As we progressed our excitement grew.

Xcode target architecture

Next was the Mathematica FrontEnd. I normally spend all my time working on the FrontEnd, so this part didn’t worry me much. The FrontEnd is built with Xcode, which had a new “architectures” setting checkbox. We checked the checkbox for the Intel architecture (actually, we didn’t because Intel was the default target architecture when building on Intel… but we did verify the checkbox was properly set). Within 4-5 minutes the FrontEnd built with only a couple of minor build errors which were easily fixable. After 10 minutes working on the FE we had it built and running. It wasn’t running flawlessly, but it was a very good start. I had only been at the secret Intel machine for around a half hour. This was getting really exciting.

The next step was the one which caused me the most concern, the Mathematica Kernel. The reason for my concern was that I don’t often work with the Kernel. I knew how to build it (the build system is somewhat complicated) and I knew roughly how the code was organized, but there are all sorts of minor details which could really slow down the process. It relies on many external libraries (open source and commercial) and custom build tools. Fortunately, the Kernel, like MathLink, already ran on Mac OS X PowerPC and Intel Linux & Windows. It took a while longer to figure out some of the proper build flags, and some of the build errors weren’t entirely obvious.

This is where Matt, Eric, & Ronnie really came through. They had each spent a lot of time porting open source applications to Mac OS X Intel to learn what types of issues developers might run into along the way. Each time we encountered some sort of problem in an open source library one of them would go off on their own for a few minutes to resolve the problem while the rest of us kept hammering away. Every few minutes we would get further and further along in the build process with new issues popping up all the time. It was like an assembly line. In parallel.

After about 90 minutes (2 hours from when I entered the room) we had the Kernel running, the FrontEnd running, and the two processes were able to talk to each other through MathLink. Again, it wasn’t perfect, but nearly everything just worked.

News spread up the ranks. Within minutes we had high level executives stopping by to see the first 3rd party commercial application running on Mac OS X Intel. By early evening Theo (who took a later flight) arrived frantically asking what he can do to help. He was a bit shocked, and very pleasantly surprised, that it was mostly done.

Friday we worked to fix bugs and showed off the software to an ever growing number of people. Since Mathematica already ran on Intel processors on other platforms, most of our cross platform code was byte order agnostic. There were a few cases where Mac specific code was assuming big endian byte order, particularly related to Quartz (bitmap drawing) and OpenGL. There were also some issues with Quickdraw PICT drawing.

Friday evening some of the Mac rumors sites (original CNET article appears to have been removed) reported that Apple would be announcing the switch to Intel processors at Monday’s keynote. Rumors like this had been published for years, so it wasn’t that out of the ordinary, but this report was different. It contained many specific (correct) details rather than just wild speculation (like every previous report like this). It was clear someone in the know had blabbed. The conference room was silent for a few moments. Oh well. Until Monday, it’s still just a rumor.

Saturday morning we drove up to San Francisco to prepare for the WWDC keynote. We had a rehearsal where I met and shook hands with Steve Jobs. I had heard horror stories about his temper, but he was in a great mood when I met him… sitting perfectly relaxed, legs crossed, smile from ear to ear. I could tell he was excited.

Theo practiced his speech, asking Jobs for feedback along the way. The funny thing was that Steve was so happy he kept telling Theo “say whatever you want” or “talk for as long as you want.” Meanwhile I set up the demo machine (and backup demo machine) with our freshly built Mathematica for Mac OS X Intel.

Monday morning before the keynote Theo & I hung out in the VIP lounge. Woz (Steve Wozniak, the other co-founder of Apple) was there, Sergey Brin (co-founder of Google and former Wolfram Research intern) was there, along with many other influential people in technology.

Once the keynote started we sat in the front row on the far right side. Midway through the keynote Jobs called us up to the stage. Theo described our experience porting Mathematica to Mac OS X Intel over the previous few days. I drove the demo machine as he talked. It was a big hit. Theo captivated the audience. At one point Theo mentioned my name, which immediately caused 4,000 people to turn their heads to stare at me. It was a little awkward (which is quite evident in the video). Had I known that was going to happen I think I could have played it a little more cool. Anyway the demo was a success. Mission accomplished.

Note that a few minutes of the demo were edited out of this video for some reason.

That wasn’t all for that WWDC. On Tuesday I gave a 10 minute presentation during Bud’s science session about Mathematica on Mac OS X, detailing how we utilize various OS features. This went more smoothly for me as I had actually been preparing for it for a few weeks. Later that week I spoke about Mathematica for a minute or two in Ernie’s 64-bit session. I went from participating in zero sessions my first four WWDC’s to three sessions in 2005, back to zero sessions every year since. Perhaps that was my 15 minutes of geek fame (actually, the total time I spent on stage was almost exactly 15 minutes).

Last year I attended a reunion for the non-profit organization where I worked in college, ASP. A guy who I hadn’t seen in 8 years came up to me and asked me if I was in a Steve Jobs keynote a few years ago. “I thought that was you…”

Anyway, tomorrow’s 2009 WWDC keynote won’t be as exciting for me, though I’m sure it will still be exciting. I won’t be participating in the keynote. At least, if I am they haven’t told me yet. Always with the secrecy.

The End of May

Photo of the Day

May 2009 Photo of the Day

Blog

The top searches that led to my blog in May:

  1. dahon helios [xl]
  2. my name is rob (or: rob is my name)
  3. bike friday pocket rocket
  4. mathematica 8 (again, doesn’t exist and I’ve never mentioned it)
  5. iPhone camera remote
  6. highest point in PA
  7. camel clutch

Running

Rob at start of Rockford Marathon

Most of my training and racing efforts in May were geared toward running. I raced four weekends in a row (sprint triathlon, 5K, marathon, 5K), all of which were quite successful. Now comes the time of year (i.e. the heat of summer) when I scale back my running and work more on cycling and swimming.

Month Distance # Workouts Avg per Workout
January 109.34 Mile 10 10.934 Mile
February 55.83 Mile 7 7.97571 Mile
March 108.792 Mile 10 10.8792 Mile
April 74.85 Mile 8 9.35625 Mile
May 64.5669 Mile 9 7.1741 Mile
Total 413.378 Mile 44 9.39496 Mile

Cycling

Rob finishes the bike

I did no cycling races (aside from the triathlon) and only a little training in May. My bike mileage was half of what it was in May of last year and I’m a good 800 miles behind where I was last year at this point. I’ve completely given up two of my four/five weekly training rides from last year to spend more time with the family.

Having said that, I’m doing surprisingly well on the bike. I think it’s mostly my running fitness carrying over and making up (slightly) for my lack of training miles.

May 2009

Bike Distance # Rides Avg per Ride
Bianchi 48. Mile 12 4. Mile
Big Red 3.2 Mile 1 3.2 Mile
El Fuego 14.5 Mile 2 7.25 Mile
Pocket Rocket 7.2 Mile 2 3.6 Mile
Thundercougarfalconbird 274.93 Mile 7 39.2757 Mile
Total 347.83 Mile 24 14.4929 Mile

January-May 2009

Bike Distance # Rides Avg per Ride
Bianchi 300. Mile 64 4.6875 Mile
Big Red 7.17 Mile 3 2.39 Mile
El Fuego 54.42 Mile 7 7.77429 Mile
Pocket Rocket 120.93 Mile 25 4.8372 Mile
Thundercougarfalconbird 1027.65 Mile 24 42.8188 Mile
Total 1510.17 Mile 123 12.2778 Mile

Swimming

The spring session of Masters Swimming ended with another practice meet. I dropped my 500 yard freestyle time from 7:10 at the last meet to 6:48 at this meet.

After a couple weeks of little-to-no swimming the summer session of Masters Swimming started up and it has been going well so far. The morning schedule works out better for me (i.e. doesn’t conflict with group run and/or bike workouts), so I may be swimming as many as four times per week (rather than two times per week throughout the school year).

This bodes well for my chances at the Olympic distance triathlon(s) this summer. This category of race is more swim-heavy than other distances. Between July and September of last year I dropped my 1500 meter swim split from 28+ minutes to 25+ minutes, and I’m already doing much better than that so far this season. It’s conceivable I could swim four minutes faster, bike the same time, and run one minute faster at this year’s Evergreen Tri, knocking five minutes off my time from last year. I would be extremely pleased with that.

Month Distance # Workouts Avg per Workout
January 1.87452 Kilo Meter 3 0.62484 Kilo Meter
February 14.9504 Kilo Meter 6 2.49174 Kilo Meter
March 19.5224 Kilo Meter 7 2.78892 Kilo Meter
April 13.3502 Kilo Meter 6 2.22504 Kilo Meter
May 12.7806 Kilo Meter 7 1.82579 Kilo Meter
Total 64.7782 Kilo Meter 30 2.15927 Kilo Meter

The PowerBook 5300cs

For many years I acquired (either inexpensively or freely) a lot of computer parts and other miscellaneous electronic equipment. I’ve been hanging on to these things just in case I ever needed to use them.

I never needed to use them.

A lot of this stuff was sitting around for years at our old house. Then it was put into storage when we moved to Nicaragua. Then it was moved into our new house. Close to two years later it still hasn’t been used. So it’s time we parted ways.

Today was the annual free electronics recycling event in Champaign-Urbana. Over the past few weeks I’ve been cleaning out my office so I could take this stuff to be recycled.

Box of electronics for recycling

The large box of items I took for recycling included:

  • 1 desktop computer (a Mac IIci)
  • 2 laptop computers (a PowerBook 5300cs and a PowerBook Duo 250)
  • 3 PDAs (including 1 smartphone)
  • 2 keyboards
  • 2 ISA-slot modem cards
  • numerous hard drives (all erased, one with a hammer)
  • more obsolete cables and connecters than you can imagine

You get the idea.

Of note, the box contained my first PDA (a Palm iii) and my first smartphone (a Samsung SPH-I300).

Samsung SPH-I300

The most sentimentally valuable obsolete item in the box was my old PowerBook 5300cs. This was my second computer and my first laptop. I got it in the fall of 1996 and used it regularly until the fall of 2000, when its duties were usurped by my work-issued PowerBook G3.

PowerBook 5300cs

Everyone has a laptop now, but in 1996 it was somewhat rare. I took it to most of my college classes to take notes (I can type way faster than I can write). Being the only person with a laptop in a lecture hall with hundreds of students meant that I stood out like a sore thumb, but I didn’t particularly care.

PowerBook 5300cs

One funny story about this laptop occurred in the summer of 1998. I was finishing up coursework for my Math 285 class (differential equations) while I was working for ASP in southeastern Kentucky. I must have tripped over the power cord or something, because the power connector inside the laptop broke off from the motherboard. I had course work that had to be completed (using Mathematica, on my laptop) by a certain date… and I had about two hours of battery left and no way to recharge the battery.

I used what precious little battery power I had left to connect my external modem to the internet via a long distance phone call. I shopped online for 20-30 minutes until I found a replacement part that would solve my dilemma (an expansion bay power supply). I ordered it and received it a few days later via FedEx. I completed my work and received an A in the class.

This computer and I have been through a lot together.

The Mathematica 7 Release

Mathematica 7 was released today (okay, late last night). It has been under active development for 18 months. While not as gigantic in scope as Mathematica 6, it’s still a very solid, feature-filled upgrade.

The headlining features for version 7 are:

A list of all major new features is available here. In addition to the highly publicized features, here is an incomplete list of other improvements I worked on for this release:

  • QuickLook plugin provides previews for notebook documents on Mac OS X 10.5
  • text & cell selections use system highlight color rather than XOR drawing
  • better sub-pixel accuracy of screen drawing & vector graphics export
  • BezierCurve support for EPS & PDF Export, and PDF Import
  • PDF export can attach arbitrary files (including the source notebook) to the exported PDF file
  • PDF import can read file attachments
  • PDF import of encrypted files works with default (empty) or user-supplied password
  • decreased EPS & PDF export file sizes in some cases
  • decreased notebook file sizes in some cases
  • ControllerState supports MIDI devices (e.g. keyboards, mixers, etc.) on Mac OS X

Additionally, the minimum Mac OS X version increased from 10.3 to 10.4.

The Indy Marathon Chase

“Whoa, check out that guy! He makes Speedy Gonzalez look like Regular Gonzalez!”Philip J. Fry

Melissa runs marathons. I chase them.

Saturday she ran the inaugural Indianapolis Monumental Marathon.

I rode my bike to several different places on the course to cheer her on and take pictures.

The marathon went rather well for Melissa, and as a result, less well for me. For you see, she ran so fast that half of the places where I went to watch the race I arrived too late and missed her. The first time it was clear that she had already passed so I didn’t wait around long. The remaining times I waited several minutes before I could be sure she had already passed.

We were both wearing GPS watches, so using that data I put together this animation using Mathematica that shows our locations throughout the race. Melissa’s path is blue, Rob’s path is red. It’s kind of funny to watch my red path wait around at a certain location while Melissa moves farther and farther away.

Update 2009-04-17: I have written an entry for my company blog showing in great detail how I made this movie.

The World, Re-Justified

I just came across this web site describing The World, Justified, a piece of (ASCII) art created by a couple of Brazilians. Very interesting idea. I was able to replicate it using Mathematica 6 in just a few lines of code.

In[1]:=

map = CountryData[“World”, {“Shape”, “Equirectangular”}]

Out[1]=

In[2]:=

g = Rasterize[map, ImageSize→80]

Out[2]=

In[3]:=

raster = First @ Cases[g, _Raster, ∞] ;

In[4]:=

txt = Reverse @ First[raster]/.{ {255, 255, 255} →” “, {_, _, _} →”*”} ;

In[5]:=

CellPrint @ Cell[StringJoin @@ Riffle[StringJoin/@txt, “\n”], FontFamily→”Courier”]

In[6]:=

CellPrint @ Cell[StringJoin @@ Riffle[StringReplace[#, ” “→””] &/@txt, “\n”], TextAlignment→Left, FontFamily→”Courier”]

In[7]:=

CellPrint @ Cell[StringJoin @@ Riffle[StringReplace[#, ” “→””] &/@txt, “\n”], TextAlignment→Right, FontFamily→”Courier”]

In[8]:=

CellPrint @ Cell[StringJoin @@ Riffle[StringReplace[#, ” “→””] &/@txt, “\n”], TextAlignment→Center, FontFamily→”Courier”]

The Reunion

Last weekend in Washington D.C. there was a reunion of former ASP summer staff members. I worked for the Appalachia Service Project during the summers of 1997-2000 while I was in college. Around 75 former staffers descended upon the nation’s capital (well, a number of them already live there) for festivities.

ASP Summer Staff 1998 (I’m the one in the bright yellow shirt)

After a 12 hour drive (and a one hour bike ride) I arrived at the Potter’s House bookstore and cafe for some live bluegrass music. As soon as I walked in I recognized four or five familiar friendly faces… and about 30 very unfamiliar ones. Has it been that long?

I scanned the store and noticed my former staffer Jill on the other side of the room. The way ASP works is there is a separate center in each of 20 or 25 counties throughout central Appalachia. Each center is run by four staffers. Jill & I worked together at the same center in the summer of 1999. Great, I thought, I’ll go say hello.

Jill & Rob in 1999

As I walked about half way across the room I took another look, then I stopped in my tracks. Wait a minute… that’s not Jill… is it? She looks like she hasn’t aged at all. My confusion was further compounded when she made eye contact with me and showed absolutely no sign of recognition. This was a person I worked with very closely for several months, what’s going on???

While I was standing there, not knowing what to do, Phoebe walked by and I asked her if that was Jill. No. It was Jill’s younger sister, who looks exactly like Jill, and who apparently also worked for ASP. Well, that solves that mystery. The real Jill was present at the banquet on Saturday night. We had a good chance to catch up a little. She is finishing up with medical school and getting married soon. ¡Felicitaciones!

After the long drive and a few hours in the coffee house I was really ready for bed. Will works in D.C. for CEDC, a nonprofit that has dormitories, and he arranged for me (and a few others) to stay there fairly inexpensively. It was nice, and the price couldn’t be beat. I slept in a little Saturday morning before heading downtown to see the monuments.

In the afternoon, the event organizers planned a service project at the Capital Area Food Bank. Around 20 or so of us from ASP helped unbox bulk canned foods and reorganize and repackage them for distribution to individuals and food kitchens. It was a good time. I used the opportunity to get to know some of the younger people who were on staff in the years following me. Interestingly, a few of them already knew who I was. You get bonus points if you can guess how — The Rob Song.

After finishing up at the food bank I got ready and headed over to the banquet on the other side of town. During my cross town trip I encountered four roundabouts (traffic circles). Fantastic. Anyone who knows me knows that I love roundabouts. I believe they are the greatest traffic control device in existence. The problem is that D.C. has the worst roundabouts I’ve ever seen (in the U.S., Nicaragua, France, or Belgium). Typically, traffic entering the roundabout has to yield to traffic already in the roundabout, but traffic in the roundabout should keep moving. Not only did these D.C. roundabouts have stop lights (rather than yield signs) upon entering the circle, they also had stoplights inside the circle itself. ¡Que terrible! So instead of none of the traffic stopping ever, all of the traffic stopped multiple times. This is how the first three roundabouts were. When I reached the fourth roundabout, it was normal (no stop lights, no stopping). Traffic moved so much more smoothly and safely through the fourth roundabout. I cannot possibly fathom why the first three were so messed up.

Once I got to the reunion banquet I saw many more familiar faces. There were a couple dozen people whose employment with ASP overlapped mine. One of the first people I saw was Ben, who immediately asked me “were you ever on stage during a Steve Jobs keynote?” That came out of nowhere. Yes, I was on stage during Steve Jobs’ 2005 WWDC keynote presentation. My boss (Theo) & I demonstrated Mathematica running on the just announced Intel based Mac computers. Ben watched the video of the keynote (here’s the relevant clip), recognized me, and remembered to ask me about it the next time he saw me (three years later). Funny.

Besides Jill, my only other former staffer (with whom I worked closely) at the reunion was Meryl (a.k.a. Marl, who was recently married). We too had a good chance to catch up with each other (though we didn’t get the chance to reenact our infamous, no holds barred wrestling matches).

Rob stuffs Meryl into a trash can in 2000

Meryl gets her revenge

Some poor, innocent bystander gets caught in the middle

The banquet was a really good time.

  • We ate Appalachian food (whatever that is).
  • We viewed a wonderful slideshow of old ASP photos.
  • A preselected representative of each decade (70’s, 80’s, 90’s, 00’s) shared some of their fondest ASP memories. Michelle K. (from my decade, the 90’s) did an exceptional job.
  • We sang a few of the songs we used to sing on a daily basis while working for ASP. It was a little emotional.
  • There was an auction of memorabilia to benefit ASP. I ended up with a really neat framed photograph of a curvy mountain road. I like mountains.
  • There was a contest to guess the number of skittles in a jar. Michelle R. & I both guessed 1200, which was the closest to the actual count of 1106. For this we won the skittles, which she yielded to me. Fortunately, the rest of the group helped pare that number down a little before we left.

After the official reunion ended, the unofficial reunion moved to some bar in an extremely busy area of D.C. I should have planned a little better, but I didn’t, and I ended up driving there. I searched for 25 minutes to find a parking place and I ended up in the tightest spot in which I’ve ever parked (and remember Iris is a very small car).

We all got a little carried away chatting it up with old friends. I ended up getting back to my quarters at 3:30 am. I haven’t stayed up that late in many a year. Juech was planning to run the Cherry Blossom 10 mile race at 7:30 am on Sunday. I since found out that he did indeed finish… barely. It was still probably before I even woke up.