Hi, I'm Daniel Prilik

March 31st 2019 - A picture of me at the top of Artist Point trail at Yosemite

I'm a passionate Systems Programmer who enjoys building robust, performant, and elegant low-level software. I've done my fair share of projects in C/C++, though nowadays, my language of choice has to be Rust.


When I find the time, I enjoy working on various open source and side-projects. You can find links and info about some of the larger projects I've worked on below. Check out my Github profile for a more complete listing.


I graduated from the Software Engineering program at the University of Waterloo in April 2020.


This coming August, I'll be moving out to Seattle, WA to work full-time on the Azure IoT team at Microsoft.


Over the course of my university degree, I had the chance to intern at a whole bunch of awesome companies. I've done...



Check out my resume for more details.

I also have a blog, where I'll occasionally write about projects I've worked on, or technical topics I found interesting.

Some posts I'm particularly proud of include:



If anything here catches your eye and you're interesting in getting in touch, I'd love to talk!

Email: daniel@prilik.com

GitHub: daniel5151

Resume: Fall 2019

Highlighted Projects

ANESE + wideNES
2017-2018
AKA: Another NES Emulator.
The first emulator to implement wideNES, a technique to automatically map out NES games! Written in C++11
ts7200
2020
A high-level emulator for the TS-7200 Single Board Computer, a relatively bespoke ARMv4t platform used in CS 452 - Real-Time Programming. Written in Rust
vrai-tracer
2019
A simple ray-tracer written in Rust. Doubles as a testbed to experiment with various programming techniques and paradigms
(e.g: static vs. dynamic dispatch)
QMK Firmware Contributions
2019
QMK is an open source mechanical keyboard firmware. I've contributed several patches to the project, primarily improving RGB lighting effects.
uwmips
2019
A Rust-y rewrite of my old mips241 emulator. The code is cleaner, and supports new MIPS instructions (as used in CS 230). It even adds a
time traveling debugger!

Older Projects

1212!
2015
1212! is a simple little puzzle game I wrote back in high school.
It still receives several thousand visitors a month!
DiceSiege
2015
A small demo of a procedural map generation engine I wrote for a Risk-like strategy game. Rendered with Two.js.
Simple Physics Sim
2013-2014
A simple physics sandbox written when I first started learning JS. It isn't terribly accurate or pretty, but it made for a great project to learn basic Javascript.
AC8E
2017
AKA: Another CHIP-8 Emulator.
A CHIP-8 Emulator written to get a feel for emulator development, and to explore programming in Rust.
mips241
2016
A simple emulator for the MIPS-like VM used in uwaterloo's CS 241.
It includes a fully interactive debugger!
Written in C++11

Hackathon Projects

WINNER
nfinite.space
2016
A cloud file-storage service that leverages space from connected users to store other users' files.
Winner at Hack the North 2016.
WINNER
fastify
2017
Leverages the scalability of the BitTorrent protocol and the bandwidth of AWS to "torrentify" arbitrary file links.
Winner at QHacks 2017.
BigPicture
2016
A collaborative art experiment where users fill in small chunks of a large canvas to collectively create stylized versions of interesting artworks.

Smaller Projects

fusion-kbd-controller-rs
2018
A small utility to configure the RGB keyboard on the Gigabyte Aero 15x. Involved reverse-engineering the proprietary USB protocol
(via Wireshark).
Branch Doodle
2016
A JS reimplementation of a design I used to doodle back in high school. A central seed branches out according to a simple pattern.
bconsole
2016
A drop in replacement for `console` in node.js with line-numbers, log groups, and colors. Published to npm.
Playbulb SPHERE Controller
2016
This simple page uses WebBluetooth to control a multicolor LED lamp. WebAudio is also used to change color based on mic input.
Cellular Automa
2014
A basic Cellular Automa written for a school project.
Conway's Game of Life
2014
A basic implementation of Conway's Game of Life in HTML5 canvas written for a school project.
3D Music Analyzer (WebGL)
2014
Uses the WebAudio API and ThreeJS to visualize a audio stream in 3D realtime. Supports microphone input!
2D Music Analyzer (Canvas)
2014
Uses the WebAudio API and HTML5 Canvas to visualize a audio stream in 2D realtime. Supports microphone input!

Lecture Notes

CS-137
2015
These are my flavored-Markdown CS-137 notes, written in 1A.
CS-241
2016
These are my flavored-Markdown CS-241 notes, written in 2A.

So, anything pique your interest?


Contact Me!


Email: daniel@prilik.com

GitHub: daniel5151

Hosted with Github Pages