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.

MacBook Pros shipping with faster processors

This morning I was pumped to read that the MacBook Pro is shipping with faster processors. Of course, since there's a 2.16 GHz version available, I called today to upgrade. It's $300 more and it would delay my order by 3-4 weeks. I had to pass - I've been waiting long enough for a faster laptop. I'd gladly pay twice as much for an upgrade if it was shipped on the same date.

Posted in Mac OS X at Feb 14 2006, 05:57:47 PM MST 9 Comments

Bluetooth Rocks

If nothing else, bluetooth is good for one thing: using your phone as a modem to connect to the internet w/o wires. I'm blogging this from my airplane to San Francisco. Scheduled departure: 25 minutes. My Phone - a Motorola V330. Instructions are here. The speed is definitely slow, but most sites work (GMail is really the only one that has serious issues).

Posted in General at Feb 13 2006, 05:28:19 PM MST 4 Comments

DisplayTag 1.1 Released!

Read the release notes, change log, migration instructions and download. Don't forget to check out the live demo too. If you're using Maven 2, you simply need to add a new repository:

  <repositories>
    <repository>
      <id>displaytag</id>
      <url>http://displaytag.sourceforge.net/m2repo</url>
    </repository>
  </repositories>
  ...
    <dependency>
      <groupId>displaytag</groupId>
      <artifactId>displaytag</artifactId>
      <version>1.1</version>
      <scope>runtime</scope>
    </dependency>

This release is pretty huge IMO. You can now do external sorting and paging, which should eliminate any performance concerns with using this library. Another nice feature is portlet support. Nice work Fabrizio!

Update: This release is now at ibiblio, so you don't need to add the custom repository to your pom.xml anymore.

Posted in Java at Feb 12 2006, 12:26:15 PM MST 10 Comments

3 Peat?

It's been great watching DU Hockey that past couple of years. Ever since we moved back to the "ol' neighborhood", we've had season tickets. They've won the last NCAA Title the last two seasons, and they're making a comeback this year.

Abbie and I went to the game tonight, along with a number of other friends (Julie and Jack stayed home - Jack has a respiratory infection). They're definitely looking good. Let's hope they can keep it together through the playoffs. It looks like I'll be watching a lot of hockey next weekend. ;-)

With 32 points, the Pioneers are one point ahead of No. 1 Minnesota for first place in the WCHA. Those two teams will face each other in Minneapolis next weekend for a two-game series with puck drop for both Friday and Saturday's games scheduled for 6:07 p.m. MST. [Read more...]

Posted in General at Feb 11 2006, 10:52:48 PM MST 1 Comment

Weekend Update

Yikes! I can't believe it's been a whole week since I last blogged. Actually, with my workload it's not that surprising. Don't let anyone ever tell you that working for an open source consulting and support company is easy. When we started, we dreamed of working a couple of weeks a month, and working on open source the rest of the time. Business has really started to pick up in 2006, so that dream is quickly fading. Regardless, this week was a good one.

I managed to get Equinox upgraded to Tapestry 4.0 and WebWork 2.2. Both of these releases are much nicer than their predecessors and I plan to do a write-up next week. I especially dig how WebWork 2.2 allows you to do a popup calendar with less code than both JSF or Tapestry. It really is a kick-ass web framework and only getting better.

Virtuas Other than that, I had some fun with Maven 2 - converting all the Spring Fundamentals labs to use it. The invalid-POM situation continues to be atrocious and shows no sign of improving soon. I really like the idea of the Jetty 6 Maven Plugin, but unfortunately, it doesn't seem to play nice with SiteMesh. Lastly, I had some fun getting JOTM to work on Tomcat 5.5.x. All in all, I learned a lot this week, just didn't have much time to write about it.

AppFuseIn AppFuse News, Mika Göckel wrote tutorial on integrating XFire with AppFuse. Mika also authored a tutorial on AppFuse + Axis. He obviously knows his way around AppFuse - so we nominated and accepted him as a committer. Welcome aboard Mika! Finally, Brian Topping has converted a version of AppFuse to Maven 2. With any luck, AppFuse will be an archetype that you can install from Maven someday.

I'm flying out to San Francisco for a 1-day seminar next week and my MacBook Pro couldn't arrive any sooner (12 days and counting).

Posted in Java at Feb 11 2006, 06:22:03 PM MST 5 Comments

Testing with Performancing

Testing to see if the Performancing Blog Editor works with Roller. Sweet! It looks like it works. I really like this editor - works quite well and allows you to view your blog in a split screen. However, one of the reasons I like using MarsEdit and w.bloggar is to avoid issues with Firefox crashing.  I also tend to post a lot of blogs from my browser - so this is probably a better solution than that.  The WYSIWYG editor is quite nice.

Another cool Firefox plugin is FireFTP.

Posted in The Web at Feb 04 2006, 01:08:05 PM MST 7 Comments

EMMA vs. Cobertura for Code Coverage

I'm looking to add code-coverage reporting to AppFuse. The two open source libraries I know of to do this are EMMA (CPL) and Cobertura (ASL). Which one is the better library to use? Both projects seem to be actively developed - and there are AppFuse HowTos for both, so the decision making process is a bit difficult.

Any insights into why one tool (or project) is better than the other is appreciated.

Posted in Java at Feb 03 2006, 05:16:35 PM MST 13 Comments

Script.aculo.us vs. Dojo

For the last week or so, I've been hearing more and more about Dojo. It's mostly because I've been listening to podcasts, but also because it's integrated into both WebWork 2.2 and Tapestry 4.0 (via Tacos). In AppFuse 1.9, we added Script.aculo.us as one of our Ajax-enabling libraries.

I chose Script.aculo.us because I've used it in the past and it's worked very well (along with its underlying engine, Prototype). Because it's development seems to be largely driven by Ruby on Rails - I figured it was a good library to include. However, since AppFuse includes both Tapestry and WebWork - it seems like including Dojo might be a good idea too.

So my question is - do Script.aculo.us and Dojo do the same thing? Has anyone done a detailed comparison of these two Ajax frameworks?

I realize that Dojo is more of a "toolkit" that's been developed from a bunch of existing DHTML libraries - but can it do the drag-n-drop and cool effects like script.aculo.us can? Can Dojo do things that DWR + Script.aculo.us can't? I haven't used Dojo (yet), that's why I'm asking.

I really like the idea behind both projects, but I can't help but think Script.aculo.us is a little better. Why? Because its creator is a designer (vs. a developer) and its development is driven by one of the most popular web frameworks and it was built from a real-world application rather than a consolidation of libraries.

Dojo, on the other hand, has much better documentation. However, the project lead works for JotSpot. Apparently, the JotSpot Wiki is supposed to be a showcase of what Dojo can do. While the jot.com site looks OK - the Dojo Wiki (based on Jot) is horrific. Things don't line up and it looks awful (in both IE and Firefox on Windows + Firefox on the Mac). On my last project we used Jot and it left a lot to be desired.

I hate to judge a library by the applications it creates - but comparing fluxiom to Jot makes me think Script.aculo.us is the better library. Then again, fluxiom hasn't been released yet.

On a related note, it's possible the Open Ajax project will consolidate the Ajax frameworks - but who knows when that will be released.

Posted in The Web at Feb 01 2006, 03:15:02 PM MST 17 Comments

Want to be more productive with IDEA?

If you want to be more productive with IDEA, Patrick Lightbody has a good suggestion in IDEA Live Templates: more powerful than you think. Now where's the list of the built-in live templates? Does Eclipse have a similar feature?

Posted in Java at Feb 01 2006, 02:45:15 PM MST 4 Comments

CMS Evaluation Summary

I got an interesting comment on one of my blog posts recently.

Matt, I'd be curious to hear why Virtuas is using Drupal and not the same Java stack they advertise on their home page (i.e. one or more of Geronimo/Tomcat/Spring/Hibernate/MyFaces/JBoss). I realize the standard answer is "because Java is for heavyweight sites and PHP is the right tool for the job" but I'm wondering if there was more to the decision that just that.

My Reply:

The reason we chose Drupal was from an evaluation that I did - where I compared a number of open source CMS solutions:

Drupal was simply the best tool for the job when we were looking for a solution.

Posted in Java at Jan 30 2006, 01:30:42 PM MST Add a Comment