Recent Projects

PyProvide (Python; 2017)
Barebones dependency injection for Python 3.5+, based on type hints
GradeFast (Python, JavaScript; 2015-2017)
Python program with a web-based (React) UI for semi-automated grading of programming assignments
Present (C/C++, 2016)
C and C++ library for handling dates, times, and durations in a sane way
SerGIS Project (Node.js; 2015)
Platform for GIS-based games that focus on enhancing spatial thinking skills or disaster management training (group effort)


Note.Rocks (2016)
Create secure, sharable notes using client-side, in-browser encryption
Conduit Calculator on (2017)
Aides in electrical conduit/conductor size and derating calculations according to the 2011 National Electric Code
Repeating Decimal to Fraction Converter on (2013)
Converts repeating decimals to their fraction equivalents
Open in Conversation (Thunderbird add-on, 2016)
Thunderbird add-on to make the default message list action "Open Message in Conversation"
Copy URL With Hash (Firefox add-on, 2014)
Firefox add-on that enables copying the URL of a page with a hash at the end that identifies the location of the corresponding section of the page

About Me

Contact me at: jake [AT] hartz [DOT] io

Programming Interests

Still learning how to hold my ground with the borrow checker;
Hopefully some projects coming soon!
React/Redux; ECMAScript 6; Node.js
Java 8 (stream pipelines are pretty);
No opinions yet on Java 9
I like Python 3's newer additions, including type hints;
I'll take Flask over Django any day
Additional Experience
Other Fun Languages: C, C++, MIPS Assembly
Data Management: SQL (MySQL, SQLite), Hadoop, HBase, LevelDB/RocksDB
Revision Control Systems: Git, SVN, CVS
Linux/Unix: Experience with Unix-like operating systems, including Bash shell scripting
Emacs or Vim?
Vim. Also, spaces over tabs.
And, while we're at it, Arch Linux is the best, and you should support the EFF.


Rochester Institute of Technology
Computer Science BS (August 2014 — May 2019)
Member of the RIT Honors Program

Work Experience

Software Engineering Co-op (HubSpot)
Spring 2017 and Spring 2018
Work on the analytics team, processing and organizing data with Kafka, Hadoop, and HBase
Student Lab Instructor (Department of Computer Science, RIT)
Fall 2015 to Fall 2017
Work with students in labs that are part of introductory computer science courses; Grade lab assignments and give feedback on improving programming skills
Software Engineering Co-op (Lutron Electronics Co.)
Summer 2016
Worked on embedded software written in C++ and SQLite databases
Research Assistant (GCCIS, RIT)
Spring 2015
Worked with a professor and several other students on the implementation of SerGIS, a web-based platform for GIS-based games

More Projects

Serverless Web Applications

Concept Map Visualizer (2016)
Simple web application to visualize relationships between concept graphs and geographic locations on a map
Crisis Visualization (2016)
Visualizes social media activity by or for refugees (group project)
Brick City (2015)
Bare-bones web-based project selector/visualizer, useful for interactive public displays
LBN Electronic Bulletin Board (2014)
Client-side web application to create dynamic and sleek information slideshows, perfect for showing on public TVs or displays
Virtual Running (2013)
Client-side web application that simulates running, for when you are feeling too lazy to go on an actual run

Archived Projects

MP4 Downloader (Firefox add-on, 2009-2013)
Firefox add-on that downloads videos from YouTube and other video sites, supporting advanced features such as automatic naming of files
MasterChess (Python desktop application, 2014)
Simple, cross-platform chess team management system, written in Python and using wxWidgets
HHLS (Node.js, 2013)
Server-client system written entirely in JavaScript (Node.js on the server, browser-based JS on the client) that controls lights, sounds, and other effects throughout a building. It was originally used to control effects in a haunted house.