Archive for January, 2007

Bad, bad Sun

Here is what I got when I searched for "Eclipse download"…

It appears that Sun bought the keywords "eclipse", "download" and probably
many other combinations and used it to plug NetBeans in sponsored search


After the storm

My previous story on
stolen checks and Wells Fargo
made it on

and Reddit,
which resulted in a thorough pounding of my Web site.

The story in numbers:

  • Number of page views:  about 80,000
  • Diggs:  1971 (beating my previous record on my Why
    Ruby on Rails won’t become mainstream

  • Blog comments:  190 (still trickling through).
  • Digg comments: 180.
  • Reddit points:  441.
  • Reddit comments:  110.
  • People who called me a moron:  a lot.
  • People who said that just because I work at Google doesn’t mean I’m not
    a moron: 1.
  • People telling me I shouldn’t be using checks:  not sure, but I bet
    most of them do not live in America (we unfortunately still need checks for
    too many things in this country).
  • People telling me not to switch to Bank of America:  a high enough number
    that Bank of America should probably consider improving their customer
  • People telling me not to switch to Bank X or Y:  at least one per
    American bank (don’t we all have at least one horror bank story?).
  • People telling me to switch to a credit union:  quite a few.
  • People telling me not to switch to a credit union:  none
    (there’s probably a lesson there).
  • People actually getting the point of my post, which was to say that
    whether I report six or seven stolen checks, I should get the equal amount
    of protection from the bank:  distressingly few.

Right now, I’m pondering the following puzzle:  if you happen upon my
post and you read through the hundreds of comments, you can’t really miss the
fact that a lot of people have already advised me against switching to Bank of
America.  What could possibly compel you to add comment #190 saying the
same thing?

And finally, I’d like to end on two positive notes:

  • I received an email from a Wells Fargo executive telling me they would
    be addressing the problem I mentioned very soon.
  • As I was following the progress of the opening of my Bank of America (BofA)
    account on their Web site, I noticed that it was possible to chat online
    with a representative.  It was Friday night, so I can’t say I even
    thought it remotely possible to be able to reach anyone at any financial
    institution, be it BofA, Wells Fargo or any other bank, so this left me
    quite impressed.  I initiated the conversation, reached someone after a
    few minutes, and after verifying that it was indeed a human being, I was
    able to ask a few questions on the status of my new bank account.  The
    person was very friendly, had impeccable spelling and answered all my
    questions satisfyingly.

Of course, it’s easy to get impressed with the new girlfriend after getting
out of an ugly relationship, but this is definitely convincing me to give BofA a
shot.  If anything, I already know for a fact that their online support is
light years ahead of Wells Fargo’s.

Here’s to a hoping for a better banking experience for customers and banks alike.

Advice if your checks ever get stolen: don’t tell your bank

I just had one of the most frustrating phone conversations with Wells Fargo I
have had in a long time. 

It’s not the first time, and over the past months, Wells Fargo has managed to
irritate me on so many little details that I was slowly beginning to consider
closing my account with them.  The only thing that held me back is the
annoyance that comes with such a decision, since I already have quite a few
automatic deposits and withdrawals on my checking account.  I’m not afraid
of transferring them to a new account, but I am concerned that I might forget to
transfer one, which could result in defaulting on certain payments and some bad
consequences for my credit history.  So I tolerated their lame online
banking site, tiresome phone support and the various fees that they slap me with
for no reason now and then.

Not any more.

It started innocently:  I ordered new checks two weeks ago, and a few
days later, I noticed a box in my mailbox as I was heading out in the morning. 
I made a mental note that my checks had arrived and left, but when I came back
at night, the box was no longer there.  I looked in the various places that
I might have put it, but it didn’t turn up, so at this point, I decided that the
safest course of action would be to call Wells Fargo, cancel these checks and
order new ones.  And of course, to monitor my account for any unexpected
activity until the checks get canceled.

After dialing their number, punching in my account information (hint: 
keep saying "banker" until the automated system transfers you to a real human)
and then repeating this info to the representative, I explain my problem to the

"I can certainly help you with that.  How many checks did you say
there were in the box?"

"I didn’t say, and to be honest, I don’t know".

"But would you say more than six?"

Uh?  Does it really matter?  Fine, I’ll humor them.

"Well, there were probably a few checkbooks in that package, as you
probably already know, so yes, I’d say there were most likely more than six
checks.  Why?"

"Well, we can’t cancel more than six checks".

"Excuse me?"

"We can’t cancel more than six checks, sir".

Of course you can, I think, although I can definitely picture this guy using
an application that was written on a mainframe twenty years ago.  Right
now, he must be staring at a monochrome monitor showing six text fields and
having to justify this to a slowly but increasingly aggravated customer over the
phone that this is meant for their own protection.

"Are you serious?  When I ordered the checks, you asked me what
numbers I wanted, so you know exactly the range of these checks, can’t you just
cancel the whole range?"

"No, sir".

Long silence as I’m shaking my head in disbelief and contemplating my next

"So what are my options?"

"Your best bet is to close your account and open a new one".

"Are you serious?"

"Yes, sir"

"Look, closing my checking account is a big deal.  I have been a
customer for eight years, and I won’t do that unless you can give me a very good

"I’m sorry, sir, that’s the only option.  It’s for your protection".

"No, the best option for my protection and my comfort is for you to cancel
the range of checks you just sent me".

"We can’t do that, sir"

I take a deep breath.  I’m that close to raising my voice, something
that I rarely ever do, but reason takes over and I calm down.

"Fine. I’ll just reorder new checks".

I figure that if the checks have indeed been stolen and someone starts
issuing them, I can always dispute them on the basis that they won’t have my
signature.  How naive of me…

"Very well, sir, but before we do that, I need to bring my supervisor in".

"Really?  Why?"

"Because she needs to confirm with you that you are waiving protection
against fraudulent checks, sir".


"If you don’t mind holding, sir, I’ll call her right now".

Pause.  I’m on hold again.  I’m beginning to tap my fingers
nervously on my desk, because these last words certainly left me with a very
uncomfortable feeling.  I have no intention of waiving anything, and I hope
this supervisor has a good explanation for what’s going on.

"Hello sir, my name is April and I’m the supervisor.  Do I understand
correctly that you are waiving your protection against your stolen checks?"

"Hello April, and no, I’m not waiving anything.  I just called to
notify you that checks might have been stolen, and it’s not my problem if your
system can’t cancel more than six checks at a time.  Why would I suddenly
waive a protection against fraudulent checks that’s always been in effect ever
since checks were created?"

"Sir, by calling us, you admit that you know your checks are stolen, so if
you refuse to close your account per our advice, you are now liable for any
check issued"

"Are you saying that I would still be covered if I hadn’t called

I’ll spare you the five minutes of circular arguments that followed this
question, during which she carefully avoided the question.  I’m not one to
let go, though, so I kept repeating my question, and she finally admitted:

"Yes, I understand where you are coming from, sir, but that’s the way it

"You do understand how ridiculous this sounds?  You are basically
telling me that next time my checks get stolen, I’ll get better protection if I
don’t call you".

"I’m sorry, sir", she said, carefully avoiding the question again.

"Let me ask you a different question:  if Wells Fargo cashes a check
that doesn’t bear my signature, how can I be liable for it?"

"You wouldn’t, sir, but since you called us to notify us that your checks
were stolen…"

I interrupt her, since I know exactly where this is headed again.

"Hold on.  Are you saying that Wells Fargo doesn’t check for
signatures at all?"

This is a trick question, because everybody knows that banks and financial
institutions never check for signatures, which makes some kind of perverted
sense.  Sure enough, she dodges the issue again and she comes back to
blaming me for calling them in the first place.  I decide to change tactics
and see if this gets me anywhere.

"To be honest with you, should Wells Fargo ever clear a check that doesn’t
bear my signature, I would go to court to protect my rights".

"You wouldn’t be suing Wells Fargo in this case, sir, but the vendor".


"Wells Fargo is only an intermediary, we just move money around.  The
person you’d have to sue is the vendor who accepted the check, or the person who
issued the fraudulent check".

I don’t even know where to start with this one, but it’s pretty clear to me
that I’m no longer the only one in this conversation trying to protect my butt.

"I understand that you will never admit this, especially since we are most
likely on record, but I just want to emphasize how ridiculous I think this
conversation and the whole situation is".

"So, should we put your account on hold, sir?"

"Wait, are you saying there is a middle ground?  Could I disable
checks for my account for a little while and then restore them in the near

"Mmmh… no, sir, if we put your account on hold, it will eventually be

I can’t say I didn’t see this coming.

"How about this idea then, is it possible to just refuse to cash any
checks on this account for a period of time without leading to the closure of
this account?"

"No, sir. Are you willing to close your account and open a new one, sir?"

"At this point, I’m very much willing to close my account, but I won’t be
opening a new one with Wells Fargo".

I politely thanked her, hang up, fumed for a little while at my desk and
promptly opened an account with Bank of America.  At the moment, I’m making
a list of all the actions I need to take to make sure I transfer all my
accounting to the new account, and I’m hoping I won’t forget any.

Good bye, Wells Fargo, I won’t miss you.


iPhone announced

Isn’t it ironic that after several years sloughing through, just as the Mac
and Mac OS are finally making timid but noticeable inroads in
market shares, one of the most acclaimed MacWorld keynotes in years is a
presentation that doesn’t mention either even once in two hours?

To be honest, I’m surprised that the Apple fans are not more angry about
that.  I can certainly understand the excitement that the iPhone is
generating, even though some dark spots are beginning to emerge now that the
Jobs distortion field is wearing off, and it is indisputable that Apple has once
again proven that their sense of innovation is very much alive.  But if I
were a long-time Apple fan, I would probably worry that the focus in Cupertino
is slowly switching to everything that is not Mac-related:  iPod, iPhone,
iTV and probably more consumer electronic devices to be created in the next few
years.  The switch from Apple Computer Inc. to simply "Apple Inc" has to
taste bitter to Mac OS lovers.  Maybe next year’s conference should be
renamed AppleWorld?

Interestingly, even the most fanatical and devout fans were taken by
surprise, including the notoriously loudmouth and bigot John Gruber, who made
predictions for Mac World
, two of which being iTV and iPhone (which we
already knew about) and the other ten about the Mac.  All of them wrong.

No matter how good Mac OS is, it’s still a bit behind Windows, and just as
the gap is finally closing, not only is Windows about to receive a major upgrade
that is going to set it back as the undisputed number one user interface /
operating system , but it looks like as if it is approaching the final mile, Apple
is suddenly feeling a pain in its lungs as it is slowly realizing that you don’t
win a race by making bursts of accelerations only when the public is watching, but by maintaining a steady and sustained pace throughout the entire event.

To me, this year’s MacWorld’s was both about Apple showing everyone that it
is now a force to be reckoned with in the consumer electronics space and at the
same time, raising the white flag in the computer and OS field and finally
conceding that Mac OS will always be an also-ran.  But it’s okay because
its users are so fanatical about the Cupertino company that they will probably
keep buying and upgrading whenever they are told to, and I have no doubt on
their ability to maintain their condescending and superior attitude toward
everyone else no matter what.

And besides, despite its last minute slip, Mac OS still beat Linux, so
there’s at least that.


iPhone and streaming HDTV

I’ve been looking for a solution to stream high definition files to my TV for
a while, and it looks like NetGear listened.  Yesterday, they announced at
the CES the

, which automatically discovers all your media files (they support
all kinds of formats) on your Mac or PC, including HTDV content (the device has an HDMI connector).

Of course, it will definitely be worth waiting for the iTV announcement
before making a final decision (which might not happen at Mac World, based on
the latest rumors), but streamer devices are fairly common these days, so the
the make-or-break feature will be support for high definition TV.  Let’s
hope Apple delivers on that one.

Speaking of Apple, it’s not exactly been a glorious past month:

  • First, the backdating option scandal that is looming over the company
    (Jobs seems to be fairly safe from it, but it doesn’t mean other Apple
    executives won’t be impacted).
  • Then the iTV, which Apple pre-announced six months ago, in a dramatic
    break from their previous tradition (Apple never pre-announces anything,
    they prefer to make big splashes at MacWorld).  Some analysts called
    this pre-announcement a "pre-emptive strike", others identified it as Apple
    running scared that they might not come up with the iTV on time, a
    hypothesis which definitely rings more and more true now, since you can bet
    that NetGear won’t be the only one announcing a streaming device at the CES.
  • And finally, LinkSys announcing an iPhone family brand a month ago,
    thereby taking away the alleged name for Apple’s rumored phone.  To be
    honest, this speculation looks a bit silly to me:  if Apple has been
    working on a phone, it’s been for at least a year, and you can be sure they
    already knew back then that this name was already taken.  Anyway, it’s
    funny to see everyone, fans and non-fans alike, getting all excited over the

Speaking of Apple’s phone, assuming it’s real, will it be successful?

On one hand, the inexplicable success of the RAZR is unequivocally proving
that phone users are much more interested in the form factor than the UI. 
For having worked to make
Gmail for Mobile
work reasonably well on the RAZR for a while, I can tell
you this is no picnic, and Motorola had to cut a lot of corners in order to make
the RAZR look so good.  Everything in this phone is crippled: 
memory, CPU, screen size and density, etc…  And it’s even worse in the

Still, the RAZR has been one the best-selling phones these past years, so
it’s safe to assume that as long as the Apple phone looks cool, it will sell,
regardless of how good the phone really is.  Which doesn’t mean that you can get away
with anything when you make a phone.  If Apple wants to be able to sell to
the mainstream public (not only Mac users, which only represent less than 5% of
computer users in America), they will have to make it possible to synchronize
their phone with Outlook and all other kinds of Windows-specific software. 

I wonder how Steve Jobs feels about that…


Find the bug

I know that making fun of the java.util.Calendar class is as cheap as
laughing at the Darwin award
, but I spent a half hour this morning
debugging the following:

Calendar cal = Calendar.getInstance();
cal.set(2006, 12, 30, 8, 42);
Assert.assertEquals(2006, cal.get(Calendar.YEAR)); // FAIL

Here is what’s wrong with Calendar in this example, in order of increasing moronityTM:

  • Indexing months starting at 0.
  • Not throwing an exception when any of the passed values is invalid.
  • When a passed value is invalid, returning a valid date that has nothing to do
    with the values passed in set().

And these lessons come from a three-line code sample using Calendar,
which should give you a good idea why this class contains some of the worst code ever
included in the JDK (only second to Vector extending Stack).

What’s your vote for the worst JDK class?