Gordon Guan developer, tech enthusiast, computer security zealot, amateur reverse engineer

About


WHO AM I

I'm a student.

I love automating mundane tasks, figuring out how stuff works, and learning new things.

SITE PURPOSE

This website serves as my portfolio, and a host for assorted projects I've made in the past.

IDENTITY

E-MAIL:

Please PGP encrypt sensitive messages with my public key.

PGP PUBLIC KEY:

Use this key for verifying any of my signed messages, and for encrypting data to be sent to me.

Verification:

I am indeed the person writing this markup.

<

Skills


Below are a list of languages, technologies, and domains I am familiar with, and have used in the past at least once in some way.

My intention with this list is not to claim I have expert knowledge about everything listed below,
but that I am able to use these technologies when developing solutions to problems.

Want proof? I've listed several projects below that demonstrate these skills and domain specifics.

Programming Languages

C, C++

gcc djgpp msvc

C#

.NET Core C# 7 Visual Studio Mono

Java

JavaScript

Node.js webpack jQuery

PHP

Lua

Technologies

Web Development

HTML5 CSS3 JS webpack jQuery Node.js

Graphics

Direct3D OpenGL SDL

Databases

MySQL PostgreSQL SQLite LiteDB

Machine Learning,
Computer Vision

OpenCV EmguCV Accord.NET SciLua

Computer Networking

Sockets, TCP/IP, UDP DNS

Build Automation

Makefile, Ant
Domain Specific Knowledge

Low Level Programming,
Reverse Engineering

x86 asm Win32 API Static/Dynamic Analysis Debugging

Information Security

Web, Computer, Internet Security Access Control Cryptography

Linux/Windows Sysadmin and Development

Software Defined Radio

LineageOS/Android Build


Projects


Listed below are a small selection of software development projects which I have completed,
serving as tasks to further knowledge of many frameworks, languages, and runtimes.

I have a very project-oriented methodology of learning, so I can usually attribute any of
my skills to a certain project I have completed in the past.

You may click on the project titles for a link to a writeup or some code.

For additional smaller projects, you may visit my GitHub.

Kazedan

Kazedan

Kazedan is a MIDI falling-note visualization reminiscent of the game of a similar utility, Synthesia.

C#, Direct3D, MIDI, WinForms
Screenfuscate

Screenfuscate

Screenfuscate is a screen obfuscation tool, allowing the user to browse the computer inconspicuously.

C#, Win32 API, WinForms, GDI+

RedditPlaceBot.NET

A bot which maintains an image with multiple accounts in an optimal manner on Reddit Place.

C#, Mono, Reddit API

NEAT.NET

An incomplete implementation of Neuro-evolution of Augmenting Topologies in C#.NET.

C#, ML

rubiks-cube-solver

A rubik's cube solver that takes a rubik's cube, scans it, then physically manipulates it to its solved state.

C, Algorithm, Computer Vision
Chip8Emu

CHIP-8 EMU

CHIP-8 EMU is an interpreter for the 8-bit microcomputer language CHIP-8.

C++, LL
CircuitDetector

CircuitDetector

CircuitDetector is a Minecraft™ Bukkit plugin aimed to reduce redstone lag on servers by detecting circuits and limiting them.

Minecraft, Bukkit, Java

Seppuku

A self-hosted digital deadman's switch installation with an extensible .NET module system, allowing you to set custom triggers when your deadman's switch has not been reset recently.

C#, .NET Core, NancyFX, LiteDB

twinject

twinject is an automated player for the bullet hell games from the Touhou Project, using DLL injection techniques to gain decision-making information

C++, x86 Assembly, Win32 API, Static/Dynamic Analysis
NTLogger

NTLogger

NTLogger is a keylogger over UDP, communicating a remote machine's keystrokes to a remote monitor in real-time.

C#, Win32 API

DOS Video Player

A video player for DOS which plays video in VGA mode 13h, and audio over the internal motherboard speaker.

C, DOS, DJGPP
TouhouCV

TouhouCV

TouhouCV is an automated player for the curtain-fire games from the Touhou Project, using computer vision techniques to gain decision-making information.

C#, EmguCV

android-hid-script

An Android app that eases scripting of a USB HID emulator in Lua, letting your phone become an HID device.

Java, Android, Kernel, Lua, USB Protocol

XPSweeper

An automated player for Windows XP's minesweeper.

C#, Win32 API, EmguCV

Kansoku

An efficient, real-time, graphical raytracer.

C++, SDL

LineageOS

I use my own builds on a daily basis, and apply custom patches.

Baseband

An easy to use Windows threat assessment webapp, created for MHacks 9.

NodeJS, C#, Win32 API

TimeLock

Protect data through a computational challenge (repeated hashing), requiring an approximate amount of time to decipher.

C#