December 2013 Posts

Image Overhaul

The big slideshow used priorWhen I set this site up, I decided to collapse all images used into a slideshow. Each post has a couple relevant images attached, which show up in a teaser slideshow on the mainpage and as a large image within the article. 

But the slideshow had two problems. First, when writing a step-by-step piece (like this), images couldn't be placed in a relevant section of the text. For a while, I resorted to referring to images by number, but I wanted pictures next to the relevant text. 

Superfish Theming

.sf-menu li:hover > ul,
.sf-menu li.sfHover > ul {
  left: 0;
  top: 1.77em;
That little snippet of code's been giving me grief for a month. Well, this one, really:
/*Adjust top to line up submenu with shorter main menu*/
.sf-menu li:hover ul,
.sf-menu li.sfHover ul {
  top: 2em;
When I set this site up, I wanted dropdowns. Y'know, menus that expand when you hover them. They were initially provided by Nice Menus. For some reason, some time later (and no, I don't know why), Nice Menus stopped being nice. The dropdown's wouldn't drop. 


Now that you know what the IGVC is about, I'll go into some detail about our high-level approach. The challenge provides some obvious requirements:

  • A reference frame relative to earth to navigate to waypoints; GPS provides position and compass provides heading
  • Line detection to stay within lanes; a color camera suffices
  • Obstacle detection; a 2D rangefinder is the is logical choice
  • Precise measurement of velocity; provided by encoders, accelerometers, and gyros

I'll go through each requirement in a bit of depth, describe typical solutions, and design constraints. 

An absolute reference tells the robot exactly where in the world it is. GPS and compass provide that data. Unfortunately, GPS is only accurate to about 6', so it isn't useful for local navigation. A 2' difference in position is the difference in hitting an obstacle and avoiding it. The GPS is useful for providing long-range direction: the goal is 60' southwest.

Most teams improve their GPS accuracy with exotic antennas and exact correction services (the speed of light varies through the atmosphere, distorting timestamps and GPS location. A corrective signal provides the difference in true and measured time-of-flight, improving accuracy.) Although these units offer remarkable resolution (within 6"), they are prohibitively expensive ($20,000). 

Lafayette's team, named Team Terminus, will use an inexpensive GPS receiver, accurate to roughly 6'. It costs less than $100. (Cost, by the way, will be a persistent theme. Most IGVC robots run $20,000 to $80,000; Lafayette budgeted Terminus $6000.)

Pannier, Redux

A few months ago, I made a set of panniers for my bike out of some cheap canvas at Hobby Lobby. They were my first major sewing project, so I put a few things together in the wrong order. I left the clips off until the end, the straps were spaced wider than I'd have liked, and a few other things weren't quite right. 

Even so, they came out very well. My old panniers barely fit a 10# flour bag, and failed under the load. These are large enough to hold twice that, and would barely notice the weight. They can roll up and clip out of the way, and they look slick (They're unadorned black; my absolute favorite color scheme.) 

I decided to make another pair for my girlfriend, and took my additional experience into consideration. The second pair was easier to make and came out incredibly.


Yesterday, I went for a walk. Getting outside is always relaxing, and the town was beautiful in the dark, decked out for Christmas.

I also saw a broken electric radiator curbside. At least I hoped it was broken. On the way back home, I found the house again, hefted the thing onto my shoulder, and carried it a mile home. (I set it down too hard when I arrived and broke two of the casters. Now it was definitely broken.)

Hopeful, I plugged it into the wall, turned it on, and... nothing! Hooray! I had an excuse to take it apart. (The heater, by the way, is supposed to retail for $80. It's also got bad reviews, but hey. Free.)


The player, pretheming. The pause and unmute buttons are hidden; others are entries in a plain list.
Unformatted, white, ugly list. Sorry,
  • .
  • For a final project in German, my girlfriend decided to compile translations and other work into a website. She thought about using other formats, like a paper, but decided that web would make a compelling presentation. It'll also be useful long-term to track projects and act as a supplementary resume. Lafayette offers a similar service, LaFolio, but it's heavily Lafayette branded, is provided by servers outside of her control, and will become dated shortly after graduation. (18 months away!?)

    So, she decided to make a website. First step was checking for a domain. A quick search didn't turn up anything great, so she decided to piggyback on for now. If, in the future, she does want her own domain, aliasing the current site to a new url will be simple enough. For now, she's

    With hosting out of the way, I set up Drupal for her. The default themes didn't quite jive, so we made a Zen subtheme. As they say, imitation is the sincerest form of flattery: her site is almost identical to this theme. Different colors, but same two-column layout with the same left-column heading.