This is where I might write about what I’m doing, thinking, typing, cooking. All of my opinions are mine and are not the opinions of my employer
Recent Blog
Distributed Systems Challenges in Go Part 3
Task 2: Unique ID Workload The unique-id workload is the second workload we’re going to create. It’s to be a globally unique ID generation system that must create non-duplicating IDs. It has no requirements besides being available even in the face of network partitions.
Requirements Our system must be globally unique and return unique results in the face of a network partition. These requirements mean:
We can’t return duplicate results We can’t coordinate The first requirement should be reasonably straightforward.
read more
Distributed Systems Challenges in Go: Part 2
Task 1: Echo Workload The echo workload is the “hello world” of Maelstrom. It allows us to get a handle on how to get a request and how to respond to maelstrom’s request. The workload is extremely easy to implement and the total implemenation is included in the fly.io workload explanation.
Maelstrom basics First we’ll go over a reminder of what Maelstrom is and how it works. Maelstrom is a workload execution engine for creating toy workloads for different kinds of distributed systems.
read more
Distributed Systems Challenges in Go: Part 1
Introduction In February, 2023 Fly.io published a blog post introducing a series of exercises for distributed systems. They are ways for people to exercise their understanding, practice and debugging of their systems. Here we’ll go over the exercises, how communication works and creating the initial “hello world” binary.
The exercises are called gossip glomers and uses maelstrom to test the different systems that we’re going to write. Any distributed system communicates with clients and nodes over the network and can run into any number of issues depending on what the system is supposed to do and how it’s written.
read more