So, let’s just start with the highlight - I got married 💍.
Danger has been featured in these posts since On Being 26, 5 years ago, where I created an iPad app for her. She’s gone from theatre-buddy to wife over the last 5 years, and it’s been a really fun relationship.
Danger lives in the UK, so a lot of my conference travel has been motivated by our remote-ness. By travelling from NYC to the EU, I could spend some time with Danger back in England, or she could come along to wherever. This made being remote, over the long run, easier.
I spent a lot of time talking with others about how I should ask her to get married in the run up. I know women get asked about the proposal a lot, and I want her to have something great to say for the rest of her life. She was coming over to NYC for 2 weeks, and I had the option to really do anything I wanted with that time.
It was fun, I had spoken at an Instagram/Facebook conference a few weeks earlier and they gave me a picnic set for speaking. So I went with the simplest option - we went for a picnic in Central Park, and I asked her if she wanted to get married.
We spent the next few hours looking for Pokémon in the Park and trying to plan the next few years of our lives together.
Aiming for simplicity, we did our marriage + paperwork as soon as I got back to the UK with plans for something bigger in May 2017.
She’s an awesome lady, and getting married hasn’t really changed us as a couple. We can make more dumb jokes now.
One of the inspirations for the change is that my VISA status has changed from H1B to O-1. The H1B meant Danger could come over to NYC with me, but would have forced her to either study or volunteer full time. The O-1 means that she could work in NYC, and that means independence.
I expect 2017 will be dominated by helping her move, and helping her get settled and find her feet. This should be quite a lot of fun, I’ve reduced a lot of my larger responsibilities and am continuing in that direction so that we can start with Danger having a great introduction to NYC. Instead of me always on a laptop working on some community project.
2016, what a year though. The geo-political scene is slowly turning on it’s head, it turns out thirty-year olds really do have different problems. As a British citizen, watching Brexit happen has been deeply troubling, and as an immigrant in America, I’ll be living a country that elected a President like Trump.
I don’t have much to add to that global conversation, but I can understand why so many people are so angry.
Due to this, a lot of my non-fiction reading has been around three main topics: Automation, Global Warming and Politics.
The highlights on each topic:
I am inspired by What can a technologist do about climate change? from Brett Victor to start looking at larger patterns. Which feels difficult when the problems seem too big and abstract. So far though, this is mostly at data collection stage. Maybe this sort of stuff just isn’t important enough for me, I get so angry about privacy and talk about crypto, but I’ve yet to make any larger contributions.
Am I just not at a point where I feel like those kind of activities are as simple as forking a repo and making a quick Pull Request? What do I need to change to do that?
On Being 29 opened with a long discussion on the Open Source iOS community and my feelings over the year. The fracture never healed for me, and not much has changed on that community front. Apple are still working on something which could hopefully replace CocoaPods as the core community build infrastructure, which is 👍.
For people who don’t get the tech community, I donate the majority of my free time to building and maintaining infrastructure that makes it significantly easier to build iOS apps. I’ve done this for the last 4 years - it’s a gratifying, but tiring, position, there’s a handful of volunteers working on a project used by hundreds of thousands of people a month.
It’s hard to remember the specifics of why I wrote this, but it was around the CocoaPods 1.0 launch where I was turning down a lot of offers to do fun things in order to ship a lot of software. It worried Danger.
Personally I’ll be glad to see Apple take over, CocoaPods is a huge community project and a lot of people rely on it. 1.5 million apps (not all published) have used CocoaPods to improve. However, knowing that it’s a project which will be replaced by an official version means that there’s less incentive to improve. This is totally fine, but as it’s a community project - how does CocoaPods keeps the lights on once most people have migrated?
This is a predicament presented in Roads and Bridges, a paper on community programming infrastructure and dichotomy of so many relying on so few. There are a few answers to keeping the lights on, but I don’t have the energy or the will to start those ( as they are arguably more time consuming than keeping the lights on ) perhaps someone else will take that mantle.
The downside of knowing the project will be replaced is that people eventually stop contributing, which is normal, but new people don’t necessarily take their place at the same rate. People will fix small annoyances, but it’s harder for the project to keep up to date or do anything new.
This year I joined the JavaScript community.
One of my favourite differences between the JavaScript community and the iOS community is the feeling of being able to build and fix your own problems. You can work on an entirely open stack, use open tools and can help out wherever you want..
JavaScript is basically the primordial soup of programming, which was fascinating to watch - and as a contributor, this makes it easy to make a big impact. It feels like so many people are focusing on building the next big thing. This leaves a lot of gaps where you can put some time into bridging concepts and really making serious productivity improvements.
It’s been 4 months since I started taking JavaScript seriously, and I’ve done quite a lot of useful work in the space. I’ve put considerable time into three main areas of tooling:
The TLDR: a lot of the tooling has so much potential. The fact that everything is open means that they all kind of work together and it’s up to you to figure out how to make the jigsaw of small pieces fit. I’ve found a lot of places where a tiny bit of effort can really make a strong difference to the editing experience. I’ve written a lot about this on the Artsy blog so it’s exploration here should be short.
In summary, I’d have never expected a year ago to be spending so much time writing and improving JavaScript. It feels really good to be working on an entirely open platform, which doesn’t feel like doing work for a mega-corp for free.
This is because Alloy put forward that React Native, should be the way in which Artsy handles mobile. It’s hard to overstate the change that this is. I wanted to be a Mac developer since I started to program, I have written Objective-C and native apps for a decade and this year that changed.
The reason for this is a general discomfort with the current status-quo around building apps. It does not feel like it’s in Apple’s interests to change either. Long explanation for that is here:
Mobile Era 2016 - Orta Therox: "Building outside of the sandbox" from Mobile Era.
I came into this with relatively little expectation and was blown away. I’m afraid by me saying this I’ve raised that bar, but a lot of people have now read it in Artsy and love it.
Ash introduced me to Steven Universe, and I binge watched it over the course of a month and re-watched it with Danger a second time. It’s a much deeper show than the first 10 episodes initially imply. I think Ash covered a lot of my feelings about it really well.
Westworld is the new Game of Thrones, it’s permeated culture so much that you probably already know if you like it. Danger + I loved it.
Dave and I bought a full VR setup at our NYC apartment, it is really impressive. For the first few months I used to spend 30 minutes each day playing Audio Shield in the morning. We’ve tried most VR games, and I’ve kept on top of what’s going on in the scene.
VR is obviously at very early adopters stage, but I can’t help feeling that serious adoption just won’t happen. People don’t like the idea of being totally enclosed and ignoring all external input, when I get out of being in VR into a dark room - it feels really dystopian. When I demo it to others though, they tend to be impressed on the shorter term.
As we have a full VR setup at home, I get asked about what Porn is like on it. Porn isn’t really a thing on VR, it’s pretty bad. They tend to be 360 videos, which I can only image are really awkward to film. The most interesting aspect to me is that PornHub is producing their own content. It’s a bit like when Netflix started making their own series. Could bring a lot of changes to the industry.
I played TF2 for years. I played in leagues back when I was 21/22 but once I moved to Huddersfield (and left my Windows computer behind) I never really got back into these kinds of games. Overwatch changed that. It offered a more fresh, modern take on the root concept of TF2 with a lot less machoism.
I’ve really been enjoying Overwatch, I can take it seriously when I need to - and not when I don’t. The genre of “Hero Shooter” is great, because I prefer to play as a supporting character. I love being healer classes, standing slightly behind making sure everyone else is in optimum setup. TF2 used to be the only game that I could really do that in, now there’s also Overwatch.
Twitch is the main “TV” channel in our apartment, and so is worth a mention. In the process of writing this, I have watched a full run through of Final Fantasy, Crash Bandicoot, Shining Force II and a lot of Overwatch and The Binding of Isaac.
I really enjoy watching people put the time into mastering games, I don’t make the time anymore so being able to do something with it on in the background is nice. It’s a bit like slow TV.
Definitely the most meta game I’ve played, and Danger’s favourite game this year. There was this one point that really started to screw with my “is this a game?” perception, that I definitely won’t talk about.
Other highlights: XCOM2, Splatoon, Clustertruck
I’m now 5 years in to Artsy. When I joined we could fit on two tables, now we fit on 3 floors and 4 HQs. The company continues to grow, our scope continues to increase and the problems we face have changed.
This was the year that we wrapped up Open Source by Default for Artsy, almost every project that should be Open Source is now Open. It’s awesome being able to always show your true work, and to be able to publicly show your struggles.
Artsy “the product” is maturing, a lot of the fundamental pieces required to pull off an idea like Artsy are set and work. This is awesome, because it gives us the chance to start thinking a bit further ahead than a quarter or two. I’ve mentioned over the years the new people I’ve helped hire for the mobile team, and last year we hired Maxim - she stands out as a solid engineer, a great speaker and a real product visionary.
I stopped being a manager this year, with that responsibility mostly falling to Alloy. He’s always had more focus on what needs to be built than I have. In leau of the managerial responsibilities, I’ve picked up a lot of janitorial tasks throughout Artsy - jumping between different projects depending on what seems to need engineering energy the most. This suits my personality better, and makes it easier to have the breaks from work I am expecting this year. That is, my honeymoon and a month or two out in America when Danger lands in 2017.
The Artsy dev team has basically stayed the same size for the last 2 years, roughly ~20 - 2017 is going to be the first year in a while where we substantially grow. So if you’re interested in working on some really avante-garde JavaScript stuff - the next few months is a great time to apply to Artsy.
I love working with the people I get to at Artsy, and on the projects that I think matter. dB continues to push me into spaces I’m uncomfortable with, and I’m 👍 with that.
Artsy Offsite 2016 by Orta Therox on Exposure
I helped ship a lot of large scale projects this year.
For Artsy, the biggest singular project I helped ship this year was Live Auctions on iOS.
I helped get CocoaPods 1.0 out of the door, it’s strange to think that this was this year. It feels so long ago, and it’s been discussed for so long. It is a statement of “these are our last major breaking changes” which I think Segiddins does a great job explaining.
Segiddins did the majority of the 1.0 work there, but I matched it by taking Alloy’s work on an integrated CocoaPods environment and turned it into a beautiful elegant Mac app. I’m super proud of how it turned out, it’s a simple codebase which does some really tricky things elegantly.
I do somewhere between 10-20 code reviews a day - it’s an important part of any modern software development, and essential if you are doing Open Source. I was feeling tension as the Artsy Mobile team grew as we added process to handle growth specifically around code review.
We wanted to add some pretty simple steps, like keeping a CHANGELOG and applying formatting linters. Having humans checking these adds undue pressure to both people who care, and those who don’t. In early 2015, I pitched we needed this, then tried to pursuade others to do it.
I failed, so Danger was started in September 2015, but didn’t get a mention last year. This makes sense, I may have started the project then, but work only really started in January 2016 when Felix Krause started to help after a trip to NYC.
Explaining Danger, the software projects, is fun. I’ve introduced a lot of confusing ambiguity in the project that makes it fun to explain. The name alone is confusing but all the names Danger and I choose were not free, and Danger was free. It also really fit the project concept. To finalize the confusion, the “she” anthropromophism muddies the discussion even further.
Danger started out solving one specific problem, and eventually became useful in many, many places. I built the start of Danger out of the the CocoaPods codebase in Ruby, and as we re-defined what Artsy mobile looked like I started to sense that I needed a version that could run JavaScript. So I made a fork which runs JavaScript - this lasted for a little bit, but felt uncanny valley.
So I started a fresh re-write of Danger in JavaScript. I didn’t have much experience shipping NPM modules, so it gave me the chance to really figure out the kinks and get used to it.
Both projects are doing really well, the Ruby version has had help from so many people and is now a solid mature codebase. The JavaScript project has only just got to a point where it works for Artsy, so ease for adoption elsewhere isn’t a priority yet.
Knowing that Danger is something that will continue to take years to build, maintain and keep running, I experimented with writing down my long-term vision for all of the related projects:
I’m trying to get Peril feature complete before Danger arrives in NYC.
This year I’ve been to: Milan, Oslo, Stockholm, Geneva, Zurich, Budapest, San Francisco, Novosirbirsk, Moscow and the Peak District. It’s less than last year, which was less than 2014. I expect to do even less in 2017.
Travelling to speak is a fun opportunity, and I’ve used it to spend some time with Danger too. It’s a large part of what has made our long distance relationship work. As well as being comfortable to work remotely for Artsy.
One of the biggest highlights was a trip to Novosibirsk in Siberia with Danger. It was the last time I was nervous outside of asking Danger to marry me in 2016. I was the opening speaker, with a translator, to an audience of thousands. I didn’t even get speaker’s notes - hah! It all went really well though, and Matvey + crew were an amazing bunch.
We then took the Trans-Siberian railway to Moscow, this is one of those “on everyone’s bucket list” things that you don’t get the chance to do without travelling just for it. It was a 4 day train ride, where you can get off maybe once a day for an hour or two.
I used the time to write a quick book on iOS Testing and to play a lot of card games with Danger. Our favourite is Monopoly Deal.
RUSSIA by Orta Therox on Exposure
I have long ago given up on 5-year plans. 2016 was a statement that the status-quo is changing - so any attempt at predictions feels like a waste of time. I still feel like every year has been my best year. So here’s to being 31.