Tagging Cloud Run services via terraform

Written on 24 Oct 2024, 3 min read.

Today I learned the magic incantation to apply a GCP Resource Manager tag to a Cloud Run service via terraform:

resource "google_tags_location_tag_binding" "service" {
  parent    = "//run.googleapis.com/projects/PROJECT_NUMER/locations/REGION/services/SERVICE_NAME"
  tag_value = "tagValue/TAG_ID"
  location  = "REGION"
}

This came about while I was trying to create a public Cloud Run service within an organisation with domain restricted sharing policies enabled. Rather than YOLO-ing it via the CLI/console as that post suggests, I wanted to create the tags, values and bindings via terraform.

Continue reading...

On-call schedules must be flexible

Written on 08 May 2024, 5 min read.

You will recall that I believe on-call is a learning opportunity not simply a burden to be borne.

Effective scheduling is the first foundation required to realise that opportunity. It’s the best place to start because, unlike most technical system changes, adopting a flexible on-call schedule can be accomplished quickly and delivers immediate benefits.

Flexibility is key

The most important aspect of an effective on-call schedule is to minimise conflict between assigned on-call shifts and the many existing commitments that place demands on our time and energy. Attempting to balance time and attention between on-call and a conflicting committment adds stress to what is often an already stressful situation. That stress not only lowers the effectiveness of the on-call response itself but contributes to the feeling that on-call is a duty rather than an opportunity to learn.

Continue reading...

Mental models of on-call

Written on 01 Sep 2023, 5 min read.

The mental models in our heads shape every discussion. Understanding how they align or differ between participants in a conversation is an important aspect of effective communication. This is particularly relevant for topics such as on-call where a wide range of different experiences lead to strongly held opinions.

This post steps back from high-level discussion of the opportunity on-call offers to focus on describing two key mental models I use to think about on-call and the roles and responsibilities of the different people involved.

Continue reading...

On-call is an opportunity

Written on 16 Aug 2023, 8 min read.

For an audio conversation covering similar themes, check out my interview on the Slight Reliability Podcast.

On-call in software teams has a bad reputation. Niall Murphy’s 2018 polemic, Against On-Call is well worth a watch if you need a refresher on the many reasons why the reputation is justified.

Despite the current reputation, on-call can and should be an activity that every software engineer participates in and finds some measure of fulfilment from. Similar to how type 2 fun provides fulfilment after the fact even when not enjoyable in the moment.

Continue reading...

Designing a PCBA friendly CO2 monitor

Written on 27 Jun 2023, 13 min read.

co2mon.nz currently uses monitors based on Oliver Seiler’s open source design which I am personally building. This post describes my exploration of how to achieve production of a CO2 monitor that could enable the growth of co2mon.nz.

Goals

Primarily I want to design a CO2 monitor which allows the majority of the production process to be outsourced. In particular, the PCB should be able to be assembled in an automated fashion (PCBA).

Continue reading...

Ventilation Monitoring Market Research

Written on 14 Jun 2023, 7 min read.

Over the last month I’ve performed some market research to better understand the potential for co2mon.nz and to help me decide whether the product I’ve built has a fit with the market or not. The key conclusions I’ve drawn from this work are:

  • Air quality is acknowledged as important, but monitoring it is not an urgent or pressing problem for most people.
  • Most of the value is seen in the hardware rather than the software service.

Keep reading to hear more about the results that lead to those conclusions.

Continue reading...

Calling time on DNSSEC

Written on 02 Jun 2023, 11 min read.

I’m calling time on DNSSEC. Last week, prompted by a change in my DNS hosting setup, I began removing it from the few personal zones I had signed. Then this Monday the .nz ccTLD experienced a multi-day availability incident triggered by the annual DNSSEC key rotation process. This incident broke several of my unsigned zones, which led me to say very unkind things about DNSSEC on Mastodon and now I feel compelled to more completely explain my thinking:

Continue reading...

co2mon.nz

Written on 18 Apr 2023, 7 min read.

Previously, I explained why ventilation monitoring is important, and the opportunity I see to help accelerate deployment of high quality ventilation monitoring for small businesses and organisations.

In this post, I’m going to discuss my plans to tackle that opportunity:

My journey to ventilation monitoring

I started looking into ventilation monitoring in detail last year when I wanted to ensure that the classrooms of our local primary school were well ventilated during the Omicron outbreak. That research revealed that the existing products on offer were challenging to deploy in a school environment from a cost perspective while also not providing perfect functionality.

Continue reading...

Ventilation Monitoring

Written on 28 Mar 2023, 10 min read.

The importance of clean, fresh indoor air is one of the most tangible takeaways of the Covid-19 pandemic. In addition to being an effective risk mitigation strategy for reducing the spread of respiratory illnesses, clean, fresh air is necessary to enable effective cognitive performance.

Monitoring indoor air quality is relatively easy to do, but traditionally has not been a key focus. I believe air quality monitoring should be accessible for any indoor space, and for highly occupied indoor spaces should be provided on a continuous basis. This post explores the need and an opportunity for a business that can accelerate the adoption of ventilation monitoring through the following topics:

Continue reading...