Author: lpaulriddle

  • FPE panel replacement project underway

    Today I officially began my project to replace two Federal Pacific circuit breaker panels in my house. I’m starting with a subpanel in the boiler room, and after that’s done I’ll move on to the house’s main panel.

    Ironically, the first step to doing this was to replace a perfectly good Square-D QO subpanel in the boiler room. This panel was upstream of the FPE panel (which is totally full — a previous owner added the QO panel to add capacity). The plan is to consolidate both panels into a single QO panel, but the existing one was too small. So step one was to replace it with a 24-slot QO. Next, I’ll move all the circuits over from the FPE panel.

    Wiring the new panel was pretty easy as far as these things go — no big surprises. The QO panels are very nicely laid out, with neutral busses on either side, for example, so there’s no need to cut conductors to different lengths. The only thing I didn’t care for was the placement of the separate ground bus (required by code for subpanels) which was at the very bottom of the panel. A couple of my existing ground wires were not long enough to reach the bus (keep in mind the new panel is several inches taller than the old one). But this wasn’t too hard to work around.

    Phase two, as mentioned, will be to move the circuits off the FPE panel. I’ll need to set aside a day for this, as there’s some conduit that’ll need to be rerouted, plus some wires that will need to be spliced to reach over to the new panel. I’ll probably try to do this the week after we get back from the beach — no sense rushing it with the beach trip looming and lots of other stuff to take care of.

  • Browse NFPA codes online

    I just found out that The National Fire Protection Association has a method you can use to browse all of its publications online. This includes the National Electrical Code and its associated offshoots. This is really nice, because printed versions of the NEC (NFPA 70) sell for upwards of $60, and then you still need to get NFPA 7A, which specifically covers single- and double-family dwellings. And on top of that, the codes are updated every three years, at which point you need to buy all-new copies if you want to stay up-to-date. This is a little pricey for a weekend shade-tree electrician like me. However, a copy of the NEC is essential if you want to do safe, code-compliant work that will be approved by an inspector. It’s always been frustrating to me that these documents cost so much — no one, be it contractor or homeowner, professional or amateur, should be required to pay for what is ostensibly a book of requirements. IMO, the high price point of the printed NEC promotes shoddy, non-permitted, non-compliant work, which is not good for anyone.

    Now, all is not perfect. NFPA still wants to make money selling hardcopy and PDF versions of the code, so the free access you get is a bit crippled. It works via a Java applet that doesn’t allow printing, cut-and-paste, or search. However, it’s better than nothing, and I have to give props to NFPA for recognizing the importance of providing easy access to these codes. There are certain things that are more important than making money..

    Oh yeah.. here’s the link.

  • Early end to swim season?

    Several days of persistent cloudy, cool and rainy weather have conspired to drop the pool temperature to a nice, chilly 76 degrees. And, the forecast for the next week or so doesn’t look too promising. So it looks like we may be in for our earliest end to the swim season since we moved into the house. Combined with the late start, it was a pretty short season. However, in terms of usage, I think it was our best year since 2002. It seemed like someone (usually Michael) was in the pool more days than not. So I’m satisfied that we’re getting something out of the pool, though it’s still not quite worth all the work and expense.

    Anyhow, if the weather doesn’t turn around soon and extend the swim season, I’ll probably look at covering the pool just before we leave on our beach trip.

    9/10 – Well, we got a couple days of warm, sunny weather and I was able to nurse the pool back to 80 degrees.. So Michael and I spend a token 45 minutes or so swimming around this evening. The 5-day forecast doesn’t bode well for keeping it up, though.

    I definitely have mixed feelings about swimming in September. It’s a lot of work for diminishing returns (not as much swimming). I have to use the solar cover if I want to keep the water from getting too cold. I’m constantly having to scoop falling leaves out. And in the 5 years we’ve had the pool, Michael and I are the only ones who have ever been in the pool after Labor Day. But truth be told, I don’t really mind the work — it’s kind of like I’m prolonging the summer just a little bit more. Strange as it may seem, there’s still a tiny part of me that misses summer when it’s gone.

  • Tweaked cash-flow spreadsheet format

    For over 2 years now, I’ve been using spreadsheets to track our month-to-month household cash flow. In general, it’s been a huge success. It helps immensely with short- and intermediate-term financial planning. It lets us know when we’re running short on cash and need to be budget-conscious, and it allows us to earmark money ahead of time for future expenses. Through a combination of living beneath our means and planning expenses with these spreadsheets, we’ve managed to come out ahead every single month since I began doing this.

    Tracking expenses like this does involve some extra accounting overhead. I have to spend a couple hours each month maintaining the spreadsheets, and there’s a fair bit of double-entry between the spreadsheets and our financial software. It’s well worth the effort, but I still like to refine the spreadsheets periodically to try to make the process easier.

    Each spreadsheet tracks the cash flow in our “main” checking account over the course of a month. There’s a column for income and expenses, and a separate section to track money that is “reserved” for future expenses. I project expenses for the current month and a couple months in the future, so in June, for example, I might have active spreadsheets for June, July, and August. At the end of each month, the balance is carried forward to the following month’s spreadsheet as either income or an expense. I also use a separate sheet to track a second (money market) account, which is used for longer-term expense planning as it earns a higher interest rate. Rounding the whole thing out are sheets to track our two active credit cards. To keep things simple, most credit card expenses are glopped into a single “household expense” budget. I don’t account for individual charges against this budget, just the grand total. However, I do account for individual charges that are outside the household budget.

    [More:]

    Up till now, I also tracked an account we hold with the local credit union. The credit union pays really crappy interest, so I don’t keep much money there. However, they have an ATM that’s convenient to me, so I use the account for cash withdrawals and check deposits. I transfer any balance over a certain amount into our “main” checking account, where it earns much better interest. This month, I decided that it wasn’t really worth the effort to track the credit union account, so I took it out of my spreadsheets. If I really miss it, I’ll put it back… but I don’t think I will.

    I follow a similar strategy with the money market and the “main” checking account. Between the two, I like to keep as much money as possible in the money market. However, the money market doesn’t have the convenience of checkwriting or immediate liquidity of funds. If I need funds from it, I need to sell shares, which has a 1-business-day turnaround. So, I use the spreadsheet to plan when I’ll need to sell money market shares, and how much I’ll need to sell. Today, I hacked the spreadsheet template to “recommend” an appropriate amount of money market shares to sell, based on this strategy.

    I’m hoping that these two tweaks will simplify the spreadsheets a bit, as they had been getting a little unwieldy. That aside, I highly recommend this method of cash flow management, as it’s worked really well for our family.

  • Kids are back

    Just got back from my first outdoor run in what seems like forever, so I’m sure I’ll be nice and sore tomorrow. I’ve really fallen off with the biking (and exercising in general) recently, and I do hope to ride in several more times this year, but this is definitely the time of year when I start to transition from biking to running as my main form of exercise. Which reminds me that I need to pick up a new pair of shoes.

    Work has been absolutely insane lately, as it always is this time of year (the kids are back). However this year has been rockier than recent years. myUMBC always gets pounded at the start of the fall semester, and this year we’ve had problems with almost all of our back end systems at one point or another: the HP3000, the Oracle database, and even our enterprise filesystem. myUMBC is kind of like a canary in a coal mine. It relies on a complex, fragile infrastructure of systems and services, and if any one of them goes down, myUMBC is usually the first thing to die. Here’s a rundown of emergency work performed in the last few days to try and keep myUMBC running:

    • Late-night database reconfiguration to make Oracle less of a dog
    • Shuffling Easipipe around to attempt to fix flakiness on the HP3000 (it didn’t work)
    • Reconfigured myUMBC web server to work around IE SSL weirdness
    • Turned off Tomcat clustering stuff that wasn’t working and was possibly screwing stuff up

    Things seem to be improved today, with the HP3000 thing the only unresolved issue. We’re keeping our fingers crossed.

    On the home front, we’ve got tulip poplar leaves all over the place. I would so love to cut those things down. I guess I shouldn’t complain too much, because they at least waited until the end of August. The drier the weather is, the earlier they start dropping leaves. We’re in a semi-drought now, although it didn’t start until mid-summer. If the entire summer had been dry, I probably would have been dealing with leaves in late July. I really need to get a leaf net for the pool.

    And of course, the semi-drought likely will end tomorrow with the tropical system that’s supposed to pass through and give us more biblical flooding. It’s really feast-or-famine with rain around here these days, and it seems like it’s been that way for about a year now. Afterwards I guess I’ll have to mow again, which I haven’t done in quite awhile, and haven’t really missed.

    If previous years are any indication, we’ve got at best another month of swimming left. And this year, we’ll be at the beach the last week of September (T-minus 3 weeks). So I guess we should toss Michael into the pool while the tossing’s good. On that note, I’m outta here for today.

  • More pool fun

    The inevitable happened yesterday.. I accidentally ran the vac booster pump for an hour or so with the intake plumbing shut off. Fortunately, it looks like it survived.. thermal cutoff switches are your buddy. Several years ago, a similar mishap happened to the main circulation pump, and it’s still alive and kicking. The damage this time was very similar to then: leaks at the threadded intake and output fittings. I disconnected them (plumbing unions are your buddy), re-coated with teflon tape, re-lubed the union o-rings, put everything back together, let the motor cool, tried again, and everything seems fine. Keeping my fingers crossed.

    Also, I’m going to need to go and fill in some low spots in my recently-applied deck caulking. The joint is holding water in a few spots. My tentative plan this week is to power wash and identify all the low spots on Tuesday or Wednesday morning before work, then do some more caulking on Thursday morning. Shouldn’t take me too long.

    As I’m fond of saying.. the fun never ends.

  • Polyurethane caulk + no gloves = big mess

    At long last, I got the planetary alignment needed to caulk the pool deck joints, so I did it this morning. First lesson learned: I need to wear disposable gloves when doing this. Because as bad as I thought silicone caulk stuck to my hands, polyurethane caulk is 10 times worse. I wouldn’t be surprised if I’m still peeling this stuff off my fingers when I’m 60.

    The actual job went very quickly. The caulk flows very easily. The important thing is to mask the joint on both sides. I went through 2+ rolls of masking tape, but it was well worth it. If I hadn’t, the caulk would have been all over the map. I went through 8 29-oz tubes of caulk to do this portion of the pool (I couldn’t do the entire pool because the coping stones are off on the deep end side). I imagine I’ll need 4 to 6 additional tubes to complete the job once the coping is repaired. Not too bad, and the Sikaflex stuff I used was much less expensive than using Deck-o-Seal or some other pool-specific product.

    It will be interesting to see how well the joint holds up. There are a couple spots I’m concerned about, where the backer rod was a little close to the surface, and I suspect the caulk bead might be too thin. If these areas fail, I’ll just touch them up as needed. I’m confident that most of the joint will be sound.

    The color of the stuff is interesting. Sika calls it “sandstone”, but it looks more like “calamine lotion” to me. For some reason, Home Depot carried only this color and gray — no white. It really doesn’t look too bad, just a little more pinkish than I expected. I wonder how it’ll weather.

    It seems to cure pretty fast. When I was finishing up, the areas I had done first were already starting to solidify. The directions say that a full cure takes from 48-72 hours. Given the weather forecast (sunny / upper 80s), I’m guessing I’ll be at the early end of that window.

    Tomorrow morning, I’ll do one last joint that I haven’t stuffed with backer rod yet. All in all, this wasn’t a hard job at all. If I have to do it again down the road, I should be able to do everything in a single weekend. The other nice thing is, I have an idea now how much caulk I need for the job. So if Home Depot stops carrying it or something, I won’t have to guess how much to order.

  • 3 cheers for backward compatibility

    Well, we finally upgraded our calendar server last night, from old-and-crusty Steltor CorporateTime to its successor, new-and-shiny Oracle Collaboration Suite. And, kudos to Oracle, as it looks like they’ve kept it backwards-compatible with the old CorporateTime API. That is, my homegrown OracleCalendar-to-iCalendar exporter thingy is still working. That’s nice, because I’ve come to depend on it, and this means that I won’t need to spend lots of time fixing it. Things are a little busy here right now, so if it had broken, it probably would have stayed broken for awhile.

    Once things slow down, and I can revisit this, I bet I can make it work even better with the newer APIs now. Actually I may not need to use the APIs at all any more, as OCS supposedly supports CalDAV. In the meantime though, I’ll very happily continue to use the stuff I already have.

    Oh, and a few days ago, I installed MediaWiki. I think I’m going to get a lot of use out of it. Read about my recent trials and tribulations with PHP iCalendar.

    Party on…

  • Summer’s almost over

    Well, here it is late summer again. And I must say — I’m ready for fall. If you’d have told me 20 years ago that I’d be writing that now, I’d have looked at you like you were crazy. But it’s true.. I’m just not crazy about summer these days. It’s not really the heat — being a profuse perspirer, I’ve always disliked the heat, but I haven’t always disliked summer. I think the main culprit is our house. Now, you’d think our house would be the ideal place to spend summer, with a big yard and a pool. And yeah, I guess it is ideal if you’re a kid and don’t have to take care of the place. But the upkeep on the place, combined with working full time and helping care for two small kids, doesn’t leave much time to enjoy the amenities. What it boils down to is, it never seems like there’s enough time in the day, and after a couple of months, it starts to get old.

    Owning a pool has proven to be interesting. I do enjoy getting in the pool, particularly with my son. But it’s funny — when you spend a certain amount of time and money on the upkeep of a pool, and the pool is lightly used, you actually start to feel obligated to get in the pool to make it seem worthwhile. And when the pool sits unused for more than a few days, you start wondering why you’re putting so much into it, and then you start entertaining thoughts of having it filled in. People have told me that my best pool-ownership days are ahead of me, when the kids get to the age where they’re swimming all day, every day. I’m looking forward to that, but once the kids are past that age, I want to move — seriously. Because at that point, pool ownership just won’t be worthwhile any more.

    But anyhow… I want to like summer again. I dislike it now, but I still get a little sad when it ends. Everything is a phase. Eventually, life will be less crazy and I’ll be able to kick back and enjoy summer again. We may need to move, the kids may need to get a little older. But it’ll eventually happen.

  • Cisco VPN client for Linux

    Well.. after quite a bit of fiddling (what else is new) I managed to get Cisco’s VPN Client working on my Linux box. OIT provides a download for this, but it’s just a tar file of the client software.. no docs or any other info.

    Details: I run Debian, and most of my Linux boxes have custom-built kernels; I don’t use the pre-packaged Debian Kernels. For some reason, I’ve found that things “work better” like that, at least for servers. Case in point: I initially tried to build the VPN stuff on a freshly-installed box with the stock Debian kernel, and it bombed spectacularly. I then built a custom Kernel, tried again, and it worked.

    I run 2.4.x. Specifically, the two machines I’ve built VPN on run 2.4.32 and 2.4.33. I have no idea if the stuff works on 2.6 or not.

    Installation:

    1. Untar the distribution, VPNClient.tar.gz, and cd into the resulting vpnclient directory.
    2. Become root and run the installation script:

      ./vpn_install

      It should be safe to accept the defaults for all of the prompts. One of the prompts is whether to start the VPN Service at boot time. Since I rarely use VPN, I elected not to do this. I ended up with an init script, /etc/init.d/vpnclient_init, which I need to run manually. Presumably, if you tell it to start at boot time, it’ll create the appropriate link in /etc/rc2.d or wherever.

    3. UMBC includes two VPN “profile” files, "UMBC OffCampus.pcf" and "UMBC OnCampus.pcf". Copy these into the directory /etc/opt/cisco-vpnclient/Profiles. Make sure they are set to mode 644.

      cp UMBC* /etc/opt/cisco_vpnclient
      chmod 644 /etc/opt/cisco_vpnclient/UMBC*

    4. Check the file /opt/cisco-vpnclient/bin/cvpnd and ensure the setuid bit is set. For some reason, after installing on two different machines, one of them had the bit set and the other didn’t. This file must be setuid root or vpnclient will not run for a non-root user.

      chmod 4111 /opt/cisco-vpnclient/bin/cvpnd

    5. Try it out:

      vpnclient connect UMBC\ OnCampus
      or
      vpnclient connect UMBC\ OffCampus

    Problems? Make sure all the files are in the locations they should be (no filenames misspelled etc) with the exact permissions specified above. It’s very picky about this, and the errors it gives aren’t too helpful. strace is definitely your friend here.

    In other news.. I think I’m going to try setting up a personal Wiki to document stuff like this. Using the blog for this kind of stuff does work (i.e. I’m documenting stuff that I previously wasn’t, and I have a resource I can refer to for stuff now), but the diary-like nature of the blog doesn’t lend itself too well to organizing information. With a Wiki, I’ll be able to organize stuff for future reference, and I can keep the Blog for the stream-of-consciousness type stuff. I think I’ll try MediaWiki initially, because I’m familiar with it and like its look. My only concern is that it might be overkill, so I’ll have to see what kind of footprint it has.