Wrapping Errors in Go – How to Handle Nested Errors

By Lane Wagner @wagslane on Twitter The paradigm of errors as a type, rather than something to be thrown and cause panics, allows for more control of how to handle “bad” state. It also forces developers to think about errors at every step. What will go wrong here? How should I handle it? There are … Read more Wrapping Errors in Go – How to Handle Nested Errors

(Very) Basic Intro To Elliptic Curve Cryptography

Updated – May 31, 2020 This is going to be a basic introduction to elliptic curve cryptography. I will assume most of my audience is here to gain an understanding of why ECC is an effective cryptographic tool and the basics of why it works. My goal is to explain it in a general sense, … Read more (Very) Basic Intro To Elliptic Curve Cryptography

Building a Music/Video Streaming Server in Go – Using HLS

In this tutorial, I’m going to walk you through building a streaming API using Golang. Don’t worry, its surprisingly easy to build a robust streaming server, especially if we utilize one of the more modern protocols: HLS. What is HLS? HTTP Live Streaming is an HTTP-Based adaptive bitrate streaming communications protocol developed by Apple. https://en.wikipedia.org/wiki/HTTP_Live_Streaming … Read more Building a Music/Video Streaming Server in Go – Using HLS

Purity in my Programming Please

Pure functions are often hyped up in the Javascript world, probably because of the abundance of state in front end applications. While pure functions have their downsides (i.e. inconvenience, potentially large argument lists), I believe they should be used as much as reasonably possible, and I want to focus on pure functions in Go. What … Read more Purity in my Programming Please

The Proper Use of Pointers in Go (golang)

Go has become increasingly popular in recent years, especially in my local area. It has been consistently displacing other backend languages like Ruby, Python, C# and Java. Go is wanted for its simplicity, explicitness, speed, and low memory consumption. Many developers that are new to the language, or new to a language that can handle … Read more The Proper Use of Pointers in Go (golang)

Documentation Sucks and You Probably Do it Too Much

I often hear that we need more and better documentation in the tech industry. I’ve since come to believe that most documentation is overrated. When Documentation Sucks Incorrect documentation is worse than no documentation, and redundant documentation is worthless. Let’s remove the chaff. Incorrect Documentation Developers typically take the path of least resistance when given … Read more Documentation Sucks and You Probably Do it Too Much

Guard Clauses: How to clean up Conditionals

One of the first techniques developers learn is the if/else statement. For obvious reasons if/else statements are a primary way to create logic trees. This is where we handle calculations differently depending on the input variables. However, complex and nested if/else statements become a cognitive burden to reason about. Therefore, it can be hard for … Read more Guard Clauses: How to clean up Conditionals