2010 was an awesome year, but 2011 rocked the house! At the end of last year, I kept my goals simple:
In 2011, I plan on doing two main things: keep rockin' it with Trish and finishing The Bus. Everything else is gravy.
As predicted, it was a spectacular year, but I only accomplished 50% of my goals. That is, Trish and I had a great time skiing (especially in Utah), moving in together, traveling the world and getting engaged in Versailles. I even satisfied some 5-year goals: building a sauna in my basement and getting a ski shack in the mountains.
However, I didn't get much done with The Bus. Or rather, the guys at MotorWorks Restorations didn't drain me for all I'm worth in 2011. We did make good progress with estimating the final cost and obtaining many hard-to-find parts though. I now have a Porsche 911 Engine (1983 3.0L 6 cylinder), a Porsche 901 5 speed transmission, Porsche "Turbo Twist" wheels and a Custom Air Ride Front Beam from Franklin's VW Works. The thing that slowed our progress the most was the custom beam, as it took almost 6 months from order to delivery. When it arrived in September, I decided to put things on hold. I didn't want to get my bus back in the midst of winter and not be able to drive it.
In January, I started working at Overstock.com and flew out to Salt Lake City the first two weeks to ramp up. In setting up my development environment, I discovered some inefficiencies and wrote about how I fixed them in Making Code Generation Smarter with Maven. I also discovered that JRebel slowed my build process down by almost 50% and stopped using it as part of my daily process. Now I simply run in debug mode or use fancy frameworks that allow instant reload.
At the end of the month, I skied Alta for the first time on a blue bird day. That night, I flew back to Denver, had a gorgeous lunch ride in 70°F weather on Friday afternoon, then picked up my lovely girlfriend, Trish, and drove to Crested Butte for a weekend of skiing with James Ward and friends. It was my first time visiting Crested Butte and I can see why people call it Paradise.
As of February 1st, Trish and I both had 17 ski days. As I'm writing this, we're both up to 14 for this season and very proud to say Abbie and Jack each have 10. Both kids are shredding like I've always dreamed they would.
My parents (both retired) came to visit for the month of February and helped me start building a sauna in my basement. This was something I've wanted to do for years, so it was a lot of fun getting things started. While we didn't finish construction, we did get the plumbing/electrical done, stove installed and walls framed. We also had a fun night with Chef Navarro and Friends.
The rest of my posts in February were purely technical. I wrote about how I implemented extensionless URLs with Tapestry, Spring MVC, Struts 2 and JSF. Then I started delving into security-related topics, largely motivated by a new feature I was working on at Overstock. When I wrote about Implementing Ajax Authentication using jQuery, Spring Security and HTTPS, I explained what I was trying to accomplish.
The feature hasn't been released yet, but basically boils down to allowing users to login without leaving a page. For example, if they want to leave a review on a product, they would click a link, be prompted to login, enter their credentials, then continue to leave their review. The login prompt and subsequent review would likely be implemented using a lightbox. While lightboxes are often seen in webapps these days because they look good, it's also possible Lightbox UIs provide a poor user experience.
I was able to get everything working, posted a demo and wrote about upcoming conferences in Las Vegas and Kraków. In that article, I described a new talk I was going to create: Webapp Security: Develop. Penetrate. Protect. Relax. I ended the month with a post on how to fix XSS in JSP 2.
On February 25th, I experienced The Greatest Snow on Earth with thigh-deep powder and face shots on every run.
That night, we saw Hot Buttered Rum and woke up early for 27" of fresh powder at Alta. The picture of Trish free-heeling at Alta is one of my favorites of the year.
In early March, we experienced a suite night at the Avs game, then I kept it technical and upgraded this blog to Apache Roller 5.0, RC4. I upgraded AppFuse to JSF 2, wrote about JSR 303 and web framework support and added search to AppFuse using Compass. When writing about JSF 2, I mentioned replacing Ajax4JSF with RichFaces. 9 months later, it seems like PrimeFaces has more momentum, so I may try that instead.
For St. Patrick's Day, we flew to Vegas for TSSJS and had a blast. Not only did my talks go well, but we had a bunch of friends in town and had much success gambling the nights away.
After delivering my Comparing JVM Web Frameworks talk, I had a very interesting conversation with James Strachan. He recommended I take a look at CoffeeScript and Jade. A couple months later, when I was thinking of talks for Devoxx, I added these to my list of technologies to learn and submitted a talk about HTML5 with Play Scala, CoffeeScript and Jade.
That Friday, we returned to Denver, got a good night's sleep then headed on a hut trip in Colorado's High Country. The name of the hut was Peter Estin Hut and it was a bit of a hike to get to. My friend, Joe, set my expectations correctly when he warned me it'd be a 5 hour death march. It took us 4 hours, 30 minutes and we skied up 2200 vertical feet of switchbacks.
Trish and I started off April with a bang by moving in together, then embarking on a whirlwind trip of two opening days with a stopover in Kraków. We flew Business Class from Chicago to Munich (releasing AppFuse 2.1 just before departing) and were very impressed with Kraków's Old Town upon arrival.
On that trip, I especially enjoyed meeting Trish's brother for the first time and watching the Red Sox win their first game of the year.
After returning, I realized I lost a lot of data in my Roller 5 upgrade and wrote about what happened and how I recovered it. Then we bid farewell to the 2010-2011 ski season and got ready for mountain bike season.
For next year, I think I'll keep my goal at 30 days. If everything works out as planned, we'll have a place in the mountains this fall and it'll be a bit easier to hit the slopes without sitting in traffic. For now, I'm pumped about the beginning of mountain bike season.
May arrived and Trish and I started looking for a place in the mountains. We found an very cool cabin, but later decided it was too nice and we'd rather have a condo. I finished The Basement Sauna Project and wrote about Java Web Application Security: Java EE 6, Spring Security and Apache Shiro.
On May 21st, we again visited Winter Park and Fraser to look at condos, then drove back to Denver for U2 at Mile High Stadium. I'm not a big fan of U2, but this was quite possibly the best concert I've ever been to. The experience of 70,000+ fans, all screaming, doing the wave, and loving life was epic. We decided that night that we liked one of the condos more than the rest and put in an offer the following week. The kids headed off to Florida for a month with their Mom and we drove to Utah for Desert Rocks and mountain biking in Moab.
I Upgraded to Roller 5.0 in June and showed how to add a Facebook Like button. Next, I transcribed a couple more Java Web Application Security articles: programmatic login APIs and penetrating with Zed Attack Proxy.
From my Father's Day post:
I really enjoyed spending so much time with my family this weekend. The good news is we get to do it again when I meet them at The Cabin in Montana next week. In the meantime, Trish and I are off to Jazoon for a few days of fun in Switzerland.
A few days later, we were in Zurich for the first time, enjoying our accommodations and marveling at Switzerland's excellent transportation system. I experienced an interesting situation while speaking, but quickly forgot when we visited Rhine Falls, celebrated our anniversary at Gruelich and played in the Swiss Alps.
We arrived back in Denver at 6pm on Sunday, June 26th and I flew to Montana at 8am the next morning. I worked from The Cabin that week and wrote a book review for Agile Hiring.
I think Sean [Landis] does a great job in showing how you can apply agile principles (people over process, tracking tools, failing fast, continuous improvement, constant feedback) to improve your hiring process. As a person that interviews often, I think it also gives great insights into how companies interview and what they're looking for. I've often thought that being honest about my skills and what I'm looking for is a good tactic and this book seems to confirm that.
That weekend, it was the "90s Reunion" for the Seeley Swan High School, which I attended my freshman and sophomore year of high school. There were several highlights of the trip, but one of my favorites was our float in the Swan Valley Parade. Abbie came up with the idea (Happy Birthday America) and we decorated an old trailer with streamers, balloons and a birthday cake to celebrate. Abbie made up a song and sang it throughout the entire parade (with a portable microphone and amp).
I went swimming with my iPhone 4 that Sunday and Trish and her Dad showed up a few hours later. On the 4th, we had a blast celebrating the holiday with mine and my parents' old friends. The next day, we adventured to Glacier National Park, where Trish shot an awesome sunrise at Lake McDonald. She also captured a beautiful picture of The Cabin at sunset that week.
In between vacationing in Montana and writing about it, I wrote some technical posts:
We returned to Denver in mid-July and shipped the kids off to Florida just before my annual Birthday Golf Debacle. We teed off at Wellshire Golf Course and had one of the most well-behaved rounds in a few years. The next weekend, we closed on our "Ski Shack" in Fraser and I penned Another Dream Realized: Mountain Views. Trish's October Sunset photo is one of my favorite glimpses of our view.
Next, I blogged about How do you get started in programming? and we headed to the airport a few hours later for a whirlwind trip from Oregon to Cape Cod. That was a wonderful trip and it took me almost a month to write about it. We flew into Portland and spent the weekend hiking in Silver Falls and drinking good beer at the Oregon Brewers Festival and Edgefield. We stayed with my good friends Clint and Autumn (married in Costa Rica in 2008), who had their first child only a few weeks after our visit (August 26th).
We had an awful early flight out of Portland to Boston that Sunday. On Monday afternoon, we picked up Abbie and Jack from the Boston airport. They flew up from West Palm Beach on their first unaccompanied minors flight. We drove them to Cape Cod and settled into Trish's parents house near the water. The rest of the week, we had a blast with our friends Chris and Julie and the entire McGinity clan.
We spent the rest of August going to concerts at Red Rocks, beer festivals in Winter Park, mountain biking, hiking, taking the kids to the Ski Shack and playing with Crazy Sagan. In my only August post, I talked a lot about the Broncos, Hawaii, Devoxx and leaving Overstock.
That pretty much catches you up-to-date with the goings on in my life. As you can tell, it's been a great summer so far. I'm really looking forward to the fall too. Broncos season, a trip to Hawaii, learning new technologies, talking about them at Devoxx and a new gig.
Tomorrow is Jack's birthday. I gotta run ... it's time to go buy a bike, play a little golf, hit the pool and go to the BBQ before tonight's CD Release Party.
We watched proudly as Jack turned 7 the next day and loved his excitement when he got his first mountain bike.
September started with mountain breezes and fishing at Lake Granby. Lots of friends, family and delicious food make for a heckuva 3-day weekend. Jack was the only one to catch a fish and you couldn't wipe the smile off his face for the rest of the day.
I described my Digital Diet and wrote my first article related to my Devoxx talk: Integrating Scalate and Jade with Play 1.2.3. The 2nd weekend in September, we enjoyed a September Sports Weekend, going to two Rockies games and the Monday night Broncos Opener before heading to Kauai. While the Broncos didn't win that game, Trish's shot of Brett, Joe and I sums up many-a-game this season.
As expected, Kauai blew our minds. We saw several spectacular sunsets, did some Stand Up Paddling (it's harder than it looks), played golf, took a doorless helicopter ride and kayaked along the Na Pali coast.
We never got bored of the view from our room.
October was a quiet month on this blog. I only wrote two articles, one about increasing my developer happiness and another about developing with HTML5, CoffeeScript and Twitter's Bootstrap. Watching the Broncos in October was painful at first, buy many rejoiced when Tebow started against Miami (10/23) and we had the amazing comeback to win. We went to the next game against the Lions and were quickly shown they had a long ways to go. We dressed up as the Scary Family for Halloween and had a ball.
I made up for October's lack of writing by writing 9 articles in November. I started with complaints about Play Scala's Anorm and PostgreSQL, then celebrated Abbie's 9th Birthday with a Magic Show.new MacBook Pro and iMac and more Scalate goodness for Play. At this point, I was scrambling to finish up my Play More! application for Devoxx and worked a lot of late nights. That weekend, I used PhoneGap to turn my webapp into a native app and finished everything in the nick of time. We flew to Paris that Monday, took the train to Antwerp on Tuesday and settled in for a memorable week of interesting talks.
- Play 2.0, A web framework for a new era
- PhoneGap for Hybrid App Development
- Deploying Java and Play Framework Apps to the Cloud with James Ward
- My HTML5 with Play Scala, CoffeeScript and Jade Presentation from Devoxx 2011
That Saturday, we took the train back to Paris and checked into our hotel for a few days of romance. I proposed to Trish at Versailles on Sunday at sunset and we rolled around in our joy for a few days before we told any of our friends.
We flew back to the US the Wednesday before Christmas and spent the weekend in Boston with Trish's family. For full details of that trip, see Our Engaging Trip to Paris and Antwerp.
To end the year, I kept it light and only spun up one blog post in December: What have I been working on at Taleo? A week after writing that post, we moved to the Ski Shack for 3 weeks and enjoyed a wonderful holiday break with many visitors.
Yes, 2011 was a spectacular year. We traveled to four different countries, did a lot of camping and mountain biking and accomplished 2/3 of my 5 year goals (basement sauna and mountain views). I wrote a lot of technical blog posts in the 2nd half of the year; most inspired my extracurricular activities. I plan to continue that this year as I learn more about HTML5, Play Framework, Scala and CoffeeScript. At the end of last year's Year in Review, I wrote:
In 2011, I plan on doing two main things: keep rockin' it with Trish and finishing The Bus.
I think I can safely say I kept it rockin' with Trish - we're living together, engaged and still amazed we found one another. As for The Bus, I think MotorWorks Restorations and I are in a good position to make a final push and finish the sucker. My hope is to have it done by May so I can start driving it and taking it to VW Shows. In the meantime, Trish has started working on McGinity Photo full-time and loving it. We have trips planned to Stockholm (for Jfokus), Madrid (for Spring I/O) and Paris (for Devoxx Paris).
Last weekend, we witnessed one of the greatest playoff games ever when the Broncos beat the Steelers. I think the picture of Trish celebrating the final touchdown pretty much sums up 2011.
I look forward to all the skiing, celebrating, camping, traveling and bus rides in 2012. It's gonna be a fantastic year.