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. package main import ( "fmt" "sort" "strconv" "strings" "time" "arjenwiersma.nl/aoc/internal/aoc" ) type Card struct { bid int hand []int jokers int } func (c *Card) strongerThen(o *Card) bool { for i, v := range c....

December 9, 2023 - 3 min Arjen Wiersma

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

December 9, 2023 - 2 min Arjen Wiersma

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

December 9, 2023 - 3 min Arjen Wiersma

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

December 4, 2023 - 2 min Arjen Wiersma

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

December 3, 2023 - 2 min Arjen Wiersma

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. package main import ( "fmt" "os" "strconv" "strings" ) type Grab struct { red, green, blue int } type Game struct { id int grabs []Grab } func main() { content, _ := os....

December 2, 2023 - 2 min Arjen Wiersma

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

December 2, 2023 - 2 min Arjen Wiersma

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

September 4, 2023 - 3 min Arjen Wiersma

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

June 6, 2023 - 3 min Arjen Wiersma

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

May 20, 2023 - 6 min Arjen Wiersma