360iDev 2017 Takeaways

360iDev is a long standing iOS developer conference held out in Denver, Colorado. This was my first year attending after hearing many good things from friends. Some quick notes:

  • Sunday, was a pre-conference education day. It had a mix of full day and half day workshops. I think there was some good content to be had, but I don’t think the majority of the workshops were scheduled and paced right. Some felt like runaway session presentations, more than training. I will admit though I am very biased in what I like to see in my workshops / bootcamp environments being a teacher myself.
  • Monday saw the official kickoff of the conference. The opening keynote from Soroush Khanlou reviewed how his own blog had influenced his career and encouraged us all to share more, which I think is great.
  • The closing keynote on Monday came from Mike Lee and he tore apart the tech industry’s obsession with growth and how it has negatively impacted us all. He wasn’t afraid to point out how we enable it and I will say, while Mike’s loud presence can sometimes put me off, he does get me thinking.
  • Tuesday opened with a second blast of harsh reality with Jay Freeman’s, “That’s How You Get a Dystopia”. In this talk Jay pointed out how we are enabling some pretty scary scenarios, from the fragility of the Tor network, to Apple pulling VPNs from China. For more personal actionable ideas, Jay pointed out how we could augment our own data capturing methods to make sure if the data is ever breached its value could be lessened, eg: no need to capture the identifiable IP addresses of people when zip codes will do and are not 1:1 trackable).
  • Tuesday closed with a Stump the Experts panel and funny enough I ended up on the panel. (Must be my gray hair.) I was very happy to get an Apple IIc piracy/drm question right. Was also happy to hear Conrad’s Philly CocoaHead talk get quoted as a source to help the panel get 10 points for some other question.
  • On Wednesday, John (conference organizer) opened with a very transparent take on how this year conference went and it’s trajectory. While there are many positives experiences it was sad to hear the conference ended up running as a ~$10,000 loss this year. This is obviously a labor of love for John and his crew and to have a negative cash flow on top of all the volunteering is disappointing. They have started up a new Patreon to try help balance the loss. I’m signed up for a $10 monthly donation and if you want to support one of the longest running iOS conferences I’d love to see you join too.
  • Lunches came in the form of vouchers to visit the local eateries in favor of drab hotel catering which I think worked out great. Getting out of the hotel for some sun is a nice break too. My only real feedback here, would be to extend the lunch break a bit more, since I got the feeling more than a handful were late when returning and it’s not fair for the people doing presentations after lunch break.
  • The sessions themselves broke down into a mix of technical and social/skill topics and there were usually a choice of 3 or 4 per time slot. The fact that there were many hard choices is a good sign for the content’s quality.
  • I did two talks. One was on Running a Meetup and the other on Code Review. The Meetup talk had light attendance, which I kind of expected going in — it’s a niche topic. But, for the people who did come, they seemed to enjoy and I’m looking forward to seeing it hosted online for others. The Code Review talk saw a good crowd and many even stayed well after for discussion in favor of running out to lunch which I took as a good sign.
  • Walking away from the conference I’m very excited to get back to work and try some of these things out (both on current projects and new ideas). I also have a strong feeling to get more into open sourcing my code and in general sharing my work.

My thanks to John and all of the rest of the staff.

I’m Teaching a Half Day iOS Refactoring Workshop in July

When I re-entered the self-employed world last March and launched Zorn Labs LLC one of my main goals was to find a way to continue my education work. The first output of this effort has been workshops, specifically one on Refactoring iOS.

I’ve developed and taught the workshop for a local development studio Tonic Design and am now going to run it publicly.

iOS Refactoring Workshop

Throwing away bad code and writing something new from scratch is both risky and expensive. You need to avoid this temptation and instead learn to master small improvements over time.

Refactoring is the art of improving code without changing user behavior. Adding dedicated refactoring time to your workflow and sprints can pay for itself many times over in both added source code flexibility and application stability.

In this workshop we will review refactoring concepts from a high level and then explore example cases found in many iOS projects. As a group we’ll refactor and discuss the benefits of our changes. We’ll then work on our own (or in pairs) to execute what we’ve learned and then demonstrate the results for the class.

This workshop is targeted at those iOS developers who are getting over the hump of learning iOS and now want to know how to write higher quality iOS code. This workshop is capped at 12 people to make sure there is plenty of time for questions and individual attention.

Tickets for the half day workshop cost $189.00 even (we take care of all the ticketing fees). For more information on the agenda, see the event page.

Local performances of this workshop (and others in development) are available for corporate purchase. Contact us for more information.

Speaking at 360iDev, Come Join Us.

I’m happy to report some recent talk proposals were accepted and I’ll be speaking at 360iDev this August in Denver. I was already going to go to 360iDev regardless of the talks, I’ve heard great things from recent years, so this just makes the week that much more exciting.

360iDev Logo

My Talks:

Overcoming the Stress Surrounding Code Review, for the Betterment of Your Project and Career

Code Review is a practice where before a change is made to a code base, the code is first posted somewhere for peer review and critique. Code Review is an extremely productive way to catch problems before they are delivered to users as well as help individuals mature as programmers. In this talk we’ll explore Code Review by documenting the responsibilities of those involved, the person posting the code, the person (or people) reviewing the code, and then again back to the poster, as they react to the feedback given. In addition to the raw process of these stages we’ll also review the very human side of Code Review using real world stories, the good, the bad and the ugly. We’ll close with more general tips and tools that can help, as well as cover some of the how and why you might want to utilize these practices even in your own solo work. The best audience for this talk are people who are looking to improve their personal or team code processes. Those who attend will leave with very actionable strategies to execute productive code review on their own projects.

Starting, Growing and Running a Successful Developer Meetup

One of the most rewarding aspects of my career has been attending and then helping to run my local Apple developer meetup group. Meetup groups provide great learning opportunities but more importantly they provide great relationship opportunities for its members. In this talk I’ll share the story and lessons learned from running my local CocoaHeads chapter. After a quick review of the benefits and challenges of running a local developer group we’ll jump into actionable items for people starting, growing or running their own group. From defining success, to time expectations, marketing, sponsorship, planning content, tools and more. To close the session we’ll invite a few other group leaders from the audience to the front for a broad question and answer session about your specific issues and concerns. This talk is targeted at those who are running or would like to run a local developer meetup. It may also be helpful to those who attend a current group that needs guidance and/or focus.

If you are an iOS developer you should consider joining us. It’s going to be a great conference. Per CocoaHeads, use the coupon code “cocoacommunity” for 15% off all tickets.

Video: UIKit is Dead, Long Live UIKit!

Philly CocoaHeads held a joint meetup with our Android friends for Philly Tech Week. At said meetup there were a bunch of lightning talks, and I did one.

UIKit is Dead, Long Live UIKit!

With the introduction of Swift and the rise of functional programming ideals in the community, UIKit and its MVC heritage has become a bottleneck for new ideas. This talk speculates how Apple might overcome this in the years to come. Attendee should walk away with a curiosity about the other UI patterns being developed and a resource list to learn more.

UIKit is Dead, Long Live UIKit! from Philly CocoaHeads on Vimeo.

Related Reading:

I actually had a few vocal flubs in the recording (was a little stressed about the 10 minute limit) but figured I’d use the live one anyways since it has more humanity than me speaking to myself in my room. I hope you enjoy!

Meet OwlDeck, a New Mac Presentation App for Programmers and Markdown Geeks.

Today I’m launching the teaser site for my new app, OwlDeck.

OwlDeck is a new macOS presentation tool for programmers and geeks who need to display code and love Markdown.

If you are interested in OwlDeck I’d love for you to signup to its newsletter and email me your thoughts.

If you are interested in some behinds the scene stuff you can checkout the project journal I’ve been keeping over at Rested Experience. I hope to share more now that things are going public and timelines are set.

Really excited to be working on products again. :)

Introducing Zorn Labs LLC

As I alluded to after loosing my job at the end of January, I knew I’d take the majority of February to recover from my neck surgery and then get serious about work in March. We’ll it’s almost the end of March so I figured I’d do an update.

First, welcome Zorn Labs LLC, my new company. It will house my future consulting and product work.

Second, I am still looking for work. My goal is to find something 10-30 hours a week, doing iOS or iOS mentoring. To help express my skill set and goals I’ll point you to the new company site. I would appreciate all friends and followers to help spread the word.

Outside of setting up the new business and website, much of March has been spent towards marketing and planning. I had many lunches and coffees with prospects and friends. I even had a few offers but they sadly weren’t the right fit for me at this time. When I haven’t been marketing I’ve been trying to jumpstart some new web skills, refreshing my HTML5/CSS3 knowledge, getting deeper into Hugo template design for the new Philly CocoaHead website, and experimenting with Elixir and Phoenix.

For those interested in my Mac app project, you can also check out my project journal blog at: http://restedexperience.com. I’ve been trying to update that a little more often with my recent progress.

So that’s my March update. Thanks for the interest! More to come in April! :)

Neck Surgery Recovery Update

My neck surgery on Friday was a success.

It was more complicated than expected (2.5 hours under instead of the planned 45-60 minutes). The cyst had grown much larger than anticipated and was interwoven between lots of muscle and attached itself all over, including my spine. It was removed, unruptured, and the muscles rebuilt to hopefully fill in the void without too much of an indentation.

I have a large line of stitches but the hope is it should heal without too much of a scar. I’ll see the doctor in two weeks for a checkup and have been taking it easy with a lot of bed rest. Overall, the pain has been pretty manageable, the area is mostly just tight feeling.

Cabin fever is totally setting in and I’m looking forward to getting out of the apartment later this week. Plan to do IndyHall one day and then Side Project Saturday with the CocoaHeads.

I know I owe a bunch of people lunch and or happy hour drinks. If you want to get together let me know.

Fever Dreams

While I had hopes of doing more productive things, I ended up spending the last few days in bed fighting off a pretty lousy sinus / chest cold.

Between the medicines and the fever, I don’t think I had more than 90 consecutive minutes of sleep. The dreams were awful too. Not like vivid/scary but it was as if I’m trying to solve an algebra problem and the rules don’t make sense. Sometimes I had these really long dreams and then I’d wake up only to find I was asleep for an hour or so.

Nothing like being sick to help remind you to appreciate the importance of your health.

Anyways, I’m on the mend and taking some antibiotics to help make sure my system is clean for Friday’s neck surgery. I’m hopeful the recovery of that will be easier than this past weekend. I think it should be.

On Thursday we’ve got CocoaHeads! I’ll be there to MC but will probably take it easy at the bar afterwords for obvious reasons.

Finally, I want to take a quick moment to say thanks to everyone who reached out to me regarding my unemployment news from last week. I really appreciate the well wishes and leads. Getting that kind of response really helps put my stress at ease. Thanks so much.

“For the times they are a-changing”

I am no longer an employee of Big Nerd Ranch. The news came down on Monday. I can’t speak to any of the details but suffice to say I am disappointed. I really enjoyed working at BNR. My time there was productive, for my own personal growth as well as that of my students and clients. I wish them well, and continue to recommend them as a good source for iOS education.

So, what’s next for me?

On the immediate horizon, I’m a bit focused on my neck surgery, which is on Feb 10th. Its been scheduled since November. The goal is to remove a large cyst on the back of my neck. I will be put under for this surgery, so tomorrow I have to get a bunch of blood work and X-rays done.

For work, I open to ideas. Generally speaking I’m unlikely to make long term plans and would probably prefer to take on some smaller consulting work. I’d like to steep a bit on my long term options. If you have anyone who might be in need for an experienced iOS or Mac developer, let me know. Thanks for your help.

Rethinking My Music Storage

I’m not a huge music collector, at least not compared to some other people I know. I do have about 150 GBs of music in my iTunes collection — lots of it being video game soundtracks I enjoy listening to while I program.

A few things I have not liked about my historic setup:

  • Because the collection was 150 GB I could not store it on my main computer’s SSD (which was 256 GB in size).
  • iTunes sucks. I don’t want to get into details here but as a music player and organization tool it’s awful.

Some goals for my new setup:

  • I want to get rid of iTunes.
  • I’d like to store my music on Dropbox, preferably in a way where I can control which Music (if any) gets synced to my other Dropbox setups.
  • I have recently become a Spotify member. It’s got a nice collection I feel I can lean on AND it has some tools the player UI to support local files as well as streaming songs which I think will be key.

With all that said, what I’m up to:

First thing, I made a new iTunes library on my desktop and have started re-downloading my old iTunes music purchases. I have lots of music that is still DRM wrapped and these new downloads do not have such DRM.

Next, I’m going to slowly start to put the music into Dropbox. I’ll have a root level Music folder but inside I’m going to split the collection into Rare and Common. Common being for songs that are streamable from Spotify and thus being a folder I can selectively NOT sync on my other computers. The Rare folder will have all of my video game soundtracks and other albums I find to be incomplete or missing on Spotify. As I said, I like how Spotify can bring in local music into playlists and even lets you control the source folders and I’m hopeful this will work nicely.

We’ll see how it goes over the next few weeks. I’d love to hear if anyone else has an exotic setup like this.

Also, next up for a rethink is photos. Again, I’m really not happy with the current Apple solution and am thinking of alternatives. Feedback welcome.