Here’s an overview of all the ways I’ve found to iterate an enum in TypeScript. I was particularly looking for how to iterate over the value of an enum, but still have the strongly typed value, instead of the underlying (string) value. But I decided to make this post about all possible ways I know of. Default Take this enum: Now add this code to log the values: Note: I’m using a separate log function to show what type the

There’s a Catch-22 hidden in the arguments that many people use to rationalize not writing tests. The Catch A Catch-22 is a situation that you can’t escape out of due to contradictory rules or limitations. In case of automated tests for software, the arguments often go like this. At the start of the project, both developers and managers say that the project is too young and changing all the time. There’s also market pressure to get something minimal out there

I recently had a call with Carlos Schults who will be giving an ASPE course on Git and GitHub I developed. We discussed how talking for an entire working day can be stressful on your voice. I recently experienced the same while recording a LinkedIn Learning course (more on that later). Luckily, my wife is a speech therapist and could provide me with some tips. Disclaimer Everyone usually skips the disclaimer, but this one is important. Not only am I

At a current client, we’re looking to move (most of) our AWS Lambda functions to NestJS. The company has built up an extensive collection of Lambda functions and it’s time to bring some structure and similarity in them. But NestJS is geared towards incoming HTTP calls. This is fine if your Lambda function is behind an API Gateway, but is it possible to use NestJS if your Lambda function should be triggered by SNS events? Uniformity? Those who know me,

I’ve written about Property-Based Testing for .NET previously. It’s a way of writing unit tests with random (but constrained) inputs. This means your tests are run multiple times with different inputs and your code is tested more thoroughly. You might even find bugs you didn’t know were there. As I’m working quite a bit with TypeScript these days, I decided to look into property-based Testing with TypeScript. At my current client, we use Mocha for our unit tests, so let’s

I love Visual Studio Code. I love the Windows Subsystem for Linux (WSL). Ever since I had to do Python development, I use the WSL for almost all of my non-.NET work: PHP, Python, Typescript/Node.js. That means running Visual Studio Code in Windows, but running the program in Linux. Up until now, I was missing one important feature: debugging support. Luckily, there’s an extension now. Previously, I had to “debug” by adding console.log statements everywhere. Needless to say, this is

There are many meetups and events about software development in Belgium, but they’re mainly located in and around bigger cities like Brussels, Antwerp and Ghent. This isn’t always practical for people in Bruges. Which is why we’ve started a group that will organize meetups and events in Bruges. Driving 40 minutes to an hour may not seem like a big deal to some. But doing so on a weekday, with a child that needs to be put to bed, makes

This post was written for theĀ  Scalyr blog . You can find the originalĀ  here . Logs come in a variety of formats and are stored in multiple different locations. Getting insights from all of these logs isn’t a trivial task. Microsoft Log Parser is a tool that helps us extract such information easily, using a SQL-like syntax. It supports many different input and output formats. But it also has some limitations because of its age. Introducing Log Parser According

I recently had to provide some numbers on AWS Lambda cold starts. These aren’t readily available in the AWS console. In fact, I couldn’t find a way anywhere online. There are lots of articles about AWS Lambda cold starts, how to avoid them, but none on how to measure them (without code changes). Here’s at least one way you can list the amount and duration of your cold starts. What Is a Cold Start? AWS Lambda functions are (intended to