Skip to main content

My Favourite Browser Automation Tools

Recently, I wrote a blog article on my favourite browser automation tools. You can read the complete post on the blog of qajobs.co. Due to reasons of SEO deranking, I was asked not to re-post the content on my own blog which is why I’m merely linking to it. It was great fun collaborating with another blog! Cat image created with Bing AI

How I wrote an application to help me write a screenplay

Programming and writing are my two passions, although in different measures depending on my life state. I started writing a screenplay a while back but progress stalled. At the same time, my drive to program had been flaring up so what would have been better than to program a tool that supports my writing ambitions! Thus, the “Scene Mover” was born. This application allows me to compose a screenplay out of scenes: Instead of writing and adding scenes to one single document, this tool compiles a final script out of multiple files, one per scene.

mock-inspect: A simple way to achieve contract testing

This article is part of a series about the open-source Node.js testing library _mock-inspect_ of which I am the main contributor and author. Check out the entire series here! In last week’s article, we discussed how we can use mock-inspect to assert if and how the application under test makes network requests to API endpoints while simultaneously mocking out their responses. This week we are going to explore how we can use mock-inspect to implement a contract testing strategy without complicated frameworks like PACT.

mock-inspect: Mock network requests and observe how these requests were made

This article is part of a series about the open-source Node.js testing library mock-inspect of which I am the main contributor and author. Check out the entire series here! mock-inspect is an open-source library for Node.js which allows you to mock network requests in your tests and to inspect how these requests have been made in the application. Has the endpoint been called? Which request body and request headers did the application pass along?

Windows Subsystem for Linux

I have been using the Linux subsystem on Windows for a while now and I am quite thrilled about it. I do think that this is something everyone who is doing development on a Windows computer should set up. What the Windows Subsystem for Linux is (and what it isn’t) For a few years now, thanks to Windows 10, it has been possible to have a Linux subsystem available on your Windows operating system (often referred to as WSL).

How to make a blog such as this one with Hugo

Creating a new article in this blog is a matter of writing a new text file and pushing it to my GitHub repository - while keeping it 100% free. Here’s how I achieved it to be this simple. How to generate the website How to host the website How to generate the website I use the tool Hugo to create this blog. Hugo is a static site generator - this means that you simply feed it with some text files and it then spits out all of the files which form a complete web page.

Volunteering With My Programming Skills For A Non-Commercial Radio Station

During the Crimbo Limbo period between Christmas and New Years, I volunteered with my programming skills. That’s how it came to be that I built a tool to create a browsable music library for the non-commercial radio station Great American Songbook. This article discusses why and how. How I came to volunteer Building the tool Final thoughts How I came to volunteer For me, programming is like an itch. If I haven’t programmed in a while I start to feel fidgety.

Flushing Promises in JavaScript - what it is and why you need it in UI tests

“This UI test is flaky, why does it sometimes fail?” - “Could it be because promises were not flushed?” - “Huuuuh?” Chances are high that frontend developers will have had conversations like this. From my experience, many developers are still unaware of what flushing promises means and why we need it in automated tests of UI components such as with React or Angular. Let’s shed some light on this. All the example code can be found on this GitHub repository.