Blog

Our thoughts on technology and design

Tech
We’ve been generating Software Bills of Materials (SBOMs) on client projects for several years now, and we’d like to share insights into the positive impact they’ve had on security, resilience and engineering quality, along with some considerations to bear in mind when working with SBOMs for the first time.
Artificial Intelligence
As the capabilities and accessibility of AI continue to advance—including more sophisticated reasoning capabilities and agentic deployment—several questions and risk areas emerge that really deserve our attention.
Podcast
In this episode, I'm joined by Scott Logic’s Sophia Ashley and Alix Dunn from the ‘Computer Says Maybe’ podcast for a wide-ranging discussion which poses ethical questions that are frequently ignored in the race for technological innovation.
Artificial Intelligence
Adopting AI-powered developer tools like GitHub Copilot and ChatGPT is a challenging yet rewarding journey that requires time, experimentation, and a shift in how developers approach their workflows. This post explores why these tools are hard to learn, how they disrupt traditional flow states, and offers practical advice for integrating them effectively into day-to-day coding.
Tech
In this post we will see how Thunks and Trampolines can help solve problems by converting deep stack-based recursion into heap-based iteration helping to prevent StackOverflowErrors
Tech
A brief introduction to Architecture with a straightforward definition of what it is, and different flavours of Architecture that you may encounter
Tech
While the HTML tag is simple, misusing it - such as omitting alt text, using images as spacers or buttons, or embedding text in images - can harm screen reader accessibility, SEO, and user experience. This post reviews 11 specific issues from a sample HTML snippet, stressing that images should be meaningful, accessible, and appropriately implemented. Thoughtful image usage not only improves inclusivity and performance but also reflects professionalism and attention to user needs.
Podcast
In this episode, I'm joined by colleagues David Rees, Hélène Sauvé, Ivan Mladjenovic and Emma Pearce. Together, we delve into the practical applications and limitations of agentic AI and its implications for enterprise AI deployments.
Tech
In this post we will see how Higher Kinded Types types can help increase the flexibility of our code and reduce duplication.
Tech
Following Advent of Code 2024, I migrated some of my solutions to run on a Raspberry PI Pico microcontroller
Artificial Intelligence
During the InferESG project, we made a pivotal decision to use an orchestrated workflow to conduct a deterministic process, parallel to the agentic system.
Artificial Intelligence
The AI developer tooling landscape has rapidly expanded from simple autocomplete to a complex ecosystem of assistants, agents, and AI-first environments. In this post, I propose a practical classification based on how AI is positioned within your workflow—from "arm’s length" tools like ChatGPT to fully "AI-first" environments like Cursor.
Tech
Learn about how Functors and Monads provide patterns to write cleaner, more composable, and robust code that helps us deal with operations like handling nulls, managing errors and sequencing asynchronous actions.
Testing
Developing a greenfield project inherently requires decisions to be made both up front and along the way that have the potential to dramatically steer the course of the journey. This is not just true for the development of the product itself, but also testing methodology and tooling.
Artificial Intelligence
In response to the FinTech Scotland innovation challenge we developed InferESG; augmenting ESG analysis and identifying potential greenwashing.
Sustainability
Oliver's reflections on the Sustainable AI and Data Centres type content at Data Centre World London March 2025.
Podcast
In this episode, I'm joined by colleagues Jess McEvoy and James Heward, and Atom Bank's Head of AI and Data Science, Russell Collingham, to explore the transformative impact of generative AI and the critical role of architecture in ensuring sustainable and scalable implementations.
People
Imposter Syndrome is a sector-wide problem and employers should be taking action to create an environment that works against it, not putting the problem back on the under-represented groups that feel it to solve. In this blog post I suggest some actions for the workplace to take in tackling imposter syndrome.
Artificial Intelligence
LLMs are not just limited by hallucinations—they fundamentally lack awareness of their own capabilities, making them overconfident in executing tasks they don’t fully understand. While “vibe coding” embraces AI’s ability to generate quick solutions, true progress lies in models that can acknowledge ambiguity, seek clarification, and recognise when they are out of their depth.
Tech
In this post we will see how Intersection types help us better model type constraints promoting reuse and how Union types increase code flexibility. We will compare and contrast approaches and how to use in the latest Java and Scala.

Authors