Product Development
Custom software & product engineering.
Cyber Security
Empowering organisations to combat cyber threats.
AI & Data
Harness the power of your data & AI.
Training
Accelerated learning for developers.
Articles, tutorials, and the occasional opinion piece from the team
Read More >
The third in a series of three, introducing Functional Programming concepts.
The second in a series of posts introducing Functional Programming concepts. This post looks at the closely related concepts of...
With the increasing adoption of functional programming there are strange terms slowly moving their way from academic obscurity to mainstream...
Installing stuff is hard. Installing stuff is messy. Installing stuff is time consuming/expensive. As a trainer, I...
Tongue and cheek look at how Jack Nicholson channels programming languages
If you're looking for a new way to drive your software development, then look no further. Tests, Behaviours, Models and...
We are all prone to a little planning fallacy in our lives. From calculating journey times to completing everyday tasks,...
Introduction to using Spring Boot with Dropwizard Metrics
A brief introductory tutorial on how to combine ES6 and Angular 1
How leading agile software teams is not about one person giving orders
An introduction to using ObservableCollection in Rx and C#
Fear and imposter syndrome are common in the software industry. Where does this fear come from and what is...
How to create continuous delivery pipelines in Jenkins 2.0
A guide to using Ansible to automatically setup your OSX development environment
The importance of listening to your tests as a sanity check on your design
SIMD in Depth - Performance and Cost in C# and C++ (Part 2 of 2)
An introduction to SIMD and parallelism on a Single Core - SIMD with C# (Part 1 of 2)
Strengthening our creative practice through a fresh perspective on our own limitations and those imposed by others