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.

[Construction] Swimming Pool almost done

This last week, Bob the Builder has been digging our new foundation like a madman with his little Bobcat. It's been quite humorous at times - this little machine struggling to crawl the mounds of dirt in our backyard. One time, I saw him take 8 or 9 runs to get to the top and dump the dirt. We have no more lawn (front or back) and there's large mountains of earth everywhere. Here are a couple of shots - we've been telling the neighbors we're "putting in a swimming pool." ;-)

Bob and the Bobcat
Bob and the Bobcat
The Swimming Pool
The Swimming Pool

Posted in General at Mar 14 2004, 09:36:49 PM MST Add a Comment

iChat, AIM and Skype

iChat Ever since the latest version of iChat came out, I've been looking forward to video-conferencing with my Dad. So much, in fact, that I went out and bought an iSight. So far, it's been pretty disappointing. We can't do audio between his Windows/AIM client and my Mac/iChat client - and the video doesn't work either. It might be on his end, except that I am able to do audio on my XP machine. I hope it's just because iChat is beta software. So far, it seems like the iSight is a waste of money.

Tonight, we chatted for a few minutes using AIM and it worked - but it was pretty bad. For some reason, our machines only supported half-duplex and we both had to click a button to talk, and then again when we wanted to listen. Kinda like using CB radios. There was no two-way talk like you get on a regular telephone.

Fortunately, a friend sent me an e-mail about Skype last week - so we downloaded and tried that. I must say - Skype is very nice software and the quality was as good as my home phone, if not better. Unfortunately, it doesn't look like it supports video. However, it does have an IM client built-in. Oh well - at least we got somewhere on this whole video-conferencing thing. Next step: get the video going. After that, I'll concentrate on getting the whole Windows <-> Mac thing working.

Posted in Mac OS X at Mar 14 2004, 09:27:33 PM MST 9 Comments

[Struts Menu] Building Dynamic Menus from a database table

I spent a few hours this weekend and did some work on Struts Menu. At the very least, I made it easier to build dynamic menus programmatically and put together an example of doing it from a database table. I also added support for Expression Language (EL) syntax in all the tag's attributes. For the EL implementation, I simply copied what was implemented in the DisplayTag. I don't know that it's the best way (two TLDs, subclassing tag classes), but it works and it is good enough for now. The main reason I copied the implementation in the DisplayTag is that we've been talking about adding support for OGNL. I figure if I copy the implementation, it should be easy enough to copy the refactorying if/when it happens.

Back to the point of this post - how do you build dynamic menus? So without further ado, here's how to build and display database-driven menus with Struts Menu.

Posted in Java at Mar 14 2004, 04:53:33 PM MST 4 Comments