In Review: Practical Cryptography with Go

Practical Cryptography with Go wastes no time in making it's intent clear. The book aims to arm the reader with enough information such that they can use cryptography in their day to day, correctly, safely and with a good level of understanding.

I reckon it does this pretty well, for my money. Note that I am not a cryptographer, and what follows is by no means a review of the crypto itself. I didn't spot anything egregiously incorrect, for what it's worth.


Filling the void of a physical whiteboard

We're pretty deep into the whole COVID thing. Where I am in the world, we've been in some variation of lockdown for nine months now. It has meant a lot of changes to my working life, but one of the larger changes to my workflow is that there's no longer a giant whiteboard mounted directly behind me. "Diagrams as code" tools such as PlantUML and Mermaid have gone some way towards filling the void, and I'll examine how far they go in helping me communicate software architecture.


Webmentions are okay at linking conversations

In the past few weeks, I've been looking at integrating Webmentions. After doing parts of the integration job, I've gained an appreciation for the tech. Webmentions allow you to discover and link disparate conversations about your content. There's a lot of technologies that achieve that, but Webmentions is pretty simple, all told. Here are my experiences with it.


Monorepo? Think Twice

I'll lead by saying that monorepos can be pretty awesome. They enable developers to make cross-cutting changes with ease. You may want this capability to prevent services from straggling behind the pack and be able to check that nothing is running old or insecure code. There's a lot of good there, and we shouldn't throw that away. With that said, there are some aspects to think about with a monorepo, and there's some interesting discussion to have here.


Pagination in Zola

I've been experimenting with Zola, a static site generator. The documentation for pagination is pretty good from an anatomical perspective, but I thought there was room for something a little more 'recipe' like. So, this is how I personally implemented pagination on my Zola site, aiming to demonstrate the nuts and bolts in action. This demonstration will be correct for zola binaries compatible with 0.12.0.


What's an IP address?

I'm making a concerted effort to capture my notes on networking stuff I've built up over time. The overarching goal with this is to provide easily consumable chunks of information, that are loosely linked together.

With this piece, we aim to build a fairly strong notion of what an IP address is, how they're structured, and a brief treatment of some of the different kinds of IP addresses out there.


Making the case for investing in SWE growth

I've been thinking about this a lot of recent, and it is in my view, one of the most important aspects of what we do for our engineering teams, or indeed more broadly our companies. I put forward an idea of engineering teams over time, generating a maintenance burden for themselves, that acts as a pressure on their velocity. Hiring is probably an insufficient solution to this, so we need to really open up the conversation about how we learn within teams.


Fast Food Software Engineering Progression

I'm going to preface this with a big old disclaimer; I haven't worked in industry for that long, no more than a few years. However, as I'm sure the more senior engineers reading this may remember, you do start to build an idea for the things that keep you at a company in the longer term, as I have, and for many engineers, progression is at the top of that list. One form of progression I've seen in the wild, that I've come to grow wary of, is being being offered work with a certain framework or programming language. There's nothing innately wrong with it, but I'm starting to question whether it's really nourishing in the longer term.


My iterator is returning a reference to a reference

Sometimes you mean it. Other times you really don't. It can be a bit of a headscratcher, but is not a particularly complicated situation, just easy to stumble into on a tired afternoon. In the end it all comes down to the ensuring you're being purposeful about what you're iterating over.


Is CSS in JS Okay?

So, my blog is pretty much my main regular touchpoint for the world of frontend development, outside of the odd bits of React/GraphQL I do at work. Every few months, I'll play around a bit to keep in touch with the world of frontend development, which allows me to maintain a fresh understanding of what's possible in terms of the frontend.