skippy dot net

Wasted Effort

I went to bed last night early, mostly due to boredom. I woke up earlier than usual this morning feeling refreshed. The weather didn't get any better over night, so I was looking forward to getting out of the house a little early in order to get the car warmed up and still make it to work early.

After 30 minutes of trying to get the van out of the parking spot in our back lot, a neighbor came out to help. He wasn't able to do much, but I was grateful for his companionship. He talked (a lot) and I listened while I tried to clear away as much of the ice and frozen snow from around the van's tires as possible. After I finally got the van backed out and into the alley I thanked the neighbor and encouraged him to go back inside to warm up.

My problems were far from over, though, and I spent another 40 minutes trying to make any additional progress. Another neighbor, also in the alley, was trying to get his van dislodged from the snow and ice, so we teamed up to work together. We were able to clear enough of a path, and he was able to push my van just enough, that I could crawl forward. His van was blocking my exit, though, so I had to stop. I pushed his van, and he finally got some traction and made his way to the end of the alley. Running back to my van I was nearly paralyzed with fear that it would be stuck again; but thankfully I was able to rock forward and reach the main street.

I ran back to the house, dropped off the snow shovel I had been using, and went inside to fetch my backpack. Carina, sitting on the couch, looked up in surprise to see me. "Thanks for the help!" I quipped, figuring there was no way she could have not noticed all the goings-on outside for the past hour. But of course she hadn't noticed anything, and likely couldn't have done much to help even if she had.

After getting back into the van and well on my way to work, Carina called to let me know that The Ohio State University was closed for the day. We closed early yesterday. The last time the University closed was in 1994, when I was a student.

Since I had spent all that time freeing the van, I now feel obligated to put in a full day's work!

Prognostication

After fixing our plumbing problem, I took my dad to O'Reilly's for a burger and beers as a thank-you. 99.7 The Blitz was there, having a warm-up celebration for the Great Guinness Toast. The DJ offered free Guinness tee-shirts in exchange for participation in a game, so of course dad and I volunteered.

The game was to see who could crumble up half a sheet of newsprint the fastest using only one hand. You were not permitted to press the paper against anything: you could only use your hand. To my surprise, I won! In addition to the tee-shirt, I also got two tickets to a freestyle motocross event this weekend. At first, I figured I'd give the tickets to someone at work (if anyone was so inclined) because I have zero interest in motocross; but after some reflection I decided that Tyler might really get a kick out of it. So Tyler and I will be watching our first motocross this weekend. A full report shall follow.

A little later, the DJ offered another game: she read toasts to various U.S. cities, and participants needed to shout out the name of the city based on the clues in the toast. The first city was Chicago, which I gleefully yelled. Now I had two tee-shirts! St. Louis, Los Angeles, and Miami followed. Then the DJ and her assistant huddled together as they decided which city to offer next. I looked over at dad and said jokingly "It's going to be Denver."

The DJ started reading the clue: "This city is 5000 feet-" at which point dad shouted out "DENVER!" Now we both had two tee-shirts! I was flabbergasted that my wild guess was correct.

Dad gave both of his shirts to me; but on our way out one of the other patrons at the bar asked dad if she could have one of the shirts for her companion. It was her friend's birthday, and she had really wanted to get one of the tee-shirts. Dad, ever the nice guy, happily obliged her, and handed over the shirt. At this point, the birthday girl came back from smoking a cigarette outside. The birthday girl's leathery skin matched her raspy voice as she wheezed a sincere "Thank you!' to my dad, and gave him a big hug.

Dad and I giggled all the way home.

Moral Support

Earlier this week, one of the kids dropped a bowl full of rice into the kitchen sink. Rather than clean out the rice, they did what kids do and tried to cover up the accident by washing all the rice down the drain. The next day we noticed that water in the kitchen sink was very slow to drain out. The following day the dishwasher stopped draining water.

I set to trying to correct the problem. I hate plumbing, but I hate spending money to fix things I can fix myself even more. I figure that at 32 years old, I ought to be able to handle basic home repair and maintenance. I tried to snake the drain through the sink, but found it extremely challenging to get the snake past the S trap underneath. While disassembling the S trap, in order to insert the snake directly into one of its components, one of the (super thin) pipes broke along the threaded lip. Off to the hardware store went I.

My dad has often observed that every home repair project is an opportunity to purchase a new tool. I'm beginning to understand why.

On my fourth trip to the hardware store, I felt almost obligated to purchase something expensive simply to justify my previous three trips. The sum total of my purchases was less then $30. And of course, the problem still wasn't fixed. Fumbling my way around plumber's putty, Teflon tape, and pipe fittings at the hardware store induced in me a minor sense of panic and hyper self-consciousness at my own ignorance that must be close to what others feel when they go into a computer store.

Last night dad came over to help me work on the problem some more. I did the majority of the work, squeezing into the crawlspace under our kitchen to try to snake the drain some more. We finally did dislodge the ball of water-logged, now-frozen rice that was blocking the drain. We re-assembled the segments of drain pipe that we had taken apart, and ran water for some time while carefully inspecting for any leaks.

I found it very ironic that Joey Hess pondered software debugging while fixing his plumbing problem. While squatting in my crawlspace, I compared my plumbing work to how I'd go about fixing a computer. Try something; see what happens; repeat. So it was with the snake: see how far I can get it; see if any water discharges from the other end of the pipe; repeat. Just like I'd try to figure out which component or software was causing computer problems, so too did I try to figure out just where in the pipe the blockage might be.

Plumbing itself is surprisingly simple. The work I did last night wasn't in any way complicated. It was just time consuming, dirty, and involved contortionist maneuvers from me. There is a clear, logical way in which each piece of the drain works in conjunction with the other pieces. Upon reflection, I didn't even really require my dad's help for anything I did. More than anything, it was the moral support he gave me that really made the difference. Instead of being alone and angry, I had someone to talk to; someone to encourage me. It also helped a lot for me to stay in the crawlspace the whole time, instead of having to hop back forth between it and the basement.

In conclusion, I'd like to share a bit of wisdom given to me by my former boss when I first set out looking for a house to buy: Water is the enemy of the home owner.

Google Poisoning

I have long railed against the notion of "Search Engine Optimization". I consider it to be nothing more than scam artistry. To try to make one's living by luring legitimate search traffic to your shady business operation is a very slimy thing to do.

Today, I had a problem getting a workstation to obtain a DHCP address via DHCP relay to a different subnet while using a Symantec Ghost boot disk. I turned to Google, with the specific terms "ghost pxe boot dhcp relay".

I found nothing immediately useful, but kept paging through the results, hoping for some buried gem. On page 9 of my search results, I saw these (which have been obfuscated and unlinked to prevent additional Google Juice going their way):

Welcome to MORTGAGEBUYER.MOC
dedicated server free Pxe Boot server

Welcome to CHARLIECREATIONS.MOC
rackmount server what is a volume server free Pxe Boot server

Welcome to DRIVINGINSTRUCTION.MOC
in windows license servers on the network free Pxe Boot server free news

Welcome to MUSIC-DB.MOC
print server parallel netvigator smtp server free Pxe Boot server file server

Welcome to TRAFFICHITTER.MOC
... email address terminal server licensing port ghost 8.2 pxe server can see ... coast virtual private server providers free Pxe Boot server proxy server ...

Who really thinks that someone looking for Ghost PXE boot information is going to click on a link to a mortgage site? Or a driving instruction site? I know I've occasionally been misled by search results to click a spammer's clever link; but the links above are in no way confusing: they're blatantly false.

I hate Search Engine Optimization, and I have zero respect for those who pursue it. They make the internet harder to use for everyone in the short-sighted pursuit of their own venal goals.

MVix GPL

I really like my MVix MX-760HD. It's been a great little media device for me, even if it does take me a really long time to rip our Monty Python collection to MP4 format! Next up, our Mystery Science Theater 3000 DVDs.

One of the reasons I was initially attracted to the MX-760HD was its use of GNU/Linux inside. It uses the uClinux kernel, which is designed specifically for embedded systems. I want to support companies that make use of GNU/Linux. I'm also interested in seeing what third-party developers can do with the hardware through use of the GNU/Linux operating system.

I'm not much of a hardware hacker, and I'm certainly not an embedded developer, but I admit to being intrigued by the notion of third-party firmware for the MX-760HD. The LinkSys WRT54G is a terrific example of the value of an open, hackable system: the third party firmware offerings turn this $70 device into something vastly more functional than what's provided by the default firmware. Most consumers won't need anything other than the default, but for those customers who are interested in more, it's available to them. This, to me, is the real value of Linux in appliance hardware: your customers can use your product for what they want.

I sent an enquiry to MVix USA's contact page asking for the source code the uClinux kernel they use. I'm interested in learning more about the hardware inside -- specifically the CPU and the network adapters. There's little I can do with this stuff myself, but a fellow COLUG member is an embedded developer, and I'd like to pick his brain about some of this.

I received a rather unhelpful reply from MVix USA's marketing department:

As per our contract with the development and manufacturing partners we do not have an authorization to release the firmware sourcecode under GPL. As you know, we are primarily the marketers and distributors of Mvix brand products and hence have to abide by the policies and contractual obligations of our manufacturing partners and developers.

Unfortunate, but I can't be too upset with the marketing staff not being familiar with the intricacies of the GNU GPL. I replied, expressing my disappointment, but heard nothing back.

A few days ago a gentleman named Rich K. from MVix USA sent me an email, hoping to capitalize on my zeal for the MX-760HD, asking how they might help me continue to advocate and evangalize their product. Normally, I'd be quite happy to do this. I took the opportunity to ask Rich for the GPL sources used in the MX-760HD:

I was _very_ excited to read about your use of Linux inside the MX-760HD, though I've been disappointed with my lack of success obtaining the source code to your kernel, as required by the GNU GPL license under which Linux is
distributed. I am sure _a lot_ of people would love to be able to hack on an MX-760HD in the same ways that they hack on Linksys WRT-54G routers. Small, functional Linux systems are very interesting to all sorts of users, and the more you enable us to use them in unique ways, the more units you're likely to sell.

Rich's reply was less than helpful:

We are the marketing, distribution and customer-support arm of our brand. As per our contract with our partners, we do not have adequate access to the source code, neither does our contractual obligations allow us for release of any codes. While we respect your suggestion, we regret that we cannot help. Our sincere apologies.

I replied, asking Rich for contact information for the development branch of MVix, or indeed of anyone who would be in a position to facilitate my request. I made it clear that I wasn't interested in any proprietary software or codecs -- I was only seeking that code that is governed by the terms of the GPL:

Can you please provide me with an email address or telephone number for your development folks? I'm not interested in any proprietary bits inside the MX-760HD: I'm solely interested in getting the kernel config files you've used, so that I can evaluate it.

I have not yet received a reply; and since it's been about 10 days since I sent it, I'm no longer expecting a reply.

I was willing to chalk up the initial refusal to provide source code as mostly ignorance of the issue. But Rich's reply suggests to me a slightly more intentional failure to comply with the license terms. Now, the MX-760HD is not manufacturer by MVix USA. Rather, it is manufactured by Unicorn Information Systems Co. Ltd. (Korea). I have just sent an email to Unicorn, asking them for the GPL licensed source to the Linux kernel used in the device. However, I am still of the opinion that MVix USA has an obligation to make the source code available to its customers. This is remarkably similar to the recent situation with MEPIS Linux's GPL non-compliance.

I'll be sure to post more details as they develop. If you're an MX-760HD owner, do please send a polite request to both MVix USA and Unicorn asking for the Linux source code. Feel free to share your results in the comments below.