The Source for Java Technology Collaboration
User: Password:



Erik Hatcher's Blog

Open Source Archives


Hola Amigos

Posted by erikhatcher on August 03, 2004 at 01:16 AM | Permalink | Comments (0)

I was interviewed by javaHispano recently. My interview has been posted. Read it en espanol or in english. Please note, Maven folks, that the 1.0 release came out after I submitted my interview over a month ago - so please disregard my comments about it not being released in a 1.0 final form.

Search Convergence

Posted by erikhatcher on July 03, 2004 at 11:47 AM | Permalink | Comments (0)

Apple's World Wide Developer's Conference was going on concurrently with JavaOne last week.

I watched Steve's keynote presentation via Quicktime after hearing tale that one of keywords of the keynote was "search". In the keynote, Jobs unveiled Spotlight, a very clever and pervasive search infrastructure for Mac OS X Tiger.

One of my most favorite authors, Steven Berlin Johnson, says its ironic that the most highly-touted feature in Tiger is one they've been trying to get into a shipping OS for almost ten years referring to the VTwin engine touted for Copland and rumored to be under the covers of OS 9 and probably the current OS X. Converging, Doug Cutting played a key role at Apple's Advanced Technology Group in the development of VTwin and is the creator of Lucene and Nutch.

I've been smiling ever since Apple's announcement and hanging out with Doug Cutting following my Lucene presentation at JavaOne. I sensed I was on to a very hot topic when I started co-authoring Lucene in Action (Manning) last fall with Otis Gospodnetic. With the convergence of search within my preferred operating system, it reassures me that that learning and writing about search technologies was the right choice.



The Network is the People

Posted by erikhatcher on July 03, 2004 at 11:18 AM | Permalink | Comments (0)

The title of this blog entry was dreamed up independently and before I read Dion's blog entry "The Network Is The Conference". I agree completely with Dion's entry, yet add that it really is bigger than simply the JavaOne conference. In fact, had we all gotten together in the same time-space without JavaOne going on, many of us might not have even noticed a difference. I am, however, very thankful to the conference organizers for giving us an excuse to get out and meet one another face-to-face.

Chronologically
Saturday I arrived in the morning. On the flight from Atlanta to San Francisco, I built a Tapestry-based web application to demonstrate during my Lucene presentation. The application has a similar search and results interface to Google's image search. After arriving, I hopped online quickly and spotted James Duncan Davidson on iChat. He had not left for WWDC yet, but was leaving soon. I asked him where the alley way Mexican restaurant was that is near Moscone (that I had been to last year). [If you're curious, it's El Balazo at 54 Mint Street - don't miss it if you like enormous authentic burritos]

After a siesta and more catching up online, JDD called and we went out to dinner. His report of the events after dinner leaves some details out, but here's my version: we leave Chevy's and walk between Moscone North and South towards WWDC at Moscone West and a BMW pulls up beside us with a very attractive woman in the passenger seat waving and yelling "James!". We get to Moscone West and all but one door was locked (it's around 8pm) and we go up to the registration desk where two attractive women are unpacking and organizing. Duncan asks if he can register and we're told they are closed and they wonder how we got in since the doors should have been locked. Duncan says "I'm going to the all day class tomorrow and wondering if I can register tonight". One of the ladies agrees and asks for his ID. When she reads his license, she screams "YOU'RE JAMES DUNCAN DAVIDSON! YOU'RE FAMOUS! I see your name everywhere. I'm so glad I got to meet you!". At this point, Duncan is blushing. To clarify, Duncan was teaching the class on Sunday, not just attending it. What a great way to start JavaOne - with the one guy who I can directly attribute to a great deal of my success in the past couple of years. Remember, it's the people!.

Sunday started when my gracious roommate, Cos Difazio (nudge - blog sometimes will ya?!), and I went out to breakfast near Union Square and then he bolted to his Java University class. I went to the java.net Javapedia session where I caught up with Malcolm Davis, Jonathan Simon, Daniel Steinberg, and some others. Last year I was a member of the java.net blogging and Javapedia team to prime some content. This year we discussed the lack of Javapedia adoption and how to rejuvenate it. Unfortunately, even though having an all-things Java wiki seems like a great idea, there are finer grained wikis for tons of Java projects which, to me, makes it tough to drive relevant content to Javapedia. Java.net in general is a great resource for articles, blogs, news, and a growing number of high quality open source projects - it's just the wiki that is hurting. Jonathan and I escaped to get some lunch (nice Thai food near Moscone) and register for JavaOne. At registration we ran into "Crazy" Bob Lee and Pat Niemeyer.

I caught up with my good friend Joseph Hannon (a rocker from Iowa who I first met at NFJS St. Louis last year, and hung out with a lot at JavaOne '03) and Mike Clark for dinner (later joined by JDD after his all-day course) at Uncle Vito's. Sunday night brought the invitation-only O'Reilly party at the Thirsty Bear.

Despite writing for Manning, I'm very much a FOO, Friend Of O'Reilly. It was great catching up with familiar people, and meeting some new ones. I ran into many notables, including Mike Cannon-Brookes, Gavin King, Kathy Sierra, James Strachan, Bill Bumgarner, and many many more. I also ran into a few Apple folks, one of whom is working on Java WebStart and the Mac JVM, and another who is working on "stuff" he could not mention (to which all I can say is "keep up the great work, whatever it is"). O'Reilly gave out gift bags to everyone there, which included a copy of the quite interesting book Hackers and Painters, half of which I read on the trip home. Did I mention that The Network is the People?

Monday started the JavaOne frenzy. I attended the morning keynote by Jonathan Schwartz. The Java Studio demo was lame - Tor didn't break the demo this time because he didn't actually do anything with it, but then again, who would want to with your boss threatening to fire you in front of the world (geez!). What's up with the numbering scheme? Java 2 (Enterprise/Standard/Micro) Edition 5.0. Why the 2? Come on Sun, help us truly make our lives better, faster, and lighter from the top, not just with technologies like EJB3.

Mid-day I met with Kevin Burton and talked about Lucene, NewsMonster, and other very cool ideas he's got cooking - very very impressive stuff. I had to cut our discussion shorter than I would have liked to review and tweak my Lucene in Action slides for my presentation the next day thanks to Sun's stringent control of the slides and tight window of opportunity to change them.

Monday night was the second Thirsty Bear gathering for me - the Java bloggers meet-up. Once again there were many good friends, as well as many of the online blogging personalities whom I had not met in person before. The gathering was in a tight corner, much too tight for the number of people. I could barely move in the crowd. I briefly chatted with Tim Bray, a familiar FOO friend who mentioned that Jonathan Schwartz was going to be the next Sun blogger. Not a moment later, Schwartz himself appeared. My pal Joe snapped a photo of Schwartz and me (sorry, my cell phone camera resolution is not great).

I had to duck out for a bit for dinner and to do a technical rehearsal to ensure my laptop worked properly with the presentation equipment for my demonstrations of Lucene. After my rehearsal, I went back to the Thirsty Bear and caught up with the remaining blogger crowd, including Matt Raible and some others for an interesting JSF/Struts/Tapestry conversation and I also got to chat with the SourceBeat folks, who are really doing some interesting things in the book publishing business. After staying out a bit later than I should have, I went back to the hotel and watched Steve Job's WWDC keynote via Quicktime and tinkered with my presentation demos way into the night. As much as I've spoken at conferences, symposiums, JUGs, etc, I didn't think I'd be nervous, but somehow the JavaOne aura got me a bit nerve rattled, and I didn't sleep well and got up far too early to continue tinkering with my demos and going over my slide flow.

Tuesday - my JavaOne debut. In the morning, I sat down in the lobby of Moscone South to relax and go over my slides. As I was reviewing them, a guy sitting near me saw the word "Lucene" on my papers and introduced himself. It was Kevin Jones, someone I was very interested in catching up with anyway. Kevin is a DevelopMentor instructor, one of only a handful of elite technical instructors who really have no rival. Kevin attended my Lucene presentation, but unfortunately we lost track of one another afterwards - although we continue to stay in touch via e-mail. My presentation started with only a small crowd - although it filled up dramatically over the next 15 minutes (I later heard the keynote went longer than scheduled - ouch!!!). It is near impossible to do a technology like Lucene justice in a single hour. My nervousness and being rushed to get started when I saw folks still coming in flustered me a bit and I didn't introduce myself until a few minutes into my presentation, and my image search engine demo was to include me uploading the photo of Schwartz and me, keywording it, and then searching for it, yet I somehow forgot to do those steps. But, my demos worked flawlessly, the presentation seemed to go well, and I was mobbed with questions afterwards. None other than the extremely cool creator of Lucene, Doug Cutting, was also in attendance. After all the questions were answered, Doug, John Mitchell, Jonathan, Joe, and I went to lunch and then made a quick pass through the show floor to collect freebie toys for our kids. What a great feeling Doug must have to know that probably half or more of the vendors there use Lucene embedded in their products. We owe Doug a great deal of gratitude for his creation and his openness for sharing it with the world. Doug is also one of the nicest and most enviro-friendly guys I've met.

With my presentation over, I now relaxed a bit. Joe and I played some foosball (but not nearly enough!). I went over to WWDC and roamed the vendor floor a bit, and went back JavaOne and caught the first few minutes of the Groovy session. I ducked out to visit with my old Core J2EE Patterns pals, Crupi and Malks (and Deepak, whom I had just met). I had dinner with Joe, and then off to the Borland "Rock On" party with the Near Infinity gang. The Borland party was pretty darn impressive, with the largest collection of female "Java developers" I've ever seen. The party degraded once the band started - although perhaps thats because I was (probably the only one) sober. It was great seeing more good friends, even getting to see Blake Stone again. I wanted to end the night with the theme of this blog in mind... Jonathan, Joe, Stu Halloway, and I all left the club and wandered around a bit and chatted. This was my last day at JavaOne, and it ended perfectly.

For a humorous (perhaps even corny) elaboration on what I mean by this post, I refer you to Love is the Killer App. This is, in my opinion, required reading especially for those that feel its more about what you know than who you know. From an article by Tim Sanders for FastCompany:

The most powerful force in business isn't greed, fear, or even the raw energy of unbridled competition. The most powerful force in business is love. It's what will help your company grow and become stronger. It's what will propel your career forward. It's what will give you a sense of meaning and satisfaction in your work, which will help you do your best work. [...] Even in the digital era, when the Internet connects hundreds of millions of computers around the world, the power of love in business is rooted in the centrality of the human factor. Success is based on the people we know. Everyone in our address book is a potential partner for everyone we meet. Everyone can fit somewhere in our ever-expanding business universe. And the value of our network is a function of our willingness to share it. We collect marbles, baseball cards, and antiques in order to hold on to them while they increase in value. The purpose of collecting contacts, however, is just the opposite: to give them away -- to match them with other contacts. So don't screen people out. Those who appear powerless or insignificant may be stars waiting to rise. Someday, they may become key nodes in your network -- and create a huge opportunity for you. And they will remember that it was you who was on their side before everyone else was.
I apologize for not having or making more time at JavaOne to catch up. Here's an extra special shout-out to Joseph Hannon (yeah, you do rock!) and Jonathan Simon, both of whom I spent the most time with during my time at JavaOne.



Enterprise Java Development on a Budget

Posted by erikhatcher on April 28, 2004 at 12:52 PM | Permalink | Comments (1)

I had the privilege of writing the forward to a new book, Enterprise Java Development on a Budget: Leveraging Java Open Source Technologies. I just got their book in the mail. I'm proud of what I wrote, so I thought I'd share it here.

J2EE development is hard. I have been developing with Java for the past 6 years, and there are areas of the enormous API that I have not touched. J2EE covers security, distributed transactions, persistence, messaging, web services, interoperability, and much, much more. Enterprise Java development does not mean coding only with this API, but rather involves the entire suite of Java editions. J2EE layers on top of the standard edition (J2SE). And to make our heads spin even further, J2ME entered the rapidly growing mobile world.

To exacerbate matters, our industry still reels from the great .com shakeout. Like many of you, I experienced the joy of being dot bombed… twice. We rise from the ashes to contend with more complexity and fewer resources than ever. Our teams are smaller and budgets are tighter. Failure is not an option. Do not despair, however.

In fact, times have never been better! Smaller teams allow us to act and react more quickly. Attention to fiscal responsibility means we focus on client satisfaction and quality workmanship. From our need to simplify, the agile methodologies speak to us at an instinctive level. "The hard and stiff will be broken. The soft and supple will prevail." (Tao te Ching) We create software. As such, it is malleable. Refactoring keeps code clean as requirements change. As code evolves, keeping top-notch quality demands we test. Testing addresses complexity, partly. We can focus on a single unit at a time, test it thoroughly, and build upon it with confidence.

Kent Beck said, "Any program feature without an automated test simply doesn';t exist", which speaks to the importance of confidence and another facet, automation. Repetitive tasks are vital, such as a heart beating. Such repetitive tasks, though, should be effortless. Failure of such tasks requires grave concern. Effortless, yet unmistakably vital, otherwise the complexity would overwhelm us and suffocate our projects.

Open source factors into both the testing and automation realms of Java development. JUnit and Ant are the de facto standards, and built into all modern development environments. These projects, and the others discussed in this book such as Struts, Hibernate, and XDoclet represent more than just free software to use. Communities are thriving around these projects, and we benefit from the collective contributions of individuals around the world. Besides addressing our limited budgets, open source addresses the complexity and quality issues from several angles. Common problems generally have open source alternatives; avoid the reinvention of the wheel and concentrate on adding business value, not plumbing. Many open source projects have comprehensive test suites, relieving you of concern for reliability. And when the inevitable bug appears in an open source library, or a need for enhancement, robust test suites make opening the hood a real joy. Tune into the mailing lists, and other avenues of collaboration including wikis and blogs, of the open source projects you leverage. It is commonplace that questions are answered within minutes, putting to shame most commercial support contracts.

All of this philosophizing leaves us wondering what to do next. We have real work to do, and real deadlines to meet. Deriving from a Greek word meaning “to do”, we must be pragmatic. As pragmatic programmers, books are a fundamental part of our craft. The book you are holding contains many gems of wisdom gleaned from hard work. There is no substitute for experience, but it would be foolish not to learn from the experiences of others. I prefer practical examples and the voice of experience on technical topics, and this book shines in both. Chris and Brian have made one of life's greatest sacrifices, the authoring of a book. I commend them for their effort, and applaud them for the quality.



TheServerSide Symposium debriefing

Posted by erikhatcher on July 02, 2003 at 06:50 AM | Permalink | Comments (4)

I had the pleasure of attending and presenting at TheServerSide Symposium last weekend. It was a wonderful event, and I hope many more are to follow! It was done in the same vein as Jay's excellent No Fluff, Just Stuff symposiums, except with vendors getting more air-time. I much prefer far less vendor (read: None!) sales pitches, but it was generally done tastefully with vendor keynotes during breakfast. The sessions I attended were definitely "just stuff".

Here is a list of interesting tidbits/links from my symposium experience:

Arrived Thursday afternoon, with a very "exciting" cab ride from Logan to the symposium hotel with Dion Almaer. Logan is the worst airport I've been to in my recent travels. Boston may be a great place (unfortunately I didn't get to see any of it on this trip), but my first impression is always the airport. After checking in and taking a quick swim, I had dinner with many of the notables of the symposium: Mike Cannon-Brookes, Jason Carreira, Cameron Purdy (the official symposium blogger!), Bruce Tate, Chistophe Ney, Rod Johnson, Tyler Jewell, and others. We were later joined by Gavin King, Vincent Massol, and my great friend Rick Hightower. Most of us were up well past midnight chatting.

Friday's sessions began with Rod Johnson's AOP presentation. I really enjoyed talking to him about his Spring framework on Thursday night, and that got me interested in hearing more of what he has to say. I've heard nothing but great things about his book. I presented in the second slot of the day, with my Advanced Struts presentation. This was the first time I had given it, yet it felt comfortable and I got a lot of nice comments about it. Don't be surprised, though, if I defect to the WebWork2 side of things (more on that below). In the afternoon I attended Vincent Massol's "Unit Testing J2EE Applications" presentation which was wonderful. He demonstrated unit testing via mock objects, with Cactus, using Ant, Maven, and Eclipse. Definitely keep your eye out for his upcoming fantastic (I know, I've reviewed several chapters) JUnit in Action book. Of particular note from Vincent's presentation was the emphasis on DynaMock, which I will be incorporating into my toolset. After Vincent's talk, I went to Bob Lee's JMX presentation. JMX is nice, and Bob really knows his stuff. After such a full day, I caught up with the head of Manning, Marjan Bace. There were several Manning authors speaking at the symposium, and Howard Lewis-Ship lives in the area and joined us in the evening for lots of fun discussions. I was on the open-source panel discussion Friday night, along with Bill Burke, Gavin King, Mike Cannon-Brookes, Christophe Ney, and Vincent Massol. I announced there that I have been elected to be an Apache Software Foundation member.

Saturday was my "day off". The day started with John Crupi's patterns talk. I've been a long time fan of the Core J2EE Patterns book which he co-authored. At lunch I spent some time speaking with him and became an even bigger fan of his. I intended to be front-and-center at Mike Cannon-Brooks "JavaBlogs.com: The movement, the site, the technology" presentation, but I ducked out moments before the presentation started to spend some more time with Marjan from Manning before he left and the room filled over capacity in no time, trapping me out. I stood by the door and soaked up as much as I could. He covered the architecture of the system, which includes several OpenSymphony frameworks/APIs. After lunch I attended Kyle Brown's front-end best practices presentation. He is a great presenter, but the material was a bit too introductory for my needs. I finished the day with Mike Cannon-Brookes' WebWork2 presentation. Its a great framework, making it a very compelling choice over Struts. One of the biggest selling points for me is the ease of testing WW2 "actions", which are simply POJO's using the XWork IoC (inversion of control) and command-pattern facilities. Testing Struts can be done, but its not fun. My evening ended early, after grabbing dinner at the cookout. I skipped the keynote and panel that night.... the previous two nights of Java chatting past midnight took its toll :)

Sunday started with Scott Ambler's introduction to agile modeling. I've read his book, so it was not new material. I've been immersing myself in the agile mindset a lot lately also. Ambler has been a long-time hero of mine, especially after reading the elegant Elements of Java Style and modeling it in an Appendix in our book as Elements of Ant Style. I was expecting a bit more of a personal "hey" from Scott. I got a quick "SA" autograph in my copy of his book. I realize he's a big name guy, though, and was busy, but he was a reviewer for my book and I made sure he got a free copy of it. I'm guessing he didn't even look to see my name. A bummer about going to these symposiums is that I actually have to present and miss some excellent sessions, although presenting is fun and I followed Ambler's presentation with my eXtreme XDoclet one. I was really surprised by how many folks there were using XDoclet already. It goes to show the caliber of attendees at TSS. After lunch, I went to half of Ambler's agile database techniques presentation - I was expecting more meat, but rather it was a high-level overview of the issues involved. Not to mention that relational databases are a code smell to me anyway :) Before the mad dash back to the airport, I finished the symposium with most of Sean Neville's rich internet applications presentation. He did a great job showing all the options out there and diving deeper into the details involved in implementing richer user interface applications in a vendor-neutral manner.

Here are some other links to symposium information:

My sincere apologies if I forgot to mention anyone. Drop me a line and I'll be happy to add you!



JavaOne Bloggin'

Posted by erikhatcher on June 10, 2003 at 03:06 PM | Permalink | Comments (0)

JavaOne is in full force. I sense a lot of enthusiam and excitement about Java. After this post goes through successfully I'll blog some more!



Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds