Tim Retout

Blog Posts

Reflections on OSSF London 2021

On Tuesday I attended the Open Source Strategy Forum in London, which is a meeting of the Fintech Open Source Foundation (FinOS), part of the Linux Foundation. (There is a New York version coming up in November for those across the pond.) The morning keynotes included Gabriele Columbro introducing the day, then Russell Green highlighting the progress FinOS has made; Liz Rice of CNCF fame with an inspiring talk about contributing back to upstream; an interesting conversation between Nick Cook and Jane Gavronsky about innovations in financial regulation, and finally a presentation from Andrew Agerbak of BCG about how open source can help banks move to public cloud. …(more)

October 7, 2021

GCP - Planning for the Worst

Last month, Google Cloud published Planning for the Worst: Reliability, Resilience, Exit and Stressed Exit in Financial Services. This happens to be a topic I have previously worked on, so I was very interested to hear the perspective that GCP would bring. The wider industry context here is that regulators are very interested in potential risks to the financial system arising from the wholesale migration to cloud computing; in March 2021 the Prudential Regulation Authority in the UK published two supervisory statements closely related to the topic, including Outsourcing and third party risk management, which introduces the concept of a “stressed exit”. …(more)

October 4, 2021

Maglev Load Balancers

Maglev is the codename of Google’s Layer 4 network load balancer, which is referred to in GCP as External TCP/UDP Network Load Balancing. I read the 2016 Maglev paper to better understand various implementation details of Maglev with an emphasis on security (in particular as affects availability). Maglev uses a scale-out approach, implemented within clusters built from commodity hardware achieving n+1 redundancy, providing greater tolerance to failure compared with traditional hardware load balancers deployed in pairs (only 1+1 redundancy). …(more)

September 28, 2021

Google Workspace Super Admins

I recently had cause to remind myself of Google Workspace administrator account best practices. Briefly: Set up separate admin accounts, e.g. [email protected] to exist side-by-side with [email protected] Keep accounts individually identifiable, and ideally ensure there are multiple Super Admins in your organization.1 Avoid using [email protected] for day-to-day use. One of these Super Admin accounts must be set as the primary account contact, but (due to the previous point) you’re unlikely to be checking the emails very often. …(more)

September 19, 2021

Go Trie Benchmarks

After writing a trie I wanted to better understand its performance, so I wrote some benchmarks against various other Go implementations for storing UK postcodes. At some point since the new year I entirely replaced the implementation from my last post with one that more closely matches the “pure” trie described at the start of TAOCP 6.3; i.e. a table of nodes, consisting of a list of entries, where each node entry can be either a link to another node, or a key (that is, an entire string stored in the trie). …(more)

January 10, 2021

Golang Trie

A trie (pronounced either “tree” or “try”) is a data structure typically used to store a set of strings in a way that allows looking up by prefix efficiently - i.e. unlike a hashmap where the keys are randomly ordered - this makes it a reasonable choice for an autocompletion system. A possible advantage over binary trees is that the keys are not stored in full in each node - so if you have a large number of strings which often have overlapping prefixes (e. …(more)

December 31, 2020

Focusing on Ingenuity

I am led to believe that New Year’s Resolutions seldom work, and that a more effective approach to goal setting is to choose a theme for the year. This makes sense to me, as in hindisght 2020 threw up a few surprises. Last January, buoyed by my success in gaining various technology-related certifications, I wrote that I would focus on learning; at that time I intended to engage in more formal study, but subsequently rediscovered how little I enjoy essay writing! …(more)

December 28, 2020

Bin Calendar

Around this time each year it is especially useful to know when the rubbish is due to be collected by the local council, since the schedule is inevitably disrupted by the holidays until well into January. In fact where I live we have fortnightly collections, with different types of bin collected on alternate weeks, so I never find it easy to remember which bin is due to be put out. …(more)

December 28, 2020

seL4 on Raspberry Pi 3 in AArch64 mode

Several references exist that document how to run seL4 on the Raspberry Pi 3 in 32-bit mode. One annoying paper cut encountered when getting this working is the need for a custom u-boot - either a binary distributed by the authors of seL4, or reverting a particular commit in u-boot. A recent release of seL4 mentioned AArch64 support for RPi3. I’ve got it running, and it appears to avoid the need for a custom u-boot. …(more)

May 11, 2020

Lockdown

It seems right that I should mention the pandemic on my personal blog; I doubt very much that I will say anything original or interesting, but it would seem strange to look back on my writings from 2020 and see nothing about COVID-19. I had to check this, but I have been staying at home since Monday 15th March, save for occasional walks around the park. (UK schools closed on 20th March, and we officially announced the lockdown on 23rd March, but our house started a bit early due to having a mild cough. …(more)

May 6, 2020

Qualifications

Architecture
  • AWS Certified Solutions Architect - Associate
  • Google Cloud Certified - Professional Cloud Architect
  • TOGAF® 9 Certified
  • BCS Certificate in Enterprise & Solution Architecture (Intermediate)
DevOps
  • AWS Certified DevOps Engineer - Professional
  • Google Cloud Certified - Professional Cloud Developer
  • Certified Kubernetes Administrator (CKA)
Security
  • AWS Certified Security - Specialty
  • Google Cloud Certified - Professional Cloud Security Engineer
  • Certified Information Systems Security Professional (CISSP)
IT Service Management
  • ITIL® Foundation Certified

Experience

Principal Consultant

PA Consulting · London, UK

Helping clients deliver secure solutions in the cloud.

October 2019 - Present

Solutions Architect

CV-Library · Bedford, UK

Technical leadership role for four development teams, with around 20 developers and testers.

April 2015 - October 2019

Software Development Manager

CV-Library · Fleet, UK

Line manager for 10 developers and testers, managing the quality and performance of the teams.

April 2012 - April 2015

Software Architect

Smoothwall · Southampton, UK

Technical lead for the four Scrum project teams (16 developers and testers), responsible for the technical direction of the company, and architectural decisions.

April 2011 - April 2012

Software Developer

Smoothwall · Southampton, UK

Specification, design and development of complex software systems. Establishment and documentation of customer requirements, including user telephone interviews and site visits.

August 2009 - April 2011

Technical Engineer

credativ · Rugby, UK

Third-line support and systems administration across a wide range of open source software installations, often demanding learning new technologies quickly.

September 2007 - August 2009
Nifty tech tag lists from Wouter Beeftink