A bit of everything today

I skipped work today so I could ferry the clan around on various errands, and seized the opportunity to knock a few odd things off the to-do list.

First off, I paid my first visit to Namco, my favorite place to get pool supplies. The prices have gone up this year, which comes as absolutely no surprise to me. But, they’re still pretty much the cheapest place around for chemicals, particularly after late August when they blow everything out at half price (which really drives home how high the dealer markup is on pool chemicals). I bought a couple 5-gallon jugs of liquid chlorine, which is basically sodium hypochlorite (household bleach) at about twice the strength of grocery store bleach. Namco has this stuff at $13 for 5 gallons, plus a $6 deposit for the jug. That’s a decent price, and it makes me wonder how much of a premium I’d pay to use this stuff instead of calcium hypochlorite for daily chlorination. The main advantage of cal-hypo is its shelf life: I can buy it at half price late in the season, and it’ll still be just as potent the following spring. Its drawback is inconvenience. To avoid clouding the pool water, you need to dissolve the cal-hypo in a pail of water, then pour it off. Then you have a lot of sediment left over that you have to get rid of. The liquid chlorine is much more convenient, but its shelf life is shorter, so I’d need to buy it at full price during the season. The challenge here is to figure out the true effectiveness of the cal-hypo vs the liquid stuff, then see how much of a premium I’d pay for the liquid stuff, and determine if the convenience is worth the price difference. I love doing this kinda stuff, so you can be sure I’ll tackle that soon..

In other news, we got our vegetable garden planted. To keep the critters at bay, we strung chicken wire around the garden and hung some old CDs above it. The theory is that the CDs will blow around and flash as they catch the light, which discourages birds. We’ll see how it does this year. I guess the next step would be to add lawn edging to prevent moles/groundhogs/etc.

… and finally, I made a stab at speeding my wife’s anemic Windows XP box up a bit. Basically I went into the Microsoft System Configuration utility (Start Menu -> Run -> enter msconfig), went to the “startup” tab, and disabled a whole bunch of unnecessary kruft that the OS was starting up at boot time. It’s amazing the amount of junk that accumulates there over time.. Quicktime crap, Adobe crap, crap from some kid’s software we installed, crap from Dell, crap from the stupid stuff that Dell pre-installs on the computer, AOL crap, the list goes on and on. After I turned a bunch of stuff off, I rebooted and the machine seemed a good deal snappier. I guess we’ll see how it goes from here.

More on Coppermine

Still playing around with Coppermine, trying to set things up so that Cathy can have a separate login and still have the ability to upload and edit photos in the public albums. First, I tried setting her account up in the registered group. After a bit of fiddling and RTFMing, I was able to get it so that the account could upload to public albums. I had to

  1. Remove the disk quota from the registered group (group admin area, change default quota from 1024K to 0)
  2. Enable registered group to upload to public albums without admin approval (group admin area)
  3. For each album, go to the configuration page (go to album list and click “properties”). In properties, select “Visitors can upload files”

After I did that, I could upload pictures, but once uploaded, I couldn’t do anything further with them (like adding captions etc). So it looks like this isn’t the answer. That leaves me with two options:

  1. Add Cathy’s account to the administrators group; or
  2. Move all the albums to Cathy’s “personal” album space, so she “owns” them; then she should have access to them and I can access them through my administrator account.

For now, I’m going with option #1 because it’s the easiest.

Coppermine

A couple weeks back, I downloaded a PHP/MySQL-based online photo album package called Coppermine. At the time, I was looking for kind of a be-all-end-all-do-everything solution to managing all of our digital photos and publishing them on the web. I installed it and gave it a go last week. Installation was straightforward as soon as I got the MySQL tablespace properly configured. Once it was ready to go, I uploaded some pics to it.

The Coppermine documentation is very much geared towards users with web hosting services, as opposed to people like me who run their own servers. It took me a bit of sifting through directions like “use FTP to upload the pictures to your web hosting service”, before I figured out that all I need to do is place the photos in a directory that my Apache installation can read and write to. Once I did that, I fired up Coppermine’s import tool. And waited. And waited. And waited.

It appears that during the import process, Coppermine runs “convert” (from ImageMagick) on each file to create thumbnails and “intermediate” sized images. From running “top” on my server, it looks like it fires off four “convert” processes at a time (this may be configurable). This process is a bit slow on my crusty old 450mhz server box. So it looks like if I’m going to be importing hundreds of photos, I’m going to need to run this on a machine with a bit more juice. It probably doesn’t help that the web server is currently accessing the photos over an NFS mount.

However, once the import finishes and the photos are online, the viewer works pretty well. I think for now, I’ll scale back my ambitions and just use Coppermine to publish photos I want to share. I’ll move them to a local disk on the web server box, and then I’ll just pick and choose the photos I want to upload to it. I think it’ll do very nicely in that configuration.

More later..

Followup.. Desperately in need of a photo browser for my Linux box, I looked around and found xnview. The Motif interface is a little dated, but it works very nicely and it’s fast. It supposedly also works on Windows and Mac. I played around some more with Coppermine and found that it has a user-level upload tool, where I can upload pictures through the browser. Pretty cool.

Quick note on Palm iCalendar Sync

A couple weeks back, I upgraded my copy of Missing Sync to the latest version, version 5.1.0. Last night I noticed that event deletions from my read-only calendar subscriptions had stopped propagating properly to the Palm. I probably should have suspected something was amiss.. every time I ran a sync, I was getting a sync services dialog telling me that the sync was “changing more than 5% of the calendars on this computer.”

I also had the event deleting problem when I first installed Missing Sync. At the time, the Mark/Space support folks gave me a procedure to erase everything on the Palm, reset the sync history, and sort of “start over”. It worked then, and it worked this time too. I documented the procedure in this post.

Looks like I might want to do this every time I upgrade Missing Sync, just to make sure I’ve got a clean slate and nothing gets wonky.

I’m still happy with Missing Sync. Now I’m pining for a desktop Mac, so I could do a bluetooth sync from anywhere in the house without worrying about firing up the laptop….

Linux and IDE drives

I stuck a scavenged 120-gig IDE hard drive in my desktop Linux box at work. For now, it’ll house my MP3 collection, which is rapidly outgrowing the 35-gig partition it had been living on. My eventual plan is to get a couple of large (say, 300 to 350 gig), identical drives, keep one at work and one at home, and use them to house all of my MP3s, digital photos, etc. as well as backups of all my machines. I’d keep the disks synchronized with unison or something similar, and then I’d have my data replicated in two locations. But as usual, I digress.

As I was copying my MP3s over to the new drive, I got a few happy-fun-ball I/O errors in my kernel log:

Mar 14 13:36:00 sonata kernel: hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=7374122, sector=7084952
Mar 14 13:36:02 sonata kernel: hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Mar 14 13:36:02 sonata kernel: hda: dma_intr: error=0x01 { AddrMarkNotFound }, LBAsect=7374122, sector=7084952 Mar 14 13:36:04 sonata kernel: hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }

Repeated 20 or 30 times.

Odd thing is, the errors were on my main disk (hda), not the scavenged disk (hdb). The main drive has never had a single issue before. That makes me think “kernel issue” more so than “bad disk” (running 2.4.31). I googled around a bit, and found some (admittedly a bit dated) advice to turn off the CONFIG_IDEPCI_SHARE_IRQ and CONFIG_IDEDMA_PCI_AUTO flags. Tried this, but it made the machine really sluggish whenever there was disk I/O, and all of a sudden I started having problems ripping CDs. So I turned CONFIG_IDEDMA_PCI_AUTO back on, which sped things back up made ripping work again. So now, I guess I need to keep an eye out for I/O errors again. When I was getting them, I was copying 20+ gigs of data from the master IDE drive to the slave IDE drive. Ever since I stopped doing that, I’ve had no problems on either drive. We’ll see I guess..

Gripe du Jour: Palm eReader

I think I’ve figured out why eBooks are not more popular.

I’ve recently warmed up to the concept of reading books on my PDA. It’s actually a much more pleasant experience than I expected. The PDA came with a free eBook reader, and the books I’m reading are in the public domain, so my total outlay on this new hobby so far has been zilch. So, why am I complaining? Well, I refer to a dictionary fairly frequently when reading books. Currently, I use a printed dictionary even with my eBooks. It would be really cool, though, if I could just tap on a word, and see the definition. To do this I’d need an electronic dictionary on the PDA, and support for it in the software. Well, I can get this, but it’s not free. For $9.95, I can get the “full” version of the eBook reader, which includes a dictionary with software support. That’s a fair enough price for the dictionary and the functionality. I have no problem paying that. So, again, why am I complaining? The dictionary bundled with the $9.95 package is Merriam-Webster’s “Pocket” Dictionary, which has only 40,000 words. That means that most of the obscure words which I want to look up, probably aren’t going to be there. If I want a “real” dictionary comparable to my dead-tree version, I need to get the Merriam-Webster “Collegiate” Dictionary, which eReader.com is selling for $23. Now, what’s the problem here? Amazon.com sells the dead-tree version (Hardcover, no less) of this exact same dictionary for only $15!!!

So, let’s get this straight… The electronic version of this dictionary costs essentially nothing to reproduce and distribute, yet eReader.com is charging 50% more for it than the dead-tree, hardcover, much-more-expensive-to-produce version of the exact same dictionary. If I want the electronic lookup, I have to shell out $9.95 for the “full” eReader software, plus $23 more for the wildly-overpriced electronic dictionary, for a total of $32.95. For that price, I’ll stick with the dictionary I already have, thanks.

eReader.com isn’t the only bad guy here — I checked several other online sources for eBook-friendly dictionaries, and the prices were all similarly inflated.

There’s a lesson for the eBook vendors here — you need to price your products competitively (read “cheaper than the equivalent dead-tree copy of the book”), or people aren’t going to buy them. Let’s hope they figure this out soon, because it truly is a great format with lots of potential.

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..

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.

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.