January 7, 2023

Miscellaneous Python Bits

In a previous post I said I would come back to explain a few somewhat opaque lines in my matrix-based solution to Advent of Code 2022, day 2. This is what I’m going to do here. There’s three smallish things I thought it was worth pointing out. None is going to surprise veteran python coders, but they might be of interest to some. Building matrices So the first line I want to look at is: Read more

December 29, 2022

Rock Paper Scissors With Matrices

I had a go at the first couple of weeks of problems from Advent of Code this year. I’ve posted my answers over here. I stopped after day 13 because the problems were getting harder but the time I had to devote to them could not increase. I hope to come back to them at some point. But today I wanted to point out something interesting about the day 2 puzzle. Read more

December 15, 2022

Randomness Factory

As part of a job application process I was asked to write a short explainer article on something technical, and I decided to write a little bit about how testing for randomness works. The brief was to write something playful and friendly, hence the weird framing of this piece. I didn’t get the job, but I did learn a bit about randomness Since I’ve written the damn thing, I thought I’d share it, and International RNG Day seems like the perfect opportunity to do so! Read more

November 2, 2022

Learn to Code

Over the past couple of years I’ve taught myself programming and data science. I’d been at a big computer nerd and at least programming-nerd-adjacent for a long time (linux user since 2005, emacs users since 2011) but in 2020 I made a conscious decision to pursue learning to code as part of a plan to find an alternative career. Over the past couple of years I’ve tried out quite a few different resources for learning programming and data science. Read more

September 18, 2022

Riffle Shuffle Efficiency

Let’s say you have a list, and you want to “interleave” or “riffle shuffle” the items in it. That is, you want to split the list in two, and then make a new list, alternating items from the first and second halves. In Python, there are a number of ways of doing this. Now we are left with the problem of which of these ways should we actually implement? One key factor in making this decision is performance: how well do the various methods actually perform. Read more

© Seamus Bradley 2021–3

Powered by Hugo & Kiss.