Allan Reyes

Software engineer, veteran, and father

About

I’m a software engineer, proud veteran, and even prouder husband and father. I live and work in Silicon Valley, and love to learn about learning, machine learning, and cybersecurity.

You can find out “how I tick” by reading my leadership philosophy.

Story

  • 2003-2007

    Earned a B.S. in Mechanical Engineering at MIT

  • 2007-2012

    Served in the U.S. Army, deployed to Iraq and Afghanistan

  • 2012-2015

    Built a bunch of awesome robots, consulted/freelanced

  • 2014-∞

    Took my first online course, committed to lifelong learning

  • 2015-2017

    Earned a M.S. in Computer Science at Georgia Tech

  • 2015-2018

    Worked at Udacity to democratize education

  • 2018-present

    Founded Darby Labs

  • 2018-present

    Working at Robinhood to democratize America’s financial system

  • 2018-present

    Enrolled in M.S. in Analytics at Georgia Tech

Latest Blog Post

20 Jun 2018 . programming . The YAML-NOrway Law Comments

Anyone who uses YAML long enough will eventually get burned when attempting to abbreviate “Norway.”

YAML Ain’t Markup Language (YAML) is a human-readable data serialization language, and if you ever try to abbreviate “Norway,” you just might run into a surprising outcome.

Here’s an example:

NI: Nicaragua NL: Netherlands NO: Norway # boom!

Does it work? NO|No|no, but not “NO”. NO is parsed as a boolean type, which with the YAML 1.1 spec, there are 11 ways to say false:

n N no No NO false False FALSE off Off OFF

The correction:

NI: Nicaragua NL:...

Archive

(Side) Projects

Below are some projects that I completed outside of work. Since my day job is in web development, I’ve been focusing mostly on AI/ML and cybersecurity.

Project Artemis webdev gt rails ruby

A web application that helps CDC Utah streamline, identify, and correct data discrepancies with newborn screening data.

BGP prefix hijack infosec gt

Configured a virtualized Border Gateway Protocol (BGP) topology, conducted a prefix hijack, and created security protocols to detect and prevent them.

Firewall infosec gt

Used pyretic to configure a firewall SDN.

Buffer bloat and congestion control infosec gt

Conducted a comparative analysis on TCP CUBIC and TCP Reno for congestion control and buffer bloat in virtualized networks.

Reproducing Raicu 2012 infosec gt

Reproduced and analyzed Multipath TCP (MPTCP) and experimental results from How Hard Can it Be? Designing and Implementing a Deployable Multipath TCP (Raicu 2012) on a virtualized network.

TCP Fast Open infosec gt

Reproduced and analyzed TCP Fast Open (TFO) on production web servers, including Hacker News, Reddit, and gnu.org.

Distance Vector Routing protocol infosec gt

Implemented a DV protocol in multiple, complex, and virtualized packet-switched networks.

Spanning Tree Protocol infosec gt

Implemented a Spanning Tree Protocol in mininet to create a loop-free forwarding network.

Project Disco webdev gt

An alternative video format that reduces file size, enables open-sourced maintenance and collaboration, and promotes native translation; presented at Learning with MOOCS 2017 in Austin, TX.

Configuring SDN infosec gt

Used mininet, a software-defined networking (SDN) tool, to create and simulate dynamic network topologies.

Bipedal walker ml rl

Implemented a reinforcement learning agent using Deep Deterministic Policy Gradients (DDPG) to learn how to control a bipedal walker (OpenAI).

Reproducing Greenwald 2003 ml gt rl

A reproduction of experimental results of Correlated Q-learning (Greenwald 2003).

Lunar lander ml gt rl

A reinforcement learning agent using Deep Q-networks (DQN) to control a lunar lander (OpenAI).

Reproducing Sutton 1988 ml gt rl

A reproduction of experimental results of Learning to Predict by Methods of Temporal Difference Learning (Sutton 1988).

Polymorphic blending attack infosec gt

Implemented a polymorphic blend attack exploit to defeat a payload-based intrusion detection system (PAYL).

Unsupervised learning survey ml

Application and optimization of unsupervised learning and dimensionality reduction algorithms (k-means clustering, expectation-maximization, PCA, ICA, and randomized projections) across the same two datasets from the previous supervised learning survey.

zmap port scanning (behind a VPN) infosec gt

Used zmap to conduct a HTTP port scan of the entire ipv4 space.

Configuring an intrusion detection system (IDS) infosec gt

Configured snort to detect, isolate, and stop a botnet infection.

Randomized optimization survey ml

Application and tuning of randomized optimization algorithms (randomized hill-climbing, simulated annealing, genetic algorithms, and MIMIC) on four classical problems (Traveling Salesman, Four Peaks, Knapsack, and ANN optimization).

Malware forensic analysis infosec gt

Conducted forensic identification, decompilation, and analysis of two malware packages deployed in Windows and Android environments.

Click-jacking and browser security exploration infosec gt

Implemented a click-jacking exploit of a test GT website, and implemented frame-busting safeguards in a Chrome extension to stop the exploit.

Supervised learning survey ml gt python sklearn

Application and optimization of several supervised learning algorithms on two different classification problems and datasets.

PHP web application exploit infosec gt

Used the Metasploit framework to probe and exploit shell execution in a test PHP web application. My first successful “hack”!

Video textures cv gt

Utilized video texture calculation from a sample input video to produce perfectly looped GIFs. Infinite push-ups!

Feature detection cv gt

Application of OpenCV for feature detection of small objects in various scale, distance, orientation, and lighting conditions.

Image blending (face swap) cv gt

An automated image pipeline was developed to mask faces, produce Gaussian and Laplacian image pyramids, swap, and blend the target faces.

Edge detection cv gt

A bespoke image detection algorithm and pipeline, using Gaussian kernels, cross-correlation, gradients, and filtering/processing.

Epsilon and high-speed photography cv gt

Applied computational photography on a series of high-speed photographs to produce a single artifact.

Training a smart cab how to drive ml udacity rl

A reinforcement learning agent using Q-learning to learn how to intelligently drive a cab in a 2D grid world with other agents.

Raven's Progressive Matrices Solver ai gt python

An advanced knowledge-based AI agent that solves problems in a visual IQ test.

U.S. Domestic Airline Performance, 2003-2014 data udacity

An interactive data visualization of 5 different airlines and their annual average of on-time arrivals.

Identifying fraud from Enron emails and financial data ml udacity

Using text mining and machine learning to build a “person of interest” classifier.

Exploring red wine quality data udacity

An exploratory data analysis (EDA) of the well-known red wine data set.

Data wrangling OpenStreetMaps (OSM) data udacity

A foray into data munging and cleaning of OSM data stored in MongoDB.

Analyzing NYC subway dataset ml udacity

A statistical analysis of the New York City subway passenger behavior.

Contact

Drop me an email. I’d love to hear your story.