C# has Extension Methods, which allow you to add methods to existing types, regardless of where they are defined by you or in a third-party assembly. Go has receiver methods, which are functions that are called on a value of a specific type. The type has to be defined within your package, and the receiver is the value...

Learning Go

As I learn Go, I figured I would find a lot of interesting content and I totally dislike using bookmarks for things I find interesting. So I decided to create a docs-style site for learning Go. Check it out!

Go scheduler’s job is to distribute runnable goroutines over multiple worker OS threads that runs on one or more processors. Links Scheduling In Go by William Kennedy, a Three-part Series covering the OS and Go schedulers, and Concurrency. Go’s work-stealing scheduler by JBD Videos

Building a Distributed Task Scheduler on DigitalOcean's App Platform

New Beginnings I’m a new engineer on the DigitalOcean App Platform team. I’ve spent the last 20 years writing C# code full-time. I’ve made the switch to Go and to be perfectly honest, I miss writing C#. You know that itch you have for doing something you love so much? Well, I’ve got to scratch that .NET itch somehow...

Hello World

Scott Hanselmen wrote a post titled Your words are wasted. It’s a great point being made there, worth the read. In the post, he talks about how if you post your content on other platforms, it’s not really yours. He quotes Tim Bray, who I’ll also quote here: Own your space on the Web, and pay for it. Extra effort, but...