Winter storm forecast for Tippecanoe Co ARES

Prepared Monday, 31 January 2011 at 8:00 PM for Tippecanoe County Amateur Radio Emergency Services

Current conditions

An area of snow and sleet stretches from St. Louis to Champaign to Fort Wayne. Reports of 1″ of snow in Lafayette and 0.1″ of ice in Brownsburg have been received already this afternoon. Larger precipitation amounts are likely to have been received in places where convective development has occurred. Precipitation is likely to be ongoing for the next few hours as the system moves generally east-northeast.

Tippecanoe County is under a Winter Storm Warning from 7 PM this evening until 7 PM Wednesday. The surrounding counties of Warren, Fountain, Montgomery, Clinton, Carrol and White are included. Benton County is under a Blizzard warning from 4 PM EST Tuesday until 4 PM EST Wednesday.

Forecast: 0-12 hours

Models are in agreement that the precipitation will continue into the overnight hours. Although snow is expected to be the dominant type, periods of sleet and freezing rain will be included, especially before midnight. Heavy snow can be expected during portions of the evening hours as the stronger precipitation in Illinois moves east-northeast. Precipitation should slacken by 8 am, with 2-3″ of snow and potentially some ice on the ground. The exact amounts will depend on the mix of precip types.

Forecast: 12-24 hours

Tuesday morning will be relatively quiet. By mid-afternoon, winds will pick up to 15 knots, and snow will begin falling more heavily. Precipitation should remain light-to-moderate snow through the end of the period. Depending on the timing, an additional 4-6″ of snow may accumulate during this period.

Forecast: 24-36 hours

Tuesday night the snow returns in earnest, accompanied by winds of 20-25 knots. Heavy snow is likely through much of the period. The bulk of the weather impacts will occur from sunset on Tuesday into early Wednesday morning. Snowfall rates in excess of 2″ per hour are possible, leaving street crews unable to maintain passage on roads. By sunrise Wednesday, an additional 8-10″ of snow may have fallen, meaning total snowfall of 14-19″ is possible.

Forecast: 36 hours and beyond

Light snow will continue through the day on Wednesday, with perhaps another 1″ of accumulation. Winds will remain greater than 15 knots, creating the possibility of blowing snow. Temperatures will begin to drop Wednesday night and into Thursday as the winds shift to the north. Below-zero lows should be expected on Thursday and Friday mornings.

General impacts

The Lafayette area will be fortunate enough to miss the crippling ice storm that will impact the Interstate 70 corridor, including Indianapolis. Road crews should be able to keep streets passable through Tuesday afternoon. Travel will become difficult, if not impossible from Tuesday evening until at least Wednesday afternoon. Rural areas may remain blocked by snow until Thursday. Widespread power outages should be expected to our south and southeast, potentially lasting several days.

How not to get hired

With over 3000 machines in five different buildings on campus, we rely heavily on student labor to keep everything up and running. Unfortunately, undergrads tend to do things like graduate, which means we’re hiring almost every semester. Recently, we decided to hire six new students, since much of our staff graduates soon.

We received about 12 resumes, and since none of them looked particularly terrible, we brought them all in for half-hour interviews. I present here some lessons on how not to get hired.

  • Show up 20 minutes late — Trust me, we don’t have work we need to be doing. I mean, it’s not like you knew you had a final right before the interview. Being late is so much better than asking in advance for a different interview time.
  • Don’t show up at all — This is even better. If you’ve got a five our drive that includes passing through Chicago, there’s no chance that anything will happen to delay you. An e-mail later that night totally makes things okay. Once again, don’t even think about asking for an interview time that you can actually make it to.
  • Have no knowledge of computer hardware — It’s not like the job description says anything about working with hardware. Don’t be able to reconnect desktop components. Don’t be able to work your way through a troubleshooting exercise. That stuff is pointless.
  • Bullshit me — Watching your brother put together a computer is the same as knowing hardware. Having used a Linux computer in your programming class is the same as knowing Linux. I won’t be able to tell.

In all seriousness, it does strike me how seemingly rare hardware experience is among college students these days. Have computers become so cheap and plentiful that hardware skills aren’t necessary to become a computer nerd? Fortunately, we’ve always been able to find enough quality students. Some of them even go on to get job offers for way more than I make.

How I scheduled a meeting

Part of my responsibilities at work include wrangling our platoon of students. With most of them graduating at the end of this semester, I’ve preemptively hired many more to begin absorbing the knowledge necessary to keep a high performance computing shop running. The problem with students, though, is that they have classes to attend, which can make scheduling a bit of a bear. It gets worse as the number of students go up. Right now, I’ve got 14 separate schedules to balance .

I initially had them all register their availability using the free site whenisgood.net, but there were no times that worked for the whole group. Trying to figure out manually a pair of times that would get everyone to at least one meeting was challenging, but then I realized I could script it pretty easily. The hard part was turning each block on the calendar into either a 1 (available) or 0 (not available). Then it was simply a matter of trying every combination and rejecting the ones that don’t get everyone to at least one meeting.

The code below was saved as student_meeting.pl and invoked with a set of nested for loops like so:

for x in `seq 0 79`; do for y in `seq 0 79`; do perl student_meeting.pl $x $y 2>/dev/null; done; done

You may notice that each pair of available meetings would be printed twice. For example, 27 and 71 work, so 71 and 27 work as well and both get printed. The 0-79 represent the 80 half-hour time blocks from 9 AM to 5 PM Monday through Friday. The availability should be encoded similarly for each person inside the script. I include just mine in the example code so that you can see what it looks like. As it currently stands, the code is horrendous and not very robust. If there’s interest, I can clean it up some and put it on github. I’m not really sure if anyone else would care about it, but it might be a useful little project to someone else.

#!/usr/bin/perl

%availabilities = (
 'bcotton' => [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
 1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,
 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
 1,1,1,1,1,1,0,0,0,1,0,0,0,0,1,0,
 1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1],
 # More people would also be here
);

@accounts = keys(%availabilities);

$meeting1 = $ARGV[0];
$meeting2 = $ARGV[1];
$meeting1attendees = '';
$meeting2attendees = '';

foreach $person ( @accounts) {
 $goodtimes = 0;
 if ( $availabilities{$person}[$meeting1] == 1 ) {
 $goodtimes++;
 $meeting1attendees .= " $person";
 }
 if ( $availabilities{$person}[$meeting2] == 1 ) {
 $goodtimes++;
 $meeting2attendees .= " $person";
 }
 unless ( $goodtimes > 0 ) { die; }
 $goodmeetings{$person} = $goodtimes;
}

print "###\nMeeting times $meeting1 $meeting2\n";
print "Meeting 1 $meeting1attendees\nMeeting 2 $meeting2attendees\n";

Comic relief

Recently, the Lafayette Journal and Courier’s Reader Panel discussed the Sunday comics.  The comics section is a part of our cultural heritage, and any changes are the quickest way for an editor to get complaints.  It’s no surprise that the Managing Editor never gave us an explicit reason for the discussion, but I’m sure it has something to do with figuring out which comics can be cut to add new ones.  Comics are expensive, and if the readers aren’t reading them, then it’s time for fresh blood.  I read all of the comics, but that’s not the case for everyone on the panel.  In fact, the least funny comics tend to be the most read in the group.  Probably because the group tends to be old enough to enjoy “The Family Circus”.

I did find some things interesting.  For example, “Mallard Fillmore” had more regular readers than “Doonesbury”.  They’re both very political, but I understand that the political leanings of the duck fit better with the older, Midwestern demographic.  What I don’t understand is how it’s entertaining.  “Doonesbury” has a story arc and character development.  “Mallard Fillmore” strips are standalone and have all the subtlety of a brick to the face.

“Peanuts” is still widely read, even though it’s been nearly 11 years since Charles Schulz died.  I rarely find it funny, but it still manages to amuse me in a way few comics can.  It’s timeless.  The same can’t be said for other old timers like “Blondie”, “Beetle Bailey”, and “Garfield”.  Holy crap, is anything less funny than “Garfield”?  The only way to make “Garfield” funny is to take Garfield out.  See http://garfieldminusgarfield.net.

So what could the Journal and Courier get rid of?  I wouldn’t shed a tear if “Garfield”, “The Lockhorns”, “Crankshaft”. “Mallard Fillmore”, or “The Family Circus”went away.  But like I told the editor, “if you cut ‘Pearls Before Swine’, I’ll cut you!”

N900: a year later

It’s been a little over a year since I first got my Nokia N900.  When I first wrote about this phone, I was pretty excited.  After a year — and several firmware updates — am I still excited?  The answer is mixed.  I still find my phone incredibly useful, but there are a lot of things I find disappointing.  Amazon.com recently listed the N900 as the most gifted phone of 2010, but it appears that it will remain a niche device. Continue reading