Someone wrote "Chris Shearn is gay" on the Brooklyn Bridge, and I photographed it. Well, if this Chris Shearn does get his attorney involved, I hope he directs his crack legal team's efforts at locating whoever actually wrote on the bridge. Who knows how many thousands of people have noticed this little bit of graffiti? What a devastating bit of slander.

Ok, time to go out and get some dinner. I hope Mr. Shearn's lawyer hasn't already had a warrant issued for my arrest. I'd hate to be dragged out of the restaurant in the middle of a meal.

Slashdot is running a story about an engineer's view of literary criticism. I'm right there with you, Chip.

Dealing with deconstructionists can be quite difficult, particularly if you have an engineer's mindset (lets break this down into manageable parts and understand the whole thing...). I'd find myself in a class presumably with the purpose of more deeply understanding literature, but soon things descended into an "everything is right and everything is wrong" acid trip capped of by a final exam.

Thursday, January 08, 2004

Rumors regarding Canon digital SLRs are picking up. Canon may be trying to clear the distribution channel of its 1Ds and 10D models before rolling out new models.

I'm super-happy with my 10D, and wouldn't want to upgrade it should Canon just up the resolution. I'd be tempted to upgrade if the 10D replacement got a full-frame sensor.

But I'd be really tempted to go through the pain of selling the 10D and getting a replacement if Canon introduced a similarly-priced model with a real spot meter. Preferably a 1% spot, but even something like the 2% meter in the EOS 3 would be tempting.

If I had to guess, I'd expect resolution upgrades to the 1Ds and a slightly-higher resolution full-frame sensor on the 10D.

Hewlett-Packard said Thursday it will start selling an HP-branded version of Apple Computer's iPod this summer as part of a broad expansion into consumer electronics.

Apple will manufacture the player, which will not have the iPod name, but will have the same design and features as Apple's third-generation iPod players, Phil Schiller, senior vice president at Apple, said in an interview. Also, the HP music player will come in "HP Blue," he said. [via CNet]

One thing very clearly separates exceptional developers from average "programmers:" naming.

I've found that looking at a developer's naming habits is a clear, fast way to evaluate both overall skill and mastery of a given topic. Take a Java library; look at its JavaDoc and pay close attention to the way classes are named.

If the intent of the library's key abstractions doesn't stick with you once you learn the names and read the docs, it is a bad sign. Exceptional developers create classes with clear, simple names that convey intent and suggest how all the pieces fit together.

Take Doug Lea's concurrent library. Even if you aren't familiar with the differences between Java and POSIX threads, just looking through the class documentation makes the library usage clear.

Even though you may not remember the details, you'll quickly pick up the intent of Channels, Executors, and Barriers. The classes are named simply and make interface / implementation separation easy to understand. The names are simple, like Executor, rather than obscure (Doer, TaskHandler), goofy (Cruncher) or wordy (RunnableEntityManager).

Good developers know how to name things.

Likewise, one way to spot developers working on problems they don't fully understand is to look for naming breakdown. I see this with myself. When I really understand the problem I'm trying to solve, my code is much cleaner, and class / method names are better thought out. When I'm unsure of the nature of the problem, however, my naming breaks down. I start writing lots of "*Manager" classes. I copy / paste methods (getActiveCustomers()) and subtly rename them (getFullyActiveCustomers()) without conveying intent and difference.