Ash Furrow


Software, Design, Photography

Securing a BitTorrent Sync EC2 Instance

Dropbox is a jewel of the Y-Combinator industrial complex: a successful company that provides software as a service to ordinary people. They even allegedly turned down an acquisition offer from Steve Jobs. Their success is no small feat, but sadly it appears that they had to make a deal with the devil to achieve so much.

From my perspective, the company has been acting suspiciously for a while. Appointing George W. Bush’s Secretary of State to their Board was a big red flag. It inspired a whole Drop Dropbox movement. I’ve been uneasy about Dropbox, but when they announced they’d be integrating in with my operating system’s kernel, I decided to move away from them.

Read more...


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.

Read more...


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.

Read more...


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.

Read more...


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.

Read more...


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.

Read more...


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.

Read more...


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.

Read more...


The Wrong Binary

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

Read more...


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.

Read more...