RSSAmplifier

Blog

PeteGoo

blog.petegoo.comRSS feed ↗20 posts

Latest posts

Configuring a Wireguard client on Ubuntu to connect to your Unifi VPN Server

Lately on a trip to the UK I was tring to configure my Ubuntu laptop to connect back home to my Unifi Dream Machine Pro via Wireguard. It ended up being an absolutely nightmare due to the hotel Wifi, IPv6, and the fact that wireguard can be a little hard to configure. So here are the simple steps to get it up and running. 1. Create a new VPN Server on Unifi Network This tutorial covers what you…

Guardrails: Unlocking Autonomy through clarity and good leadership principles

I thought I would take a break from my series on Incident Response to talk about something that I wrote for a previous role. I had just landed my first VP of Engineering role and I was reflecting on the fact that I had been given a lot of autonomy in the past which had allowed me to grow and develop. I wanted to ensure that I was providing the same opportunities to my team, especially the leaders,…

Incident Response Part 4: SitReps (Situation Reports)

Other parts of this series on Incident Response: So you need an on-call team Severity Levels Incident Response Roles Incident Response SitReps (this article) In the 4th part of this series on Incident Response I’d like to cover something I learned quite late in my Incident Response career and that is Situation Reports or SitReps. A few years ago I happened to be attending an online session by…

Incident Response Part 3: Roles

Other parts of this series on Incident Response: So you need an on-call team Severity Levels Incident Response Roles (this article) Situation Reports In this, the 3rd part of the series on Incident Response, we’re going to cover arguably one of the most important aspects of incident response teams and that is distinguishing the roles that responders should assume. Incident Commander If you talk to…

Incident Response Part 2: Severity Levels

Other parts of this series on Incident Response: So you need an on-call team Severity Levels (this article) Incident Response Roles Situation Reports In Part 1 of this series we covered why you might need an on-call team. In this post we will cover how to define severity levels for incidents. This is crucial in order to understand the impact of the incident on your customers and your business.…

Incident Response Part 1: So you need an on-call team

Other parts of this series on Incident Response: So you need an on-call team (this article) Severity Levels Incident Response Roles Situation Reports As your product gains traction and expectations from customers increase, you may find that at some point things start failing. You see one or more of the following signs start to accumulate: You find out about issues from your customers, not your…

Stop chasing consensus, start building momentum and farming for dissent

In the early days of a close-knit team of similarly experienced people you have this amazing ability to make decisions quickly. Remember that? You need to move fast and not sweat the small things. You have really important challenges to solve and you accept that getting some things wrong initially is very much ok. As your team grows into many teams…guilds…chapters…or whatever (no judgement), you…

Zero Trust Authenticating Reverse Proxies in AWS Application Load Balancers

Traditional VPNs have been the goto solution for many companies when considering how best to secure access to their internal tools on the public internet. With the widespread adoption of the hybrid office and remote working in the covid era the use of VPNs has significantly increased. Y U NO VPN? However the traditional VPN approach has come under scrutiny in recent years due to a number of…

Lines of Communication and Lines of Enquiry in Incident Response

Over the last decade or more I’ve been involved in a lot of incident response activity and subsequent post-mortems or post-incident reviews (a good thing). I’m always incredibly interested in the behaviours of incident responders and just how difficult it is to remember all the right things to do when you are the one sitting in the hot seat. At times I have seen first hand that frozen state where…

Small Pull Requests and Batch Size

One of the things I find most interesting about my role these days is that I get to talk with such a wide variety of people across our engineering group and I get to hear various challenges that they face. As a result I get to observe common patterns and themes that emerge which often stem from similar issues. I’d like to talk about one of those common issues - Batch Size. My experience When I…

This is my picture: Why you should be drawing your systems and code

How inclusive is the culture of architecture and design within your teams? Is the way you communicate these designs and intent accessible by everyone? Can everyone in your organisation easily contribute ideas and share their experience? For the last few years I’ve been trying to actively spend more time drawing code, architectures and concepts rather than just talking about them. I feel like this…

Better Octopus Registration

We use Octopus Deploy for a lot of our deployments. It has great primitives that help us create simple, reliable, repeatable deployment processes. If you are using it to deploy code onto machines you typically use the supplied agent, installed on your machine. Octopus calls this agent a Tentacle, naturally. The Tentacle registers itself with the API on the Octopus server. Your machine will define…

Measuring and Improving your CI/CD Pipelines

Over the last 4 years I’ve often found myself in conversations with fellow engineers about our build and deployment process and how we feel it has become slower or is somehow causing more friction. Eventually, as you live with a release process that you use every day you will find that you have these conversations relatively often. So how do you go about figuring out if you have issues and where…

Concourse on AWS: Worker lifecycle management

Lately we’ve been running Concourse CI for a bunch of our builds. We really love Concourse for the pipeline features, ease of configuration, and docker primitives. However, operating and feeding Concourse can be a voyage of discovery and sometimes sadness. One of the issues with Concourse is that it doesn’t really like it when workers disappear on it. The workers will appear as stalled if you run…

Getting Packer to work for Windows on AWS

Getting a Packer build to work with the AWS EBS builder is pretty easy. Getting it to work for Windows can be a series of less-than-obvious discoveries. I had issues trying to find a concise guide on how to get the various pieces working together, so here it is. All code available here The goal We want Packer to create an EC2 AMI using a powershell initialization script. To achieve this Packer…

Slides from my talk at codemania

Speaking at codemania.io was one of the scariest and most awesome experiences of my career to date. The concept of the talk was that the secret of going fast, safely, is to raise the visibility of the system you develop and operate. Below are the slides from that talk. Links 10+ Deploys Per Day: Dev and Ops Cooperation at Flickr What is this devops thing, anyway? Metrics, metrics, everywhere -…

Slides from 'Devops for the .Net developer'

On February 19th I gave a talk at the Auckland.Net meetup titled “Devops for the .Net Developer”. The idea of this talk was to present the context that gave rise to the DevOps movement, outlining it’s drivers, principles and guiding practices and then frame all of this in terms that apply to the average .Net development shop. In other words, sharing a lot of the knowledge I have gained over the…

Tips and tricks for integrating GitHub + TeamCity

For a while now I’ve been using the GitHub + TeamCity + Slack combination and I though it would be useful to write down the various tactics and tools for getting the most out of this pretty common configuration of tools. You don’t need to be using all these tools and services to get something out of these posts but the combination of all three can be pretty powerful. This post will concentrate on…

TeamCity Slack Build Notifier

We have become immense fans of Slack in our office, as have lot of people I know in the software development industry. If you haven’t heard of Slack, well it’s basically a chat system for businesses, much like HipChat or Campfire. The difference being that Slack seems to bring a healthy dose of cool to everything they do, they are iterating incredibly fast right now and seem to be hitting all the…

A simple project dependency viewer

Recently I faced an issue trying to get my head around a large codebase consisting of multiple solutions and many many projects. The difficulty was in trying to understand the interdependencies between these projects, espectially the ones that are in different solutions. There are tools to do this. NDepend has some neat stuff, Visual Studio Ultimate Edition can do some things and there are others.…