WWDC 2013 Disappointment

I did not win a scholarship to WWDC 2013.

I can understand why. I am 31 years old. Programming is my second career. I have only been programming Objective-C for nine months. I have classmates that have been programming longer than I have who can do really cool stuff.

If I had to compete against just the people I know I don’t think I would pick me.

I am happy for the people who got to go. I have been prepping for the fact that it was a long shot that I would win.

I am in good company. There are a lot of amazing programmers that did not get to go.

I really feel glad that I tried. I crashed and burned when I tried to create an app for Cocoa Camp. The fact that I had less time to complete an app but I was able to make it work and do exactly what I planned is a huge accomplishment, at least to me.

I am going to go back and revamp my app to make it work the way that I would like it to. I am going to keep focusing on doing the things that are important to me.

This isn’t my time. I can acknowledge that I have quite a ways to go and that I can get to where I want to be if I have focus and tenacity.

After I get the app to where I want it I will submit it to the App store and possibly throw it on GitHub. It isn’t super cool yet, but I have an interrupted block of time to make it what I want.

Eyes on the destination. Dust yourself off. Keep moving forward.

Status Updates

I have had a hectic week running around trying to get things completed, so I haven’t had a chance to update my blog on any of my activities. Caught my breath, now have a chance to give some status updates.

I got my WWDC application completed! Yay! It works and it has all of the functionality that I planned for it to have.

I created a portable wine journal. You go through, create wine tastings, and add wines to your wine list that you can then look back at later to figure out if you liked it or not.

I took it out for a test drive on Thursday. Middleton, WI had a Wine Walk that night and I went with some friends to try out how it works.

I have discovered some design issues that I need to address:

– The save function is flawed. I followed our textbook a little slavishly on the “save” function because I had not done it very often and had not sorted it out quite yet. I have the app set to save when you push the home button. So if you create a large list of wines and navigate off the page in any way other than to go back to the home screen, your wines do not get saved. For some reason your tasting gets saved, so I have a large list of empty wine tastings. Super counter-intuitive and annoying. I would be mad if I bought this app and it did this.

I figured out the save function was flawed when people would come up to me and ask what I was doing and where I got the app. I would navigate people though it, but none of my data saved and it did not go very well. Fortunately most people I showed it to were drunk and they won’t remember this and think badly of me! 🙂

– I designed it for the iPad because I thought that more people would be using it on one. Going to the Wine Walk I realized that it was a pain to do so. You need two hands to type into the iPad and you are already holding your wine, so you have to find somewhere to sit down to type everything in. This would work far better on an iPhone.

I will need to, at some point soon, go in and fix these features. I got behind on my homework because I was trying to get this accomplished, so I need to put it on the back burner for a little while.

When I get this up and running I will put it up on GitHub.

I feel proud of the amount that I accomplished in the time I had allotted. I got something that works as designed. The design is flawed, not the code. I made it look nice. I included documentation about all of the features I planned to include when I have more than a week to work on it. I figured out a useful app to make that was limited enough that I could complete it in the time allotted. I successfully accomplished what I set out to do and I am okay with whatever the outcome is (but I would be far happier if I won the scholarship to WWDC!!).

Second Chances

I don’t remember if I talked at all about Cocoa Camp, but I did not complete my code sample. I figured out a few days before hand that I had designed it wrong in my head and it would look really bad. I wanted to use grouped table views with editable cells, but I do not know how to program those. I got too stuck in my head, panicked, then shut down.

I tried not to think about it, but now that I know other people in my program are going I feel disappointed in myself for not even trying. Even if I turned in something that didn’t win, at least I would have thrown my hat in the ring.

So hey! I get another chance! WWDC has student scholarships where you have to submit an app. Unfortunately, I have a week (5 days from now) to complete the app along with the application.

I have less time, but I am planning an app that is within my ability to code. I am not trying to learn a new skill, I just have to make something slightly more complex than I have been doing up until now. I feel confident with my grasp of the concepts I will be using.

Trying to manage my panic and stay focused without getting burned out. Going to ask for help much sooner than I did for Cocoa Camp if I need it.

It is weird trying to come up with my own idea and design for an app rather than completing an assignment for a teacher. This is the first time I have attempted to do anything like this.

If I get this done in a way that I feel good about, I will be happy with that. I would love to go to WWDC, but if I give my best and I don’t succeed, at least I will know I put out something I am proud of.

Cocoa Camp 2013: (Almost) Final Countdown

Well, the application for Cocoa Camp 2013 is due tomorrow. I am in the last 30 hours or so that I have to complete a decent code sample and submit it for consideration.

I am modifying what I plan to do for my sample. I am planning to make the whole app a series of table views. In the root view you click on cells to select the data that you wish to submit, then at the bottom you navigate to a view that tells you the conversion.

I am eliminating my flag graphics. I figured out that what I wanted to do is more difficult than what I plan to do and would look substantially less professional.

There will be four cells in my root view. The first will prompt for an amount to be converted. The next two cells will bring up the same list of currencies to choose from. The last cell will navigate you to a view that has the conversion information.

I hope I have enough time to puzzle through it. It is an all-or-nothing thing at this point. I can’t submit it if I can only get it to partially work.

If I can’t get it done by tomorrow I will still complete it and put it in my GitHub “portfolio”, so it won’t be a total wash. It wouldn’t be anyway because doing an outside of class project is always useful.

I will keep you posted as to what happens!

Judean People’s Front

Monty Python Life of Brian

Men dressed as women dressed as men to throw stones

Last semester I was having some minor coding issues that I wanted to talk through with someone but I didn’t want to bother the teacher about. I reached out to him to ask if there was anyone he knew about who would be interested in pair programming with me. He told me to look into NSCoder.

NSCoder, for the uninitiated, is a night that you set aside to meet up with other programmers to work on code, usually at a coffee shop. This is traditionally on Tuesday nights.

So I looked into NSCoder and hey, there is one in Madison! I kept planning to go to their meetings, but the winter has been pretty brutal. We have had snow storms most Tuesdays and it takes as long to drive from school to downtown as it does for me to drive from school to home.

I decided to create an NSCoder group at Madison College. I reached out over our group mailing list to see if anyone was interested and days people could do. I did not get any response. The few people I talked to couldn’t do Tuesdays.

So I had another person pick up the ball. He sent out an email telling everyone to meet in the cafeteria on Tuesday afternoon any time after 2:30. A couple of us from the afternoon iOS Development class all went down after class at 4:30. No one there, including the guy who initiated the NSCoder meeting. We all stay for about 40 minutes. I left early because I had a brand new puppy that I didn’t want to leave for too long and everyone else had obligations.

I found out later that the initiator did show up a half hour after every one left and just coded on his own.

So yesterday I get an email over the mailing list from yet a third person saying he thinks this is a great idea and we should really start an NSCoder group at school that meets on Tuesday nights. He tells all of us grandly that he will be in the school cafeteria all day coding and welcomes us to join him.

This is a person who dropped out without finishing his degree, so he was unaware that this is Spring Break and no one would be there. He was informed of this fact by someone so he pushed it back by a week.

I pointed out that we have already been doing this and that Tuesdays are not a good night for people that I have spoken to who would like to do NSCoder. I propose we do Wednesday night. The only other people who seemed interested but weren’t trying to reinvent the wheel all said that day worked better. I immediately got smacked down by most of the people responding on this thread that you have to do NSCoder on Tuesday because that is the way it has always been done and that you can’t please everyone.

I feel like I am in Monty Python’s Life of Brian. I feel like no one wants to just belong to the group and code, they would rather bicker about who is the chief and whose idea it was and who is the leader. So now we have the Judean People’s Front of coders and the People’s Front of Judean coders.

I don’t care! I just want to meet up with at least one other person outside of class to code. Who cares what day it is? Why do we have to do things a certain way because someone unilaterally picked a day out of a hat that doesn’t happen to work for anyone several years later in a different state?

I do not understand the mentality of some of my fellow students. A large group of us went to CocoaConf Chicago together. We did an NSCoder night there and were able to meet up with some new people. My fellow students only wanted to talk among themselves.

I went to some amazing talks there. One of them was the Core Audio talk by Chris Adamson. One of my fellow students went to it. I went up to him after and gushed about how amazing the talk was. He said, “Oh, I wasn’t paying attention. I was coding my project and I tuned out what he was saying.”

Why bother paying hundreds of dollars to go to a conference if you are just going to do things that can be done at home more efficiently for free?

Most of them also skipped the keynote speech by Dan Steinberg. I felt pressured to not go to the keynote, but I was on Twitter and I saw all the enthusiastic gushing about how amazing it was and I realized I was being stupid and I jumped ship. I hope one day to get to see the whole speech in its entirety.

I went up to Dan and told him how much I enjoyed his talk. I also went on Twitter to say I wish I had the talk on video. He asked me why since I’ve already seen it once. I was too embarrassed to say I missed the first 10 minutes because I was trying to prove I was cool to a bunch of people I probably won’t be dealing with a year from now.

That is the other thing I don’t understand. These people we are going to school with aren’t important in the grand scheme of things. After you leave school you will have other coworkers and a whole community of professional developers that you will interact with, so if one fellow student is being a piss ant, ignore them. They don’t matter.

Brain Storming Box

One of the people at CocoaConf was Jaimee Newberry. One of her talks was called “Super Rad Brainstorming!”. Both she and Josh Smith talked about creating a Brain Storming Box.

A brain storming box contains markers, crayons, paper, clay, etc… Basically anything you would use to create a replica of a layout, colors, whatever you would keep in a box and use to create interesting ideas.

I used to have a lot of this stuff, but I keep losing it and getting rid of it because I don’t think I will use it or need it any more.

So I decided to get this together again today. I bought some cheap paper, colored pencils, and this awesome pseudo-mechanical pencil. It is a lead holder. It is used in drafting. It’s like a mechanical pencil in that it holds a pencil lead that you gradually let out as you use it, but it is also like a normal pencil in that the lead is very wide and you need to use a sharpener.

I also have markers and heavy paper for rendering more advanced versions of my designs. The husband says we will get a scanner at some point soon, so I can scan my drawings into my computer.

I have an Adobe suite that includes Photoshop and Dreamweaver, so that should be useful.

I think it is important to have apps and websites that are aesthetically pleasing. No one is going to use your app if it is ugly or unintuitive. I think it is important to know how to code, but it also important to think about how to make your app nice to use and look at.

I am also thinking about starting a podcast for beginning iOS programmers. There are lots of things I can’t find documentation on about layout and button functionality, so I would like to talk about that.

I am planning on the podcast only being about ten minutes long and focused toward beginners. So just a quick going over of some type of puzzle.

We will see how that goes.

CocoaConf Chicago and Core Audio

Haven’t had a chance to write on my blog recently. I went to CocoaConf in Chicago this last weekend and it was an intense experience. I thought I would have more down time, but not only were the days long, they were packed with lots of content and by the time the end of the day came my brain had run out of available RAM!

I met a lot of amazing people. I saw a lot of amazing speakers. Among my favorites were Jonathan Penn and Daniel H. Steinberg. I went up to Dan after his keynote and told him he was my new career role model and he looked at me and said, “Oh God honey, why??”

However, the talk that made the most impact on my life as it is was the Core Audio talk by Chris Adamson. I bought his Core Audio book back in December. I took it on vacation with me between semesters because I thought I could read through it. That went fine until I got to the first code sample. It had code in it that had been deprecated. I discovered why the main method has the autorelease pool in it. It was because before you instantiated an NSPool object, did something, then called the drain pool method.

So, anyway, I got very confused about what stuff was deprecated and what was pertinent for Core Audio, so I set the book to the side until I learned enough to be able to make that determination.

I was super excited to see Chris’s talk. I wanted to go up to him and talk before the talk, but I didn’t really know what to say. At conferences I prefer to go to someone’s talk and then approach them later and talk to them about their talk. So far it has worked. The Core Audio talk was one of the last ones of the conference, so I saw him around for three days without talking to him 🙁

When he started talking about Core Audio, it was a revelation. I noticed that when my brain sees a bunch of unfamiliar stuff, it runs away and hides. I usually have to look at something two or three times before my brain gets used to what it is seeing and is willing to process it.

I did not feel that way with Core Audio. The first time I saw actual Core Audio it was a revelation, an epiphany. I didn’t want to run and hide from it. I wanted to dive into it and absorb it.

I got to talk to Chris after his talk and he is super cool. He is the first person I have encountered in four years who knew the person I named my dog after (her name is Delia Derbyshire). I had a great deal of fun talking to him and I hope that I get to do so again at some point in the future.

After I got back from the conference, I felt energized. I felt like I finally had a grasp of what I am doing. I spent the whole next day coding. I was in the flow.

This is the first time I have gotten into the flow for Objective-C. Before this, I did my homework because it was something I had to do. When I would talk to people who said they would code for hours I was jealous because I wanted to want to code for hours, but I wasn’t there yet. I was afraid it would never happen.

I want to be part of this world. When I go to these conferences and everyone knows each other and they are all familiar with each other’s work. I want to be one of those people. I don’t want to be the nerd that goes to Comic Con once a year so that I can meet the people who create my favorite shows, only to go home and wait for the next year to come so that I can rub elbows with these people. I want to be one of them. I want to walk the walk rather than just be a fan girl.

When I got home I dug into Core Audio. I stayed up all night coding and listening to my internet radio while drinking tea. My husband kept yelling at me about when I was coming to bed and I yelled at him that I was busy and to leave me alone. My dog, Delia, was unhappy that I wasn’t cuddling with her, so she came to my office and gave me disapproving face.

It was glorious. I feel that I now have focus. I know what I want to do. I know what I want to accomplish. I feel confident that this is something I can do and do well.

I feel bad that I didn’t write more about the conference, but if you are reading this post you were probably there and don’t need me to say what it was like!

I am going to code now. Life is amazing.

Prepping for CocoaConf Chicago 2013

I think I just packed more for a three-day trip to Chicago than I did when I spent two weeks in China.

I packed a dress and dressy paraphernalia in case I have to go somewhere nice. I packed my make-up, even though I usually don’t wear it in case I feel the urge to.

I packed tea and a tea infuser. I am sure they will have coffee and hot water at the conference, but last time they ran out of the tea I like, so I am bringing my own.

I am bringing a bunch of board games so that I have an ice breaker for strangers and an excuse to spend time with people where we are doing something and it isn’t creepy.

I am bringing my Kindle in case I get bored and want to read. I am bringing a paper book in case my Kindle’s battery dies (I can’t find the charger).

I really hope that they have Wi-Fi at the conference. You would be surprised at the number of places that don’t do that. Now that I have migrated all my programming books online I will need the Wi-Fi to do anything.

I am rooming with a girl from a different class. I hope I don’t freak her out with all of my voluminous amounts of crap.

At the last conference I was at one of the speakers talked about getting rid of anything in their lives that didn’t fit in a backpack. Thinking about that makes me curl in the fetal position breathing into a brown paper bag.

Now, just need to make sure I pack my computer and clothes!!

Cocoa Camp 2013

Every year Apple does a summer camp for programming students in Cupertino. The last few years Madison College has had several students who have gone.

They just released the application to us yesterday. We are required to send a resume, a letter explaining why we should be considered, and a coding sample. We have to program a currency converter that must work on either a simulator or an iOS device.

I am in a conundrum. I have a (slightly) late Java project to work on and I have some iOS homework to complete, but the challenge put forth by the Apple people is more interesting to me. Maybe it’s just interesting because it is new and shiny.

I have a month to complete the challenge and submit it to Apple. I will try to work on my other stuff for a while, but I might come back to working on this. I want it to be awesome.

Cocoa Conf 2013, Here I come!

I loved my first programming conference. Snow*Mobile 2013 was one of the best experiences I have had for a while. As Eric the iOS teacher says, “I found my people”. I was totally bummed when the conference was over because there wasn’t going to be another one until UXMad happens this summer.

Until I discovered Cocoa Conf. There is another conference happening in Chicago March 7-9, 2013. This one is going to be super cool because this is going to be 100% Apple programming. Snow*Mobile was awesome, but there was a lot of presentations about Android and HTML5 among other things because it was about mobile development, not iOS programming.

I have discovered some things I wish I had known before Snow*Mobile that I can now implement before Cocoa Conf:

– Have business cards! I am at the conference to meet people and connect. It is a little unprofessional to not have a card to hand someone with your information on it. I have ordered business cards with my professional info on them. They should be here on time. I paid for the faster shipping.

– Have a blog. I mentioned in my first post, I figured out after the conference that I should have had a blog and talked about the conference in it (I give a shout out to Ray Hightower for giving me this idea). So I now have a blog.

– Twitter can be useful. If you are following a speaker and you tweet them about their talk, that gives you an intro so that they know who you are. That way you are not some random person on Twitter making stupid comments on things.

I am going for the conference and I am also attending the iOS game workshop the day before the conference begins.

I am super excited to see Chris Adamson talk about Core Audio. One of my long-term goals is to learn Core Audio and OpenGL. I don’t think I am at the level where I can do that yet, but it is out there on the horizon.

I am sure there will be lots of other cool people there that I am not familiar with whom I look forward to meeting.

If anyone reading this post is going to be there, drop me a comment or tweet me @redqueencoder and I’ll keep an eye out for you. Any advice on whose talk to see is appreciated. There are so many choices that it is a little overwhelming.