Hi, I'm Daniel Prilik

I'm a Software Engineering 2020 student at the University of Waterloo

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

This fall, I'm working as a Software Engineering Intern at Microsoft on the Azure IoT team.


I'm writing several libraries to work with the Open Container Initiative (OCI) specification in Rust. Oh, and everything is being written with first-class support for the new async/await syntax, which has been an absolute blast to learn and work with!


I'm also working on a pretty cool distributed systems project for my 4th Year Design Project. More details soon!


Wow, time flies, and I'll be graduating in April 2020!
As such, I'm currently seeking full time opportunities!


If you're looking for an enthusiastic systems programmer and/or a passionate rustacean, don't hesitate to reach out!


As a co-op student, I've had the chance to work at a bunch of awesome companies and wear many different hats!
In the past, I've done...



Every once in a while, I try to write something interesting and post it on my blog.

Some posts I'm particularly proud of include:



When I'm not studying, working, or unwinding, I make some time to work on various open source and side-projects that I find interesting. You can find links and info about some of the projects I've worked on below.


And hey, if anything here catches your eye and you're interested in getting in touch, I'd love to talk!


Email: daniel@prilik.com

GitHub: daniel5151

Psst... looking for your next teammate?

Check out my resume!

Recent Projects

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)
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

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 Rusty rewrite of my old mips241 emulator. The code is cleaner, and supports new MIPS instructions (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. Apparently, these notes helped a lot of people :)
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