Christian Scott

I currently work as a frontend software engineer at Canva in Sydney, Australia. You can see some of my work on github, find me on linkedin, or send me an email.

Blog posts

Avoiding race conditions in JS

May 17, 2019

Race conditions?! Javascript?! It’s a real thing, I promise! Let’s say you have some service that loads a object from your API. You back…

Bytes, Code Points and Grapheme Clusters

April 29, 2019

Let’s talk about text. Specifically, text encoded using utf8. How many characters would you consider to be in the string ? What about ? I…

Garbage Collection Hook in Python

April 29, 2019

Credit to Jake VanderPlas for triggering this discovery with this tweet . Turns out there’s a data model method (aka dunder method) that’s…

Breaking down "A monad is just a monoid in the category of endofunctors"

March 11, 2019

“…just a monoid…” Associativity is a property of some binary operations where the order of operations does not matter, e.g. since addition…

An Extremely Basic Guide to Writing PDFs by Hand

March 09, 2019

The goal of this post is to teach you how to write a very basic PDF containing some shapes and some text. The goal is not to teach you how…