Tinkering

Archive :

  • AI learns to play Mario : Deep Reinforcement Learning applied to Super Mario Bros

    23 Feb 2026 in Tinkering . Tags : AI , reinforcement learning , simulation , emergence , scientific programming

    This is a live feed of my Deep Reinforcement Learning agent training on the original Super Mario Bros game.

    The agent is a custom implementation of the Rainbow DQN paper from 2017. It stays pretty close to what’s described in the papers. There are however a few custom tweaks. I’ll update this article soon with more details.

    This originally started as a pedagogical implementation of the original Deep Q Network paper from 2015 for a course I taught. I then kept implementing improvements to this paper until I reached the algorithm described in the Rainbow paper.

    Read more...
  • Using a Raspberry Pi to add a second HDMI port to a laptop

    11 Mar 2023 in Tinkering . Tags : raspberry-pi , ffmpeg , tutorial , linux

    Recently, I purchased a new laptop. I was really focused on spending the least amount of money and had not noticed that the laptop I chose was missing an essential feature : it did not have Display Port over USB C. Not being able to use my second external monitor on this new laptop felt like a huge downgrade from my previous one (which was able to output to both its HDMI and VGA ports simultaneously).

    This is the story of how I managed to overcome this limitation by rolling my own virtual screen streaming solution using a Raspberry Pi. I tried to write it in a way you can follow along if you want to reproduce it. If you are just looking to get it up and running as quick as possible, you can check out the GitHub repository containing configuration files and installation scripts (Work In Progress)

    You will find a short video showcasing the result at the end of this article.

    Read more...