The personal website and blog of Ryan Marcus, a graduate student at Brandeis University. Previously worked at HPE Vertica and Los Alamos National Laboratory.
      
    ____                       __  ___                          
   / __ \__  ______ _____     /  |/  /___ _____________  _______
  / /_/ / / / / __ `/ __ \   / /|_/ / __ `/ ___/ ___/ / / / ___/
 / _, _/ /_/ / /_/ / / / /  / /  / / /_/ / /  / /__/ /_/ (__  ) 
/_/ |_|\__, /\__,_/_/ /_/  /_/  /_/\__,_/_/   \___/\__,_/____/  
      /____/                                                    
        
   ___                   __  ___                    
  / _ \__ _____ ____    /  |/  /__ ___________ _____
 / , _/ // / _ `/ _ \  / /|_/ / _ `/ __/ __/ // (_-<
/_/|_|\_, /\_,_/_//_/ /_/  /_/\_,_/_/  \__/\_,_/___/
     /___/                                          
        
   ___  __  ___                    
  / _ \/  |/  /__ ___________ _____
 / , _/ /|_/ / _ `/ __/ __/ // (_-<
/_/|_/_/  /_/\_,_/_/  \__/\_,_/___/                                   
        

Portfolio

I'm Ryan Marcus, and I've been a computer science Ph.D. student at Brandeis University for a while now. I study applications of machine learning to cloud databases. My advisor is Olga Papaemmanouil.

Publications

    1. Ryan Marcus
    2. Olga Papaemmanouil
    Deep Reinforcement Learning for Join Order Enumeration First International Workshop on Exploiting Artificial Intelligence Techniques for Data Management June 10th, 2018 aiDM '18 (pdf)
    1. Ryan Marcus
    2. Olga Papaemmanouil
    3. Sofiya Semenova
    4. Solomon Garber
    NashDB: An Economic Approach to Fragmentation, Replication and Provisioning for Elastic Databases 37th ACM Special Interest Group in Data Management 2018 SIGMOD '18 (pdf)
    1. Ryan Marcus
    2. Sofiya Semenova
    3. Olga Papaemmanouil
    A Learning-Based Service for Cost and Performance Management of Cloud Databases Proceedings of the IEEE 33rd International Conference on Data Engineering 2017 ICDE '17 (pdf)
    1. Ryan Marcus
    2. Olga Papaemmanouil
    Releasing Cloud Databases from the Chains of Performance Prediction Models 8th Biennial Conference on Innovative Data Systems Research 2017 CIDR '17 (pdf)
    1. Ryan Marcus
    2. Olga Papaemmanouil
    WiSeDB: A Learning-based Workload Management Advisor for Cloud Databases Proceedings of the VLDB Endowment 2016 VLDB '16 (pdf)
    1. Ryan Marcus
    2. Olga Papaemmanouil
    Workload Management for Cloud Databases via Machine Learning Workshop on Cloud Data Management and the IEEE International Conference on Data Engineering 2016 CloudDM '16 (pdf)
    1. Ryan Marcus
    Techniques for Automated Performance Analysis Technical report for Los Alamos National Lab 2014 tech. report '14 (pdf)
    1. Ryan Marcus
    2. Shaughan Lavine
    An Efficient Algorithm and Monte Carlo Methods for Inferring Functional Dependencies Technical report for University of Arizona 2014 tech. report '14 (pdf)
    1. Ryan Marcus
    2. William C. Ward
    DP: a Fast Median Filter Approximation Technical report for Los Alamos National Lab 2013 tech. report '13 (pdf)
    1. Ryan Marcus
    MCMini: Monte Carlo on GPGPU Technical report for Los Alamos National Lab 2012 tech. report '12 (pdf)
    1. Lawrence J. Cox
    2. Ryan Marcus
    Developing a Monte Carlo mini-app for exascale co-design Technical report for Los Alamos National Lab 2011 tech. report '11 (pdf)

Projects

vulcan

An NPM package for automated proof generation in propositional logic and accompanying AngularJS demo.

  • js
  • angularjs
  • math

WiSeDB

Novel machine learning approach to query scheduling in cloud databases. Part of the XCloud project at Brandeis University, and the subject of publications in VLDB, ICDE, CIDR, and CloudDM.

  • java
  • machine learning
  • research

NashDB

Machine learning driven end-to-end provisioning, fragmentation, and replication for cloud databases with game-theoretic properties. Subject of publications at SIGMOD.

  • java
  • research
  • machine learning

Edgar Allan Poetry

A Python Keras-based RNN that generates poetry, with accompanying web interface (HampHack AI 1st place).

  • python
  • machine learning
  • hackathon

dirty-json

An NPM package for parsing malformed JSON. Online AngularJS-based demo here.

  • js
  • angularjs

humanlines

An implementation of Meraj et al.’s 2008 paper, Mimicking Hand-Drawn Pencil Lines. Several JavaScript demos.

  • js

m3ap

Additive art generation set to music. Implemented for Hack@Brown with JavaScript demo.

  • js
  • python
  • hackathon

quilty

Texture transfer image quilting technique implemented for HackPrinceton with JavaScript demo. More examples in the GitHub README.

  • js
  • emscripten
  • c
  • hackathon
  • machine learning

js-constellation

A highly-optimized Javascript animation written in C, compiled with Emscripten, and demo.

  • js
  • emscripten
  • c

weierstrass

A JavaScript implementation of the Weierstrass transform and an interactive HTML demo (built with Browserify).

  • js
  • math

art-amiss

Machine learning decomposition of abstract art into pieces that you can manipulate! Codestellation Hackathon machine learning 1st prize winner.

  • js
  • emscripten
  • hackathon
  • python
  • machine learning

orbits

  • js
  • math

skill-calendar

A tool to create "skill calendars" from a CSV file, rendering as SVG or PNG. Installable as an NPM package.

  • js

lyapunov

C code compiled with Emscripten to generate Lyapunov fractals on an HTML canvas. Silly demo here.

  • js
  • c
  • emscripten

connect4

A Python and Javascript (compiled with Emscripten) Connect 4 AI using alpha-beta pruning with in-browser playable AngularJS demo.

  • c
  • js
  • emscripten
  • angularjs
  • machine learning

pandat

Pandoc for data. Pandat lets the user convert files between CSV, JSON, SQL, and even GraphViz formats. Available as an NPM package, Judge's Pick @ Codestellation hackathon.

  • js
  • hackathon

EPtoSQL

A compiler from DEVELOP join orderings to SQL Server directed queries. Allows a user to specify an exact physical plan for a query, and creates the SQL to force the database to perform it.

  • java
  • sql

nanotwitter

A small subset of Twitter written in Ruby with Sinatra. Deployable to IBM Bluemix.

  • ruby
  • sql

C compiler

A C to MIPS compiler for a subset of C known as C--. The compiler itself is written in C.

  • c

BASICAF

A Dartmouth BASIC to Brainf**k compiler.

  • rust

rdtheory

An NPM package implementing some relational database decomposition algorithms, including loseless 3NF decomposition and functional dependency closures. Online AngularJS-based demo here..

  • js
  • math

Matriarch

A Python package that utilizes machine learning to understand performance regressions in large Fortran codebases. Used at the Los Alamos National Lab.

  • python
  • machine learning
  • research

worley

A Worley noise generator with a multitude of options. Capable of making cool animations. @WorleyNoise periodically tweets new examples.

  • c

perlin

A Perlin noise generator also capable of performing particle traces. See this blog post for examples and demos.

  • rust

dynamic-critical-path

An implementation of the dynamic critical path (DCP) scheduling algorithm for task dependency DAGs with network costs on an unbounded number of processors. Clojure and Java APIs.

  • clojure
  • java

multi-join

Simple command line utility to join multiple CSV files together, available via NPM.

  • js

birkhoff vonneumann

A Birkhoff von-Neumann matrix decomposer for decomposing bistochastic matrices into a convex combination of permutation matrices.

  • java
  • math

all-hail-the-mighty-json

An esoteric LISP-like programming language that uses JSON as an AST and input form, available via NPM. Made for the Brandeis hackday.

  • js
  • hackathon

Become a Conservancy Supporter!