Howdy! I'm Will.
I’m a PhD student at UCLA in the Electrical and Computer Engineering department. I do research on cryptographic methods for privacy-preserving machine learning.
Things I’ve worked on
- I taught a section of CS3710: Intro to
Cybersecurity for the University of Virginia
in Fall 2022.
- I wrote all of the lecture materials, assignments, and exams for my class! You can find code for assignments here; lecture materials will be published to their own repo in the near-ish future.
- BSides Boulder: I’m a co-founder of the BSides Boulder security conference.
- The Encryption Compendium: I co-developed The Encryption Compendium, which provides comprehensive resources on debates around encryption policy.
Currently I’m working on developing new secure multiparty computation protocols to make privacy-preserving model training more efficient.
Some of my side projects include
- Tardis: a simple multi-executable packer and crypter that I wrote for ISTS 2022.
- LSHFunctions.jl: a Julia package for locality-sensitive hashing.
- Seagrass: a library for dynamically instrumenting and auditing Python code at runtime. I started developing this package alongside my research to help me debug and profile my code more easily.
- ChaChaCiphers.jl: a
Julia implementation of the ChaCha stream cipher family. It provides keystream
access compatible with Julia’s
AbstractRNG
interface, which allows for fast, GPU-compatible CRNG. You should also check out my fork of pytorch/csprng for PyTorch-compatible secure RNG. - I’m a massive AppArmor nerd. I’ve written homework assignments on AppArmor and added AppArmor integration to sudo (currently available in Debian unstable). I’m hoping to eventually get out my long-planned AppArmor internals blog series (ETA “whenever I have a few months to kill”).
- I’ve written a handful of mods for the science-fantasy roguelike game Caves of Qud. I’m also the author of the Snapjaw Mages! introductory modding tutorial.
About me
I graduated in May 2020 with a M.Sc. and B.Sc. in applied mathematics, and a B.Sc. in computer science. During my time at CU I did research in Stephen Becker’s lab, where I focused on randomized algorithms (especially LSH) for large-scale data analysis.
I enjoy writing in my free time; check out my (slowly-updated) notes.
Publications and preprints
- Conditional Supervised Contrastive Learning for Fair Text Classification (EMNLP Findings 2022). Jianfeng Chi, William Shand, Yaodong Yu, Kai-Wei Chang, Han Zhao, Yuan Tian. https://arxiv.org/abs/2205.11485
- Locality-sensitive hashing in function spaces (preprint). William Shand, Stephen Becker. https://arxiv.org/abs/2002.03909