David Hacker

Hello! I'm an undergraduate at the University of California San Diego (UCSD), and I am pursuing a B.S in computer science with a minor in mathematics, likely graduating 2021. I am particularly interested in cryptography, distributed computing, program synthesis, and natural language processing. I also enjoy learning about and working with graphics & data visualization techniques.

Last summer, I worked at Bloomberg as a software engineering intern. I was part of their market data infrastructure team, which manages the systems that relay equities data from various stock exchanges to applications on the Bloomberg Terminal. This summer, I'll be a software engineering intern at Citadel Securities.

I'm a big fan of the Unix philosophy, *nix systems in general, vim and zsh. You can find my dotfiles here.

My Blog

I enjoy writing about topics that interest me, covering a broad spectrum of fields but mostly focusing on issues related to computer science, engineering, programming, and system design.

Ray tracing and to a greater extent, its sister algorithm, path tracing, have always fascinated me. At its core, the idea of ray tracing is…

December 04, 2019
It’s been a goal of mine to attach a blog to my personal website for a long time, and I’m happy to say that I finally got around to the task…

Some Projects

Arch Linux Kernel Patcher for Surface Devices
Autogenerates PKGBUILDs and setup scripts for jakeday's patched kernel, so that you can run Arch Linux comfortably on a Microsoft Surface device.

Alexa YouTube Skill
Enables Alexa to play audio from YouTube. The project wiki has detailed instructions that walk you through the setup process.

Dual_EC_DRBG Backdoor Demonstration
Demonstrates how a Shumlow-Ferguson attack could be used to recover the internal state of any Dual_EC_DRBG pseudorandom number generator.

Ring Learning with Errors Cryptography
Implements several cryptographic schemes that are based off of the security of the RLWE problem: the Fan-Vercauteren homomorphic cryptosystem, the Ring-TESLA digital signature algorithm, etc.

And more on GitHub ...
Follow @dmhacker

Cool Visualizations

TSP Approximation Algorithms
A visual comparison of simulated annealing and hill climbing algorithms. Shared on /r/InternetIsBeautiful.

2D Feedforward Neural Network
Watch as a neural network is trained in your browser. Optionally supply your own training set.

3D Adaptation of Langton's Ant
Based off of this research paper. Configure what path it generates using your own ruleset.

3D Function Plotter & Grapher
Calculus I tool to help with visualizing volumes of solids of revolution.