« August 2006
Main
October 2006 »
Jen and Steve's Wedding

The few pictures I have are now up.

The wedding was very nice, and on the beach! I got to wear my suit with bare feet! in public!

Ouch
I've just gotten my first bite mark from primitive auto-boxing in Java 1.5. The following code is meant to read a file in either special mode or non-special mode, or to auto-detect special-ness if the boolean argument is null. This would (correctly) be a compile error in 1.4.2: void readFile(String filename, Boolean isSpecial) {
    if (!isSpecial) // OUCH
        readFile(filename, autodetectSpecial(filename));
    } else {
        readFile(filename, isSpecial.booleanValue());
    }
}
The problem should be that I'm checking "isSpecial" for null without explicitly comparing it to null--- this is a mistake I make when I switch back and forth between Javascript and Java a lot.

But in Java 1.5 this code compiles without complaint because the compiler thinks I meant to auto-dereference the boolean and check its value for falseness. And then at runtime I get a nice shiny NullPointerException when the auto-boxing logic attempts to dereference "isSpecial" and read its value as a boolean.

I'm not saying that auto-boxing is terrible, but it is an example of how it can bite you, and it's not 100% gravy.
They're in cahoots!

As a software vendor I've thought about lots of ways to try to get customers to get onto the latest version of the software. More money and less headache for me, and (hopefully) a better product for them.

And as a customer, I'm in the opposite position: trying to figure out how I can continue to use the software I've settled for without having to accept a new round of frustrating bugs from the manufacturer. I've had many techniques used on me to get me to upgrade, but this is the first time I've experienced peer pressure.

Now that everyone at work is on iTunes 7 but me, the debate over whether it's better or not is really immaterial; I just have to upgrade if I want to continue to access the latest "Linkin Park" or whatever awful thing my coworkers have that I want to listen to but am too ashamed to own.

It's all about horsepower

Some friends of mine are getting married next week, so today I was faced with the normally tiresome chore of selecting some awful thing from their registry.

But this time I was delighted to see that in addition to the normal dishware, glassware, etc, my friends had registered for a 1.4 horsepower coffee maker.

In the normally impersonal world of wedding gifts, what could be a more appropriate gift from me than something that combines coffee with high-powered output? It's perfect!


(Sorry that you now know what you're getting. Be honest, though: there's not really that much surprise in these things, anyway.)

Spokane

Some pictures of my trip up to visit my dad last week.

My very life was threatened variously by beavers, chipmunks, turtles, altitude, fatigue, lack of convenient shopping, and felons. Check it out!

Now's My Chance

There are a bunch of important characteristics that any successful race car driver must have. By far the most common of these necessary characteristics is "total egotistical self-delusion".

In fact I would go so far as to suggest that most people who are racing today, at all levels from autocross all the way up to Formula 1, are doing so because secretly they believe that they could drive faster than Michael Schumacher if they ever got a fast car and a fair shake.

And so that's why today is such a great day for racing drivers everywhere--- Michael is stepping aside and creating a vaccuum in the sport. In reality that vaccuum will be filled by world-class F1 driver Kimi Raikkonen, but in the minds of racers everywhere, the Ferrari Team has opened its arms--- for me!

Technical Support
My cousin's laptop has finally died, in part because he takes it to 3rd world countries and uses it as a bullet shield. I always assumed that the greatest satisfaction of a technical support person's job is to uncover some really hilarious user error... I always imagine it would be something like this:

Support: Apple Technical Support, this is Jessica, how can I help you?
Caller: My laptop is not working.
Support: In what way?
Caller: Well the buttons don't seem to do anything.
Support: What do you see on the screen?
Caller: Nothing.
Support: Is it on?
Caller: I don't know.
Support: Can you press the power button? What happens?
Caller: It makes a noise.
Support: What kind of noise?
Caller: Like, a buzzing noise.
Support: Is it plugged in, or on batteries?
Caller: It's plugged in.
Support: So...
Caller: But it's not working.
Support: So when did this start happening?
Caller: Last week.
Support: And did you do anything between when it last worked and when it stopped working?
Caller: Well I went on vacation.
Support: And was the laptop on while you were gone?
Caller: Yes. I had it with me.
Support: Ah. And so did it work at some point on your vacation? Maybe some problem from checking it on the airplane?
Caller: Oh no, it worked on the airplane. I was using it right up until it stopped working.
Support: Oh, well was there an error message on the screen?
Caller: Not sure, I didn't see.
Support: Oh, was someone else using it?
Caller: No, but it wasn't in my hands right before it stopped working.
Support: You mean you left it running unattended?
Caller: No, I was right there when it slipped out of my hands.
Support: Wait, so you dropped it?
Caller: Well yeah.
Support: Did it fall onto a hard surface, or sustain a severe impact?
Caller: No, I wouldn't say that it took an impact.
Support: So you caught it? Or it fell onto something soft? What did it fall onto?
Caller: A lake.
Support: Uh, so it got wet?
Caller: Well I dried it off. And there were some lights on it when I got it out of the lake.
Support: So it was working?
Caller: Well, not after the fire.
Support: It was on fire?
Caller: No, but it was near the fire. To dry it off.
Support: And that's when it stopped working?
Caller: Well it was hard to tell because I couldn't open it.
Support: Why not?
Caller: Well the screen latch had melted.
Support: Sir, I think I've determined the cause of the problem.
Invasion of Stupid

I'm at my dad's house in Spokane, Washington for the week, and we are completely besieged by these little beetles. No idea what they are. No idea how they're getting in the house. No idea how to stop them or get rid of them.

They don't seem to want anything. They don't bite. They don't sting. They don't smell. They don't even really move particularly fast, and I don't think they can see at all. You can squash them or grab them by the leg and carry them outside, and they don't appear to even be aware of what's happening.

And because of these characteristics, they can fly but they can't steer, so as soon as they're airborn they're a serious hazard to themselves and others--- they bonk randomly into walls, into light bulbs, into your head, into your water glass, into my laptop, into the stove.

If they happen to land successfully, they just sit for a few seconds, and more than anything it seems like they're relieved that they survived another flight, and wonder how long it will be before they take off again to continue their quest for nothing in particular. From a Darwinian perspective their survival strategy appears to be overwhelming quantity.

Any ideas what we should do?

Oooh, Shiny

I think Google Earth is kind of silly. While it's neat-o to go see where you live and where your high school is, I couldn't imagine it offering any useful purpose.

But after spending an hour driving all over town with my Dad looking for a shop that sells topographical maps for him to use on his upcoming camping trip, I thought, "MAPS? Made of paper? How 1983. I bet Google Earth could do that."

So when we got home I installed the free version on his laptop, and he went completely ape-shit over how cool it is, and how it lets him visualize how steep his hikes will be, and how he can see exactly where the roads are, and where his house is, and zoom and tilt and fly through mountains, and on and on.

So now I'm feeling a bit guilty, because (a) it does seem to have a useful purpose, and (b) it's free and cool, and (c) I guess as a Silicon Valley geek I take it for granted that the internet can now solve basically any problem for you, for free.

So, my apologies, Google Earth. Thanks for helping out my dad. You are cool after all.

Rammstein

At the time, and in the proper context, this conversation seemed completely reasonable.

(Not that you should care, but if you need some background information, that might help.)

Why don't you just burn my money
When I was 9 years old NASA was the coolest thing ever. So in a way it's extra-awful to see how NASA sucks now that I'm an adult--- the double-insult of having my taxes wasted and my childhood wonder crushed out.

10 reasons why manned space flight is retarded

  1. Manned space flight puts human lives at unnecessary risk
  2. Manned space flight can tolerate no mistakes
  3. Engineering mistake-free manned space flight is at least 10 times more expensive than equivalent robotic space flight
  4. So on a given budget we could be achieving at least 10 times more with robots
  5. The lessons we learn from engineering robotics translate to a huge spectrum of other applications on earth
  6. The lessons we learn from engineering manned space flight teach us nothing except how to keep fragile pink water bags alive in a radiation vaccuum
  7. We need to develop better robotics anyway if we ever want smart cars, smart houses, smart planes, smart trains, smart stores, smart cities, smart phones, smart money, etc.
  8. Running a zero-mistake project takes much longer than a quick-and-dirty project
  9. Having everyone scared of taking any risk squelches innovation and creativity at NASA
  10. Sleek futuristic-looking space vehicles containing robots are more neat-o than metal cylinders containing people named "Neil"
Bored?
Hey, kids! Have about 6 hours that you wish you could burn up with a pointless task? Here's a fun game you can play with any windows computer! Try this:

  1. Put a bunch of important data onto a 5 year old disk drive.
  2. Have the disk drive crash. (The easiest way to accomplish this is to shake it, or you can just wait.)
  3. Install a second disk into the machine in the hopes of recovering the data.
  4. Install Windows XP Pro.
  5. Note that windows will helpfully designate the new drive as "E:", leaving the dead drive as "C:". Windows will then be installed onto "E:" without your consent or control.
  6. Frantically copy as much data from the dead "C:" drive as you can.
  7. Note that the machine seems to freeze randomly while the bad drive is installed.
  8. Remove the bad drive and reboot.
  9. Now note that your machine has no C drive.
  10. (Ever wondered if Windows and all of its applications assume the presence of a C drive, and pretty much don't work at all if you don't have one? Here's a hint: YES.)
  11. Try to change the E drive letter to C so that things work correctly.
  12. Reboot.
  13. Note that your new drive no longer works at all, and the OS must be reinstalled.
  14. Start over at step 1.
Rage is the best flattery

Recently I accidently caused a bug in an old, forgotten area of the product that was one of the first things I wrote for Jot. I don't really work on that area any more, because we didn't think it was very popular and so I moved on to focusing on higher impact parts of the product.

Imagine my delight to hear that customers are actually complaining about the bug I introduced! That means that they're actually using it! My heart sings with each angry support ticket!

The views expressed on this site are mine personally, and do not necessarily reflect the views of my employer.