Welcome 👋

  • I’m Rory, a Software Engineer based in London, UK.
  • Here’s my writing.
  • 👀 Looking for a tech job? Check out my website findatechjob.io.

Using tracing to profile a Bevy project

Bevy is an open-source game engine built with Rust. It uses the Entity Component System (ECS) paradigm to simplify building performant parallel games. When building games dealing with large numbers of entities in parallel, performance problems are common. I have recently encountered these problems with rustcraft, a voxel project that I’m now building with Bevy. Read A Minecraft Experiment with Rust and OpenGL for more details on that. This is a short introduction to tracing and how it can be used to track down and fix performance problems in your Bevy project....

June 9, 2024 Â· 4 min

3 lessons from 3 years as a software engineer

My software engineering journey is a pretty common one: Learn to code as a kid. Study STEM subjects through school. Get a degree. Become a full-time Software Engineer through some grad scheme or internship. It’s been 3 years since I started my first job. In that time, I’ve worked in 4 teams across 2 jobs where I’ve been surrounded by plenty of excellent people who have helped shape my views and opinions....

November 17, 2023 Â· 8 min

Building a binary string parser in Rust with nom

Parsers are everywhere. Writing a program? You’re using a parser. Opening a PDF or an image? You’re using a parser. Using the internet? Parsers read the packets that go back and forth on the network. For something so ubiquitous, parsing is a little understood topic. What do parsers do? How do they work? Can I write one? This is a short post on how you can build a really simple binary string parser using nom....

April 8, 2023 Â· 4 min

A Minecraft experiment with Rust and OpenGL

Towards the end of 2021, I started making a Minecraft-like game from scratch using Rust and OpenGL. It’s unfinished, but I’ve made it open-source. In this article, I will walk you through the journey and explain how the following techniques can squeeze performance out of your GPU: Batching View frustum culling Occlusion culling LODs First of all, why Minecraft? Minecraft introduced me to Java (and programming in general) over 10 years ago....

February 27, 2023 Â· 7 min

How to host your blog for free with Hugo and Netlify

You might notice this blog loads blazingly fast, looks snazzy, but what’s even better is that it’s free to host and took me half an hour to set up. In this article I’ll show you how. In the world of web development, there’s too much choice. Static site or SSR? JavaScript or TypeScript? Angular? Next.js? React? Blogging platforms add more: WordPress, Medium, Ghost – the list goes on. When looking for a technology to host my blog, I valued three principles:...

February 24, 2023 Â· 4 min