Software Tinkering highlight image

Software Tinkering

Project Overview

An assortment of my various experiments using stuff on the computer.

Skills Used

LC-3 Assembly C Programming Local LLM/AI Deployment

Description

Trying out Minecraft Mods and growing up with a tinkerer of a father made me very curious and interested in trying out new software throughout the years. From trying out Seth Bling’s Mar/IO when I was 10 to watch my computer learn how to play Mario, to getting my degree in IT, to my current journey as a Computer Engineering student, I have always had an obsession with seeing what can be done with technology.

Photos

Back when I was in my Early College high school, I was playing around with a tool that makes programs portable. I found out that the Dolphin Wii emulator worked with this, and I thought it would make my friends laugh to see Mario running on a printer kiosk in the lounge. It was a fun time. I got a bluetooth dongle and used a old usb hub to be able to connect all of my USB devices to it and play with actualy Wii Remotes. I do not recommend others do something like this, please respect institutional property and use it as directed.

My final project in my first ECE class. It was to write a tic tac toe game in LC3 (actual assembly). I found this so much fun to do and being in a programming flow state felt really good. Nowadays, programming is taught as a piece of a project that can be delegated to AI, but for this project I did not use it, and I am very proud of that.

This eyesore was a result of an AliExpress impulse buy. I was recommended cheap mmWave presence detectors. I wired one up to an ESP32, flashed it to ESPHome and connected it to my HomeAssistant. I used it in an automation to turn my bedroom lights on and off depending on me being in there. With some tuning, it worked even if I did not move. I did have to keep the fans off, and it stopped working because the painter’s tape gave way and I lost interest in keeping it up.

Others

In my C programming class, a project was a deterministic pseudo-random card shuffler. The professor provided the code that generates the randomness, we had to make the program draw a user-specified number of cards, swap out a user-specified number of cards, and shuffle them. I also took pride in this class that I did not use generative AI to write any of my code.

In my Senior year of high school, my professor had split the class into a few different teams to help out the deployment of a new computer lab and better management capabilities of the labs. My team’s task was to record the Mac Address of each computer and laptop. I used a USB Arduino Rubber Ducky to enter the commands into the command prompt for a few computers. In hindsight, I could have used it to open run and do more of the manual process.

I like to try out new software and technology products, especially if they are free. I tried out Project Stream by Google in 2018 before they released Stadia. I tried out Stable Diffusion before version 1.5 came out (generating ai images directly on my PC before the space got overwhelming and controversial), I tried out ChatGPT after hearing about it on a tech podcast, like the week it came out, and introduced it to my friends. I tried out Obsidian MD (very popular notes app) in 2020 shortly after it was accessible to the public. I tried early versions of the latest prealpha versions of Anki’s spaced repetition algorithm. I tried out Google’s Bard before it became Gemini. I tried out Bing Chat when it came out, before it became Copilot. I tried out local LLMs before it got easy to deploy them. I have changed my view on generative AI through many conversations with my artist/teacher friends and family members. I am not online or on social media much, so it took me longer to realize the negative implications that they entail.