This book shows you how to build an app with JHipster, and guides you through the
plethora of tools, techniques and options you can use. Furthermore, it explains the UI and API building blocks
so you understand the underpinnings of your great application.
In Anyone else using Groovy?, Tim Fennell (inventor of Stripes) raves at how much he likes Groovy now that it supports Java 5 features. He writes that Groovy might offer a solution to make development with Stripes faster:
The other thing I've been wondering about is that if there were
enough demand for it we could try adding "improved" groovy support.
E.g. throw your groovy actions under WEB-INF and we'll use groovy's
built in stuff to do auto-reloading etc.
It would be really cool if Stripes could automatically discover and load
changes to action beans (including new ones) without the entire app
restarting, regardless of what the action bean is written in. But I
realize that is a pretty tall order. :)
I agree that it might be a tall order, but I don't think it's impossible. In fact, I think all Java-based web frameworks should support hot deploy of a single class. We shouldn't have to buy JavaRebel to do this. It should be mandatory.
When an application reaches a certain size, the startup time can get pretty lengthy. This is lost development time. Furthermore, if any part of the development cycle takes longer than 15 seconds, there's a good chance developers will do something else (check their e-mail, move onto another task, etc.). Multi-tasking may be a good skill to have, but it's a horrible way to be productive.
Of the frameworks I'm familiar with, only Tapestry 5 and Seam support reloading single classes without restarting the whole application. Why can't the other frameworks "borrow" Tapestry 5's code? Maybe someone should just buy ZeroTurnaround and give away JavaRebel for free.
If I had one wish for 2008, it would be for all Java web frameworks to support this feature. Pretty Please?
If you live in Denver and are involved in open source (or simply technology in general), you should make it a point to attend tonight's Denver Tech Meetup. I'm planning on going for about an hour. From there, I'm heading over to the DeRailed User Group for a Consulting Panel at 8. If you're interested in moving from a full-time position to contracting, you should come. This is open to the public, so anyone can attend.
While I was thinking about things to talk about on the panel tonight, I started reflecting on the jobs I've had in my almost-11-year career in technology. Here's my timeline since college:
1997: Full-time at MCI Systemhouse
1998: Contractor for IBM Global Services (6 figures w/in 6 months of graduating!)
April 1999 - April 2001: Full-time for eDeploy.com (Friday lunches rocked)
May 2001 - October 2001: Contractor for Douglas County (introduced to Ant, Struts, etc.)
January 2002 - November 2002: Contractor for OnPoint Digital (100% remote)
December 2002 - August 2003: Contractor for Comcast Media Center
August 2003 - October 2003: Contractor for ResortQuest
November 2003 - June 2004: Contractor for Adams County
June 2004 - August 2004: Contractor for Open Logic
October 2004 - December 2004: Contractor for Oak Grove Systems
January 2005 - May 2005: Contractor for Xcel Energy
June 2005 - January 2007: Contractor for Virtuas
February 2007 - June 2007: Contractor for Checkerboard
July 2007 - Present: Contractor for LinkedIn
Phew - that's 14 jobs in 11-ish years! Notice that I've only ever had 2 full-time positions. So far, I have no regrets and really enjoy being a consultant. If you're interested in learning more about how I started Raible Designs or how I get contracts, you might want to read the following posts.
I hope you're doing well and continue to enjoy working on the web framework you created years ago. I'm curious to know something:
How long would it take you to build your web framework from scratch?
If all the code from your framework magically disappeared tomorrow and you had to write it from the ground up - how long would it take? What if you had a group of 3-5 developers (of your choosing) to help you do it?
Furthermore, would you write the whole thing line-by-line, or could you borrow code from other open source projects to streamline the process?
Last night, a friend and I went to the Rodeo at the National Western Stock Show. We had really nice seats (thanks to Cletus from Nebraska) and had a great time watching the Bareback Ridin', Bull Fightin', Bull Ridin', Mutton Bustin' and Barrel Racin'. The highlights were the bull fighting (the bulls almost always won) and the Mutton Bustin'. This is where they plop little kids on the back of a sheep and they hang on for deer life. I shot a video for your entertainment.
Click here for more pictures from the event. Sorry about the picture blurriness, the high action and bad results from my camera made me realize I might need to upgrade.