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.

Planning Raible Road Trip #7

Crater Lake Last year in September, my parents and I embarked on Raible Road Trip #6 when returning from Web Design World 2002 in Vegas. Julie didn't join us since she was 7 months pregnant. However, Raible Road Trip #7 will be Julie, Abbie and I - and it begins this weekend. I'm starting to get really excited about it. We bought our plane tickets last night, and tonight we started planning the trip. Here it is so far - thanks to all for your suggestions.

  • Fly into San Diego on Saturday morning. Stay with Julie's sister until Sunday afternoon or Monday morning.
  • Drive like a bat out of hell to Big Sur, which is about 8 hours according to MapQuest. Stay a night or two - those cabins that Andy mentioned sound nice.
  • From Big Sur, head to Bodega Bay. I'm a backwoods Montanan, so I don't know about San Fran - we might just skip it. It sure sounds cool, but I also know it's pretty crowded. I happened to remember one of my best friends (that I haven't talked to in years) actually lives in Bodega Bay - so I called him up tonight. He's fighting fires in Montana, so he might not be there - but his wife, Katie, and son will be there - so we'll probably stay with them for a night or two. This brings us to Thursday or Friday.
  • Our end destination is meeting my parents at the Oregon Caves on Friday or Saturday, so we'll probably head from Bodega up there (7 hours). Hopefully, we'll catch some redwoods along the way.
  • My dad has a couple rooms booked at Crater Lake on Sunday and Monday night. My sister, Kalin, is meeting us on Saturday.

Boy this is gonna be a fun trip. I haven't been on a road trip on California since I was a little kid. It was in the early 80s and my dad had a rigged up canvas topper on VW Rabbit pickup. We camped every night and drove like maniacs during the day. Abbie will be too young to remember, but that's what the ol' camera is for!

Posted in General at Aug 19 2003, 11:07:29 PM MDT 6 Comments

Cool FTP Tool

If you have a secure server setup like I do, I think you'll find that WinSCP (Windows) will make your life much easier.

Posted in The Web at Aug 19 2003, 06:42:35 PM MDT 5 Comments

Building high-content web applications

I've recently been tasked with rebuilding a JSP-based site using a Struts architecture. One of the issues (that I see) in the current architecture is that there are a number of JSPs with the text for the pages hard-coded in them. After re-writing this app, we plan on deploying it to 25+ customers - and we certainly don't want to have 25 different JSPs (with text) for each customer. I've proposed a database, but that might be a little resource intensive - so I'm wondering how folks have done this in the past (I'm sure it's been done before)?

Options I see are:

  • A Database table with the following columns (page_id, title, content, section_id).
  • Text files that are imported using <c:import url=""/>

What options have you used (feel free to add more) - if you've used the database approach - how do you define the page table? Maybe we should use the Roller way and use Velocity and OSCache.

Posted in Java at Aug 19 2003, 06:30:28 PM MDT 18 Comments

I got blasted today

I formatted the Red Hat hard drive on the machine they gave me at work today - installed XP and went to a meeting. We got interrupted in the meeting for lunch, and resumed the meeting after lunch. After our meeting finished, I was pleasantly surprised to see XP had finished installing (I stopped by every-so-often to kick it into gear again). Later this afternoon - about 10 minutes ago - the Network Admin came by to yell at me for getting blasted. I didn't even do anything but install XP and this damn little virus got me. And I was so proud for not getting it at home. Lesson learned? Every time you install XP, unplug it from the network and install a firewall before going further.

Posted in General at Aug 19 2003, 03:49:05 PM MDT 3 Comments

The First Day at the New Gig

I can already tell this is going to be a wicked place to work. It has the feel of a .com company - shorts are allowed, people are smart, technology is bleeding edge. They're using JBuilder 9 and Visual Source Safe, so there's some new tools to learn. My machine isn't nearly as fast as I'd hoped (1.6 GHz, 768 MB), but it'll certainly do. I did get dual monitors, which I have a hard time living without - so I can't complain at all. There were four of us that are starting this week or next - 2 graphics designers and 2 Java developers. We are tasked with building 42 custom websites in the next 6 months. Sweet - I love a good challenge!

Posted in General at Aug 18 2003, 10:06:03 PM MDT 4 Comments

[ANNOUNCE] Struts Menu 1.3 Released!

Maybe I need to pay better attention. I didn't realize that Scott released the next version of Struts Menu 1.3. Feel free to check out my demo and then proceed to download it. I used the Tabbed Menu in my last project and the CoolMenu in the project at Comcast - both have been super easy to use and configure.

Posted in Java at Aug 18 2003, 09:38:32 PM MDT Add a Comment

Pulled an all-nighter last night

In an effort to get my short project done before my new job starts tomorrow - I pulled an all-nighter last night. I started coding like a mad-man at 10:00 at didn't stop until 7:30 this morning. 5 hours of sleep, and I'm back at it again. Ugh, I'm a zombie - but very close to finishing the first release. I've written so much code this week that my fingers actually hurt and they're getting raw!

The good news is that I'll only be working a week at my new job - and then we're off on Vacation! We're planning on flying to San Diego (California) and road-trip up the coast to Oregon, where my parents live. Should be fun - we're looking forward to Napa Valley and the Redwoods. Anyone have any advice on what to see or what to do in CA, please let me know. We're currently planning 5-6 days to go from San Diego to Salem, OR.

Posted in General at Aug 17 2003, 02:58:26 PM MDT 5 Comments

Display Tag: Static Headers

One of the requests we get over on the display tag project is a way to have static headers. Basically, this means that a user could scroll down through all the records on a page and the header would stay in place. The next generation of the tag library has a <thead> and <tbody> that makes this fairly easy to do. For instance, just by adding style="height: 400px; overflow: auto" to the <tbody> tag - you get the desired effect. Cool stuff - only seems to work in Mozilla though. Any IE/CSS experts out there that can explain why it doesn't work in IE?

See Also: Display Tag: Static Headers - Revisited

Posted in Java at Aug 16 2003, 03:16:06 PM MDT 19 Comments

Cool RSS Readers for Windows

FR VS FD

I've recently come to accept the fact that I need an RSS Reader for Windows. I use NetNewsWire for the Mac and it's one of the best things since sliced bread. For Windows, I'm currently evaluating FeedReader and FeedDemon. FeedDemon is written by Nick Bradbury, the creator of TopStyle and HomeSite - my two favorite Windows apps. I tell you what - if Nick would create OS X versions of these TopStyle and HomeSite - I'd buy a G5 and get rid of Windows. I doubt that'll ever happen though. FeedReader is great with the tray icon and update notifications. FeedDemon has a "synchronize with OPML" that looks awesome, unfortunately, it doesn't work with my blogroll.

My favorite features of an RSS Reader? I've listed them below and if my readers support them. NNW = NetNewsWire, FD = FeedDemon, FR = FeedReader.

  • Drag-n-drop URLs from a browser window to the reader (NNW)
  • Ability to import my Blogroll from Blogroll.com (none)
  • Weblog posting/editing (NNW)
  • Retrieval of full post rather than description (NNW, FD)

If you can think of more cool reader features - let me know! There might be some I don't even know about.

Posted in Roller at Aug 16 2003, 11:57:24 AM MDT 4 Comments

Loving Java all over again

This past week has been hectic. I'be been pumping out what seemed to be a relatively small and simple application for a client. What was a simple 3-table 3-page application is now 14 tables and even more pages. But it's going awesome. It's the most productive I've ever been on a project - thanks to AppFuse, which is further backed up by the powerful Ant, XDoclet, JUnit, Struts and Hibernate.

The reason I've fell in love with Java all over again is I've re-discovered the power of reflection and inheritance. 8 of the 14 tables are child tables of a main "project table." As I noticed I was doing a lot of copy/paste in my DAOs, Services and Actions - I decided to reflection for all these child tables and now I have 3 methods on my DAOs (get/save/deleteProjectChild). Same goes for my Services and my Actions all share the same delete/edit/save methods in a BaseAction.

The only reason I even have child Actions is for URL beauty and to xdoclet-generate the action-mappings. Backed up by tons of JUnit, StrutsTestCase and WebTest test cases - it's been a breeze to refactor and enhance. I'm in love all over again.

Posted in Java at Aug 16 2003, 11:23:04 AM MDT 1 Comment