The world’s simplest print queue

On my list of things I can’t get working is printer sharing from my Windows laptop to my Samsung ML 1740 laser printer attached to my Mac at home. Another item on the list is getting samba file sharing working from outside my router. It works fine inside my network though. I also have a handy little free utility called CutePDF installed, which allows me to “print” to a PDF file.

Combine those and I can create the world’s simplest print queue. When I want to print from my laptop, I print to a PDF and just save that file to a special directory on my Mac. Every minute, a tiny little script runs via cron and checks the directory for files. If it finds any, it sends them to the printer and moves the file to the “done” directory. I love it.

Here’s the script:


#!/bin/tcsh
cd ~/printme/
foreach f (`find . -type f -maxdepth 1`)
lpr $f;
mv -f $f done/
end

135,000 email messages

How does one deal with 135,027 email messages? That’s a question I had to figure out this week.

On Monday, someone complained after returning from vacation that his email password didn’t work anymore. That was strange. He said his email would either hang or immediately say his password was wrong. He put in a request to his local IT, but they hadn’t gotten back to him after a few days. I was curious what could be wrong, so I took a look.

The first thing I did was get his password and set up a POP account. I saw the same behavior. A closer look was required. This time I ran fetchmail with the -v (verbose) option.

Here’s the fetchmail conf file. I’ve changed the username to protect the guilty. 😀

poll popserver.foo.com timeout 300 protocol pop3 user username is username here password mypassword keep fetchlimit 10

It showed a transcript of the commands sent back and forth and then finished with a message that a POP session was already in progress. And it turns out that Outlook interprets this “busy” message as “wrong password.” One mystery solved. The password was fine.

fetchmail: 6.2.5 querying popserver.foo.com (protocol POP3) at Fri Nov 11 19:45:20 2005: poll started
fetchmail: POP3< +OK <[email protected]>
fetchmail: POP3> CAPA
fetchmail: POP3< +OK Capability list follows fetchmail: POP3< USER fetchmail: POP3< TOP fetchmail: POP3< UIDL fetchmail: POP3< EXPIRE 0 fetchmail: POP3< LOGIN-DELAY 10 fetchmail: POP3< IMPLEMENTATION unknown fetchmail: POP3< . fetchmail: POP3> USER username
fetchmail: POP3< +OK fetchmail: POP3> PASS *
fetchmail: POP3< -ERR Another POP session is active already fetchmail: Another POP session is active already fetchmail: Authorization failure on [email protected] fetchmail: POP3> QUIT
fetchmail: 6.2.5 querying popserver.foo.com (protocol POP3) at Fri Nov 11 20:06:07 2005: poll completed
fetchmail: Query status=3 (AUTHFAIL)
fetchmail: normal termination, status 3

I waited for a while and then tried again. This time fetchmail logged in, but just hung after sending the password. Fetchmail’s default timeout is 300 seconds, so I upped it to something huge and ran it again. Again it hung, but 10 minutes later it starting doing something. The first thing it did was report that the inbox contained 135027 messages in 143MB. It was apparently spending those 10 minutes after login counting 135,000 messages. I get a lot of email, but 135K in a week and a half is a lot! What could be causing it?

Here’s that transcript:

fetchmail: 6.2.5 querying popserver.foo.com (protocol POP3) at Fri Nov 11 19:45:20 2005: poll started
fetchmail: POP3< +OK <[email protected]>
fetchmail: POP3> CAPA
fetchmail: POP3< +OK Capability list follows fetchmail: POP3< USER fetchmail: POP3< TOP fetchmail: POP3< UIDL fetchmail: POP3< EXPIRE 0 fetchmail: POP3< LOGIN-DELAY 10 fetchmail: POP3< IMPLEMENTATION unknown fetchmail: POP3< . fetchmail: POP3> USER username
fetchmail: POP3< +OK fetchmail: POP3> PASS *
fetchmail: POP3< +OK fetchmail: POP3> STAT
fetchmail: POP3< +OK 135027 143370766 fetchmail: POP3> LAST
fetchmail: POP3< +OK 4343 135027 messages (135027 unseen) for username at popserver.foo.com (143370766 octets).

We figured out how to set the timeouts in Outlook to longer and it was juuust long enough. The max is 10 minutes. It started downloading all that email, but it was going very slowly. It probably didn't help that the server was in California and he was nowhere near there. After a few hours it had only downloaded a few thousand messages. I had another idea. We found the option in Outlook to download the headers only and not the full message. That didn't really help though because all these messages had a blank body.

What were they? Well they were messages from an automated system that periodically woke up, checked for an error and sent an email if it found one. Unfortunately he had set that period to every 5 minutes and then promptly went on vacation.

So clearly downloading these messages would take too long. What else could we do? What I needed was a way to filter out the messages on the server without downloading them, kinda like a spam filter. I looked at fetchmail again, but it didn't seem like the right tool. CPAN, however, had the right tool: Net::POP3.

I whipped up a script to get every message, check the subject line for the ones that were the errors, and mark them to be deleted. I tested it a couple times and let it run. It ran for 4 hours and in the end there were 8,000 messages left. That's nearly a reasonable amount for 10 days around here and certainly better than 135,000.

Here's that script.

use Net::POP3;

$pop = Net::POP3->new('popserver.foo.com', Timeout => 6000000);

$username = 'username';
$password = 'mypassword';
$errorSubj = 'Error notification';

print "logging in\n";
if ($pop->login($username, $password) > 0)
{
# print "logged in\n";
# $pop->quit;
# exit;
print "fetching list\n";
my $msgnums = $pop->list; # hashref of msgnum => size

$i = 1;
foreach my $msgnum (keys %$msgnums)
{
my $msg = $pop->get($msgnum);
print "$i: $msgnum\n";
# print @$msg;
foreach my $line (@$msg)
{
if ($line =~ m/^Subject: $errorSubj/)
{
print $line;
print "DELETING\n";
$pop->delete($msgnum);
last;
}
}
$i++;
}
$pop->quit;
}
else
{
print "login FAILED! $!\n";
}

And that was my learning experience for the week.

Toy of the Week: Atomic Projection Weather Alarm Clock

More than my answering machine, I’ve hated my alarm clock for a long time. About 10 years in fact.

I bought it in college when the alarm on my previous one stopped working. Of course it stopped working on a morning when I had to get up for an 8 am class. The professor had a rule that if you were late for a class, you had a write a paper. I explained to him that my alarm clock broke, but he didn’t care. I went down to Radio Shack, bought an alarm clock off the display (it was the only one they had), and attached the receipt to my paper when I turned it in. I don’t think he was amused.

Anyway, what I hate about my alarm clock is that it’s big. It takes up a third of my nightstand. The controls on top have no grips so it’s impossible to slide them back and forth. It has a radio, but it also sucks.

The other day I got a dealnews alert for the “gadgets” category for the La Crosse Projection Atomic Clock. Let me list the ways in which this clock is geeky:

  1. It’s an atomic clock. That sounds like it might be a nice way to get me some brain cancer, sitting a foot from my head 8 hours a night, but that just means that it sets the time itself. Some really-precise clock in Colorado sends out a signal indicating the time and it tunes into it. Cool. This would have been even better last week when the time change occured. Anne is officially in charge of changing the clocks, but she refuses to do mine. Since I’m lazy, my clock tends to disagree with every other clock in the house for a few weeks a year.
  2. It projects the time on the wall. Regular old LEDs work fine, but displaying it in big numbers on your wall definitely ups the geek factor.
  3. It displays the current indoor temperature and forecasts the weather. I really have no use for this, but it’s neat anyway.
  4. It displays the outdoor temperature via a wireless transmitter. This being California, weather is hardly ever an issue, so this too is nearly useless for me, but I like it.

Despite my previously-mentioned hatred for my current alarm clock, I wasn’t really looking to replace it. I had accumulated $200 of Amazon gift certificates from my birthday, Amazon Visa, and my Amazon Associates clicks. The clock was on sale for $40. Free geeky clock? Sure!

It arrived today at work and I unpacked it as soon as I got home. Once I plugged it in, I immediately discovered a fatal flaw – the projected display was upside down for the direction I wanted to project it! I tried rotating the projection part, but it did nothing. I struggled for a few minutes and in a desperate moment I decided to read the manual. It turns out there’s a button on the back to rotate the display. How counterintuitive.

Once I got the projection working, another problem appeared. One my cats became very interested in the projection the wall. It looked a lot like the laser we use to torture play with him. It made it difficult to set up; he was getting in the way and knocking it over. I think I may need to lock him out of the bedroom tonight.

I decided not to set the clock, but to wait for it to get a signal and set itself. Apparently because of some problem with the Ionosphere, it doesn’t work well during the daytime. That’s a new problem for me. Perhaps only an hour off wasn’t so bad.

Pimpin’ my Ride Part IV

The new Blaupunkt Seattle MP74 has been in for a week now and I can finally report on how well it works.

The Radio:

One of the first things I noticed was that the radio was top-notch. It sounds very clear and you can pick one of six labelled presets from dedicated buttons. No more remembering which station is “4” or “6”. The labels are named automatically from the RDS feature of the tuner. RDS is supported by a large number of radio stations and transmits the station id, song title, artist and whatever else they want. It’s really cool and I don’t understand why more receivers don’t support it. In fact, only one from the Crutchfield catalog had it.

The Display:

I guess this is where the pimpin’ part comes in. The stereo shows all kinds of silly animations when it starts up and shuts down. It has this vector-based road graphic that loks like it should move or something or at least react to the music, but it doesn’t. I’d turn all these off if there was an option to do so.

The amount of data they choose to display is a little odd. There’s a small area on the top and center that scrolls RDS and CD data, but it doesn’t need to. there’s a lot more space on either side.

The size of the display will probably make this even more of a target for theives. I’m almost surprised that it hasn’t been stolen yet. The detachable face comes witih a case, but it’s too big to fit in a pocket. They recommend you don’t detach it and put it in your glove box or under the seat, so where do you put it? I don’t want to have to carry it everwhere. Worse is I have the iPod to carry out as well.

Playing CDs:

It works! It can read CD Text (not that I have many that include it) and plays MP3 CDs just fine. It does the right thing and starts up where it left off when I turn on the car.

I was initially confused by the fact that hitting the door button opens the motorized door, but does not eject the disc. I wasn’t sure how to eject it at all really and the manual doesn’t say anything about this. Apparently you have to hold down the door buttom for a few seconds and when you release it it will open the door and eject it. I really don’t understand these Germans.

Using the iPod:

What I didn’t know before I started this process is that all these iPod adapters are simply devices that make an iPod look like a CD changer to a stereo. I guess they’re kinda the same thing, except one can hold a a couple hundred CDs instead of 6. With some experimentation, I discovered that the it wasn’t always reliable about waking up the iPod and connecting to it. It seemed to only check for a CD changer-type thing when it turned on. If it didn’t find it, I could turn it off and on again and it would find it.

This is not quite the seamless integration I was hoping for. There doesn’t seem to be a way to navigate playlists on the iPod. This isn’t a problem for me since I always just listen on shuffle. What is a problem is that the shuffle option (they call it MIX) doesn’t stay on when you turn the unit off and back on. Apparently the Alpine adapater for iPods is superior in that it can navigate all the playlists.

Some lessons learned:

  • I still think Crutchfield’s service is great. They even refunded me the full price of the Syracuse, even though I bought it with some accessories that gave me a $20 discount on the order. The free shipping on the return was also nice. This nearly makes up for the complete pain in the ass it is to install these things. When this one gets stolen, I will have the next one professionally installed. They did fix the accessory listing page to not include the 2nd aux adapter which doesnt’t work for the Syracuse. I asked them to do so and placed a review on the accessory that warns people. They didn’t approve the review.
  • It’s a shame that you can’t really test these things out with all the accessories in a store. What I need a site to make informed buying decisions and compare experience with other users. Hmmmm…
  • Finally, people will read anything. You, for example. If you’ve read all four posts and all the way down to this point, please explain yourself in a comment below. I can’t imagine how this would be interesting to anyone but myself and only as a form of amusement on another cross-country flight.

Pimpin’ my Ride Part III

The next part of my ongoing saga to upgrade my car stereo.

On Saturday Anne was busy for a few hours, so I decided to give the stereo installation a go. I had the receiver that indeed had two inputs, an iPod adapter, a second input adapter, custom wiring harness for my car, a plastic installation kit and a chunk of time.

The instructions Crutchfield gives you details exactly how to disassemble the dashboard of your car. That’s a good thing, because as far I as I could tell, it was all one big piece of plastic. I guess not. I found all these little screws and pulled them all out. Then I just had to use all my strength to pull out these large chunks of my dashboard. It was amazing how much crap I had to remove just to get to a small section in the middle. Eventually I had a pile of screws and clips and my factory stereo in the back seat.

Next was to get the new one in, but first I had to do some wiring. Crutchfield supplies a plug and a bunch of colored wires for your car. The stereo comes with a plug and bunch of wires sticking out of it. These colors were mostly the same, but not always. I played a fun game of match-em-up with manuals from each. You can apparently solder the wires together or crimp them. I actually had a crimping tool and some sheaths I found in a cache once and they came in handy here. I crimped 16 wires together and hoped that I got them right.

To make sure I got them right, I hooked everything up in the car without actually mounting it in the dash. Amazingly when I reconnected the battery, it all worked. Well, mostly. Blaupunkt’s interface is kinda weird (it IS German 🙂 ) and it took me a while to figure things out. The radio worked, an MP3 CD played and I figured out how to enable the TWO auxillary inputs. My iPod worked when playing as an auxillary input (no controls), but was flaky when trying to connect using the iPod adapter. It worked enough to convince me this thing wasn’t a dud and it was time to put everything back together.

Reassembly was no trivial task though. I had to run the wires for the iPod and the 2nd aux input into the glove box, put the stereo in the mounting bracket, screw it in, and then reinstall the front panel that included the climate controls, cupholder and ashtray. Then I found a few more pieces that went in here somewhere and I realized I hadn’t hooked up the IR remote mouse thing. I couldn’t see myself ever needing a remote in my car and there’s no way I would ever let whomever I’ve shoved in the backseat control the music, but if I ever wanted it, this was the time. I pulled everything out again and plugged in the rest – for real this time.

Crutchfield’s kit came with a cheesy plastic space filler that sat beneath the stereo. It didn’t have nearly as much space in it as the factory one. The factory one fit though, so I used it instead.

I screwed, pushed and pulled my dashboard back together. I thought I did pretty well. In the end I only had a few “extra” parts. A few simply didn’t fit with the new stereo, and the others, well, a couple screws and clip shouldn’t make the whole thing fall apart. I think. What I did know is that I wasn’t going back in there to figure out where they went. Everything was plugged in though, even the little sensor that sits on top of the ashtray, presumably to warn you if your car is on fire. Who knew they had those?

Total time for installation: 5 hours. And I came out only a few cuts and bruises. The stereo worked and after playing some more I went inside to clean up. A while later we decided to go out for some lunch and something scary happened. The car didn’t quite want to start up. It eventually did and I restarted it a few times just to make sure it was OK. I think the battery was just a bit drained from my use of the stereo while I finished up the installation. So far it’s been OK, but nothing’s a given here. Now I get to actually use it! Happy Birthday to me (a few weeks late)!

Pimpin’ My Ride, Part II

Why is no technology upgrade a simple affair for me? All I wanted was a better car stereo. Here’s part II of what went wrong this time.

My Blaupunkt Syracuse receiver a couple of weeks ago along with the accessories. I unpacked it and started looking at what it would take to connect everything up. I immediately noticed a problem. The back of the unit had only one auxillary input jack, not two. This was the whole reason I ordered this unit. There was simply no spot to plug in the second input.

I decided to contact Crutchfield and instead of calling them and waiting on hold, I would try out their real-time chat feature. This sounded like a good idea, but I can’t imagine it being useful for anything other than the most basic of questions. Based on the speed at which most people type and communicate, it must be extremely frustrating for the poor support people on the other side. They can “push” pages to your browser though so you can look at the same thing, but there are some other problems with their software as you’ll see below.

I spent 45 minutes chatting with a nice lady named Marie, who was helpful but was ultimately unable to solve my problem. Here’s an abbreviated part of the transcript that they helpfully email to you afterwards.

09/20/2005 01:00:37PM Agent (Marie): “Hello. Welcome to the Crutchfield Chat team. My name is Marie. How may I help you today?”
09/20/2005 01:01:06PM Jeff Boulter: “I bought a Blaupunkt Syracuse car stereo. Just arrived.”
09/20/2005 01:01:47PM Jeff Boulter: “I bought it because it looked like it has two aux inputs.”
09/20/2005 01:02:31PM Jeff Boulter: “but once I opened it, it looks like it doesn’t have that input”
09/20/2005 01:03:26PM Jeff Boulter: “I thought perhaps the next model up (Monterrey) would have it, but it doesn’t appear so.”
09/20/2005 01:03:36PM Agent (Marie): “This says it only has 1 set of auxiliary inputs.”
09/20/2005 01:05:57PM Agent (Marie): “However, you need adapters for either input.”
09/20/2005 01:06:31PM Jeff Boulter: “So it looks like that accessory shouldn’t be listed for this receiver.”
09/20/2005 01:07:36PM Agent (Marie): “I’m checking. One moment, please.”
09/20/2005 01:13:50PM Agent (Marie): “Are you using a CD Changer?”
09/20/2005 01:14:01PM Jeff Boulter: “no”
09/20/2005 01:14:33PM Jeff Boulter: “I want to connect an iPod and an RCA adapter.”
09/20/2005 01:16:35PM Agent (Marie): “One moment, and we will have a definite answer for you. However, it looks like the aux1 and aux 2 adapters will give you what you need.
09/20/2005 01:17:17PM Jeff Boulter: “there’s no place to plugin an aux 2 adapter on this model”
09/20/2005 01:21:55PM Jeff Boulter: “It looks like some of the higher end blaupunkt models that you don’t carry have this 2nd input”
09/20/2005 01:21:59PM Agent (Marie): “Here’s what we have found.”
09/20/2005 01:22:12PM Agent (Marie): “The Syracuse should have it.”
09/20/2005 01:32:04PM Agent (Marie): “So, you only have 2 rectangular pin areas?”
09/20/2005 01:34:04PM Jeff Boulter: “I have all the pins shown on page 33 of the manual, but no others.”
09/20/2005 01:35:02PM Jeff Boulter: “The aux 2 input I have is shaped such that it won’t fit anywhere on those pins.”
09/20/2005 01:42:05PM Jeff Boulter: “There’s an empty space where the aux 2 input pins should be.”
09/20/2005 01:42:08PM Agent (Marie): “The technicians think it should work.”
09/20/2005 01:42:15PM Agent (Marie): “However, I don’t think it sounds like it will.”
09/20/2005 01:45:49PM Agent (Marie): “I am on the phone with Blaupunkt.”
09/20/2005 01:46:06PM Agent (Marie): “Let’s get an answer for sure!!!

— DISCONNECTED —

Suddenly their chat software disconnected me! I had no way to get back on with Marie. I sent them an email, then left it for a few days, hoping they would contact me. Finally, I CALLED them. Marie’s notes said that Blaupunkt said it wouldn’t work, but they were checking with their rep to make sure. It was obvious to me now that this wouldn’t work, but I had to work through 4 different people on the phone before I could just get a return authorization.

Meanwhile I got on Blaupunkt’s website and researched what Blaupunkt models would support 2 inputs. I had to go up a product family to the Acapulco model. Fine. They’ve apparently both been discontinued, but I found some new ones on eBay and I ordered one right away at a “Buy it now” price. I had to spend a bit more ($220 vs. $140), but hey, it’s my birthday present.

I guess because I hadn’t used my PayPal account in a while they forced me to do this eCheck payment method which took 4 days to clear. Then did I didn’t hear back from the merchant for a few more days. When they did, it was bad news. They were “out of stock” of the Acapulco, but would offer a model up, the Seattle, for $40 more. I was suspicious of the bait and switch here, but when I looked up the Seattle, I saw that they were giving it to me at a significant discount. It’s a $430 receiver and I would get it for $260. I agreed, sent them another $40 and they shipped it. The new receiver arrived a few days later and I just needed a weekend to install it.

National Warranty Expiration Week

Last week must have been National Warranty Expiration Week. My Roomba, Treo, and my Mac, all vital to me, had issues. The problem with my Mac was the strangest.

On Wednesday morning I got to work and suddenly I couldn’t get to my email at home. My machine was up, but it was rejecting my password. I couldn’t ssh in either and I couldn’t sudo. Uh oh, I think I’ve been hacked. I could login as Anne so I did that and looked around. No strange processes or connections from the outside world. I remembered I had created a passwordless SSH key at work, so I dug that up and got into my account. Everything looked normal, but I still couldn’t sudo, so I didn’t know for sure because I couldn’t look at all the system logs.

I have backups, but mostly only to a second drive in the machine so if someone rm -rf’d both of those droves, I’d have a problem. I considered rushing home to pull the ethernet cable out of the wall before any more damage was done. I decided to wait until the evening.

When I got home, the first thing I noticed was that the machine was really slow. Just trying to make it restart took a very long time and I ended up just hitting the reset button. Starting up again was also slow. It loaded all the services, but didn’t show the login window. Not good. I could SSH in though, so there was something more complicated going on. I suspected my hard disk was going bad.

I restarted the Mac with the Jaguar installer disk and changed the passwords on my account and root. I restarted, but still couldn’t login as me. I ran the disk utility too. It reported some minor errors (something about crosslinked files), but it said it repaired them. Then again, they kept reappearing whenever I rebooted. It wasn’t looking good for my hard drive.

Anne’s account was useful to log into the box, but since she doesn’t have an administrator account, it didn’t do me an account. Then I remember I gave Dave an account on my Mac once so he could try to fix some stuff AND I gave him admin rights. Starting up from the installer CD again, I changed the password on his account and I reboot later I was in as Dave. Thanks, Dave!

Now to fix my account. Even as root, passwd just kind of there and then returned nothing. Editing the /etc/passwd file did nothing of course since Apple uses NIS. passwd -i did return immediately. It looks like something was wrong with NIS was wrong. Great. I know absolutely nothing about NIS.

I guessed it was time for an NIS primer. I found a page on Apple’s site that described the nisinfo command. I compared my entry with Anne’s and found that her authentication method was ‘;basic;’ while mine was ‘;shadow;’. I updated my entry, copied Anne’s password hash to mine, and did the same for root. That did it. I was able to login as me again and as root. But this didn’t solve the mail problem. It still didn’t start up.

Between reboots, I checked out the Apple site to see how much Mac minis were. Still only 1.42 Ghz? Geez. It would certainly be faster than my current 466Mhz G4 though.

The disk fixes didn’t fix the startup problem though. I searched for “overlapped extent allocation” on Apple’s site using my laptop (how could anyone live without at least two computers?) and followed the instructions. The directions said this shouldn’t happen on journaled file systems (which mine was), but I did it anway.

reboot into single user mode
fsck
reboot into single user mode
fsck
find / -inum (inode num)

Aha! The file it revealed was this one

/Library/WebServer/Documents/squirrelmail-1.4.2/functions/i18n.php

Sure enough, although my webserver was up, squirrelmail definitely didn’t work. It spewed a whole bunch of random garbage to the login page. I made a copy of the bad file to my home directory and removed it. I rebooted one more time and now fsck didn’t report the crosslinked file error again. That was the good news. The bad news was that the machine still didn’t start up all the way after a reboot. Then again, why should it? This file had nothing to do with booting up properly.

I dug around some more in the logs.

One entry struck me:

/var/log/system.log
Oct 4 08:34:19 Bowtah mach_init[2]: Server 0 in bootstrap d03 uid 0: “/usr/sbin/DirectoryService”: exited as a result of signal 4 [pid 1393]
Oct 4 08:34:19 Bowtah crashdump: Started writing crash report to: /Library/Logs/CrashReporter/DirectoryService.crash.log

I opened up the crash log and found this:

Link (dyld) error:

dyld: /usr/sbin/DirectoryService malformed library: /System/Library/PrivateFrameworks/DirectoryServiceCore.framework/Versions
/A/DirectoryServiceCore (not a Mach-O file, bad magic number)

/System/Library/PrivateFrameworks/DirectoryServiceCore.framework/Versions/A/DirectoryServiceCore

Hmm, what was wrong with this file? I viewed it. Aha #2! The first part of the file was the i18n.php file from squirrelmail! This was the file that it was crosslinked with and it happened to be a pretty important file. Now I just need to figure out where to get a backup copy. Well, I could reinstall the OS, but that wouldn’t be much fun and I’d likely lose some settings. My backups were there, but I needed a bootable computer to run Retrospect. I know – my parents’ Mac! I scp’ed their copy of the DirectoryServiceCore over, replaced mine and rebooted. Finally, it booted normally! Wow, I didn’t think I would was going to pull this off.

I guess the only question left now is why the heck I would spend the time to type out all this boring junk. A few ideas come to mind.

  • If I don’t, I’ll never remember it
  • I don’t have anything better to do on my flight back to the west coast
  • I guess I find this sort of thing ‘fun’ (assuming it ends well). It’s about solving a mystery and coming to a logical conclusion, learning somet things along the way.

Now I just need to figure out why my Roomba won’t hold a charge anymore. Well, it doesn’t have hard drive, so at least I know it’s not a problem with crosslinked files.

Treo Fixed?

My replacement Treo arrived yesterday. It was definitely refurbished, but it looked new. No scratches or anything. The ringer icon next to the switch at the top is black, which means it’s newer than the one I had. That’s good news. There’s also a 90-day warranty on refurbs too, which the Sprint person failed to mention. So my warranty has effectively been extended.

I tried activate the phone last night at 8 pm, but apparently the Sprint computers were down for “scheduled maintenance”. I called back at 11, still unavailable. Called back at 8 AM this morning and they were STILL “doing maintenance”. Huh? It sure would be nice if 10% of the time I could tell Yahoo users to “come back later, we’re doing stuff”.

This afternoon, I ran the updater to get my Bluetooth networking back, synced it up, and everything was back. It hasn’t crashed.

So far so good. I’ll tenatively give Sprint a +1 for fixing this, as painful as it was. Good luck with yours, Tony!

More Tales of Technical Support Woe: Sprint

Right now I’m on hold with Sprint technical support. Again. As great as Tracy Chapman sounds on tinny on-hold music, I’ve got nothing better to do than blog about hating Sprint.

Maybe a month ago I noticed that my beloved Treo 650 was sick. At random times it would simply reboot itself. This almost never happened when I was using it, but simply when it was lying around charging. It seemed harmless at first, but then got annoying when it occured more frequently and then when it wouldn’t turn on the phone automatically after it restarted. I would find that my phone had been off for half the day. Not cool.

So I did a hard reset of the phone, suspecting it was something I installed. Nope, still did it. Took out the SD card. Same problem. I called Sprint. They said to go to a store. So I did. Got to the Sunnyvale Sprint Store at 6:30. They said the tech had gone home and I’d need to come back between 10 and 6.

Wanting to get my phone fixed before I went out of town for a few days, I cut out of work during lunch on a busy day to go back to the store. When I described the problem, I told them I already did a hard reset. They took and said to come back in an hour. Well I couldn’t wait around an hour, so I went back to work, and came back around 7.

They returned it and said they did a hard reset, even though it was written on the receipt I got when I dropped it off that I had already done that. I quickly reached the bottom of the inches-deep depth of knoweldge the Sprint drone had and she referred me to the manager.

The manager tried to convince me that it was a problem with software I had loaded. Then I told him that there was no software on it, just what came from the factory. He scrambled around looking for a piece of paper that described how to fix this problem. He finally produced a printed powerpoint slide which simply had a Palm solution ID. He asked me if had done what it said there and tried to shoo me off by telling me to go home and try it. Oh yeah, sure, I memorized the entire Palm Knowledge Base and performed all the appropriate steps to fix my phone. I convinced him to look it up on the Palm site so we could see.

It was then that I was truly convinced this guy had no idea what he was talking about it. Watching him trying to use a web browser was hilarious. He finally got to the support page after I pointed him to it and then he just tried searching for “solution ID” over and over again. Moron. Self-realizing he had no idea what was going on, he brought the phone back to his tech and said he was going to do something else to it. It was nearly 7:30 now and yesterday they told me their tech went home at 6. Riiiight.

So I waited. They had “Alien v. Predator” playing on their plasma screen, which I assume was a ploy to soothe angry customers like myself. As I watched, I kept wishing that the manager was one of those hapless dumb humans in the movie that wander into where the aliens are hanging out and are instantly slashed to pieces.

At 5 before 8 pm the manager comes out with my phone and says the tech downgraded the firmware on my phone. He said that the update made the phone “slow”. Sure. Yes, they uninstalled the update that I had installed months ago without any problems. It fixed a bunch of things and enabled bluetooth dial-up networking. Now I had none of that, but it was at least something I hadn’t tried yet. I went home. My phone rebooted itself a half-hour later. I gave it hard reset and declared it a problem for another day.

I’m in New Hampshire now and I had some free-time on Friday, so I decided to bring my phone in again. I looked up the closest Sprint store and headed over after some other errands. The first store on my list was closed, though the hours clearly said it was supposed to be open. I headed to the next one and knew I wasn’t going to get my problem solved here; it was a mall kiosk, but at least it was open. They said I needed to bring it to a store with a tech. The closest one was 20 miles away and I was done running around for the day.

Further annoyed, I called Sprint when I got back to my parents’ house. The first guy was nice enough, but didn’t know how to fix it. I told him that I had the extra warranty which he was unable to verify. I remember signing up for it, but apparently it never hit my account. Great! He said he couldn’t send me out another phone and said I should call the place where I bought my phone, Amazon. This seemed pretty strange, but it wasn’t like I had another idea.

The first step was finding Amazon’s phone number. Didn’t I write a blog about that? Yeah, I did! I navigated the phone maze through one guy and then another woman who told me I was smoking crack. They don’t take returns 11 months later. She did verify that there was a 1-year warranty. She told me to contact Palm, who will immediately tell you to talk to Sprint. Helpful, for sure.

I read some forums about similar problems and they were able to request a replacement phone and have them send it with a return kit for the broken one. I made this my mission. Here’s the shortest route to that:

Call Sprint at 1-800-974-2211
Hit 2
Say “Representative”
Enter your phone number
When you get off hold, immediately ask for technical support
Fight through their gauntlet until they actually transfer you to tech support

The tech support guy verified that I had already brought it in and when I asked to do a return, he agreed. I guess you just have to ask for it. He transferred me over to some other department who could set up the replacement phone. I asked if it would be a new phone or a refurbished one. She thought it would probably be refurbished. I wasn’t pleased and asked for a new one. My worry was that the replacement phone would be older than my current one, and if it had problems, I’d lose the rest of my warranty. I couldn’t convince her to guarantee a new one, but I agreed to have them send me one. It should arrive sometime next week. I had been on the phone for 2 hours.

I thought that this lawsuit that Treo users recently filed against Palm was frivilous, but it’s turning out to be a little too true. Service is important. Sprint seems to be too stratified to actually have anyone do anything of import. The people in the Sprint store are only trained to sell you a phone.

Let’s hope this replacement phone arrives soon and actually works.

iTheft

Back in college, I was the editor of my college newspaper, The Bucknellian. Once a week, I would stop by the Public Safety Office. I’d bring a floppy disk with me and I’d go in the back with an officer so they could copy the weekly Public Safety log from some ancient version of WordStar onto my disk.

This was a very important job because there were people that read the newspaper JUST for the Public Safety log. It was always on Page 2. The crime-fighting that goes on at a small liberal arts college in the middle of Pennsylvania is usually banal, but often pretty funny.

I’m reminded of this every week when I read the Public Safety column of The Sunnyvale Sun, the free local newspaper. Sunnyvale is a safe place to live, so the entries in the log are often boring and funny too.

Some highlights from this week:

Causing a disturbance – Sept. 3, 9:40 p.m., 100 block of S. Murphy Avenue. A man in his 20s, wearing a fisherman’s hat, red shirt and red checkered pants was bothering customers and talking to himself in front of a business.

Yes, I would find someone wearing an outfit like that very disturbing.

Assault – Sept. 2, 5:25 pm., 400 block of S. Sunnyvale Avenue. Someone tried to push someone else off a second story balcony.

This sounds like 3rd grade playground drama to me.

Drunk in public – Sept. 2, 2:15 p.m., W. El Camino Real and Hollenbeck Avenue. Two men were drunk outside a magic store.

I’m pretty sure this is the first line of at least one dirty joke.

Attempted theft – Sept. 1, 12:18 a.m., 1200 block of Forgewood Avenue. A man with a goatee tried to steal aluminum from behind a business.

Can’t you see some guy with shifty eyes pressed up against a wall waiting to make his move and get him some aluminum? This reminds of that that Futurama episode, where Bender meets his evil counterpart, Flexo. The only difference between the two robots is that Flexo has a goatee. Flexo disguises himself by wearing a scarf. Hilarious.

iTheft – Sept. 1, 8 a.m., 900 block of Exmoor Way. An iPod was stolen.

That’s not a typo, they actually coined a new word and printed it – iTheft.

Can’t wait until next week!