Tests are great, provided they actually test something. But are your tests too optimistic (assuming the code already works), or too persnickety (testing the irrelevant)?
Tests are great, provided they actually test something. But are your tests too optimistic (assuming the code already works), or too persnickety (testing the irrelevant)?
Alex Pliutau and I discuss what Go programmers should know about Rust, and why the two languages make perfect partners.
Freedom is nothing without constraints, and Go’s generics gives us a powerful way to build polymorphic types and functions constrained by type sets. Let’s geek out.
Golang generics open up a lot of exciting new possibilities for us as programmers. In this tutorial, we’ll look at ways we can use type parameters to define customised generic types.
Which is a better choice, Rust or Go? Which language should you choose for your next project, and why? How do the two compare in areas like performance, simplicity, safety, features, scale, and concurrency?
How do you rescue a legacy codebase that has no tests? Let's look at some techniques for clawing your way back to maintainability, one test at a time.
I was a guest on the Cup o’ Go podcast recently, talking with Shay Nehmad and Jonathan Hall about writing and teaching Go. Here’s a transcript of our chat.
AES is an amazing, state-of-the-art encryption system, and it’s built right in to Go as part of the standard library. It’s also incredibly easy to use. Let’s see how!
Thanks to generics, there are some interesting new ways to program in Go. This article explains how we can use functional programming techniques like Map, Filter, and Reduce, and what kind of problems they might help us to solve.
Iterators in Go are a neat way to write “lazy loops”, where we never generate more results than we actually use. Let’s see what that would look like in Go programs, and what new facilities it gives us in the standard library.
The Bitfield Institute of Technology (BIT) is a software engineering school that offers remote training and certifications in Go development to students worldwide.
In the final sizzling chapter of my career exposé, we’ll learn how I went from self-unemployment to founding the world’s tiniest publishing empire.
There are many Rust books, but these are my favourites—and I think you’ll like them too. Here are my reviews of what I think are the truly essential Rust books available today.
Building software is easy when we’re guided by tests, because we can start with quick-and-dirty solutions, without worrying about whether the code is elegant and readable—yet. Let’s see how to use the TDD technique called “Shameless Green”.
The night is dark and full of errors, so how should we handle these gracefully and safely in our Rust programs? Let’s introduce two of every Rust programmer’s favourite types: Option and Result.
The AES cipher is complicated in principle, but the code isn’t all that scary in practice. Let’s take a look at the implementation in the Go standard library. Even I can understand it!
Money: how to get people to give it to you, how much to ask for, and how to be worth what you're asking. Some real talk about the challenges you’ll face as a newly independent worker.
iota is a neat feature of Go that lets us create “enums”: lists of constants with arbitrary values. Let’s find out how to use iota, with this quick tutorial.
Tests communicate a lot of information, to readers, other developers, and even our future selves. Well-written tests focus on a single unit of behaviour that can be described in a brief sentence, and we can use that sentence as the name of the test.
There’s an easy, pleasant, and reliable way to build software in Go, guided by tests. Let’s find out what it’s like to program with confidence, in the first part of this TDD tutorial series.