John Espenhahn's repositories
ResourceAllocation
Various resource allocation schemes (compiler-like, paxos-like)
Typescript-RPC
Remote Procedure Calls implemented in Typescript (requires ES2016)
DistributedSystems
Case studies in interprocess communication (NIO, RMI, custom non-blocking RMI)
GeneralSerializer
A serializer for arbitrary objects, implemented in Java
MiniJavaCompiler
A compiler for a subset of Java, written in Java. Generate machine code for a stack-based, object-oriented virtual machine
algorithms
Implementations of various algorithms, mainly from "Introduction to Algorithms, Third Edition"
angular-hybrid
Upgrade an ng1 UI-Router app to a ng1+ng2 hybrid using ng-upgrade
atlas
Apache Atlas
Blog
My personal website / blog
ImageClassification
Hackathon Project - Use AWS Rekognition to categorize images from social media
JVector
A ShiViz-compatible logging library for Java.
MapPointOrderer
Contract job. A utility for ordering geolocations through a GUI.
materialize
Materialize, a CSS Framework based on Material Design
MyLinuxInstall
A custom bash script to install dependencies to make it easier to wipe cluttered computer
nlp-graph-edit-distance
A graph edit distance algorithm which determines the difference between two sentences based on semantic content and syntactical structure. Sentences are represented as dependency graphs.
openzeppelin-solidity
OpenZeppelin, a framework to build secure smart contracts on Ethereum
OperatingSystems
Coursework for my OS class
synoptic
Inferring models of systems from observations of their behavior
TDEInternProgram
Resources for interns participating in the TDE intern program (2018)
Traffic-Data-Exchange
A sample of the proprietary code I wrote (in 2014) for Traffic Data Exchange. Copyright John Espenhahn and Traffic Data Exchange 2017