2019, whoah - hi there. So, I’m getting things back on track. I felt like being 32 was a passive year which continued a generally downward curve. This year I worked hard to undo that and to try start trending upwards. I succeeded at that. Self-care is important in a period of uncertainty.
This write-up ended up being split apart because of the sheer amount of writing I have around my motivations for changing my job. So if you’re interested in that, it’s lives off in it’s own space here
Danger says she’s never really had to worry about me before last year. I’m a pretty stoic chap but I guess it leaks when I’m down for such a long time. I choose to define myself through what I create digitally, and through the community work I do, this tends to be focused through the lens of what’s useful to my work.
I think of the above as a virtuous cycle of:
I need x for work" → "With a bit more work x can be useful for everyone" → "Make x sustainable and discover a larger pattern of y" → "I need y for work"` → etc
Which leads to: Work gets better stuff, I solve problems I enjoy working on while doing good community work.
This worked well until it didn’t. You can read more on the ins and outs of why I left Artsy and join Microsoft.
For the last two years, I’d taken a break from conference speaking. This is something dear to my heart, but tension at Artsy and a desire to help Danger get settled to New York meant I politely declined all speaking opportunities which required travel. As I started up at Microsoft, and as Danger had a stable friend group and some roots then it felt like a good time to start back up.
To force myself to get back into the spotlight, and to get back into the teaching via speaking. I agreed to talk at React Native EU and the GraphQL Summit where I didn’t talk about my work on TypeScript. It was great to meet whole new sets of GitHub avatars in real life.
I was super lucky to have an amazing offer speaking thrown in my lap in my second month at Microsoft. I was offered the chance to speak at BrazilJS on very late notice. I’ve had enough practice and can make a solid talk in about a week if I need to. Most of that time tends to be about trying to see a problem from every angle before diving into the details.
Brazil holds a special place in my heart, my first programming job was in Brazil - in fact, I started my annual write-ups a decade ago when I was leaving that job at 23.
I flew out Porto Alegre and ended up getting stuck in Panama for a day. I got the chance to visit the Panama canal and learned about it’s complicated history. On arrival in Brazil I hung out with the lovliest ladies who helped me get my portuguese back to kinda-mostly-conversational-if-you-speak-to-me-in-english.
The conference BrazilJS was very cool, run by a bunch of punks with a real inclusive vision - if I ever tried to do something bigger than the last two conferences I ran: I’d want it to be like Brazil JS. My talk went well and on my way back we stopped at Sao Paulo to attend some workshops and TypeScript meetups.
I also gave a remote talk at ts-conf.it on why betting on TypeScript seemed like a pretty legit option.
Late last year GitHub announced a project which sherlocked a major side-project of mine, Peril. I had been working on Peril for about 2 years by that point. Last year, after the announcement, I reflected on that as being a mixed bag:
Sometimes, you just get sherlocked.
I can be both happy and sad about it.
I got a lot of use from Peril in Artsy and in my own long-tail open source stuff. After that announcement though, I slowed down my contributions and simply aimed to make Peril stable, solid and tested. Peril had been an escape valve for me. Prior to interviewing, I explored what leaving Artsy to work on Peril would look like. I think I could have got enough people to pay that I could have lived in the UK and just done some good work on a small scale for a while. Obviously, that’s not how it turned out, but it was an option.
I didn’t replace that Peril-shaped hole with a new big idea. Useful big ideas only come every few years to me, so instead I contributed by falling back to my design skills instead. I helped out on the design side a bunch for a series of large OSS projects React Native, Jest and GraphQL. They’re different scopes, but still have a pretty big impact for my time. Plus design isn’t a skill you see too often in OSS contributors, so I can really help out a team by just focusing on that aspect.
This year I shipped a game. Like a reasonable chunk of last generation’s programmers I got into programming by successively building more and more complex games. First, I started with visual klik & play-style projects where you declare how things can interact. Then once the scale of my ideas grew, so did the amount of control I needed. This led to a programming language called BYOND. My years in that community taught me how to program, and how to positively interact on a forum with internet randos.
While I built enough games in my teens, it became obvious to me that the underlaying tools to create games held more of an interest to me. Turned out I was more of a toolmaker than a experience generator. I’d use that passion when exploring new programming eco-systems. For example, when I explored building for the iPhone after years of building for the Mac, my first steps was to an game engine for teaching how to make text adventure games. See on being 25. When the programming language Swift came out, I learned the language by porting that engine to the language.
Present day Orta has less time for doing cool but frivolous things, which is a shame sometimes. Nowadays I tend to learn only for the sake for something very specific. I feel guilty that I’m not applying my skills in a more constructive way. That’s just one of my core drives, and I’m ok with this.
I never got back to building games until this year. Getting started was a series of happy coincidences. I started playing handball with an iOS games dev (Zach Gage) who took his dog to the same dog socialization classes where we took our dog Murphy (see 32).
I had mentioned that I was taking a month between jobs, and didn’t really want to hang out at my Manhattan home without a desk. He offered to let me co-work at his place, I took up his offer. We joked around that the world needs more battle royales, and that flappy bird was a ripe target. I had planned to take the month to recreate my website, but I never really got around to that. I wrapped up some of the open source design work I had been doing, and started making a few sketch files of what a multiplayer Flappy Bird would look like.
Lucky for me, Em Lazer-Walker was coming to NYC, and planned to take some time to crash at my house. She also was in-between jobs (also going to Microsoft) and had extensive experience building games. She loved the idea and we went all in on it. We started it in mid-May and finished it in mid-July.
If you don’t know Flappy Bird or what a Battle Royale is:
Flappy Bird is an excruciatingly hard game where you take a bird through a series of pipes. The game was super popular for about 2 weeks and the author took the game down and said that he didn’t want to be causing the world this much pain. A bold move when it was making ~30k a day.
Battle Royale is a genre of shooter-like games, like the movie of the same name, a Battle Royale is a game where there are many players and you try to eliminate each other until eventually there’s only one person or team left. Fortnite is the most prominent example of a battle royale..
Flappy Royale is a mix of a really difficult game with the mechanics of seeing 99 other people also trying to get through the game. You can’t eliminate other people, but when the core game is that hard you don’t need to - most players in most games have died within ~2 seconds. Intense right?
There are a few highlights from working on Flappy Royale:
Getting to work with my wife. Danger typically is more a namesake than a contributor to my work, but for Flappy Royale she made a large amount of our art assets. Including some of my favourite characters. High five to the Happy Chappo who also made some great work!
Reading all the reviews! These were websites I regularly read. I had to sit down outside to read this Kotaku one. I basically told everyone I met that day out in Seattle.
The panic once we did the math to figure out how much Flappy Royale could cost us if the traffic didn’t go down. I genuinely froze for a full day, and didn’t feel comfortable making any changes. Luckily, Em took over and sorted it out bringing the costs down from thousands per month to being in the free tier (now that we’re on the tail end of traffic.)
Eventually it all calmed down. Considering the numbers ( about 20MM games played, 200,000 players in 3 months ) it’s a bit surprising that it didn’t come anywhere close to breaking even (skipping our own wages). We didn’t really expect it to make Flappy millions, but the ad revenue got so low, so quickly that it made more sense to remove the more annoying ads and just say “those aren’t worth making our art more commercial”.
When we talked to an ad distributor about it, they said that Flappy Royale just wasn’t popular enough in a wealthy audiences (i.e. not big in japan :D). We weren’t relying on the money, but it would have been cool to have earned enough money from Flappy Royale to be worth signing all the W3 tax forms with ad-networks.
That made coming back to keep doing updates not feel worth it; it’s a trade-off on doing TypeScript work at TypeScript scale vs a fun game in a crowded scene. It’s awesome we did it, I’m glad we got it off the ground.
On the subject of cute animals, we’ve been looking after a dog for the last year. We helped a friend look ofter their dog last year for a couple of weeks while they were out of town, and circumstances made it hard for them to continue looking after him. We’ve been fostering him for the best part of a year now, basically being a holding place for the dog until he gets to his new owner in the U.K.
It’s been a good year, he’s a good boy
We moved last year, and we moved again this year. This was triggered by two things, our landlord screwed us over and I joined Microsoft and would work remote.
The first one is a long-one, but TLDR: They never signed our lease because it said we would have a dog. So, we couldn’t have a dog in our apartment even though we specifically mentioned it multiple times during the signing process, and y’know it was in our lease. This was a long-running problem that didn’t have an obvious end. When it became obvious that I was going to work remote. That added some pressure to get stuff moving.
Moving house is expensive in New York, so we weren’t particularly excited to have to move apartments twice in a year but I couldn’t work full-time from a living room. I needed a space to work, that could either be a co-working space or at home. I could probably get Microsoft to pay for a co-working space, but I’d had great experiences at home before, and I can make myself an office I can be proud of. I did that, this is easily the best working environments I’ve ever had.
We moved from Manhattan to Brooklyn, it’s still super expensive, but it’s very spacious.
I decided I wanted to understand how folks did the gym. I bought a membership, but mostly just ran so when @alloy stayed at my house at the start of the year, I asked him to show me the ropes and by doing it every day I felt reasonably competent. Unfortunately the closest gym was pretty far from our new place, so instead at our Brookyln apartment I have some sets of weights and a bowflex.
I should do it more often, but it’s good start.
This year I focused on fixing up my teeth, having been real bad at brushing my teeth in my youth - it really started to catch up to me and eventually at 27 I got a bad enough toothache to provide sufficient inspiration to work on it. This year I had dental surgery 5 times, removing a bunch of teeth and setting up permanent caps and replacements. It was some pretty rough days, but now that’s almost all over.
I’d like to try devote next year to fixing my posture.
2 and a bit years into Danger in NYC, she’s reasonably settled. Not 100% sold, but with a social friend group or two. She recently wrapped up work at dog training facility and is exploring what to do next. She’s currently helping out a friend who is starting up a new business, I think she’ll do a good job.
While last year I had one big mega-game (Destiny 2) as a non-technical side-project, I dropped that at that the start of this year as having gotten “far enough.” I had completed every raid that was available, and that sense of FOMO I had about understanding what it looks like to participate in those style of games had gone.
I swapped it out for a really exploitive Gacha-style mobile game. I skipped on previous toxic-ish mobile/social games like Farmville, or Clash of Titans but thought it would be worth trying to give the idea a shot once Nintendo released one of these games of its own. So, I’ve been playing Dragalia Lost, and it’s pretty good.
Any game where your IRL time is a currency is bound to have flaws but it’s where the market for large-scale mobile games is today, and so it felt worth trying to understand the mechanics. It’s weird because this is a game where you can basically let it auto-play for the “game” and all you really do is the inventory management. It’s basically only paperwork. It does mean you can play it at the same time as other games though.
This is the first year where playing co-op with Danger became a thing, we have always played games together - treating it a bit like an interactive movie which I controlled and we would make decisions together. Instead I searched for games where we could both play at the same time, or ones where Danger could be in charge and I would be a patient spectator.
Having played the previous Kingdom games, I knew what I was getting into - a slow and beautiful side-scrolling RTS where we both can slowly build out a cool castle and defend. Very low on twitch mechanics, just a lot of horse riding and occasionally dropping coins in the right place.
I’m pretty sure I learned how to handle 3D games through Spyro, and I wanted that experience for Danger. We got through quite a lot of it before Danger started to bore of it and we moved on to other things
A dumb-cute meta game where your goal is to manipulate the rules of the game to eventually win. It’s hard to describe, but the trailer does a great job.
Super dumb but fun.
A chill exercise-ish game that we compete on. Danger always wins. It’s been a good way to de-clam up.
Danger-led our run through the dungeons of Hyrule.
We learned quite a lot from watching this video on another couple where someone teaches their partner how to play games, and more importantly - what is the vocabulary and language of games?
Aside from sharing games, I’ve enjoyed:
I was just smart enough to kinda get Lost, but I also watched it as it came out and it never really clicked. Re-watching it now, I really enjoy it’s structures and pacing. It’s a well-thought out show and even in the contemporary golden age of long-form video media - it can stand its ground.
This game really just came out of the blue for me. I saw @NeoNacho tweet about it, then a few days later when I was trying out the new Epic Games store I spotted it and figured it must be interesting. A few hours into it, I discovered that it supported Ray Tracing and bought a new graphics card to give it a try.
The game is stunning. They did some amazing work with architecture and lighting.
Red Dead Redemption 2
I’ve never really had strong feelings for open-world games, they tend to struggle on narrative and instead rely on the player making their own fun and I don’t really make much time for that. Red Dead Redemption 2 has been a bit of an odd-ball there. At first I really wasn’t sure about the game, I described it to Danger as a horse-riding simulator with 5 minutes of game every 30 minutes of story. Turns out I just didn’t get what they were trying to do.
I left a 4 hour YouTube video about Red Dead Redemption 2 on in the background (until it sounded like spoilers) as I started work on these articles, and started to grok what the western genre is and why Red Dead Redemption 2 doesn’t play like normal games. It’s given me a greater appreciation for it, and so I’m taking it slow.
How to Hide an Empire: A History of the Greater United States is a great book I picked up that helped me to understand American history a lot better than the traditional, simple, tale everyone is told.
Our Magnificent Bastard Tongue - this was a great dive into one explanation on why English is such a mongrel language. The author is the narrator, and he has both a chip on his shoulder and laughs at his own dad jokes. I loved it. Ash loved it too.
Looking at my Audible library, I now have an obscene amount of books to read which I’ve already bought. I don’t really leave the house in the way that a commute forced me to do, so now it’s harder to make book time. Need to think about how/if I can improve that. Maybe when working out in my home gym?
I’m generally less social now that I work remote, and have a quieter team in general. To trade that off, I’ve done more structured fun things. A few of us run a monthly-ish board game night, where we try invite 2-3 different folks to play a few games. This has been fun! We’ve also got a place big enough to do parties, so we’ve hosted a house warming and an upcoming birthday house party.
I’ve got enough space for 2 other people to work comfortably in my office, so I’ve had people co-work at my place occasionally and that’s been good fun. Finally, having Danger around during the day has been nice - I have someone to chat to occasionally and it’s always great to be able to make a tea for two.
Back in 2012 I started being mostly vegetarian based on the recommendations from Michael Pollan, when I heard he was writing a book on how psychedelics are wasted on the youth, I figured I’d give the book and then psychedelics a shot. I tried a few different dosages of LSD to explore whether the dissociative effects would provide insight into my question of whether I should leave my job. Hey, at least I came in with some kind of goal.
That goal didn’t really pan out too well, but I had a good time trying it, going through ego-death and then re-building my id incrementally was an experience I wouldn’t trade. I just came in with misguided intentions. It was fun, I’d recommend it. Hopefully it will become more legal sometime soon.
My father is an old man. I get my chill from him. He’s starting to get older and frailer, which is a shame. He’s occasionally having strokes, and it feels a bit sucky being so far away most of the time.
I’ve booked quite a lot of time in the UK over winterval to spend some time in the UK.
I decided to make pretty drastic life changes this year to stop the downward trend documented in these last 2 writeups.
I can’t change Brexit or American Politics, and I’ve not put any effort into Climate Change. If I couldn’t harness my anger at the surveillance state when I was 29 to change my focus, I’m not sure I have it in me to take on the current major geopolitical changes. I expect to focus on programming ecosystems for a long time.
I had no engineering goals in 2019. I only really have one engineering-ish goal for 2020 and that is to be a competent compiler engineer. I want to use my OSS time to explore how people learn TypeScript (you can read my 6 month review here) which I think will effectively kill the desire to do anything outside of that sphere.
We’re getting back on track.