sprocket i/o

thomas stromberg on technology, nature, and motorcycles

sprocket i/o header image 1

2009: An online retrospective

January 1st, 2010 · Comments

It’s my first anniversary of living in Belgium! Rather than write a long retrospective that only I will end up reading, I’ve selected a photo and tweet of mine for each month:

  • “Bought a box of ice cream only to discover we have no freezer! Moved it to our balcony instead” — Jan 2
  • “lost faith in belgium rail. It took 3 hours to get to work today, 2h40m to get home last night. Working on getting internet at home.” — Feb 6
  • wearing my release engineering hat again today. trying to fix broken js tests on a release branch, would rather be writing python code.” — Mar 13
  • “Eager to pick up my motorbike in 3 hours. Not eager about driving a stick-shift Opel 40km home while Cedric rides my R1150GS” — Apr 3

  • “I love that I can reliably hear pheasants calling in the distance at least once an hour while I am at work. It’s like rusty metal scraping.” — May 5
  • “The oddest part of Geneva was the hotel toilet. Defecation occurs on a flat porcelein surface, awaiting your review until flushing it away.” — Jun 1
  • “We’ve arrived in Prague! It’s amazing how foreign the Czech republic feels from western europe. The ride down the Elbe was amazing!” — Jul 25
  • “Finally visited Oostende yesterday — cool town! Napped on beach, cycled 30km, now completely burnt. Today is BBQ+unittests.” — Aug 23

  • “I am sleepily writing my self-assessment for the last 6 months at work. I find I do not do so well at historical introspection.” — Sep 14
  • “After a minor fender bender, a bicycle theft, and a smashed 18-200mm lens, I decree this months theme to: Be careful, Be vigilant.” — Oct 9
  • “I’m feeling very inspired after the #hsbxl tech tuesday session. Lots of future invasion-of-privacy hacks to think about.” — Nov 17
  • “namebench 1.0 is released! It includes an extra 2,000 audited nameservers, and sacrifices some speed for accuracy. http://bit.ly/1DaC2k” — Dec 5

In writing this post, I hacked up a quick twitter archiving tool: tweet-archive. Feel free to make use of it. Happy 2010!

CommentsTags: other

Benchmarking DNS servers

October 13th, 2009 · Comments

I’ll admit, I haven’t been very active blogging lately. It’s not because too little is going on, it’s because too much is going on. One of the projects I’ve been most excited about recently is my 20% project at work: namebench: a DNS benchmarking tool.

What is DNS, and why would I benchmark it?

You can think of DNS as your computers phone book. When you type in a website name such as http://www.google.com/ – your DNS service looks this name up to match it to a computer address. Instead of having a street address like “14 Avenue R West”, computers have sets of numbers called IP addresses. This particular website lives at 8.12.42.228 – near San Jose in California.

Your internet service provider provides you with a free DNS service that your computer uses. However, sometimes an internet service provider supplies a very slow or unreliable DNS server, which makes your entire internet experience feel slow. There are alternative DNS server services which often do a better job. While they may be farther away from your computer, these services may do a better job memorizing commonly used requests, such as www.youtube.com. This means that the DNS server can deliver you an answer straight away without sending requests all over the internet to search for the right answer.

namebench

In late May, I was experiencing routing issues to a particular DNS server I was using, but had no way to appropriately benchmark it. So, I wrote a tool called namebench. namebench is open-source, which means anyone can use it or contribute code to the project. So far, this tool is for command-line users only, but I am working on interfaces for Mac OS X, Windows, and UNIX users.

Thus, if you are not comfortable with a command-line, wait until the next release.

The most accurate way to use namebench is to import your browser history. As of the namebench 0.8.8 beta release, we support importing Google Chrome, Apple Safari, Microsoft Internet Explorer, Mozilla Firefox, Opera, Epiphany, Chromium, and Squid histories:

./namebench.py -i chrome

namebench will then do it’s best to discover and report the best nameservers personalized to your web browsing habits. Expect it to take 3-5 minutes to run by default. If you do not have a web browser history available, you can also run benchmarks based on the Alexa Top 10,000 websites listing:

./namebench.py

The Results

The most important result is the final recommendation. From my home in Belgium, it recommends the following settings:

Recommended configuration (fastest + nearest):
----------------------------------------------
nameserver 193.74.208.65   # Scarlet-0
nameserver 208.67.220.220  # OpenDNS
nameserver 208.67.222.222  # OpenDNS-2

With these settings, I can go into my computers internet configuration, and experience a faster internet compared to what my ISP has provided. Of course, text is boring, so namebench also provides a few graphs so that you can visualize what kind of effect changing DNS servers will have on your browsing experience. The most important graph is the average response time for each DNS server:

This graph is presented as both an ASCII graph and a Google Chart URL. If you want to get more detailed, there are other graphs, such as the distribution graph. This is the 200ms version that shows what percentage of requests were answered in what time scale:

As you can see, the Scarlet DNS servers have the lowest latency — they are able to return an answer back faster than anyone else. However, OpenDNS has a much higher cache hit rate, which means it is able to deliver me more memorized addresses than anyone else in this test.

The future of namebench

My next goal is to make namebench more user-friendly. I’ve been hacking away with PyObjC and Tkinter trying to make usable (though minimalist) graphical interfaces to namebench. My goal is to make this tool easy enough for even an grandmother to use. I have a new 20% project for Q4, so I am trying to wrap this project up as much as possible during this coming week. I hope you enjoy it!

CommentsTags: other

Amazing Austria

August 18th, 2009 · Comments

One strange observation that Dallas and I had during this trip was how many touring bicycles we saw. This scene was repeated all over Austria, Germany, and the Czech republic, even in the most remote fields. We resolved that when we got back into Belgium, that we would do more cycling.

Here was one scene in a tiny village while we were trying to find the romantic road along the Danube outside of Krems, Austria:

The book we had mentioned that the southern side of the Danube was the quieter less-trafficked one. Seeing that most of the way was gravel roads with roadblocks, I would have to agree with the book. At least I learned how to handle the R1150GS in gravel two-up! Once we crossed the Danube near Krems, we finally saw what we were looking for, miles and miles of hilly vineyards:

Overnight we stayed in Linz, an large industrial city in the North. We came here to visit the nearby Mauthausen-Gusen concentration camp. The camp looked and felt much different than I expected. I was glad that we watched the 45-minute video there (in English!) to explain what the role of the camp was, and the history behind it.

I’ll be honest. The camp was quite depressing to visit, but I am glad that Dallas encouraged me to go there:

Feeling a bit down after spending two hours in a concentration camp, we slabbed it south toward the Alps. We stopped for lunch in the foothills, off of Traunsee Lake. Here is one view from the far side of the lake:

From there, we continued to head toward our hotel, making use of the infamous Grossglockner High Alpine Road. For a toll of 18 euros, you too can ride on the highest mountain in Austria. The road itself ascends to a lofty 2504m (8215ft) in a series of hairpin turns and bends. These two photos were taken about halfway up:

Dallas did not like anything about this part of the trip. The combination of the height, curves, and fading sunlight made things rather stressful. She was quite nervous about me even stopping to take a photo. So, I waited till we began to descend before snapping some more. This one shows a good overview of the curviness:

And my somewhat frazzled favorite passenger:

By the end of Grossglockner, the sun had almost entirely set, and we were still 45 minutes away from our rather nice hotel. We arrived there late enough for the much-anticipated pool and sauna to be closed, but at least they were still serving food and best of all: had a DIY laundy service. Frankly, our clothing were beginning to stink, so we needed it. After battling it out with their laundromat, we were able to get some much-needed rest, and were able to get this early morning view of the local chuch from our hotel window:

It was now Sunday, and our mission was to get up to Munich, where the next hotel reservation awaited us. We decided to skip Grossglockner, and take the long way around, going south toward Lienz, Austria, and then west. The scenery was absolutely amazing, even at the rest stops. Dallas in particular had a huge smile on her face the entire time:

After a day of riding beautiful alpine roads, we headed toward the foothills to take the Deutsche Alpenstrasse toward Munich:

The scenery along the Alpenstrasse would have been amazing before the Austrian alps, but it felt pretty weak at this point. The only excitement we had here was being passed by an older guy on a Honda Goldwing with a very young girl in nothing but a sundress and a helmet on the back.

As we got back onto the highway toward Munich, it began to rain. Not a big deal as we had rain gear, but the traffic on the autobahn was completely backed up. After waiting patiently for a few minutes, it was soon clear that it lane-splitting time. The German drivers were for the most part happy to give us extra room to pass between them, since they weren’t going anywhere anyways. By the time we got to Munich, we were totally beat.

Austria: We’re coming back to you someday.

CommentsTags: other

Four Magyar Days

August 17th, 2009 · Comments

Hungary is interesting in that the language spoken (Hungarian, or Magyar as the locals call it) is unlike any other language in Europe. It’s most closely related to languages spoken thousands of years ago in Siberia, which makes it slightly similar to Finnish. The fact that the language is so different makes it challenging to guess at anything. Even if you know French, German, Polish, and Italian — Hungarian may as well be a klingon language.

Once we passed through the massive yet unmanned border with Slovakia, we stopped for gas and the requisite ‘vignette’ (proof of highway tax payment). I paid the 1,170HUF ($6US) for a 4-day pass, but after later inspecting my receipt, they had a typo in my license plate number. I hoped this would not cause any issues.

In Budapest, I was a bit over-eager to listen to my GPS, and off-roaded through a section of the city nearby the hotel that was closed off for construction. The workers there were clearly not amused. Outside of the hotel, I was treated to the sight of a Trabant in perfect condition!

Trabant’s were made in East Germany, and were the most popular car in this part of Europe a few decades ago. The engine is particularly infamous, being a smoky two-stroke, similar to a chainsaw or an old dirt bike (listen to it here). I saw Trabants everywhere I went in Hungary, and everyone seemed to hold them in a great nostalgic regard.

Our hotel was outside of the Ferenc Korut metro station, which isn’t the glitziest part of town. After wandering for 15 minutes, we did find one of the famous tourist-infested pedestrian zones where all of the good food was hidden:

The best culinary surprise here had to be the Hortobágy Pancakes, filled with meat and spices, surrounded by a surprisingly yummy sauce. As far as food went for this trip, it was the highlight:

The next morning, I walked toward eastern Budapest to visit my office. My back had been hurting for a few days, so I thought the hour-long walk would be recuperative. I found it quite amazing to see the difference between the living part of Budapest and the tourist part of Budapest. In the China-town area near the tracks, I saw people just sitting around and relaxing. Keep in mind this photo was at about 11am on a Monday morning:

I worked in Budapest for two days, and didn’t do much in the evenings other than explore the local cuisine and drink selection with the help of my local coworkers. By Wednesday, it was time to hit the road again. As the usual for this city, traffic was a nightmare, and the drivers were ruthless. We were ATGATT, but we were roasting in our clothes. We looked so uncomfortable that not even the beggar’s wanted to talk to us.

One of my coworkers recommended that we head north from Budapest, toward Esztergom. The scenery was pretty, with enough curves to keep things fun. The poor condition of the roads kept me from pushing the bike at all, because I was quite paranoid of the pavement suddenly running out on me:

Here you can see the Danube river, with Slovenia on the other side of it:

I’m glad we headed up to this part of the country, because I was beginning to fear that Hungary was all just boring and flat. There was plenty of semi-rugged terrain to go around here, and even a few castles laying around:

Riding back town toward the South, we ran into a horse-drawn carriage carrying hay down the road. These weren’t Magyar Luddites, just people without a tractor or pickup truck:

After playing around for most of the day on small rural roads, we hopped onto the interstate to head into Austria. My coworkers warned me not to be surprised if I was pulled over near the border because of my license plate registration. One deep breath later, I was in Austria.

CommentsTags: other