The Emperor has no Code

So, as I mentioned in my first post, I attended my first professional conference this past weekend, Snow*Mobile. It was glorious! I was awake and out of the house from 5:30 in the morning to 11:00 at night on Friday seeing lots of cool things and talking to a bunch of amazing people.

But, as my mother says, when you dance you have to pay the fiddler. I spent all my time and energy doing that last week and I am behind on my homework. I did not look at the assignment that was due yesterday until about six hours before it was due.

I worked on it but I was horribly confused. The assignment is to create an iOS app that makes a random rectangle on the screen. The rectangle’s size, color, and position need to be random.

I approached this like it was a Java project. I understood the principle behind what is going on. I need to create a rectangle class that defines a rectangle which has random properties attached to its size, color, and position and then I have to instantiate an instance of this every time the device shakes.

But then I got lost. Where does this get called? I can make a class that does these things, but where does it go? Am I fundamentally not realizing some large chunk of information?

So I go to class not done, but determined to figure out what I did wrong. I am sitting in the hall waiting for Eric the teacher to come. I look around me and everyone is on their Apple laptops.

I don’t say anything because I don’t want anyone to know I didn’t figure it out. I feel miserable and stupid and contemplate my existence on this planet.

Then, suddenly, I hear a whisper down the hallway, “…Hey, did anyone get this to work?”

“No.”

“No.”

“Trying to get it working right now…”

This instantly makes me feel better. I am not abnormally dumb! Other people are having trouble too!

It turns out we all did the exact same thing wrong. We all started with an empty project and we were supposed to open a single view application. I know we could have added the view later, but we are all still starting out and it was enough of a stumbling block that we all got tripped up.

I pleaded for more time on the project because I spent all my free time at the conference. This is the only reason that will fly with Eric, so I have a reprieve.

I have until tomorrow to get this working. I supposed I should work on it instead of updating my blog…

I am rolling the problem over in my head and letting my thoughts percolate. I am not procrastinating. Not really.

…Maybe a little.

Red Queen's Race

Welcome to the Red Queen Coder

This past weekend I went to my first professional programming conference. It was Snow*Mobile 2013 in Madison, WI. I have been studying programming for the last few years, but this was my first opportunity to rub elbows with the people who will be a part of my professional community.

Besides learning about programming techniques, I also learned quite a bit about how the online community for programmers works. I learned the power of Twitter and GitHub. I also figured out I should create a blog.

I have tried doing them in the past, but I was never sure about what it would be about or why anyone would read it!

I now know that I am going to write about my learning process for becoming a programmer.

I am 31 years old. The first line of real code I ever wrote was in 2008. It was in Perl and it was the obligatory “Hello World!” program. This wasn’t the program that got me hooked on programming, it was a program that created an array and printed out each element of the array. It did not work immediately and I had to look through the code several times to figure out why it didn’t work.

When I finally got it to work I felt this awesome rush. I did it! I made it work! I tamed the beast and bent it to my will! I am a god!

I was hooked.

I am sure anyone reading this blog has had this same experience. Many of you probably had it at a younger age than I did. I was 27 when I discovered programming. I don’t know if this would still be as hard if I tried to learn it younger or if it would be this hard no matter what.

So this is a document about my journey through programming. I probably won’t provide any insight to experienced programmers about how to code, but I hope to give some insight into the types of struggles that exist for someone learning this for the first time and trying to find their place in this crazy, wonderful world.

The name of my blog comes from Alice Through the Looking Glass. The characters in this book are based on chess pieces, and the Red Queen is the non-White queen on this particular chess board. Alice sees the Red Queen running as fast as she possibly can. Alice asks where she is trying to get to by running so fast, and she says that she is simply trying to stay in one place, that if she stops running she will fall behind.

I feel this is an apt analogy for anyone trying to learn Objective-C. The language changes so fast that you have to learn as fast as you can just to keep up with the changes!

So welcome to The Red Queen Coder. Enjoy!