Mario Marathon 3 was made of win

Last night, as Mario Marathon 3 was drawing to a close, Brian announced that it is likely that the Mario Marathon series will remain a trilogy.  After over 250 hours of gaming across the three marathons, raising approximately $113,000 for Child’s Play Charity, the stress has become too much.  There can be no doubt that what Mario Marathon has accomplished is incredible, but with the increased strains on family life, it’s hard to keep something like this going.

For myself, I am terribly sad to think that this might be the end.  It’s been a great deal of fun interacting with the fans and being a part of the great Mario Marathon mission.  I’ve made many friends and had great opportunities (who else gets to talk to both Wil Wheaton and Felicia Day in the same weekend?), but I know how much work goes in behind the scenes.  I’ve seen Brian spend his time working on code, publicity, prizes, decorations, etc.  I’ve watched him spend his own money buying equipment to improve the quality of the stream for the viewers.  Most importantly, I’ve seen the pain that he and Shanna feel when they send their two-year-old son to grandma’s for days.  I could never ask anyone to make the kind of commitments that Brian and Shanna have made these past three years.

Still, it has been for a worthy cause, and I know everyone involved is proud of what has been done.  All of the Mario Marathon team are very giving, not only of their money, but of themselves.  I have no reason to believe that Mario Marathon is completely dead.  I believe it will be re-born in a different form, likely smaller and less intense, but some part of it will live on.  Certainly the awareness, and the community it fostered, will be the lasting legacy.

I had intended this post to be a recap of all the fun times I had during the past week.  I got to work with some great people, and I have now done two celebrity interviews.  I’ve experienced the joys of watching donations come in faster than we could keep up, and the frustration of power outages.  This has been a great experience for me, and one that I won’t forget.

To all of you who donated and/or interacted with us, thank you.  Despite the sacrifices of the team (and their families!), the real success of the Mario Marathon has come from the fans.  It is the 2000+ donors from around the world who have made the true difference in the lives of so many children.

I’d also like to give a shout-out to the chat moderators, who did a tremendous job of keeping the IRC room family-friendly (even when 4Chan showed up).  These guys deprived themselves of sleep and leisure, too, all in the name of helping.  They asked no reward (although we’re cooking up something for them anyway), and put in many hours of labor.  @Collin1000 put forth a lot of effort, too, keeping track of donations on a Google spreadsheet and crunching numbers for us.

It’s crazy to think that sitting in my friend’s living room and reading messages from strangers on the Internet has earned me any fans, or has contributed to the well-being of children across the world, but it’s apparently true.  There is nothing that I’ve done in my life that I’m more proud of than the past two Mario Marathons, and to be a part of it has truly been an honor.

Dear Internet: thank you!  I love you all.

Mario Marathon 3 is here!

The past year has flown by, and the time for that beloved summer tradition is here:  Mario Marathon 3 begins at 11:00AM EDT (1500 UTC) today.  In case you don’t know what Mario Marathon is, or if you have forgotten, allow me to explain.  Three guys sit around playing video games for days on end.  Thousands of people around the world watch, laugh at the players’ failures, and donate money to Child’s Play Charity.  100% of the donations go directly to Child’s Play, which uses it to purchase video game systems, toys, and books for seriously ill children.  The players take no cut, and actually lose several hundred dollars in food, donations, and lost productivity, but since it’s for the children, it works out.

Last year’s event was a resounding success, raising nearly $30,000 over the course of about four days.  This puts Mario Marathon in Child’s Play’s “Platinum Sponsors” list, alongside organizations like Mircrosoft,, and MTV.  You might have heard of them.  This year, over $5000 has been raised before the event even starts, and a much larger audience and donation tally are expected.  As a result, the organizers have put a lot more effort into publicity, in-event contests and prizes, and organizing the support staff who help set Mario Marathon apart by interacting with the fans.

There are some great surprises in store that I’m not allowed to mention, but you’ll love it.  Please take some time and watch.  If you can, please donate, it would be greatly appreciated.  If you can’t make a donation, that’s okay too.  You can do your part by helping to spread the word to your friends.  Thanks to all of the fans for your continued support!

Lightning photos added

On Monday evening, Angie and I went chasing unexpectedly.  While the storm produced some wind damage, I’ve been unable to find confirmation of a tornado (there was at least one real-time report, though).  We saw very little of interest, until the incredible light show afterward.  So I present to you a few boring cloud pictures, plus also the lightning:

This is also kind of exciting because for the first time I’ve forgone the use of tables to layout the photos.  The result is that the page renders based on what your screen wants it to, not on what I demand it does.  This is supposedly a much less evil way to do things.  In the future, I’ll be converting some of the older pages to work this way as well.

Further, I’ve updated some of the pages to reflect new license information.  Instead of my custom written “you must have my permission” text, I’m now licensing content under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License.  It’s simpler, more enforceable, and more in line with my own personal values.  There’s a blog post forthcoming where I muse upon licensing issues.  In the meantime, know that the content on is under whatever license it says it is. I’ll work on updating the license text on pages soon.  And maybe I should consider a more dynamic site (e.g. using PHP) so that I don’t have to keep making these changes on each. freaking. individual. page.

There’s no such thing as too much blogging

At least, I hope there isn’t.  If there’s an upper limit to the amount that a person can safely blog, I might run up against it soon.  It’s been an exciting week in FunnelFiascoLand.  In addition to all of the storms we’ve been having, and a sizable to-do list both professional and personal, I received some news.  The first news is that I’ve been selected for the LISA ’10 blog team.  In November, I’ll be off to cloudy San Jose, California where I’ll be writing multiple posts per day for the duration of the conference.  Additionally, I’ve been told I might have a few writing assignments in advance of LISA in order to help promote the event.

A bit earlier in the week, I was asked by the Managing Editor of the local newspaper if I would be willing to write a weather blog on their website.  Since I am incapable of turning down requests for more work, I readily agreed.  This is a voluntary/slave labor/public service matter, but I’m trying to finagle a fedora with a “press” tag out of the deal, or maybe I can score press credentials to outdoor events. The thought process behind my willingness to do this, and some discussion of licensing issues involved, is a blog post that will probably appears in the next week or two.  In the meantime, my “Weather Watch” blog starts on today.  I plan to update it twice per week, on Mondays and Thursdays.

It seems my writing is starting to get noticed, and that pleases me greatly.  I’ve still got a long way to go until I catch up to my great uncle Ralph, the New York Times best-seller and a Pulitzer nominee, but it’s exciting to know that there are people out there who care about what I have to say.  (Of course, I know my loyal ones of readers here have always cared about my thoughts. You guys are awesome).  What this means for me is a fair deal of extra work, but it’s exciting and I’m really looking forward to it.

Increased complacency about severe weather benefits no one

The number of meteorologists in the United States is very small.  According to the Bureau of Labor Statistics, less than 10,000 people are employed as atmospheric scientists in non-faculty positions (anecdotal evidence suggests that the number of people holding meteorology degrees is significantly higher. To wit: of the 12 people in my graduating class, four are meteorologists).  With such a tiny fraction of the population trained in atmospheric science generally, and severe storm meteorology specifically, it should come as no surprise that the public knows relatively little about severe weather.  With the small number of meteorologists, a heavy reliance is placed upon the media and local officials to convey information.

However, while the media and local officials may get more exposure to weather information, they do not necessarily understand it any better than the rest of the general public.  This leads to newspapers reporting that a “local tornado warning was issued” (only the National Weather Service issues tornado warnings officially, and causing confusion about this does not help the public interest) after a “funnel cloud on the ground” was sighted (a “funnel cloud on the ground” is more properly known as a “tornado”, but in this case it was more likely a mere “scary-looking cloud”). It leads to emergency managers sounding warning sirens when the greatest threat is heavy rain and sub-severe winds.  And it leads to confusion and eventual complacency for the public.

Meteorologists have enough trouble fighting complacency as it is.  The most recent data from the National Weather Service indicates that 76% of tornado warnings are false alarms.  This is not because of incompetent meteorologists.  It is a limitation of available observation systems (radar), of the understanding of tornadogenesis, and of the (quite reasonable) belief that it’s better to overwarn than to miss a tornado.  Additionally, since tornadoes are often relatively small and short-lived events, it may be that some of these false alarms are not so, but there are no reports thus the warning remains unverified.  The upshot of all of this is that it’s very easy for the public to not take warnings seriously.

I can, perhaps, understand the reason the Tippecanoe County Emergency Management Agency (TEMA) decided to sound the sirens last Saturday.  A street festival was about to begin in downtown Lafayette, and many people were moseying down Main Street.  The wind and rain had already begun clearing the streets before the sirens sounded, and no one seemed to be in any additional hurry when they heard the beautiful wail.  It can argued that the sirens were sounded appropriately in that case, but the public mindset is that the sirens are “tornado sirens”, so sounding them for non-tornadic events (especially events that posed such a dubious threat) does a disservice to the public because it increases complacency.  In this specific case, the sirens added nothing helpful, and thus should have remained silent.

Were this an isolated incident, I would not have felt compelled to write this post, but TEMA during the Mark Kirby era has been quick to sound the sirens.  In my circle of meteorological friends, there are two common consequences to rainfall: 1) the Indianapolis radar goes out of service, and 2) the tornado sirens are sounded in Tippecanoe County.  If I’ve associated the sirens with rainfall, surely there are others in the county who have done so as well.  So who benefits from sounding the sirens so much? No one.

Ugly shell commands

Log files can be incredibly helpful, but they can also be really ugly.  Pulling information out programmatically can be a real hassle.  When a program exists to extract useful information (see: logwatch), it’s cause for celebration.  The following is what can happen when a program doesn’t exist (and yes, this code actually worked).

The scenario here is that a user complained that Condor jobs were failing at a higher-than-normal rate.  Our suspicion, based on a quick look at his log files, is that a few nodes are eating most of his jobs.  But how to tell?  I’ll want to create a spreadsheet that has the job ID, the date, the time, and the last execute host for all of the failed jobs.  I could either task a student to manually pull this information out of the log files, or I can pull it out with some shell magic.

The first step was to get the job ID, the date, and the time from the user’s log files:

grep -B 1 Abnormal ~user/condor/t?/log100 | grep "Job terminated" | awk '{print $2 "," $3 "," $4 }' | sed "s/[\(|\)]//g" | sort -n > failedjobs.csv

What this does is to search the multiple log files for the word “Abnormal”, with one line printed before each match because that’s where the information we want is.  To pull that line out, we search for “Job terminated” and then pull out the second, third, and fourth fields, stripping the parentheses off of the job ID, sorting, and then writing to the file failedjobs.csv.

The next step is to get the last execute node of the failed jobs from the system logs:

for x in `cat failedjobs.csv | awk -F, '{print $1}'`; do
host=`grep "$x.*Job executing" /var/condor/log/EventLog* | tail -n 1 | sed -r "s/.*<(.*):.*/\1/g"`
echo "`host $host | awk '{print $5}'`" >> failedjobs-2.csv;

Wow.  This loop pulls the first field out of the CSV we made in the first step.  The IP address for each failed job is pulled from the Event Logs by searching for the “Job executing” string.  Since a job may execute on several different hosts in its lifetime, we want to only look at the last one (hence the tail command), and we pull out the contents of the angle brackets left of the colon.  This is the IP address of the execute host.

With that information, we use the host command to look up the hostname that corresponds to that IP address and write it to a file.  Now all that remains is to combine the two files and try to find something useful in the data.  And maybe to write a script to do this, so that it will be a little easier the next time around.

Pictures! A plane being eaten alive

Time for another post where I don’t say much, I just share pictures.  This post has the distinction of being more interesting and less random than the normal picture post, thanks to the recent destruction of a 737 that had been used as a training lab by the Department of Aviation Technology at Purdue University. If you’ve never seen a plane get eaten alive, I highly recommend you do so at your next opportunity.