Wednesday, June 24, 2015

Time for a little Celebration!

Hello All!

I feel a bit of relief now, as I have finally figured out a solution to the 'silver' challenge from Chapter Six of 'iOS Programming'!  It's taken me all day, but I did it!  Essentially, I had a View Controller and a UIView created programmatically.  The challenge was to create a UISegmentedControl to change the colors of the circles in the View.  The variable that controlled the circle color was private, so I toyed around with making this public instead, then managed to create a new UIView object when the Segmented Control was selected.  This worked OK, but I always lost the Segmented Control (due to not re-running loadView, which contained the code for the segmented view).  Finally, I figured out that I had to create a variable for the color in my view controller, then rerun the loadView.  The original loadView would automatically assign a lightGrayColor to the circles, but with the public variable in the View and a variable in the Controller, I was able to modify this to look to the variable first, then assign lightGrayColor if it was nil.  This finally did the trick!

While I'm certain this isn't the most elegant solution to the problem, and is likely to be far too verbose (even by Objective-C standards!) to be useful, I'm proud that I stuck with it and found something that worked.  I'll try to post this in GitHub, just in case anyone stumbles across this and needs help or would like to critique my work.  

Onward and upward.  Let's get going to Chapter Seven!

Monday, June 22, 2015

Going Against the Grain

Hello all!

I'm finally getting back on my feet after a rough weekend with a cold.  I think I've been pushing a little too hard to achieve this goal of mine, so I may dial it back a bit.  Frankly, I'm beginning to doubt the wisdom of trying to cram in three hours of coding every day.  It seems as if, given my responsibilities to my employer, my wife, my kids, and my health, that trying to stay up late, consume large amounts of caffeine, and drag through a work day just aren't making a life for me.  I'm becoming too short-tempered at home, unreliable at work, and failing to retain much of the knowledge I'm picking up in my training.  So, with that in mind, I've decided to adjust my schedules and sights a little bit, aiming for 2 hours of coding a day, give or take, and making sure that I get adequate rest at night - approximately seven hours or more.  I feel that this would be optimal for my life, as it is today, and if I get an occasion where I feel rested and prepared to go further, I'll bend the rules from time to time.  While so many of my contemporaries feel that huge sacrifices are needed to catch up and learn, I'll take a little more time and try to save my health and sanity for the long-term.

Also, I've been doing a lot of thinking about Swift development, and where I should be focusing my efforts in learning.  I announced very early in this blog (devoted to the Swift language) that I would be dropping it to learn Objective-C.  Initially, I was just looking to get a better foundation in iOS development, but as I've read different articles, spoken with other developers, and did some thinking of my own, here are some of the reasons I've decided to continue on with Objective-C:

  • An overwhelming amount of existing code for iOS and OS X is all written in Objective-C, and this will not be changing overnight.
  • Swift is still a new language, and depends on a lot of the code that is in Objective-C.
  • Few, if any, employers are hiring for Swift right now.  This will change, but how soon?
  • Objective-C is considered to be the 'hard' language, so most people - including myself - have abandoned it.  If I take the time to learn this and learn Swift, this could make me more marketable.
All of these things make me feel like the right decision is to have a demonstrable knowledge of Objective-C, especially considering that my goal is to earn a job in iOS development, not just make a cool app.  My immediate goal is to make an application (or two, or possibly more!) in Objective-C, then turn my focus on to Swift.

I'm still very excited about this new language, and I think that learning it early will open a lot of interesting doors down the road, it's just not the path for me right now.  Besides, to paraphrase mark Twain, if you find yourself on the same side as the majority, it's time to think about your stance.  For me, I'll go against the grain for a while and learn Objective-C.

Friday, June 19, 2015

Quick Update

Sorry for the sporadic posts of late.  I promise to get better!

Today, I'm down sick, but I'm still trying to get some coding in between naps!  I am thrilled to report that I was able to complete the "Objective-C Programming, The Big Nerd Ranch Guide" again.  I must say that going through the text twice, and dedicating myself to completing the challenges really paid off; I feel like I have a much better understanding of the language now.  I hope that this will carry over and potentially give 2X or 3X returns when I work my way back through the "iOS Programming" book from Big Nerd Ranch.

I've been doing some thinking/wondering/planning/scheming of late, and I will tell you all about it later this weekend.  I think I've got some really good ideas for the future.  But, for now, I need to try to bank in some study time before the meds kick in.

Monday, June 15, 2015

Slow moving, but progress nonetheless

Hello all,

It's been a tough few days trying to squeeze in time for programming, but I have made some strides.  I just finished Chapter 28 in "Objective-C Programming, The Big Nerd Ranch Guide", and I feel like it's taking hold in my brain now.  However, blocks have me a bit stumped.  While I get the concept, I don't really feel like this is an effective way of handling much of anything.  I'm sure I can (and may just be) proven wrong, but I'm willing to take the chance.  I finished the first exercise, but could never quite get the second one to click.  Onward and upward; if it's important, I'll learn it somewhere else down the road.

I'm getting really excited to learn Swift, as I read more about it.  It's going to be great, and I love being able to build in this way.  Much more satisfying than web development was, for me.

I had to travel out of town this past weekend to clear up some issues, so I lost a lot of studying time, but hopefully most of that's behind me.  Thanksgiving is fast approaching, and I want my new job!

Thursday, June 11, 2015

Forging ahead with Objective-C

So, I've decided to stick with Objective-C for the time being. Primarily, I feel that this will still give me the best chance of landing a developer job within the next six months. While so much attention is turned to Swift, and I'll move to it soon, so much of the framework is built around Objective-C it's still relevant and necessary. 

Only two hours of studying yesterday, so I'll look make up a bit of time today. 

Forging ahead with Objective-C

So, I've decided to stick with Objective-C for the time being. Primarily, I feel that this will still give me the best chance of landing a developer job within the next six months. While so much attention is turned to Swift, and I'll move to it soon, so much of the framework is built around Objective-C it's still relevant and necessary. 

Only two hours of studying yesterday, so I'll look make up a bit of time today. 

Tuesday, June 9, 2015

First Meetup!

Hello all!

Attended my first meet up tonight, and it was great!  There were just a few guys there - a low turnout in their estimation.  After talking with them, they suggested that I switch gears (again) and focus on Swift.  Since the announcement that it will become open-source, they predicted even bigger things for the new language, and thought it best if I just in with both feet.  I'm still a little skeptical, but when I think about the arc I want my career to take, I will be using Swift far more than Objective-C, so perhaps this advice is sound.

I think that I'll view some of the training on Lynda.com tonight, and see how I feel about it in the morning.  Hopefully, a decent night's sleep and some perspective will help me figure out my next steps.

Let's get cracking!

Monday, June 8, 2015

Already making changes

Hello all,

I decided to move the blog from the old spot on Tumblr to Blogger.  Why, you ask?  Flexibility, for the most part.  It seems as if I will be able to do more with the Blogger account than the Tumblr account.  Blogger was suggested to me upfront, but I didn't take the advice - so typical!  No big loss, as I only had a few posts on Tumblr anyway.  I've copied two over today, and I'll be starting with fresh content tomorrow.

As for now, I have only put in one hour of coding so far, and didn't get much time over the weekend, so I feel a bit out of touch.  I have been working hard on learning git and began using it today in Xcode.  So far so good, I guess, but we'll see if I can learn to navigate it well enough for my own purposes.  I also restarted the 'Objective-C Programming - The Big Nerd Ranch Guide (2nd Edition)' book again.  I've worked through it before, but I'm really trying hard to get the fundamentals down before moving on.  I find that I keep getting to new information, don't really understand it, and instead of doubling-down and staying with it until it makes sense, I keep pushing forward, hoping that I can connect the dots later.  So far, that hasn't happened, so I want to start fresh.  This way, I'm hoping to build a solid foundation to work off of later.

Time to study.  Thanks, everyone!

Thanksgiving Day, here we come!

Today I set a deadline for earning my first developer job - Thanksgiving day, 2015.  This will give me a little over 6 months to learn just enough Swift and Objective-C, build an app or two, and get an offer to start a new career.  
This may be too much to hope for, but I think I can do it.  I have a Bachelor’s degree in Information Systems, have a good work background, and have spent the last year working in Web Development.  I realize that these are incredible credentials, and plenty of other people share a similar background, I hope I can leverage it enough to take the next step in my career.  While my current job is OK, it wasn’t what I hoped for, and I think a shift into app development is just what I need.  Even though I have a lot to learn, I think I have plenty working in my favor, and hopefully this will all come together at the right time.
For now, I’ll just be dreaming of slicing into the turkey, all while giving thanks for my awesome new job as an iOS App Developer!  Time to go hit the books!

Starting Here

Hello everyone!
i sincerely hope that you find this blog useful to you.  I hope it’s successful for me!  i am beginning this blog as a way to both document my journey in learning to code applications with Objective-C and (eventually) Swift, as well as chronicle my steps in becoming a full-time iOS developer.
I’ve been planning, scheming, and dreaming of becoming an iPhone/iPad developer ever since I got my first iPhone - I was hooked!  I loved the idea of making a useful and fun app, and I wanted to learn more about it.  However, I’ve let many years pass and many frustrations build up in fruitless, half-hearted attempts to learn Objective-C and Cocoa.
But, that all changed last year when Apple announced a new language - Swift!  The syntax seemed easier, and I thought this could be a golden opportunity to “get in on the ground floor” with a brand new development language.  I immediately acquired a new Mac and began looking for tools to help me learn.  However, time constraints, energy levels, limited resources, and frankly laziness have led me to making few headways into this endeavor.  Today marks a turned leaf.
It is my goal to log in 20 hours per week (roughly 3 hours a day) learning the syntax of Swift, navigating my way through Xcode, working with Cocoa, and making many new friends along the way.  Join me!