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. I am particularly interested in cryptography, distributed computing and natural language processing. I also enjoy learning about and working with graphics & data visualization techniques.

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

You can usually reach me at dmhacker (at) protonmail (dot) com.


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.

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
Star
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
Star
Enables Alexa to play audio from YouTube. The project wiki has detailed instructions that walk you through the setup process.

Ring Learning with Errors Cryptography
Star
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.

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

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
Useful tool to help with visualizing volumes of solids of revolution (calculus I).