Othello AI in Haskell

Devising game AIs can be fun and educational for programmers of all skill levels. What if.. we did it in Haskell this time? 👉👈


Why I switched to Jekyll

As those who have followed my programming activities for a longer bit, they know I’ve used a custom site generator since 2016 - since I bought the domain and started my website. It has had many evolutionary steps over the years.

However, 6 years later, my mind had changed. From now on, I’ll be using a pre-made, maintained static site generator. But why?


Mapping Minecraft with Go (a.k.a OrienteerMap)

It has been, for a long while, on my bucket list to implement a program that renders from some sort of game/map data. And over the summer 2021, I had the time and opportunity to implement just that. Meet OrienteerMap, as I call it.


Lisp Interpreter in Rust (a.k.a Juoni)

I wrote an interpreter for a Scheme/LISP-like language in Rust. It was originally an assignment for Compiler Technology course at University of Jyväskylä. Originally meant to be rather smaller, I added one feature after another and.. result is something I feel very proud of and want to showcase it.

It uses Pest.rs for parsing - a very powerful library, which I’d recommend people to try if interested.

It can be downloaded from GitLab


SSH Bots Attack Again, or: new set of observations on SSH bruteforcing attempts


This post is a continuance to the topic presented in an earlier post of mine, Attack of the SSH bots As I took a data mining course for the spring semester, I had an opportunity to spend time furthering my research on SSH attack trends, and that’s what I indeed did.

This post is essentially a paraphrasing of the original slides as presented in the final seminar for the course; these slides and attached materials are linked at the end of this post.