Programming Scala Beta Release
I'm delighted to announce the Beta Release of the Programming Scala book. The topics covered in the book are: ...

Article: DSL in Java and Groovy
I wrote a four part article for Java World on creating DSLs in Java and Groovy. For your convenience, I decided to list the links to those parts here: Creating DSLs in Java, Part 1: What is a domai...

Rich Web Experience Conferences
My friends at NFJS are hosting two Rich Web Experience Conferences in September, one on the West Coast and the other on the East Coast. The East Coast event also has a concurrent JSF One conference. I...

Speaking at BJUG
I will be speaking at Boulder JUG this evening (July 8, 2008). The details of my presentation are here. In the "Know Your Java?" session I will show some tricky parts of Java. The "Testing with Groovy...

Generics in Java
I have talked and written about my opinions on Java Generics before> (I love Generics in .NET, but that love does not extend to the implementation in Java). Type information is useful at times, a...

DSL Article-Part I
I am writing a DSL article for the Java World. The part I of the article "Creating DSLs in Java, Part 1: What is a domain-specific language?" is posted here. ...

Interview from Grails Exchange posted
I chatted with Kirk Pepperdine at the Grails Exchange in London about Grails and Agile Development. If you like to listen, it's posted here. ...

Will be at 2G Experience
Groovy 1.5 was released yesterday! I see a lot of excitement around it. The developer community has been very active and the user base is increasing by the day. Now, there is a conference focused on ...

Talking DSL with Scott
A few weeks ago, Scott and I sat down to talk about DSL and while at it, we got a crazy idea to actually do a video recording as well. He has posted it on About Groovy. Here's the link for the intervi...

Dynamic Languages on .NET Rocks
I have been on the road for a few weeks now with very limited internet time and only now I noticed that my recording on Inevitability of Dynamic Languages had been posted on .NET Rocks earlier this mo...

Interesting time at SeaJUG
I had a good time yesterday at SeaJUG. The meeting was held at the office of SolutionsIQ.  The evening started with the kind folks at SolutionsIQ giving me a quick tour of their development fac...

CU at SeaJUG
NFJS is sponsoring my visit to speak at the Seattle JUG. I will be speaking there about "Groovy for Java Programmers" and "Agile Web Development with Grails" on Tuesday night....

It's not the languages, but their idioms that matter
Some things that you can say eloquently in one (human) language, may not sound as nice when you translate to another language. Idioms add spice to conversations in a language (and when overused they t...

Speaking at the Miami JUG tonight
I will be speaking at the Miami Users Group tonight on the topics of Practices of an Agile Developer and Spring with Groovy. I was in Miami to speak at the Spring Experience in December and I am glad...

Groovy/Grails Discussion with Scott
Check this out if you're interested in Groovy and Grails. Scott and I talk about what these are, how to use 'em, and why?...

Denver and Boulder JUG Visits
NFJS is sponsoring my visit to the Denver JUG on Wednesday and Boulder JUG on Thursday. I look forward to a ZePo (Zero Powerpoint) presentation on two topics—Testing Spring Applications and Usin...

NOVAJUG Visit
I will be speaking at the Northern Virginia Java Users Group on Tuesday night. The topic is Drooling with Groovy and Rules. Drools allows you to express rules in one of several forms including Groovy....

At Dallas Spring User Group
Testing is a topic that is of great interest to me and I am sure to a great number of developers who care about their craft. Testing gets hard when you have dependencies. Spring Framework is know for ...

JUG visits
I look forward to speaking at the Wisconsin JUG (Milwaukee) on Tuesday night and at the Madison JUG on Wednesday night, both talks sponsored by NFJS. ...

Getting Started with Grails
I had the pleasure of reviewing Jason Rudolph's book Getting Started with Grails. He's written it so you can not only get up to speed on what Grails is, but actually build a fully functional applica...

Groovy 1.0 is out!
Groovy 1.0 has been released. Congratulations to the Groovy developers! ...

Will be at the ServerSide Symposium in March.
Last week I was excited to receive an invitation to speak at TSS Java Symposium. I am looking forward to the March 21-23, 2007 Las Vegas show. In addition to speaking at these event, wh...

Great time at NOVAJUG
I had a great time at the NOVAJUG this evening with 50+ people in attendence. The level of interaction was superb. I started talking around 6:40PM and finished about 8:45PM. I enjoyed the...

Spring Experience in December…
I am looking forward to be at The Spring Experience in Hollywood, Florida from December 7 to 10, 2006. Check out the speaker list on http://www.thespringexperience.com. A number of exciti...

AJUG rocks.
My onward trip to Atlanta this afternoon was a challenge. The flight I was on literally parked in the runway for one full hour before takeoff since they couldn’t get clearance from...

Speaking at the Atlanta JUG…
NFJS is sponsoring my trip to Atlanta to speak at the AJUG on Tuesday the 15th of August, 2006. I look forward to meeting some bright developers and talk about Open Source Tools for ...

Annotation Hammer
InfoQ "Annotation Hammer" article:...

InfoQ.com has launched...
Floyd Marinescu has teamed with some brilliant folks in creating InfoQ.com. You've got to check it out! Congratulations Floyd. ...

Generics shows that Java is ...
A few years ago I strongly believed in type safety. My opinions have changed. With the help of unit testing, by writing and testing the code very frequently (in minutes rather than hour...

Boulder JUG visit
I’ve always enjoyed talking to Scott “GPS” Davis on the road. I also had the pleasure of attending his excellent talk on web techniques last year. Scott was the host at ...

Open Source Tools...
An evolving list of Open Source Tools (or reference to tools) that can help Agile Java Development... Abbot http://abbot.sourceforge.net Ant http://ant.apache.org ArgoUML htt...

Refactoring talk at HJUG
If you're a Java aficionado, and like to learn (or learn more) about Refactoring, please drop by for my talk "Refactoring your code - a key step in agility" at Houston Java Users Group on Wednesday (0...

Congrats to Scott Davis on his new book...
Congratulations to Scott Davis on his new book "JBoss at Work" with Tom Marrs! I've enjoyed talking to Scott on the NFJS shows and look forward to reading his book. ...

Java 5 Features, Part-I
In Agility this month, I discuss Java 5 Features. Java 5 has some nice features. In this first Part, I present some opinions on how useful these features are, and discuss two features ...

C# as better Java?
Having programmed in Java and C#, I have said that C# is marginally a better language than Java. Well, now I can claim that, at least for one reason. I tried the following code in Java (Ja...

When to use exceptions?
Throwing exceptions is expensive. You are altering the flow of control through your application drastically. When the throw occurs, the runtime has to gather several information including th...

Good, Bad and Ugly of Java Generics
My talk on Java Generics entitled "Good, Bad and Ugly of Java Generics" was very well received. I gave that talk at the TCSS edition of the NFJS symposium at Minneapolis last weekend. I w...