Choong Deng Xiang

Year in Review 2022

“Normal” returned for me, but I bit off a bit more than I could chew.


I worked like an absolute dog. After a bunch of preparation it was time to move our existing customers to the version of CoverageBook. New customers have been using happily since August.

  • Over 2,000 customers.
  • Millions of bits of coverage.
  • A $6K/month database crying.


We struggled with high write volumes causing long-delayed VACUUMs effectively blocking the simple (indexed) SELECTs we were trying to do. Eventually I fiddled with the settings, inexpertly, getting the database to at least make the migration possible.

During the peak of the migration I ended up doing an incredibly busy (busiest ever?) day of support with many people responding negatively to the change. Not super-great for my motivation.

Once we’d launched, there began the six-month-long “unfudging” project. There was a vocal 10% of folks for whom we’d missed a few things, the features we’d left out so we could ship were the ones they needed most of all. And we would hear. Over and over.

This was the dispiriting part. It’s easy to see the trial-to-paid rate go up and see the CSAT scores improve, but the real people you encounter through support are mostly complaining!

We also had some performance issues that our biggest customers began to struggle with. Most of these are ameliorated and we’ll be working on these sorts of things as we adjust our infrastructure design to support how our users are really using the thing.

Whilst the migration continued we also began the long (and tortuous!) process of due diligence for selling AnswerThePublic.

A good number of late night calls, but one of the purchasing team enjoyed the “Gary and Andy show” enough to suggest we get our own YouTube channel. It’s possible our particular combination of irreverence but also “winging it with style” is a little unusual.

Released tickets for Brighton Ruby in four tranches. They sold out in half an hour each time. My COVID-related fears that folks wouldn’t come out (which lead to booking a smaller/cheaper venue) were completely unfounded. So much appetite for primates seeing other primates.


We filmed a (very cool) real advert to replace the video that Gary knocked together in half an hour that has sat on the homepage for the last six years of the company.

It had to deliver the same message and articulation of the pain we solve for people, but have actual production values that demonstrate the slickness of the product we’ve built.

It was super-fun to attend the filming with Stef and Stella, I even had a runner get me a coffee. I’m very media.

The feedback we’ve had on the video itself—including folks the social platform targeted inaccurately!—plus the additional media has been terrific. The message isn’t that different from the original video, it’s just four thousand times more professional. A testament to Gary, Stella & Stef as well as the talented folks we hired to write, direct & act in it.


ATP Sold!

A fond farewell to our second product. Bittersweet, there were definitely things we could’ve done to keep growing the business, but we had to balance the the sanity of our team!

After the operations, and honestly the occasional planning of future features, went away it was a weight lifted. Plus it was a good way for the original owners of the Propellernet business to realise some benefit of their investment in a product team and to reward folks from the early days of their business.

I thought I’d miss it more, but it just disappeared from my mind. I’m proud of the folks who in teh team who contributed to make it the success it was, but I don’t miss PagerDuty alerts on a Wednesday night.

Shame they removed Bodhi, our main character robot, from the homepage in favour of Neil though. I guess double down on the iconclast SEO personality?


The major late Spring was returning to the US to speak at RailsConf in Portland, with my colleague Emma. Caught up with old #rubyfriends. Made some new ones. Battled the remaining overlapping border and conference COVID restrictions!

I was nervous about the Mrs Triggs talk. I’d got reviews from a bunch of kind community folks—Nadia, Jemma, Emma B & Vaidehi—but I wasn’t sure how it would land or if it would work.

It’s a bit of a line to walk for a middle-aged, middle class, white guy to stand on a stage and lecture an audience on the systematic minimisation of the contributions of everyone who doesn’t look like him. In my defence, I do acknowledge it in the talk.

It went down really well, although it ended up preaching to ”the choir” a little bit as the audience self-selected in the multi-track. It’s a talk that works best when some proportion of the audience are challenged.

Nice things folks said:

  • “The Shakespeare of Keynote animation”
  • “Should have been a keynote”
  • “Everyone needs to book him and make this talk part of your onboarding for new engineers at your company”
  • “I felt so seen by Andy’s talk”
  • ”Funny, insightful, educational and motivating. Plus the perfect seasoning of ‘dickhead’ and ‘wanker’.”

Enjoyed Portland by eating bagels, and hanging out with good folks like Vaidehi, Allison, Andrew, Aaron & Colleen and the Podia crew.

The last day before I flew out I was lucky to spend a bunch of time hanging out with Eileen (on her birthday!) and for the first time and extended amount of time with Aaron. A lovely day.


Brighton Ruby returned! Such a relief to be back amongst the Ruby community in the UK.

The day went well, personal highlight was Emma’s talk—you genuinely had to be in the room as we didn’t record it.

The smaller venue was a little squishy and the viewing angles in the room were a little acute, but the staff and organisation were delightful. Great to be back on the horse.

If only there wasn’t a major (tricky to resolve) production incident with our SSL certificate for 70% of the day. Ah well.


After Brighton Ruby and RailsConf, I had a week’s holiday in the UK and toward the end of the week I came up with, coded and shipped the site for First RubyFriend.

The programme’s been a huge success, the initial tweet is by far the most popular thing I’ve ever posted on the internet and we’re looking at nearly 500 mentors and over 300 applicants. And I’ve matched most of them by hand. Only the writing of this article is stopping me executing on the January batch.

It’s a massive pain to run, put together as it is through spit, string, spreadsheets, manual geographical matching and ConvertKit. I need to automate it more this year. But it’s manageable.


Was best man for my brother’s long awaited wedding. A lovely day. Bicester Village came into it’s own as I was able to exactly replace the Reiss shirt the shitty AirBnb iron ruined.

Delightful trip in Slovenia. Like if Austria & Italy had a baby. Wine country, walking into Italy for ice cream, fish, pizza, coffee, farming hills, accidental six hour hikes, glorious mountain lakes, VW Camper van, fortified coastal cities.

Every other day we drove (a terrifyingly shiny and new hire car) to a new amazing place and explored. Got to catch up with Tadej and his new tiny human when we visited the capital.


CoverageBook went from strength to strength over the summer as we polished off the last remaining niggles from the migration and began to round out the product.

Failed to get a seat on the RubyCentral board. Some good folks chosen though, although the recruitment process was somewhat extended.


The major event in October was reprising my Mrs Triggs talk as a keynote for the 700 folks attending Euruko in Helsinki. I’d imagined it would be a lot smaller, so I was grateful to know that the talk “worked” so I could concentrate on the delivery and throwing together some bonus fun slides at the beginning.

Helsinki was the lovely northern European city I’d imagined, I managed to get out on the day I landed and go for a gorgeous sunset run in the cold, before the rain set in for my remaining stay.

The event was run extremely well by Matias and team particularly given its size. His relief at finally handing it over to the folks from Vilnius after holding the Euruko gong for the pandemic years radiated form the stage!

Added bonus was getting to hang out properly with the Shopify folks (Ufuk, Jemma, Chris, Mabel, Stan, Jean et al.) and Adarsh who I’d only met briefly at RailsConf.


The accidental conference in Providence, Rhode Island. RubyConf mini.

I’d spoken to Jemma at Brighton about the ”Texas” issue. A bunch of folks didn’t feel good, in some cases safe and welcome, in Houston for RubyConf. Now while this wouldn’t be an issue for a holiday, it felt wrong that a major professional event was a no-go area for folks in the community. So Jemma wanted to put on an event in Providence as an alternative, I signed up to offer what advice I could and we badgered RubyCentral to make it happen; removing the individual financial liability for Jemma as we did so.

I flew into Boston and I spent a marvellous four days running a pretty RubyConf-ish event, but with some of the small feeling of a regional conference. Monday we worked on the physical preparation swag and the last minute organisation you can only do on the ground.

Working with Jemma & Emily (ably assisted by Maple) on this was one of the proudest and most fulfilling professional experiences of my life. Mostly due to my proximity to these generous, intelligent, thoughtful women. The space we made for folks to come to a “real” RubyConf and feel safe and supported was incredibly soul nourishing.

I found the masking personally annoying in addition to the straighforward (and successful!) testing regimen. As a middle-of-the-road European observing the post-acute-pandemic differences in social norms between the US and us is probably a fantastic PhD thesis for someone! It was a small price to pay for the comfort of attendees with Thanksgivings to go to the following week.

Talks were great, personal highlight was seeing Nadia nail her Dee-bug keynote that I know she’d struggled to hone in the weeks prior. Vitally useful workshop from Adam, Chelsea & Sarah on running internships for junior folks. Fun podcast panel and gameshow from Drew.

Even managed the conference 5k during which I trailed Jemma as she powered around.

Back in the UK we began to seriously hire a couple of post-bootcamp graduates as part of my plan to work out what our community can do for new Rubyists. Offers were made in early December, Olivia & Oliver start with us in January.


Early December brought the sad news of the death of Chris Seaton. We’d been in touch over the years (and he’d attended a few Brighton Rubys) but this was the first year I’d had the chance to spend some time with him. I saw him in Brighton, Helsinki & Providence to have a beer with, it seems unreal.

Aaron knew him better and wrote beautifully about his contribution to the Ruby community. A sobering moment and a reminder that no-one is probably is as fine as they appear.

Change of pace from the shortening days and weak snow of early December… an amazing pre-Xmas trip with the family to St Lucia, where we did as little as possible. Two amazing family holidays is what happens when you lock Jo in her house for two years.

Swimming. Eating. Beaching. Reading. Bit of exercise.

We smashed back, jet-lagged, into Xmas, where I had bitten off rather too much to do on our forthcoming pricing change while the rest of the company were off. The second winter billing system rewrite in three years, pushed over the line, but a bit of unfortunate chunky soloing to finish off my coding year.

Stuff I’ve…


Regular Fortnite-ing is my “default” game. It’s incredibly well made, balanced and had a vast visual overhaul late in the year. There’s no better place for me to blow off steam and have a chat.

The Return to Monkey Island was an absolute nostalgic delight. Still funny, still messing with expectations, lovely controls.

In a typical “adult, parent gamer who doesn’t have enough time” move I played through the wonderful Superhot which was released only six years ago in 2016.


I’m the guy who notes things down now. Movies tracked on Letterboxd.

Enjoyed House of the Dragon, haven’t girded my loins for the Amazon Tolkien yet.

Melancholy and high silliness—an interesting recipe—smashed together in Wakanda Forever. The other MCU stuff was fine, even the mostly tepid Thor Four had its moments, but I loved how bananas Moon Knight was.

Loved the dramtic retelling of the Elizabeth Holmes as Icarus story of The Dropout, and devoured both series of Cheer. And The Crown was the continuing slow-motion familial car wreck of the modern monarchy.

Top Gun: Maverick was a delight, seems only Tom Cruise wants to be a real movie star anymore.

Other movies I enjoyed: a single shot in a restaurant Boiling Point, Glass Onion was a frothy delight and Good Luck to You, Leo Grande was a lovely little two-hander.


You can see my reading on The StoryGraph.

Highlights were The Overstory which was recommended by Hugh Jackman in a podcast interview. It’s ecologically melacholic but somehow uplifting.

Read the YA-ish Chaos Walking trilogy, which was a ripping yarn that stayed just the good side of silly.

Kids got a lot out of Andy Serkis reading the unabridged audiobook of The Hobbit as we drove around Slovenia. Very recommended by my nine-year olds.

Best work-related reading was Sustainable Web Applications in Rails by David Copeland which was terrific: I nodded vehemently through 80% of it and disagreed with the rest. A great summary of the real world practices for Rails applicaiton maintenance.

Also The Spy and the Traitor as recommended by Nadia. Thrilling.

2023 Plans

Celebrate a decade of Brighton Ruby. Date & speakers incoming for that.

Reflect on doing a little less this year. Organising two conferences, speaking at two, selling a SaaS app and migrating an entire platform was, shall we say, a little punchy.

Stay fit. Have increased my activity levels by being somewhat more regimented and leaning on Apple Fitness+ behind a locked door.

Last updated on December 31st, 2022