Since I still have a write-up of our Italian honeymoon sitting in the “Drafts” folder from 2 years ago, I thought I would take a different approach and document our latest trip as we travel. We left Newark NJ around 6pm on Oct 18th and landed with the sun still not risen in Frankfurt, Germany on Oct 19th. Red-eyed and groggy, we were determined to stay awake and make it through the day. We went through customs without issue, activated our EURail passes, and caught a train one stop to Mannheim. There, we hopped over the platform to a train bound for Basel SSB in Switzerland. A short layover there and we caught the train to Colmar. About 4 hours after reaching Frankfurt, we had arrived at our first destination.

Having traveled in Europe before via the EURail pass, we immediately went to the ticket office staff and booked a reservation for the train we would be taking to Lyon 3 days later.


We walked the 15 minutes with our bags from the main station to our base camp for the next 3 nights, Hotel St. Martin.


This place was great, centrally located, with very pleasant and helpful staff. We dropped our bags and decided we needed food, stat. Right next to the hotel we went to Alsako and had our first experience with what the French call a “tarte flambe”, which closely resembles pizza. This meant we needed to burn off calories so we walked around town to get familiar with the area. There is a very pleasant area right near the hotel, “petite Venice”, and it is exactly what one might picture:


We picked up a bottle of wine and dropped it off in the hotel mini-bar fridge for later. Being in the hotel room, we started to get dangerously sleepy again but it was only about 5pm, so we mustered up the courage to leave again and headed straight for a cafe where we got some cappuccinos. This proved to be very helpful, soon we were feeling wide awake again. We walked around a bit more before ending up at Pub James’On. Here we got a couple pints of a Colmar-local stout, and soon came to learn of a new tradition we’d never heard of before – with the purchase of any drinks, the owners walked around with tarte flambe and sandwiches which patrons could enjoy – free of charge!

We didn’t stay there too long before leaving again to walk around some more. We happened upon an adorable wine bar named “L’un des sens”. They had an impressive wine list and lots of little food dishes available designed to pair well with your wine. We got a plate consisting of 4 local cheeses and fresh bread. What surprised us the most was their Munster cheese – not at all like what one gets in America – quite creamy, and with a strong odor not totally dissimilar to blue cheese. Apparently this is due to the fact that many of their cheeses are made with raw milk, something that is difficult – if not impossible – to obtain in the USA.

There was another cheese there, which unfortunately shall remain nameless. We loved it, creamy and spreadable with a salty taste, it went down way too easy. We spent the remainder of our time in Colmar searching for this same cheese but came up empty, which might be good all things considered. The closest we discovered was one from Mount d’Or on the French side, but it wasn’t exactly correct.

We walked back to the hotel, opened up our now-chilled bottle of wine, enjoyed, and went to bed.

Flash forward 12 hours, we woke up still feeling a little groggy but mostly caught up (I for one don’t think I slept a wink on the plane ride). We wanted to catch a bus to Riquewihr so we headed to the station. Timetables couldn’t be found online, so when we got there and found the place where the 106 bus stops, we were a little disappointed to find it only ran every 2-3 hours and we had just missed it. Rather than rush ourselves in Riquewihr, we took a photo of the timetable and decided to try again tomorrow if we could make it there by around 11am.

We took the opportunity to explore areas of Colmar we hadn’t reached the day before. We saw a lot of beautiful architecture as we went.




I quickly formed a habit of stopping to read every single menu along the way, one wants to make the best culinary decisions possible at all times. We found a delightful cheese & sausage shop and picked up a small bit of each for later in the hotel. Stopping by a small wine bar, we practiced our French on the very friendly owner who helped us out as much as she could. For dinner, we headed to a place right across the street from our hotel, named Schwendi Bier Und Wiestub. There, we ran into a lovely older couple from southern Switzerland and chatted for far too long about our respective countries. Turns out it’s not only Americans who think Donald Drumpf is ridiculous. This couple was long retired and owned a small camper van which they took on holiday whenever the mood struck. This time they ended up in Colmar as there was construction on their street at home, and they didn’t want to be bothered with the noise. Clearly they had life figured out.

Retiring back to the hotel after a gigantic meal, we picked up a fresh (still warm!) baguette and enjoyed it with our wine, cheese, and sausage.

The next day, our last full day in Colmar, we got up on the earlier side, having recovered from our sleep deprivation. We got ready and went right to the station where we caught the 106 bus. Arriving in Riquewihr a little before noon, there was a chill in the air, so the first order of business was to secure some warm nourishment. We stopped at the charming Hotel-Restaurant Au Cerf


We had French onion soup (turns out they just call it onion soup here) and some pumpkin bisque. Also interesting, their cheesy bread was served a la carte, not in the soup as is tradition in America. After a meal of baeckeoffe (French casserole dish – Google it) and venison stew, we continued back on our tour of Riquewihr. We decided to go top-down, so we climbed the hill. When we got to the top of town, we noticed a small dirt path continuing up the hill. Determined to burn off our most recent calorie binge, we continued up until we came to a small clearing on top of the hill. What a view…


We went back down the hill and into town, and read every menu and stopped in just about every wine bar / tasting room we could find. Hours later we went back to catch the bus, but with the chill in the air growing more intense, we needed something warm. Enter a new concept for us – “Vin Chaud” – literally, “Hot Wine”. Red wine served warm and spiced up like apple cider back home, it more than did the job. We caught the last bus home and rushed back to our hotel, we had dinner reservations for 8pm at Maison-des-Tetes.


What a meal. First the book of wine, no not a “wine list”, a literal book of wine. Then the food, I lost count of the courses – amuse bouches consisting of an herb medley served on a flat pretzel, a radish mousse, beef tartare, cabbage wrapped in smoked bacon, and pea soup. Then came our frog’s legs, our fist time enjoying such a dish. It came two ways, one with a sauce in a dish with some pasta, and the other breaded and fried like one might picture a buffalo wing. Delicious, a little chewy texture, but thoroughly enjoyable. Dinner consisted of two courses, we had the pigeon and the rabbit, the cook was perfect. Finally a dessert of chocolate ganache with coffee ice cream and we were ready to figuratively roll downhill back to the hotel. But it wasn’t over – with the cheque (or l’addition as they call it here), more desserts came out – a chocolate truffle, marshmallow made with Gewurztraminer wine, lemon macaroon, madeleines, and a woven sugar treat. We paid and stumbled back to the hotel, where we had a little bubbly digestif before passing out.

And that brings us to today, still digesting from last night – though that didn’t prevent us from picking up a chocolate croissant on our way to the station after packing up and checking out of the hotel. Sitting now where we first started, on a bench right next to the Champ de Mars, and saying Au Revoir to Colmar!

Wedding Video

It’s arrived! Without further ado…

Oh blog updates, where art thou?

Two and a half years. It’s been almost that long since I’ve made a proper blog update. Far far too long. That’s how long it takes to be fully vested in retirement at Princeton! I have a good list of reasons, though.

1) I bought a new (to me) house.


2) I bought a new (to me [seeing a pattern here?]) car.


3) I actually got a haircut, which happens about as frequently as I update this blog.


…and yes, that ponytail got donated to Pantene’s Beautiful Lengths program.

4) I got promoted at work. I no longer work in the Computer Science department, now I’m the Systems Manager of the Mathematics Department, Program for Applied & Computational Mathematics, and Annals of Mathematics (an affiliated periodic publication)


And yes that is Nash as in John Nash, of mathematical and theatrical fame (“A Beautiful Mind” with Russell Crowe was based on his life). I feel honored to be on the same board as him!

5) Last but certainly not least, I got engaged! I am set to be wed in the Princeton Chapel in October of this year.


But as I said, those are just reasons, not excuses. I will try and do better at updating this thing!

A server I use to mine bitcoin has 2 individual ATi Radeon 5970 video cards. These cards each contain two individual GPUs, for a total of 4 GPU cores. These GPU cores hail from the Radeon 5870 video card, where they are stock clocked at 850 MHz. In the 5970, however, they are downclocked to 725 MHz, and the voltage is reduced to 1.05 volts to stay within the power consumption specifications of the PCI-Express standard. So, this video card is just ripe for overclocking.

Step 1 for me was to just play with the core clock. I have my VRAM underclocked to 1/3 of the core clock – it is unneeded in bitcoin mining and running it fast only serves to create more heat. I nudged the core clock north, but hit a pretty hard wall around 816 MHz. I wasn’t going any further on this overclocking journey without applying a little more voltage to the GPU cores. However, all the overvolting tools for ATi are Windows-only! After extensive googling, I found a project that someone wrote to overvolt his/her Radeon 5850 – named [radeonvolt]. It didn’t quite work for me as-is, but after some hacking I was able to get the program to recognize both cores of each of my 5970’s, and change my core voltages successfully.

If you’re interested, click [here] to download a .patch file of my modifications. Otherwise, I will explain the few changes that needed to be made below.

1) Fix the card locating loop. Find the lines that look like this:

if(dev->device_class == PCI_CLASS_DISPLAY_VGA &&
dev->vendor_id == 0x1002 && dev->device_id == 0x6899) {

and change them to look like this:

if(dev->device_class == PCI_CLASS_DISPLAY_VGA ||
dev->device_class == PCI_CLASS_DISPLAY_OTHER) {

One GPU core registers as a VGA compatible controller, the other is just a “helper core” with no outputs, so it gets the DISPLAY_OTHER identifier. We also strip out the vendor and device ID checks – this allows us to attempt to probe the I2C bus of any video card detected. This appears safe still, I’ve tried the code with non-reference GPUs and nothing broke, the software properly reported it was incapable of modifying non-reference cards.

2) The radeon 5×70 cards, unlike the 5×50 cards (for which radeonvolt was originally written), use power profile slot #3 for high-performance, not slot #2. So, we just have a couple more changes to make. Find the line:

float voltage = vt1165_get_voltage(i2c, 2);

and change the “2” to a “3”:

float voltage = vt1165_get_voltage(i2c, 3);

additionally, make a similar change on this line:

vt1165_set_voltage(&i2c, 2, value);

…should of course read…

vt1165_set_voltage(&i2c, 3, value);

And that’s all, folks. Compile, use, and enjoy. I was able to push my core voltage to anything I wanted, but with great power comes great responsibility. Running my core at 1.1125 volts, I have now achieved a rock-stable 900 MHz core clock. Just be sure to keep an eye on the VRM temperatures!

[root@localhost ~]# radeonvolt
Device [6]: Device 689c
Current core voltage: 1.1125 V
Presets: 0.9500 / 1.0000 / 1.0375 / 1.1125 V
Core power draw: 70.55 A (78.49 W)
VRM temperatures: 83 / 89 / 84 C

Device [7]: Device 689c
Current core voltage: 1.1125 V
Presets: 0.9500 / 1.0000 / 1.0375 / 1.1125 V
Core power draw: 63.58 A (70.73 W)
VRM temperatures: 115 / 114 / 113 C

Device [14]: Device 689c
Current core voltage: 1.1125 V
Presets: 0.9500 / 1.0000 / 1.0375 / 1.1125 V
Core power draw: 67.06 A (74.61 W)
VRM temperatures: 87 / 89 / 89 C

Device [15]: Device 689c
Current core voltage: 1.1125 V
Presets: 0.9500 / 1.0000 / 1.0375 / 1.1125 V
Core power draw: 66.19 A (73.64 W)
VRM temperatures: 108 / 108 / 111 C

Trouble with my head… gasket

The blue dragon was misbehaving once again. To repeat, it’s a 1987 Oldsmobile Cutlass Ciera with the Tech-4 variant of the 2.5L Iron Duke engine. She was idling really rough, had a lot of vapor coming from the exhaust, and was drinking coolant at an alarming rate. After replacing the faulty radiator, the coolant leakage got better, but didn’t stop. Sounded like a head gasket issue. Someone told me to check the oil, if it’s a milky color, that means there’s coolant in it, which signals a blown head gasket. So, when I popped the valve cover off, I saw this:

I think that qualifies as a “milky color”. Yikes. Ok, so time to start pulling the engine apart to get to the head gasket. After about 4 more hours of labor and a few smashed arm incidents (those head bolts are tight!), I finally got the head off, and saw this:

Now, a lot of this coolant got in there while I was taking the head off, so it’s really not as bad as it seems. But, notice that cylinder #1 (leftmost) is slightly more full than the others. After drying the water out, the problem became much more apparent:

Yikes again! And so was it really the gasket? I inspected the head and didn’t find any cracks. Then, taking a closer look at the gasket, I found the problem:

So long story short, it was another 5 hours of labor to get everything back together into good working order. I think the total job ran me about $285, which isn’t bad considering I did pretty much an entire upper engine rebuild. That price includes new head bolts (which you should always do – if you reuse, they can snap. If they snap, you’re done), two oil changes, new exhaust manifold, more coolant, and all the associated gaskets.