Resume
I’m Philip Monk, a Software developer in the Bay Area.
https://github.com/philipcmonk, phil@pcmonk.me.
Experience
- October 2018 - Present
- Tlon Corporation
Working on Urbit again.
- Improved Ethereum smart contracts. (Solidity)
- Deployed Azimuth and Ecliptic (ERC721 token)
- Worked on interfacing between Urbit and Ethereum (Hoon)
- May 2017 - August 2018
- Numerai
One of two main backend engineers at a hedge fund with crowdsourced market predictions through a public tournament.
- Improved Ethereum smart contract for the Numeraire cryptocurrency. (Solidity)
- Deployed Numeraire smart contract and performed initial distribution.
- Wrote service to interact with the Ethereum blockchain, submitting user transactions and monitoring for Numeraire-related events. (Golang)
- Tied above service into Numerai’s tournament web application. (Node, Mongo)
- Wrote service to post Numeraire and Ether-related transactions to accounting software.
- Wrote secure password management system with easy integration to shell scripts.
- Was primary developer on the migration of Numerai’s primary API from Node/Mongo/REST to Elixir/Postgres/GraphQL.
- Managed deployment of above API, as well as others. (AWS)
- Managed a community of thousands of users, collected feedback, and provided technical support for users.
- Wrote blog posts and technical documentation for users.
- Oversaw the open sourcing of some modules and got the community involved with improving them.
- Improved tournament design to eliminate exploits and improve submission quality.
- May 2014 - August 201
- Tlon Corporation
Worked on all levels of the Urbit system in a team of five, including:
- Vere, an interpreter for Nock bytecode (in C)
- Wrote the machinery for Dropbox-style sync of Urbit’s local filesystem to Unix
- Wrote some of the garbage collection algorithms for the memory manager, eliminated memory leaks
- Worked on the statistical profiler
- Arvo, a non-preemptive operating system running under Vere (in the Hoon
programming language)
- Wrote a typed, revision-controlled, global filesystem
- Implemented a fully end-to-end acknowledgment system for Ames, a network protocol on top of UDP
- Made improvements to the web server, application manager, functional build system, and timer subsystems
- Wrote various applications using all aspects of the system
- Hoon, a purely functional, strongly typed programming language
- Was one of the first to learn the language, before there was reference documentation
- Wrote parts of the core libraries
- Assisted in the design of new language features
- urb, a Unix tool to interact with Urbit over HTTP (in Python)
- Sole author
- A FUSE filesystem that exposes Urbit’s global, revision-controlled filesystem to Unix (in Python)
- The backend for a successful crowdfunding website (in Node)
- Documentation
- Wrote user tutorials, evangelism doc, programming tutorials, cookbook-style recipes, and reference documentation
- Assisted users and open source contributors new to Urbit.
- Vere, an interpreter for Nock bytecode (in C)
- Fall 2013 - Spring 2014
- Undergraduate Research in Mathematics at Arizona State University
Researched an open problem in combinatorics/graph theory, namely, how to count the number of spanning trees in the n-cube using bijective techniques. Presented research at the Southwest Undergraduate Mathematics Research Conference in February 2014.
- Jan. 2012 - May 2012
- Mathematics and Physics Tutor at Chandler-Gilbert Community College
Tutored college level mathematics and physics from Introductory Algebra to Calculus III, Differential Equations, and University Physics II.
Open Source Contributions
Author of Phlisped, a graphical programming editor experiment written in Racket.
Co-Author of hoon.vim, syntax highlighting in vim for the (then undocumented) Hoon language.
Education
B.S. in Mathemtics from Arizona State University (2012-2014,2017)
Skills and Technologies
Human Languages: English (native), Spanish (conversational), Russian (basic)
Computer Languages: C, Python, Elixir, Go, C++, Java, Racket/Scheme, Node, SQL, Hoon, Bash
Other Skills and Technologies: Systems programming, Linux, Git, AWS, FUSE, technical writing, community management
Publications
-
Urbit: A Solid-State Interpreter. Curtis Yarvin, Philip Monk, Anton Dyudin, Raymond Pasco. May 2016
-
Counting Spanning Trees Using Bijective Techniques. Presented at the Southwest Undergraduate Mathematics Research Conference. February 2014.
-
Horizontal Transformations of Functions: A Student’s Exploration. Scott Adamson, Philip Monk. OnCore. Arizona Association of Teachers of Mathematics. Fall 2013.
Hobbies
Sound engineering, hiking, ultimate frisbee, baseball, languages, cultures.