Software
Software I’ve been working on (also check out my Github profile):

ProtoGrad. An experimental Julia package for gradientbased optimization of machine learning models. Essentially, a highly opinionated collection of design ideas of mine, on how deep learning frameworks should work.

GluonTS. Python toolkit for probabilistic time series modeling, with a focus on deep learning architectures, built around Apache MXNet and PyTorch.

ProximalAlgorithms.jl. Efficient, generic Julia implementations of firstorder optimization algorithms for nonsmooth problems, based on operator splittings: forwardbackward (proximal gradient method), DouglasRachford (ADMM), primaldual, and DavisYin splitting algorithms. Also contains Newtontype extensions. Based on:

ProximalOperators.jl. Julia package to compute the proximal operator of several functions commonly used in nonsmooth optimization problems. Useful as building block to implement largescale optimization algorithms such as ADMM.

ForBES. MATLAB solver for nonsmooth optimization, contains a library of mathematical functions to formulate problems arising in control, machine learning, image and signal processing.

libLBFGS. C library providing the structures and routines to implement the limitedmemory BFGS algorithm (LBFGS) for largescale smooth unconstrained optimization. Contains a Mex interface to MATLAB.

Matto. Simple chess player implemented in C. I started this when I was 17 and learning the C programming language, so there’s a lot of room for improvement. Yet it plays!

podds. Multithreaded Texas hold ‘em poker odds evaluation tool, written in C, command line only.