Skip to main content Arjen Wiersma

Arjen Wiersma

My name is Arjen. I am a Cyber Security Consultant for Scyon. I help organisations with their Application Security, Offensive Security and (Cyber) Business needs. Roles that I like to fulfill: Engineer Manager, Senior Developer (Java), Architect, (C)ISO.

I have been in the software and security industry for almost 30 years and have worked in:

  • Internet providers (Chello / UPC, Tiscali - NL): Java
  • Startups (Personify - USA, eBuddy - NL): Java, Big Data
  • Healthcare and FinTech (Infomedics - NL): Java and dotNet - Managed the IT and Development teams
  • EduTech (NOVI - NL): Managed the development team building in Serverless, Javascript
  • Education (Hogeschool van Amsterdan / NOVI - NL): teaching software security and software engineering courses
  • Cyber Security (Independent): helping organisations with their security posture

I am a member of:

  • NLJUG: The dutch Java user group
  • VERSEN: The dutch association of software engineers
  • OWASP: The OWASP Netherlands chapter

In 2024 I completed my Masters’ Degree. My research topic was BiDE, a language and architecture for the creation of bidirectional diagrammatic editors. In essence a way to modify program text using diagrams and text at the same time, allowing stakeholders of different backgrounds to work on the same system at the same time. I worked on this thesis with Bastiaan Heeren (Open Universiteit) and Jurgen Vinju (Centrum Wiskunde en Informatica).

In my spare time I love to explore the cutting edge of software engineering, exploring new languages such as Rust, Clojure and Golang in combination with Large Language Models and their novel applications.

I toot on the fediverse as @credmp@fosstodon.org and on @arjenwiersma.nl on Blue Sky.

Find my longer form writings in the Writing Category.

The views on this site are my own.

Recent posts

  1. Advent of Code 2025 Day 5

    Day 5 of solving The Advent of Code in Clojure .

    It was a hectic day, and it is not even over yet. I had multiple trips to the vet while trying to get some work done. To relax a bit I worked on the puzzle of the day. In hindsight I was way too cautious with my solution, but then again, it is to solve a puzzle :D

    The first thing to figure out is that a list of numbers is in a collection of ranges. Reading in the file and parsing it to numbers is something that has been done the entire week already, then it is a matter of taking the list of ingredients and mapping over the inventory, filtering out the ones that are not in range.

  2. Advent of Code 2025 Day 4

    Day 4 of solving The Advent of Code in Clojure .

    The first grid problem of the season! The first part was really suspiciously easy, read in the grid, find all the rolls and look at its 8 neighbors, eliminating it if there are less than 4. The 2nd part was a nice progression on this.

    Instead of just saying how many should be eliminated, we do it until there are no eliminations possible. This is highly reminiscent of a Conway Game of Life puzzle. In Clojure this is quite nicely done by reading the grid as a vector, and then ranging over all the coordinates. On each coordinate just take a look at the neighbors and apply the logic. Its pure nature means that the functions are already working in the right way to do this repeatedly.

  3. Advent of Code 2025 Day 3

    Day 3 of solving The Advent of Code in Clojure .

    The puzzle today has us figuring out the joltage of a bank of batteries. This is a puzzle of the type “largest sequence in a list”. When you start you already know that part 2 will be something that a naive approach will not be able to handle, but I still did part 1 with a naive combination function.

    The Clojure combinatorics library will not work here, as it will take a look at the distinct pairs that will be in the list. So in a list of (2 8 2) it will find the unique pair of (2 8), resulting in the integer 28 for the puzzle, but it will fail to see that 82 was also an option.

Recent notes