Michael J. Radwin

Tales of a software engineer who keeps kosher and hates the web.

Currently Viewing Posts in Geek Cred

Uniden TRU5885-2

We bought a Uniden TRU5885-2 5.8 GHz cordless phone yesterday.


For the past couple of years we’ve been using a 2.4 GHz phone and have been suffering from interference with our 802.11b Wi-Fi home network. Picking up a phone call would sometimes disrupt the wireless Internet connection and our SSH sessions would terminate. When our old phone finally started to show its age (intermittently would fail to get a dialtone), we decided to try something new as a replacement.

Like most 5.8 GHz phones, the Uniden TRU5885-2 is pricier than comparable 2.4 GHz or 900 MHz models. But it’s got a much greater range throughout the house, and more importantly, it co-exists with our wireless Internet.

This model in particular has an absurdly large number of features. Aside from standard stuff like Caller ID and an integrated digital answering machine, this model gives you a good-sounding speakerphone in the base, and an extra handset. But wait, there’s more! Each handset itself can act as a speakerphone. 3 different speakerphones? Wow.

Sound quality is very crisp. It almost sounds like a wired phone. Plus, each phone has an orange backlight. You’ll see an eerie but beautiful glow when you hit any key on the keypad.

The only drawback we’ve found: you can’t use both handsets simultaneously. There’s only one base station, and apparently only one handset can speak to it at a time. There’s a nifty transfer feature that lets you put the call on hold and pick it up on the other handset, but that’s not the same as being able to have two people on the line at the same time (when we’re talking to our families, for example).

My blog is functional again

One week after disaster struck, Glenn (the friendly neighborhood admin for my ISP) has restored my MT database files from backup tape. I’m running again.

A quick post-mortem: what happened to me was similar to what is described here. However, running db_dump -r did not successfully recover the data, which is why I needed to go to tape backup.

Now I need to spend some energy getting the data into MySQL so I don’t get burned by this again…

My blog is h0zed

MovableType databases got corrupted yesterday, and now everything has gone to hell. I am editing this file by hand.

Waiting for my ISP to do a tape restore, which means I can’t really update the blog until Sunday… 🙁

Friday hack: rcs2log

One of my co-workers asked me this week for an easy way to see which files had changed in CVS over the last week. I suggested that rcs2log would be a good first start, but strangely enough he had never heard of it before.

rcs2log is a nifty script that you can use to generate a ChangeLog from CVS. As the name implies, the tool was originally written for RCS files, but it knows how to talk to a CVS server without any modifications needed.

It’s distributed as part of GNU emacs as a helper script for the ChangeLog feature (C-x v a), but I’ve found it really handy to use it directly from the shell to group together CVS commits in an easy-to-read chronological order.

After installing emacs, I simply do this:

cp /usr/local/libexec/emacs/21.2/i386--freebsd/rcs2log $HOME/bin

And then it’s available in my $PATH to run from the shell whenever I need it.

rcs2log isn’t a complete replacement for other tools. I often use cvs log when I need details about a single file or I need to see down-to-the-second timestamps or symbolic tags. And I really like the multi-colored diffs that ViewCVS and Chora can generate. But rcs2log fills a niche that nothing else does.

Palm Zire for $50

palm-zire.jpg I’ve been a very happy Palm Zire owner since January. It does the two things I need it to do (Calendar and Address Book) really well and has phenomenal battery life. I don’t need anything fancier.

Today, on the palm.com webiste, I noticed an advertisement for an Open Box Palm Zire for $49.99. Cool.

Shared Libraries on my mind

I just finished writing up 4 pages of documentation on how to correctly build shared libraries for FreeBSD using Yahoo!’s Makefile macros. The fact that Makefiles are such a black art probably explains the popularity of alternative build systems.

I’m sure a bunch of these ideas will be covered in Theodore Ts’o’s Designing and Creating Great Shared Libraries talk in a few weeks, but I wanted to write down a couple of key points before I forget:

  • Using the -soname linker option is good because it guarantess that code built against your library (either an executable or another .so) only gets used with a binary-compatible version of your library. If you make an unversioned library, you’ll probably need to rename it when you add versioning.
  • Passing the -no-undefined flag to the linker can save you lots of trouble. It’s way better to have your make fail because of an undefined symbol than to end up with errors like this on Apache startup:
    Syntax error on line 68 of /usr/local/etc/apache/httpd.conf:
    /usr/local/libexec/apache/mod_yscript.so: Undefined symbol "Bar__3FooiPCc"
  • -fPIC good. TEXTREL bad.
  • objdump -p is a really useful tool.
  • Even after 16 years of development, there are still bugs in gcc.

Now I’ve gotta go hire a tech writer to clean up by doc.

Nullsoft WASTE on Linux?

Nullsoft (the Winamp people) today released WASTE, a secure, mesh-network IM/chat/file-transfer system. Looks kinda cool. They even GPL’d the code.

WASTE is initially available on the following platforms:

  • Windows
  • FreeBSD
  • MacOS X

Notice a particularly popular operating system missing from that list? No, I’m not talking about Solaris.

Moving from Pine to PC-Pine

PINE - a Program for Internet News & Email I hate email almost as much as I hate the web.

I’ve found that I’m using my Windows 2000 laptop a lot these days, but I’m still doing my email on my 4.5-year-old FreeBSD machine (running a vintage 2.2.7 kernel, complete with the a.out runtime linker bug). Switching back and forth between the two has turned into too big of a pain in the neck, especially since I seem to be getting tons of resumes (and various other attachments) in Word and PDF formats.

So it’s high time to switch to a Windows email reader. What’s the path of least resistance? PC-Pine.

Yes, it still has an olde-school xterm-like interface. No, it doesn’t display HTML or graphics. But it’s what I’ve been using for the past 8 years, and I’m not about to switch again. I made the great leap forward from good ol’ /usr/bin/mail to Pine back in 1995 and it took weeks to get used to a new interface. I don’t want to repeat that pain.

Our corporate IS department doesn’t support IMAP (only POP3), so I initially tried to get an IMAP server running on my ancient FreeBSD box and use fetchmail to pull from our POP server. But I couldn’t really get UW’s imapd to work. Instead of wasting time trying another IMAP server (folks here have suggested Inter7’s Courier-IMAP), I instead decided to use Pine’s native POP3 support in conjunction with the Mail Drop feature.

Porting my pinerc file from Unix to Windows was pretty easy. I had to make a few tweaks (looking up names in our corprate LDAP server instead of getting them from /etc/password, switching forward-slashes to back-slashes in folder names, moving my filtering from procmail to Pine’s built-in filtering feature, etc.) After a couple of hours, I’m up and running in an environment that feels really familiar.

TiVo upgrade

Hinsdale How-to TiVo upgrade After 3.5 years of using TiVo, I’ve finally decided to crack open the case and increase the recording capacity.

I purchased my Philips 14hr HDR112 TiVo (the first model ever manufactured) from Fry’s Electronics in Sunnyvale on October 22nd, 1999. Today, Ariella and I schlepped out to Fry’s in Woodland Hills to purchase a Maxtor 120GB hard disk for the upgrade.

I’m three hours into the process and am finishing step 8 out of 11. I hope to finish before midnight.

Update (11:47pm): Whoo-hoo! I’m done! Just gotta put the cover back on and bring it back into the family room…

My TiVo, post-uprade

163 hours, baby. Nice.

Ploni ben Ploni

John Doe.

Joe Schmoe.

Ploni ben Ploni.

When the Gemara needs a placeholder name but doesn’t want to use a real one, apparently it uses the name פלוני (transliterated here as Ploni). Ploni can be used both as a person’s name as well as a name of a place.

In mock contracts, sometimes the formula פלוני בן פלוני במקומ פלוני (Ploni ben Ploni b’Makom Ploni) is used. This translates rougly as “Ploni, son of Ploni, from the city of Ploni.”

Delightful. I remember finding it equally amusing a few years ago when I learned that French programmers don’t name temporary variables foo or bar, but rather toto and tata.