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.

Playing with JDK 5.0 and Tomcat 5.5.2

I did some experimenting this evening with JDK 5.0 and Tomcat 5.5.2. The good news is that AppFuse compiles fine with JDK 5.0 and runs on Tomcat 5.5.2 nicely too. Here's a couple of things I found:

JDK 5.0
I received a number of interesting errors from the new JDK. Here's one of them:

   [javac] Note: Some input files use unchecked or unsafe operations.
   [javac] Note: Recompile with -Xlint:unchecked for details.

I received a few other messages that were deprecation warnings. The wierd thing is that it was telling me what's deprecated in HttpServletResponse, rather than what's deprecated in my code. Huh - what's the point?

Unfortunately, I found that Cactus won't run on JDK 5.0. Too bad, everything else seems to work fine.

Tomcat 5.5.2
I like the speediness of the new Tomcat, but I was disappointed to find out that they changed the DTD for the context.xml file. The old one works fine on Tomcat 4.1.x and 5.0.x, but you have to make some modifications for it to work on 5.5.x. To be fair, the new syntax is shorter and more concise. I've updated AppFuse's build.xml to detect Tomcat 5.5 and swap context files as appropriate.

Because of the Cactus bug, I think I'll be sticking with JDK 1.4.2 and Tomcat 5.0.28 for now - but it's cool to know that everything else will work once Cactus is fixed.

Posted in Java at Sep 30 2004, 11:32:03 PM MDT 6 Comments

Disk Space love from .Mac

I'm getting close to filling up the 200 MB quota on my .Mac account. That was before I got the following e-mail:

Dear .Mac Member,

We're excited to announce that every full .Mac membership now comes with 250 MB of combined .Mac Mail and iDisk storage. We want to say thank you for your past purchase of additional storage by immediately increasing your total storage to 1.2 GB for the duration of your current membership.

Wow - very cool! It's wierd that my PowerBook only reports 512 MB available in System Preferences -> .Mac -> iDisk. Oh well, it'll be another year or two until I max that out. Is it possible that unlimited disk space will be the way of the future?

Posted in Mac OS X at Sep 30 2004, 01:22:56 AM MDT 3 Comments

[ANN] Struts Menu 2.3 Released

Download · Release Notes. This release's major feature is the complete de-coupling from Struts - so that no struts.jar is required in the classpath anymore. Of course, if you have it in there, it's used as before. This release was primarily motivated by my need to include this in the WebWork version of AppFuse. In addition, I fixed a lot of bugs that I never even realized were entered. I'm monitoring the tracker's now - hopefully the delay won't happen again.

Additional Struts Menu Links:

Posted in Java at Sep 27 2004, 11:08:07 PM MDT 34 Comments

WebWork's Validation and SpringObjectFactory

For the last couple of nights, I've been wresting with WebWork's validation framework and trying to get it's client-side stuff to work with AppFuse. After much frustration, I finally figured it was caused by the SpringObjectFactory class. By using this patch, I was able to get regular client-side validation to work, but not the VisitorFieldValidator - which is what I'm using for almost all validations.

Since I've been done with the WebWork integration into AppFuse for a few days now, I think it's time to cut my losses and start working on other stuff for the 1.6 release. Hopefully someone will figure this out someday, but in the meantime, the server-side validation should satisfy most requirements.

In other words: there will be no client-side validation for WebWork in AppFuse 1.6.

Update: After playing a bit more tonight, I almost added client-side validation by specifying the validation rules per-action rather than per-POJO. Then I discovered that the client-side validation has no way to cancel its invocation. With Commons Validation, you can add an onclick handler to a submit button (onclick="bCancel=true") to cancel client-side validation.

Posted in Java at Sep 27 2004, 06:09:31 PM MDT 2 Comments

Indian Summer

Georgetown Loop Train After finishing Spring Live (at least the hard part) on Friday, this weekend was a nice relaxing one where I actually got to sleep a little. Abbie and I even got out and did some fun stuff. On Saturday, we drove up to the hills and road the Georgetown Loop Railroad. We went with some friends, Tonya and Suzie, and had a great time. Unfortunately, this might've been one of the last times the train runs. According to their website, it looks like they're finished - but according to the conductor it sounded like the Colorado Historical Society is going to demolish everything and rebuild a fancy-dancy (and expensive) new train park. More info at savethetrain.org. The temperature was awesome - mid 60s all the way up in Georgetown.

Red Rocks Hike Today, Abbie woke me up early and after noticing it was a beautiful day - we headed up to Red Rocks for a hike. Abbie is becoming quite the hiker these days. She only asked "Daaeee - uupppp" once and after I bent down and picked up a rock for her - she never mentioned it again. Good times - we saw deer, bikers, birds and even a little snake in the trail. Once again, I rewarded her with marshmallows at the top and she was one happy camper.

What's up Holmes Last, but not least, I snapped this pick of Jack giving me some gansta signs. What a cool kid.


Posted in General at Sep 26 2004, 11:28:51 PM MDT Add a Comment

An ORM Standard: EJB and JDO cooperating?!

Dion mentioned this might happen: Happy Harmony for EJB3 & JDO. This is very cool IMO - and I hope it works out. I'd love to see a standard way to map POJOs to databases. The best part is both camps hope to move quickly on this.

The technical objective for this new POJO persistence model is to provide a single object/relational mapping facility for all Java application developers that works in both J2SE and J2EE. The work will be done within the J2EE 5.0 time frame.

Posted in Java at Sep 24 2004, 04:29:28 PM MDT 2 Comments

Damn

It's 8:20 a.m. and I still haven't gone to bed yet. The good news is I got a lot done on Spring Live and AppFuse in the last 10 hours. I guess I just lost track of time...

Posted in General at Sep 23 2004, 08:20:02 AM MDT 4 Comments

F3 Kills XP

Here's a good one for you. I've been trying to hack my register on Windows XP to enable InnoDB tables in MySQL (which doesn't seem to be working). When I hit F3 to search for the next instance of "mysqld-nt.exe" - it kills my machine. The screen just goes dark and seemingly shuts down (though the power light is still on). If I press the power button, it'll power off fully. Of course, pressing it again powers it back on again. Wierd - guess it's time to switch to OS X for the day.

Thinking out loud: Maybe I should switch AppFuse to using PostgreSQL by default so users don't have to jump through hoops to get transactional tables.

Posted in Java at Sep 22 2004, 12:51:15 PM MDT 20 Comments

Sick

Julie and I had an agreement worked out. I was going to work this week on Spring Live and hopefully finish off the last chapter for 1.0. My plan was to wake up at 6:00 a.m. every morning and work until 2 p.m.

Then I caught Abbie's cold (or maybe I got it from Dion via e-mail). That was Saturday. Jack caught it on Sunday. Julie doesn't have it yet, but the rest of us are sick and I've lost all motivation to work on anything. Sleep is my new best friend.

Damn, I was almost done with the WebWork version of AppFuse too. Tomorrow I have an interview, so I'll probably rally and take a bunch of DayQuil or something. Hopefully that'll inspire me to get back in the groove and get some work done.

Posted in General at Sep 20 2004, 01:15:28 PM MDT 5 Comments

The Job Hunt

Now seems like the time to be unemployed. Everyone is doing it. I myself have been unemployed since the Julie went into labor on August 27th. Those were the terms of my last contract - when the baby is born I'm done. Once again, I'm glad I'm a contractor b/c this unemployed thing is a just a phase I go through a few times a year.

So far, the hunt for the next gig is going pretty well. I have a couple of leads. I've done the whole interview thing and now I'm just waiting to hear back about budgets and such. So nothing is confirmed and all opportunities could fall through. Since I'd like to start working again one week from Monday (September 27th), it's time to put my nose to the grindstone and see if I can find something soon. My usual process for this is to respond to job postings on the DJUG Jobs and RMIUG Jobs mailing lists. If that doesn't work, I'll start searching on Dice and Monster next week. I've actually gotten a few jobs off the mailing lists and one off Monster - so I know most of these avenues work. I've always found looking for and accepting a new gig quite fun. If I can finish Spring Live, AppFuse 1.6 and find a new gig all in the next 2 weeks - I'll be a very happy man. Actually, I'll be happy if I can just land a new gig.

Posted in General at Sep 16 2004, 09:31:22 PM MDT