Open in app

Sign In

Write

Sign In

Chris Harrison
Chris Harrison

58 Followers

Home

About

Apr 20, 2021

Running Sneakers workers on Kubernetes

These are some notes on stuff I discovered when delving into running Sneakers workers on Kube recently. Allow Sneakers to receive SIGTERM Sneakers has good graceful shutdown handling built-in. When it receives SIGTERM, Sneakers will: Stop consuming the queue Finish any work that’s in progress on messages that have already been pulled from the queue. …

Ruby

2 min read

Ruby

2 min read


Oct 23, 2019

Reframing the DRY principle as DRUM

As a fledgling programmer you’re bombarded by commandments telling you what’s considered right programming and wrong programming. These edicts can seem very useful and on the surface seem irrefutable. But if they are applied without deeper thought they can do more harm than good. One of the worst offenders is…

Programming

3 min read

Reframing the DRY principle as DRUM
Reframing the DRY principle as DRUM
Programming

3 min read


Sep 26, 2018

A forgiving command loader for Symfony Console

This article summaries a solution to the problem of calling and listing commands in Symfony Console when at least one of the commands is not instantiable. The problem By default, Symfony will instantiate all your application’s commands when initialising. …

PHP

2 min read

PHP

2 min read


May 1, 2018

Mutating nullable composites

This article is about convenient and safe mutations of composite value objects that implement the null object pattern. Here’s an example of a composite value object. It’s a user that has two subtypes: an email address and a name. final class User { private $emailAddress; private $name; …

PHP

2 min read

PHP

2 min read


Feb 17, 2018

How I learned to stop worrying and love the trailing comma

In this article I explain why I’ve grown to accept trailing commas in code. Consider the following two examples: A: $characters = [ 'Odo', 'Sisko', 'Garak', ]; B: $characters = [ 'Odo', 'Sisko', 'Garak' ]; Which one looks neater? Personally I think B is neater. It’s also grammatically correct. The…

Json

2 min read

How I learned to stop worrying and love the trailing comma
How I learned to stop worrying and love the trailing comma
Json

2 min read


Feb 3, 2018

Speedy Composer installs in Docker builds

I’m going to share a few optimisations you can make to speed up composer installs in Docker builds. Prestissimo Turn off Xdebug Composer install before codebase 1. Prestissimo Prestissimo is a spiffing plugin for Composer which parallelises all the downloads. You just have to install it to see sometimes large speed increases…

Docker

2 min read

Docker

2 min read


Jan 16, 2018

A better way of writing value objects in PHP

At my company, Funeral Zone, we’re into Domain Driven Design. We’ve been writing value objects in PHP for two years but have recently refined our approach. This article explains our philosophy behind implementing value objects in PHP 7. We’ve open-sourced our value objects library on Github. Quick introduction to value objects A value object is…

Programming

3 min read

Programming

3 min read


Dec 20, 2017

A lightning introduction to event sourcing

On December 7th 2017 I gave a talk at Tech Exeter about event sourcing. In a nutshell, event sourcing is about changing your persistence strategy to be event-centric as opposed to data-centric. Tech Exeter is a community, conference and co-working space for tech people in Exeter, UK.

Event Sourcing

1 min read

Event Sourcing

1 min read

Chris Harrison

Chris Harrison

58 Followers

Software engineer

Following
  • Daniellaskinner

    Daniellaskinner

  • Timothy Teoh

    Timothy Teoh

  • Rhett McLaughlin

    Rhett McLaughlin

  • Hui Qin Ng

    Hui Qin Ng

  • Raúl Truco

    Raúl Truco

See all (34)

Help

Status

Writers

Blog

Careers

Privacy

Terms

About

Text to speech