About

I'm an undergraduate Computer Science student from Vancouver, BC, currently studying at the University of Toronto. Online I usually go by the handle GunshipPenguin.

Scroll down to check out some of the cool stuff I've worked on or been involved in. You can also check me out on GitHub and LinkedIn.


I can be reached at me@rhysre.net.

My GPG key has the fingerprint 3F75 51A3 95EA 89D5 BDD5 D9AD 6E65 AF1E E8AF 9AE8 and can be found here.

Projects

Shallow Blue

GitHub Repository

Shallow Blue is a UCI chess engine written in C++11 named after the Deep Blue Chess Computer. It can be used with any UCI compatible chess GUI and implements the following features:

  • Bitboard based board representation and move generation
  • Principal variation search
  • Quiescence search
  • A sophisticated evaluation function taking into account:
    • Piece square tables
    • Pawn structure
    • Bishop pairs
    • Rooks on open files
    • Mobility
    • King safety
  • Killer, MVV/LVA and history heuristics for move ordering
  • Zobrist hashing / Transposition Table

NEScafé

GitHub Repository

NEScafé is a Nintendo Entertainment System (NES) emulator written in C#. It accurately emulates the NES's MOS 6502 CPU, PPU (Picture Processing Unit) and memory mapped IO. It supports many original NES games to a playable extent, including:

  • Super Mario Bros. (1985)
  • The Legend of Zelda (1986)
  • Donkey Kong (1981)
  • Castlevania (1988)
  • Spy vs. Spy (1986)

SentiSocial

GitHub Organization

SentiSocial is a Twitter based trend analysis application. It collects data on topics that are trending on Twitter and exposes that data via a public API. Some of the data collected includes:

  • Average sentiment of tweets related to the trend
  • Popular tweets related to the trend
  • News articles related to the trend
  • Keywords found in tweets related to the trend
  • Countries in which the trend is trending
  • Amount of time the trend has been trending
  • Volume of tweets related to the trend

The web based SentiSocial frontend then queries the backend for the collected data and displays it in a readable and intuitive format.

Open Flood is a free and open source flood-fill puzzle game for Android. The goal of the game is to fill the entire board with a single colour in less than the maximum number of allowed moves. The size of the board as well as number of colours can be customized to change the game's difficulty. Boards can also be generated from seeds, allowing players to share challenging or interesting boards with others.

Corridors.io

Github Repository

Corridors.io is a first-person 3D maze game created with the Three.js JavaScript WebGL library. A maze is generated using a randomized depth-first-search algorithm and the player is then given the chance to find their way out in first person.

ScalaQuote

Github Repository

A Quote of The Day server implemented in Scala. Serves quotes via TCP and UDP as specified in RFC865.

Sock Snake

Github Repository

A SOCKS4a proxy implementation in Python 3. Complies fully with SOCKS4a specification.

Server Essentials

Github Repository

A mod for the free and open source game Minetest that provides a collection of useful features and commands for server administrators