Blog

Our thoughts on technology and design

Testing
This blog is based on my experience as a tester and how it can be pressurising in certain situations. I have talked about the issues and how it can resolved and we can have a positive environment.
Data Engineering
Distributed stream processing engines have been on the rise in the last few years, first Hadoop became popular as a batch processing engine, then focus shifted towards stream processing engines. Stream processing engines can make the job of processing data that comes in via a stream easier than ever before.
UX Design
There are many directions a design can take when generating ideas for a project. Sketching can quickly get the ball rolling and help you look beyond perfection, ensuring you can continually iterate with minimal cost.
UX Design
Last week I attended the annual UX Scotland conference. In this post, I will share my experience of the event and some of the insights I gained.
UX Design
Protecting users’ privacy and security is often seen as a task for developers. However, UX designers can work alongside developers and play a role in that. In this post, I present a few ways in which designers can help users protect their data.
Delivery
An MVP is a product that has just enough features to add business value. Typically you quickly learn from it to improve on subsequent releases or inform business decisions. MVP is also a buzzword and many have tried to constrain its definition. However, when people talk about MVPs, they mean different things. In this post, I describe the 3 types of MVPs that I encountered.
Tech
Code examples and definitions of the SOLID principles to show how easy it is to voilate them and how you can refactor code to adhere to them.
Tech
With AWS Lambda you pay for execution duration, which means that sleeping or waiting during execution has a direct impact on your bill! This blog post takes a look at how to make AWS Lambda functions sleep, without incurring costs, via AWS Step Functions.
Tech
Managing state in an application can be tricky, even more so with many moving parts like in typical forms. In this article I consider when it is appropriate to use Redux and Redux Form to manage the state of a form in a webapplication
Testing
During this post, I will offer you, the unfortunate reader, the unsolicited and equally unneeded, benefit of my advice as an "expert" (*cough*) veteran of 1 public speaking engagement. Look out for my top tips, they are sure to be about as much use as the 'open here' arrow on a miniature sachet of tomato sauce.
Tech
The F# language has many features which can lead to expressing complex domains in a terse and typesafe way. To show this we can codify the world of Dogshorts, the private school for young witches and wizards.
Tech
Nobody looks forward to conflicts when collaborating on code. There are things we can do however to minimise unwanted ones, promote useful ones, and make them easier to solve correctly.
Tech
The WebAssembly specification is evolving, with many new features on the way. This blog post makes one of these future features available today, multi value returns, using the Babel approach of transpiling.
Careers
The four most helpful tips for getting a job offer from a careers fair based on my successful experience at the SiliconMilkRoundabout event last year.
Delivery
Scaled Agile Frameworks can be used to upscale agile practices for multiple development teams. Here I consider when it can go right, when it can wrong and some pitfalls to watch out for.
Testing
A bad beginning... A testing bedtime story that even Crackanory would reject for transmission on the basis it was too crackpot and twisted to be credible. Gather closer my precious readers, sitting comfortably? Good, then I can begin. Abide me carefully because I am going to tell you the secrets of how to have a magic unicorn, hen’s teeth, Harry Potter, automate-the-lot, works every time, end-to-end automated checking solution..... Alas, no chickens, I am not, because there is no such thing. The End. Sleep well all.
Testing
This is the second post in the series on adding security testing into your workflow - how to actively scan a website for security vulnerabilities using OWASP ZAP
Tech
It seems that everyone is trying to build a microservices based system these days. Some of those attempts succeed when others fail miserably. In this article, I will look at one thing that often connects the winners- the use of DevOps practices and culture.
Tech
WebAssembly is a new language for the web, although unlike JavaScript it's not a language you are expected to use directly. However, it is actually possible to write WebAssembly directly by hand and it turns out this is an educational and enjoyable process, which I will explore in this blog post.
Resources
WebAssembly is a new runtime for the web; a fast and efficient compilation target for a wide range of languages that could have a far-reaching impact on the web as we know it. This paper looks at at the performance limits of JavaScript and how WebAssembly was designed to tackle them.