Gary Woodfine

Gary is Technical Director at threenine.co.uk, an independent software vendor specialising in IoT, Field Service and associated managed services, enabling customers to be efficient, productive, secure and scale-able in a way which helps them address and reduce their ecological impact. Threenine's Denizon product line successfully integrate IoT, Artificial Intelligence and Blockchain technology to enable efficient, productive, secure and scalable solutions to help organisations address increasing energy demands, ecological impact and Health & Safety concerns of their staff.

What is CQRS?

CQRS (*Command Query Responsibility Segregation*) specifies that
different data models should be used to for updating the database and read
from the database. Command and Query are two operations which infer read and
write respectively

Book Review: Domain Driven Design

Domain Driven Design is an excellent book that draws on the experience of Eric Evans, a software architect with over two decades of experience building large scale systems.

How to install Github CLI on Linux

The Github CLI is a great addition to your developer toolbox, and really simplifies your Day to day interaction with Github without ever having to leave the Terminal Window or opening a browser.

Book Review: Permanent Record

Permanent Record: Edward Snowden spies on the spies The whistle-blower’s memoir is insightful, with a nice line in tech-inflected imagery.

How To Use Homebrew Package Manager On Linux

Homebrew has spawned several sub-projects such as Linuxbrew, a Linux port now officially merged into Homebrew; Homebrew Cask, which builds upon Homebrew and focuses on the installation of GUI applications and taps dedicated to specific areas or programming languages and Frameworks like PHP & NodeJS etc.

What is a Linux package manager

On Linux a popular and common method of installing software is to make use of a Package Manager, but Package Managers can help users accomplish a number of tasks. In this post, I’ll take a deeper look into Linux Package Managers.

How to use Github repository templates

A template repository is a convenient tool start developing new projects with pre-configured starting template with all dependencies, structure and customised automation processes predefined and ready for coding.

Book Review: Traction

Traction will teach you the nineteen channels you can use to build a customer base, and how to pick the right ones for your business. It draws on inter-views with more than forty successful founders

How to use MediatR Pipeline Behaviours

MediatR Pipeline behaviours were introduced in Version 3, enabling you execute validation or logging logic before and after your Command or Query Handlers execute, resulting in your handlers only having to deal with Valid requests in your CQRS implementation

Rider

How to run docker compose files in Rider

JetBrains Rider provides Docker support using the Docker plugin. The plugin is bundled and enabled by default. For more information. In this post we’ll walk through the process of running a docker compose files in Rider.

The Mediator Pattern

Mediator pattern is used to reduce communication complexity between multiple objects or classes. The pattern provides a mediator class which handles all the communications between different classes and supports easy maintenance of the code by loose coupling.

Book Review: Head First Design Patterns

This book shows you the patterns that matter, when to use them and why, how to apply them to your own designs, and the object-oriented design principles on which they’re based. Join hundreds of thousands of developers who’ve improved their object-oriented design skills through Head First Design Patterns.

learning dapr

Book Review : Learning Dapr

authoritative guide to Dapr, the distributed application runtime that works with new and existing programming languages alike. Written by the model’s creators, this introduction shows you how Dapr not only unifies stateless, stateful, and actor programming models but also runs everywhere—in the cloud or on the edge.

How services work in Dapr

how to implement services and invoke them from other applications, which can be either aware of Dapr as they rely on its SDK or unaware of the presence of Dapr as they just invoke a local HTTP endpoint