So it’s been 7 days since I completed my second IronMan race and a little over a year since doing my first. I wanted to take some time to reflect on the race and my entire 2018 triathlon season before writing this. Both were full of emotional highs and lows…just like last year, that started out with the unexpected death of my father on Valentine’s Day and ended with me finishing my first IronMan race ever.
Soon after finishing IronMan Maryland, I setup my 2018 schedule of races that would lead me into IronMan Florida this year. I didn’t want to do a LOT of races this year, but wanted a few short and long distances in the books before heading into Panama City Beach, Florida. With that in mind, I setup the following season plan to lead me into IronMan Florida prepared:
- April 8 – IronMan Texas 70.3 (Relay)
- May 26 – The Rookie Tri
- June 2 – IronMan Hawaii 70.3
- August 26 – Jack’s Generic Tri
- September 30 – Kerrville Triathlon Festival
- November 3 – IronMan Florida
So 2018 started out and with it, another significant life changing moment occurred….I left my job for 9 years at Canonical. It was the right decision to make, but still a difficult and scary one, because I had not secured my next job when I submitted my notice. Hell…I didn’t even know what I was going to do next! While it would have obliterated my savings, I had enough money to live a year without income…even longer if I had to, but would have involved significant changes in lifestyle and living conditions for sure. With all that, I had to put myself in that position…outside of my comfort zone…because it was the only way I knew, without a doubt, that I’d find the right next step in my career. I will always bet on me.
Fortunately, I was able to find the perfect next opportunity for me. And looking back on the time I spent jobless, searching for my next adventure, and spending some time on me and with my loved ones…it was good. I left that period with a better appreciation for the important things in life, as well as the real meaning of living without fear.
IronMan Texas 70.3 (Relay)
As the section title suggests, I did the relay with two other friends, which means each one of us only did one activity in the race. I did the swim portion. I wanted to get a decent salt water swim distance done (1.4 miles) in my swim skin before heading to IronMan Hawaii 70.3, where wetsuits are not allowed (too warm). A swim skin is a very thin short sleeved suit worn over your tri/swimsuit. It stops above the knee and gives you a slightly faster swim due to it’s water repelling (and slightly slimming) features.
Now if you look closely at the picture (ignoring the weirdo making superhero eyes at the camera), you’ll notice I have a pair of wetsuit shorts on…over my swimskin…over my swim shorts. Why? Because on that particular Spring day in Galveston it was 50°F……yeah.
Despite the cold air, the water was actually not too bad…above 70ºF, which felt like a warm bath when I jumped in. The water was definitely salty and a bit choppy, but I got the practice swim I needed. Shout out to Brent Baker and Justin Fosbury for freezing their asses off with me in the race, and our friends for the support!
The Rookie Tri
I have done this race every year since I first started doing triathlons…it was my first race ever, so there’s a sentimental reason for why I do it. However, I also wanted to do a full swim, bike, run race with transition changes before taking on IronMan Hawaii 70.3. This triathlon is super short (300m swim/11.2mi ride/2mi run), so the timing of it being so close to IM Hawaii was fine…as long as I didn’t drown, wreck, or get hurt, I would be fully recovered for the upcoming 70.3 mile race in June.
The race went well for me. I didn’t have any friends racing or even their supporting me, but it’s not a very long race. Plus local races always have familiar faces….and as you’ll see, it would turn out to prepare me for most of the season. Thanks goes out to my Mom, Linda Williamson, for staying the night before and watching my boys that morning for me.
IronMan Hawaii 70.3
I had chosen to do this race for three reasons:
- I wanted to get a long race in that had a real ocean swim before IronMan Florida.
- I thought it would be cool to ride the same bike course (half) as the IronMan World Championship.
- Despite having traveled the world extensively, I had never been to Hawaii in my life.
I had originally planned to do this race solo, but my Mom asked if she could go and given how much she has done for me, I decided to bring her along as a treat…upgraded flights…VIP spectator pass…room and food paid for…BAM! Now, because I had reserved the room using my timeshare points and the popularity of this race, I could not switch the room…so yes…I shared a kingsize bed with my Mom in Hawaii, LOL.
The race went pretty well. Despite not seeing any cool sea life, the swim was perfect. The water was calm and clear, perfect temperature, and I didn’t get eaten by a shark :-P. The bike portion was tough for the first half, but I expected it. The out-and-back ride starts out half way into the championship course, on the same highway with the same turn around being at the highest point in the course. The views were a crazy contrast of barren fields of volcanic rock with distant clear blue ocean and sandy beach views. The temperature wasn’t too hot, especially if you’re from Texas, and we were lucky to have the trade winds blowing the hazy volcanic air from the erupting Mt Kilauea away that day. It did rain at the peak of climbing…which was just insult to injury as I pedaled at a blazing 9mph at some times, and despite hitting 40mph on the way back (big boy biker), I was slowed a bit around mile 40 of 56 with leg cramps. However, I finished in a decent time and felt ok going into the 13.1 mile run….but that quickly turned to a struggle. The run course (described as “challenging” by IronMan) was mostly on a golf course…a two-loop rolling golf course that zig-zagged all over the place across golf greens, golf cart tracks, and a straight stretch outside the course near a lava rock field called Devil’s Kitchen….yeah. The first mile was bad…my hamstrings would not stop cramping…making it hard to even lift them to walk. Fortunately, I’ve experienced enough cramping to know that as long as I kept moving, hydrated, took my salt pills, and stayed positive, I’d get through it…and thankfully I did and finished the race. Huge thanks to my Mom for being there and meeting me at the finish!
Jack’s Generic Tri
After almost 3 months of no races, I wanted a relatively short race in August to prepare me for my next 70.3 race at the end of September….which was my last race to prepare for IronMan Florida in early November. I had done this race two times before, and had swore I’d never do it again. I hated the two-loop hydrilla infested swim in Lake Pflugerville, the two-loop ride on the country roads with grand canyon sized cracks, and the two-loop run around the lake in the blazing sun with no shade. Thankfully, the race was relocated this year…to the same exact course as the Rookie Tri, with just a little bit longer swim (600m) and a 3.1 mile run at the end. As with the Rookie Tri, my Mom would watch my boys, as I was doing this race solo….but again, it’s a short race with familiar faces, so no big deal. I went into this race with plans to really push myself in the swim and bike, and then finish strong in the run. All while recognizing the extended run course included a monstrous hill at the end that I intended to walk up, because running it would not improve much time for me and only tank me for the final 400m or so.
The swim started out great. We entered the water in a rolling start of two athletes every 3 secs. As I was approaching the start, I noticed my start partner just so happened to be the strength coach for UT Men’s Basketball. We had a short conversation about racing…he was surprised I recognized him…I told him I followed the team closely, heh. After the swim, I headed for the bike portion with plans of staying at or above an average speed of 18mph….I averaged closer to 16.5mph….yeah. The week before I decided to replace my inner tubes, but kept the same tires I had rode with all season. I had done a couple trainer rides with them…no problem. However, there was a problem that only showed up when riding at an incline…my rear wheel was mounted too close to the frame and rubbed when going upwards with my weight transferred more to the rear. This course has a particular steep climb that just so happens to occur immediately after short down hill ride into a sharp right turn requiring you to slow down. I’ve seen racers not familiar with the course stop and walk their bikes up because they got caught in the wrong gear heading into it. I was prepared for it, but the rubbing was like I hit and held my brakes while trying to traverse the hill…I got off and checked the brake…tried riding again with no improvement…then said f*ck it, got off, and ran up the hill with my bike on my shoulders. I passed two riders in my run…hulk-based frustration is an amazing source of power for me when controlled and directed, lol. Afterwards, I had a couple more rubs but managed to pedal through it…unfortunately I only figured out the issue when I got home that day, otherwise I could have quickly adjusted the rear mount and rode fast…oh well. I got into the run and finished that portion in a respectable time, despite being disappointed in the bike. All in all, I was happy with the race…ignoring the bike mishap, my times were good for me…went into Kerrville feeling good.
Kerrville Triathlon Festival
I had done the quarter distance race in Kerrville just before I did my first 70.3mi distance race in the IronMan Austin 70.3. It was a big deal for me then, and involved a ride during a pretty rough rain storm. I finished, which was all I wanted to do, and got to witness my friend Pamela Gagot churn out the most amazing 70.3 race I’ve ever seen. After having a pretty severe wreck towards the end of the second bike loop, she completed the full 13.1 miles in a respectable time (WAY faster than I would have done without injury)…bleeding and bruised…in the rain #WonderWoman.
Anyway, for this race I would not be alone (woohoo!), as I’d be racing with my fellow IronMan Texas 70.3 Relay teammates Brent and Justin, as we all were preparing to race in Florida in November. For this race, I wanted to do well on the swim, average 18mph or faster on the bike, and push the run as hard as I could…while testing out my IM Florida race plan of walking the first tenth of every mile. The swim course is a single loop in a nearby river, and I could have used a wetsuit (just under the legal 76.1ºF) but was concerned I might overheat. In hindsight, I think I would have been fine…and definitely faster. My lower back was a bit tight during the swim for some reason, so I did “OK” in the swim, but wanted to do better.
Heading into the bike, I was determined to ride hard and fast, after a short stop about 400m in to adjust my nutrition bag (tried a different mounting position on my bike that I immediately knew wasn’t gonna work), I was off and riding fast. I’m blessed/cursed with a good memory of faces and events, so I was comfortable on the course, despite only riding once before 2 years before. The weather was perfect, no rain…overcast so not hot…and not windy. Both my friends were ahead of me, Justin entered the water before me and is fast on the bike and Brent passed me when I needed to adjust my nutrition bag. My goal was to catch Brent and just have a respectable time compared to Justin, lol. Well…it was going great until half way through my first loop of the 56 mile ride, when I noticed my rear tire was very low on air. Now if you know anything about my race experiences, I am a seasoned bike flat changer…it is not an issue for me. But in this case, my desire to save time led to a poor decision (in hindsight), where I decided to stop and just add some air to the rear instead of changing it. The only reason I did this, was that I had no puncture and figured my tire had heated up (expands) and I had just hit a hard bump that forced the air out of the tube…it has happened to me on my trainer before when I adjusted the roller way too tight and rode a bit. Well…I was wrong and ended up changing the tube after fighting a slow leak for about 15min of riding. Luckily, a race assist vehicle came by just as I decided to change the tire, who had a real pump. I carry a mini pump because CO2 cartridges are risky and if you run out before getting adequate inflation, you’re screwed. However, I had bought a new, stronger mini pump a few weeks before that turned out to suck when trying to actually use it with my wheels (Ugh!!!). After changing the tire and pumping it up, I jumped back on the bike and rode like a mad man. I had to finish the loop and ride another 28mi loop afterwards. I was concerned I might miss the cut off and get pulled from the race…screw that! That second loop had considerably less people on it…mostly relay riders (who start last) and a few folks who either swam slow or just struggle in the bike…I was passing folks on the regular. I got to the run feeling ok…no leg cramps…and I didn’t burn myself out too bad catching up. I saw Justin on the course when I started, who was 5 miles into the 13.1 and Brent’s wife Andrea who was there to support us. She told me Brent was having a hard time in the run with his knee (went into it not 100%) and stomach issues. I’d later catch up and pass him on the run…he had to drop out unfortunately, but it was the right decision…not worth serious injury or illness. My goal for the run was to PR the 13.1 portion, yet still stick to my run/walk plan…I did and my good friend, Justin, was at the finish line to meet me. Brent had to head back for a wedding…plus he was sick and injured, so understandably he had to roll out. Justin and I took the shuttle back to our cars and headed home….both wondering why in the hell we do these things, hahaha.
There is no better than adversity. Every defeat, every heartbreak, every loss, contains its own seed, its own lesson on how to improve your performance the next time.
After Kerrville, I did two things right away:
- I replaced my tubes and tires with the brands and types I used in my IronMan Maryland race. Did several road rides to test, but I knew these would get me through…and I won’t be changing away anymore 😉
- I upgraded my bike trainer setup to a Wahoo KickR system, with added Climb and Headwind accessories. This would allow me to do long rides indoors (was raining a lot), and still simulate resistance and elevation, but remain relatively cool…I sweat a TON on the trainer.
I then started doing wetsuit swims to acclimate myself to the feeling of swimming in openwater with one, stopped all alcohol consumption (accept for ACL Weekend 1), and dialed my eating in…I was determined to go into Panama City Beach ready to race.
Unfortunately, mother nature had other plans…and one of the most devastating hurricanes to ever hit the US, Hurricane Michael, ran right through Panama City Beach, Florida. The entire region was destroyed…lives lost…and homes/buildings destroyed.
Three weeks out from the race…and this happens. You feel horrible for the residents and frustrated for yourself…will they cancel the race? Will they move the race? Did I do all of this training and racing for nothing? IronMan gave early indications that the race was a low probability, but would not give a definitive answer for over a week. The waiting was an emotional roller coaster…should I keep training?…should I cancel flights?…should I say screw it and drink!? During this time, the Facebook group had postings from other racers who had accommodations cancelled without anywhere to stay…others (like us) had heard nothing on our vacation home rental…it sucked. Then on the evening of Tuesday, October 16th, IronMan released the plan. They were cancelling the race in Panama City Beach….but relocating it to Haines City, Florida, home of their IronMan Florida 70.3 race…which was about 6hrs by car away, near Orlando, Florida. The race would also be moved out by one day to Sunday, November 4th.
This was great news for me…but understandably an issue for a lot of racers who had
- Planned to do a wetsuit swim in the ocean and race a flat course. The 70.3 course in this region had a shallow lake, that might not be cool enough for a wetsuit, and was not flat…it wasn’t insane, but definitely a change that required adaptation.
- Could not race on a Sunday because they had planned on flying home that day to avoid missing work that following Monday
- Could not race in Haines City because they planned to drive and the extra 6 hours was not ideal…and flying was too expensive
IronMan was silent on any deferral options for two days. Understandably, they were in uncharted territory and taking on issues as they arose, while coordinating a monumental relocation of an IronMan race…that included getting new volunteers, city permits, arranging the course, rebranding merchandise, and getting all necessary equipment re-routed. Meanwhile, I was rushing to find accommodations in a city that had no major hotels, re-book flights to Orlando, and change car reservations…for a trip two weeks out. Luckily, for $110/night I was able to find a 3 bedroom vacation home with swimming pool, 2 miles from the new race venue that Tuesday evening using my extensive travel experience. Others were not that fortunate…with stories of jacked up prices and overbooked timeshares. I also updated flight/car reservations with little financial impact to the overall trip.
Eventually, IronMan announced that racers could opt to defer their race entry and use it towards IronMan Texas, April 27, 2019. As you can imagine, some were overjoyed, while others still upset…but I heard IronMan was handling them case by case. As for me, this would not work because I had already registered for IronMan Santa Rosa months before, which is May 11, 2019 (yeah, I know…I’m crazy) However, for Brent and Justin, it would, and it just made more sense for them to defer. So once again, I was going to have to race alone, which I had done a few times this year already…but not an IronMan…not in an area I had never been to…and not with zero familiar faces….but it was what it was, and if I could overcome a Volcano and Hurricane, I’d overcome this.
Fast forward to Thursday, November 1st. I would arrive in Orlando, Florida that evening with a carry-on backpack and one checked bag…at 50lbs. I didn’t want a lot of bags, because I was doing this all solo, and even packed all must-have race equipment in my backpack, just in case my luggage got lost enroute (connected through Houston). I had also shipped my bike to Florida, just as I had done with IronMan Maryland and IronMan Hawaii, and secured the additional valet service so that I would not need to worry about collecting my bags from transition after the race…they’d grab and take them back, along with my bike.
While waiting for my luggage, I met a fellow racer on the same flight from Houston, who was doing his 8th IronMan race of the year…yes…year. He was just an age group athlete, but belonged to a team…and to be honest, didn’t look like someone who did that many in a year, but clearly looks were deceiving, lol. We chatted about all the chaos leading up to the race and discovered we were staying in the same vacation home community (it had several areas that surrounded a golf course). Once my language arrived, we parted ways, as he was waiting on others…I’d later see him at check in and post race, but only from a far (remember…super memory on faces). I then headed straight for my car rental (with several Disney trips and a couple cruises under my belt, I know the Orlando airport well), and then took the 20min drive to Haines City…hoping my house would look like the pictures….it did. The next two days, I checked in, got familiar with the race venue, found a close spot where I could reserve parking on race day (wasn’t trying to hike to my car after the race with my morning clothes bag…in who knows what condition), picked up my bike, checked it in (along with my bike and run gear bags), laid out everything I needed race morning, then proceeded to enjoy an early pasta dinner from a local Italian place I found the day before at the house….while watching the Longhorns suck it up against West Virginia (boooo!).
The night before a race is always “fun”…I tend to wake up a lot, fearing I will over sleep….even though we gained an hour of sleep that night. Add to that, I was going through a lot of emotion because I was doing this all alone. I mean, I know I had people back home supporting me, and it’s not like you see much of your fellow racers or supporters during the race (accept for the run), but it was still tough. I guess it didn’t really hit me until check in and the mandatory athlete briefing, where I had to indicate an emergency contact (my Mom, but not much she could do from Texas if I was injured) when they are suggesting to athletes where their family/friends should be during the race to cheer….what you should leave with them before heading to the swim start…how they can pick up your bike/gear bags after…and where they can meet you after the race. Needless to say…I didn’t sleep much that night.
On race day morning, transition opened at 4:30am and closed at 6:15am, but I was only 2 miles away and had secured parking across the street from the venue. I left the house around 5am, parked, had a short moment of prayer in my car, then headed for transition. The lady in the reserved lot wished me luck, which made me smile (she remembered me and my name…not a lot of 6’4” black men do these, lol), and was setting up my bike by 5:30 and out of transition by 5:45am. The next 30min, after leaving my morning clothes bag (had my phone and car keys too), I spent the time stretching, mentally going through the 6 swim turns I would take…twice, and just trying to control the pre-race nerves and emotion. The weather for the day was predicted to be a high in the low 80s, with a lot of cloud cover, and a chance of rain in the late afternoon and evening…which is usual for this area of Florida at this time. The temperature had dropped just enough in the days leading up to the race, along with some heavy rain the day before, that the swim would be wetsuit legal at 70ºF…already my luck was turning :-). With an IronMan record breaking turn count of 12, the wetsuit buoyancy would be a welcomed asset today. So with about 10min until race start at 6:30am, I put on my wetsuit and headed to the beach to seed myself into the 1:30-1:45 race pace group. As I slowly walked towards rolling swim start, this time in groups of 4, the nerves and emotion went away, replaced by a sense of calm determination to trust my training, accept whatever challenges may come, and do this damn race!
I spent the first straight portion of the first loop, warming up…getting my breathing right and stroke pace down. I stayed to the far right of the buoys to avoid a lot of contact, but that all went away after the first turn. The swim in a triathlon is the shortest, yet most mentally challenging part. You are navigating the course, trying to avoid getting kicked, bumped, or impeded by other athletes, maintain a good pace, and breathe without swallowing too much water from waves created by other swimmers and safety spotters in small boating craft nearby…it’s a bit chaotic. There is always a bit of a traffic jam at the turns (yay for 6 of them in one loop!), with some swimmers trying to course correct into the turn right through/over you and others stopping in front of you to check their direction or rest while holding on to the buoy. This race also had a timing section in the middle of the swim course, right at the “crotch” of the pants, to make sure people didn’t just swim straight across.
Fortunately, I had done a similar section in last year’s IronMan Maryland, so I knew what to expect. You have to swim between these long floating black cylinders, with timing wires above you, through a space that is maybe 10ft wide. Picture a 6 lane highway funneling into 2 and you get an idea of the “fun” had in that part of the swim course. This small timing section was made even more challenging by the fact that you switched from having the buoys on your left, to having them on your right, but only for this small section…and about a third of the swimmers didn’t remember that, which added even more chaos on the first loop. Finally, because we were only going in at 4 people a time and the course was a loop, you had the SUPER fast people who started first lapping you as you approached the beach for your exit and return to the water…which just sucks from a motivation standpoint. With all that said, I exited the first loop feeling pretty good…quickly walked over to the 2nd loop entry point (grabbing a cup of water to mostly wash the dirty lake water out of my mouth)…and headed through the muddy lake bottom and back in for loop 2.
The second loop went pretty good, though I did get hit across the goggles in the initial straight away, which meant I had to spend a couple minutes adjusting them while in the water so they wouldn’t leak as I swam….fun times. I feel like the second loop was smoother for two reasons:
- People knew the course and navigated the turns/buoys better
- Swimmers had spaced enough out in the swim…calming down after the adrenaline rush of the first half.
After passing the 12th and final turn, I actually picked up my swim pace. The blood flow into my upper body was strong now, supporting my muscle movement well, and I was able to pass a lot of folks as I headed to the exit. My swim time was 2 minutes slower than IronMan Maryland, but given all the turns and having to exit and re-enter the swim, I had ZERO complaints….and didn’t get eaten by alligators! One part down, two to go!
Before I go into the bike, I have to make a couple comments about the transition experience from swim to bike. This was probably my single, biggest issue with this race, which given the last minute relocation…it wasn’t THAT big of a deal, but definitely added time. First, the section where the wetsuit strippers were located was on the beach, almost immediately after you exited the water, which wouldn’t have been an issue….but there was nothing but sand to lay on (pink area marked). So once stripped of your wetsuit, your entire backside was covered in sand (you have to lay down for them to pull it off quickly from the ankles). Then they only had three showers setup to wash the sand off at (the light blue blob)…THREE…this race had close to 2000 participants. Finally, we had to run damn near a quarter of a mile between swim exit, gear bag pick up, change “tents” (it was a community center), and bike exit (in yellow). So for anyone thinking I was just “gathering myself” or taking it easy…I wasn’t…I was wiping off sand and hiking.
Next was the bike. Let me first start off by saying I had no flats or other mechanical issues for the entire portion of the race…THANK YOU JESUS!!! With that said, it ended up taking me close to an hour longer than I planned…20min longer than my time in IronMan Maryland, where I hit a strong headwind on my 2nd 56 mile loop. Looking back on it, this course wasn’t particularly hard or windy, and I started out the first loop feeling great and moving with speed…around 20mph…on target to average my planned 18mph. I knew from studying the course map (you can see it in the elevation map) that the back part of the loop had some elevation, but nothing I couldn’t handle. There
was traffic along the course, but adequate police and race support along it, so no delays from dumb or impatient drivers. There was a pretty serious accident that I happen to come up on probably about 20min after it occurred. A car pulled out in front of a racer going downhill….the athlete broke both hands, his sternum, injured his leg, and had stitches in his chin. Reports said he was stable and recovering in the hospital afterwards, but riding by that…seeing the mangled bike and emergency personnel definitely had an impact…especially when you’re doing the race by yourself, but I had to push that out of my mind and focus on the ride and staying safe. I guess between the hills and the roads in that back half of the course getting rougher (adds rolling resistance), it all added up to me taking longer than I should have the first loop…about 20min too slow. At this point, I knew I was looking at coming in at a similar or slower time compared to my IronMan Maryland race. There was no way I’d be able to ride the second loop faster, as I was beginning to tire a little heading into the second 56 mile loop. Mentally and emotionally, I had one of three low points of the race then. I was disappointed in my performance….starting to get a little tired…the sun was starting to peak out….and I was alone.
Adding to that, I got leg cramps in both inner thighs about 10min into loop 2, but as in prior races…I was able to push through the next 15min of them coming and going. I increased my fluid and salt pill intake, and adjusted my gears to to sacrifice speed over a high pedal cadence. Fortunately, the sun was never too intense and I seemed to have missed the little amount of rain that hit the back part of the course earlier in the day…which would have made that hard portion even worse! I got to the 100 mile marker…literally said “Hallelujah!”…and proceeded to will myself through the last long, hilly, wet, and humid 12 miles towards the bike finish. I completed the bike just barely under 7 hours. Two down…one to go! Plenty of time left for the marathon, but still a bit disappointed with my performance.
Heading into the run, I was able to leave my bike with a volunteer who would rack it for me. All the big IronMan races have this, but with IronMan Maryland only being 3 years old and relatively small (about half the number of athletes)…I didn’t have this service last year. Thank God we had this, because once again we had to run the Transition-a-thon back to the changing area, and while it was shorter than the first time…it was much more “fun” in bike shoes.
I went through this transition pretty quickly, as I kept the same race clothes on. I only needed to put on my socks and shoes, attach my racing belts and bib, and then head out with my running sunglasses and hat on….right into a damn uphill, lol. As per my usual race habit, I visited the port-a-potty to flush out all the race nutrition gels and electrolyte fluids taken during the bike…emerging feeling like Superman out from a phone booth…LOL! The run course started out with a short 3 mile section that then led into 3 loops of a little over 7.5 miles, and then ended with a half mile run back into an area close to the swim exit. After about the first mile to mile and a half, I knew I was DONE with taking racing gels for nutrition…and proceeded to throw that entire belt and gels in the trash can. This left me with my other belt with my race number, that had my electrolyte pills, asprin, ibuprofen, gas-x, and bronchaid in case my occasional mild asthma acted up. I would do the rest of the 26.2 mile run on bananas and oranges, while drinking water and gatorade…and the occasional coke for caffeine and sugar. During the first loop I felt pretty good. Had no cramping, joint pain, or physical discomfort beyond fatigue, and this would be the case for the entire run. My plan was to walk a tenth a the start of every mile and run the rest. That plan went well for about the first 5 to 7 miles, but then I realized the course was just too hilly for that approach. I then decided to switch to running the flats and down hills, and walking the uphills and aid stations. I was able to maintain this approach for most of the race. Upon completing the first loop, I had my second of two low points. I was about 10 miles in with 16 miles left, and I was running though the main cheering section. It was still light outside, you could hear the people becoming IronMen at the finish line near by…and I had two more loops to go…by myself. Now to be clear, I never had the thought of quitting…I made it to the run…I was finishing. But I did have some pretty negative thoughts about myself, and seeing people slow down to hug loved ones or just say hi, while I had no one hit hard. But then I heard someone say, “Looking good Robbie!”…and another stranger say “You got this Robbie, just keep going”…and just to hear someone say my name was an amazing emotional lift. I knew they were just reading my name from my bib, as others have done for me in past races and that I have done for strangers in races before. However, perhaps because I was alone and there without anyone who knew me, just hearing someone cheer for me by name huge. This was probably one of the larger positive takeaways for me in this race, in that you never know what situation a racer is in and how simply cheering them on by name can help. I also had some lady compliment me on my arms towards the end of that section, lol…and while I am single and it is flattering, I’m not really looking for the next love of my life in this race…I’m looking for the finish line!
About half way through the second loop, my Garmin Forerunner watch hit low battery…nooooooooo! The same thing happened in my last IronMan race, but I thought I had made the necessary adjustments so it would last. I was maybe 16 or so miles into the race, it had started to sprinkle, it was dark….and I could hear/see thunder and lightning off in the distance…coming our way. This was the third and final low point. I would yet
again fail to get a full IronMan race for my personal data records…fail to record a 26.2 mile run (this was only my 2nd marathon ever)….it was cooling down to the low 70s and about to rain like hell…and again, I was all alone…I mean COME ON!
The rain came…and came…and came down…hard. Fortunately, I had my running hat to shield my eyes, and with 11 miles left to go, I knew I could finish. Hell, I had done a whole 13.1 mile training run in the dark, in my neighborhood last year when the left-over storm of Hurricane Harvey came through Austin. What then happened was amazing….the very thing that brought me to my lowest point in the race, also raised me to my highest. You see as I entered the third and final loop with about 8 miles left to run, the course was much less crowded…many friends and family had left for shelter…it was pretty bleak…except for the awesome course volunteers. They were still at the aid stations, handing out food and drink…in the rain…on a Sunday night…cheering us on. I ran by several volunteers who had no head cover, were standing alone at certain turn points on the course to ensure we went the right way, and still cheering…it’s hard to put into words the amount of gratitude I had for these people…it still gets to me when I write this…there was no way in hell I was gonna stop or let my solo race situation get to me after that point….I was going to finish and finish strong. So I did…and along the way, I made friends with a Hispanic man who I had passed by several times on the run course before…I’d pass him…later on he’d pass me…and so on and so forth…it happens a lot in these races. We were about 4 miles away from the end and happened to just start talking. Turned out he was from Plano, Texas and drove to the race with his wife. We talked about the race…the craziness of the last minute changes…how we both prepared for ocean swims and ended up swimming in a lake…and just enjoyed each other’s company as we ran the downhills and walked the uphills towards the end. As we approached the finisher shoot, he broke out his Mexican flag arm band, a tradition he had for finishing, we said our farewells, and then ran towards the finish strong. If you saw the video of my finish, he finished just before I did…I let him go first and I think I heard his wife call out to him as he crossed…it was nice to see.
So there ya have it. Thanks for staying with me through this novel of a post. I felt like I needed to cover it all, from the start of the season, so readers could really appreciate the end….and understand why despite finishing an hour slower…in the rain…by myself…I came away from this race feeling fantastic! I was honestly happier with my performance and more proud of myself after this IronMan, than I was for my first. I recovered really fast…was physically 100% by the end of Tuesday and about fully recovered, energy wise by Friday…even played basketball the following Saturday morning for a couple hours :-). I will take a short break from swim/bike/run training, but then start it back up slowly in December. I can’t get too comfortable…got IronMan Puerto Rico 70.3 in March and IronMan Santa Rosa in May! 😉
“Not only so, but we also glory in our sufferings, because we know that suffering produces perseverance; perseverance, character; and character, hope. And hope does not put us to shame, because God’s love has been poured out into our hearts through the Holy Spirit, who has been given to us.” Romans 5:3-5 NIV
So for those who haven’t noticed the LinkedIn profile update, I’m now fortunate enough to join the awesome folks at Vapor IO. I’m super excited to be part of this team as we push forward to deliver next generation hardware, software, and service technologies needed for the low latency demand of 5G communications, including IoT, virtual and augmented reality, smart cities, and connected cars. If you’re interested in the details of what we’re doing, check out the work we’re doing with Project Volutus….and if you wanna join me in this adventure, I AM HIRING!!! And if you don’t see a fit, shoot me an email (email@example.com), because I’m always open to hiring great engineering talent. when possible.
Ubuntu announced its new Foundations team manager over 9 years ago, on September 29, 2008 an internal email went out with the pre-announce:
Hi folks, I'm pleased to be able to let you know that we've signed a new manager for the Foundations team. His name is Robbie Williamson, currently at IBM, and he'll be joining us from the 20th of October. Please keep this quiet for now (i.e. it's not for dissemination on IRC channels or mailing lists yet; Matt will be preparing an announcement for distro-team@ in due course), as he has yet to inform the team he's currently managing! However, he said he was OK with me letting you guys know in advance now. I've talked with a couple of you about this already, but I believe that we're provisionally planning to put most of the previously-discussed reporting changes into effect at the same time. Thus: 20 October: Colin: Foundations manager -> Foundations tech lead Alexander, Arne, Bryce, Chris: Foundations -> Desktop Michael: Desktop -> Foundations When a new desktop manager is hired: Scott: Desktop manager -> Foundations Any objections, please let me know! Cheers, -- Colin Watson [firstname.lastname@example.org]
The support period for this “release” is now nearing its end and email@example.com will reach end of life on today, April 30th. At that time, Canonical will no longer include information or updated packages for Robbie Williamson.
The supported upgrade path from firstname.lastname@example.org is via email@example.com. The firstname.lastname@example.org email address will continue to be actively supported with reads and select high-impact responses. All announcements of official updates for Robbie Williamson are also sent to Twitter and LinkedIn, information about which may be found at:
Since its launch in October 2004 Ubuntu has become one of the most highly regarded Linux distributions with millions of users in homes, schools, businesses and governments around the world. Ubuntu is Open Source software, costs nothing to download, and users are free to customize or alter their software in order to meet their needs. I am honored to have played a role in helping to make Ubuntu what it is today, extremely grateful for the opportunity given to me to do so, and infinitely proud to have worked with so many amazingly bright and wonderful people inside Canonical and the Ubuntu community as a whole.
As for what’s next….stay tuned to this channel 😉
“Ubuhulk” signing off!
It’s been over 3 years since my last blog post. I haven’t been hiding or anything, it’s just that with updates across Twitter, Facebook, LinkedIn, Instagram, and Snapchat…I never felt the need to post beyond the friends and followers I have there. However, this past weekend changed that.
As you can tell by the title and the picture above, I completed my first full 140.6 mile IronMan race this past Saturday in Cambridge, Maryland. For those who don’t know me well, or just haven’t been keeping up on the various social media streams, I started doing triathlons about three years ago. I never had a life goal to do an IronMan…or a Half IronMan…or even a triathlon. I knew I could do a triathlon, but wasn’t sure if I’d like doing it…but I tried CrossFit…liked that…tried a half marathon…didn’t die…so f*ck it, I figured I’d keep going outside of my comfort zone.
My first triathlon was in May of 2015…the annual Rookie Tri in Austin, TX. It’s a perfect triathlon for newbies, as the distances are short: 300 meter swim, then an 11 mile bike, ending with a 2 mile run. I finished in at time of 1:13:05…looking good in all my Hulk splendor, lol.
Fast forward two years of more CrossFit…more triathlons…more training, and I did my first IronMan 70.3 mile distance race in Austin, Texas last October. I finished with a time of 6:12:48.
With the swim getting cancelled, a delayed bike start, and record high temperatures that day, the race didn’t go as well as I had hoped…but I did finish, which is all I really hoped to do. I didn’t have any significant injuries post race, but I was hurting at the end for sure. I didn’t feel recovered physically (i.e. able to workout) for probably 4 or 5 days afterwards.
Despite all of that, I had already pushed myself further…and signed up for the 2017 IronMan Maryland race about 3 weeks before. I decided to sign up before my IronMan 70.3 to avoid any fatigue/pain induced hesitation or second thoughts post race. To be honest, I may not have done it if I waited, so looking back now…glad I did. I chose Maryland because the bike and run course was flat, and the time of year would ensure a wetsuit swim (helps with buoyancy and improves my speed) and a relatively cool ride and run. It was the perfect race for me…at least from my initial research. Later on…after registering, waiving my partial refund option, and finishing my 70.3…I would learn that this would only be the 3rd year for the race. To make things worse, the previous two years had severe weather issues that caused rescheduling and shortening of the course. Given I had my swim cancelled in my 70.3 race (thus really being a 69.1), you can imagine how upsetting this was…but I was in it now, so all I could do is train and hope for the best.
Fast forward to April 2017.
For my IronMan 70.3, I used an online training application called Training Peaks. The IronMan organization has coaches that post 6 month training plans that you can pay for and plug right into the application. It will then populate a calendar with every run, bike, swim, and strength workout you need to do until race day. The plans are adjustable based on your progression and you can slide some workouts around to fit your schedule. Given it worked pretty well for my 70.3, I decided to use it again for my full 140.6 race training. I started 7 months out to allow slack for my annual vacation week with my sons, as well as those days when work travel or life commitments wouldn’t allow for training.
Now for those of you who have never done an IronMan, the race itself is the relatively easy part…training is the hard part. Most people think you’re just swimming, biking, and running all the time…and you are, but you’re also figuring out how many calories you need a day to keep that up, what nutrition works with your body for the long rides and runs, how you will maintain hydration and electrolyte levels without having to pee/puke/poop all the time, the right settings for your bike to avoid unnecessary pain, discomfort, and loss of pedal power, the right clothing to wear, breathing and stroke techniques for swim, and how to efficiently and effectively recover. Your life becomes programmed for 6-7 months..and this is on top of the day-to-day demands of your “normal” life. I was living the IronMan “dream”. Spending hours and hours training, trying to maintain some level of strength with scaled back CrossFit workouts when I could, working/traveling as a full-time executive, putting in full effort as a part-time single Dad of the best two boys in the world, and attempting to have a social life when I wasn’t exhausted and just wanted to sleep. Smartly, I only signed up for 3 triathlon races this year, each spaced appropriately apart with building distances because I knew that’s about all I could handle.
By the start of July…I was burning out. Everything mentioned before, on top of other stress in my personal life was becoming too much…I wasn’t enjoying myself much…but still trying to “fake it, until I made it”. My training was done mostly alone, because my work/parenting demands leave for little slack in my free time. Training groups are awesome and I highly recommend them, but if you are gonna train in a group or with friends, you need to be somewhat flexible to accommodate everyone’s schedule…and I just didn’t have that. So take that, add me having to give up weekend basketball to reduce the likelihood of injuries, miss a lot of CrossFit workouts with friends due to fatigue or lack of time, plus the fact that I’m a single Dad who works from home in an empty house a lot of the time….and you can see how the alone time can start to wear on you. While I knew the alone time training was good from a standpoint of race preparation mentally (it’s mostly just you out there until the run), I also knew I needed to free up more time or my training (and my life) would start to suffer from lack of motivation.
So, I started searching for IronMan training programs that included strength as a core part and would allow me to have more free time. I figured just like High Intensity Interval Training (HIIT) builds strength without hours in the gym, there had to be a better way to build endurance without so many high volume workouts. I recalled there being a CrossFit Endurance program a couple years ago, but it had gone away. I did some digging on the person who created it, Brian MacKenzie, and ended up coming across his new program called Power Speed Endurance (PSE). This was created exactly to meet my needs…it was literally an answer to my prayers. People can read about it on their own, but in short the focus is more on proper technique and intensity of the triathlon workout, versus the volume. It includes sport specific strength and HIIT cardio programming, along with a strong focus on the proper approach to mobility and breathing to aid in recovery. Needless to say that after reading through the theory, results, and sample programming, I immediately switched over. I also setup a 1-on-1 with the triathlon coach, Jeff Ford, who is THE BOMB! Now to be clear, having any coach, even remote, is a huge plus because they can adjust programming on the fly for your situation and are there to answer questions or concerns you may have. Jeff put together a 12 week plan for me based on my needs, ability, experience, and expectations….which I was lucky to have in place EXACTLY 12 weeks out from my race. It essentially augmented the normal PSE triathlete program to include customized workouts on the weekend, notes on nutrition, and and how much volume to add towards the race. However, all of this was accomplished without going into the extremely long, exhausting workouts of the traditional IronMan programming. For example, the longest I ever rode my bike in my 12 week lead up was 50miles, longest run was 13.1 miles, and longest swim 2000 meters. Traditional programming has you riding 100 miles 3 weeks out from the race…no thank you. I began seeing results after the first few weeks. My workouts were more interesting with the strength and HIIT conditioning, I was getting measurably stronger, and my performance in my swims, bikes, and runs were improving much better. The best part was that this was all occurring while leaving me more time and energy to live my life. I think if you wanted to compete at the pro level, then you’d need to do more of the traditional style…but if you’re just trying to be a good age-group triathlete, not lose a sh*t load of muscle, and feel somewhat “normal” after the race is done, I strongly suggest checking this approach out.
My final triathlon before my IronMan was the Onalaska 70.299 near in Onalaska, Texas near Lake Livingston on September 10, 2017…about 4 weeks out from the race. No idea why they say 70.299, but I suspect there is some trademark related issue with IronMan because the distances added up to 70.3 miles. Anyway, I was a bit apprehensive about doing it because I had to travel out there alone, didn’t know anyone in the race, didn’t know anyone who had done the race, and it would be the longest race I had ever done…assuming the swim wasn’t cancelled again. From the moment I got there, things started going a little “off plan”, but I ended up finishing with a time of 8:11:21…at 73.2 miles. I’ll spare you the details (most of my friends already know them), but every leg of the race had chaos, e.g. missing porta-potties, choppy waves, swim buoys moving, a lovebug infestation, wrong distances, and apparently alligators had been seen in the lake. Needless to say that I was not very happy after the race…at all. I had swam, biked, and ran slower than planned, had stomach issues during the run, and then had to load up all my stuff by myself, including my bike, and drive 3 hours back home right after. For the first hour of the drive back, I was honestly rattled…my performance was worse than from a year before, I was only 4 weeks out from doing a race twice as long, and if I didn’t improve I could hit the 17 hour time limit and not finish…not get a medal…not be an IronMan.
After an hour of feeling sorry for myself, I decided that I needed to use this experience to get better…not bitter. I focused on what I could learn from the race and any positive takeaways…and there were some good ones. I knew I could handle a rough water swim now, I knew I could handle surprises on the course, I knew I could handle stomach issues, and I knew that I was strong-willed and focused enough to finish a race even when the race director officially ended it (too early) and I saw other people taking short-cuts on the run. The best part was that I knew I was in better shape because the next day I was able to walk into my CrossFit gym and hit a personal best on a 3 rep max back squat….I could barely walk the day after my IronMan 70.3 Austin a year before. So in the end, Onalaska was a blessing……buuuut I’ll never do it again. LOL
After Onalaska, I had four weeks left…that included three business trips (one international), a multitude of Dad commitments for school, sports, etc, a 13.1 mile during Hurricane Harvey (wasn’t that bad in Austin, just non-stop rain and wind gusts), and me missing my flight out of Austin Thursday morning because I forgot to update my calendar after United had moved the flight over a month before (ugh)….but I made it through all of that (and more) to arrive in Cambridge, Maryland on Thursday, October 5th. Then about 5min after I arrive, my good friend and fellow competitor in the race, Brent Baker, sends me these.
Yep…that’s right folks…jellyfish in the water. We had heard that there were jellyfish in this lake, but that they clear out by October…but apparently that’s late October. I have never been stung by a jellyfish, so I had no idea how bad it would feel…if I was allergic…if my throat would swell up during the swim and I’d drown! However, after Onalaska…after the 6 months of training…and all the money spent to get here, I decided to suck it up and swim. I figured that between having a full-body wetsuit and the over 1000 other swimmers in the water…I had a solid chance of getting through it pain free.
The next day was spent picking up registration and swag bag stuff, checking in gear bags and my bike, attending the athlete briefing, checking out the finisher medal and finish line near IronMan village….and trying to convince myself that I had nothing to worry about with those damn jellyfish.
That evening, I had a good dinner with my friends who were also competing, along with my Mom and their families. Later that night a couple more friends would arrive, one unexpectedly, to be ready to cheer me on the next day.
Race day arrived. I had gotten a decent amount of sleep the night before, which was nice, and had my usual pre-training day protein bar and amino drink in the morning. I was fresh and feeling great! We all headed out to the race…full of nervous energy and excitement. I think my family and friends were more nervous and excited for me than I was, but I’m also pretty good at staying calm before the storm, so to speak. Plus, that morning I had made the decision to enjoy the day. No more worrying about stupid jellyfish, or flats/wrecks/mechanical issues on the bike, or stomach issues and cramps on the run, or the weather, or whatever. I had put in a ton of work for this and to finally get here and obsessively worry would be a waste. So when that alarm went off, I sent a short message to the Man upstairs to keep me safe so I could return to my family and friends, had a chat with my Dad in heaven, and then put 100% of my energy into making the most of the day with the people I love.
The 2.4 mile swim went extremely well for me. I’m already a pretty strong/fast swimmer, and with the wetsuit, I knew that I’d be even better today……buuuut we did have jellyfish. Lucky for me, I had zero stings…can’t say the same for my friends, but no one was even remotely hurt during the swim. Perhaps it was the last minute jellyfish repellent cream a fellow athlete gave me, or that I pee’d in my wetsuit half way through the first of two loops (don’t judge me…everyone does it), but I came out unstung. There was a strong current, but it was mostly pushing us from behind, and I ended up coming out with the fastest long distance swim (i.e. 1 mile or more) I’ve ever had….good start to a good day.
After rinsing off the salt water (that’s why my face looks like that) and getting the wetsuit stripped off, I picked up my bike transition bag and headed for the men’s changing tent. IronMan is the only triathlon (that I know of) that provides tents for changing between transitions. Every other race (including the 70.3) requires you to transition right by your bike…so there’s only so much you can change. Inside the tent, there are naked men everywhere…putting on creams, tights, sunscreen, shoes, etc. There’s also some fluids and nutrition, along with people to help manage the chaos.
After changing, I headed out of the tent and towards my bike for the 112 mile ride. This would be the longest I had ever ridden before…previous distance being only 70 miles. I wasn’t worried…I trusted the training…but nevertheless, I knew I was going to set a personal best on the bike today! The bike course was a 6 mile ride out, to a 50 mile loop, that we did twice before riding back 6 more miles to transition. I had wanted to average around 17.5mph or more to finish in just over 6 hours. The course was very flat, so I was confident I could do that or even better. I figured I would be passed by one of my friends, Justin, but I expected that…he’s good on the bike. After the first loop, he had passed me, but I was feeling great…riding at over 18mph average, had no mechanical or intestinal issues…saw my other friends cheering me on…life was good. Then the wind picked up. The first half of the second loop was either a direct headwind or vicious crosswind, and at my size and with my aerowheels, it is no fun at all. You want to sit upright to have more power in the pedal, but doing so turns you into a human wind sail. At one point I was barely going 11mph…I would have traded all that wind for hills any day. Around mile 80, I caught my second wind though (no pun intended) and I was able to adjust my position on my bike to allow me to use more of my hamstrings and butt to pedal…much stronger there. I finished out the ride strong, but was passed by another friend, Brent, with 30 min left in the ride, and even though I was still committed to enjoying the day….I was definitely annoyed with that. I finished my bike in a time of 6:40:34…about 30 minutes slower than I thought I would coming out of the first loop, but ironically on the 17mph pace I originally wanted…so all in all, not a bad ride in the end.
Next up…a marathon. This would be another personal best, as the longest I had ever run before…in my life..was just over 13.5 miles. Again, I wasn’t worried…I trusted the training…and by then I knew I had enough time to walk the entire thing if I had to. I went into transition, thanking God I was off that bike and feeling amazingly well in my legs. My plan was simple, yet effective. Run a “comfortable” pace under 13min/mile (under 12min if I felt good), and walk for 1-2min through every aid station. The aid stations were set about a mile a part, so I was essentially running 26.2 x 1 mile repeats. Breaking it up this way, not only helped me physically, but also mentally. For every mile, except for probably the last three and two somewhere in the middle when I needed to use the porta-potty (best feeling EVER after those two stops), I was able to stay on plan and run the full distance between aid stations…no walking…with a comfortable, yet strong stride…1-2 min walk with a smile on my face at every aid station, thanking every volunteer….seeing my insanely awesome friends and Mom cheering me on…and genuinely enjoying the experience. I remember looking up at the moon towards the end and thinking how pretty it was on the horizon, and noticing that I wasn’t in any unanticipated discomfort or pain. I was tired for sure…legs a little heavy…but no blisters, chaffing, swelling, or joint pain throughout the entire run. I’ve never been a huge fan of running…often saying that if it were at the beginning or middle of a triathlon, I probably would have never done them…but I put a lot of work into learning how to run long distances properly and it had finally paid off. I planned on finishing my run in 6 hours…I finished in a time of 6:01:40.
I completed my first IronMan race in a time of 14:37:38. I wanted under 14 hours, and had I been a little faster in transition and better on the second bike loop, I would have made it….but I’m still pretty proud of myself.
In closing I’d like to thank all the friends, families, coaches, and institutions that helped me along the way. I cannot begin to name them all, but special shout outs go to Woodward CrossFit, AJ’s Cyclery, Northwest YMCA, Pure Austin Quarry Lake, and Barton Springs Pool…it wouldn’t have happened without having access to these places. As for people, I have to give thanks to my two sons, Kalen and Bryce, for behaving and patiently waiting at home while Daddy went for long rides, runs, and swims on weekends. I thank all my friends and family who tolerated my countless Facebook, Instagram, and Snapchat postings of workouts. However, I have to call out the three other crazies I convinced to do this race with me: Brent Baker, Andrea Baker (another first timer!), and Justin Fosbury…you all made it a blast!
And last, but definitely not least, I have nothing but the deepest of love and greatest of gratitude to my Mom, Linda Williamson, along with my friends Pamela Gagot, Michael Strauss, and Lisel Kraus for coming all the way out to where “Boyz in da hood meets the South” and supporting me all day and night. I love you guys.
Looking back at the entire thing…from my decision to do it, to the start of training, to the finish line…it was truly a life changing event. The changes you go through physically, mentally, and spiritually throughout training cannot be put into words. You end up learning that most of the limits you have in life are self-imposed…that you can do a lot more than you’re capable of…handle a lot more than you ever thought you could. At times, the training was the only constant in my life…almost a mediation period, when I could focus on a single movement or workout to block out everything else. The past twelve months of my life have been intense…including the unexpected passing of my father, some radical changes in my job, and other unexpected and/or stressfull changes in my personal/family life. All in all…I have to say that this IronMan race may have been a blessing in disguise.
Now it’s time for another tattoo!!!!!
This is a not a stock ticker, rather a health ticker…and unlike with a stock price, a downward trend is good. Over the last 3 years or so, I’ve been on a personal mission of improving my health. As you can see it wasn’t perfect, but I managed to lose a good amount of weight.
So why did I do it…what was the motivation…it’s easy, I decided in 2011 that I needed to put me first. This was me from 2009
At my biggest, I was pushing 270lbs. I was so busy trying to do for others, be it work, family, or friends, I was constantly putting my needs last, i.e. exercise and healthy eating. You see, I actually like to exercise and healthy eating isn’t a hard thing for me, but when you start putting those things last on your priorities, it becomes easy to justify skipping the exercise or grabbing junk food because your short on time or exhausted from being the “hero”.
Now I have battled weight issues most of my life. Given how I looked as a baby, this shouldn’t come as a surprise. LOL
But I did thin out as a child.
To only get bigger again
And even bigger again
But then I got lucky. My metabolism kicked into high gear around 20, and I grew about 5 inches and since I was playing a ton of basketball daily, I ate anything I wanted and still stayed skinny
I remained so up until I had my first child, then the pounds began to come on. Many parents will tell you that the first time is always more than you expected, so it’s not surprising with sleep deprivation and stress, you gain weight. To make it even more fun, I had decide to start a new job and buy a new house a few years later, when my second child came…even more “fun”.
To be clear, I’m not blaming any of my weight gain on these events, however they became easy crutches to justify putting myself last. And here’s the crazy part, by doing all this, I actually ended up doing less for those I cared about in the long run, because I was physically exhausted, mentally fatigued, and emotionally spent a lot of the time.
So, around October of 2012 I made a decision. In order for me to be the man I wanted to be for my family, friends, and even colleagues, I had to put myself first. While it sounds selfish, it’s the complete opposite. In order to be the best I could be for others, I realized I had to get myself together first. For those of you who followed me on Facebook then, you already know what it took…a combination of MyFitnessPal calorie tracking and a little known workout program called Insanity:
Me and my boy, Shaun T, worked out religiously…everyday…sometimes mornings…sometimes afternoons…sometimes evenings. I carried him with me all for work travel on my laptop and phone…doing Insanity videos in hotels rooms around the world. I did the 60day program about 4 times through (with breaks in between cycles)…adding in some weight workouts towards the end. The results were great, as you can see in the first graphic starting around October 2012. By staying focused and consistent, I dropped from about 255lbs to 226lbs at my lowest in July 2013. I got rid of a lot of XXL shirts and 42in waist pants/shorts, and got to a point where I didn’t always feel the need to swim with a shirt on….if ya know what I mean ;-). So August rolled around, and while I was feeling good about myself…didn’t feel great, because I knew that while I was lighter, and healthier, I wasn’t necessarily that much stronger. I knew that if I wanted to really be healthy and keep this weight off, I’d need more muscle mass…plus I’d look better too :-P.
So the Crossfit journey began.
Now I’ll be honest, it wasn’t my first thought. I had read all the horror stories about injuries and seen some of the cult-like stuff about it. However, a good friend of mine from college was a coach, and pretty much called me out on it…she was right…I was judging something based on others opinions and not my own (which is WAY outta character for me). So…I went to my first Crossfit event…the Women’s Throwdown in Austin, TX (where I live) held by Woodward Crossfit in July of 2013. It was pretty awesome….it wasn’t full of muscle heads yelling at each other or insane paleo eating nut jobs trying to out shine another…it was just hardworking athletes pushing themselves as hard as they could…for a great cause (it’s a charity event)…and having a lot of fun. I planned to only stay for a little bit, but ended up staying the whole damn day! Long story, short…I joined Woodward Crossfit a few weeks after (the delay was because I was determined to complete my last Insanity round, plus I had to go on a business trip), which was around the week of my birthday (Aug 22).
Fast forward a little over a year, with a recently added 21-day Fitness Challenge by David King (who also goes to the same gym), and as of today I’m down about 43lbs (212), with a huge reduction in body fat percentage. I don’t have the starting or current percentage, but let’s just say all 43lbs lost was fat, and I’ve gained a good amount of muscle in the last year as well…which is why the line flattened a bit before I kicked it up another notch with the 21-Day last month.
Now I’m not posting any more pictures, because that’s not the point of this post (but trust me…I look goooood :P). My purpose is exactly what the subject says, priorities & perseverance. What are you prioritizing in your life? Are you putting too many people’s needs ahead of your own? Are you happy as a result? If you were like me, I already know the answer…but you don’t have to stay this way. You only get one chance at this life, so make the most out of it. Make the choice to put your happiness first, and I don’t mean selfishly…that’s called pleasure. You’re happier when your loved ones are doing well and happy…you’re happier when you have friends who like you and that you can depend on….you’re happier when you kick ass at work…you’re happier when you kill it on the basketball court (or whatever activity you like). Make the decision to be happy, set your goals, then perservere until you attain them…you will stumble along the way…and there will be those around you who either purposely or unknowingly discourage you, but stay focused…it’s not their life…it’s yours. And when it gets really hard…just remember the wise words of Stuart Smalley:
I’m often asked what being the Vice President of Cloud Development and Operations means, when introduced for a talk or meeting, or when someone happens to run by my LinkedIn profile or business card.
The office of the CDO has been around in Canonical for so long, I forget that the approach we’ve taken to IT and development is either foreign or relatively new to a lot of IT organizations, especially in the commonly thought of “enterprise” space. I was reminded of this when I gave a presentation at an OpenStack Developer Summit entitled “OpenStack in Production: The Good, the Bad, & the Ugly” a year ago in Portland, Oregon. Many in the audience were surprised by the fact that Canonical not only uses OpenStack in production, but uses our own tools, Juju and MAAS, created to manage these cloud deployments. Furthermore, some attendees were floored by how our IT and engineering teams actually worked well together to leverage these deployments in our production deployment of globally accessible and extensively used services.
Before going into what the CDO is today, I want to briefly cover how it came to be. The story of the CDO goes back to 2009, when our CEO, Jane Silber, and Founder, Mark Shuttleworth, were trying to figure out how our IT operations team and web services teams could work better…smarter together. At the same time our engineering teams had been experimenting with cloud technologies for about a year, going so far as to provide the ability to deploy a private cloud in our 9.04 release of Ubuntu Server.
It was clear to us then, that cloud computing would revolutionize the way in which IT departments and developers interact and deploy solutions, and if we were going to be serious players in this new ecosystem, we’d need to understand it at the core. The first step to streamlining our development and operations activities was to merge our IT team, who provided all global IT services to both Canonical and the Ubuntu community, with our Launchpad team, who developed, maintained, and serviced Launchpad.net, the core infrastructure for hosting and building Ubuntu. We then added our Online Services team, who drove our Ubuntu One related services, and this new organization was called Core DevOps…thus the CDO was born.
Roughly soon after the formation of the CDO, I was transitioning between roles within Canonical, going from acting CTO to Release Manager (10.10 on 10.10.10..perfection! 🙂 ), then landing in as our new manager for the Ubuntu Server and Security teams. Our server engineering efforts continued to become more and more focused on cloud, and we had also began working on a small, yet potentially revolutionary, internal project called Ensemble, which was focused on solving the operational challenges system administrators, solution architects, and developers would face in the cloud, when one went from managing 100s of machines and associated services to 1000s.
All of this led to a pivotal engineering meeting in Cape Town, South Africa early 2011, where management and technical leaders representing all parts of the CDO and Ubuntu Server engineering met with Mark Shuttleworth, along with the small team working on Project Ensemble, to determine the direction Canonical would take with our server product.
Until this moment in time, while we had been dabbling in cloud computing technologies with projects like our own cloud-init and the Amazon EC2 AMI Locator, Ubuntu Server was still playing second stage to Ubuntu for the desktop. While being derived from Debian (the world’s most widely deployed and dependable Linux web hosting server OS), certainly gave us credibility as a server OS, the truth was that most people thought of desktops when you mentioned Ubuntu the OS. Canonical’s engineering investments were still primarily client focused, and Ubuntu Server was nothing much more than new Debian releases at a predictable cadence, with a bit of cloud technology thrown in to test the waters. But this weeklong engineering sprint was where it all changed. After hours and hours of technical debates, presentations, demonstrations, and meetings, there were two major decisions made that week that would catapult Canonical and Ubuntu Server to the forefront of cloud computing as an operating system.
The first decision made was OpenStack was the way forward. The project was still in its early days, but it had already peaked many of our engineers’ interest, not only because it was being led by friends of Ubuntu and former colleagues of Canonical, Rick Clark, Thierry Carrez, and Soren Hansen, but the development methods, project organization, and community were derived from Ubuntu, and thus it was something we knew had potential to grow and sustain itself as an opensource project. While we still had to do our due diligence on the code, and discuss the decision at UDS, it was clear to many then that we’d inevitably go that direction.
The second decision made was that Project Ensemble would be our main technical contribution to cloud computing, and more importantly, the key differentiator we needed to break through as the operating system for the cloud. While many in our industry were still focused on scale-up, legacy enterprise computing and the associated tools and technologies for things like configuration and virtual machine management, we knew orchestrating services and managing the cloud were the challenges cloud adopters would need help with going forward. Project Ensemble was going to be our answer.
Fast forward a year to early 2012. Project Ensemble had been publicly unveiled as, Juju, the Ubuntu Server team had fully adopted OpenStack and plans for the hugely popular Ubuntu Cloud Archive were in the works, and my role had expanded to Director of Ubuntu Server, covering the engineering activities of multiple teams working on Ubuntu Server, OpenStack, and Juju. The CDO was still covering IT operations, Launchpad, and Online Services, but now we had started discussing plans to transition our own internal IT infrastructure over to an internal cloud computing model, essentially using the very same technologies we expected our users, and Canonical customers, to depend on. As part of the conversation on deploying cloud internally, our Ubuntu Server engineering teams started looking at tools to adopt that would provide our internal IT teams and the wider Ubuntu community the ability to deploy and manage large numbers of machines installed with Ubuntu Server. Originally, we landed on creating a tool based on Fedora’s Cobbler project, combined with Puppet scripts, and called it Ubuntu Orchestra. It was perfect for doing large-scale, coordinated installations of the OS and software, such as OpenStack, however it quickly became clear that doing this install was just the beginning…and unfortunately, the easy part. Managing and scaling the deployment was the hard part. While we had called it Orchestra, it wasn’t able to orchestrate much beyond machine and application install. Intelligently and automatically controlling the interconnected services of OpenStack or Hadoop in a way that allowed for growth and adaptability was the challenge. Furthermore, the ways in which you had to describe the deployments were restricted to Puppet and it’s descriptive scripting language and approach to configuration management…what about users wanting Chef?…or CF Engine?…or the next foobar configuration management tool to come about? If we only had a tool for orchestrating services that ran on bare metal, we’d be golden….and thus Metal as a Service (MAAS) was born.
MAAS was created for the sole purpose of providing Juju a way to orchestrate physical machines the same way Juju managed instances in the cloud. The easiest way to do this, was to create something that gave cloud deployment architects the tools needed to manage pools of servers like the cloud. Once we began this project, we quickly realized that it was good enough to even stand on its own, i.e. as a management tool for hardware, and so we expanded it to a full fledged project. MAAS expanded to having a verbose API and user-tested GUI, thereby making Juju, Ubuntu Server deployment, and Canonical’s Landscape product leverage the same tool for managing hardware…allowing all three to benefit from the learnings and experiences of having a shared codebase.
The CDO Evolves
In the middle of 2012, the current VP of CDO decided to seek new opportunities elsewhere. Senior management took this opportunity to look at the current organizational structure of Core DevOps, and adjust/adapt according to both what we had learned over the past 3 1/2 years and where we saw the evolution of IT and the server/cloud development heading. The decision was made to focus the CDO more on cloud/scale-out server technologies and aspects, thus the Online Services team was moved over to a more client focused engineering unit. This left Launchpad and internal IT in the CDO, however the decision was also made to move all server and cloud related project engineering teams and activities into the organization. The reasoning was pretty straight-forward, put all of server dev and ops into the same team to eliminate “us vs them” siloed conversations…streamline the feedback loop between engineering and internal users to accelerate both code quality and internal adoption. I took a career growth decision to apply for the chance to lead the CDO, and was fortunate enough to get it, and thus became the new Vice President of Core DevOps.
My first decision as new lead of the CDO was to change the name. It might seem trivial, but while I felt it was key to keep to our roots in DevOps, the name Core DevOps no longer applied to our organization because of the addition of so much more server and cloud/scale-out computing focused engineering. We had also decided to scale back internal feature development on Launchpad, focusing more on maintenance and reviewing/accepting outside contributions. Out of a pure desire to reduce the overhead that department name changes usually cause in a company, I decided to keep the acronym and go with Cloud and DevOps at first. However, then the name (and quite honestly the job title itself) seemed a little too vague…I mean what does VP of Cloud or VP of DevOps really mean? I felt like it would have been analogous to being the VP of Internet and Agile Development…heavy on buzzword and light on actual meaning. So I made a minor tweak to “Cloud Development and Operations“, and while arguably still abstract, it at least covered everything we did within the organization at high level.
At the end of 2012, we internally gathered representation of every team in the “new and improved” CDO for a week long strategy session on how we’d take advantage of the reorganization. We reviewed team layouts, workflows, interactions, tooling, processes, development models, and even which teams individuals were on. Our goal was to ensure we didn’t duplicate effort unnecessarily, share best practices, eliminate unnecessary processes, break down communication silos, and generally come together as one true team. The outcome resulted in some teams broken apart, some others newly formed, processes adapted, missions changed, and some people lost because they didn’t feel like they fit anymore.
Entering into 2013, the goal was to simply get work done:
- Work to deploy, expand, and transition developers and production-level services to our internal OpenStack clouds: CanoniStack and ProdStack.
- Work to make MAAS and Juju more functional, reliable, and scalable.
- Work to make Ubuntu Server better suited for OpenStack, more easily consumable in the public cloud, and faster to bring up for use in all scale-out focused hardware deployments
- Work to make Canonical’s Landscape product more relevant in the cloud space, while continuing to be true to its roots of server management.
All this work was in preparation for the 14.04 LTS release, i.e. the Trusty Tahr. Our feeling was (and still is) that this had to be the release when it all came together into a single integrated solution for use in *any* scale-out computing scenario…cloud…hyperscale…big data…high performance computing…etc. If a computing solution involved large numbers of computational machines (physical or virtual) and massively scalable workloads, we wanted Ubuntu Server to be the defacto OS of choice. By the end of last year, we had achieved a lot of the IT and engineering goals we set, and felt pretty good about ourselves. However, as a company we quickly discovered there was one thing we left out in our grand plan to better align and streamline our efforts around scale-out technologies….professional delivery and support of these technologies.
To be clear, Canonical had not forgotten about growing or developing our teams of engineers and architects responsible for delivering solutions and support to customers. We had just left them out of our “how can we do this better” thinking when aligning the CDO. We were initially focused on improving how we developed and deployed, and we were benefiting from the changes made. However, now as we began growing our scale-out computing customer base in hyperscale and cloud (both below and above), we began to see that same optimizations made between Dev and Ops, needed to be done with delivery. So in December of last year, we moved all hardware enablement and certification efforts for servers, along with technical support and cloud consultancy teams into the CDO. The goal was to strengthen the product feedback loop, remove more “us vs them” silos, and improve the response times to customer issues found in the field. We were basically becoming a global team of scale-out technology superheroes.
It’s been only 3 months since our server and cloud enablement and delivery/support teams have joined the CDO, and there are already signs of improvement in responsiveness to support issues and collaboration on technical design. I won’t lie and say it’s all been butterflies and roses, nor will I say we’re done and running like a smooth, well-oiled machine because you simply can’t do that in 3 months, but I know we’ll get there with time and focus.
So there you have it.
The Cloud Development and Operations organization in Canonical is now 5 years strong. We deliver global, 24×7 IT services to Canonical, our customers and Ubuntu community. We have engineering teams creating server, cloud, hyperscale, and scale-out software technologies and solutions to problems some have still yet to even consider. We deliver these technologies and provide customer support for Canonical across a wide range of products including Ubuntu Server and Cloud. This end-to-end integration of development, operations, and delivery is why Ubuntu Server 14.04 LTS, aka the Trusty Tahr, will be the most robust, technically innovative release of the Ubuntu for the server and cloud to date.
So I’m partially kidding…the Ubuntu Edge is quickly becoming a crowdfunding phenomena, and everyone should support it if they can. If we succeed, it will be a historic moment for Ubuntu, crowdfunding, and the global phone industry as well.
But I Don’t Wanna Talk About That Right Now
While I’m definitely a fan of the phone stuff, I’m a cloud and server guy at heart and what’s gotten me really excited this past month have been two significant (and freaking awesome) announcements.
#1 The Juju Charm Championship
First off, if you still don’t know about Juju, it’s essentially our attempt at making Cloud Computing for Human Beings. Juju allows you to deploy, connect, manage, and scale web services and applications quickly and easily…again…and again…AND AGAIN! These services are captured in what we call charms, which contain the knowledge of how to properly deploy, configure, connect, and scale the services and applications you will want to deploy in the cloud. We have 100’s of charms for every popular and well-known web service and application in use in the cloud today. They’ve been authored and maintained by the experts, so you don’t have to waste your time trying to become one. Just as Ubuntu depends on a community of packagers and developers, so does Juju. Juju goes only as far as our Charm Community will take us, and this is why the Charm Championship is so important to us.
So….what is this Charm Championship all about? We took notice of the fantastic response to the Cloud-Prize contest ran by our good friends (and Ubuntu Server users) over at Netflix. So we thought we could do something similar to boost the number of full service solutions deployable by Juju, i.e. Charm Bundles. If charms are the APT packages of the cloud, bundles are effectively the package seeds, thus allowing you to deploy groups of services, configured and interconnected all at once. We’ve chosen this approach to increase our bundle count because we know from our experience with Ubuntu, that the best approach for growth will be by harvesting and cultivating the expertise and experience of the experts regularly developing and deploying these solutions. For example, we at Canonical maintain and regularly deploy an OpenStack bundle to allow us to quickly get our clouds up for both internal use and for our Ubuntu Advantage customers. We have master level expertise in OpenStack cloud deployments, and thus have codified this into our charms so that others are able to benefit. The Charm Championship is our attempt to replicate this sharing of similar master level expertise across more service/application bundles…..BY OFFERING $30,000 USD IN PRIZE MONEY! Think of how many Ubuntu Edge phones that could buy you…well, unless you desperately need to have one of the first 50 :-).
From the very moment we began thinking about creating Juju years ago…we always envisioned eventually creating an interface that provides solution architects the ability to graphically create, deploy, and interact with services visually…replicating the whiteboard planning commonly employed in the planning phase of such solutions.
The new Juju GUI now integrated into JujuCharms.com is the realization of our vision, and I’m excited as hell at the possibilities opened and the technical roadblocks removed by the release of this tool. We’ve even charmed it, so you can ‘juju deploy juju-gui’ into any supported cloud, bare metal (MAAS), or local workstation (via LXC) environment. Below is a video of deploying OpenStack via our new GUI, and a perfect example of the possibilities that are opened up now that we’ve released this innovative and f*cking awesome tool:
Join the Championship…Play with the GUI…then Buy the Phone
Cause I will definitely admit…it’s a damn sexy piece of hardware. 😉
I ran across an article last week about the fear of cloud lock-in being a “key concern of companies considering a cloud move“. The article was spot on in pointing out that dependence upon some of the higher level public cloud service features hinders a user’s ability to migrate to another cloud. There is a real risk in being locked into a public cloud service, not only due to dependence on the vendor’s services, but also the complexity and costs of trying to move your data out. The article concludes by stating that there “aren’t easy answers to this problem“, which I think is true…but I also think by simply keeping two things in mind, a user can do a lot to mitigate the lock-in risk.
1. Choose an Independently Produced Operating System
Whatever solutions you decide to deploy, it’s absolutely critical that you choose an operating system not produced by the public cloud provider. This recent fad of public cloud providers creating their own specific OS is just history repeating itself, where HP-UX, IRIX, Solaris, and AIX are being replaced with the likes of GCEL and Amazon Linux. Sure, the latter are Linux-based, but just like the proprietary UNIX operating systems of the past, they are developed internally, only support the infrastructure they’re designed for, and are only serviceable by the company that produces them. Of course the attraction to using these operating systems is understandable, because the provider can offer them for “free” to users desiring a supported OS in the cloud. They can even price services lower to customers who use their OS as an incentive and “benefit”, with the claim it allows them to provide better and faster support. It’s a perfect solution….at first. However, once you’ve deployed your solution to a public cloud vendor-specific OS, you have made a huge first step towards lock-in. Sure, the provider can say their OS is based on an independently produce operating system, but that means nothing once the two have diverged due to security updates and fixes, not to mention release schedules and added features. There’s no way the public cloud vendor OS can keep up, and they really have no incentive to, because they’ve already got you….the longer you stay on their OS, the more you will depend on their application and library versions, thus the deeper you get. A year or two down the road, another public cloud provider pops up with better service and/or prices, but you can’t move without the risk of extended downtimes and/or loss of data, in addition to the costs of paying your IT team the overtime it will take to architect such a migration. We’ve all been here before with proprietary UNIX and luckily Linux arrived on the scene just in time to save us.
2. Choose an Operating System with Service Orchestration Support
Most of the lock-in features provided by public clouds are simply “Services as a Service”, be it a database service, big data/mapreduce service, or a development platform service like rails or node. All of these services are just applications easily deployed, scaled, and connectable to existing solutions. Of course it’s easy to understand the attraction to using these public cloud provider services, because it means no setup, no maintenance, and someone else to blame if s**t goes sideways with the given service. However, again by accepting these services, you are also accepting a level of lock in. By creating/adapting your solution(s) to use the load balancing, monitoring, and/or database service, you are making them less portable and thus harder/costlier for you to migrate. I can’t blame the providers for doing this, because it makes *perfect* sense from a business perspective:
I’m providing a service that is commoditized…I can only play price wars for so long….so how can I keep my customers once that happens….services! And what’s more, I don’t want them to easily use another cloud, so I’ll make sure my services require you to utilize my API….possibly even provide a better experience on my own OS.
Now I’m not saying you shouldn’t use these services, but you should be careful of how much of them you consume and depend on. If you ever intend or need to migrate, you will want a solution that covers the scenario of the next cloud provider not having the same service…or the service priced at a higher rate than you can afford…or the service quality/performance not being as good. This is where having a good service orchestration solution becomes critical, and if you don’t want to believe me…just ask folks at IBM or OASIS. And for the record, service orchestration is not configuration management….and you can’t get their by placing a configuration management tool in the cloud. Trying to get configuration management tools to do service orchestration is like trying to teach a child to drive a car. Sure, it can be done pretty well in a controlled empty parking lot…on a clear day. However, once you add unpredictable weather, pedestrians, and traffic, it gets real bad, real quick. Why? Because just like your typical configuration management tool, a child lacks the intelligence to react and adapt to the changing conditions in the environment.
Choose Ubuntu Server
Obviously I’m going to encourage the use of Ubuntu Server, but not just because I work for Canonical or am an Ubuntu community member, but because I actually believe it’s currently the best option around. Canonical and Ubuntu Server community members have put countless hours and effort into ensuring Ubuntu Server runs well in the cloud, and Canonical is working extremely hard with public cloud providers to ensure our users can depend on our images and public cloud infrastructure to get the fastest, cheapest, and most efficient cloud experience possible. There’s much more to running well in the cloud than just putting up an image and saying “go!”. Just to name a few examples: there’s insuring all instance sizes are supported, adding in-cloud mirrors across regions and zones to ensure faster/cheaper updates, natively packaging API tools and hosting them in the archives, updating images with SRUs to avoid costly time spent updating at first boot, daily development images made available, and ensuring Juju works within the cloud to allow for service orchestration and migration to other supported public clouds.
Speaking of Juju, we’ve also invested years (not months….YEARS) into our service orchestration project, and I can promise you that no one else, right now, has anything that can come close to what it can do. Sure, there are plenty of people talking about service orchestration…writing about service orchestration….and some might even have a prototype or beta of a service orchestration tool, but no one comes close to what we have in Juju…no one has the community engagement behind their toolset…that’s growing everyday. I’m not saying Juju is perfect by any means, but it’s the best you’re going to find if you are really serious about doing service orchestration in the cloud or even on the metal.
Over the next 12 months, you will see Ubuntu continue to push the limits of what users can expect from their operating system when it comes to scale-out computing. You have already seen what the power of the Ubuntu community can do with a phone and tablet….just watch what we do for the cloud.