Arjen Wiersma

the

So, today I have some news. I will be resigning as Ambassador for Hack The Box after our in-person meetup in June (2024). This means that I will be stepping down from organizing the monthly virtual and quarterly in-person Hack The Box meetups. Let me explain how I got to this decision.

The beginning {#the-beginning}

So, in 2019, I started out building a cyber security curriculum for NOVI Hogeschool. I had the ability to greenfield the courses and create something that is of value to students. In this curriculum I started using Hack The Box for exercises and training next to the regular classwork.

As more and more of my students went through the program I thought it would be cool to get together with the community in a meetup. I contacted Hack The Box and after a little work, the Hack The Box NL meetup was born. This was end of February 2020, and we were aiming for our first meetup in April of 2020. As you all know, the world changed in those days and our plans went into the dumpster. Instead we started hosting a monthly online meetup.

Only when our meetup turned 2 were we able to have our first in-person event. For me and my co-hosts it was a great learning experience to understand how to successfully organize an in-person event, from WiFi to the amount of pizza's that a group of hungry cyber-nerds will consume. For the first event we had our great friends from Hack The Box come over and join us. Check out this after-movie to get a sense of the scale and spot my “psycho”-face somewhere in the video.

The community {#the-community}

Since the early days the community has grown so rapidly. At the time of the blog post we are well past the 1800 members and we are growing to 1900! Of course these are not all people that show up at every meetup, but they come and go. Generally an in-peron meetup will have somewhere between 50 and 100 people attending. Our online meetups will have about 30 to 50 people RSVP-ing to join.

{{< figure src=“/ox-hugo/meetup-christmas-scaled.jpg” caption=”Figure 1: Christmas meetups require a \“foute\” christmas sweater” >}}

The community is full of regulars, people that only swing by for the in-person meetups, and people that just try to figure out if cyber security is a fit for them. I loved meeting every single one of you all. It was such an experience to see friendships grow, skill-sets expand and people step up to actually present in front of a crowd.

Making Friends {#making-friends}

The very first person to ever log into the meetup was @GevuldCookie. She entered the zoom call when I was anxiously waiting for somebody to actually show up. In the same first meetup @DutchPyro joined and after some chatting and exchanging ideas we have been organizing the discord and meetups together ever since. A few years in and @Salp joined as a co-organizer.

Earlier this year we even had our first meetup-baby being born. How special is that?

As the meetup has been online most of the time I have made friends all over the globe, from Egypt to India, from South Africa to Ottowa. It has been quite extraordinary. Charles, from the Texas meetup, dropped by in Utrecht while on holiday in Europe. I went to Lissabon and met up with Pedro and we became such good friends.

{{< figure src=“/ox-hugo/pedro.jpg” caption=”Figure 2: Meeting up with Pedro in Portugal” >}}

The list of people that have meant something to me and the meetup is extremely long, from Hack The Box we have had Soti, Kristi, Stella, Emma, Austin, Shaun, Bran and so many more. We also have had a quite large regular group of people joining every month. I started listing names here, but that entire list would be so long and I would certainly forget specific people. So just know that if you were a regular I loved the time that I spent with you!

The cost of a meetup {#the-cost-of-a-meetup}

As a meetup we were extremely lucky that NOVI flipped the bill for our in-person events. Imagine ordering 40 to 60 pizza's at your favorite place.... But the cost of organizing is much greater then just that, the amount of personal time that I have spent working on getting the meetups together, chasing down guests and getting things organized is quite something and this is exactly the point where it breaks for me.

After more then 4 years constantly worrying and working on the meetup, even planning my own family life around the meetups (I kid you not, we planned our family holidays so that they did not conflict with the meetups), it has been enough.

Being so involved has taken the joy out of Hack The Box for me, a price I have gladly paid, but a joy which I would like to get back. So for me that means stepping back, letting other people pick up a great meetup and giving it a bright new future.

The end {#the-end}

Every beginning must have an end, and an end makes way to new beginnings. So does this step. Yes, the Hack The Box meetups are over for me after the June meetup, but with NOVI I will continue working for our community. I will continue being involved in the Hack The Box community in various ways, just not organizing monthly meetups.

We (NOVI) already host a weekly hacking session on Friday morning where we tackle Hack The Box machines and other types of challenges. Besides that we organize many different types of workshops and events across the areas of our curriculum (cyber security, development and business).

In the next year we will be hosting a quarterly event dedicated to security in a broader sense, and crossing over to the development realm. These events will line up with our starting moments in the school year. You can stay in the loop by registering on our meetup (https://www.meetup.com/workshops-novi-hogeschool/) page or follow me on LinkedIn (https://www.linkedin.com/in/credmp/).

As I am stepping back from my work on the Dutch Hack The Box meetup I am looking forward to exploring new events and opportunities to teach people about this wonderful field.

As the warm haze of summer gives way to the crisp air of autumn, the season marks a pivotal moment in my academic journey: the commencement of my Master's thesis project. Having successfully had my research proposal accepted earlier this year, I now face the last leg of this marathon—bringing my theoretical framework to life.

The Powerhouse Partnership: Open Universiteit and CWI {#the-powerhouse-partnership-open-universiteit-and-cwi}

While undertaking a Master's thesis is a significant endeavor on its own, I always have to make it more complex. My research will be a collaborative effort between two prominent institutions: the Open Universiteit and the Centrum Wiskunde & Informatica (CWI).

The CWI is not just another research facility; it is a cornerstone in the Dutch digital landscape. It has been the crucible for pioneering advancements that have indelibly shaped our digital world. To name a few highlights, CWI is the hallowed ground where the first-ever internet connection was established, where the Python programming language was conceived, and where countless other groundbreaking technological milestones have taken root. In my venture, I will be joining forces with the SWAT group, a team that specializes in Software Analysis and Transformation.

Introducing “BiDE”: Bridging the Gap Between Code and Visualization {#introducing-bide-bridging-the-gap-between-code-and-visualization}

At the crux of my research is the creation of a novel visual language designed to facilitate intuitive code editing. Dubbed “BiDE”, short for Bidirectional Diagrammatic Editors, this language aims to serve as a transformative tool in how we understand and manipulate code.

Imagine a scenario where you're faced with an enigmatic, complex piece of code—a labyrinth of loops, conditionals, and functions. Traditionally, you would have to painstakingly dissect each line, trying to visualize the underlying architecture mentally. With BiDE, that approach is poised to become a relic of the past. Instead, a streamlined diagrammatic representation of the code will pop up, offering you a high-level overview.

What sets BiDE apart is its bidirectional functionality. Not only can you comprehend the structure of the code through its visual depiction, but you can also make edits either in the diagrammatic interface or the source code. The brilliance lies in their synchrony; changes in one environment are automatically reflected in the other, keeping both up-to-date in real-time.

A Journey of Discovery, Planning, and Adaptation {#a-journey-of-discovery-planning-and-adaptation}

As I've begun work on my thesis, I've quickly noticed that the process is surprisingly open-ended. Aside from regular meetings with my supervisor, there's not much of a predefined structure. This makes the ability to plan and organize my work even more crucial than before. Without a strong framework, it's easy to get lost in the complexity of the project. So, while the flexibility offers a lot of freedom, it also comes with the responsibility to be my own taskmaster, making sure each piece of the puzzle fits just right.

Staying Connected {#staying-connected}

As I move forward, I will update you on the developments, challenges, and breakthroughs of this endeavor.

Background {#background}

I have been working on getting my Master's degree in Software Engineering. To do this I have started following courses at the Dutch Open Universiteit. They have a Master's program that takes 2 years and you are able to follow it from home.

As this is my first post on the courses, I will give some background. As a teacher it is recommended to have a Master's degree. As I had a whole lot of work experience my teaching activities were not a problem, but from an overall point of view I was advised to pursue an Master degree. As my highest educational level up to now is a Bachelor I first had to follow a pre-master program before I could start the Master program. I will write about my experiences of the pre-master program later.

Software Quality Management {#software-quality-management}

I just finished the Software Quality Management course. It was a fun course that focused on the maintainability of code and measuring objective quality metrics. As is usual in a Master you read a lot of papers on the topic, from McCabe's complexity measure to Fuggetta et al. on the evolution of the software development process. All these papers were very interesting and have given me insights into the evolution of software development. It was enlightening to offset those papers with my own experience.

Most of the papers are from the late 1990's up to the early 2010's. During that time I worked in Silicon Valley and within the Dutch startup environment. All these companies were on the frontline of new technologies and methodologies. The papers hit home most of the time. Several papers on the implementation of Scrum and how software evolves felt a bit one-sided from an academic point of view, but that did not bother me too much.

The Rascal Programming Language {#the-rascal-programming-language}

One of the more interesting parts of the course was to write our own metric collection and visualization in the Rascal Meta Programming Language. Rascal is a domain specific language that allows you to reason about source code by building models and then querying these models.

In my group we implemented metrics collection for unit size, complexity, duplication and code coverage (testing). These were very interesting problems to attack and the result was a very cool visualization using D3js.

The project hit a happy place for me. As a result I going to work on an extension for Rascal for my Master Thesis.

References {#references}

Some of the articles that were used in the course are listed below.

  • McCabe (1976) A Complexity Measure, IEEE Transactions on Software Engineering.
  • Fuggetta, Di Nitto (2014) Software Process, ACM.
  • Bennett, Rajlich (2000) Software Maintenance and Evolution: A Roadmap, Association for Computing Machinery.

#education