Alone in the woods…

Having caught up on work, and nothing much else to do, I decided to spend today hiking.  I grew up backpacking so hiking alone has never bothered me much.  I’ll admit, seeing a sign on what to do if you come across a rattlesnake unnerved me some.  I spent the first 30 minutes paying attention to the ground on the off chance I’d hear a rattle.  After awhile, i started thinking about all the signs on Georgia trails warning of bears.  I’ve never seen a bear in the north Georgia mountains.  I know they’re there, but we pretty much leave each other alone.  I decided the same is true about the snakes here.  They’re out there, but my chance of encounter is probably small.  From there one, I started enjoying the hike more.

The hike had more woods than I expected.  Eastern mountains are covered by trees.  From a distance out here, it appears more of a peppering.   Up close, I spent several miles under a tree canopy with occasional open views.

IMG_1041

Around the halfway mark, I had reached 5900 feet and the canopy had disappeared.  Instead, much more scrub brush and grasses littered the landscape.  The wildflowers had the necessary sun to bloom.

IMG_1051
The white temple in the distance was my starting point.
IMG_1057
Not sure what this is, but it’s pretty.

Despite all the flora wonders, fauna was nowhere to be found.  Apart from some insects and a few birds, I didn’t come across animals of any kind.  I didn’t even see tracks.

Coming back, I thought about the last few months.  Where I was, where I am, where I hope to go.  It occurred to me just how big of a leap of faith I’ve taken to quit my job and go to school in hopes of finding another one.  During the day to day, I’m too busy to dwell on it.  Out by myself with only my thoughts, it amazes me that I even considered it, much less acted upon it.

The last part of the hike was back into the tree canopy.  The trail narrowed and I had to pay attention to the mountain bikers zooming down the path behind me.  I can see the appeal of mountain biking out here.  The trails are varied, fast, and challenging.

I ended the day having processed my big decision.  I’m no less comfortable with the unknown, but I’m also certain that I needed to leave teaching.  My decision to become a programmer was the correct one.  Sometimes the views are necessary to remind us of the scope our lives have as well as help expand to where it needs to be.

IMG_1034

Advertisements

Week 1 – Mobile Engineering

#fiyf

Monday – Day 1

Immersive is the appropriate word when describing life at The Iron Yard.  We met at 8:30 this morning so that Garrett, our campus director, could go over some things with us before class began at 9.  Among other things, was his throw down challenge on the ping-pong table.  Yes.  We have a ping pong table in our office.  Having not played in quite awhile, several of us took the opportunity at lunch to shake off the rust and get ready for Friday morning’s Battle Royale.

Lecture began with an overview of using Github, both the website and the desktop application, to allow us to submit our assignments, monitor changes made, and when we get to working on a group project, not overwriting someone else’s code by accident.

Afterwards, we spent the remainder of the day learning about Auto Layout in Xcode.  Xcode  is the IDE (Integrated Development Environment) used to create apps for iOS, watchOS, tvOS, and OS X (desktop-specific apps).  This can be done by either using Objective-C or Swift, although C and C++ can be written and compiled too in certain situations.  Our course will focus on iOS and we will learn both Objective-C and Swift.

I left school about 5pm after spending much of the afternoon building the interface for a calculator app.  No code today–just creating buttons and making sure that regardless of what size phone you are using, they will show up in the correct place.  Constraints, pinning, and updating frames were our tools.  Phil, our instructor, took to calling one of the icons that allows you to set constraints a TIE fighter, on account of how the icon looks similar to the twin ion engines.  By the end of the day, all four of us students were referring to it as well.

I went to CrossFit tonight and although the WOD wouldn’t have given me too much difficulty back home, I struggled mightily.  Apparently my body hasn’t adjusted to the altitude yet and today just happened to include running.  I had to slow way down to catch my breath.  Still, I finished.

I’m content with the progress I made on the app, so I’ll take it easy this evening.  I see sleep coming pretty soon.

Tuesday – Day 2

I got to campus today around 8:30 and spent the next 1/2 hour updating my Git repositories, checking email, and looking back at my project from yesterday.  The online Learning Management System (LMS) where we find and submit our assignments wasn’t working so none of us could upload the Monday assignment yet.  It was fixed by noon.

Today was spent learning Objective-C syntax.  I’ve blogged about this before and let me say, I’m glad I had that tutorial to complete beforehand.  It is so unlike Python that a newbie would have their head spinning by the time lecture was done today.  I know others have mentioned in their blogs how important completing the pre-work is and it’s 100% true.  If you don’t do it, don’t show up.  You will be too far behind.

We ended the 3 hour lectures learning about how to declare actions and outlets to our user interface.  Everything you see on a mobile app, (buttons, text fields, labels, sliders) is an object.  These objects know stuff (remember information) and can do stuff (change the volume, move to another page in the app, like a picture on Instagram).  In order to do those things, there is code attached to these objects.  Outlets and Actions are the code.

Our homework for today was to build an app that required a username and password to be entered.  If entered correctly, a message updated denoting the successful log-in and the screen changed from white to green.  If entered incorrectly, the message read “DENIED” and the screen changed to red.  It was a fun project and all four of us were leaning on each other to get through the tasks.  I think all of us finished or were almost finished by 5pm when I left. I don’t expect that to be a regular occurrence, especially as we ramp up the speed of which the syntax is presented to us.

CrossFit went much better tonight.  Part of that could be we didn’t run today, part of it may be that I’m acclimating to the altitude, but I think much of it had to do with being better hydrated.  I’ve consumed a great deal of water while I’ve been here, but I don’t think its been enough.  I’m working on that one.

I miss my family, my dogs, my friends, my co-workers, my CrossFit coach, my CrossFit family, Taq Tsu, Striplings, Catch-22–basically everyone.  I am enjoying the program immensely and glad I am able to take part.  It helps having the support system back home.  Nevertheless, I’m a southern boy in the western United States–it’s taking some adjustment.  I’ve been asked several times where I’m from.  I didn’t think I had much of an accent, but it’s obviously standing out here.

A fellow classmate commented to me today that although this is hard, he went to bed last night excited to come back today.  I had much the same feeling.  I look forward to new information, new code and a new project for tomorrow!

Wednesday – Day 3

Today got real!  That wall that they talk about.  The four of us hit it today.  The morning started out with reviewing our homework from the night before.  We then looked at ways to control UI Image Views with the auto layout tools available in Xcode so that when a user rotates a phone from portrait to landscape, everything still looks okay.  I must say that we’ve come a long way in two days regarding our layouts.  We aren’t there yet, but we’re much further than we were!

Lecture moved on into Collections.  Collections are arrays and dictionaries in Objective-C (and most every other language).  An array is a collection of information grouped together that can be accessed by indexing.  We didn’t get to dictionaries today but it is similar except for every time in the dictionary, there is an associated key attached to it.  I’m sure I will become intimately familiar with dictionaries soon.  So far, so good.

Apparently we hit the wall when discussing method creations–especially those that return values or take parameters (arguments).  I’ve created functions (what we call methods) in Python and actually spent a fair amount of time making my former students making them, but the syntax is so different in Objective-C that I had to slow way down and start with making some simple methods and build up from there.  Apparently I wasn’t the only one with that idea because our homework was exactly that.  Start by building simple methods that don’t return any information, nor ask for information and then build our way into more complex varieties of methods. It was good practice and will pay off mightily down the road.  The homework was not long in # of tasks, but each task was time consuming and required careful attention to syntax.  I spent a couple hours on it at school and got about half of it done.  I left around 5pm, went to CrossFit, ate dinner, and picked it back up around 9pm.  The other half of the homework took me about an hour.  I may have been able to finish sooner, but I slowed down and paid particular attention to the syntax–especially when it comes to creating multiple parameters.  For some reason, creating one parameter is straight forward, but I forget exactly where my : goes, where my () goes, whether I need an * and other such syntax when I get to the 2nd or 3rd parameter.

Screen Shot 2016-05-25 at 10.17.45 PM
Writing methods in Objective-C
Screen Shot 2016-05-25 at 10.17.54 PM
Calling methods (sending messages) in Objective-C

After finishing, committing, and pushing my homework to Github and then submitting the link on our LMS, it was time to read some more about Objective-C syntax.  I spent an hour looking through more information on pointers and arrays.  Its just so much different than Python!  This isn’t necessarily a bad thing, it’s just different.

At CrossFit tonight, I struggled.  Not with breathing, not with dehydration, but with patience.  The WOD was 30 minutes long and involved some movements that I am not particularly good at.  I just wanted to be done with it.  I didn’t really enjoy it at the time, but I’m glad I went. I’ll do better tomorrow.

Thursday, Day 4

Today starts the weekend homework.  Its a big project!  For those that may see the finished result, it may not look like much.  “Wow.  that’s just a simple 2 screen app.  It couldn’t take that long”, let me put it in perspective.  Imagine you’ve landed in Paris for a 3 month immersive language-learning trip.  You’re going to school to learn the language and after 4 days of lecture you’re asked to write a 2-page paper, completely in French, about what you’ve learned so far.  That is kind of what this is like.  Although the app is “only” 2 screens, it contains methods regarding dates, times, labels, 2 view controllers, a navigation controller, constant updates to the view and about a billion constraints (okay, its 9 objects with roughly 2.5 constraints per object, but still).  Its a fun app to code and it amazes me how much I’ve learned in a week.  Most of my weekend will be spent working on it.

Friday, Day 5

There is no lecture today.  The entire day is devoted to working on the app.  I would do this with my programming students when I was a teacher.  Granted, they only had 80 minutes, but I’d try to create a project for them big enough where they’d need most of the class period on Friday to work on it.  I actually took last night off from looking at my computer to do laundry and generally relax.  I even skipped CrossFit.  Instead, I spent much of the evening watching Game of Thrones and cleaning up my room, a show I’ve just recently begun watching.  I fell asleep early so clearly I was exhausted from a whirlwind week.

Today, Garrett, our campus director, is bringing us breakfast and we have a “White Flag” huddle.  I’ll spend the entire day working on the app.  Although we get an extra day due to Memorial Day, I’d like to get it done early and maybe explore the mountains that I get to look at daily this weekend.  SLC basically sits in a valley and is surrounded on all sides by mountains.  It’s gorgeous.

Without giving too much away, our app has to do with time travel.  Flux capacitor?  T.A.R.D.I.S.?  Doc Brown?  10th Doctor?  11th Doctor? (my wife’s favorite) Rose Tyler?

I’ll leave you with my nerdy side going into hyper-geek.  Now if I could work in some sort of Sherlock reference, I’d geek out completely.

tardis-bttf

1900 miles, podcasts, and settling in SLC

IMG_0981

I drove from Athens, Georgia to Salt Lake City, Utah in 31 hours.  I gave myself 48 hours to get there.  Other than sleeping at night, I spent the rest of the time on the road.  I headed west toward Alabama, up into Mississippi, spent about 12 minutes in Tennessee, and halfway up Arkansas on Thursday evening.  Friday was spent going through the rest of Arkansas, up the entire state of Missouri, into Iowa for a minute, and then west across Nebraska. I drove 16 hours on Friday.  Yesterday was spent getting through the last 59 miles of Nebraska on I-80, across Wyoming, and then turn south into Utah.  I had a 5pm “Install Party” to be at.  I arrived at 4:30.  Sure, I cut it close, and yes, I’d have loved to have left on Wednesday, or even Thursday morning instead of 3pm that afternoon, but I had obligations to students and fellow faculty to meet, and doing things the honorable way is always my expectation.

So what do you do with your time while driving?  Thursday night was spent with SiriusXM radio.  There was a one-hit wonders station that aired for that day only and I spent much of the time saying, “Whatever happened to them?!”.

I did much the same on Friday, for about 1/2 the day.  By noon, I was pretty much bored of radio and hearing many of the same songs again and again so I turned to podcasts.  I started with a couple programming ones about Swift, but knowing how inundated I’ll be over the next 12 weeks, they did not hold my interest.

Fortunately, for me, I found a podcast called “Stuff you should know”.  Amazing!  They’ve been at it for awhile so there were many topics to choose from.  I started with “Operation Mincemeat”, a rather ghoulish op during WWII that led to the success of the invasion of Sicily, amongst others.   I then moved on to “The Duality of Caffeine” and it’s affects, both positive & negative, on the human body.  Basically, black coffee is quite the health benefit!  I then listened to podcasts on the hacktivist group Anonymous, types of bridges, the mental health benefits of LSD (that one really surprised me with how good/informative it was!), and polyamory (multiple spouses). I finished with “American’s guide to Soccer”.  Being a soccer fan, I enjoyed it tremendously.    I found the podcasts kept my brain engaged while absorbing miles of mind-numbingly boring scenery across parts of Missouri, Nebraska, and Wyoming.

Speaking of scenery, WOW!  Yes, there were some boring parts, but they were more than made up for by the amazing parts!  The three aforementioned states all held geographic and climate wonders that I’m grateful to have experienced.  The cloudscapes across Nebraska were mesmerizing, the 40+ mph winds across central Wyoming were nerve-wracking, but engaging, and Utah is a jewel that I’m just beginning to uncover.  I don’t have many pictures as it’s hard to snap photos while going 65 mph down mountain roads, but I’ll add some when I can.

The install party was fun and I was able to meet Phil – my instructor, Garrett – the campus director, and my other classmates over the coming weeks.  All were enthusiastic and welcomed me with open arms.  Dinner was brought in from a local restaurant called Cafe Rio.  After two days of trying to eat healthy fast food, it was a welcome respite to the mega-carbs and fats I’d consumed in my quest to eat quickly.  Monday’s CrossFit workout can’t get here soon enough.

I found the house I’m staying at through AirBnB, checked in, unpacked, and promptly fell asleep.  My body was wrecked.  I woke up this morning, still 2 hours ahead of the clocks, and ventured out.  I’ll spend today getting ready for the week, locating points of need for me during the 12 weeks, and generally de-compressing from a hard ride.  Still, my truck did great and was a rather comfortable ride.

I hope to post more later this week. #fiyf

 

Slow down…speed up

 

“Give me six hours to chop down a tree and I will spend the first four sharpening the axe.” — Abraham Lincoln

I’ll be the first to admit that I like to jump into tasks, projects, whatever it may be as quickly as possible, full of enthusiasm and energy.  I’m excited and feel up to the challenge…until I hit that first obstacle.  Reality sets in.  This is hard.  This is stupid.  I’m not good enough.  Oh look, that other thing over there looks more interesting!  I’ve basically spent much of my life in this cycle.  It is a tough, unproductive, wasteful type of life.

As I’ve said before, I’m an avid CrossFitter.  I started 5 months ago with the hope of just feeling healthier.  35 lbs lighter and I’m still as engaged with it as when I started.  I entered with the same enthusiasm that I normally have for something new, but there is a small difference; I’ve stuck with it. So why is this different?  What has changed?

I was a swimmer growing up.  More specifically, a sprinter.  I never had races longer than 200 yards (except for one god-awful 800 IM in practice once).  As such, pace never really worked it’s way in my races.  I just went all out for as long as I could.  I practiced, sure, but I never spent much time with intricate strategies.  Just go as fast as I can as long as I can.  Occasionally, I would run out of energy and coast into the wall for the last 15-20 yards, but rarely did that happen.  I’d give all my energy and enthusiasm and get it over with.

After a week of CrossFit and basically approaching the WOD (workout of the day) with the same mentality, I learned a difficult lesson and faced a new challenge.  I can’t just brute force my way through these workouts.  I’d need to prepare.  I’d need to pace.  I’d need to adapt.

Finishing the workout was a huge accomplishment for me the first couple months.  I’d say it was a mixed bag of whether that would happen.  What did help was learning to break up the workout.  As an out-of-shape neophyte, nobody expected me to be able to do 50 wall balls or 40 thrusters without stopping…except for me.  How foolish!  Even still, my coaches let me learn this lesson on my own.  I’m grateful for this.

Slowly, I learned to break up the tasks into smaller tasks.  Accomplish this, move one to the next one.  Forget about the finish line, focus on what is in front me and keep moving.

It is a hard lesson to learn.  I still have a sprinter mentality. I want to the be the first one done.  I’m racing the clock.  Or so I thought.  In reality, I’m just trying to do better than I did yesterday, or the day before, etc… The only way to accomplish this is to slow down, break up the task, and then speed up as I get more comfortable with the movements.

This lesson as served me well professionally.  I’m currently trying to keep C, Objective-C, and Swift syntax separate from each other and know when to use them correctly.  I also have to contend that having worked with Python for three years now, I begin ‘speaking’ in Python first and have to stop myself.  The only way I can get through the pre-work and feel comfortable with most of the knowledge is to break it up into small tasks.

For some of you, this may be obvious.  Honestly, though, it has never occurred to me before.  Just work and work and work until I’m tired and try again later.  Do you have any idea the number of unfinished projects I have?  Me either, but it is a habit I’m working to change.  The task will go faster if I stop and analyze how to approach it before jumping in and making a bunch of mistakes before I figure out what works for me.  That’s why I found the quote above so intriguing.  Thinking–critical thinking–is not slow work or busy work.  It’s developing a road map to follow so that I finish faster.

I may not apply this to all aspects of my life, but I think professionally, I certainly need to recondition myself to excel.  Perhaps then I won’t be so apt to jump to another project and burn out.

CriticalThinking_300

One week to go…

8cc1367623970bbca179b66b1506d891

I leave for Utah a week from today.  So far, I’ve found a place to live, taken care of as much household stuff that I can & found surrogates for the tasks that can’t wait until I get back, found a CrossFit box to try out in Sandy, Utah, bought a computer necessary for the course (such a tough task!), and completed almost all the pre-work.  There is really only one thing left to do….pack.

How do you pack for a 3 month trip?  What is necessary?  What can stay home?  I have a washer and dryer at my disposal at the house I’ll be staying in so it’s not like I need my entire wardrobe, but still…trying to decide EXACTLY what I need to bring is proving to cause quite a few arguments with myself.  I’ve found myself muttering aloud far more than I usually do!

Yesterday came the welcome email from our instructor and campus director.  We have an “Install Party” next Saturday to get our computers set up on WiFi and various and sundry tasks to make our first day of class run smoother.

I’ve mapped out my trip too.  There are three major routes I could take:,

 

There are some advantages to each route, and given how they time requirement is pretty much the same, I probably can’t pick a bad one.  I like driving through parts of the country I haven’t seen before so there is that to consider.  Regardless, it will be a major task to leave here at 4pm on Thursday to make it to my meeting in Utah by 5pm on Saturday.   But I’m up for the challenge!

Pre-work updates…

hat-badge-1

I haven’t posted much lately…not for lack of effort.  My instructor sent me several weeks worth of pre-work to complete so that we can hit the ground running on May 23.  Some of the pre-work I blogged about (learning Objective-C) but most of it did not merit mention.  So I’ll recap.  I’ve been watching videos and taking notes on Object Oriented Programming, which is the type of programming we will be doing.  Basically the videos were best practice tips and not code specific at all (language agnostic is probably a better term).

I’ve also spent time learning about the importance of version control.  I’ve heard of Git and sites like GitHub in the past but have never used them.  Working on even an individual project, I can see their worth.  Basically it allows you to track changes made to your project by you or anyone else that may also be working on the project.  Think “track changes” in Google docs or Microsoft Word, except Git goes a step further and keeps a repository of every project change so you an go back if need be.  Looking at the syllabus, it looks like we get into Git quickly in the course so I’m sure I’ll post more about it soon.

Outside of that, I’m wrapping up odds and ends here in Georgia and finishing out the semester as a teacher.  Contracts came out the other day and it was odd not to sign one.  I did offer to come back next year but the county doesn’t have a leave of absence in place for non-medical/family issues (I’d need the 1st 3 weeks off to wrap up my iOS course) so we are parting ways at the end of this semester.  I’m actually okay with this.  It reminds me of a phrase from the great classic movie “The Hunt for Red October”.

When he reached the New World, Cortez burned his ships. As a result his men were well motivated. -Captain Marko Ramius, The Hunt for Red October

What it means to me is that when things get tough out in Salt Lake City, knowing I don’t have anything to fall back on means I can’t give up.  Having the security of a teaching job if things don’t go well might cause me to give up too easily.  Nothing like taking the safety net away to cause you to hyper-focus.

I have found a couple CrossFit boxes out in Utah near my campus and the house I’ll be living in so I will continue to keep my workouts going.  Even now, as I’m trudging through a hard workout (today’s shoulders were a killer!), I find I can process code-related information that I may have struggled with earlier that day or week.  The body feeds the mind sometimes.  Anyway, I’ll miss my CrossFit Loganville family while I’m out there.  They’ve helped me accomplish so much in the 5 months I’ve been working out there.  Some of that success is helping me take this leap of faith now.  I don’t want to end that confidence and support.  Hopefully my temporary gym will be as helpful and friendly!

 

Sometimes, Father knows best…

family_2011

So I had a bit of a freak out today.  I’m 37 years old, successfully employed, a husband, father of two girls, and I live in Georgia.  In 15 days, I’m going to quit my job, pack up and travel 1800 miles west to live alone in Utah and participate in a coding bootcamp that will teach me the skills to become a junior iOS developer.  I’ve asked myself, “What if you fail?” about 1000 times in the last few weeks.  Oddly, I never asked myself, “What if you succeed?”.  I think that is the better question–it’s answers are varied, wonderful, and exciting.  There is literally no wrong answer to that question.

So what does one do when reality gets a tad overwhelming and you begin to question your decision-making abilities?  COD.  Better known as “Call on Dad.”

My dad and I have a great relationship.  In some ways, we are very similar.  Other ways, quite different.  However, we do have a calming, analytic mind when those around us begin to lose theirs.  Today, I was losing mind.

In college, I was struggling.  I was a double-major in Finance and Economics at Mercer University.  I was several courses into my major when I begin to wonder if I’d made the right decision.  Engineering had always appealed to me, but my experience in high school physics raised enough doubt that I was certain I wouldn’t be successful.  So I did what most 20 year olds are probably too prideful to do; I called dad.

I explained to him what I was I was worrying over–stick with Finance and be done in 3 semesters or switch majors midway through my junior year of college and probably add an additional year and half to my graduation date.

He listened,  asked questions and said, “the decision is yours, there are benefits to each, but drawbacks too, but I think you’ll be successful regardless of what you choose.”

As a 20 year old, I secretly wanted to revert back to being 10 when he would tell me what to do.  I didn’t know.  I was scared I’d make the wrong decision.  I decided to stick with Finance.

For years I regretted it.  The question that came into my mind was “could I have done it?  Could I have been an engineer?”  After all, it was in my blood.  Dad is an engineer by education, my grandfather, and to a lesser extent, my great-grandfather an engineer too.  I certainly have the pedigree.  However, I stuck with business thinking it’d be easier.

I left Finance as a career by the age of 26.

Easier.  It is a deceptive word.  On the surface, it has appeal.  Little to no work sounds like a great gig.  Coast through school, graduate, get a high-paying job. Enjoy the finer things.

Explore the depths of that word and you know what easy is?  Boring.

Our minds and bodies are meant to be challenged.  It keeps us interested, it keeps us from getting…well….bored.  I’m not saying pick something because it is hard.  However, don’t shy away from something that interests you because it could prove challenging.

So fast-forward to today.  Talking with dad, he asked me, “Remember back in college when you were stuck with staying with Finance or going into Engineering?”   “Yes I do, and I regret not trying engineering.”

“Chris.  This is your engineering and you will always wonder if you don’t try it.”  “You may fail, or you may succeed, but at least you’ll know.”  NOTE: For the record, he said he knew I’d succeed.

I’m 37 and I still need dad sometimes.  It makes me happy that I still have the opportunity to call on him.  I know that not everybody has that luxury.

that-horrifying-moment-when-youre-looking-for-an-adult-then-realize-youre-an-adult-so-you-look-for-an-older-adult-someone-successfully-adultingan-adultier-adult-f594e