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.

The Modern Java Web Developer Bootcamp at Devoxx

At this year's Devoxx, I'll be delivering my first University session. University talks are in depth presentations of 3 hours (= 75m + 30m break + 75m). I'm calling it The Modern Java Web Developer Bootcamp and my goal is to teach people some new concepts and techniques that'll make them more valuable developers. My session's hashtag is #dv13-javaweb$ to exemplify the important takeaways: Java is back, web development is fun and you can make more money.

Three hours is quite a bit longer than I'm used to, but I'm confident I can fill the time with lots of knowledge. My plan is to enhance my presentation from JavaOne and add a few demos. Currently, I'm thinking of developing the following additional content:

  • HTTP Overview (with SPDY)
  • Polymer and Web Components
  • Bootstrap 3 Overview
  • HTML5 Storage
  • API Framework Comparison (Play, Grails, Dropwizard)
  • Load Testing
  • Performance Monitoring (including RUM)
  • Internal Cloud Options

For demos, I'd like to show a few that provide real value to attendees and teach them how to do something they haven't done before. The ones below are candidates I'm thinking of, and I'd like to pick three for the final presentation.

  • Browser Tools Demo
  • Developing with Bootstrap Demo
  • AngularJS Demo
  • Refactor an app from Spring to Java EE, no XML, all Java 8
  • Page Speed Improvement Demo
  • Security Demo (add LDAP to Angular app + OWASP ZAP)

If you could pick three real-time tutorials from the choices above, which ones would you choose?

I'm also thinking of adding some stories about impressive loads served with very little hardware and real-time dashboard development. If you have a story about either of these, please let me know. I'd be happy to credit you (or your company) and talk about any technical implementation details you're willing to provide.

Posted in Java at Oct 29 2013, 10:21:49 AM MDT 10 Comments

Around The World Honeymoon: 2nd Stop, Italy

In August, Trish and I journeyed on a 'round the world honeymoon, starting in Ireland and taking a train to Italy. The train ride from Paris to Turin, Italy was amazing. After a few hours, we passed through the Alps, where scenery was steep and plentiful. We drank wine and gazed out the window as we flew through the countryside. We arrived in Turin just before dark and our first official honeymoon tiff began.

Upon exiting the train station, I realized I didn't have any cash, having spent it in transit on vino. Phil had mentioned the hotel was "a short walk" from the station, so I figured we could walk a few blocks and stumble upon it. This only worked for a few blocks before Trish asked me if I had the address. I admitted that I did not, though it was on TripIt and I'd left the printout on the printer at home. Of course, with no phones or internet, TripIt did us no good. We stopped in at a bar to get the address from someone with a cell phone, then proceeded to walk for several blocks in the wrong direction. Then things got a lot better. We found an ATM, caught a cab and landed at our hotel (the NH Santo Stefano) 10 minutes later.

The next day, Tuesday August 6, we slept too late to feast on the hotel's breakfast. Just before noon, we strolled through the heat to Piazza San Carlo. A shaded cafe presented itself as appetizing and we sat down for a bite to eat.

San Carlo Royal Square Turin Italy

Trish at Piazza San Carlo First meal in Italy!

[Read More]

Posted in General at Oct 24 2013, 02:33:36 PM MDT 3 Comments

We Bought a Ski Bus!

This summer while vacationing in Montana, I gave my Cadillac Escalade to my parents. My reason was simple - it'd been molested too many times in the big city. We did enjoy catching the criminals (busted two would-be-thieves in the act in 2010), but we were ready for a new car.

We started looking for one shortly after arriving home from our honeymoon - from the Nissan Armada to the Tesla. But none of them really appealed to me. Then I found a rig that made my heart leap, the VW Syncro Westfalia, aka The Greatest Car Ever Built.

Everyone from pro snowboarder Jussi Oksanen to Maverick’s surfing legend Grant Washburn to actor Tom Hanks, who calls his Syncro addiction "a rare dementia," has succumbed to the Vanagon. The only drawback: production ceased in 1992, and there are only so many of these babies left (maybe as few as 5,000), so the vehicles are appreciating in value.

The first one I found stood out because it fixed the problem that many VW Busses have - crappy engines. Rather than a powerless ol' VW engine, it had a Subaru SVX H6 3.3L (240HP). I found a maroon syncro that was similar to the aforementioned one, but ended up buying the blue one after I asked the owner why his was better. He replied with a 12-item list and a closing paragraph that sealed the deal for me.

Any van you end up with will have its own eccentricities, personality traits, faults and virtues. Owning one, especially a Syncro is a labor of love, not necessarily a good investment purely in terms of money but man, I've racked-up more memories in that Syncro over the past 10 years than with anything else in my life. I've owned Syncros for years and will continue to do so, it gets in your blood and there's no cure.

Trish has always wanted an RV for photography, and I've longed for a VW Bus that runs. With our plan of skiing all over Colorado this year (Abbie gets free days at every resort), it should be a heckuva ski season!

Right 3/4

I can't wait to go and rescue it in December with my Dad. We figured it'd be fun since we did our first bus rescue in 2004. For more pictures, see my 1990 Syncro Westy SVX Full Camper set on Flickr or the original listing.

As for my '66 Porsche Bus, that's progressing nicely. It should be starting and drivable (though not street legal) in the next couple weeks.

Update: Dad is out, Trish is in for the Syncro Rescue Road Trip. She wasn't about to let us have all the fun. ;)

Posted in The Bus at Oct 22 2013, 11:47:18 AM MDT 1 Comment

Writing for InfoQ

A little over six months ago, I received an email from Charles Humble, the lead Java editor at InfoQ.com. He asked me to comment on his Struts 1 Reaches End Of Life. I happily obliged, and my thoughts were published as part of the article.

After that brief interaction, Charles and I started talking about the possibility of writing for InfoQ. I said I'd be interested and things have been progressing steadily from there. Today, I'm proud to announce that my first InfoQ article has been published. If you missed JavaOne, or attended but didn't see the keynotes, you might enjoy reading JavaOne 2013 Roundup: Java 8 is Revolutionary, Java is back.

If you did attend JavaOne, or simply watched the JavaOne Keynotes and found something particularly intriguing, I'd love to hear about it.

Posted in Java at Oct 20 2013, 09:20:08 AM MDT 1 Comment

Around The World Honeymoon: 1st Stop, Ireland

When I asked Trish where she wanted to go for our honeymoon, she suggested "Ireland, Italy, Thailand or Fiji". They all sounded like wonderful places, so we decided to visit them all! To book the trip, we contacted the Travel Guru, Phil Overton. Phil does all the travel arrangements for No Fluff Just Stuff, so I'd worked with him a bit in the past. Phil agreed to help us out and I sent him an email with countries and dates to get the ball rolling. We asked him to book us a flight out of Denver on July 31, returning on August 23rd, just in time for Jack's birthday party.

The week before we were scheduled to depart, I received our travel book (with itineraries and tickets), and confirmed everything looked good. At that point, all we knew was the dates were correct and we had hotels booked. That weekend, Trish and I got married. On Monday morning, July 30th, we drove back from Montana, arriving in Denver late that night. The next morning we had our first fight as a married couple.

Me: "You can't bring your phone."
Trish: "I'm bringing my phone! What if there's an emergency?"
Me: "There's not going to be an emergency! Besides, everyone knows our hotel information."
Trish: "I'M BRINGING IT!"
Me: "NO!! If you bring it, I can't tell the story about traveling the world without phones!"

-- Deadlock stare for 15 seconds without blinking --

Trish: "Fine!"

Rather than having checked luggage, we took carry-on bags only. No phones, no computers, and backpacks that only fit a few days worth of clothes. We dressed up in hopes of getting better seats on our flight to Ireland. It worked for getting drinks bought for us in Denver and Boston (our layover), but the guy sitting between us refused to swap seats.

Yep, these are our bags for our around the world trip.

[Read More]

Posted in General at Oct 17 2013, 02:35:32 PM MDT 3 Comments

JavaOne 2013: My Presentations

I flew into San Francisco this past Monday to speak at JavaOne 2013, and to meet with my new client. I made sure to wear a Broncos shirt since I was riding the train through Oakland and had some co-workers that were Raiders fans. My trip started off nicely as the Broncos dismantled the Raiders on Monday Night Football. My new team and I watched it during a team dinner at Havana in Walnut Creek. Historically, the Broncos and Raiders have had a heated rivalry historically, so the win was the perfect start to the week. :)

On Tuesday, I worked from my hotel in the morning, then met James Ward to do some last minute prep for our smackdown. The prior week, we both upgraded our respective apps to use the latest versions of Grails and Play Framework. I ran into a few issues when upgrading, while Play required some API changes.

We both added Memcachier to our apps (to share caching between dynos) and ran some Apache Bench tests. The results showed quite a bit of slowdown compared to last time, which we attributed to caching needing to make network hops. Other than that, we both had to make changes to our framework's buildpacks to get the latest versions running on Heroku, and when we headed for our talk, my instance of Grails wasn't running (60 second boot timeout on startup). The good news is it somehow solved its issues during our talk and was up and running when I checked it after, as it is now. Below is an embedded version of the presentation we delivered. You can also click here to see it in a new window, or view it on SlideShare.

On Wednesday morning, I tried to attend Venkat's Programming with Lambda Expressions in Java, but quickly discovered it was sold out. My talk on The Modern Java Web Developer started shortly after and I had a fantastic time talking to a packed room and preaching the virtues of learning and staying up-to-date with web technologies. I made sure to include a slide on Avatar, an Oracle-sponsored JavaScript-based framework that requires "very minor JavaScript knowledge". You can view my presentation below or on SlideShare.

According to @JavaOneConf, all JavaOne 2013 presentations will be published on Parleys.com.

After completing my talks, I journeyed to my client and practiced what I preached, successfully finishing a spike that reduced page load time from 8 seconds to 2 seconds. That evening, I attended the Oracle Appreciation Event at Treasure Island, had some cold beer and listened to some loud music.

I had a great time speaking at JavaOne this year, and look forward to my next speaking engagement. In November, I'll be traveling to Devoxx where I'll be giving a 3-hour University session on The Modern Java Web Developer. Hope to see you there!

Posted in Java at Sep 27 2013, 01:35:01 PM MDT 5 Comments

JavaOne 2013: My First Time Speaking

I've been to JavaOne many times in my life, starting in 2004 and continuing in 2005, 2006 and 2008. I have fond memories of the first couple years, meeting all the Java open source guys and having a lot of fun.

You might notice that the aforementioned blog posts no longer show pictures. That's because they were originally hosted on Apple's HomePage, which they shut down years ago. I haven't bothered to republish the photos and fix the links, but I do still have them. For those looking for a blast from the past, checkout Mike, Howard and James or Bruce and Marc. I also have a set of photos from our Geronimo Live party in 2006.

As many of you know, JavaOne used to be a huge conference, attracting 15,000 attendees back in the day. Numbers have dwindled a lot since Oracle bought Sun and I've heard recent years are more around 1500. Since I've spoken at a lot of conferences, but never JavaOne, I figured I'd try this year. The good news is I got accepted and I'll be there next week!

On Tuesday afternoon, I'll be presenting the Play Framework vs Grails Smackdown with James Ward. On Wednesday morning, I'll be talking about The Modern Java Web Developer. I also look forward to The Black Keys on Wednesday night.

I have a feeling it's gonna be a great week!

Posted in Java at Sep 19 2013, 05:50:34 PM MDT 4 Comments

Developing with AngularJS - Part IV: Making it Pop

Welcome to the final article in a series on my experience developing with AngularJS. I learned its concepts, beat my head against-the-wall with and finally tamed it enough to create a "My Dashboard" feature for a client. For previous articles, please see the following:

The last mile of development for the My Dashboard feature was to spice things up a bit and make it look better. We hired a design company to come up a new look and feel and they went to work. Within a week, we had a meeting with them and they presented a few different options. We picked the one we liked the best and went to work. Below are screenshots that I used to implement the new design.

My Dashboard - New Design My Dashboard with Show More

[Read More]

Posted in The Web at Sep 12 2013, 10:54:29 AM MDT 7 Comments

Matrimony in Montana

On July 27, 2013, in the late afternoon, Trish McGinity and I were married at the Holland Lake Lodge, in the town I grew up in. The Lodge was a favorite childhood place and getting married there, to the awesomest woman ever, was a glorious experience. There were several planned activities (e.g. horseback riding, rafting, golfing) the week before our wedding day, and many of our friends and family joined the fun. While we couldn't capture every smile, giggle, or loving moment, this is an endeavor to document our matrimony month, our wedding week, and the day we sealed the deal.

We started our month in Montana on Sunday, June 30th. We're officially calling it Raible Road Trip #18. We packed up our pets, raft and golf clubs and left Denver around happy hour.

Heading to Big Sky Country!

To read more about our rafting adventures, our wedding week festivities and our delightful wedding day, please click the link below. You can also skip directly to the wedding week or wedding day.

[Read More]

Posted in General at Sep 02 2013, 01:01:53 PM MDT 1 Comment

Happy Birthday Jack!

My son Jack, or "J Jackson" as he liked to be called, turns 9 years old today. In the last year, he's grown up quite a bit. He learned how to play basketball last fall, snowboard last winter and became a Webelos Scout in the spring. This summer, he learned how to ride a motorcycle and had a blast whitewater rafting with us. He did a fabulous job being my Best Son in our wedding.

This past weekend, we had a birthday party for Jack -- complete with a huge inflatable water slide. Trish and I flew in from our honeymoon 10 hours before the party started, but still managed to oversleep from jet lag. Nevertheless, we made it in time for some good fun and had a great time celebrating with the whole family and new friends from his new school. Below are a few choice pictures. The rest are on Flickr.

The Waterslide Boing! Proud Papa

Double Rainbow

Jack's favorite thing to do is play Minecraft or watch YouTube videos about it. His sister still knows how to push his buttons, but he's learning to ignore her. This is a big year for Jack as he's starting a new school and making a bunch of new friends. I know he'll do great and I look forward to helping him adapt and enjoy it. Happy Birthday Jack!

Jack on his birthday

Related: Jack's 8th, 5th, 4th, 3rd and 1st birthdays.

Posted in General at Aug 28 2013, 02:41:19 PM MDT 1 Comment