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
Finding main with `go list`
I’ve always hated the ways that I figured out where my main was in Go. There was never a good way of doing it across all of my projects. I’ve hard coded my build scripts to the root of the project or build every directory under the cmd folder. Your main can live anywhere though, and this has always been an issue for me larger projects. Why not have a main deeper in your project to show how to use a particular package.
read more
Learning Rust part 1: Input/Output
Learning Rust I first learned about Rust when Mozilla announced they were developing an experimental browser engine in the language in 2010. I was a sophomore in college and thought it was an interesting project. It was the first time I learned about the difficulties of programming in C and C++ and thought that creating a new language to get rid of the problem entirely was a novel solution. My only experience in programming was from my intro classes, which were taught in Java and Perl.
read more
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