RSSAmplifier

Blog

dx13 Home on dx13

dx13.co.ukRSS feed ↗5 posts

Latest posts

Perhaps Go doesn't leave atomic performance on the table after all

In Memory ordering of atomics in Rust and Go , I described how Go and Rust differ in that Rust allows choosing from a variety of memory ordering guarantees for atomic variables, while Go has just one ordering. I ended on: And so there you go, that’s why I think this is emblematic of Rust and Go’s design choices: Rust gives you the full menu and leaves you to figure out the best for your situation,…

Link: I Am Not Good At This Yet

This article articulates a lot of how I feel about using AI today. I can see that I will use it more, but I don’t know yet how to use it more while maintaining the level of understanding of the code I want to retain. I attempt to set a high bar for what I want code to look like, and I want to understand the code I ship. Under pressure, or in a discussion with another human, I want to be able…

Load balancing with... Consistent Hashing

In a recent conversation, I realised I knew consistent hashing existed, and what you could use it for. However, I couldn’t immediately bring to mind how it actually worked . Not awful — I knew I could easily find out — but I also felt I should have known it. I’ve found that a good way to get an algorithm to stick in my head is to implement it. Even better to then write…

TIL: strongly typed CLI flags in Go

Today I learned that you can make strongly typed CLI flags using Go’s standard flag package. flag is a package I’m fond of and I’ve written about it before . I think the package is underappreciated and harbours hidden depths. You make strongly typed flags in Go by implementing the flag.Value interface. One thing I really liked about this approach is that it gives you a contained…

Memory ordering of atomics in Rust and Go

I’ve been reading Rust Atomics and Locks by Mara Bos . If you’re into low-level concurrency primitives, it’s a great book. The rest of you can leave now 🙃 Memory ordering is a place where Rust and Go diverge, and I think it’s illustrative of the difference in language philosophy. Rust provides a selection of memory orderings per atomic variable operation, whereas Go…