Articles

Copy on Write


When I first encountered ZFS it felt like black magic with its instant snapshots AND self healing checksums. I was told it’s all thanks to Copy-on-Write (CoW). Years later, I’m writing this post to explain this strategy, as it’s one of my favorite optimisation techniques. By the end, you’ll see how CoW is more than just a trick; it’s the fundamental design choice that solves some of the trickiest problems in performance, concurrency, memory usage, and data integrity, all while keeping things blazing fast.

Read More…

Bevy Game Development

Last year I started creating a fairly large game in Rust.

My background is in mostly python devops and so nearly every part of it needs careful planning. The parts that weren’t nearly all needed rewriting. I’m learning common game dev patterns as well as nuances in Rust and I want to document it. It’s not open source at the moment.

Why Rust?

One word, Elegance. There is no garbage collection in Rust, but you can still work with the heap in a safe way. Concurrency becomes much more deterministic as a result of the move/borrow rules. This concurrency allows breakneck speeds in many different use cases. I also find the syntax very satisfying.

Read More…

The cost of a shouldertap


I’ve more than doubled my productivity recently, without giving anything up.

I’m working a few projects at the moment, both at work and at home. I’ll keep hush on the many work things. At home I’m working on a small game, using bevy in the rust language. I’m trying to write some here. There is also fitness, music practice and house projects. However the most important thing in my life is supporting and spending time with my heavily pregnant partner. She will be bringing our beautiful daughter into the world.

Read More…

A colophon for wattie.dev


The colophon is a fancy way of saying, this is who I am and this is what I’m publishing on.

I wanted to write some stuff. And I want to do it easily. So naturally, I needed a blog. But I’m quite picky

  • I’m keen to keep it free. If I have to pay even a tiny amount, then its likely per GB or request. That means I should probably have a CDN in front. The only free CDN I know of is cloudflare. That means giving them my DNS. My DNS hosts other things. I’m also just cheap
  • I’d like to minimize javascript. The more I have to write, the less likely any of my words see a single GET.
  • I need automated deployments.
  • I want to minimize ads.

This leaves me with a static site. Static sites are great. The threat window is much smaller than traditional websites. There is no database to maintain and it’s very simple to add a CDN in front, making them very fast and scalable.

Read More…