- Teaching E-mail:
- gmcwhirter -at- windwardschool -dot- org
- Personal E-Mail:
- greg -at- ideafreemonoid -dot- org
I am currently looking for opportunities as a software developer in the greater Los Angeles area.
Since 2014, I have been a mathematics and computer science teacher at the Windward School in west Los Angeles.
I am originally from central Pennsylvania. I received a joint bachelor's degree from the University of Pittsburgh in mathematics and philosophy.
This year I am teaching classes on AP Computer Science A, Geometry, PreCalculus, and Introduction to Computer Programming.
In the past, I have taught a number of classes at a university level in symbolic logic, philosophy of science, and introductory philosophy. I also regularly teach a mathematical logic course during the summer for the Johns Hopkins Center for Talented Youth that focuses on introductory proof-writing, elementary number theory, and set theory.
For a fuller portfolio, please visit my GitHub profile.
- the code for my personal website
- Language/Technology (current)
- CouchApp (CouchDB) + Ember (old version) frontend, node.js backend w/ express for git hooks
- Language/Technology (rewrite)
- node.js backend, React frontend, PostgreSQL database
- displays solution trajectories of 2x2 games
- calculates solution trajectories of 2x2 games
- a framework for game-theoretic dynamical system simulations in C (docs: https://c-simulations.readthedocs.org/en/latest/)
- uses the c-simulations framework to run research simulations concerning self-deception
- uses the c-simulations framework to run research simulations concerning universal deception
- a framework for game-theoretic dynamical system simulations in Python (docs: https://simulations.readthedocs.org/en/latest/)
- an attempt at a 2d game wrapper for students to use at Windward School; somewhat incomplete (docs: http://wwgamelib.readthedocs.org/en/develop/)
- Python, pyglet
- a demo game using wwgamelib
a Bioinformatics project in Java for AP Computer Science A students; completed code available on request
(also available as gsmcwhirter/Bioinformatics)
a predator-prey simulation in Java for AP Computer Science A students; completed code available on request
(also available as gsmcwhirter/Simulations-1)
- Java, javafx
- a node.js extension for optimizing game stats given certain constraints
- C/C++, node.js
- the code for the website that used to host the swtor-tanking calculator; no longer live
- node.js w/ express
C Simulation Code
I have recently transitioned most of my simulations to plain C from python due to speed requirements. The most recent frameworks are available from my c-simulations project. Documentation for this project is ongoing and available at its readthedocs page.
Python Simulation Code
Formerly, I maintained the following simulations framework in python/cython. It can certainly still be used, though I have no intention of providing updates at this time.
Packages here can be re-used by either globally installing them or using a virualenv for your project. I recommend the latter way.
To start a new project using one of the packages below, you can follow these steps (replacing "simulations" with the package name):
mkdir myproject cd myproject virtualenv --distribute . virtualenv --relocatable . pip -E . install --extra-index-url https://www.ideafreemonoid.org/pip simulations
As an alternative to the final step, you can download and extract the linked archive from any build and run the following command in the extracted directory:
pip -E /path/to/myproject install .
Once you have a project set up and want to use it, you can activate your virtualenv by the following command:
When you want to return to your normal system environment, you can deactivate the virtualenv by entering the following command: