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.

When GMail and Firefox Suck

For the most part, both GMail and Firefox rock. However, when you're typing a long e-mail in GMail and you hit Ctrl+R instead of Ctrl+T, it really sucks. Rather than opening a new tab, I lost my whole e-mail message. Damn. Maybe it's time to go back to the desktop client. I've lost a few e-mails with GMail, but I don't think I've ever lost one with Outlook or Thunderbird. I guess it's time to setup GMail's POP3 access.

Posted in The Web at Nov 30 2004, 02:08:11 PM MST 7 Comments

Fix CSS max-width in IE

Anthony has a good post on using this minmax script to fix a CSS bug in IE. If you're using the Sunsets theme (like I am) with Roller - you might want to add this to your page templates. I've patched this site - thanks Anthony!

To patch your theme, create a page with name "_minmax.js" and link "minmax.js", populate it with the script contents and then add the following in your theme's <head>:

    <script type="text/javascript" src="$ctxPath/page/$userName/minmax.js"></script>

You can also create CSS pages for your site using a similar technique. While we're talking about IE bugs, you might want to know that <script/> doesn't work in IE, that's why you always have to add the closing </script> element.

Posted in Roller at Nov 30 2004, 08:23:31 AM MST 6 Comments

It's Dumping in Colorado

The mountains and ski resorts are getting dumped on right now. Here in Denver, we have about 3-4 inches and it's still snowing. It started yesterday and it's cold (14°F) right now. Check out this ski report for Vail Resorts this morning.

Vail (www.vail.com)
Temp. at 5am MST: -1F/-18C
Surface Conditions: Powder
Snowfall in last 24 hours: 10in.
Snowfall in last 7 days: 34in.
Mid-Mountain Base: 28in.
Percent of Terrain Open: 15%

Beaver Creek (www.beavercreek.com)
Temp. at 5am MST: -1F/-18C
Surface Conditions: Powder
Snowfall in last 24 hours: 11in.
Snowfall in last 7 days: 38in.
Mid-Mountain Base: 39in.
Percent of Terrain Open: 22%

Keystone (www.keystoneresort.com)
Temp. at 5am MST: -1F/-18C
Surface Conditions: Powder/Packed Powder
Snowfall in last 24 hours: 4in.
Snowfall in last 7 days: 13in.
Mid-Mountain Base: 28in.
Percent of Terrain Open: 13%

Breckenridge (www.breckenridge.com)
Temp. at 5am MST: -1F/-18C
Surface Conditions: Powder/Packed Powder
Snowfall in last 24 hours: 3in.
Snowfall in last 7 days: 17in.
Mid-Mountain Base: 22in.
Percent of Terrain Open: 14%

You can see that 1) there's not much terrain open and 2) it's fricken cold up there. Raible Designs has a "9-inch rule", which means if it snows 9 inches or more, all employees get the day off to go skiing. ;-) I think I'll wait until January to make this a mandatory rule.

Looks like the commute should be fun this morning. Days like today make it nice to have a 20-step commute (40 with a stop at the coffee pot).

Posted in General at Nov 29 2004, 06:49:29 AM MST 5 Comments

Edit Screens with JSF

I'm working with JSF this morning and I'm finding one thing particularly annoying. I'm working on a simple master/detail screen and I'm tweaking the detail screen to fit my needs. It's just a <form> with some form elements. I change something, run "ant deploy-web" and hit "refresh" to see my updated page. Since everything in JSF is a post, I get prompted to re-submit the form. Fine, I agree - then I'm returned to the list screen. Argggh - why can't I just view the form again?! This might just be a MyFaces nuance, I'm not sure. Anyone know of a workaround?

Wanna see the bug/feature in action? Go to http://demo.raibledesigns.com/equinox-jsf/userList.html, click on a row - and after the edit screen displays, hit refresh on your browser. In an ideal world, you'd see the form again, but nope - you get the list instead.

Posted in Java at Nov 28 2004, 10:02:25 AM MST 9 Comments

The Garage Bench

After this week, the Bus has a new home and a bench to hold the tools for its restoration. The project begins early next year.

empty canvas
Empty Canvas
completed bench
Finished Bench
The Bus's New Home
The Bus's New Home

Posted in General at Nov 27 2004, 04:28:58 PM MST Add a Comment

Christmas Pictures

Just like last year, we went and had Christmas pictures taken this week. Here's a snapshot of the whole family. Kiddie Kandids is the place to go - you can actually pick out and leave with your photos 15 minutes after they're taken.

Raible Family at Christmas 2004

Posted in General at Nov 26 2004, 11:31:26 AM MST 2 Comments

GMail - Spam Filter Quit Working

It started yesterday and continues today. GMail is no longer filtering out spam - I'm getting it all. This means if I leave my computer and check my e-mail a couple hours later - I'm up to 200 new messages, with 1 or 2 that are actually sent to me - the rest are spam. Anyone else experience this GMail meltdown?

Posted in The Web at Nov 25 2004, 10:44:12 AM MST 7 Comments

AppFuse Tapestry/JSF Status

There's 3 phases of adding a new web framework to AppFuse. The first phase is integration and configuration. This is the fun part and involves adding JARs and configuring everything so the framework actually works. At the end of this phase, I'm usually pretty enthusiastic about my progress and think I can finish the whole project in a few more days. Then comes the "features" phase, when I start coding AppFuse features with the framework. This part always takes wwaaaaaaayyyy longer than I anticipate. This is the part where I realise previously done things (from other framework implementations) won't work and I have a long road ahead of me. For instance, with Tapestry and JSF, I have to figure out how to do the following: Country drop-down based on locale (currently a JSP tag, so should work with JSF), multi-select checkbox, and placing an asterisk next to required fields.

The asterisk isn't too hard if you do it the "WebWork way" - where you simply specify required="true" on JSP Tag. However, I'd prefer to have it read from the validation engine, so this will probably take some digging on how to do it with JSF/Tapestry. For the country drop-down, I'll probably have to create a Tapestry Component. I believe both frameworks have a multi-select checkbox component. After working with Tapestry's contrib:Table component for a few hours, I miss the Display Tag. The contrib:Table works, but it's a LOT more difficult to configure than the Display Tag. It also blows up if you click the column headings too many times. Also, it doesn't have any exporting features like the Display Tag. Sure, it might not need them, but a lot of folks have come to rely on these and it's a handy feature. Furthermore, another unfortunate thing I found in Tapestry this morning is it doesn't seem to read the locale from the request. So if you change your browser's language, it won't switch the language. You actually have to logout and kill the session to switch the locale. Bummer.

My main problem with the 2nd phase of the project is choosing whether to "do it right" or "get it done". I often start out just trying to get shit done, but end up being a perfectionist and trying to do it right. This phase took a couple of weeks to get through with WebWork. Ugh - I'd rather just get this stuff done, but I don't think it's gonna happen. I think I'll be working on the "features" phase for quite some time. Oh well, at least I'll learn the ins and outs of each framework.

The final "finishing up" phase is one of the best. It's when everything works and I write the installation scripts and tutorials. This is slightly painful b/c there's nothing new to discover, but it's also nice because there's nothing new to learn or get tripped up on.

AppFuse 1.7 estimated release date? I was hoping for the next couple of weeks, but I'd better stick with the end of the year. I'm sure there's going to be a fair amount of banging my head against the wall in the next few weeks.

Posted in Java at Nov 25 2004, 08:52:13 AM MST 1 Comment

Happy Thanksgiving!

Happy Thanksgiving to all those celebrating today. It's been a great week at the Raible Household. I've managed to squeeze in a few hours for AppFuse/Tapestry/JSF, but mostly I've been building a garage workbench with my Dad. We also setup a "beer fridge" so the garage is now a nice place to hang out. Should be even better when I start disassembling the bus.

I have a lot to be thankful for this year - the new bus, new baby, new house and new book. Abbie is a ton of fun these days, so I owe her a big thanks for all the smiles and laughs. I owe Julie a huge thanks for being so supportive of my "burning the midnight oil" and allowing me to write another book. To my Mom, Dad, and Kalin - you guys rock for always reminding me who I am and where I came from.

I owe my readers a note of thanks for visiting this site and listening to me ramble on about Java and the kick-ass open source tools that make our lives easier. You guys are responsible for the popularity of this site. Finally, I thank Dave Johnson for Roller (which started this site) - which lead to meeting Lance, which led to my first authoring opportunity. A lot of good fortune these days come from this site - I'm still astounded that a simple blog can open so many doors.

Happy Thankgiving!

Posted in General at Nov 25 2004, 08:30:32 AM MST 1 Comment

AppFuse Gig in San Fran

Todd Huss is looking for an AppFuse developer in San Francisco. More details at http://www.craigslist.org/sfc/eng/49835022.html. For those of you who don't know, AppFuse isn't much of a framework itself - it's more of a directory structure and build file that helps glue Hibernate, Spring and various web frameworks together. You can learn more about it by reading this article on java.net.

Posted in Java at Nov 23 2004, 09:59:22 AM MST