Frank on Software
  • About
  • Blog

Flysystem 3.0.0 is released

14 Jan 2022 • 3 min read

On the 13th of January 2022, version 3.0.0 of Flysystem was released. The library ships a couple new methods on the main filesystem and adapter interfaces, making it a breaking change that cause a major version increase. What changed?During the...

Flysystem 3.0.0 is released

Back the func off, this is my abstraction!

1 May 2021 • 8 min read

Integrating services over API's exposes your application to a range of possible failures. At scale, any network interaction can and will fail. Implementing a retry mechanism is a common approach to increase fault tolerance. Taking into account how systems fail when designing software...

Back the func off, this is my abstraction!

Testing without mocking frameworks.

23 Mar 2020 • 9 min read

Over the years, my coding practices have changed a lot. From hacking away until it works to TDD/BDD/DDD and everything in between. One of the biggest changes in my developer career has been when, why, and how I test my code....

Testing without mocking frameworks.

Array destructuring in PHP

30 Apr 2018 • 3 min read

In my day to day job I write in a number of programming languages. The majority of my time is spent writing PHP but I very much enjoy writing other languages, such as Go and Javascript, too! One of the things I like...

Array destructuring in PHP

Being in control of time in PHP

8 Mar 2018 • 4 min read

When developers talk about the infrastructural boundaries or external dependencies they often talk about databases and third-party integration. They're the first thing we'll put behind an interface so we can stub them out during our tests. This gives us some control over them....

Being in control of time in PHP

Regaining trust in your test suite with Docker.

19 Jan 2018 • 3 min read

Docker, and containerised services in general, have brought a lot to the world of software development. While not everybody is (or ever should be) using docker as their deployment method, it's usefulness far exceeds being just a platform to run services on in...

Regaining trust in your test suite with Docker.

Partitioning for concurrency in synchronous business processes.

1 Oct 2017 • 8 min read

The PHP landscape is getting more and more diverse. The typical PHP + MySQL combination is no longer the only way of doing things. Applications in PHP are not just fancy database wrappers anymore. The solutions we build today do far more than just...

Partitioning for concurrency in synchronous business processes.

Battle Log: Symfony Routing performance considerations.

28 Feb 2017 • 7 min read

Last week I took a deep dive into Symfony's Routing Component. A project I worked on suffered from a huge performance penalty caused by a routing mistake. This lead me on the path to discovering some interesting performance considerations. Some common practices align...

Battle Log: Symfony Routing performance considerations.

Finally, file streams, and deferred execution in PHP.

31 May 2016 • 4 min read

Cleaning up after yourself can be a tedious task. For example, closing file handlers after using them needs to be done. A programmer's life isn't all about the happy path. When things go pear-shaped you might end up duplicating cleanup code throughout your...

Finally, file streams, and deferred execution in PHP.

Pipelines, immutability and privates.

4 Dec 2015 • 3 min read

A recent addition to the PHP League was the pipeline package, which allows you to compose sequential operations. One of the key aspects of the pipeline is that it's immutable. During the development of Pipeline, I learned a few lessons that I'd like...

Pipelines, immutability and privates.

Packages vs. Components: The Dependency Problem.

26 Jun 2015 • 6 min read

The PHP landscape has fully transitioned into its Package Ageā„¢. Packagist is the main resource for retrieving new PHP packages: most frameworks split out packages from their main distribution to allow re-use outside of the framework. The world is a happy place. DISCLAIMER:...

Packages vs. Components: The Dependency Problem.

Rendering ReactJS templates server-side.

18 May 2015 • 7 min read

The last couple of months I've been working with ReactJS quite extensively. It's been a very rewarding and insightful journey. There is, however, one part that kept coming back to me: server-side rendering. How on earth am I going to use ReactJS when...

Rendering ReactJS templates server-side.
page 1 of 1

Stay up to date

Get the latest posts delivered right to your inbox. I blog about technologies and software engineering. If that's your cup of tea, be sure to subscribe!

Sign up or sign in.

Hi, my name is Frank

I'm a staff software engineer at Mollie Payments.

You can find me on:

    • Twitter
    • YouTube
    • GitHub
    • RSS