Skip to main content Arjen Wiersma

Posts

2023

  1. Advent of Code 2023 day 8

    Somewhat suspicious of 2 easy days we end up at Day 8. A simple map to follow again, from one key follow the instructions until we hit ZZZ. Part 2 had us do it for several keys at once, with the goal to find the spot where they all converge. This can take forever, erhm, a long time.

    So there has to be a math type solution to this problem. It turns out to be a Least Common Multiple problem. It is the smallest positive integer that is divisible by two or more numbers without leaving a remainder. To find the LCM of two or more numbers, you can use a method called prime factorization or a simpler approach involving multiples. We can also use the Greatest Common Divisor (GCD) to find the LCM.

  2. Advent of Code 2023 day 7

    Today we learned about CamelCards, a game of poker meant to play on the back of a camel. The most interesting part here was the parsing of the cards and figuring out how to properly rank them. Part 2 turned out to be as easy as tracking Jokers.

    go code snippet start

  3. Advent of Code 2023 day 6

    Day 6 turned out to be the easiest day in the range so far. A simple implementation of the algorithm was more than sufficient.

    I later learned that it was a quadratic function. On the subreddit Deatranger999 said:

    If you hold down the button for x seconds, then you will beat the distance if the quadratic x^2 - t x + d is at most 0, where t is the total time of the race and d is the distance you’d like to beat. So I just plugged each one into WolframAlpha, found the roots, and then calculated the number of integers between the two roots.

  4. Advent of Code 2023 day 5

    Today was an interesting problem. We are basically given a map to follow based on a number, possibly transforming the number at each step. With a single number this is quite simple, just apply the rules and step through each set of transformations. The problem becomes tricky when it turns out we have to deal with enormous ranges of numbers. On the subreddit some people reported their implementation to take hours and use 20GB of memory.

  5. Advent of Code 2023 Day 4

    The difficulty is going up and down. This day was quite easy in comparison to yesterday. Today it was about parsing some numbers and finding a set of winning numbers.

    As I am doing these puzzles in Go I found out that there is no default set type. There is an implementation by HashiCorp named go-set that fills this void. I did not use an external package (I try to avoid them while doing AoC), but I am very tempted to pull that package in.

  6. Advent of Code 2023 Day 3

    Day 3 was quite something. I think that in an attempt to make it harder for AI to solve the puzzles the creators also increased the difficulty level of the base puzzles a little too much. The test was not very clear as to what should happen with negative numbers and it might trip people up. The puzzle itself is a great to exercise grid knowledge as you have to work with neighbors and you have to extend the numbers when you find them. Part 2 was just some bookkeeping on my existing implementation, so it was not too much work.

  7. Advent of Code 2023 Day 2

    Day 2 was another fun challenge. Lots of splitting of strings. I wonder if there is a better way to filter out the min and max value from the separate grabs.

    I am sure I will not be able to complete all challenges this year, but so far so good.

    go code snippet start

  8. Advent of Code 2023 Day 1

    The Advent of Code has started again. At NOVI we participate with a group of our students. We use the AoC throughout the entire curriculum as practice exercises to learn new programming languages or the application of data-structures and algorithms.

    Day 1 was a tricky start for most people. Part 1 was not too bad, but part 2 tripped most people up. I guess the idea was that you would have to solve the challenge with an array iteration, but most students tripped up. They tried to match each word and replace the occurrence in the text, running head-on into the edge-case where 2 numbers overlap, such as “eightwo”.

  9. Embarking on a Journey to Revolutionize Code Editing: The Birth of "BiDE"

    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

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

  10. Perfectionism leads to procrastination and paralysis

    Working on my thesis research proposal has been quite the journey, and not always in the direction I would have chosen. A personal revelation that struck me during the process is the tight and rather vexing relationship between perfectionism, procrastination, and paralysis.

    It’s often said that the perfect is the enemy of the good. In my quest for the ‘just right’ words to articulate my thoughts, I found this saying to be glaringly accurate. The ticking clock became a dull backdrop to my cerebral scavenger hunt. My concentration started to drift and instead of zeroing in on my research proposal, I found myself fixated on, of all things, the color scheme of my desktop environment.

  11. Using AI in academics

    Using AI, in particular generative models such as GPT, are in contention within academics. The purity of academics resides in students writing on their research and having their work peer-reviewed. But how can you now be sure that the student wrote the paper and how can you trust its content? Many universities, including the OU have written about it. The OU published an article in Modulair about it. Generally, the consensus seems to be that it is ok to use AI as an assistant, but you must write your texts.

  12. Starting my Master Thesis

    Today, I took the first step towards starting my master’s thesis. I have decided to document my journey and experiences on my blog. Given that the thesis will play a pivotal role in my life for the next nine months, I expect it to be a thrilling journey.

    Finding a topic

    As a student at Open Universiteit in The Netherlands, I had the opportunity to work with the Rascal programming language during the Software Quality Management course. I found the language intriguing and enjoyed working with it throughout the module. After consulting with my professor, we brainstormed various possibilities for my master’s thesis topic, ultimately settling on the creation of a visualization library for the language.

  13. Open Universiteit: Software Quality Management

    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.

  14. Badge Challenge 3

    Original Post

    During each in-person Hack The Box meetup I have a small badge challenge that will give the first solver of the challenge a price. at the meetup of March 2023 there will be a very nice little challenge to be done as well, a beautiful NOVI hoodie. You can already download the password protected zip archive. The password will be shared during the meetup opening words.

2022

  1. Deployment Anxiety

    Let me tell you how it was to ship a product out to half a million people back in 1999. But before I do that, let me tell you why. Today I talked to one of my students and he mentioned that he was very nervous about a change he was making. He was afraid it would break things and that he would spend the afternoon working through his CI/CD pipeline to resolve issues.

  2. Cleaning up after LSP-mode

    I use lsp-mode quite extensively. I switched from eglot when I started using LSP more. The beautify of lsp-mode is that it will automatically install language servers as you need them. It also integrates excellently with dap-mode to enable debugging sessions. So, I switched to it, turned off all the information overload and I am quite happy.

    One thing I do extensively is that I use LaTeX to make my slides for college class slides and class assignments. That means I have hundreds of directories with presentations, assignments and other documents. Each time I enter a directory for a class it will spawn an LSP session for that set of LaTeX files.

  3. Should we pay for open source?

    As the world is processing the Twitter deal the open source project Mastodon is gaining a lot of traction. The instance that I am on, fosstodon, is run by a small team and is fully funded by donations.

    Now this may sound somewhat strange; as the twitterverse is blowing up about $8/month for a blue checkmark I would argue that the $8 is better spent supporting open source projects. As developers, security people, and users we rely on a lot of free time and effort from open source contributors.

2021

  1. 22 years of Emacs

    Where to begin…

    I just watched David Wilson’s talk called M-x forever - why Emacs will outlast text editor trends. He gave this talk at EmacsConf 2021 which is a conference dedicated to Emacs. The talk made me reflect on my use of Emacs over the last years and then I realized that this year will mark 22 years that Emacs and I have been together. This (probably too long) article reflects on those years and dives into my use of Emacs.

  2. Hack The Box Ambassador

    For the last 18 months I have organized the dutch Hack The Box meetups. Due to COVID-19 they have all been as a digital meetup, but not less entertaining though.

    During my time organizing the meetups the Hack The Box organization supports me in various ways; they give me stuff to hand out such as swag or VIP memberships, they help organize speakers for events when we don’t have one ourselves and they provide me with Hack The Box goodies every once in a while.