Matt RaibleMatt Raible is a Java Champion and Developer Advocate at Okta. developer.okta.com

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 14-Day Sugar Detox

Several years ago, Trish and I did a 21-Day sugar detox. I was unenthusiastic at the time, but the results were fantastic. I lost weight, my blood pressure improved, and it inspired me to eat better ever since. I created 21-Points Health to track my health and became the cook in our household.

This summer, I journeyed to JCrete, and enjoyed a couple weeks of vacation afterward. While we had a fantastic time, I didn't eat well or exercise much. When I returned home, I was motivated to be healthier before our next big trip.

Two weeks ago, Trish and I decided to do a 14-day sugar detox. We ate mostly meats and vegetables with some fruit (green apples and greenish bananas OK), drank a lot of water (no booze is allowed), and did mostly home-cooking. To step things up a notch, I decided to double my daily exercise and see if I could lose some weight. I started commuting 30+ miles per day to Thrive Workplace. They have two locations in Denver, so I'd pick the closer one depending on the day.

Did it work? I lost a bunch of weight the first week but then plateaued this week. I enjoyed the commute and fresh air, but I was hoping to lose more weight. I think 21 days might be the trick. Then again, my blood pressure is pretty good, so maybe all is well.

After two weeks, I lost 10 pounds (4.5 kg); my blood pressure dropped from 154/92 to 131/80.

What's next? I think eating a low sugar diet, exercising more, and keeping it to 10 drinks a week is the healthiest lifestyle for me. Next week, I’ll be sipping on sweet Guinness in Ireland. I’ve heard it’s good for you. ;)

Below is a screenshot of this week in 21-Points Health.

21-Points Health: September 1, 2018

If I get three points tomorrow, I'll get 21 points two weeks in a row!

Daily Points on September 1, 2018

Thanks to Runkeeper for tracking my miles traveled and calories burned.

Mega Commute: Distance Mega Commute: Calories

Questions or comments about no sugar or long bike commutes are most welcome. :)

Update: I managed to score 21 points, two weeks in a row! 🎉

What a week!

42 Points!

Posted in General at Sep 01 2018, 06:11:32 PM MDT Add a Comment

Happy Birthday, Jack!

Jack at Versailles Jack turned 14 today. Last weekend we celebrated with his friends at our local Topgolf. I'd never been before, so I was eager to go, and we all had a great time.

However, the real highlight happened when we were cruising home in our '66 VW Bus amongst a gaggle of Lamborghinis. We had all his friends in the bus when four Lambos and a Bently pulled up alongside us. We cruised with them for a couple miles, grinning from ear to ear.

Jack's favorite thing to do these days is to play video games with his buddies, specifically Fortnite (a.k.a. "fork knife"). He's got some basketball skills too but doesn't play on a team. He excels at skiing because we make him go all the time and he's only a centimeter or two shorter than me. He's sure to be taller than me soon!

Jack is in 8th grade this year. This was the first year he traveled across the pond to visit Europe. He's getting in some miles: Paris in June, Crete in July, and we're heading to Ireland next week.

Happy 14th Birthday, Jack!

Posted in General at Aug 28 2018, 09:35:00 PM MDT Add a Comment

JHipster Conf 2018: Summer Solstice in Paris

Last week, I journeyed to Paris with my son, Jack. It was his first time in Europe and I brought him along for good reason. I’d been invited to the first ever JHipster Conf, and I was eager to attend. We were both pretty excited when we left Denver last Monday.

Our adventure to Paris begins! #jhipsterconf

A post shared by Matt Raible (@vwsforlife) on

My Background with JHipster

I’ve been a part of the JHipster community for a few years now. I joined by accident, really. I was trying to market myself as an independent consultant by spouting my knowledge of Spring Boot and Angular with an InfoQ mini-book. Since JHipster leveraged both to jumpstart app development, it seemed like a perfect fit. I’ve been a long-time fan of app jumpstarts, having developed my own called AppFuse in days long gone.

Through the process of writing the mini-book, finding issues, and submitting pull requests, I eventually found myself to be a member of the JHipster development team. Through my relationship with JHipster, and it’s 3.0 release, I found myself intrigued my microservices and how to develop them with Spring Boot, Spring Cloud, all through the generation expertise of JHipster.

I’ve learned a ton by being part of the project and trying to figure out how all of its options work.

When I found myself with a full-time job at Stormpath, I did my best to create a Stormpath module for JHipster. When Okta acquired Stormpath, I added a similar module to my list of things I wanted to write.

When it came time to implement an Okta module, I discovered JHipster’s OAuth support only worked internally, not with an external OAuth provider, also known as an Identity Provider, or IdP. I mentioned to the JHipster team I thought we could do better and add support for external providers instead. They agreed, and I went to work.

In hindsight, it was a great decision and not terribly difficult to implement thanks to Spring Security, Keycloak, and Docker. We had a ton of help from the community along the way, and as of last October, JHipster added support for single sign-on with OIDC (tested with Keycloak and Okta).

JHipster 5.0: Spring Boot 2.0, Angular 6, and React

It’s been a fabulous adventure on the JHipster train and it’s still going strong. We just released version 5.0 with React and Spring Boot 2.0 support, there’s client generators for Ionic and React Native, and we just hosted a kick-ass conference about JHipster in Paris.

JHipster Conf 2018

The conference featured members of the core team, the well-dressed and fit Joe Kutner from Heroku, as well as Java celebrities like Ray Tsang and Josh Long. You can read about the festivities and presentations from JHipster's founder, Julien Dubois.

The conference was a little over 24 hours long, starting with a speaker’s dinner on Wednesday evening. Before attending, Jack and I spent the day strolling around Versailles. Versailles is a special place in my life since I proposed to my double rainbow there after Devoxx Belgium in 2011.

?? Versailles #working #jhipsterconf

A post shared by Matt Raible (@vwsforlife) on

The conference kicked off with a keynote by the JHipster's co-leads: Julien and Deepu.

During my talk, I had Jack join me on stage for an intro, and tried to give him a taste of public speaking in front of hundreds.

My talk went well, with some successful and some failed demos. Hopefully people got the point that it’s cool to store your users outside of JHipster so you can share them between apps. I also tried to show that OAuth and OIDC are excellent for securing APIs. You can download my presentation from Add JHipster to Your JHipster Apps with OIDC or view it below.

I created a tutorial of the app I showed in my talk and published it to the Okta developer blog: Build a Photo Gallery PWA with React, Spring Boot, and JHipster. If you like React and OAuth, you're gonna love this guide!

Jack and I had a day in Paris after the conference, so we made the most of it. We hit the Eiffel Tower, hiked the stairs, and marveled at the view. After, we waited in a long line for The Catacombs and walked among the dead.

Kudos to the JHipster Community!

What a trip! It’s so much fun to be a part of JHipster’s thriving open source community. It’s not just the project itself; it’s all the projects we build upon, from Java to TypeScript to Spring Boot to Spring Data to Spring Security to Angular to React to webpack to Bootstrap. It’s a conglomeration of all of my favorite tools and open source developers encompassed in several awesome projects!

Life as an open source developer is pretty fun. I encourage you to get involved in open source too! I started way back in the early 2000s with Struts and Ant, and it’s done wonders for my career.

Viva La Open Source!

Posted in Java at Jun 28 2018, 10:13:27 AM MDT Add a Comment

Farewell to the 2017-18 Ski Season

Summertime has arrived in Colorado! Typically, I try to write my "end of ski season" blog post in April or May, but this year it slipped until June. Do I have a good excuse?! Not really. Things got busy with my trip to Richmond and Oktane 18, that's all.

I'm going to keep this post short and sweet, to mirror the ski season. We didn't receive a whole lot of snow in the Rocky Mountains so the powder days were few and far between. There were a couple though, and I got to spend a powder day with some old friends at Winter Park!

Dudes Day at Mary Jane

The kids and I skied a few days in December, but it wasn't anything to write home about. For New Years, we packed up the Syncro and headed for Crested Butte.

Packed up for Crested Butte!

Crested Butte had OK conditions, but the real fun happened when we ditched downhill and tried Nordic skiing. We spent a few hours with James Ward and daughter Josie on a beautiful cross country ski adventure. I grew up cross-country skiing to the bus stop, so it was a real hoot to do it with the whole family.

Happy Times with James Ward in Crested Butte! Crested Butte has gorgeous views We love CB!

Happy Family in Crested Butte

The real magic happened when I visited the Utah JUG in February. I drove through several snow storms on the way and arrived just in time for my talk on microservices, JHipster, and OAuth.

The next morning, there was 17" at Snowbird. That was a lovely morning.

That evening, Trish and the kids flew in and we hit Alta the next day. They still had fresh snow in spots and lots of sunshine.

Alta!

We spent Sunday and Monday in Park City and got dumped on again. 17" again on Monday. Wahoo! We stayed and skied the morning, then endured a long 10-hour drive home.

Those were the main highlights of the ski season. Both kids are legit skiers now and will ski blacks all day if the snow is good. OK, maybe not all day, but for a few hours at least. ;)

As for the VWs, Stout the Syncro won his class at the VWs on the Green show! Hefe the Bus didn't win anything, but he sure did look good!

Stout won his class!

VWs on the Green 2018

Summer 2018

Now it's pretty much summer in our neck of the woods. We spent last weekend rafting on the Upper Colorado and we're hitting the Arkansas near Salida this weekend. I've been riding my bike(s) a lot, but haven't done a lot of single track trails. I hope to fix that soon.

If you're a developer that follows this blog - I hope to see you on the road in the coming months! I'll be at JHipster Conf next week, KC/DC, UberConf, and JCrete in July, and Boston JUG in August. Hope y'all have a great summer. :)

Posted in General at Jun 12 2018, 07:50:32 AM MDT Add a Comment

Spring Break 2018: Sun, Fun, and Disney World!

I love Spring break. Who doesn't?! When I was a student, it was a nice break between quarters and led to many adventures with friends in college. As an adult, I love taking a Spring break holiday and spending it with my family. In a recent blog post on the @oktadev blog, I wrote:

I work hard, and I play hard. My family loves to do ski weekends, road trips, and whitewater raft trips. I’m lucky to work at a company like Okta that has an unlimited vacation policy. I’ve heard that most unlimited vacation policies don’t work for people because they tend to work more, and take fewer vacations.

I take full advantage of our unlimited vacation policy and make sure to take a week of vacation during every other six-week plan.

How to Achieve Massive Productivity at Work

Last week, my family and I spent Spring break 2018 with Trish's parents in Naples, Florida. We saw some incredible cars, enjoyed a day at Magic Kingdom in Disney World, played some golf, took in a couple of sunsets, and relaxed a bunch. I think some pictures describe it best.

An hour into the two hour wait for #splashmountain. Watch out - Jack is driving!

Disney Fireworks!

Naples Sunset

Awww, they really do ?? each other!

Happy Easter!

More on Flickr → Spring Break 2018

Q1 Technical Blog Posts

In case you're here looking for technical blog posts, I'm still writing about Java, Spring Boot, Angular, React, and JHipster quite a bit. However, I'm doing it mostly on the Okta Developer Blog. Here's a list of my blog posts from Q1 2018:

JHipster Mini-Book v4.5 Released!

In related writing news, version 4.5 of the JHipster Mini-Book is now available! Please let me know if you find any issues, or would like clarification on any topics.

Posted in General at Apr 06 2018, 03:04:31 PM MDT Add a Comment

Hefe 3.5 Has Been Released! 🎉

"Open up the champagne, pop! 🍾" -- Flo Rida, My House

I’m thrilled to announce that Hefe, my 1966 21-Window VW Bus, is finally finished!

It only took 4,342 days, starting on April 17, 2006 and ending just a couple weeks ago (March 7, 2018).

When I last wrote about Hefe, I mentioned he was in the shop getting a better stereo.

For Hefe's stereo, I tried going phone-only for a controller. This turned out to be a bad idea, mostly due to bit Play HD and its terrible mobile app. Also, Hefe is lowered and a bit bumpy in the front, so trying to use a touch screen while driving doesn't work very well. He's in the shop now getting a new deck installed.

My dad and I visited Elevated Audio to pick him up two weeks ago today. I’ve known the owner, Andrew, ever since I hired him to install a sweet system in Stout the Syncro in 2013. Back then, his business was named Andrew’s Installs. Fast forward five years and his business is thriving. For a good reason too, his team and their attention to detail is magnificent.

It sounds fucking incredible.

Having Hefe finished sometimes makes me misty eyed when I drive him.

I was especially pumped to get Hefe back because we’d signed him up to be in Denver’s St. Patrick’s Day Parade.

That’s where the untold story begins.

Last Friday evening, I washed and polished him to get ready. While cleaning him, I accidentally sprayed a bunch of water on the engine. It’s a no-no to drench a car’s engine when it’s not running. I’d done this to our Syncro six months after we got it and it might’ve contributed to our engine’s untimely death.

Hefe's all dressed up and ready for Denverâs St. Paddy's Parade tomorrow. Hope to see you there! 😍👌🎉

After I finished, I tried to start Hefe. The engine turned over just fine, but it’d barely fire and never catch. I pumped the gas pedal a bunch and eventually gave up thinking I'd flooded the engine. I told myself to revisit the problem in an hour; maybe things would dry out by then.

I didn’t tell Trish about the problem until I’d tried (and failed) to start him an hour later. I took off the distributor cap and dried things out. I wiggled and re-routed some wires. Moving wires around made the spark plugs fire but in the wrong order. I reverted my changes and told Trish the bad news.

We couldn’t be in the parade without a running bus.

I cursed, loudly.

Trish’s high-school friend was flying in from NYC with her family that night. Trish left for the airport to pick them up, suggesting “we could go skiing instead” as she left.

Shortly after, I recognized my lousy attitude and vowed to turn things around.

“Now it’s flooded,” I thought. I knew the wires were correct.

I threw on my University of Denver hockey jersey and went to my living room to finish watching them in a playoff game. They beat the Minnesota Duluth Bulldogs 3-2, and I celebrated with a cold Guinness.

Then I strolled outside, sat in Hefe, told him he could do it and started him right up. 💥

Wahoo! He recovered!!

The parade was epic.

Lined up and ready for Denver’s #stpaddysday parade! 🍀

We all felt glorious; cranking the stereo, blowing bubbles out the top, dancing up a storm, and basking in the happiness that is downtown Denver on St. Paddy’s Day. 🍀🤗

Party's all around Bubbles

Yes, there will likely be more to do to Hefe in the coming years. That’s OK. He inspires smiles every time I drive him and providing joy to people is a beautiful experience.

Kudos to all seven Colorado shops that made Hefe possible. I won’t say he’s worth every penny, but he’s pretty darn close! 😍

Posted in The Bus at Mar 21 2018, 02:21:41 PM MDT Add a Comment

2017 - A Year in Review

2017 was a year with many changes. We changed presidents, Stormpath joined forces with Okta, our daughter started high school, and we lost two of our precious pets. On the upside, I traveled to many beautiful places, talked to developers around the world, and became a Devoxx Champion. Not only that, but our two classic VWs ran like champs the whole year. We put upwards of 10K adventure miles on our Syncro, and another couple thousand on Hefe the Bus.

I'm going to look back on 2017 using the following categories.

Professional

2017 was the first year I started with a full-time job in January since the turn of the century. I'd been an independent consultant for most of my career. Stormpath enticed me enough with their people and vision that I became a full-time employee with them in September 2016.

January started slow, but I started to hit my stride in February when I traveled to Sweden for Jfokus and skiing. Coincidentally, it was shortly after the conference that I found myself negotiating with Eric Berg about joining forces with Okta. I remember it well: I was sitting in the hotel lobby, with James Ward and Ray Tsang, when it all happened. Shortly after, we were sitting in the back of the bus on our way to a skiing adventure.

[Read More]

Posted in Roller at Jan 31 2018, 04:16:39 PM MST Add a Comment

SpringOne, The Rich Web Experience, and Being Home for the Holidays

A few weeks ago, I had the pleasure of hitting two excellent conferences in one week: SpringOne and The Rich Web Experience. The primary reason I like both conferences so much is that there are so many familiar faces.

I had a gas hanging out with folks from Pivotal after I arrived on Monday night. On Tuesday, I thoroughly enjoyed the opening keynote. Seeing the unveiling of Spring Boot 2.0's most impressive feature was spectacular too!

I walked to the Okta office for some swag that afternoon, then proceeded to the Atomist happy hour. I talked with Rod Johnson about how Atomist might be able to help update our example apps and the Okta Developer blog. Since keeping our posts and examples up-to-date is a maintenance burden, I think Atomist could be a huge help.

After happy hour, a bunch of us joined Heroku for a delicious dinner and fun conversations.

On Wednesday, I delivered my talk on Bootiful Development with Spring Boot and React. You can find my slides on Speaker Deck.

It was recorded and published to YouTube as well.

After my talk ended, I only had 70 minutes before my flight took off for Florida and the Rich Web Experience. Luckily, there was hardly any traffic and I found myself boarding with 23 minutes to spare.

[Read More]

Posted in Java at Dec 22 2017, 01:44:25 PM MST Add a Comment

A Stressful, but Rewarding, Trip to Devoxx Belgium and Morocco

One of my favorite conferences in the world is Devoxx Belgium. First of all, it tends to have one of the most enthusiastic audiences I've ever seen. Secondly, its organizers are super awesome and challenge you to give great talks. Third, it was the first conference I ever took my Trish to. In 2011, I took her a second time and proposed to her in Paris afterward.

This year, I traveled to Devoxx Belgium for the first time without Trish. It was stressful because I didn't prepare well beforehand. However, it was also gratifying because I was able to make everything work, even it all happened at the last minute. Furthermore, I did the majority of my talks with good friends, which is always a pleasant experience.

The purpose of this blog post is to document my experience this year, so I can look back and say WTF was I thinking?! ;)

I left Denver on Monday (November 6) afternoon and flew to Brussels, Belgium. My flight landed in Brussels at 9 am and Josh and my (three hour) talk was at 1:30 pm. I made it in time, but it was one of the first times we didn’t have a lot of time to prepare face-to-face beforehand. I learned that getting t-shirts printed in the US to save $500 is a good idea, but having to take two suitcases to carry them all is a bad idea.

Cloud Native PWAs with Josh Long at Devoxx Belgium We did our usual talk and I used Okta's new Angular SDK instead of the Sign-In Widget to showcase authentication. Even though the crucial step I needed was contained in my notes, I failed. One simple line to add an HttpInterceptor and I missed it!

I think I followed up well with a tweet that showed how to fix it. But who knows how many people use Twitter. One things for sure, people tweet more at Devoxx Belgium than any other conference I’ve ever been too! In fact, the #Devoxx hashtag got hijacked by some porn sites and their tweets started showing up on the Twitter wall. 

I tweeted about what I forgot to do after our talk.

Josh and my talk was published on YouTube the very next day, which is awesome.

[Read More]

Posted in Java at Nov 27 2017, 08:37:50 AM MST 2 Comments

Life as an Open Source Developer, One Year Later

It's been a little over a year since I wrote about life as an open source developer. I'm happy to say I still haven't written a single line of proprietary code. Of course, things have changed a lot in the last year. I thought going full-time would bring stability to my career. Instead, six months into it we joined forces with Okta.

The transition was rough at first. At Stormpath, we had full-featured SDKs and a great relationship with developers that used our service. We were able to port many of our SDKs to work with Okta, but we discovered that Okta didn't have a great relationship with developers. In fact, their developer blog hadn't been updated in over a year when we arrived.

On the upside, Okta's API supported standards like SAML, OAuth, and OpenID Connect. Open standards made it possible to use other frameworks and not have to rely on our own. I was pumped to find that Spring Security made it easy to integrate with SAML and OAuth. In fact, I was able to leverage these standards to add OIDC support to JHipster.

Okta's new developer console and open pricing are just a couple examples of improved happenings since we arrived. The Okta Spring Boot Starter and JavaScript libraries for Node.js, Angular, and React are also pretty awesome.

I'm happy to say my contributions on GitHub almost doubled in the last year!

GitHub Contributions 2017

As far as stress is concerned, that hasn't changed much. I've learned that the stress I feel from work is still causing me to have high blood pressure. When I measure it in the mornings, or at night, it's fine. When I measure it during the day, it's elevated. I believe my high blood pressure is caused by doing too much. Sure, it's great to be productive and accomplish a lot for my company, but it's killing me.

Therein lies the rub. I get to create my job. All I'm asked to do is write a blog post per week and speak at a conference (or meetup) once a month. Yet I'm doing way more than that. Since this time last year, I've delivered 33 presentations, in 13 different cities. I keep a page on this blog updated with all my presentations.

Next year, I still plan to speak a lot, but I plan on toning things down a bit. I'll be concentrating on US cities, with large Java user groups, and I'll be limiting my travel overseas.

Matt the Hipster Outside of my health concerns, I'm still loving my job. The fact that I get paid to speak at great conferences, write example applications, and discover new ways to do things is awesome. It's also pretty sweet that I was able to update the JHipster Mini-Book and upgrade 21-Points Health during work hours. The fact that I got featured on the main Okta blog was pretty cool too.

The good news is my overseas travel isn't done this year. Today, I leave for Devoxx Belgium, one of my favorite conferences. It'll be my first time in Antwerp without Trish. However, I'm speaking with friends Josh Long and Deepu Sasidharan, so it's sure to be a good time. Traveling to Devoxx Morocco should be fun too. I've never been to Casablanca before.

In December, you can catch me at SpringOne and The Rich Web Experience. Next year, I'll be speaking at Denver Microservices meetup, Utah JUG, Seattle JUG, and JazzCon. I plan to do a JUG tour in the northeast US too.

You might've noticed I don't write a lot of technical content here anymore. That's because I'm doing most of my writing on developer.okta.com/blog. I'm still writing for InfoQ as well. I really enjoyed attending the JavaOne keynotes and writing up what I saw.

I'll leave you with this, a project I'm working on actively and plan to finish before Devoxx Morocco.

Viva la Open Source!

Posted in Open Source at Nov 06 2017, 08:33:17 AM MST 2 Comments