Ben Selby profile picture

Ben Selby

Software Engineer

Open Source, Process, Technical Leadership, Automation, People

Love building distributed teams, writing in Go, building CLI dev tools, engaging with other engineering teams, and learning new things

Mephisto and dev containers

Aug 6, 2023 · 4 min read

I’m currently looking into what Mephisto can do. Mephisto describes itself as Mephisto was designed from the ground up to work with different “crowd providers”. You can use Amazon Mechanical Turk, an internal platform for your organization, or something else. Additionally, launch your tasks on Heroku, EC2, etc. So I wanted to check it out and run it locally to see for myself. I started with the 10-minute Quickstart guide but hit issues with the installation of dependencies.

Read more ›

Setting up k9s skins for different Kubernetes clusters

Mar 31, 2023 · 2 min read

This post is going to show you how to define different skins for k9s, so you can quickly see which environment you’re working on. k9s is a terminal application that allows you to manage your Kubernetes clusters. So if you’re managing your production cluster, for example, you probably want to take extra care of what you’re doing. Every time I jump onto a production database for nearly two decades, I have set the background to red.

Read more ›

Creating custom metrics from a trace in Datadog

Mar 7, 2023 · 2 min read

Recently, I wanted to create a monitor from a trace in Datadog. When creating an APM monitor, you can specify the service, and the resource, but nothing else. This didn’t cater for what I wanted to do. So this post is going to show you how you can create a custom metric, and then use that in your monitor. Once logged into Datadog, you want to navigate to APM and then Setup & Configuration.

Read more ›

Books 2023

Jan 1, 2023 · 2 min read

So, the numbers are in for 2022, and I read substantially less than the 20 books I set out to read. I did really well in Quarter 1, and then it fell to pieces after that. I traded fiction for technical books, and it all just fizzled out. So this year, I’m aiming to read 10 books. Books Engineering Management for the Rest of Us Sarah Drasner I am a big fan of management books like this.

Read more ›

Introduction to APIs

Nov 14, 2022 · 8 min read

I’ve written this post to help some of my colleagues, who traditionally don’t work with APIs to understand some foundations. They are designers, product managers etc. If you’ve used APIs before, this post is probably not for you ;-). An “Application Programming Interface” (API) allows two software systems to communicate in an agreed manner, set out by open specifications. We are going to focus on basic concepts to allow us to be able to communicate effectively about APIs, in an engineering product team.

Read more ›

How useful are code coverage reports?

Nov 5, 2022 · 5 min read

This post is going to talk about code coverage reports from unit tests. However, to provide some context first, I’m going to reminisce about 2010. A story Back in 2010, I was working for Plusnet, an ISP in the UK (Referral link). The engineering team were still getting to grips with unit testing our code. What we saw time and time again was many tests being written, high coverage reports, and management was happy.

Read more ›

Use Keyhole to understand slow queries in MongoDB

Nov 2, 2022 · 2 min read

Slow queries are a part of life. This post will show you how to use Keyhole to turn your MongoDB logs into a spreadsheet you can use to understand where to focus your efforts. Keyhole First of all, get Keyhole up and running. Please follow their instructions on how to do this. I was able to do the following, but things change, so check out their docs for more relevant information.

Read more ›

Debugging Python with a virtual environment in VSCode

Oct 30, 2022 · 2 min read

My current job is mainly Python, so there was a steep learning curve. I have done some Python previously, but mainly for writing Sublime Text plugins back in the day. Over the last few months, I’ve set up my VSCode environment on my work machine. Last night I was wanting to do something on a different machine. I could not remember how to debug Python code inside a virtual environment within VSCode!

Read more ›

Upgrading to Next.js 13

Oct 28, 2022 · 3 min read

Next.js 13 was released this week. I’ve not had much time to work with Netlify or Next.js recently. So this was a nice opportunity to play around again for an hour. The upgrade command I wasn’t lucky enough to just run the headline upgrade command that the above blog post suggests. recipes on  upgrade-to-next-13 via ⬡ v16.14.2 at 19:30:07 ❯ npm i next@latest react@latest react-dom@latest eslint-config-next@latest npm ERR! code ERESOLVE npm ERR!

Read more ›

Mongo shell commands to get you through the day

May 1, 2022 · 6 min read

I recently started a new job. The data store is MongoDB, which I have barely used before. This post aims to document what I’ve learnt to get me through the day. Please feel free to tweet me if there are discrepancies. The first thing that I became aware of, is that there are/were two cli tools: The legacy mongo shell, which was deprecated in MongoDB v5.0. The new, and active, mongosh shell, which replaced mongo.

Read more ›
More ...