Tuesday, January 30, 2007

A Man Walks Into a Bar...

One of my clients is a connoisseur of "A man walks into a bar..." jokes. I made this one up for him, and he thought it was funny enough to share:

A cartoon character named Sam bellies up to the bar and orders a yard of beer.

The barkeep asks him, "Are you sure you want a whole yard now? It'll get warm before you finish."

Sam replies, "Yes, I'm sure. I've got a 2-dimensional gullet, so this beer will disappear in nothing, flat."

Wednesday, May 17, 2006

Tapestry Wins Award at JavaOne

Tapestry won a Duke's Choice award for innovation at this years JavaOne. "The fourth Duke's Choice Awards ... spotlight some of the most clever, practical, and inspirational Java technology applications on the planet." Check out Howard's blog (photos yet to come): http://howardlewisship.com/blog/2006/05/tapestry-dukes-choice.html

Sunday, May 14, 2006

Best Pen for Margin Notes

I have a new favorite pen for writing notes in the margins of books. It's the Pilot Precise Gel 0.7 (a click pen). They come in four packs. It's ultra fine (great for when the publisher doesn't give you much margin space to work with) and it doesn't bleed through to the back of the paper. I bought a dozen of the pens and scattered them all over my house, car, and office, so one's always in reach.

Monday, January 16, 2006

Martin Luther King

"Man must evolve for all humnan conflict a method which rejects revenge, aggresion and retaliation. The foundation of such a method is love." -- Martin Luther King

Sunday, January 15, 2006

Ken Schwaber Speaking on Scrum 1/18/06

Ken Schwaber is speaking about his "Scrum" development process at a special meeting of XPSD this Wed (1/18/06). If you have never had the pleasure of hearing Ken speak, let me tell you it's well worth any effort to get there. He's a dynamic presenter with insightful material, and I guarantee you'll walk away enriched.

I first heard Ken speak in Pasadena a few years ago, and then again at an SD West conference in San Jose. In fact, two of the many highlights of that conference for me were when Ken joined me and my friends for breakfast and then later that evening when he led one of the most popular Birds-of-a-Feather sessions.

If I wasn't already committed to hearing Michael Feathers speak at the OC Patterns meeting the same night, I'd definitely consider driving down to hear Ken again.

Friday, October 14, 2005

Tapestry Components, Naturally

Mike Henderson and my business partner, Vladimir Drndarski, presented an introduction to Tapestry at the Orange County Java Users Group meeting last night. For this demo, they rewrote the entire www.ocjug.org website (albeit without persistence), and threw in a few extra features to boot. It took them only a matter of hours. One of the main aspects of Tapestry that they showed off was how easy it is to componentize elements of your web pages for reuse. Indeed, developing in terms of components with Tapestry comes so naturally, that you’d practically have to fight it not to.

One of the extra features Mike added was a component to take advantage of Google maps to give you driving directions to the OCJUG meeting. Initially, it just shows a map of the meeting location. If you enter the address of your starting point, it first calls one web service to translate it into lat/long coordinates, and then calls the Google mapping API to generate directions and show the route map. Pretty slick. All of the code for this Tapestry example is available on Mike’s blog (www.behindthesite.com/blog). See also www.t-deli.com for a demonstration of more Tapestry components.

Mike is the evil genius behind Tapestry Palette (tapestrypalette.sourceforge.net) and had a hand in developing Groovistry (Groovy for Tapestry, groovestry.sourceforge.net). Vladimir is President and co-founder of Maxim Software Corp. (www.maximsc.com).

Further reading: There’s a recent Server Side article that compares JavaServer Faces to Tapestry (www.theserverside.com/news/thread.tss?thread_id=35899) . By the way, www.theserverside.com itself is a Tapestry app (www.theserverside.com/news/thread.tss?thread_id=31313).

Friday, September 23, 2005

How to Be a Better Writer Through Blogging

As one of my colleagues is fond of saying “practice doesn’t make perfect, it only makes permanent.” His point is, it doesn’t do you much good if you keep practicing the wrong thing. So, when blogging, pay attention to style as much as substance, even though it’s “only a blog.”
  • Be eager for feedback and treasure any that you get.
  • Give yourself feedback. Simply go back and re-read what you wrote (the next day, and again later). Is what you wrote still as clear now as you thought it was when you wrote it? If not, figure out what you did wrong.
  • Proofread three times before clicking Post: once for content and clarity (how many times have you forgotten that ever so important “not”?), once for rhythm and style (word choice, asking questions or issuing commands instead of just making statements, etc.), and finally one last time for spelling and grammar.
  • Buy a style guide and use it. The Skunk and White you got in college will do, although one made specifically for journalists is a lot better for blogging purposes. (Mine’s the Washington Post version. I got it for $2 in a library liquidation fundraiser. I understand that the Associated Press puts out a good one.)
  • Already have a style guide? Supplement it with a thesaurus – a real Roget-style 2-parter, not one of those silly alphabetical-only compromises (of course, that would certainly be better than nothing).
  • Take advantage of spell check and grammar check tools and don’t be too quick to ignore the suggestions they give you. Tip: a grammar error is often actually a spelling error in disguise because the misspelled word looks like another word (“fell”/“feel,” “fiend”/“friend”, “it’s”/”its”).
Most importantly have fun with your blog. Write about the things that tickle your fancy. Write about your hobbies. Write about the “good” parts of your job. Write about the fun stuff that your friends, colleagues, customers and vendors are up to. The more interesting the topic, the more you’ll enjoy investing your time on it, don’t you think?

Sunday, September 18, 2005

Keeping Crib Notes

  • What’s the regular expression pattern for validating an e-mail address?
  • What are the command-line switches for configuring a Windows Explorer shortcut?
  • What are the 10 best opening hands in Texas Hold’em poker?
I can answer those questions in 10 seconds flat (assuming my laptop is booted up), because I maintain a series of “crib note” documents with just such information. (Currently, I use one Word doc per subject, but I’m thinking of moving it all to a personal wiki). I tend to do everything on the computer, but I know other people who handwrite such notes in an engineering notebook or keep a loose-leaf binder. Pick your poison.

The trick with any of these is figuring out what’s worthy of jotting down, and what’s not. Here are some of my criteria:
  • How hard was it to find the information? How hard will it be to find it again?
  • What’s the likelihood that I’ll need this information again? Is this already the second or third time that I’ve needed it?
  • Is this something I’m trying to become an expert on? Will writing it down help to reinforce the lesson, even if I never need to consult the note again? (But then I’ll have the note as a backup, just in case.)
My notes are currently divided into 18 folders: Self Improvement, Business, Office, Home Improvement, Hardware, Reference, Hobbies, Programming (in general), plus ten specific programming topics like Java and XML.