09.18.07
How I Spent My Weekend

Yeah … things are definitely looking up.
I’ve wanted a phone with decent IMAP support for years, and the iPhone has really good IMAP support. The IMAP protocol, for those unfamiliar with it, is an email protocol that stores messages on the server (as well as, in most cases, caching it locally for offline access). This way, you can access your mail from any computer that has an IMAP-capable email client (including several webmail clients) and have all your archives, sent items, and even unfinished drafts available to you. Furthermore, if your computer crashes, your mail is still on the server, and is accessible from any other computer.
When I first set it up on my iPhone, however, it only showed my Inbox, and not any of the folders into which I file messages for later reference. That’s because Dreamhost, my email provider, uses Courier-IMAP to handle IMAP connections. If you’re experiencing the same problem, here’s how to fix it:
And you’re done. Now all your email is automatically stored on the server, and you’ll have the same archives available whether you access it from home, on your iPhone, or through a webmail interface.
A day later than promised, I’ll admit — but I have an excuse: I was busy playing with my iPhone. This isn’t a full review; there are plenty of those elsewhere. Also, I completely agree with everything John Gruber said in his iPhone First Impressions post, so I’ll try not to duplicate too many of his observations here.
I said before that this wasn’t intended to be a review, but if it were a review, it would be a positive one. I love my iPhone, and look forward to seeing what Apple does with the platform in the future.
Finally, fellow iPhone owners might be interested in a few online resources to help get the most out of it:
* There’s an iPhone wallpaper Flickr pool that includes, among other things, the clownfish seen in the MacWorld keynote last January. I dumped a few of my favorites into an “iPhone wallpaper” album in iPhoto, which I sync to the iPhone so I can change the background to suit my mood. Currently I’m using this one.
* The iPhone Application List is coming along nicely. The most useful apps so far are the ones that repackage existing web-based apps for the iPhone’s display, like Google Reader and iPhlickr.
* iLounge has long been the best source of news and reviews about iPods and iPod accessories, and they’ve been covering the iPhone well, too. Macworld’s iPhone Central is doing a pretty good job, too.
Via the Face Transformer, this is apparently what I’ll look like in a couple decades or so:

Speaking of aging, I think I’m going to need glasses soon. I was talking to a friend about this on Sunday, and the very next day I got a letter in the mail saying I have an appointment with an ophthalmologist later this month. This was interesting news, because I made no such appointment, the phone number they have on file for me hasn’t been mine for two and a half years, and the appointment is at UCD Med Center — which I’ve never even visited before — with a doctor I’ve never heard of. Nice of someone to think of me, though.
Today was my first day as an employee of the County of Sacramento — and also the midpoint of a nine-day work week for me. I worked Thursday through Sunday at Apple, and now I’m working a regular week at DHA. Actually, I’m glad I did it this way, because I was kind of sad to leave Apple, so it was good to plunge into my new job right away.
I think I’ll enjoy my new job, too. The first half of the day today was spent in New Employee Orientation, so I only had about three hours at my new job, but they issued me the tools of the trade — one of these and one of these — and showed me around the office and to a couple of remote sites. I think I’ll fit in pretty well.
That’s it — I need to get a motorcycle just so I can wear one of this guy’s helmets. Some favorites: Boba Fett, a knight’s helm, the doctor, and of course Spidey.
Finally got a start date for the County job: April 16. I actually wasn’t sure for a little while there — not because of the background check, but because of the physical. As many of you may remember, my heart rate kept me out of the Army about ten years ago. Granted, it’s not something I’m too broken up about these days, but at the time it was disappointing, because I was really excited about going to the Defense Language Institute in Monterey. I still think I could have handled boot camp, given the chance.
Bet they’d take me if I enlisted now, though — but they missed their chance.
Anyway, the County required a pre-employment physical, and sitting in the doctor’s office, memories of the Army physical came back. The doctor took my pulse twice, and both times it was well over a hundred beats per minute. But she told me not to worry about it, and, true to her word, she did give me a positive recommendation for the job. I still have to do one more TB test tomorrow, and then have that read on Monday, but this is the second stage of that test, and I’m not worried about it.
Now I can go back to having coffee in the morning — I was holding off until all this medical stuff was over with, even though, judging by my own measurements, it makes very little difference in my pulse. More importantly, I have a permanent job, with benefits and a retirement plan and a bit more money than I’ve been making. Less to worry about, in other words, which should help with that heart rate. Now, if I can just pass these exams next month…
I’ve posted before about my ongoing battle with spam, and some of the weapons I’ve found useful. There was a time when I administered my own email server, with carefully chosen realtime blacklists and a regularly updated set of SpamAssassin rulesets. That was pretty effective, but far too time-consuming — not to mention the expense of having a dedicated server.
Eventually I moved to a shared hosting plan with DreamHost, and tried their built-in spam protection for a while (which also uses SpamAssassin). It was OK, but a bit too conservative — far too much spam was getting through, even when I customized the level at which a message was considered spam. I eventually decided to combine DreamHost’s filters with Gmail, and wrote a blog post and a wiki article about my technique. For a while, that worked beautifully, but something must have changed in Gmail’s filtering setup, because soon I was getting a lot of false positives. One especially annoying category was Amazon Marketplace purchase confirmation emails: without fail, Gmail marked every single one as spam, and since each one came from a different seller’s email address, there was no good way to prevent this from happening.
Next I tried CRM-114, which rarely gave false positives (except from one particular sender whom I had to whitelist), but also never really achieved an acceptable level of confidence. Every day it appropriately marked most of my spam (which I forwarded via procmail to another account) and let the majority of my legitimate email through, but also marked around 5-10 messages a day “unsure.” I then had to train it by forwarding those messages to myself, along with a special command to tell CRM-114 how it should have categorized them. I kept expecting it to get more accurate than that, but after several months I gave up.
And that leads me to the present day. For the past week, I’ve been using a hosted spam filter managed by Postini. Since Postini is designed for large companies, I’m actually going through a reseller called Spam-X, which allows me to filter just one address, as long as I pay for a year in advance. One address comes to $27/year, which is more than worth it for the time it saves me.
In the first week, with just the default settings and a basic whitelist, Postini has caught 419 spam messages, with 4 missed and 2 false positives. Those false positives were both sort of special cases: one was a message telling me I hadn’t won free tickets to a movie, followed by an advertisement; the other was from my bank, telling me there had been some suspicious activity on my account. Both addresses are now whitelisted. I’m still getting the occasional message that hasn’t passed through Postini’s filters at all; apparently some spammers don’t maintain their DNS servers very well. If it continues, I may write a quick procmail filter to reject mail that doesn’t have Postini’s headers.
There are a few features I’d like to see added, like keyword whitelisting, but overall I’m impressed by the feature set. The filters can be tuned to five levels of aggression, and in addition to the general filter you can customize filters for sexually explicit content, racially insensitive content, get-rich-quick schemes, and “too good to be true” special offers. If a legitimate message is mistakenly marked as spam, you can have it delivered to your mailbox as though it had never been blocked — and when you do, Postini asks if you’d like to add the sender’s address to your whitelist. For email discussion groups, you can whitelist “To:” addresses as well as “From:” addresses. I also like that Postini blocks mail before it even gets to my web host’s servers, let alone my local system. I had to change my DNS MX records, but once that was done, I could almost forget about spam altogether.
Verdict: highly recommended. I’m emailing like it’s 1999.