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 searched this site for "free sex movies for men non blog". 1,226 entries found.

You can also try this same search on Google.

Heli Skiing in British Columbia with CMH Gothics

I first learned how to downhill ski in Montana while I was in grade school. A couple times a year, the whole school would go on a field trip to Big Mountain (now Whitefish Mountain). I didn't ski a whole lot in high school, nor in college (at the University of Denver). However, several friends went to DU for the skiing. They'd schedule their classes so they had a couple days off per week, and they'd head for the hills. Two friends in particular, Chris and Chris, were some of the best skiers I'd ever seen. They'd fly through the moguls with legs like rubber bands, upper-body barely moving, legs absorbing the world famous bumps at Mary Jane.

I used to talk about Chris and Chris, long after college, as the amazing skiers with the rubber band legs. I didn't start skiing a lot until I worked for a .com in the late 90s. The VP of Development (whom we now call "The Professor") told us that one of the perks was a "9-inch Rule". The rule was that if it snowed 9", you could take the day off and go skiing, as long as you went to the resort that had the fresh powder. It was crazy how few people took advantage of this, but he and I never missed a day that year. That was likely the first year I'd skied more than 10 days in my life, and I'll bet I skied 20 with him.

I continued to ski a fair bit with my practice wife, then took a couple years off when the kids were born. We got them on skis when they were two years old, and they've been skiing ever since. The funny thing is, I never got really good at skiing until I started taking tips from The Professor. The year was 2010, and I got good enough to be able to ski top-to-bottom bump runs without stopping. Skiing had become a passion for me.

When I met Trish a few months later, I asked her if she skied (hoping to God she did). Her response blew my mind.

"No, I tele."

She went on to explain how she'd started with Alpine, moved to snowboarding for six years and was now addicted to free heeling. I just gazed with a dumb stare and my mouth open.

Last year, Chris M. decided it was high time we did a helicopter ski trip.

[Read More]

Posted in General at Feb 11 2014, 11:18:39 AM MST 1 Comment

You shouldn't have to worry about front end optimization

After writing yesterday's article on optimizing AngularJS apps with Grunt I received an interesting reply from @markj9 on Twitter.

I clicked on the provided link, listened to the podcast (RR HTTP 2.0 with Ilya Grigorik) and discovered some juicy bits at around 27:00. The text below is from the podcast's transcript at the bottom of the page.

[Read More]

Posted in The Web at Jan 16 2014, 01:49:03 PM MST 5 Comments

Using Grunt with AngularJS for Front End Optimization

I'm passionate about front end optimization and have been for years. My original inspiration was Steve Souders and his Even Faster Web Sites talk at OSCON 2008. Since then, I've optimized this blog, made it even faster with a new design, doubled the speed of several apps for clients and showed how to make AppFuse faster. As part of my Devoxx 2013 presentation, I showed how to do page speed optimization in a Java webapp.

I developed a couple AngularJS apps last year. To concat and minify their stylesheets and scripts, I used mechanisms that already existed in the projects. On one project, it was Ant and its concat task. On the other, it was part of a Grails application, so I used the resources and yui-minify-resources plugins.

The Angular project I'm working on now will be published on a web server, as well as bundled in an iOS native app. Therefore, I turned to Grunt to do the optimization this time. I found it to be quite simple, once I figured out how to make it work with Angular. Based on my findings, I submitted a pull request to add Grunt to angular-seed.

Below are the steps I used to add Grunt to my Angular project.

[Read More]

Posted in The Web at Jan 15 2014, 12:15:52 PM MST 7 Comments

A Webapp Makeover with Spring 4 and Spring Boot

A typical Maven and Spring web application has a fair amount of XML and verbosity to it. Add in Jersey and Spring Security and you can have hundreds of lines of XML before you even start to write your Java code. As part of a recent project, I was tasked with upgrading a webapp like this to use Spring 4 and Spring Boot. I also figured I'd try to minimize the XML.

This is my story on how I upgraded to Spring 4, Jersey 2, Java 8 and Spring Boot 0.5.0 M6.

When I started, the app was using Spring 3.2.5, Spring Security 3.1.4 and Jersey 1.18. The pom.xml had four Jersey dependencies, three Spring dependencies and three Spring Security dependencies, along with a number of exclusions for "jersey-spring".

Upgrading to Spring 4
Upgrading to Spring 4 was easy, I changed the version property to 4.0.0.RC2 and added the new Spring bill of materials to my pom.xml. I also add the Spring milestone repo since Spring 4 won't be released to Maven central until tomorrow.

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-framework-bom</artifactId>
            <version>${spring.framework.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<repositories>
    <repository>
        <id>spring-milestones</id>
        <url>http://repo.spring.io/milestone</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>
[Read More]

Posted in Java at Dec 11 2013, 12:47:15 PM MST 7 Comments

Happy Birthday Abbie!

Abbie's 5th Grade School Picture. She can start dating when she's 25 Today marks 11 years since my little girl was born. She's not so little now, and growing up quite fast. Luckily, she's still shorter than most kids in her class, so she doesn't seem like an 11 year old. To celebrate, we started the morning with a birthday song, complete with our border collies (Sagan and Jake) barking loudly. It was a fun beginning and inspired a good mood all around.

Speaking of inspiration, I'd like to thank the state of Colorado and their 5th graders ski free program. It's motivated us to try and ski all the Colorado resorts this year. It all begins soon, with the Syncro Rescue in early December. Abbie is a pretty fast skier now, and I can't wait to ski the powder and ride the lifts with her. Our first road trip with the kids (and pets) will be for Christmas at The Cabin. We plan on skiing a bunch at Whitefish Mountain, where I learned how to downhill.

Happy Birthday Abbie! I hope you're ready for a winter of adventure! We had a blast celebrating your birthday with you tonight. :)

Abbie's 11th Birthday at Benihana

Posted in General at Nov 05 2013, 11:41:28 PM MST Add a Comment

Around The World Honeymoon: 3rd Stop, Thailand

In August, Trish and I journeyed on a 'round the world honeymoon, to Ireland, Italy, Thailand and Fiji. Thailand is somewhere I've always wanted to go, and we were looking forward to some beach time as we boarded our flight from Turin to Istanbul.

Flying over Istanbul Turkey We had high hopes for leaving the airport in Istanbul and grabbing dinner. With a six hour layover, we figured it wouldn't be too difficult. After waiting an hour in line to get out, the security guard told us we'd need a visa, which were available for $20 and another hour wait in line. We gave up and headed for the a lounge to relax and do a bit of writing. In fact, that's where I started writing the blog post about our wedding month. The flight to Bangkok started around midnight and arrived in the early afternoon on Monday, August 12. The Bangkok airport was massive and impressive, and we grabbed a bit to eat before boarding for Koh Samui.

Our hotel was the W Retreat Koh Samui and it was spectacular. Upon arrival, we were greeted by the General Manager (Brian Segrave) as we marveled at the view. Shortly after, a driver whisked us up to our bungalow in a "buggie" (golf cart). Our accommodations were exquisite, with a rose petal-filled bathtub, fondu, an outdoor shower and our own private pool. Basically, everything you'd want in a Honeymoon Getaway Suite.

After 2 days of traveling we make it to our room at the W in Thailand, whew!

And rose petals in our tub..I'm in heaven. They had fondue waiting for us in our room - sweet! Outdoor shower in our room!

No way!  We have our own little pool and veranda!

[Read More]

Posted in General at Oct 31 2013, 06:49:39 PM MDT 3 Comments

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

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

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