Adjusting the sails…

Most have heard the quote that I reference in my title.  I remember hearing it at my high school graduation. It’s pithy, memorable, but for a long time, to me, utterly useless.  I had no context to apply it.

That all changed on Memorial Day last month.  For those unfamiliar, the last Monday in May is Memorial Day, a time where we honor the memories of soldiers fallen to defend the United States. For most, it’s a long holiday spent at the lake or a cookout. For others it is remembering loved ones that paid the ultimate sacrifice.

For the past month, I’ve taken a more pro-active role learning delegates and protocols in swift.  Most documentation or how-to videos involved protocols with extension, which provide a default implementation on how to use the protocol.  It’s much harder to find a good tutorial to pass some data from one file to another via a delegate.  I’ve tried to find good examples that help to answer my questions instead of bringing up more.  Much of what I’ve found hasn’t been helpful.  For a couple of weeks, this kept me pretty much at a standstill.

Fast forward to Memorial Day.  It’s a CrossFit tradition to perform the Hero WOD “Murph” on Memorial Day. Michael Murphy was a Navy SEAL who sacrificed himself to get a radio message to help his fellow SEALs.  Part of his story is told in the book & movie “Lone Survivor”.  Murph’s favorite workout when he couldn’t get to a box was a 1 mile run, 100 pull-ups, 200 pushups, 300 air squats, and then finish with a 1 mile run…all while wearing a 20 lb. weight vest.

The-Murph

So I participated in Murph for the first time over Memorial Day. There is nothing glamorous about it, at least from my perspective.  It’s a way to honor his memory as well as others who have fallen to defend the United States.  There is very little fanfare.  We show up, we workout, mostly in silence, and then we encourage others who are still trying to complete the workout.

I’ve been battling shoulder issues for the past few months and was recently allowed to resume so activities that involve the shoulders.  However, I was really worried about the pushups in Murph.  I decided to scale them so as not to face the wrath of physical therapist and endure more therapy (aka torture) at her hands.  So I did pushups from my knees rather than the standard.  At around 120 reps, my shoulders started complaining.  What to do?  End my workout, disappointed in myself and feeling like my contribution towards Murph’s memory didn’t count?   I came really close to calling it.  However, in the midst of the heat, humidity, and mild discomfort (yes, that’s sarcasm), the whole quote about adjusting the sails popped up.  I think there is something spiritual about trying to stretch your physical capabilities.  In this case, I had a moment of clarity.  An “a-ha!” moment.   Rather than just stop the workout, just change what you’re doing.  So I went to sit-ups for the rest of my pushups requirement.   Sure, it’s not the prescribed “Murph” (not that I was anyway as I wasn’t wearing the weight vest), but it’s still a way to honor his workout, and not give up.

So at the hour and twenty minute mark, I finished my final 1 mile run and completed my first Murph.  Of all the accomplishment I’ve had, this wasn’t bound in glory, a sense of accomplishment or any sort of fanfare.  Instead, I felt grateful.  I had the privilege of completing Murph.

The following Tuesday at work, sore from the previous day, I decided to change my approach to learning how to use a delegate pattern with protocols.  Instead of reading and searching for tutorials, I searched for code.  Any sort of delegate paired with a protocol.  How did they use it?  What triggers the delegate?  How do I assign it to View Controller that I need to perform the action.  I stopped waiting to have someone explain it to me, and instead went and found what someone did, and try to explain it to myself.

The end result is that I gained a small foothold in how delegates work.  I’m no expert.  But I was able to accomplish what I wanted, learn to adjust during my learning process, and once again, use a lesson learned in CrossFit in my career.  It never ceases to amaze how I can learn career lessons from a non-career related part of my life.

 

 

I’m still here…somewhere.

I suppose my attempt at twice weekly blog posts was a bit ambitious. I’ve been rather busy at work trying to finish up the second game on our project and while I have explored the topics I’m interested in: enums, functional programming, protocols, and still more on closures, I’ve yet to have time to write about it.

Last week began the annual CrossFit Games competition. The Open is available to anyone who wants to attempt it and serves as the qualifying stage for Regionals, and eventually the Games itself. If you’ve read my blog in the past, you’ll know how important CrossFit has been for me in both physical and mental improvement, so it’s an exciting few weeks for me.

The Open consists of 5 workouts, one per week that are announced on Thursday evening. Participants have until the following Monday, 8pm EST, to complete the workout and upload their score, verified by a coach.

I completed 17.1 at Friday Night Lights at CrossFit Loganville. Last year, I had to scale every workout as I was new to CrossFit and couldn’t handle most of the movements required. This year, I was able to attempt the prescribed (Rx) workout. Big steps for me!

If that wasn’t enough, I attempted it again on Monday too see if I could do better which turned into 5 more reps that I had Friday night. The physical and mental gains are always encouraging for me. It rejuvenates my desire to improve, both at CrossFit as well as at work.

So in the spirit of that rejuvenation, I will double down on my efforts to blog more regularly. Certainly the twice a week goal is too ambitious, but I think twice a month is an acceptable and attainable goal.

The next topic will be Protocols and Protocol-Oriented Programming in Swift, as I used them in a Weather app I built, but didn’t really quite get them. So I’ll explain what it’s doing so as to clarify to myself how they work.

Cheers!
-Chris