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.


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.

JabberJabber Love. I've been installing and playing with Jabber since yesterday afternoon. If you don't know what Jabber is - it's an open, XML-based protocol for instant messaging and presence. So it's basically an open-source instant messaging server. It takes about 10 minutes to setup and get running, and I've installed it successfully on both Red Hat 7.3 and Windows XP. Easy as pie - that's how open source should be!

Posted in General at Sep 25 2002, 11:58:03 PM MDT Add a Comment

Upgrading Rampage.

I went on an upgrading rampage yesterday and ended the day with the worst feeling. My Struts 1.1b2 application appeared to work fine on most things, however, I kept getting the following error when I tried to submit a form with indexed input values:

 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 	at sun.reflect.NativeMethodAccessorImpl.invoke(
 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(
 	at java.lang.reflect.Method.invoke(
 	at org.apache.commons.beanutils.PropertyUtils.getIndexedProperty(
 	at org.apache.commons.beanutils.PropertyUtils.getIndexedProperty(
 	at org.apache.commons.beanutils.PropertyUtils.getNestedProperty(
 	at org.apache.commons.beanutils.PropertyUtils.getProperty(
Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
 	at java.util.ArrayList.RangeCheck(
 	at java.util.ArrayList.get(
 	at com.onpoint.webapp.form.QuestionForm.getAnswer(

The items I attempted to upgrade were:

After hours of banging my head against the wall for hours and even trying versions of my code from a week ago, I decided to try the "classic" compiler in Ant. Which I soon learned should now be named "modern." Whalla - it fixed the above problem! My advice - DON'T USE JIKES 1.16 to compile your Struts-based web app! I also found that switching to modern from jikes reduced my build process from 1 min 20 seconds to 50 seconds - I'm sold. my face after fixing this bug

I ended up not upgrading to Tomcat 4.1.12 (rather to 4.0.5) because I found that my error-pages were not being recognized. I hope that a client using the application never sees an error page, but if they do - I'd rather them see my pretty page vs. a stacktrace.

Posted in Java at Sep 25 2002, 06:12:06 AM MDT Add a Comment

Google News

I dig Google's new News feature I found this tasty treat this morning.

Microsoft acknowledges Linux threat
"We got beaten by Linux in the very high-end systems, but we have a whole development team despatched on that now," he is reported as saying in the Financial Times: "Linux isn't going to go away. Our job is to provide a better product in the marketplace." -- Steve Ballmer, September 2002. [ Full Article ]

Posted in The Web at Sep 25 2002, 03:03:27 AM MDT 3 Comments