Life with a tempermental snowblower

Well, we finally got some real snow here on the east coast, so that meant some rare action for the snowblower. This is our fourth winter with the snowblower, and it’s getting more and more tempermental with each passing year. It’s getting harder and harder to start, and it’s developed this habit of quitting on me before I finish clearing the whole driveway. It will always start back up, but then I have to kind of nurse it along the rest of the way. Now, this is one of those problems that tends to get forgotten, because I eventually do get the driveway cleared with it, and then it gets put away, then spring comes, and it sits all summer, and then it has the same problem the next winter. It’s just the way things go with equipment that doesn’t get used much.

Anyhow, I decided things would be different this winter, and I would make at least a halfhearted attempt to identify and fix the problem. So, after the usual routine of: Clear 90% of the driveway, restart snowblower after it quits, nurse snowblower through remaining 10% of driveway, I set to work. The best thing to do with engine problems is to apply the scientific method, ruling out as many things as possible, until you find the problem. So here goes:

Fuel cap venting issue: This was the first thing I suspected. Sometimes I can get it to start, or keep it from stalling, by loosening the fuel cap. If the fuel cap doesn’t vent properly, it can cause a vacuum that prevents fuel from getting to the carburetor. I haven’t totally ruled this out yet, but there doesn’t appear to be anything wrong with the fuel cap. I’ve read that they vent through the threads, and there’s a plastic standoff in the cap that keeps it from sealing tightly against the lip. This all appears to be intact and functioning properly.
Carb out of adjustment: The engine has always run a little lean, requiring me to partially choke it sometimes to keep it from missing. So I figured, maybe I need to tweak the fuel mixture. Well, it turns out I have a bogus low-emissions carb, with non-adjustable jets. So much for that idea.
Main jet gummed up: I drained the float bowl, unscrewed the main jet/emulsion tube, and blasted it with carb cleaner. It did look like there was a little bit of gunk in there. I should probably do this every spring. But unfortunately, this didn’t solve the problem.
Out of gas: Seems obvious, but there appeared to be plenty of gas still in the tank. However, I topped the tank back up, and it seemed to run OK again (well, “OK” with this engine is a very relative term). Apparently the fuel pickup tube (or whatever mechanism it uses) doesn’t go all the way to the bottom of the tank.

I think the next step is to examine the fuel tank, fuel line etc. to see if there is anything that could keep fuel from reaching the carb properly. I’ll do that at the end of this season. Once I’ve ruled that out, if I still have problems next season, I’ll break down and overhaul the carb. Eventually, I’ll get to the bottom of this.

VNC over ssh

Just for laughs today, I decided to try setting up an SSH tunnel to connect to my home VNC desktop from work. To my surprise, it was as simple as:

ssh homedsl -L 5901:localhost:5901
vncviewer localhost:5901

To my even bigger surprise, it works pretty well. The performance is good enough that I can do “real work” on the remote desktop. I even started up a MAME game, and it was playable. Much better than I expected, given that my connection at home is a DSL line with a slow uplink.

Looks like another useful tool..

Upgrading the security system

Four years ago, I installed a full-perimeter hardwired security system in our house. This probably ranks as the single largest DIY project I’ve ever undertaken. All told, it took me about four months, working alone, and splitting the time with my day job as well as household chores and other projects. Would I do it again? Actually, now that I have kids, I’m not even sure if I could do it again. It ate up almost all my spare time even without kids. I think my wife was about ready to divorce me. But, in the end, we have a great, professional grade, monitored system, and I have full control over it to make changes, upgrades, etc., which brings us to the actual topic of this entry. I’d like to add a few zones (for a very basic intro to alarm system terminology, see this FAQ) to the system, but I’m running out of expansion room. Because of the layout of our house, I laid the system out in sort of a star topology; the panel is near one end of the house, and I have a “zone expander” installed near the other end. Each zone is terminated at either the panel or the zone expander, depending on which is closest. The zones I’d like to add are near the zone expander, but the expander (which provides 8 zones) is full. Matter of fact, it’s overloaded — in a couple spots, I’m doubling up devices which really should be on separate zones, becuase of the lack of space. Not only that, I’m up against the maximum auxiliary power load that my panel supports. If I add any more powered devices (motion detectors, glass break detectors, sirens, etc.), the panel will be overloaded in that department too.

So, before I do anything, I’m going to need to upgrade the system to allow for the additional zones and power draw. Here’s the current plan:

  1. Install an additional zone expander and mount it near the current one, to provide 8 additional zones.
  2. Install an auxiliary power supply and battery to handle additional powered devices.

I’m hoping I can fit all of this gear into a single metal enclosure. If necessary, I can move the existing zone expander, which will requre splicing several wires, but shouldn’t be the end of the world. The shopping list then becomes: metal enclosure, zone expander, power supply, battery, and extra wire, for a total price tag of around $250. Of course, these days, the real cost includes finding time to do this, as there are a lot more demands for my spare time these days. I’m thinking this project probably won’t get off the ground until close to the end of 2006. But we’ll see.

3-month Palm Review

I’ve had my Palm Tungsten E2 for about 3 months now. The verdict so far: I’m getting my money’s worth. I’m using it more, and in more ways, than I did my old Palm m105 a few years back.

First though, let’s dispense with the bad stuff. The only thing I’m disappointed with is the overall fit-and-finish of the unit. Specifically, mine has something that rattles around inside it every time it gets jarred, turned upside down, etc. It’s extremely annoying. But, it doesn’t seem to affect how it works, so I’m just putting up with it. Once my warranty expires, I’ll pop the case open and see what’s going on in there. Also, I’d like to have rubber covers to protect the headphone jack and the SD card slot. As it is, they sit there wide open, waiting to collect dust and debris.

With that out of the way, here’s what I’m doing with the thing:

  • PIM. The PIM stuff (particularly calendar and tasks) is improved somewhat from older versions of PalmOS, and it’s very useful when combined with good sync software. This is what I bought a PDA for, and so far I’m happy with it.
  • Games. Great for chewing up time. There are a lot of good freeware games out there, but finding them amongst the lemons can be a challenge. Some of my favorites are: FreeJongg, Vexed, and StaBu362 (an Othello/Reversi game).
  • Music. With an SD card, a pair of headphones, and the bundled RealPlayer app, the Palm turns into sort of a poor man’s iPod. It works pretty well. RealPlayer leaves a bit to be desired (it’s very bare-bones and the interface is a bit klunky) but it’s certainly usable. There are supposedly some other MP3 players available, but I haven’t tried any of them yet.
  • Books. This one was a bit of a surprise. At first I thought the Palm would be a horrible platform for reading books. Anyhow, I stumbled across the University of Virginia Etext Center, which has hundreds of classics available in Ebook form for free, so I downloaded “A Tale of Two Cities” and tried it out with the bundled eReader software. I actually like reading books in this format. I can search for specific text, and read in total darkness, neither of which I can do with a paper book. And apparently if I buy an electronic dictionary, I can also tap on words to get definitions. I’m sure not everyone is going to like this format, but I’ve become a fan of it.
  • Photos. The color display does a pretty good job of displaying photos, so I can keep updated pics of the family handy.

The Tungsten E2 is reasonably priced for all this functionality you get, but you do have to factor in the cost of add-on accessories and software. I’ve purchased several things that I would consider essential to getting the full value out of the Palm:

  • Missing Sync for PalmOS ($40). Absolutely essential for synching with a Mac. Really should be bundled with the Palm. Palm should consider offering this to Mac users in lieu of Palm Desktop.
  • 1gb SD card ($99). Required if you want to play MP3s. Great for storing data like music, photos, ebooks, etc. and for transferring files to and from other computers. Shell out the extra money and get the fastest card you can find; it’s worth it.
  • Softick Card Export II ($15). Makes the SD card show up as a USB mass storage device, so I can mount it anywhere and use it like a USB key drive. This is great for getting files and applications on and off the device. It’s another app that really should be bundled with the Palm.
  • Cheap pair of headphones to listen to music at the gym ($15). Nuff said.

All in all… the Palm has been worth the money so far. We’ll see how it goes.

iCalendar timezones…

I took another look at time zone data in iCalendar, to see if I could include time zone info in my downloaded Oracle Calendar data. This isn’t a super high priority thing, as the only thing that it affects is how my Palm displays my meetings. The meetings are displayed correctly, but they include a UTC time identifier at the end. Not a huge deal, but if I can get rid of it easily, it’d be a win.

A quick Google search on “vtimezone” turns this helpful page up. Based on the info therein, I was able to craft a working VTIMEZONE section for US-Eastern, that includes daylight savings rules for both pre-2006 and post-2006. To wit:

BEGIN:VTIMEZONE
TZID:US-Eastern
LAST-MODIFIED:20060101T000000Z
BEGIN:STANDARD
DTSTART:19671029T020000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10;UNTIL=20061029T070000Z
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
TZNAME:EST
END:STANDARD
BEGIN:STANDARD
DTSTART:20071104T020000
RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=11
TZOFFSETFROM:-0400 TZOFFSETTO:-0500
TZNAME:EST
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:19870405T020000
RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4;UNTIL=20060402T070000Z
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
TZNAME:EDT
END:DAYLIGHT
BEGIN:DAYLIGHT
DTSTART:20070311T020000
RRULE:FREQ=YEARLY;BYDAY=2SU;BYMONTH=3
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
TZNAME:EDT
END:VTIMEZONE

Now, this is great, but the problem remains that all of the times I pull out of Oracle Calendar are in UTC. So I guess if I want to take advantage of this, I’ll need to manually convert all of these times from UTC to US-Eastern. This seems like too much work for too little gain, so I’m just going to leave it the way it is.

Love those non-cash donations..

Well, being that it’s tax time again, I just have to say how much I love giving our old junk away to charity. Lately, our favorite charity for this kind of thing is Vietnam Veterans of America. This is just such a win-win for all parties involved, that I can’t say enough about it. Consider:

  1. We get rid of stuff we don’t need any more, that was cluttering up the house.
  2. We get a tax deduction for it.
  3. It’s easier than having a yard sale or selling on EBay.
  4. The stuff goes to a good cause.

For this past year’s donations, I tried out H&R Block’s DeductionPro software, which includes a large built-in database of valuations for various items. The only reason I tried it was because they threw it in for free with my purchase of TaxCut, but I have to say I like it. It simplifies the record-keeping process and keeps a running tally of the total deduction amount. If it stays free, I’ll certainly continue to use it. If not, I’ll weigh the benefits of using it vs. using a spreadsheet or somesuch. We’ll see.

An important part of this is picking the right charity. The cause itself is important, of course, but the charity also needs to be reliable. When you go to the trouble of scheduling a pick-up and dragging the stuff outside, you want them to show up and take the stuff. After a couple bad experiences with other charities, we’ve found VVA to be very good in this department.

Again.. can’t say enough about this.. get rid of junk, help a good cause, get tax writeoff. It doesn’t get any better.

More on VNC

Well, it’s been a little over a month since I first played around with VNC, and now I wonder how I got along without it. Mostly, I use it to access my Linux box in the basement office. For awhile I grabbed its main X11 display using the XFree86 VNC module. This works OK, but it’s still slow. Then, I tried starting a dedicated VNC server on the Linux box (it opens a new virtual X11 screen on localhost:1), and the performance difference is like night and day. It’s so fast that sometimes I forget that I’m working on a remote desktop. It’s even fast when I access it from the Mac over the wireless.

The only issue with this setup is access from the Linux desktop itself. I have to open up a VNC client to access the desktop running on the same machine, and I have to remember to start apps that I’ll be accessing remotely (gnucash, etc) inside the VNC server. This seems a little inefficient/redundant, but it’s a worthwhile tradeoff considering the performance is so much better. Plus, I can re-enable direct rendering on the native X desktop now if I want.

The hassle^H^H^H^H^H^Hlegacy of PINs at UMBC

So, we have this new campus portal at UMBC. And for the most part, the launch has gone pretty well. As part of this whole thing, we’re rethinking some of our old, outdated business processes and changing the way they work under the new portal. One of these is the PIN (Personal ID Number). Waaaaay back in 1996 when UMBC first launched web-based course registration, we required all students to enter a 4-digit PIN to log in. There was also a service where students could register by phone, that used the same PIN. Flash forward to 2006. We’re now using a campus-wide single signon system, the telephone registration system is gone, and we’ve done away with PINs as part of the login process. So, since students aren’t using them any more, we can just get rid of PINs altogether, right? Wrong. Problem is, we’re still using our old, crusty HP3000 mainframe as system of record for registration, so when we do online course registration, we have to play by the HP3000’s rules. The HP3000 is still running circa-1996 registration code (written in Cobol), and PINs are so deeply embedded into that code, that there’s no way we’re ever getting rid of them as long as the HP is around. We can rework things so that all the PIN stuff is handled behind-the-scenes, and users never see them or even know they exist, but on the back end, they’re still going to be there.

Now.. the HP3000 stores everybody’s PIN in a database table. But initially, that table is not populated until a user accesses the system for the first time. Then, the HP figures out an initial PIN for the user, and uses that to populate the PIN table. It then sets a flag that the user’s PIN needs to be changed. The HP will then refuse to do anything on behalf of that user, until they change their PIN. The mandatory PIN change happens when the user logs into myUMBC. With the old version of myUMBC, they would see the mandatory PIN change screen immediately after logging in, at which point they’d need to change the PIN before doing anything else in myUMBC. But again, this behavior is a relic of the days when most activities in myUMBC centered around the HP. It also prevents certain users (people who lack the appropriate data that the HP needs to generate the initial PIN) from using myUMBC at all. If we’re going to move forward, we need to get rid of this behavior.

The first step towards this goal, was to eliminate the mandatory PIN change check on initial login. Now keep in mind that we have to submit an initial PIN change request for every student, before they can do anything that involves the HP. So, I’m now doing the mandatory PIN change only when the user requests a function that uses the HP. So rather than seeing it when they first log in, they see it when they try to register for the first time. A small but significant step.

This works great, except it broke the online student parking registration app. Student Parking Registration has the distinction of being the only external (not part of the monolithic legacy myUMBC code) app that talks directly to the HP. If a student goes to this app before changing their PIN, the HP will refuse the parking registration request and the app will fail silently. Yep, this was a fun one to debug. It’s still broken, until I figure out the best way to fix it.

Lessons learned about check deposits..

I have this credit union account, which I keep around solely because there’s an ATM I can walk to from my office. I get the convenience of using the ATM for check deposits and cash withdrawals, and in return, the credit union gets to keep a nominal amount of my money and pay me practically zero interest on it. Any balance over and above the aforementioned nominal amount, gets transferred into my brokerage account (where it earns much better interest) as soon as the check clears. In general, this works out pretty well. But, there are certain rules which must be followed, which brings us to today’s tale of woe.

Monday, January 23, 2006: I went to the ATM and deposited a check for a few thousand dollars. As usual, the ATM receipt showed that $100 of the deposit was available immediately, and the rest was on hold until the check clears. Now, ever since the new Check 21 system was implemented, the credit union has been clearing my checks much more quickly, a lot of times by the next business day. Sure enough…
Tuesday, January 24, 2006: I checked my account balance online at the credit union, and it showed that the check had cleared and the entire amount was available for withdrawal. Going by this, I scheduled three transfers into various different brokerage accounts, to be completed on Thursday the 26th.
Wednesday, January 25, 2006: I checked the credit union again. Oops.. seems that my funds were mysteriously no longer available! The same day I get a snail-mail letter (handwritten, btw) stating that a “special hold” had been placed on the deposit due to the large amount. The hold was for 4 business days, meaning the funds wouldn’t be available until the 27th. It’s too late to cancel my transfers, because they’ve already gone to ACH for processing. Bummer.
Thursday, January 26, 2006: The transfers all get bounced back, and I get charged $81 in overdraft fees.
Friday, January 27, 2006: The funds become available at the credit union, and I start making phone calls to get this mess straightened out.
Monday, January 30, 2006: After two calls and about 30 minutes on hold with the credit union, my $81 is refunded. Thanks guys.
Today: I reschedule the transfers to the brokerage accounts and cross my fingers.

So, what have I learned? #1, there’s something to be said for going to the bank and making the deposit with a teller, because they probably would have told me about the special hold then and there. #2, when making a large deposit at an ATM, don’t touch the money for a week, and don’t trust the online banking system to give accurate info WRT funds availability during that period.

Can I scream now?

Affinities affinities affinities…

As expected, the whole uPortal affinity thing is really drawing folks out of the woodwork. For those of you who came in late, uPortal uses a totally different scheme from the old portal to determine who sees what content. Let’s take the “Faculty Options” channel as an example:

Portal You see faculty options if…
old myUMBC You are in AUTH_CLASS or TEACHER SIS tables, or have faculty LDAP affiliation
uPortal You have faculty, staff or instructor LDAP affiliation

As I said… totally different. Now.. most folks who need faculty options will satisfy both portals’ conditions, and will see the content in both portals. However, there are always special cases, and as expected, we’ve run into a few. First, not everyone in AUTH_CLASS has one of the three magic LDAP attributes. Case in point, the education department has graduate assistants that do course authorizations for them. These people need to see the faculty options, but don’t get them in uPortal.

What we really need to do here, is rethink how we’re doing some of these affinities and who’s seeing what content. Some of this will just involve creating new PAGS groups to correspond with various affiliations. But, we may also need to create additional affiliations in LDAP to cover certain cases. Membership in AUTH_CLASS would be one of those cases. uPortal allows me to specify Person Attributes based on DB queries, so for some of these I might be able to go that route. But I’d prefer to keep this totally LDAP based.

In the meantime, I’m making things work for these people by granting them temporary staff affiliations in LDAP. Can’t have them unable to do their jobs while we’re figuring this out.