Ash Furrow

Software, Design, Photography

Adulterated Objective-C

There’s been a lot of discussion lately surrounding the efficacy of Swift. Brent Simmons has been writing about his experiences using Swift. As an expert Objective-C developer, his insights are worth paying attention to; he notes that tools at hand when developing Objective-C are either missing in Swift, or clumsy to use. Responder chains, adding functions to objects at runtime, and selector reflection. I suggest you read all his posts.

However, I feel the need to point out that there are a lot of iOS developers out there who don’t use those tools, or may not even be aware of them. Consequently, they may not share Brent Simmons’ frustration at their absence.


Let's Steal Other Developers' Best Ideas

Last week, I was getting some weird behaviour from an Artsy websocket API. The API is written in Scala, a language I’d never used before. With some help from colleagues, I was able to debug the strange behaviour and isolate its cause – but I didn’t want to make any changes on my own. While I’ve wanted to dip my toes further into web development for a long time now, I’ve been really nervous about making a mistake.

Then yesterday happened.


Learning with Side Projects

I’m a professional iOS developer – world class, if you believe my about page. But while I have a very particular set of skills building iOS apps, I want to be more than just an “iOS” developer. I want to be a bit of a polyglot, to explore other communities and languages and frameworks. For fun, but also because it makes me better at my job. Diverse experience helps me identify solutions to problems I’ve seen elsewhere, and being a beginner in other skills helps me empathize with other developers.

My favourite way to branch out of iOS development is to build this site, my blog. I’ve gotten experience in Ruby, Haml, web design, site deployments, CDN configuration, SVG formatting, etc etc etc. What’s really fun is when I get an idea for an improvement to make, and my skills are perfetcly matched for the task.


Building Popular Projects

We’re seeing an explosion in the number of server-side Swift frameworks, which is awesome. The community needs to go in many directions to find out which ideas it should standardize on. Not all of these new libraries will be long-lived: some will fade out while others will become pillars of the server-side Swift community. Which libraries the community centres around won’t depend solely on code quality; it’ll depend heavily on community quality.

So if you’ve recently created a server-side Swift library (or if you want to (and statistically, you probably do)) then I have some suggestions on how to win the server-side Swift library arms race.


Writing Software

Rome wasn’t built in a day, so the saying goes, but it was built. That may not seem impressive until you consider the scope of Roman accomplishments in the context of their limited technology.


Empathetic Civilization

A few months ago, I wrote about normalizing struggle a discussion of failure and a call-to-action for everyone to be more open about that fact that they struggle (because everyone does).

Well, some science happened and it more than validates my viewpoint.


Make Sci-fi Great Again

When I was growing up, Star Trek The Next Generation was in syndication, Voyager was still new, and when I got home from school I could catch the final twenty minutes of Stargate: SG-1. I watched a lot of sci-fi TV growing up, and there was a good variety of it to watch. There were hopeful what-may-be shows like TNG, modern-day romps like SG-1, and exposés on humanity’s undoing like The X-Files. I wasn’t old enough to watch The X-Files and other darker shows, and as a consequence, sci-fi always had a sort of optimism about it.


The Wrong Binary

In a binary, anything is either zero or one. Right? Maybe not.


Letting Things Lapse

When iOS developers ask me for advice on how to get a job, something I often tell them is that they need a presence on the App Store. They need something with their name on it, to show prospective employers that they have the skills and grit to follow-through with an idea, from inception to polish. Having an app, even a simple one, on the App Store demonstrates an ability to ship software, which is what employers are interested in.

I know this because of my experience getting my first few jobs writing iOS software. Having a few apps on the store – simple ones, mind you – really helped me in interviews. I could point and say “look, I built this.” Those apps helped launch my career.

So you can imagine the mixed emotions I have about choosing not to renew my account.


Expectations for Open Source

There’s kind of an unwritten rule in startups, that you pretty much have to follow your employer’s CTO on Twitter. Lucky for me, I have the distinct joy of following dB, the CTO of Artsy, a very thoughtful person, and someone who has thought a lot about open source.

So imagine my surprise when I saw them tweet this.