Category Archives: Work Misc

New phone, and vacation!

So I finally got my Galaxy S3 the other day.  I’d been holding out because as soon as I ordered it I’d lose my unlimited data plan; Verizon is evil, and my previous contract expired five days after the cutoff date they set for people to renew and keep unlimited data.  (mutter, grumble)

I like the phone so far; my only gripes are that its rounded corners make it easy to slip out of my hand, and that you can’t mount it as a USB drive for file transfer.  I’ll solve the first problem with a rubberized skin, but the second apparently has no solution unless I put an entire custom ROM on the phone, which I’m not ready to do just yet.  It does mount as either a camera or a media player, so you can transfer files, it’s just really, really slow.  And it has this nice “feature” where you can still access the storage from the phone even while it’s connected to the computer… just don’t do it with a file manager app or you risk borking your filesystem.  I lost a ton of stuff that way, and had to re-transfer it.  Moral of the story: don’t do anything with your phone while it’s connected to your PC.

Oh, and I’ve got the next two weeks off for vacation.  The first week is actually furlough, so I’m contractually obligated to not even think about work.  I figure it’ll take me that long just to unwind and decompress.  Then that second week will feel like an actual vacation.

See you on Monday the 29th…

Intermittent problems

Intermittent problems are the worst kind (except for total disaster, obviously.)  I’d almost rather see a system not work at all than fail occasionally and randomly.  If it’s completely down, the cause is generally fairly easy to spot, and when you see it start working again, you can be pretty sure it’s working for everybody.  If it consistently fails for one person but works for everybody else, you can at least check that single account on our end, or walk the person through their settings on theirs (assuming you can get in touch with them, but that’s a completely separate topic) and most of the time you’ll find the cause.  Likewise if it only fails at a certain time of day, or from a certain building, or on a specific kind of device, then you can test it then, or there, or using that.

It’s when you can’t find a pattern that things get really annoying.  In order to troubleshoot something, you need to be able to see the trouble as it happens, but if you don’t have any way to do that, you’re going to have a hard time finding the answer.  You can’t know how many people are seeing the problem, or how often. Even if you can get it to fail where you can see it, when it starts working again does that mean you really fixed it?  Or did it just start working again randomly?  And did it fix the system for everybody else?

Even though most problems we deal with are pretty straightforward, it’s those rare intermittent problems that really stick in your mind (even if it’s only because you’ve banged your head against the wall for too long.)  I have to remind myself that they’re rare, because right now I’m working on three of them at once.

  1. When a former student without an account wants to get their transcript online, they can go to Account Lookup and it will tell the system to create a temporary account.  It shows a message explaining what’s happening, and asks the person to try again in ten minutes.  Usually, that second try at Account Lookup tells them the new account name, lets them set a password, and onward they go.
    Except right now, for a few people, it isn’t working. Account Lookup tells them that an account will be created in ten minutes, and then blithely forgets to tell the system to actually go and do that. When they come back in ten minutes, Account Lookup can’t find an account, so it gives them the “Wait ten minutes” message again, and then forgets to inform the system again, and around and around we go.
  2. A few people have reported that they get a “500 Server Error” when they click the Gmail button in the Portal. Until I can get in touch with one of them, I’m stuck, because it works fine for me no matter how I try. For all I know it’s just one of those once-in-a-blue-moon fluke problems that solve themselves. But I can’t afford to ignore it, because on the other hand the people who reported it might just be the tip of the iceberg. Going without email is not just an annoyance anymore.
  3. And finally, about ten people in the online faculty/staff directory are showing up without any contact information; not even email. They weren’t even showing up at all at the start of the week, but a name without contact information is pretty much useless in a contact directory.

So yeah, interesting times. I need to stop talking about these things and start digging into them again.

February fun

And here I was going to get back to regular postings.  Well, it’s still better than I was doing in the past.  More of us in UCS are blogging now, so I’ll be adding links to their blogs as I get them.

The big news around here is that Brian Berkley left for another job.  He’s been our Windows sysadmin for four years and leaves a big pair of boots to fill.  We’ll have a hard time finding someone to equal his skills and dedication.  I can’t blame him too much for leaving, though; with his new job he has a six minute commute, where it was over a half hour to here.  As someone who commuted for way too many years, I can testify that it’s a huge relief to get that time back.

End of January

Yikes, time flies!

We’ve been dealing with several emergencies that sprung up in fairly short order, and working on adding redundancy to our systems so these things don’t happen again.

It’s a long story, and essentially started when Oracle bought Sun Microsystems, the vendor and tech support for most of our servers.  Suddenly the prices for tech support contracts multiplied (yes, you heard right, more than doubled) to the point where we couldn’t afford decent support plans for several of our important systems.

Since then we’ve found out that servers are kind of like cars in that they apparently have a built-in sensor for “warranty has expired, time to break down now.”

This day and age being what it is, I suppose I should add a disclaimer in case it isn’t TOTALLY FREAKING OBVIOUS that I was joking.  I’d probably lose my job if I seriously accused Oracle or anybody of purposely making systems fail if the support contract level wasn’t high enough.  Besides, they wouldn’t need to– systems fail often enough on their own.

…aaand I should probably quit writing before I say something that might really get me in trouble.

Air Conditioning FAIL

On Saturday all three air conditioning units in the server room shut down, and the place rapidly turned into an oven. Our servers put out a lot of heat, and have to be kept cool to prevent Bad Things from happening… and so when the air handlers stopped, Bad Things started to happen.

Luckily, only a couple of servers had actual hardware damage, and those didn’t have anything critical on them. Several more servers shut down ungracefully or started behaving erratically. Luckily our two biggest servers, cougar and sundown, never actually crashed, but since our main network infrastructure server did, nobody could get to cougar or sundown.

Since I live so close to campus, I got called in, but it was Paul Lambert and Dave Diemer who did most of the heavy lifting. Once the major problems were cleared away, then I could do my thing. Dave was still working on three servers until the next morning, and I was up until really late babysitting the webserver, which seemed to go catatonic every few minutes for no apparent reason. We’ll still be cleaning this up for a while.

Current projects

OK, I’m trying to get back into this blogging thing. This month my main project has been setting up a system to automatically populate Moodle courses with the students who have registered for them. Currently, if the course has an online component in Moodle, each student has to get an enrollment code from their professor and then sign on to Moodle and enter that code to enroll in the Moodle course.

To save this extra step, I’ve developed a system that can look at a CRN entered in Moodle, and go to Banner and get the roster of students registered in that course, then create an enrollment record for them in that Moodle course. This was a little hairy to figure out because the Moodle database doesn’t just say “this student is enrolled in this course”; there’s an abstraction layer I don’t fully understand, but I did figure out how to use it to enroll a student.

I’m just waiting for the CRNs to be entered into Moodle, and then I can run the script. I’ll set ut up to run every morning for the first few weeks of the term, to catch late adds. I don’t yet have a good way to unenroll a student from a course, so the professors are going to have to handle drops on their own.

The ultimate goal is to automatically create a Moodle course component for every course listed in Banner for a given term, but that’s still a ways off. I’ll need to dissect the process by which Moodle course shells are created, and find a way to do that via a script.

The next major project is to clean up our user database before we move to the new LDAP, email and calendar servers sometime in the next few months. We have several thousand accounts ont he system for students who did not graduate but have not registered for any classes for two years; over the long term, we’re going to delete accounts when they reach that point, but the first time we do it, we’ll be getting rid of about five years’ worth at once.

This will mean cleaning out a lot of disk space, too, at least hopefully. Students already lose access to their files after they leave or graduate, but a lot of that stuff is still on the system. Graduates will still keep their email addresses, as long as they log in every couple years or so, but they won’t have an on-campus network login, or any file storage.

I feel like we’ve been running around putting out fires for so long, it’ll be really nice to actually make some progress on something like this.

Oh, and I’m on Facebook now if anybody’s into that. Just look for me by name; there are more Swartzendrubers than you might expect, but only one Ron who is listed as Western Oregon staff.

Felt like I got hit by a train

I’ve been fighting a low-level cold for a couple of weeks, and I thought I had it beaten, but last Thursday it came back and bought its friends. That pretty much shot my weekend, but I’m feeling better now and ready to get caught up on the stuff I got behind on from taking sick time.

Other than that, the main thing I’m working on now is a way to automatically create everybody a Moodle account, so we can link Moodle to the WOUPortal. In case you aren’t familiar with Moodle, it’s our main tool for online classes, or for adding online content to normal classes. Some of our online class stuff is still on the old WebCT server, but most of it has been moved to Moodle. To check out Moodle, go to

The next project is to automatically enroll students in the Moodle courses as soon as they register for the class in Wolf Web. I’ve figured out the basics of how to do this, but the tricky part will be to detect when people drop courses, and un-enroll them in Moodle.

General update

I’ve been busy again (who isn’t, these days?) And likely to be more so until we can hire someone to replace Shaun Gatherum, who will be missed around here.

The web conversion is moving along, mostly in the hands of individual people in various departments. I’m working on a way to make the new template function on our database server; right now, a lot of our database applications like the faculty/staff directory and the account lookup system still use the old template. I can make the new template work for non-secure connections to the database, but not secure ones as yet. This may not be fixable until the database server upgrade, but we’ll see.

My other big project at the moment is trying to automate Windows domain user creation. You may or may not know that your WOU network usernamer and password actually apply to two different accounts; there’s the Windows Domain account, which you use to log into your computer and access network drives, and there’s also your LDAP account, which provides access to your email, and your blog, and secure folders on the website, and the forums, and most anything else on any of our servers.

The LDAP account is created automatically, but until recently we have had to create the matching domain account by hand, which is a pain. However, I recently found a way to automate at least part of the process, and am looking to automate the whole thing soon. This probably won’t make much difference to anyone outside UCS, except that it might free up more of our time to help you.