VNC at Home

Yesterday I played around a little bit with VNC (Virtual Network Computing) on our home network. VNC can be used (among other things) to pull up a remote desktop on a local machine and treat it as if you were sitting at the remote machine. One of its appeals is that it’s multi-platform, unlike similar technologies like Microsoft’s Remote Desktop Services. At home, VNC’s basic appeal is convenience. For example, while sitting upstairs, I can pull up the display of my basement Linux server to make a quick edit in GnuCash. Another example: When I’m doing our taxes, I can work downstairs in the office (where all our records are), pull up the Windows desktop upstairs, and run the tax software there.

Installation on the Windows box was straightforward. I just downloaded and installed the distribution from RealVNC, and it installed both the viewer and server. No surprises, and it seems to work great.

For the Mac.. My only Mac is a laptop, and I can’t really see wanting to connect to it with VNC. Still, I looked into it anyhow. First I tried a product called OSXvnc, which seems to work OK, but then I learned that MacOS 10.4 (Tiger) has VNC functionality built in, so I can use that if I ever need it. What I’m really interested in for the Mac, is a good VNC client. And that’s the weird thing.. Apple includes built-in VNC server support, but they don’t supply a VNC client. And there seems to be no one “defacto” VNC client that most people use on the Mac. There’s one called VNCThing, which was very hard to track down, but appears to work. It appears to be orphanware, though. There’s another one out there called Chicken of the VNC which appears to be a little less stale. Once I’m ready I’ll probably try that one out.

Next up: The Linux box. First the easy stuff: RealVNC supplies a Linux VNC client that works fine. That brings us to the server. In grand Linux tradition, there is more than one way to do a VNC server, and none of the methods is a perfect solution.

  • Method 1: Creates a totally new VNC X “session” (for example, if the main desktop is host:0, the first VNC session would be host:1). Advantage: modular and efficient. Disadvantage: Doesn’t export your main desktop, so everything has to be done inside the virtual VNC session. To access that, you need to use a VNC viewer even on the host PC. Fine for remote access, but not real efficient for working on the host.
  • Method 2: Export the main X11 desktop using a polling server such as x11vnc. Advantage: works fine, no extra configuration required. Disadvantage: slow.
  • Method 3: Export the main X11 desktop using the VNC module supplied for XFree86 v4. Advantage: ties into the X server itself, so no polling is required and it’s very efficient. Disadvantage: Doesn’t work with direct rendering (DRI module) enabled. If I start the server with both VNC and DRI enabled, the server freezes the first time I try to access it remotely. This seems to be a compatibility issue between VNC and my particular video driver/card (ATI Rage Pro or somesuch, r128 driver). If I disable DRI, it works fine. So, if I want to use this solution, I have to give up direct rendering (which really isn’t the end of the world).

This is sort of a microcosm of what’s wrong with the current state of desktop Linux. Lots of potential, but lots of interoperability issues. I still haven’t decided which method to use, but I’m sure I’ll settle on one eventually.

Now that I’ve got VNC working at home, the next step is to get it so I can access my home Linux desktop from work. To do this I think I want to tunnel the VNC connection through SSH. Google turns up lots of tutorials on how to do this, so once I’m back in the office, I’ll try it out.

Chores Chores Chores, and a Broken Timer Switch

Today was a “get stuff done around the house” kind of day, where I basically knocked as many items off my to-do list as possible. Among the fun stuff accomplished:

I finished winterizing my chipper/shredder, pressure washer and trimmer. The chipper/shredder takes the most time, because I like to break it down, clean debris out of the blade housing, inspect the blade, and lubricate the metal flails. I also clean it off with a blow gun. For the others, it’s just a matter of adding some oil to the cylinder. I like to do this particularly with the chipper/shredder and pressure washer, because they can go long periods of time without being used.

I drained 2-3 inches of water out of the pool, to get it back below the tile line. This is one of those thankless busy-work type winter chores. However, I’ll take this any day over a pool that is losing water. This winter, I decided to just pump the water back behind the deck, rather than running it all the way out to the side street. It’s much less of a hassle. I thought it would be faster, too, but it still seems to take forever. Best guess is around an inch an hour with my dinky 1/6hp utility pump.

I noticed that our timer switch, that controls the front porch light, had stopped working. I only noticed because I happened to drive by the house around 2:30pm, and noticed that the porch light was on. I checked the switch and find the display said “No Op”. The switch is basically dead, and the light won’t turn off. I checked the trusty internet, and apparently these switches are basically garbage. Wish I had checked before I bought it. It’s a bit of a surprise, given that I’ve used lots of Intermatic products before, and generally been happy with the quality. However, this particular model seems to be a dud. Which leaves me without a timer for the front light. I pulled the switch out, so the fixture would go off. I guess I need to find a new switch. The challenge with this particular setup is that it’s a 3-way switch, and let me tell you, 3-way timer switches are haaaaard to come by. I have a standard single pole timer switch that I’m not using, so for now I may put that in and just forgo using the remote switch (we never use it anyhow). Long term, I may check into an X10 type switch, but there’s a limit to how much money I’m willing to pour into this. If a working 3-way setup turns out to be cost prohibitive, I’ll probably just live with the single pole.

My Never-Ending Basement Plumbing Project

I’ve got this plumbing project in my basement, that I’ve been working at for what seems like about a year now.

It started with my wife finding a leaky pipe. The leak was (is) at a copper tee, where a 3/4″ line branches out to 2 1/2″ lines. It was (is) leaking at a rate of a drop every 5 minutes or so. I put a bucket under it. This was last spring or so. The bucket is still there.

One of the 1/2″ branches goes to an outside sillcock. The original sillcock was unoperational (frozen up, clogged, whatever). So I decided, well, I need to take this all apart anyhow, so I might as well replace the sillcock. So I cut the branch, capped it near the tee, and took out the sillcock and all the old plumbing going to it. Then I routed new copper pipe back to the tee. That was last summer. Over the next couple months, I sweated most of the fittings along the new line. I’m not what you would call an expert at sweating copper, particularly where it comes to valves. Now, I’m at the point where I need to test my new branch for leaks, replace the tee, and connect everything back up. I’m not looking forward to it, so I’m putting it off.

I’m thinking about pressure testing the new branch to find leaks. Here’s the current plan.

  1. Take a short length of pipe, and sweat a female adapter onto one end
  2. Screw a quick-connect air coupling into the adapter
  3. Attach the other end to my branch using a compression coupling
  4. Attach air compressor, close all valves, crank up to 30PSI or so
  5. Leave it that way for awhile and see if it holds the pressure.

I figure if I use a compression fitting, that will allow me to reuse this contraption on other projects.

Once I’m satisfied the branch is leak-free, I can hook it up to the live plumbing, which is what I’m really not looking forward to. For some reason, I find plumbing projects like this infinitely more daunting than electrical projects. See, with an electrical project, if I hit a snag I can usually get away with leaving a branch circuit off for a day or two. Just plug stuff into different outlets, run some extension cords, whatever. This is not the case with plumbing. There is absolutely no way I’m getting away with leaving the water shut off for a day or two. If I screw up, I’m really screwed, so to speak. No, the job needs to get done right, the first time. And anyone who’s ever done plumbing knows that there are always “gotchas” lurking around the corner, waiting to spring on you after you’ve shut off the main and cut all the pipes apart. Then, when you get everything back together, you have to hope that you got everything right and nothing leaks. To me, plumbing has always seemed like more of a crap-shoot than electrical work. This is improving somewhat as I get more experience, but I’m still dreadding this project.

More (maybe a couple years) later when I get back to this project..

Poor Man’s Screen Protectors

Palm (among others) sells these screen protectors for use with their PDAs. Currently, their web site lists them at $19.99 for some unspecified quantity of them. One came packaged with my E2. It’s essentially a disposable piece of plastic with an adhesive backing. You’re supposed to trim it to fit the PDA’s display, and stick it on. The claim is that it protects the display from scratches and “improves handwriting recognition.”

At first I wrote these off as totally worthless, but then I tried the included one, and I was surprised to find that it actually does help with Graffiti. I can’t see using it with one of Palm’s older B&W LCD screens, but with the color screens it does seem to make a difference.

What is a rip-off, is what Palm is charging for what is essentially adhesive-backed sheets of plastic. Always the cheapskate, I went poking around the house, and found a roll of medium-grade sheet plastic that my wife and I bought a few years ago at Jo-Ann. No adhesive backing, but I decided to try it anyhow, hoping that static cling would hold it on the display. I trimmed it to fit, wiped it clean with a damp rag, and tried it out. So far so good. It clings to the display just fine, and seems to work just as well as the real thing. And, I can buy several yards of the stuff (enough to make hundreds, if not thousands, of screen protectors) for less than what Palm is asking for a single pack of theirs.

Do I rule, or what? I’d better go now, I need to go look for my life.

Softick Card Export II vs. Missing Sync Desktop Mount app

Now that I have an SD card for my Palm, I decided to try out a couple of apps that allow me to mount the card on my desktop computer. I’d like to be able to copy files (mp3s, documents, etc) directly to the card from my Linux box(es). Then, I can write a script to copy mp3 playlists to the device, etc.

First up: The desktop mounting app that came with Missing Sync. This works as advertised on the Mac, but unfortunately, when I plug into my Linux box it’s not recognized as a USB mass storage device. It might just be a matter of updating the Linux hotplug subsystem to assign the usb-storage driver to the device. But the fact remains that it didn’t work out of the box. I’m not sure if it’ll work at all actually.. the documentation isn’t really clear on how the app works. I’m assuming that somewhere it’s emulating a USB mass storage device, but I’m not sure if the emulation is being done by the Palm app, or the Missing Sync app on the desktop. Next time I’m in the office, I’ll try this out on my Mac there, where Missing Sync is not installed. If it works, then that tells me the Palm app is doing the emulation, and I should be able to make this work under Linux. Stay tuned.

The next app I tried was Softick Card Export II, which costs $15, but provides a 21 day evaluation. On the Mac, it worked identically to the Missing Sync app. When I tried it on the Linux box, it immediately recognized it as a USB mass storage device, and I was able to mount and browse the card. So if I can’t make the Missing Sync app do what I need, it looks like I can use this.

The “dark horse” option here is to not use the Palm at all, and just get a USB SD card reader. I’m sure this would work great, but it’s one more gadget I’d need to carry around. If I’m already carrying the Palm around anyhow, I might as well use that. Still, if I’m going to consider shelling out $15 for Card Export II, I might as well price the USB readers as well.

Update 12/29/05: I tried the Missing Sync desktop mount app on the Mac in my office (where I have not installed Missing Sync) and it didn’t work. So, it looks like I can rule this out as a general desktop mounting solution. I think for now, I’ll go ahead and buy Card Export II (which did work on the office Mac, BTW). I think it’ll always have some utility for me, even if I do eventually pick up a standalone USB card reader (which, BTW, can be had for less than the $15 that Card Export II costs).

The Latest on the Calendar Project

I haven’t had much time to work on the calendar thing lately due to the holidays. That will probably continue into the early part of January, with work shaping up to be pretty busy during this time. However, a week or so ago I went ahead and sync’d my published Oracle Calendar data to my Palm. I encountered two issues: #1, The times displayed on the Palm are kinda wonky due to the iCalendar file having times specified in UTC instead of US/Eastern. iCal shows the events OK. The Palm shows the events at the correct times, but the events are displayed with the UTC times appended. Example: “Big meeting (2:30pm GMT)”. This isn’t the end of the world, but I guess if I want to fix it I’ll need to add timezone data to the iCalendar file. I was hoping to avoid this step as it entails computing start and end times for Standard and Daylight time. Oh well.

The second problem is a bit more troubling, and I’ve actually contacted Mark/Space support about it. When I delete an event from the published calendar and then re-sync, the event is not deleted from the Palm. I can duplicate the problem with a very simple published calendar with only a couple events, so this is not a problem with the specific calendar I’m using.. it appears to be more general. I tried hard-resetting the Palm and starting over, thinking maybe it had gotten confused after all my previous mucking, but that didn’t accomplish anything (well, OK, it did accomplish something… it happily blew away my address book and all of my TODO events on both the Palm and the Mac. Joy).

I did hear back from Mark/Space regarding this issue. They suggested trying the latest beta release, and if that didn’t work they gave me a list of steps to follow that will hopefully fix it. I went to download the beta, and unfortunately, it looks like it does not work on my Tungsten E2 (there’s a message there to that effect). I haven’t yet gotten around to trying their other suggested fix. I plan on trying that within the next couple of days, so we’ll see how it goes.

Update 29 Dec 2005: I went back to the Mark/Space testing site today and found that they had posted a new beta, 5.0.3b6. I downloaded and installed it, and it seems to fix the problem. I haven’t pounded on it yet, but it worked for my simple test calendar. I’m optimistic that it’ll work with my Oracle Calendar data. Will test that out shortly.

The TracFone Activation Saga

My family bought a TracFone prepaid phone as a Christmas gift for my Grandmother. I got the fun job of activating it. Most of these prepaid phones are self-activated using the carrier’s web site, and TracFone is no exception.

Christmas Day, around 1:00pm: Installed the SIM card and battery into the phone, a Nokia 1100. TracFone must be using a GSM network. Maybe Cingular’s? Anyhow… Went upstairs to the parents’ computer, and went to the TracFone web site to attempt to activate the phone. Nope… TracFone has every URL within their entire web site redirected to a message to the effect of “Sorry you schmuck, we’re too busy to even serve your HTTP request right now, let alone activate your phone.” Tried again around 4:30…. same deal.

Christmas Night, around 10:15pm: Decided to try again. Now, the phone won’t power up. It seems to be completely dead. Removed SIM card, tried again. This time it powered up and asked for a SIM card. Reinstalled SIM card, and it seemed happy at that point. Hmmm, not too sure about this phone now. Oh well, let’s try activating. Hey! The TracFone site seems to be working now. It prompted me for a couple of long numbers (SIM, ESN, whatever) and a zip code. Then it prompted me for an airtime PIN, which I dutifully entered. Then I get “Sorry, we’re unable to process your request at this time.” Mouthed a few expletives and gave up for the night. Not terribly impressed with the TracFone activation process at this point.

Day after Christmas, around 6:45am: Phone is dead again. Didn’t initially respond to last night’s trick of removing and reinstalling SIM card. Wondering if the phone is defective. Eventually it decided to power up. Great! Nothing like reliable technology. Tried to activate it again. This time it worked! I was able to program the phone using the instructions on the web site, and it assigned me a phone number. Ten minutes later or so, the phone power-cycled, and immediately thereafter I received a text message confirming the activation. I’m assuming the power cycle was a result of the activation process, and not the phone being flaky.

Anyhow, I haven’t tried placing a call yet, but it appears to be working now. Jury is still out on the phone itself, though. I think we’ll hang onto it for a few days to make sure it continues working. The powerup issues could have been a result of the phone not being programmed/activated. I guess we’ll see.

Followup – well, immediately after writing the above, I went upstairs to find that the phone had switched itself off and would not power back up. I’m officially calling it defective. Moral of the story: Don’t buy “reconditioned” mobile phones. I’ll let someone else handle the fun job of calling tech support and spending eternity on hold. My job here is done 🙂

Leaf Patrol

Yesterday, I finally finished up this year’s round of fall leaf removal. After 5 go-arounds with leaf removal on this property, I’m getting better at it, but the process could still stand some improvement.

The bulk of the leaves fall in back of the house, with the Tulip Poplars starting earliest, and the Oaks finishing up last. The Tulip Poplars start dropping leaves in mid to late August, creating an ongoing chore of clearing leaves from the pool, pool area and deck. The rest of the trees are better behaved, and drop their leaves in November.

Up to now, my leaf removal equipment has consisted of: Toro electric blower/vac mulcher, push broom, rake, and an old chipper/shredder (rescued from my parents’ garage).

Now, the Toro actually does a really nice job. I use it in vac mode in the summer, to clean up around the pool area without blowing debris into the pool. The blower does a good job clearing off the deck and other paved surfaces. Its only problem? The cord. It’s a pain maneuvering the cord around the pool fencing and trying to keep it from falling in the pool. This past fall, I tried using the blower to clear some grassy areas, but my extension cord was too short. My solution for next season: I’m going to upgrade to a gas powered blower/vac, probably an Echo ES-230. I’m hoping it’ll work as well as the Toro, without the cord.

The next big issue is removing the piles of leaves from the property. This year, I mulch/composted a bunch with the chipper/shredder, and put a bunch more out for yard waste pickup. I’m really looking for ways to make this process more efficient, because it’s long, hard work. The chipper/shredder has a ramp that you can lower to the ground, and rake leaves right up into the unit. I used to use this, but this year I found it was faster to just grab a big armload of leaves, and slowly drop it into the hopper. After a few tries, I got it so that I could do this without clogging up the intake. Still, this takes a long time. A bigger chipper/shredder might help. I’ve seen yard sweepers (Agri-Fab seems to be a popular brand) selling for $200 or so at Sears and Lowes. Still, with the amount of leaves we get here, mulching them down is pretty much a necessity, or I’d be putting out hundreds of bags a year for pickup. I’d love it if Howard County would start doing a service where you rake all your leaves to the curbside, and they pick them up without you having to bag them. That would eliminate the need for mulching, but they’d probably use it as an excuse to jack up our property taxes again.

Do-it-yourself DVDs: If at first you don’t succeed…

When I got my Powerbook, it came with software for creating/editing movies (iMovie) and burning them to DVD (iDVD). I already have a Sony MiniDV video camera, and several hours of footage of my now-3-year-old son. With this gear, all I needed to make DVDs, was a FireWire cable and some blank DVD media. So I figured, what the heck, I’ll give it a shot. I bought a cable for $10 and a spindle of DVD-R media for $12 (after rebates of course), and today I gave it a shot. It took two tries, but the end result was success.

First step was to copy the video onto the computer. This was straightforward. Connect the camera, start iMovie, and tell it to import from the camera. I imported two 1-hour tapes, which took up around 26 gigs total (13 per tape). Then, I used iMovie to add DVD chapter titles to the movie, and told it to create a project in iDVD.

In iDVD, I was able to build menus for the soon-to-be DVD using several different built-in themes. It’s actually pretty cool. I went through this process, got everything looking good, and attempted to burn a disc. Nope. The project was too big for the single-layer disc I inserted. It asked for dual layer media. I don’t have any. So instead, I created a new iDVD project with only half the footage from my imported video (one tape, or one hour’s worth). Then, I went into iDVD’s Project menu and told it I was using single-layer media. That seemed to make it happy. I redid the menus and went to burn again.

Dang, this takes a long time! The encoding process seems very CPU intensive. Encoding the video is the most time consuming part. After it does the video, it encodes the audio. This takes longer than you would think by looking at the progress meter, but it eventually completes after 10 minutes or so. Then it goes to actually burn the disc.

The disc seems to burn OK, but at the end I get some sort of happy-fun-ball encoding error at the end. The resulting disc plays in the Mac, but my 1-year-old Sony DVD player refuses to recognize it. Bummer.

I try to quit out of iDVD. It seems wonky. I have to CMD-Q to quit it and I get a “terminated unexpectedly” dialog. Now, the odd part. I start it back up, open my project, and this time, it tells me the “project is too large for my encoding scheme” or somesuch. I wonder if that was the problem. If it was, why didn’t it tell me that in the first place? OK, so the software’s not perfect I guess. I’ve got a nice shiny round coaster to show for it.

Not to be discouraged, I try again. This time, I change the encoding scheme to “maximize quality” (it was previously set to “maximize performance”). I go to burn again. One bit of weirdness this time: During encoding, the progress bar got to 100% when the encoding was only half done. That didn’t give me warm fuzzies, but I let it keep going anyhow. It finished this time, with no errors. Seemed to play OK on the Mac, too. Cool.

Moment of truth: I popped it into my Sony again, and this time it worked! Great.

Moral(s) of the story:

  1. Use “maximize quality” setting
  2. Ignore the progress meter during encoding
  3. Keep videos to around one hour for single-layer media (this works well when using tapes recorded in SP mode; 1 tape == 1 DVD).

It seems to have used most of the available space on the media, just from looking at the disc. The “maximize quality” setting must use minimal compression. I’ve got no problems with that, the media is cheap.

Just for yuks, I’ll try it out in my 1997-vintage Toshiba 3006. I really don’t expect that it’ll play DVD-R media, but if it does, I’ll be really impressed.

Wiring’s done!

Subject says it all! I finished the wiring up today, installed the fan control, and replaced an outlet while I was at it. All my extra wiring turned out to be worth the effort — there’s absolutely no way I would have gotten the fan control in the wall box with all the extra wires there. It’s enough of a challenge just getting these controls in the box with only one wire. Which brings me to my obligatory gripe of the day. These fan controls (Lutron Skylark model) are great. They seem well-made and reliable. But I hate installing them. They’re so deep that they barely fit in a standard-depth wall box. And on top of that, they have pigtails, and you have to fit three wirenuts (four if you’re attaching the ground) in the box, in addition to the control. This makes them very bad for retrofit work, particularly in older houses where the boxes tend to be smaller. If there’s more than one cable going into your wall box, you can pretty much forget it. It’d be much nicer if these controls could be backwired (stick wire in hole, tighten screw), to eliminate the need for wirenut splices. Maybe Lutron will eventually figure this out. Unfortunately it’ll be too late to help me out.

Anyhow, the only thing left now is to remount the fan and clean up all the plaster chunks, insulation and other crap that fell out of the hole in the ceiling. I’d say we can pretty much stick a fork in this project.