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
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 |
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 |
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 |
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 |
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 |