Experimenting with programming an Arduino using AVR assembly

Recently we have been taught the imaginary assembly language used by AQA as part of A level computer science in school. I found these lessons very interesting, and I wanted to try using a real assembly language. I decided to try the AVR assembly language used by Atmel chips (such as those found in Arduinos)Continue reading “Experimenting with programming an Arduino using AVR assembly”

The Things Certification

In this year’s Things Conference, the ‘Things Certification‘ was launched. It is designed to test your knowledge around the LoRaWAN specification, configuration and implementation. Currently there are four certificates available, and you have to do a 30-minute multiple choice test for each. Usually they cost €99 each, but they are free until the first ofContinue reading “The Things Certification”

Matrix Challenge Final

On Saturday I took part in the virtual grand final of the Matrix challenge, a UK-wide competition run by the Yorkshire and Humber Regional Cyber Crime Unit for 11-17 year olds. The competition consisted of a series of capture-the-flag style challenges. Each was a cybersecurity-related puzzle ranging from cracking hashes using rainbow tables to figuringContinue reading “Matrix Challenge Final”

CST Virtual Hackathon

This week I participated in the Cardiff School of Technologies’ virtual hackathon. We were given two modules on the EC Council’s Learn on Demand platform to complete in the shortest time possible, ‘Hacking Wireless Networks’ and ‘Hacking Mobile Platforms’. The modules involved following a series of instructions over remote access to several virtual machines fromContinue reading “CST Virtual Hackathon”

Creating a simulator for Malkus waterwheels with Java

Over the weekend I used Java to create a simulator to demonstrate Malkus waterwheels, which is something I found out about while reading about chaos theory on Wikipedia. The Malkus waterwheel is a special type of waterwheel that exhibits chaotic behaviour. This means that a small change in initial conditions can lead to very differentContinue reading “Creating a simulator for Malkus waterwheels with Java”

JavaScript crafting game

During the lockdown I created a game with my friend Ronan. He made the graphics and I programmed it using the Phaser game engine. In the game you are a space man whose spaceship has crashed into our school. The objective is to look around the school to find items and combine them together untilContinue reading “JavaScript crafting game”

Designing and building an air quality monitor

Around a year ago the headmistress of the school asked if it would be possible to build a device capable of monitoring the air quality around the school in real time. The computer science teacher directed her to me and I was asked to do some research and put together a shopping list of theContinue reading “Designing and building an air quality monitor”

From Nand to Tetris: Build a Modern Computer from First Principles online course

Yesterday I completed part 1 of the “Nand to Tetris” course by Shimon Schocken and Noam Nisan on Coursera. I finished all the videos and the first 5 projects during lockdown but I delayed the final project because I wanted to try and learn the basics of Java to have another language to play with.Continue reading “From Nand to Tetris: Build a Modern Computer from First Principles online course”

Creating a Discord bot with Node.js and Electron

Recently I created a basic Discord bot for the school’s computing club group using the Discord.js library for Node.js. At the moment it has basic functionality such as replying to mentions with random messages, making “I’m dad” jokes and welcoming new members. After I created the bot I thought it would be interesting to tryContinue reading “Creating a Discord bot with Node.js and Electron”

Simulating a basic 8-bit computer

Recently I’ve been watching some of Ben Eater’s videos on Youtube about building a computer following the SAP-1 architecture. To practice using TypeScript I decided to try and create a simulator. I wanted to be able to see what was going on, so I used p5.js to create a graphical interface showing the state ofContinue reading “Simulating a basic 8-bit computer”

Design a site like this with WordPress.com
Get started