CPOSC 2008 Slides

You can now see the slides for most of the CPOSC 2008 talks, including mine, “Getting Involved in an Open Source Project.”  I use slides mostly as notecards, preferring to elaborate on the points verbally, so if you need clarification on anything, please let me know.

By the way, I successfully used the word “pervert” to comic effect in the live presentation.  Hyperbole is a great way to get your point across 🙂

Quick Update

I’ve been busy.  In one week, life managed to pack car trouble, a consulting deadline, final preparation for a talk I gave at CPOSC 2008, and visit from an old friend.  Except for the car trouble, all were welcome, but you can see why the RSS feed has been empty.

At the conference, I learned that my blog has managed to hook at least one other person on the treadmill desk concept, since he built his own treadmill desk after reading about mine.  While I didn’t invent the concept, I do feel pleased that my little project has had some ripple effect throughout the internets.

Strange Phone Damage

A few days ago, Sun called me.  I didn’t have the Jawbone paired, so I just answered on the RAZR V3 itself.  The first thing she did was sneeze, right into the receiver of her work phone, after which her voice took on a buzzing quality.  From the sound, it was clear that the phone’s ear speaker had done something strange.  Fearing the worst, I tried rebooting it to make sure it wasn’t some temporary condition, but there was no fix to be had.  Just to be very clear:

My wife’s sneeze broke my phone’s speaker.

The phone is about 3 years old, so I’m happy to write it off as the inevitable failure of temporary technology, but “you would think” that a phone shouldn’t be allowed to send a sound loud enough to blow out its own speaker.

Oh well.  I can still use it with the headset, and I was waiting for an excuse to get a new phone anyway.

Treadmill Desk Update

After 7 days of treadmill desk usage, I’ve lost a pound.  I haven’t altered my diet or anything – just constantly walking at 1.0 MPH while I use my laptop.  I’ve averaged about 3 miles a day, mostly a mix of 2-mile and 4-mile days.  I’m aiming to get to 6 miles a day, but my feet may disapprove.  It may be time to get some actual walking shoes designed by engineers.

Wiki-style Office Organization

Assume we could easily model a 3d space, like an office, and account for every object in it.  Then assume that a GUI exists with which people could move things around – tables, chairs, computers, monitors, books, etc. and update the layout.  Anyone with chronic disorganization problems in their office could let the so-called wisdom of the crowd help organize the office.  Then it’d be up to the user of the space to make the changes in the real world.

We already do this now for documentation (such as wikipedia) so why not physical spaces?

MythBuntu vs KnoppMyth, a cursory examination

A recent discussion with a MythBuntu user who had complaints about KnoppMyth inspired me to check out MythBuntu and see how cool it is.  As I remembered from my last time with it, the installer is pretty.

However, it asks you some things that KnoppMyth is able to figure out on its own.  Instead of auto-detecting an attached remote control receiver, MythBuntu gives you a giant list of options you have to scroll through.  Instead of figuring out which of three proprietary nVidia drivers is best for your video card and installing it automatically, as KnoppMyth does, MythBuntu depends on the user to have this knowledge and tell the installer what to do.

On the plus side, MythBuntu managed to guess the max resolution of my display correctly, which is something that KnoppMyth does not yet do.  On the neutral side, it guessed that I wanted to use my DHCP server and didn’t ask if I wanted to do manual configuration.  As long as there’s a way for users to switch after the fact, which there is, I suppose that’s a fine default.

When I clicked the button to run mythtv-setup, I see that MythBuntu didn’t detect any of my capture devices, locally or on the LAN.  I had to pretend I was using an older version of KnoppMyth and go set this up manually, but it didn’t recognize any of the three DVB cards I have in the test system, so I couldn’t even add them manually.  In the plus column for MythBuntu, the reason that mythtv-setup was not automatically run was because it was giving me an opportunity to launch a web browser and create an account with SchedulesDirect.  KnoppMyth’s installer doesn’t offer to help you do this.

It asked me if I wanted to run mythfilldatabase after I exited mythtv-setup, which is a strange question.  If I hadn’t configured any guide sources, it could catch that and warn me, or at least not ask me if I wanted to run something that wouldn’t produce any results.  If I had configured a guide source, it should just run it on its own and not ask me, as KnoppMyth does.  It does no harm in either case just to run it.

It has a very pretty installer, though.  All the extra questions it asked me were very beautifully displayed.

I also noticed that it doesn’t set up a separate partition for content like KnoppMyth does when it creates /myth.  Depending on your upgrade path, that may or may not matter, but it sure is handy for KnoppMyth upgrades, since anything that stays lives in /myth, and the upgrade only reformats /.  It also makes it easier to offload /myth to a NAS box or a shiny new machine.

There are several plugins missing from MythBuntu, and there are no pre-configured user jobs for recorded television.  Off the top of my head, KnoppMyth adds the Netflix plugin, an Apple Trailers plugin, comes with Frozen Bubble in the games section and has pre-defined iPod and xvid transcoders.

In MythBuntu, the baseline mythtv-setup program, part of MythTV’s core, was renamed to mythtv-setup.real, and mythtv-setup is a wrapper.  While I appreciate the wrapper and what it does, they’d have been better off giving the wrapper a different name, like mythtv-setup.wrapper and leaving mythtv-setup alone.  They seem to have done that for the frontend too.  For package maintenance alone, renaming a core file seems odd.

Although it is possible to get network-driven updates in MythBuntu, and not so much in KnoppMyth (at least not as a full upgrade path), MythBuntu uses Ubuntu’s built-in software for that.  Unless I missed it, it’s not integrated into the user’s MythTV experience and seems to require them to exit MythTV and drop to the desktop to accomplish an upgrade.  Mind you, KnoppMyth doesn’t do network upgrades after the initial installation (when there is a patcher that runs automatically) so it’s a bit like comparing apples to no apples.

MythBuntu didn’t turn on GL menu effects for me, even though it should know that I’m using the nVidia video driver, and my card can handle that option.

I think MythBuntu could improve greatly if more emphasis were given to hardware support, automation, and extras.  KnoppMyth could still be improved in terms of auto-detecting display data and using it to configure display resolution, and by adding full network update features.  I happen to know that both are being investigated for the next iteration of KnoppMyth.

Treadmill Desk

I am accustomed to creating and sometimes evaluating ideas that seem insane, and when I heard about treadmill desks, I was half-certain that the very concept was only created to sell treadmills in a waning economy.  Surely it would go down in history alongside the 19th century exercise equipment like the beard roller and the fat-shaker.

When you get over the initial shock of the blending the gym with the office, it seems like one of those “Why didn’t I think of that?” ideas.  It takes exercise from a serial activity for which few people have time and turns it into a parallel activity that you accomplish in the background while doing work.  By parallelizing it, you create swaths of exercise time that you would not otherwise have.

But can it really be that simple?  How would you type?  What would your brain do to you for walking while not moving?  Will people hear noise (treadmill motor, footsteps, huffing, puffing) when you’re on the phone?  And wouldn’t a treadmill take up a lot of space and cost a lot of money?

For the answers to those questions, all I had to go by were some pretty positive anecdotes, but nothing beats personal experience.  With a budget of $500, I set about to make a treadmill desk.  I telecommute, so my office configuration and contents are up to me.  That may not apply to you, but maybe you have a manager who will let you give it a try.

You will find that researching which treadmill to buy is not an easy task, and I have no one-size-fits-all advice.  Most reviews of treadmills that I came across were for newer models and assessed reliability/warranty, weight limit, maximum speed, and running comfort.  In my case, I only need it to go about 1.0 MPH, support up to 200 pounds (I’m at 162) so I was happy to consider models that do not hold up to the rigors of running or high weight.  While going cheap would be a mistake, a mid-priced unit could have a motor that lasts for years at 1.0 MPH, if it’s meant to last at all at its maximum speed of, say, 10.0 MPH.  The more expensive models are aimed at supporting the pounding that running gives to the deck and the stress it gives to the motor, and you don’t need them for your treadmill desk.

I gave preference to units with horizontal handlebars, since you do need to add a desktop to it, and I wanted to start out level.  I also decided that there was no need to get a new one, just one that was new enough that I could find replacement parts if it failed, and new enough to have some non-structural pieces made of plastic and not depleted uranium.  Thanks to Fleet, I learned that Craigslist isn’t just for San Francisco, and I was able to pick up a 2-year-old Horizon CST 3.5 treadmill with 2 years left on its extended warranty for $325.

Day 1 was spent moving it into the office, which was its own workout, after which I cobbled together a quick desk surface that I laid across the treadmill’s horizontal handlebars.  I was able to play a little WarCraft III online, too.  Day 2 was my first work day with it.  I managed to get 4 miles in, after which I realized that I should have tried 1 and ramped up.  I had some trouble walking over the weekend 🙂  Day 3 was another work day, and I decided to do 2 miles.  Day 4 was the first day with walking shoes instead of unshod feet, and I think I got 4 miles done.

Side-effects.  Your brain filters out patterns of motion very well as a way to present you with a relatively stable world under most conditions.  However, this doesn’t instantly switch on or off, as you know if you spin around in a circle very fast and try to stop.  Here are some brain problems that went away after Day 2:

  • Dizziness.  You’re walking, which your brain associates with forward motion, so it loads up the whole “moving forward” perception filter.  The only problem is that you aren’t moving.  When you walk in place long enough and then stop, you see the world moving.  When you actually walk, you feel as if you’re moving faster than you really are.
  • When I first started using it, the text on my laptop’s screen seemed to not be in a straight line.  That’s gone now, and it looks straight again.
  • Typos.  Ok, I still make these sometimes, but their frequency is decreasing rapidly.  Even while resting my hands on the laptop, my fingers pivot around as I walk, so it’s an adjustment.
  • Hunger.  WTF, I’m doing this to lose my “programmer gut” and I get hungry enough to throw Vanilla Coke at all the calories I just burned. This was mostly an issue on Day 2, when I ate my normal small lunch and walked 4 miles.  After adjusting to have a larger lunch, I’m not getting hungry in the afternoon anymore.

That’s it for now.  As I finish it up and turn it into a real desk, I’ll post more.  Feel free to ask questions!

(As requested, a picture of Treadmill Desk 0.8 alpha follows.)

Treadmill Desk Alpha

Bad QA Can Kill People

Let’s say you’re in the business of buying food raw materials.  How do you know you’re buying a protein powder and not, say, talcum powder?  Tasting it may not be your first idea, just in case a shipment got mixed up, and it doesn’t scale well, so you’d probably want some way to test the powder to make sure it’s what you ordered.  You could probably perform a really specific test that would be costly and/or time consuming but would definitively tell you that you had protein powder with a given protein content and zero contaminants.

But why would you do that?  People are basically honest, right?  All you need to do is look for something associated with protein to check up on your supplier now and then and compare what they’re sending you to what their rivals could provide at the same or better cost. Well, there’s plenty of nitrogen in protein, so a test for nitrogen would be a pretty good test for protein…  Or fertilizer.  Or melamine.

You’ve heard of melamine in the news, and QA is the reason why.  Two tests are generally used to measure protein content in milk, one called the Kjeldahl test, the other called the Dumas test, both of which provide similar results.  It is tempting to call it the Dumbass test instead, though that would be unfair to the test itself, which does a good job of detecting nitrogen levels.  No, the dumbasses are the people who use these test results to determine protein levels, when what they actually do is determine nitrogen content.  That’s how it ended up in baby formula and other food products, because the test results showed a high nitrogen content, which the testers falsely concluded to mean a high protein content – and not a high protein + industrial chemical content.

Put in other terms, this is like taking the knowledge that English documents are about 6.5% N’s and trying to determine if an author sent you a 40,000-word novel by counting the N’s and deriving how many total letters there must be, and by extension how many words.  Much like with the protein test, it works fine as long as the test subject is honest.  When the author who knows your QA process sends you a document containing nothing but N’s, you are in for a surprise of the worst kind.

What is most frustrating is that there do appear to be accurate alternatives to the foolable tests, though they are surely not cheaper.  As with so many things in life, cheaper wins until cheaper fails so badly that cheaper ends up in the headlines and in shiny new laws.

I try to figure things out. Sometimes this leads to a thought. Sometimes I write it down.

Bad Behavior has blocked 290 access attempts in the last 7 days.