It doesn't have to be complicated..

It doesn't have to be perfect..

It just needs to be fun (most of the time)

Ronald Jenkees

Experience

A Trading Desk Fall 2017 - Present
Worked with a trading desk at Allston Trading
Most of this stuff is proprietary, but we generally have a bunch of fun
Core Infrastructure Team July 2017 - August 2017
Created internal software similar to WireShark for viewing internet packets
Worked on various other internal projects using the interal Jira ticket system
Core Infrastructure Software Team Intern May 2016 – June 2016
Advanced an internal HashMap implementation to incorporate optimizations from Java 8's HashMap
Optimizations included buckets that converted into Red-Black Trees after many collisions
Created unit tests for the improved HashMaps
Worked on a more advanced benchmarking system to test effectiveness of HashMap improvements
Commodities Development Team Intern July 2016 - August 2016
Worked on an internal trading interface log component that pulled data from several feeds, and allowed filtering
Made the user changes to layout persist through the Java Preferences API, combined with internal APIs
Core Infrastructure Software Team Intern May 2016 – June 2016
Advanced an internal HashMap implementation to incorporate optimizations from Java 8's HashMap
Optimizations included buckets that converted into Red-Black Trees after many collisions
Created unit tests for the improved HashMaps
Worked on a more advanced benchmarking system to test effectiveness of HashMap improvements
Core Infrastructure Software Team Intern May 2015 – August 2015
Created a Java API for converting a sequence of timed trading events into a statistical data analysis
Used the Java Servlet API, Smart Client, and Google Charts to provide a web interface for the analysis
Created a Java API that interacted with an SQL Server database to store event time limits and alerts
Programming Intern Summer 2014, Part-time 2014-2015, 2015-2016, 2016-2017
Coded a set of REST services for remote Watershed Erosion Prediction Project (WEPP) model runs
Used Apache Tomcat 7 and the JAX-RS API, through the Jersey library
Coded this Tomcat server to receive JSON-format instructions and interface with the C++ model
Teaching Assistant Fall 2016 - Spring 2017
Worked as a TA in a course where students build three-dimensional virtual reality experiences using Unreal Engine 4 and Unity
Had a lot of fun in a course where students built cool applications using the Oculus Rift and HTC Vive
Coded the main design of the Spring 2017 webpage for the course at cs.purdue.edu/homes/cs390vr
Teaching Assistant Fall 2015
Worked as the only UTA for the Fall 2015 semester in the difficult CS 381 Algorithms course
It was a great experience, and I taught evening SI sessions, but it was my first time TAing
I was stressed that my teaching skills did not match my computer algorithm skills, but I learned a lot

Projects

Warcraft III Modding Since ~2005
View in action at https://www.youtube.com/embed/uplzdfldvLg
Edited JSON-like "MDL" 3d model files in a mix of NotePad++ and freeware programs
Wrote the Matrix Eater 3D, a 3D vertex editor and importer for this proprietary 3D model format
Created a large game mod with over 30,000 lines of game scripts
Wrote Disarm, a small program that deletes/swaps MDL character weapons by investigating the tree of nodes in their character skeleton to locate "weapons"
Over 30,000 lines of code authored in my Java Warcraft III modding repository as libraries for these programs
Disarm and Matrix Eater 3D continue to be used by the game modding community at www.hiveworkshop.com
Planetary War, a turn-based strategy game Fall 2013 - Present
View in action at https://www.youtube.com/embed/-KB60bXttJc
Self-taught use of the LWJGL library for Java OpenGL bindings
Self-taught use of the XStream library for easy reading/writing of XML data in Java
Utilized Java Socket API to build TCP multiplayer connection
More information about the game is available at http://etheller.com/planetarywar
Chair Bakes Interpreter Fall 2017
Clone on GitHub https://github.com/etheller/ChairBakesInterpreter
Hunter Allen was dedicated to the idea of building his own functional language
His language was called Bench Cookie and seemed to be unnecessarily complicated
The example syntax and grammars that Hunter provided were often inconsistent
To prove the point that Bench Cookie might be flawed, I created CBI (Chair Bakes Interpreter)
It is an ANTLR based Java interpreter that was written much, much faster than Bench Cookie has progressed
The interpreter functions and can execute code and basic functions in the invented language
Simple Encryption (encrypt.py) ~2009-2010
Viewable at https://github.com/Retera/Encrypt/blob/master/encrypt.py
An encryption algorithm that's very simple and relies on change of base.
Originally created in the Warcraft 3 Map Titancraft for storing save data.
Not tested since 2010, so use it at your own risk (was written for Portable Python 2.6.1).
Eric Theller's Digital Pets ~2008 (Middle School)
Viewable at https://retera.github.io/ETDP/ETDP.htm
A silly website made after playing way too much World of Warcraft back in middle school.
Dnd Dungeon Generator ~2007 (Middle School)
To download windows EXE, click here
Created to generate Dungeon and Dragons dungeons, but it doesn't work without some silly DLL on modern Windows.
Tomb Finder Game ~2006 (Middle School)
To download windows EXE, click here
Created to get some experience making my own video game
Summons of the Void 3D Model Website 2004-2006 (Elementary/Middle School)
Viewable at https://retera.github.io/SummonsOfTheVoid/SummonsOfTheVoid.htm
Created as a 4-H Project in 2004, then updated around 2006

Education

Purdue University, West Lafayette, IN Expected Graduation Date: May 2017
Bachelor of Science in Computer Science
Tracks: Software Engineering, Machine Intelligence
Minors: Spanish, Mathematics
3.97 GPA on 4.0 Scale

Achievements

Phi Beta Kappa Honor Society
Eagle Scout of BSA Troop 338
Graduated as Valedictorian of Harrison High School
3rd Place at Purdue with Team Shadowave in Windward Coding Competition 2014
2nd Place at Purdue with Team BoilerTron in Windward Coding Competition 2016

Entertainment

Burger Policy

Standard web-based internet applications are typically hosted with Apache server software. However, etheller.com is powered by my own C++ server application, and some Java server utilities for advanced applications like Planetary War.

Because of this, if anyone hacks this website and changes this text on my server, then I will buy them a burger.

This is because the site runs on my own server code.

To be clear, to earn the burger you must modify this text server-side, and add your name here for all to see: ____________________

Hunt for Giant Eggs, Playable Now Online Spring 2016
Play it now at http://www.etheller.com/hfge/LayoutCore_Lesson5.html
Although this was a class project, I took it well beyond requirement
- Created 5 levels
- Innovated by adding the Egg Hunt component to the VR game
(after a particularly good Easter dinner)
Eric's Super Pacman Summer 2016, Spring 2017
Play it now at http://pacman.etheller.com/
I was working at Allston. One evening, after work, I thought I needed more Site Goodies. So I coded Pacman.
- Stores high score on server, so you can try to out perform your friends [NOTE: High score system currently unavailable]
- Or, if you're Simon, you can just use a memory editor to get a million score and name yourself Eric Sux
- There are 45 levels. They are very difficult. You can check the in-game high score system to see if they were beaten yet.
- If you want to be a winner, upload your high score in the game after you die
- There is a CORS error on the high score system, so in order for it to save you must be on "http://etheller.com", not "http://www.etheller.com"
The name of this game might violate a Namco trademark. As such, it is not a commercial game, is provided free of any guarantee for any specified purpose, and exists only and solely for educational purposes to be shared with other software developers as a tech demonstration. In addition, it is not affiliated with the actual "Pacman" game and does not follow the structure of that actual game, which it is not.
Dinodine Spring 2017
Play it now at http://etheller.com/dinodine/
Games are often made great by having Game Mods
- Dinodine is an adventure game based on the codebase of the Eric's Super Pacman game project
Snake Summer 2016
Play it now at http://www.etheller.com/snake/
I was working at Allston. One evening, after work, I thought I needed more Site Goodies. So I coded Snake.
- Stores high score locally to browser
Fourty Thousand Fall 2016
Play it now at http://www.ckachur.com:40000/
I created a game called Fourty Thousand and placed it on port 40000 of my friend Cameron's server.
- Stores high score on the ckachur.com server, so you can compete for the highest