Spaceman

December 4, 2009 at 12:00 am (PT) in Art

Spaceman thumbnail

Acrylic on cardstock. A DIY print I made from a foam egg carton impressed with a dull pencil at the 2007 Maker Faire in San Mateo, CA.

Yes, that’s the “(electrical) ground” symbol on the flag, which is lame, but I couldn’t think of anything on the spot.

More dragon doodles

December 3, 2009 at 12:00 am (PT) in Art

jdl-20071203.png thumbnail

More dragons, doodled between people’s presentations during a VMware R&D conference in December, 2007.

(I really need to start drawing other things. Or I at least need to stop drawing disembodied heads all the time.)

Wyvern

December 2, 2009 at 12:00 am (PT) in Art

Wyvern thumbnail

A wyvern I doodled in 2003.

Michael’s birthday card

December 1, 2009 at 12:00 am (PT) in Art

Thumbnail #1 of Michael's birthday card Thumbnail #2 of Michael's birthday card Thumbnail #3 of Michael's birthday card Thumbnail #4 of Michael's birthday card

A birthday card I made with Corrie in 1996 for Michael Feng, teddy bear nut. I sketched out the main parts and the poem title in pencil, and Corrie inked it, colored it, and did all of the other lettering. (In other words, she did all of the time-consuming parts.)

The eyes ended up inverted; I meant for them to be black with white glints (but who am I to question Corrie’s artistic judgment?). I think the way it came out, though, does give the bear some more personality as he tries to avert his eyes from the horrors inflicted upon him.

Stranger than fiction

November 24, 2009 at 12:19 am (PT) in Personal

A couple of old stories that I never got around to posting:

Three years ago, a group of my friends set me up on a blind date with a girl they all knew. By coincidence, each of them knew her in unrelated ways. She was Chinese, a year younger than me, and also had gone to U.C. Berkeley as an undergraduate.

I went along with it. The date went horribly; we were both not very talkative, so the whole thing felt very awkward. I did discover, however, that she used to live in Chelmsford, Massachusetts—the same podunk town that I was from! She lived there somewhat briefly when she was little and didn’t remember much about it though, so sadly it didn’t help conversation much.

Afterward I mentioned it to my mom, who remembered that the Chinese family that used to live a few houses away from us had a daughter the same age. And sure enough, it was her! My parents even found an old photo with the two of us as little kids in it, and her parents found an old photo with me in it.

So much for fate.

Earlier this year, I asked out a Chinese girl that I had recently met playing volleyball. Remarkably she agreed to a date, and even more remarkably, on the date I found out that she too was from Chelmsford! (Her family moved there shortly after mine had moved away, so our paths had never intersected.) The date went well, but once again things inevitably ended up going badly for me anyway.

I think the Fates like taunting me.

Okay, so maybe Chelmsford isn’t quite the podunk town I think of it as. It’s reportedly the 21st best place to live in the United States according to Money Magazine, and Wikipedia says that the middle school I attended there was the basis for Springfield Elementary in The Simpsons. Still, just meeting someone in California who has even heard of Chelmsford is pretty rare. But meeting someone who’s actually lived there? And someone Asian from a town that’s almost 95% Caucasian (the percentage was probably even higher 20 years ago)? And having it happen twice? And one of those times being a former neighbor?

Palm’s history of imitating Apple

November 21, 2009 at 2:42 am (PT) in General

Obviously there’s the whole thing about the Palm Pre versus the iPhone, but Palm has had a tradition of following Apple’s moves, even ignoring the direct comparisons between the Palm Pilot and the Apple Newton.

Apple Palm/PalmSource
Licensed its operating system to other hardware manufacturers, which hurt the platform in the long-run. Licensed its operating system to other hardware manufacturers, which hurt the platform in the long-run.
CodeWarrior-based development environment for 68K applications. CodeWarrior-based development environment for 68K applications.
Underwent a hardware transition from Motorola 68K to PowerPC to Intel, going from a big-endian architecture to a little-endian one. Underwent a hardware transition from Motorola 68K to ARM, going from a big-endian architecture to a little-endian one.
Transitioned from 68K to PowerPC with System 7, which used an emulation layer to run old 68K applications. Much of the operating system was PowerPC-native, but portions (especially user applications) were still 68K-based. Transitioned from 68K to ARM with Palm OS 5, which used an emulation layer to run old 68K applications. Most of the operating system was ARM-native, but it did not officially support fully ARM-native user applications (with some exceptions).
Attempted to replace its traditional operating system with a modern, fully PowerPC-native one (Copland) but failed. Attempted to replace its traditional operating system with a modern, fully ARM-native one (Cobalt) but failed.
Considered acquiring Be to use BeOS as its modern operating system. Actually acquired Be and used portions of BeOS in Cobalt.
Its modern operating system, Mac OS X, is based on the Unix operating system. Palm’s modern operating systems, webOS, is based on Linux, a Unix-like operating system. PalmSource’s modern operating system, ALP, also is based on Linux.

It’s a shame that Cobalt was stillborn; I think an upgraded version of Palm OS would have been exactly what I wanted. (ALP could be it, but it still hasn’t shipped on any actual devices, and being so late to the party, I suspect it might end up suffering the same fate as Cobalt.)

Goodbye, Treo. Hello, Pre!

September 6, 2009 at 10:39 pm (PT) in Personal, Rants/Raves, Reviews

After four years, I’ve finally said goodbye to my trusty but beaten-up Treo 650. I started noticing screws missing from it about a month ago, and a couple of weeks ago I lost the antenna, which fell off somewhere without my noticing.

Thumbnail #1 of my poor, beaten-up TreoThumbnail #2 of my poor, beaten-up TreoThumbnail #3 of my poor, beaten-up Treo

The chipped paint and smudged icons on the buttons? That’s the result of 3½ years of sharing a pocket with my keys. That weird cloud in the center of the screen? It’s dust that seeped in and collected there. That hole in the back cover? I drilled that so that I could easily access the reset button with the stylus. (I admit that it might have contributed to the dust problem.)

I actually could have tried transferring my number to my dad’s old Treo 650, but I decided it wasn’t worth the hassle. No more reception was the push I needed to buy the new Palm Pre. (Sorry, iPhone, but I’m a (wanna-be) keyboard snob.) This also marks the end of nine years of using Palm OS.

The Palm Pre is nice. There are a few significant things and a lot of little things that I miss from the Treo 650, but having a modern web browser makes up for all the deficiencies. When I think about it, I realize that I was pretty satisfied with everything about the Treo except for its anemic and ancient browser.

(more…)

Cygwin is evil

August 21, 2009 at 2:06 am (PT) in Programming, Rants/Raves

Cygwin, a port of various Unix utilities to provide a Unix-like environment on Windows, has been around for a long while. It’s well-known; sites such as Lifehacker gives tips about using it. My tip is: avoid Cygwin unless absolutely necessary.

Cygwin-based tools depend on cygwin1.dll, and cygwin1.dll is obnoxious because:

  • It’s DLL-hell squared. You can’t simultaneously use different Cygwin-based tools that depend on different versions of the cygwin1.dll. Normally Windows programs can avoid DLL-hell by storing dependent DLLs in the programs’ own directories, but cygwin1.dll goes out of its way to search for other instances of itself.
  • To avoid that problem, the Cygwin authors discourage developers from bundling cygwin1.dll with their applications and instead want developers to include the Cygwin installer, which automatically fetches the current version from the Internet. Unfortunately, the Cygwin installer is horrible. The UI is non-standard and is completely bewildering. There is no uninstaller. Making end-users download and run the monolithic Cygwin installer just to get a small command-line tool also violates the Unix philosophy of having small tools for specific tasks.
  • The approach of bundling the Cygwin installer is fundamentally flawed anyway. Even if each application includes the installer, there’s no guarantee that the current version of cygwin1.dll is compatible with all of them. Installing one application could break existing ones. Did I mention it being DLL-hell squared?

So what are people to do?

  • If you want common Unix command-line utilities, check UnxUtils first, which is a collection of ones that have been ported to run natively on Windows.
  • If you want to compile a program written for Linux, try using the MinGW compiler first. For command-line programs, there’s a good chance that MinGW can compile it, and the generated binary won’t have any cygwin dependencies. (Yes, Cygwin’s version of gcc has an option to not require cygwin1.dll, but it basically puts it into a MinGW mode anyway.)
  • If you need a full Linux environment, install Linux in a virtual machine (shameless plug) or use andLinux. (andLinux doesn’t support 64-bit versions of Windows yet, however.)
  • If you want an X Server, try Xming.

I should note that Cygwin is still a necessary evil for stable versions of bash and sshd. I don’t know of any good alternative implementations of those.

I’m still not meant to play sports

April 21, 2009 at 1:41 am (PT) in Personal

Last June while playing volleyball, I jumped to tip the ball but twisted in the air, landed badly, and felt my knee buckle with a popping sound. I was busy with work to get it examined by a doctor, and after a couple of weeks of limping around, I resumed walking around normally and seemed fine for a long while. Every so often, though, I’d hurt it again trying to play some random sport, although usually it wasn’t too bad and just left me with a limp for a week or so.

Last week I hurt it again while throwing a football, and this time I hurt it badly enough to not be able to walk, finally motivating me to get it checked out by my orthopedist. I woke up at around 6 AM for a 7 AM appointment, showed up at 6:55 AM—before the doctor’s office opened—and there already was a line. I waited there for about 90 minutes before I got time with the doctor. He then sent me down the street to get an MRI scan. Since I didn’t have an appointment there, I had to wait there for a few hours while they tried to work me into their schedule. Then back to the doctor’s office to undergo more waiting. I think I spent about six hours in waiting rooms that day—a reminder why I am usually so reluctant to go.

It turns out that—as I had long suspected—I had torn my ACL a year earlier. By now there’s nothing visible left of it (which is just as well given that completely replacing it usually works better than attempting to repair it), and in the meanwhile I’ve torn some cartilage in my medial meniscus, which is probably what caused the pain last week.

I’m having surgery tomorrow to get everything fixed.

Why isn’t buying Wii points easier?

April 8, 2009 at 2:46 am (PT) in Rants/Raves, Usability

Downloadable games for the Wii are purchased through credit (“Wii Points”). Wii Points are purchased in the form of gift cards from retailers or are purchased directly through the Wii. The gift cards have a redemption code that must be entered on the Wii. Typing this in without a keyboard seems somewhat laborious. Purchasing points directly through the Wii requires entering a credit card number and some billing information. Typing this in is even more laborious. The gift cards therefore are a bit easier, but they lack instant gratification and seem physically wasteful.

I don’t understand why customers can’t make an account on Nintendo’s website, link their Wii with their web account, and then purchase Wii Points directly through the web. (Potential problems where people mistype their Wii ID number can be prevented by a simple two-step confirmation system.) You’d think Nintendo would want it to be even easier to separate customers from their money.

(Oh, I know I’m being a nitpicky pedant, but when buying points directly on the Wii, the confirmation screen confused me a bit. What am I answering “yes” or “no” to?)