It all started with a meme.

This one involved created an insult from everybody’s favorite abusive television chef, Gordon Ramsay, by picking a value from three columns.

  • First, you take your month of birth and match it up with an aggressive statement. So let’s say you were born in November, your statement would be “Get a Grip!”.

The more code you write, the greater the surface for potential bugs. In traditional REST APIs, you often get stuck writing lots of routing and serialization code, which can often get out of sync as your application grows. RPC (Remote Procedure Call) libraries come to the rescue here, generating a lot of this client & server code for you so you can focus on your implementations.

Previously, RPC usage in golang was centered around a couple larger libraries, gokit and grpc. As a counter to this, some glorious Twitch engineers have recently open-sourced a much more minimal library called Twirp…


In a 2015 post, good ol’ Martin Fowler put it well:

Almost all the successful microservice stories have started with a monolith that got too big and was broken up
(
https://martinfowler.com/bliki/MonolithFirst.html)

So what does that process look like? In this post, we’re going to go on a little journey and carve away a high-performance service from a very simple node app. We’ll do load testing to verify our bottleneck, create a protobuf file to clearly communicate the service boundary, and then integrate a golang server implemented with an RPC library called Twirp. …


Quick n Easy Data

Inevitably systems get complex enough that forcing your development environment to quickly bend to your will for some testing case involves some labyrinthine process of adding the right models in the right order to work well enough for some denormalised table that you didn’t know existed to return the one field you need to bang out a fix.

How about just not doing that.

Especially on the frontend, I love to stub out the responses I expect. This leads to its own issues, often where I do a weird little command line salsa of repetitive git stash manipulations.

Eventually my…


Hello internet void!

As part of some possibly flakey new years resolutions, I’m setting out on a little experiment in technical writing.

The hope is that I add a tiny bit more signal to the every-increasing noise of abandoned writing projects. Work-wise I do full-stack development with a focus on backend systems. I’ve ping-ponged around a ton of different languages over the years but my core stack nowadays is javascript, python and golang. Apart from that I’m fascinated by hardware projects and intrigued by generative art.

My extremely well-thought out plan to dive deeper into all these interests and add…

Zach Goldstein

Full-stack engineer with a focus on backend systems. Mainly using Javascript/Python/Golang nowadays

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store