Matt RaibleMatt Raible is a writer with a passion for software. 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.

You gotta admit...

You gotta admit that Pebble's front page on JavaRanch looks pretty nice. It's definitely prettier than JRoller's and there's something about it that makes me like it even more than Roller's new front page. Kudos to Simon - nice work!

Maybe Roller's front page doesn't have to look like the rest of the editor UI (which most never see). If anyone out there wants to put together a slick-looking design for Roller's front page, I'll turn it into the real deal (with Dave and Lance's approval of course).

Posted in Roller at Mar 16 2004, 07:53:48 AM MST Add a Comment

One Year Ago - Wrox goes under

Pro JSP, Third EditionI was on vacation at my sister's when I found out. I'd just finished the final edits on my chapters and it was time to party. But then, one year ago today, I read (via weblogs) that Wrox was going under. Today, it's nice to look back and see that Pro JSP did get published.

You'd think after 6 months, we'd start to see some royalties. Nope. Nothing. Maybe it's not selling enough copies for the authors to get our $5/year cut. ;-)

Posted in Java at Mar 15 2004, 11:10:00 AM MST 10 Comments

[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

Keynote is a Monster

I bought Apple's Keynote for my upcoming presentations. As I began to install it - the System Requirements caught my eye:

  • Power Mac G3 or G4, PowerBook G4, eMac, iMac or iBook with 500 MHz or faster processor (Power PC G4 recommended)
  • Mac OS X v 10.2 or later (Mac OS X version 10.2.6 recommended)
  • 128 MB of RAM (512 MB recommended)
  • 8 MB of video memory (32 MB recommended)
  • 1 GB of available disk space

1 GB of disk space?! Jeez - this sucker is huge! There's really no reason to complain since I have plenty of space - this is just the largest install I've seen in quite some time.

Posted in Mac OS X at Mar 13 2004, 09:35:24 PM MST 3 Comments

Another nice design - Phono Phunk

I'm going to have to save this one for later. It's definitely one of the cleanest and prettiest blogs I've seen in a long time. Well done! Thanks to Wouter for the link.

Posted in The Web at Mar 12 2004, 09:25:48 AM MST Add a Comment

2006 Dodge Charger, Dukes and VW Buses

2006 Charger Heard on the radio this morning: Dodge is bringing back the Dodge Charger in 2006. Remember the General Lee from the Dukes of Hazzard? That's a Charger and here are pictures of the 2006 (or at least the concept car). "The Dukes" was one of my favorite TV shows growing up.

Since I grew up without electricity (hence, no TV), people often ask me if I've seen certain shows. I had friends, I watched TV at their houses. Also, my grandparents (who lived 10 miles down the road) had a TV. Night Rider and Dukes of Hazzard were shows that I went out of my way to see. However, there are shows like Gilligan's Island that I've never seen.

I won't be buying a new Charger, but I do plan on restoring an old VW Bus in the near future. I restored a couple of bugs in high school and college and I really enjoyed it. Right now, I'm looking for a late '50s or early '60s 23-window bus. I plan on dropping in a Porsche 911 or 914 engine, wrapping it with some Porsche wheels, and generally enjoying the whole process. It'll probably take me 2-3 years to complete the project - but I definitely need a new hobby. Being on the computer so much just isn't healthy. Besides, kids can participate in a car restoration. Hopefully I'll be able to post pictures like this in a few years.

Posted in General at Mar 12 2004, 06:24:12 AM MST 18 Comments

[DisplayTag] SQL Tags and Editable Tables

Fabrizio (the lead developer on the display tag project), took my hack for supporting JSTL's SQL Tag and turned it into a nice feature. The display tag now supports Maps and you can iterate through JSTL's Results using the regular tag or the EL-enabled version. Download nightly build - now automated!

As an exercise for the NYC conference, I implemented an editable table using the display tag. It's a bit ugly, but it does work. You're more than welcome to use it and improve it. ;-) To see it, checkout the following demo pages in AppFuse:

Any feedback would be great.

Posted in Java at Mar 11 2004, 08:52:26 PM MST 8 Comments

Velocity Templates in RTF

For most of this week, I've been developing Velocity templates for rendering resumes in HTML and RTF (Word). Thanks for Mathias once again for showing me this was possible. The HTML part has been pretty easy, but the RTF stuff has been a bear. Mostly because I want to hide/show different sections of a person's resume based on whether they've entered information or not. In order to do this, I first created a rough draft of the RTF template in Word and then I began hand editing it with a text editor (HomeSite and BBEdit). And if you look at the RTF syntax, it's pretty damn ugly. The main thing I'm struggling with now is showing hiding rows of a table based on whether data exists or now. In HTML - it's easy - you just put your #if statement before a <tr> and you can easily hide the row. In RTF - it seems like the number of rows/columns/borders, etc. is all defined at the beginning of the table - but I can't really read the syntax well enough to understand it.

Therefore, my question is - does anyone know RTF well enough to tell me how I can hide a row? Is there something in the beginning of the table definition I can modify with Velocity #if statements? For now, I'm simply putting "Not Specified" text in rows where no data exists.

Finally, how about some RTF syntax I've learned in this process:

{\f116\fs20 = Verdana 10pt Font
The document must end with " }}" (no quotes) on the same line as the last bit of text
Escape "\n" with "\\par "
{\b\f116\fs24\cf17 = Bold, Verdana, 12pt, Ocean colored Font

How's that for a bunch of useless information! ;-)

Posted in Java at Mar 11 2004, 10:51:18 AM MST 4 Comments