Matt RaibleMatt Raible is a Web Developer and Java Champion. Connect with him on LinkedIn.

The Angular Mini-Book The Angular Mini-Book is a guide to getting started with Angular. You'll learn how to develop a bare-bones application, test it, and deploy it. Then you'll move on to adding Bootstrap, Angular Material, continuous integration, and authentication.

Spring Boot is a popular framework for building REST APIs. You'll learn how to integrate Angular with Spring Boot and use security best practices like HTTPS and a content security policy.

For book updates, follow @angular_book on Twitter.

The JHipster Mini-Book The JHipster Mini-Book is a guide to getting started with hip technologies today: Angular, Bootstrap, and Spring Boot. All of these frameworks are wrapped up in an easy-to-use project called JHipster.

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.

For book updates, follow @jhipster-book on Twitter.

10+ YEARS


Over 10 years ago, I wrote my first blog post. Since then, I've authored books, had kids, traveled the world, found Trish and blogged about it all.

GlassFish Numbers Fudging

Remember when I thought Sun/java.net was trying to make GlassFish look more popular than it is? It looks like they took it up a notch in August. Not only do they have the top spot in "most accesses", but they have the top 2 spots!

java.net stats

Isn't it possible to automate these stats instead of using a spreadsheet? ;-)

Posted in Java at Sep 08 2006, 01:58:14 PM MDT 5 Comments

Continuum vs. CruiseControl for Maven 2

I spent some time this past weekend getting automated builds setup for AppFuse 2. Since the project now uses Maven 2, I figured I'd give Continuum a try. I pointed it at my pom.xml in SVN and expected everything to work out-of-the-box. No dice. It seems that Continuum reads the artifactIds instead of the module names for sub-project resolution. To workaround this issue, I'd basically have to rename all my sub-projects to have an "appfuse-" prefix. Doesn't that violate the whole DRY principle? Sure, there's projects that do this, but there's others that don't.

Since I didn't feel like renaming the modules/directories in SVN, I gave CruiseControl a try instead. It took a bit of elbow grease on my part, but I ended up with a config.xml file that works splendidly. It seems somewhat ironic to me that the CruiseControl works better with Maven 2 than Continuum does.

Posted in Java at Sep 05 2006, 03:29:04 PM MDT 28 Comments

Southeast Light Rail

On my way in via Light Rail this morning, I noticed a sign with http://www.southeastlightrail.com on it. This site tells you about the new light rail that's opening in Denver in a few months. The road part of the T-Rex Project was finished last week, and we couldn't be happier. We finally got direct access to the freeway after 3 years! Aaaahhh, the things you notice with an EVDO card on the train...

Posted in General at Sep 05 2006, 09:21:35 AM MDT 1 Comment

New Puppy

Abbie and Jack are two of the happiest kids in the world today. Grammy (Julie's mom) flew into town last night and brought a new puppy with her. Abbie has named her "Cookie" and she's a Cavalier King Charles Spaniel. She's 12 weeks old and already knows how to "go in the grass" and fetch things you throw for her. Thanks Grammy!

Cookie

BTW, I did notice (and ignore) the following note on Flickr's homepage:

Remember! Flickr Terms of Service specify that if you post a Flickr photo on an external website, the photo must link back to its photo page.

WTF? I guess they don't like the lightbox thing, eh? ;-)

Posted in General at Sep 02 2006, 12:53:45 PM MDT 7 Comments

Verizon V640 ExpressCard - works like a charm

Verizon V640 As mentioned previously, I've been waiting on a Verizon V640 ExpressCard for my MacBook Pro. It arrived this week, and I had a chance to try it out yesterday. I plugged it in, waiting a few minutes, entered the root password, and voila! - I was online. Pretty slick stuff. Bandwidth tests show the speed is around 512 KB/sec. With all the wireless issues I've had, this thing is a nice treat. Who knows if I'll even bother to use wireless anymore!

Speaking of MacBooks, it seems that the first ones produced were some of the best. I have 3 co-workers with machines, and while one works great, the others have some serious issues. One randomly reboots (without warning) and the other guy's has been in the shop for a week b/c it has kernel panics 2-3 times per day. Besides the wireless, the only other issue I have is mine doesn't work on some projectors. Since I'm doing a lot of training and conferences in the next few months - I should probably get that looked at.

Posted in Mac OS X at Aug 31 2006, 08:21:07 AM MDT 3 Comments

The neighborhood just keeps getting better

Our House When Julie, Abbie and I first moved to our neighborhood, Julie was a little apprehensive. She liked living out in the burbs, and we were planning on living here for a few months while another house was being built in The Ranch. Meanwhile, I loved the neighborhood. I went to school at DU (a mere 8 blocks away) and considered the area my "old stomping grounds."

After a couple months, The Ranch house fell through (price went up 60K) and we decided to double the size of our house. We rented the house next door while ours was being built. Last year, that house was leveled and a nice 2-story, full basement house was put in. It sold a couple months ago for $750K. When we remodeled our house, we did it because we needed the space, not because we thought its value would skyrocket.

Today, I couldn't ask for a better location to live in. I was disappointed when the excellent Italian restaurant (literally 50 feet from our house) was replaced with Little India. However, I love Indian food and we've grown to love the new place. The wine tastings (Wednesdays and Fridays) at Little's Liquors are great, and the fact that I can take out the trash and pick up a bottle of wine in under a minute is phenomenal. The fact that Safeway is 1.5 blocks away is great, we walk there several times per week. Heck, even the first Chipotle ever built is only 6 blocks away. Not to mention Jerusalem's, the best Middle-Eastern food in town.

My motivation for writing this post is because a new Sushi place has moved into our neighborhood. Julie mentioned it last week, and I had a chance to check it out today. I was very impressed when I walked in and discovered it was a John Hollys. I've only eaten at one John Hollys (near Park Meadows Mall), but it was excellent. Needless today, lunch was scrumptious today and I'm looking forward to eating there again. The Sushi Den is pretty close by as well, but it's probably a mile away - unlike John Hollys at a 1/2 block.

Posted in General at Aug 28 2006, 04:54:52 PM MDT 3 Comments

AppFuse 2.0 Status

Last week I managed to get AppFuse to compile with Maven 2, this week I got all the tests passing. This week, I struggled with Maven's WAR dependencies and how AppFuse will be used by end-users. It was frustrating, but I think I got most everything figured out. Unfortunately, there's still many issues to be sorted out.[Read More]

Posted in Java at Aug 26 2006, 02:41:26 PM MDT 7 Comments

Label placement in web forms

From Swapnonil Mukherjee:

Matteo Penzo has published an excellent article about the placement and alignment of labels in data entry forms. His research, though much more scientific and thorough, confirms what I had said earlier, about the importance of right aligning form labels.

Screenshot of User Profile In AppFuse 1.9.2, we added support for the CSS Framework and Wufoo-style forms. The new form layout appears to satisfy many of Matteo's suggestions. The only things we aren't doing are: 1) we're using bold labels instead of plain text and 2) we're using labels for drop-downs, instead of making the first element the label. I suppose the bold labels isn't much of an issue b/c we're not using heavy input borders. As for labels and <select> elements, I think the way we're doing things is good enough. If it works for Wufoo, it works for us!

Posted in The Web at Aug 22 2006, 12:43:01 PM MDT 7 Comments

High Performing Java Web Frameworks

Steven Haines appears to be gearing up for a showdown among Java web frameworks. In his Web Frameworks article (found via dzone), Steven notes the following:

There are many factors that you need to consider when choosing an application framework, including but not limited to:

  • Suitability for your specific business needs
  • Developer productivity
  • Performance
  • Support and community activity
  • Technology maturity
  • Developer prowess
  • Business relationships

He goes on to say that he's planning on comparing a number of web frameworks, and his study will give special attention to how these frameworks perform. He'll be comparing Struts 1.x, Struts 2.x, Shale and Spring MVC. If you think your framework can compete, Steven invites you to send him an e-mail.

If anyone has a compelling reason why we should add an additional framework, please contact me and I will be glad to consider it in this endeavor.

I'm looking forward to reading Steven's articles, I just hope I can find them again when they're published.

Posted in Java at Aug 21 2006, 08:42:40 PM MDT 9 Comments

AppFuse 2.0 Status

I managed to get most of AppFuse's code moved over to a Maven 2 structure this week. I have tests working in the hibernate/ibatis projects, as well as the service project, but not in the web tier projects yet. I do have everything compiling though. ;-)

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] ------------------------------------------------------------------------
[INFO] AppFuse ............................................... SUCCESS [2.228s]
[INFO] AppFuse Common Data Module ............................ SUCCESS [1.681s]
[INFO] AppFuse Hibernate Module .............................. SUCCESS [0.809s]
[INFO] AppFuse iBATIS Module ................................. SUCCESS [0.630s]
[INFO] AppFuse Data Modules .................................. SUCCESS [0.008s]
[INFO] AppFuse Service Module ................................ SUCCESS [0.696s]
[INFO] AppFuse Common Web Module ............................. SUCCESS [2.817s]
[INFO] AppFuse JSF Module .................................... SUCCESS [4.410s]
[INFO] AppFuse Spring MVC Module ............................. SUCCESS [4.038s]
[INFO] AppFuse Struts 2 Module ............................... SUCCESS [4.954s]
[INFO] AppFuse Tapestry Module ............................... SUCCESS [4.042s]
[INFO] AppFuse Web Modules ................................... SUCCESS [0.007s]
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 26 seconds
[INFO] Finished at: Fri Aug 18 15:06:54 MDT 2006
[INFO] Final Memory: 11M/26M
[INFO] ------------------------------------------------------------------------

If you'd like to review any of the work done thus far, I've uploaded my latest work to:

http://static.appfuse.org/downloads/appfuse2-20060817.zip

The major issue I've encountered to date can be reviewed on the Maven user mailing list. If you happen to try things out, the best thing to do is post feedback to the dev list. I'm considering another device-free weekend, so I may not respond until Monday.

Posted in Java at Aug 18 2006, 03:17:31 PM MDT 14 Comments