About

Hi, I'm Olivia! I'm currently a Staff Software Engineer at Personio where I work on building Payroll.

Before this I was fortunate enough to be part of Twitter 1.0 where I led various Media Infrastructure projects. Before that I was the tech lead for Maisie Williams's creative startup Daisie, working on live streaming for Amazon Video and even before that building services for Office 365 at Microsoft and building games for kids at Xbox.

I love designing and building software and most of all solving problems. I used to write a lot about Rust and game development, and I was featured on multiple Rust gamedev newsletters.

I am also the author of the Rust Sokoban book.

Blog

    🧵 Rust Pattern Matching

    One of my favourite #rustlang compiler-driven development tricks is exhaustive matches on enums. Here is a simple example. Let's say we are…

    6 months of game development in Rust

    If you made it here you might have already read my previous post 24 hours of game development in Rust, but if you haven't, it was basically…

    Making a basic game UI with imgui and ggez

    In this post I'll walk you through how you can create game user interface with imgui and ggez. I spent a lot of time trying to make this…

    Entity component system (ECS) explained with tennis players and courts

    In the last post I talked about a small game I built in Rust and roughly how far I got in 24 hours. One of the biggest challenges I had was…

    24 hours of game development in Rust

    In this post I'll talk about a small game I've been developing in about 24 hours in total (mostly in a few hour blocks during evenings or…

    Design patterns

    what are design patterns? Let's start by defining design patterns. All this talk these days, but what are they really? Well, simply put…

    FizzBuzz in 10 languages!

    FizzBuzz, as you might have heard, is a simple programming challenge given as an interview question to see if someone can code or not…

    2018 year in review

    I've been reading a couple of year in review blog posts these days and I got inspired to write my own. 2018 has been a great year and it's…

    How to deploy a personal Gatsby site to Github pages

    I recently revamped my personal website to use Gatsby and I spent a little more than I thought it was necessary to figure out how to deploy…

    Encoding - Run length encoder

    This post is the start of a mini-series on data compression. Over the course of the series we will look at some algorithms for encoding…

    Count min sketch explained

    Last time we looked at Bloom filters, which is one type of probabilistic data structure. In this post we will look at another one - Count…

    Implementing a Bloom filter - Part 3

    Last time we looked at how the internals of Bloom filters work. In this post, we'll get our hands dirty and implement it. We'll set up an…

    Implementing a Bloom filter - Part 2

    Last time we talked about what a Bloom filter is and why you might use it. In this post we will cover how Bloom filters work internally and…

    Implementing a Bloom filter - Part 1

    In this series we will implement a very simple Bloom filter in c++. But first things first. What's a Bloom filter? Simply put, a Bloom…

    Hello world

    Hello world, this is the first post! And now some fake JavaScript. What is Lorem Ipsum? Lorem Ipsum is simply dummy text of the printing and…

Contact

If you'd like to reach out, please do so at olivia_github@outlook.com.