Peter Herniman. impeter.org.
Resume found at: impeter.org/resume.
NPM modules I maintain at NPM.
Located in the USA.
About me:
Programming since the early 2000s.
Pick things up quickly and work well in a wide variety of roles, particularly if work can be done to automate or streamline them.
Anti-churn, vocal if a process could be more efficient, is based on bad preconceptions, or runs counter to protocol.
There's something to learn in any situation, why don't we find out what that is?
Tools:
Fluent in:
Rust, Javascript, C, Common Lisp, Julia, Lua, Ruby, Python 2 and 3, Nim, Bash, Racket, SQL, Elixir, Lisp
Proficient in:
Next.js, React, Redux, Angular, Vue.js, Svelte, OpenTofu, Terraform, COBOL, Erlang, C++, OCaml, Perl, Raku, Hy, x86 and arm assembly, Forth, Haskell, Java, Go, PHP, Clojure, CouchDB, GraphQL
Good with:
Google Cloud, AWS, GNU/Linux, Git, Svn, A variety of shells, Cygwin, Valgrind, GDB, Emacs, JDB, Vim, Visual Studio, Atom
Work:
Senior Software Engineer / Team Lead at Oracle Beast
Spring 2022 - Present
Developed fault tolerant price prediction software for the Flare network.
Wrote and interacted with EVM contracts to provide in-network prices with very high uptime.
Lead one other developer, educated them on best practices, and set up a wide variety of infrastructure running Flare Network validators, observers, and oracles.
Rust, Web3, Flare, Solidity, Javascript, Infrastructure, DevOps, Julia, ML, Machine Learning, Statistics
Full Stack Software Engineer at Superoxide
Winter 2020 - Spring 2022
Superoxide was an experiment in visually minimal, ungamified brain training for serious adults.
Additionally, it was a foray into incredibly secure programming; the only external code it uses is Julia and GNUTLS.
Developed the whole stack, from server to database, to UI framework, it was an amazing way to learn system design, and understand the web from the very bottom up.
Julia, Javascript, Language Design, Pedagogy, Custom Deployment
Full Stack Software Engineer at Parabola
Summer 2019 - Spring 2020
Parabola was a visual programming tool. Did R&D for their Machine Learning, wrote a lot of frontend and backend code in Javascript, Python, and SQL.
Mainly focused on backend work, and spearheaded quite a few projects, creating their recommendation engine with Torch (and then scikit) and doing other greenfield projects.
Started a paper discussion club for the engineering division of the company, and ended up giving a lot of presentations on seminal papers in PL Design, Software engineering best practices, security, etc...
Python, Javascript, Typescript, Redux, Torch, ML, Language Design, SQL, Redis, AWS, React, Express, Docker
Full Stack Software Engineer at Massdrop
Summer 2016 - Fall 2017
Worked as as a full stack isomorphic Javascript developer at a medium sized startup for almost 15 months, Wore multitude of hats, writing PHP, SQL, Ruby and working with AWS and Docker.
Began there as an intern, but was hired as a Software Engineer after 3 months. Spearheaded features that increased user conversion by over 6%.
Decided after a year post internship that finishing my Bachelor's would be a better idea.
Node.js, React, Python, Javascript, Typescript, Ruby, Postgres, Docker, Vagrant, Kubernetes, Jenkins, Git, CI, PHP, SQL, Redis, AWS
R&D Dev Intern at Earthquake Protection Device
Summer 2015
Wrote embedded Python and C to coordinate a swarm of Raspberry Pis (using RF emitters).
The devices were meant to deploy countermeasures in the case of seismic activity, but the countermeasures were never developed.
C, Python 2, Embedded Development, Distributed Systems
Accolades:
FBSecure
2nd out of 98 teams at HackUCSC 2016
Wrote a browser extension with two friends that seamlessly encrypts Facebook messages with RSA.
It worked exceptionally well, until Facebook altered the DOM on their messenger to make things harder. None of us actually used Facebook, so we let it break.
If you want to check it out, there's a postmortem at FBSecure.
Firefox, Chrome, Extension
SassMaster
3rd out of 60 teams at CruzHacks 2018
Again with one of the same teammates and a newcomer, we made a sarcasm detector for a hackathon in 2018.
We used a combination approach, a character RNN + a naive bayesian classifier to determine if a sentence was sarcastic or not.
ML, NLP, Ruby, Lua, Torch, RNN, Classification, Bayesian Learning
Trexpedition
4th at GoCodeColorado
Wrote an educational website with my girlfriend that trains you in the natural sciences.
It assists you in finding the right trail to hike on based on the flora/fauna you might find there, along with other parameters, then shows you geological features and animal/plant sightings along the hike.
It caches very aggressively, since there's no cell service on most trails in the Colorado Desert.
Firefox, Chrome, Extension, Express, Node.js, PWA, Progressive Web Apps
Odyssey of the Mind
State Champion at California OOTM 2014 and 2015
Odyssey of the Mind (a high school engineering competition) state champion two years in a row.
It taught me how to think on my feet and solve problems rapidly. It also taught me how to budget time and resources (holding up 550+ pounds with 14 grams of balsa wood).
Engineering, Acting, Improvisation
Projects:
Among many others, over the years I've written:
Multiple NPM modules and counting, I'm dedicated to open source in the right context.
A compiler that compiles to x86_64 from a s-exp based language
Fault tolerant K/V stores both in Ruby and Go
An implementation or two of Paxos
A programming language for distributed systems based on the idea of bounded semijoin lattices
Http servers in Nim, Lisp, and Julia
A low-code SMTP server and client in Javascript
A DSL for talking to Mnesia in Elixir
A message board with real-time updates in Javascript and Node.js
A forum in Elixir
The world's first (I think) cellular automata strategy game
An audible Hacker News reader
Passions:
Human Organization, Government, and History
Distributed Systems and Consistency
Functional Programming
Programming Languages
Machine learning
Natural Languages (French, Spanish, Russian, Mandarin, Latin)
Physiology
Mycology
Freediving
Sculpture, Woodworking, Drawing, Pottery
Lively discussion about almost any topic
Affiliations and Presentations:
Given presentations to the Santa Cruz ACM on metaprogramming, functional programming, and various languages.
Been on a many university panel discussions about AI and Machine Learning.
Additionally, I've given a few presentations to my local LODP chapter about the history and application of different algorithms, in depth explanations of the Transformer architecture, optimization techniques, and more.
Education:
B.S. in Computer Science from UC Santa Cruz, Particular interest in Distributed Systems, Databases, and PL Design.
Certified Bilingual in English and Spanish.
President (and co-founder) of the Maria Carrillo High School programming club for two years. My experience leading this club, recruiting new members, organizing activities and teaching others has helped me understand how to teach and how to lead.