Full Width [alt+shift+f] Shortcuts [alt+shift+k]
Sign Up [alt+shift+s] Log In [alt+shift+l]

Blog - Bitfield Consulting

Blog - Bitfield...
Slow, flaky, and failing Thou shalt not suffer a flaky test to live, because it’s annoying, counterproductive, and...
3 weeks ago
17
3 weeks ago
Thou shalt not suffer a flaky test to live, because it’s annoying, counterproductive, and dangerous: one day it might fail for real, and you won’t notice. Here’s what to do.
Blog - Bitfield...
How to know when it's time to go Leaving a job is never easy, and it’s a consequential decision. But when it’s time, it’s time....
a month ago
38
a month ago
Leaving a job is never easy, and it’s a consequential decision. But when it’s time, it’s time. Here’s how to escape the comfort trap, and take the next step in your career.
Blog - Bitfield...
The magic function How do you design user-friendly APIs in Rust? The answer is simple: you use them! Let’s build a...
a month ago
50
a month ago
How do you design user-friendly APIs in Rust? The answer is simple: you use them! Let’s build a simple Rust CLI tool using what I call the “magic function” approach.
Blog - Bitfield...
Why you can't meditate You can't clear your mind, or achieve bliss by sitting on a special cushion. But you can start to...
2 months ago
60
2 months ago
You can't clear your mind, or achieve bliss by sitting on a special cushion. But you can start to gently train your brain to stop craving distraction and overstimulation. In this excerpt from Monk Mode, we'll see how.
Blog - Bitfield...
Suite smells: undertesting and overtesting Tests are great, provided they actually test something. But are your tests too optimistic...
2 months ago
72
2 months ago
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)?
Blog - Bitfield...
Rust and Go vs everything else Alex Pliutau and I discuss what Go programmers should know about Rust, and why the two languages...
3 months ago
71
3 months ago
Alex Pliutau and I discuss what Go programmers should know about Rust, and why the two languages make perfect partners.
Blog - Bitfield...
Constraints in Go Freedom is nothing without constraints, and Go’s generics gives us a powerful way to build...
3 months ago
42
3 months ago
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.
Blog - Bitfield...
Generic types in Go Golang generics open up a lot of exciting new possibilities for us as programmers. In this...
3 months ago
43
3 months ago
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.
Blog - Bitfield...
Suite smells: testing legacy code How do you rescue a legacy codebase that has no tests? Let's look at some techniques for clawing...
4 months ago
47
4 months ago
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.
Blog - Bitfield...
Programming is fun I was a guest on the Cup o’ Go podcast recently, talking with Shay Nehmad and Jonathan Hall about...
4 months ago
59
4 months ago
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.
Blog - Bitfield...
Cryptography in Go: AES encryption AES is an amazing, state-of-the-art encryption system, and it’s built right in to Go as part of...
6 months ago
36
6 months ago
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!
Blog - Bitfield...
Functional programming in Go Thanks to generics, there are some interesting new ways to program in Go. This article explains...
6 months ago
30
6 months ago
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.
Blog - Bitfield...
Iterators in Go Iterators in Go are a neat way to write “lazy loops”, where we never generate more results than we...
7 months ago
22
7 months ago
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.
Blog - Bitfield...
Bitfield Institute of Technology The Bitfield Institute of Technology (BIT) is a software engineering school that offers remote...
7 months ago
23
7 months ago
The Bitfield Institute of Technology (BIT) is a software engineering school that offers remote training and certifications in Go development to students worldwide.
Blog - Bitfield...
Will write for food In the final sizzling chapter of my career exposé, we’ll learn how I went from self-unemployment...
7 months ago
18
7 months ago
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.
Blog - Bitfield...
Best Rust books for 2024 There are many Rust books, but these are my favourites—and I think you’ll like them too. Here are...
7 months ago
30
7 months ago
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.
Blog - Bitfield...
Shameless green: TDD in Go Building software is easy when we’re guided by tests, because we can start with quick-and-dirty...
8 months ago
18
8 months ago
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”.
Blog - Bitfield...
Rust error handling: Option & Result The night is dark and full of errors, so how should we handle these gracefully and safely in our...
9 months ago
15
9 months ago
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.
Blog - Bitfield...
Cryptography in Go: AES implementation The AES cipher is complicated in principle, but the code isn’t all that scary in practice. Let’s...
9 months ago
11
9 months ago
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!
Blog - Bitfield...
If you need the money, don't take the job Money: how to get people to give it to you, how much to ask for, and how to be worth what you're...
9 months ago
21
9 months ago
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.
Blog - Bitfield...
What is 'iota' in Go? iota is a neat feature of Go that lets us create “enums”: lists of constants with arbitrary...
10 months ago
17
10 months ago
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.
Blog - Bitfield...
Test names should be sentences Tests communicate a lot of information, to readers, other developers, and even our future selves....
10 months ago
13
10 months ago
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.
Blog - Bitfield...
Programming with confidence: TDD in Go There’s an easy, pleasant, and reliable way to build software in Go, guided by tests. Let’s find...
11 months ago
13
11 months ago
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.
Blog - Bitfield...
Type parameters in Go Now that generics have come to Go, let's take a look at the new syntax for type parameters. We’ll...
11 months ago
18
11 months ago
Now that generics have come to Go, let's take a look at the new syntax for type parameters. We’ll find out why we need type parameters, how we write them, and how we can use them to create generic functions in Go.
Blog - Bitfield...
Generics in Go Generics what now? This friendly, down-to-earth tutorial series explains how Go’s generic...
11 months ago
14
11 months ago
Generics what now? This friendly, down-to-earth tutorial series explains how Go’s generic functions and types work, why we need them, and where we can use them.
Blog - Bitfield...
Master of my domain Let’s talk business—independent business, that is. What’s the cost of being the boss? Some more...
12 months ago
14
12 months ago
Let’s talk business—independent business, that is. What’s the cost of being the boss? Some more hard-learned lessons from my own horrible career.
Blog - Bitfield...
Cryptography in Go: AES explained AES is the modern standard encryption algorithm, but how does it work? Where does it come from?...
a year ago
15
a year ago
AES is the modern standard encryption algorithm, but how does it work? Where does it come from? Let’s kick the tyres with a high-level overview of AES internals.
Blog - Bitfield...
Rust vs Go in 2024 Which is a better choice, Rust or Go? Which language should you choose for your next project, and...
a year ago
31
a year ago
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?
Blog - Bitfield...
Best Go books for 2024 What are the best Go books for 2024? Read my (relatively) unbiased recommendations for the Go...
a year ago
14
a year ago
What are the best Go books for 2024? Read my (relatively) unbiased recommendations for the Go books you should absolutely buy and read right now, whether you’re a beginner or expert Gopher.
Blog - Bitfield...
Being a good co-worker is your job now In the final part of this series on the world of work, we’ll talk about how not to suck at...
a year ago