Hurricane Earl forecast contest

The hurricane season is in full swing, with three active storms.  Danielle is scooting off to oblivion in the North Atlantic, but Earl is gearing up to take a run at the east coast…somewhere.  As of this writing, the forecast track is such that landfall could be anywhere from the Outer Banks to Nova Scotia, or perhaps it may yet turn out to sea.  Of course that means there’s a Funnel Fiasco tropical contest underway. You can enter by clicking the link on the tropical weather page (or go directly to it here).  The deadline for entry is Tuesday at 8 PM EDT (Wednesday 0000 UTC).  Just a reminder to make sure you enter valid numbers, I won’t check them for you.

Stay tuned for more on Hurricane Earl, and also for a potential repeat when Tropical Storm Fiona get closer.

It’s beginning to look a lot like LISA

We’re just over two months from the Large Installation System Administration (LISA) conference, and the website has recently been updated with details. I’ve never been to this conference before, but as a member of the official blog team, I’ll get to spend the week doing nothing but participating in, and writing about, LISA ’10. Can I write two blog posts and countless tweets every day? It will be a challenge, and I’m sure I’ll be tired of writing by the end, but there should be plenty to write about.

With three days of workshops, 48 training courses, and three days of technical sessions,  there’s plenty to choose from.  I’m especially interested in the talk “Measuring the Value of System Administration” scheduled for Thursday morning.  Of course, each evening there will be Birds of a Feather (BoF) sessions, which I’m told are the most valuable part of the whole LISA experience.  BoFs are an informal meeting of the minds, where admins who do similar work compare notes and pick up new ideas to bring home.  And drink beer.  I’m okay with that.  The BoF schedule is still pretty thin, but no doubt it will fill out as November approaches.

If you’re interested in attending LISA, you can register online at  Registration is available in half-day increments, so you can pay for exactly the amount of conference you want, and if you register by October 18, you get the “early bird discount.”  I hope to see you all in San Jose!

Purdue football predictions — 2010 edition

Finally, the college football season is almost upon us.  Let’s take a moment and extend our sympathies to my wife, who will effectively be a widow for the next three months of Saturdays.  I’ve got my tickets in hand, my jersey cleaned and ready, and my optimism at full throttle.  Last year was pretty disappointing for Purdue fans, although there were encouraging signs.  A questionable timeout at the end of the Notre Dame game might have been the difference between a bowl game and staying home.  A respectable Oregon team barely managed a win at home, and eventual Big Ten champion The Ohio State got a big shock in West Lafayette.

The Boilers haven’t received much love from the national media (gee, doesn’t that sound familiar?), but that’s okay.  If everyone stays healthy, and no one else ends up academically ineligible,  Purdue could wind up being in the hunt for the Big Ten title at the end of the season.  Of course, many of the games it takes to get there will be close, so the end result could vary quite a bit.  Of course, I’ll be taking a look at each game week-by-week for Beonard’s Losers, but in the meantime, here’s my poorly-researched, quickly-written view of Purdue’s season.

At Notre Dame: The Irish are on their fourth coach (fifth if you count George O’Leary) this decade, and Brian Kelly has his work cut out for him.  Notre Dame has a new quarterback who is recovering from a knee injury, and a new coach to learn.  Notre Dame has some votes in the pre-season polls, but that’s more name recognition than anything else.  South Bend is not normally a friendly location for the Boilers, but they should be able to get a win.

Western Illinois: Directional Illinois isn’t necessarily a guaranteed win, as Northern showed last year.  Fortunately, Western is a less worthy opponent.  There’s no excuse for losing this game.

Ball State: BSU isn’t quite the pushover they were back in 2004 when Kyle Orton and company hung approximately one trillion points on them.  In fact, there was a time not that long ago when I considered the Cardinals the best team in the state.  That time has passed, and I wouldn’t expect to see Ball State do much better than they did last season.  This should be another confidence-builder.

Toledo: The Rockets have been a favorite early-season opponent the past few years, and generally help the Boilers get off to a confident, if overrated, start.  Toledo will be a good final test before conference play starts, but shouldn’t be too challenging.  There’s a reason I consider Purdue to be the MAC champions, and after this game they should be 4-0.

At Northwestern: It doesn’t seem to matter how good Purdue is, Evanston is always a tough place to play.  Since this game is in the first half of the season, the weather shouldn’t be too horrible, but it’s going to take more than a nice fall day to turn this into a win.  If senior quarterback Dan Persa can keep the offense going, Purdue will have a hard time winning this one.

Minnesota: Tim Brewster is the first of several coaches that Purdue may see the last of in 2010.  In three years under Brewster, the Gophers have never gone .500 or better in the Big Ten and their best finish is a tie for 6th.  Adam Weber needs a strong season, but without Eric Decker, I don’t think we’ll see anything better than “fair” from him.  If the Purdue secondary can play at all, the Boilers should win this game.

At Ohio State: Some of the key pieces are back from last year’s matchup, notably Purdue defensive end Ryan Kerrigan, who gave Terrelle Prior nightmares.  It’s tempting to pick Purdue to get the upset again, but it’s worth noting that this game is being played in Columbus, not West Lafayette.  Not to mention the fact that the Buckeyes are pissed about last year’s game and will be out for revenge. This won’t be a guaranteed loss for the Boilers, but it’s likely.

At Illinois: Boy, this team is hard to gauge.  Ron Zook has a talent for recruiting good teams that under-perform.  He’s the second coach that may be packing his bags at the end of the season; it’s just hard to imagine that Illinois would be content with another disappointing year.  The Illini schedule is very front-loaded, so it remains to be seen how the team will handle facing Penn State and Ohio State on consecutive weekends.  Frankly, I think it’s more likely that Purdue will lose this game than that Illinois will win it.

Wisconsin: Last year’s 37-0 shellacking in Madison can’t sit well with the Boilers.  Purdue will be worked up for this game, but I’m not sure it’ll be enough.  The Badgers should be good this year and all of the emotion in the world won’t fix that.  This year’s matchup will be closer, but Purdue loses this one, too.

Michigan: Purdue has only beaten Michigan 14 times in the history of the sport, and never three times in a row.  Yet that’s what’s at stake this November.  If the NCAA hasn’t done him in already, a loss in this game pretty much guarantees that the Wolverines bring the RichRod era to an end.  Michigan seems to be improving, but they won’t have enough to win this one, unless the two-game losing streak saps Purdue’s will to live.

At Michigan State: Purdue had the lead through three quarters last year, and, if they’d held on, would have become bowl-eligible.  It seems like (and I’m too lazy to check) Purdue and Michigan State have been very well-matched the past few years, and this year should be no different.  I’m not sure the Boilers will be seasoned enough to take away a win from East Lansing, but it should be a fun game to watch.

Indiana: Indiana has lost the last 2 matchups, and hasn’t won in Ross-Ade Stadium since 1996.  They’ve got a good quarterback, and a few other pieces, but I don’t see much of a team.  Bill Lynch is a pretty lousy football coach, and he may be done after failing again to reclaim the Old Oaken Bucket.

So that’s my look at this season.  We’ll see how horribly wrong I end up being.  If the above predictions hold true, Purdue finishes 7-5 overall, 3-5 in the Big Ten, 6-1 at home, and 7-1 in the state of Indiana.  This would be a big improvement from the past few seasons, and might help bump up the flagging ticket sales.  Boiler up!

Is Twitter just a crippled version of IRC?

Back in May, Karsten Wade posted “microblog format/interaction is a crippled, radically transparent form of #IRC. Otherwise, seems to serve same purposes.”  I don’t know if that’s his own conclusion or if he was quoting someone else, but I disagree either way.  The other evening, I had a related discussion with a friend.  Her take was that Twitter is a less-featureful version of Facebook status updates.  I don’t believe that either, but it seems to highlight a problem with Twitter: it’s utility isn’t readily apparent.

Twitter easily supports one-to-one and one-to-many interaction.  Many-to-many is possible, but requires some searching and/or client configuration.  That makes it a rather poor replacement for IRC.  IRC is also more real-time than Twitter is necessarily.  Although Twitter is often used for real-time events, it doesn’t have to be.  The big difference between IRC and Twitter is that IRC is self-contained.  This is a point I made several times during the Mario Marathon, when people in chat felt they were being ignored.  IRC can be very active, but no one outside the channel will notice.  With Twitter, the message gets spread each time someone posts.  If a topic begins to trend, that can pull in even more participants.

There’s a better case for saying Twitter is just like pulling the status updates out of Facebook.  Several people I know post Facebook status updates with their Twitter accounts, so it seems reasonable.  I’d agree that they are mostly the same, but there are a few differences.  The primary difference is that Facebook more easily allows threaded discussion, whereas a tweet stands alone.  Neither way is necessarily better; in certain circumstances one is preferable over another.  There’s also the lack of passive support.  In Facebook, you can “like” a status with impunity.  On Twitter, to express support, you must re-tweet and therefore own the statement.

To me, there’s a clear use for Twitter.  That’s not the case for many people, and until they can figure out a use, they simply won’t use it.

There’s a world of data out there

While working on yesterday’s Weather Watch post, I decided that it was important to know what the normal river levels were this time of year.  After all, knowing the river stage is pretty useless without context.  Flood stage is pretty easy to find for most sites, but that doesn’t necessarily provide context for low-water situations.  For example, the Ohio River at Louisville, KY (McAlpine Lock and Dam, lower) has a flood stage of 55 feet, so being 15 feet below flood stage is normal.  In contrast, 15 feet below flood stage for the Wabash River at Lafayette, IN is four feet below ground.  The concept of pool stage exists, but it’s not widely used.  So how can river depth be put in the proper context for low-water situations?

Like most other data meteorological, a comparison to the average value over some period of time is apt.  The question then becomes “where do I find the average river height for a particular site?”  Of course, the average height can vary greatly over the course of a year based on local and upstream precipitation patterns, so month-by-month data is preferable.  Unlike temperature and precipitation, though, the National Weather Service does not issue daily climate summaries for rivers (at least not that I’ve seen).

Fortunately for the numerically-minded, the United States Geological Survey (USGS) has a wealth of data available for free on the Internet.  It’s a little tricky to navigate, but with patience, the National Water Information System (NWIS) will surrender the desired information.   With data for approximately 1.5 sites available in a variety of readable and parseable formats, there’s enough to keep even the most efficient data nerd busy for a long time.  For easier-to-navigate real-time hydrologic data and forecasts, see

My phone, my calendar

I’d like to preface this post by saying I have no qualms with Microsoft Exchange per se. It’s actually a pretty amazing tool, especially when it’s integrated with Sharepoint. The problem is that it doesn’t work so well with third-party clients (or indeed, Microsoft’s own Entourage client). I have an Exchange account at work, and I’d love to be able to use it.

Here’s the problem: I can’t. There are plenty of clients that will handle the e-mail with an IMAP connection, but nothing that could properly be called an Exchange client. (Evolution used to work, until Exchange 2007 came out. Since then, I’ve had no luck with either the old-style (via OWA) or the MAPI plugin.) Fortunately, Google also has a pretty slick service, so I finally just set my e-mail to forward to my GMail account.

GMail worked great. Almost any device can connect to both e-mail and calendar because it uses standard standards. Most of my incoming mail goes straight there, and the rest gets POPed off once an hour (I’m not sure if it’s an Exchange “feature” or just the way our servers are configured, but mail sent from the Exchange server goes to my Exchange account, even when sent to, not

Only one problem remained: sometime people would want to schedule meetings with me, and they’d look at my Exchange calendar thinking it was accurate. I wasn’t about try to maintain my calendar twice, but my Google calendar was far more accessible. Enter my phone.

The N900 has support for Exchange accounts via its Mail for Exchange (MfE) settings. I simply set MfE to sync my Exchange calendar to my phone’s calendar (I don’t have it sync e-mail because GMail already handles that). That’s step 1. When last I checked, Google did not have a native calendar app for Maemo, but there is this nifty little program called Erminig. I also set Erminig to sync with my phone’s calendar. That’s step 2.

With these two steps completed, my calendars stay in sync. Now I can continue using my Google calendar, but my Exchange calendar remains accurate. The sync is bi-directional, too — if I schedule a meeting in Exchange, it’ll show up on my Google calendar, which means I’ll see the notification. I’ve been pleasantly surprised with how well this has worked.

How helpful is helpful enough?

I have a confession: I am a compulsive favor-doer. When someone asks for my help, I have a hard time saying “no”. Since there’s only so much Ben to go around, this gives me a tendency to over-commit.  I recognize this as a problem, but I can’t help myself.  It’s in my nature to be helpful.

So how helpful should I be?  My wife works at the county library, and last week a gentleman was checking out a book about Linux.  In the course of small talk it came up that he’s trying to dual-boot Ubuntu and Windows 7.  Angie mentioned that I run Linux at home and he wrote down his phone number and e-mail address for her to give to me.  I’m not mad at her for it, she hasn’t committed me to anything, but it got me wondering.

My initial reaction was to e-mail the guy and introduce myself.  After all, I’m a nice guy and that’s what I do.  Then I realized that this would probably make me his go-to support.  I don’t mind helping people, but an open-ended commitment isn’t exactly what I’m in the market for.  I already do a fair bit of free work for strangers.  I answer questions in the #fedora IRC room, on and on Serverfault.  Additionally, I write this blog, and I write documentation for the Fedora Project.  Maybe I don’t do as much as others, but I’m definitely contributing back to the community.

So maybe, I thought, I should set a rate and charge him for help.  That seems like too much effort, though. I’m not really interested in doing enough consulting/contract work to make it worth the trouble of filing the appropriate paperwork.  Besides, I have such a hard time asking for a reward for being nice.

Where does that leave me then?  I have no idea.  In the meantime, I’ve gone with the head-in-sand approach.  I’ll just pretend like this never happened.  Perhaps someday I’ll be able to solve this quandary.

Sometimes, Windows wins

It should be clear by now that I am an advocate of free software.  I’m not reflexively against closed software though, sometimes it’s the right tool for the job.  Use of Windows is not a reason for mockery.  In fact, I’ve found one situation where I like the way Windows works better.

As part of our efforts to use Condor for power saving, I thought it would be a great idea if we could calculate the power savings based on the actual power usage of the machines.  The plan was to have Cycle Server aggregate the time in hibernate state for each model and then multiply that by the power draw for the model.  Since Condor doesn’t note the hardware model, I needed to write a STARTD_CRON module to determine this.  The only limitations I had were that I couldn’t depend on root/administrator privileges or on particular software packages being installed. (The execute nodes are in departments across campus and mostly not under my control.)

Despite the lack of useful tools like grep, sed, and awk (there are equivalents for some of the taken-for-granted GNU tools, but they frankly aren’t very good), the plugin for Windows was very easy.  The systeminfo command gives all kinds of useful, parseable information about the system’s hardware and OS.  The only difficult part was chopping the blank spaces off the end of the output. I wanted to do this in Perl, but that’s not guaranteed to be installed on Windows machines, and I had some difficulty getting a standalone-compiled version working consistently.

On Linux, parsing the output is easy.  The hard part was getting the information at all.  dmidecode seems to be ubiquitous, but it requires root privileges to get any information.  I tried lshw, lshal, and the entire /proc tree.  /proc didn’t have the information I need, and the two commands were not necessarily a part of the “base” install.  The solution seemed to be to require the addition of a package (or bundling a binary for lshw in our Condor distribution).

Eventually, we decided that it was more effort than it was worth to come up with a reliable module.  While both platforms had problems, Linux was definitely the more difficult.  It’s a somewhat rare condition, but there are times when Windows wins.

In search of the local flavors

I will readily admit to enjoying national brands.  I eat fast food, I drink Coke, etc.  That’s not to say that I eschew any regional or local vendors, just that I’m unrefined enough to enjoy the mass-produced things in life.  There’s a lot to be said for the local flavors, though.  Two of my favorite restaurants in Lafayette are completely local.  When I travel, I like to eat at local restaurants — both for the food and to see what the locals are like.  Even more interesting than local restaurants, though, are local (or just rare) soft drinks.

Whenever I’m in the Jasper, IN area there’s one task I must accomplish: buy all the Ski I can.  This delicious beverage is not to be found around here, so I have to stock up.  I think the same might happen for Ale-8-One, a Kentucky favorite that I’d bet mixes quite well with Bourbon.  Big Red is a drink I grew up on that is becoming more widely distributed.  Every once in a while, I’ll stop at a gas station that sells Nehi and I have to buy a bottle.

Imagine my distress when I stopped for gas in Clinton, Tennessee last weekend.  I needed something to drink, so I looked in the coolers — there were no local drinks at all.  I thought about it for a while and realized that the absence of local beverages is the norm, and it’s uncommon to find those interesting local flavors.  So where have they gone?  I’d guess that many have been purchased by larger companies and have become national brands, but is there really no demand for local soft drinks?  There’s only one thing I can do: I must whine about it on the Internet.  In the meantime, I’ll just keep looking in all the gas stations.