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
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.
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.
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.