Day Two – A day of Entertainment and Innovation

Wow! Today was pretty cool … and I am pretty exhausted. It started off with an interview of the stars of the upcoming Jobs movie – Ashton Kutcher and Josh Gad. They did a great job of addressing the recent controversy based on Woz’s comments. The next section was a quick review of Mountain Lion tips from one of the writers at MacWorld. While I learned a few new tricks, to be honest it seemed a bit disjointed, and like an un-prepared presentation. It wasn’t bad, but it shouldn’t have been on the main stage.

Next we were treated to Future Hunting with Brian -the futurist at Intel, and will.i.am. I really enjoyed this session. Will.i.am was very entertaining, and it reminded me of the discussions I have with my friends around how to change the world using cool upcoming technology.
Evernote Snapshot 20130131 110527
They are both supports and creators of the Transform conference. The great thing about this conference is they try to help change the world using new and future technology. The first one was designed to the transform a specific gehetto neighborhood that will.i.am grew up in. The new one, next week, is about transforming America. Lofty goals from a pop star.
Evernote Snapshot 20130131 111957

Speaking of pop stars, I spent the afternoon learning about cool software to change drum loops, but the real existing part was going to the indie innovation finals. This was the finals of a year long battle of about 400 indie bands, and we got to hear the final two. The judges were in the room and had to judge them based on the use of apple products in their music. To me this was a bit unfair. Both bands were good, but Mister Loveless were real rockers, with a love of punk (a love of mine) and a pure rock and roll sound. They used a MacBook Pro to play an audio file of a BART train. The band Exists Elsewhere were a well polished band from LA. They had the look and sound of a well produced band. They used iPads for their amps and mixers, but in my opinion there music wasn’t as good. Don’t get me wrong, I love sythnesiser music, etc. but a good rock and roll band is much more fun live. The band Exists Elsewhere won the competition and got to open up for Little Feat tonight, however, the band Mister Loveless got to do a full set of music at MacWorld right after the compeition. I recorded it on my iPhone and picked up their CD and a few Ep’s on iTunes. Go check them out:

Beginning iOS class at MacWorld/iWorld

This year’s class was taught by the students and teachers from Canberra Grammar School’s Code Cadets. This is based on their 10 year class at the school where the actually teach their students how to develop a class. The structure of the class teaches not only the basics of iOS, but also a structure of how you program. I find that many classes tell us about how to write for a platform a do a poor job of explaining how to think like a programmer.

The structure of the class was setup into two sections:
1) Introduction to Objective-C
2) Introduction to iOS Development

During the Objective-C section, our instructor went the basics. Comments,code structure, variables, if’s and loops. Expression evaluation was also covered. I’ve seen many classes skip this, which causes a lot of basic programming mistakes early on. The approach they use was to have very simple assignments (both on paper and inside of xCode) to reinforce the learning projects. Nicely done.

I also learned that a habit I’ve been following for twenty years is called Camel Case. I must have learned that years ago, when I was learning Pascal. Cool! The other major AHA! moment from the class was the “fizz-buzz” test. Evidently this will easily weed out people who don’t understand programming, and so many people who apply for programming jobs, can’t program! Amazing!!!

We then got into Object-Oriented Programming. There were four major classes that were explained to the class: NSNumber, NSString, NSArray, and NSDictionary. Another learning point for me, NS prefix is from NextStep! You now know that you can figure out where Apple got various class libraries. (Well sorta).

The overall class was great, but as a one day class, and with as many people as there were in the room, we barely scratched the surface of iOS programming. The good part was that each attendee got a book with all the exercises, and there will shortly be a dropbox location for all the sample code. I had a great time, and meet some cool people throughout the day.

A shout out to my lunch and dinner friends!

What version of Android should you support?

During today’s flight to MacWorld/iWorld the Boeing 757 I was on, had to reboot their in flight entertainment system multiple times. These planes have been in service for some time. But the seats look to have been updated within the last 5 or so. I wasn’t surprised to see the Linux penguin during the boot sequence. As a matter of fact, a friend of mine has been leading the development team for one plane which recently rolled out to their customers, and they are using Android for their inflight entertainment system. The part that is surprising is that they are using Android 2.2 for their operating system. It seems that in some of these embedded systems they are not as current as the latest mobile phone.

This all got me thinking, for android apps, do you go for the largest potential customers, knowing that you will be 2-3 years out of date on operating system features? Or do you go for the new and cool features, knowing that you will have the potential for longer life for your app?

Yearly Sojourn

Well it’s almost here… My yearly sojourn to San Francisco to geek out with Mac and iOS users. This year, I decided to focus on iOS development while I am there, and am taking a full day intro class on iOS programming. You may ask, why take an intro class? I like to understand what people are learning, as they get started in programming. I’ve been coding iOS for three years now, and always learn something new when I see how others are learning. People starting by learning iOS6 get a completely different perspective than those of use who have been coding since iOS3.x.

While I am out there, I am also looking forward to catching up with friends and acquaintance from over the years. If you are planning on heading out, drop me a comment or tweet and let’s meet up for a beer or a coffee.

The two thoughts of DevOps

I was able to make the local Triangle DevOps meetup this week. The topic was how local email marketing company, Bronoto, has evolved their deployment processes over the last few years to address their incredible growth. Listening to Doug Hairfield talk about how the system admin team has changed from managing their production hardware as hardware to managing it like code, was very much an ops centric view of DevOps. Doug talked about how the ops team had learned a lot from the way the development team was managing their code, using SCM, testing and validating their configurations. Very cool presentation.

Many people I work with think about DevOps from a development self service method. This comes from a cloud centric view of the world, but Bronto still has a physical infrastructure to management. When you come the cloud/developer perspective you also get to the idea of infrastructure as code, but it reflects the developer centric view of the world. Get it done, and get I done fast so you can get onto the next cool thing. The ops centric view of the world is about getting it done right and making sure that it is repeatable.

When I think about DevOps, I come at it from a business perspective. To me DevOps is how you provide the business with the functionality with more capabilities, as fast as possible, with the least amount of risk. To that end, we need to have both Dev and Ops focus on the business reasons, and address their piece of DevOps with the basic goal of low risk/high velocity Busines change.

Upcoming activities

So, what have I been up to lately? Shortly after my last blog entry I got sick. Very sick. The kind of sick that you basically lay around for two or more weeks, and can’t even think straight enough to read. What a pain. The good news is, that’s over now. The other news is, I also perform light opera in my spare time, and have been cast in a local performance of Pirates of Penzance. Come see the show in march – http://www.durhamsavoyards.org . January is also the month that I go to what used to be called Macworld Expo. So I will probably be pretty quiet on the blog for a bit.

So this has given me time to start thinking about how to get more engagement on this site. This is tough, since I post an entry when I have something to say. I don’t post just to drive traffic… But I want to have a dialog with other developers locally. So the question that comes to my mind is, what do you think the largest challenge is to get your app the viability that it deserves?

Co-Working and Innovation

One of the things that I try to do, every month or so, is work at a co-working site.  My current favorite is  Bull City Co-Working.  The reason I like co-working sites, is that you feel a vibe in the space, of people doing great things.  People who come to co-working sites, realize that while we can all work at home nowadays, being around other people is important.  Yes you can use Twitter, or instant messaging, or Facebook to “socialize” while you work, but those activities, are still “removed” from actual people.  When I look around the room, and see other people hunched over the computer (well, hunched is probably the wrong word…), and hear the background hum of people using a conference room… I am at work.

You may ask, well, why not just go to a traditional office?  I do have one, but that is a  cube farm.  Cube Farms, do NOT inspire me to be creative or innovative… they are actually the antithesis of inspiring.  Cube farms, make me feel like a drone, I feel I should be wearing a green visor and sleeve garters, with a gigantic in box full of forms…”Oh, we loath, the old one… Oh, we loath, the old one…”  bring out the flying monkeys my pretty!!!

I feel like I come up with Innovative ideas, when I can talk to and work with people who have no idea what I am talking about.  Or when I can talk with people who have different reference points, but some level of common vision.  Co-Working sites, put you in a space with other people who are working on very different things than I am.

I am sure I will post more about co-working, but I’ve been meaning to post something for a while.  Is there a co-working site that you go to?

App development and promotion

One of the big things I keep trying to figure out is why so many of the popular apps tend to be developed on the west coast of the US. I don’t mean the Angry Birds of the world (which are built and grow so popular due to their first in class status), but I mean the popular utilities, camera apps, and other various social apps,

Years ago, when I was working on my MBA, a classmate of mine created a site called EZ2FindMe. It was a social network for business and college students to keep up with each other. It was built right before Facebook was being built at another college. Why didn’t it catch on?

I believe it has a lot to do with the network effect. And given that the West Coast is also the global media capital of the world – thank you Hollywood, the network economy is strong. This means that people are used to self promotion. That self promotion mind set is how you make it in Hollywood.

Those of us who are working on mobile apps need to realize that you can’t just right the best app. You have to work hard to code, but you have to work even harder to promote your app. For many this is not our natural tendency, we like the instant feedback if the compiler. The code we’ve
been working on has magically transformed into a tangible app and we can play with it. In promotion, we spend time tweeting, blogging, going to events, and talking about our app – or our vision if the app, and we have to wait for the network to take hold.

Yes it’s hard, but you have to do it. Go out there and talk to people about what you are doing. Show off your hard work. It can be fun…and the more people who see and get your app, the more opportunity you will have to get back to writing the code.

Books I am reading now

I tend to buy a lot of technical books, and I read many of them. Very free of them are just used as reference, Right now I am take a break on the technical books and am re-reading the Hobbit in time for the upcoming movie.

So what books am currently in progress on? Two of them… One is a book on AppleScript Automator for Mac OSX 10.6 – by Ben Waldie. I’ve had this book for a couple of years, since seeing Ben at Macworld Expo in 2010. I’ve decided that I am doing too many repetitive activities, and figured it’s time to learn how to automate them. Ben’s session was very informative, and his teaching style is very hands on. At the time I didn’t have anything to actually use it on, so the book has become more of a refresher to the course I took.

The second book I am reading is iPhone programming the big nerd ranch way. I recently was struggling with some coding on my iPhone game, and went to the Big Nerd Ranch’s objective C book to help me straighten it back out. Their books and examples are well structured, provide you with the information you need, and provide meaningful challenges to expand your skills beyond the material.

I find that both of these books are examples of the right way to reach technical topics. Definitely looking forward to many more books to read and learn from.