Technically, I’m publishing this on the first day of July, but not much has happened yet, so yes, it is a June update.
Python Programming MOOC 2023 | Advanced Course
This is the final stretch of the Helsinki University Python course. In the last couple of weeks, I covered the material from Part 12 (functional programming, generator, regular expressions) and Part 13, which was an introduction to the Pygame library. The only component left of the course is the final Part 14, after which all I need to do is take the exam. 🤞
It might be my newbie experience with Pygame, but writing the code felt oddly unintuitive relative to the rest of Python. There seems to be a lot of boilerplate code repeated in every script, which occasionally got me flustered. Also, when comparing my exercise solutions to the provided model solutions, mine differed significantly from the recommended ones. In the Pygame exercises, I tackle the problems from inelegant angles, yet sophisticated solutions barely cross my mind. It comes down to me still not knowing what the sequence of the code execution is and how the images and interactions work. The screen refresh rate and the interaction events confuse me, but again, it comes down to practice.
For example, there was a task to program two sprites controlled by two users from a single keyboard – one user uses the arrow keys, and the other uses the WASD keys. The program I wrote employed too many variables and repeated big chunks of the code and logic. Length-wise, mine was twice the length of the model solution. It didn’t cross my mind to append the keyboard commands and movement parameters as tuples to a list, as was in the recommended solution.
However, the provided model solutions are one reason I enjoy the course so much. They expose me to best practices and, more importantly, new ways of problem-solving. Also, once I have tinkered with a problem for a while and come up with a (working, although imperfect) solution, it is easier to grasp the model solution, which stays in my mind for longer.
HelSec X W4CFI June 2023 Park Session
This was my second HelSec event, organised together with W4CFI (Women4cyber Finland). The May gathering included talks and an educational aspect, but this was all about chilling together in the park and socialising. I found the previous event quite intimidating with its scale; also, being surrounded by what seemed to be seasoned cybersecurity professionals made me feel out of my depth.
But in a more informal atmosphere, I met and spoke with some of HelSec's organisers and other attendees. It was nice to see that there are so many people from different backgrounds, and it seemed the community around HelSec did not generally care much if you were a professional in the field or just a newcomer who is interested in topics of cybersecurity.
I also received a great tip about a Cybersecurity MOOC, again organised by Helsinki University. 👀
Tried Docker. Failed
While hiking in Lapland, I managed to get down with the flu. I couldn't bring myself to program, so I spent too long on Reddit instead. The programming conversations there got me thinking I could try to install a Linux distribution on my old one, which is currently gathering dust at home.
From what I understood, one way to put up a Linux distribution easily was using Docker. But after installing Docker, I got bogged down in the jargon. I completed several tutorials with a lot of hand-holding but had no idea what I was doing. I think I will leave Docker for a later time and try first to learn how to work with the command line interface and GitHub before moving to more abstract technologies like Virtual Machines and Docker.
Recommendations
“Five Principles For Programming Languages For Learners” by Mark Guzdial
The movie “Aftersun” (2022) and particularly its script