Greg Shuflin - Software Developer
Contact me via greg.shuflin@protonmail.com or LinkedIn.
Download a copy of my resume.
About me
I'm a software engineer with broad expertise across several different disciplines of industry software development, particularly network programming, full-stack web development, and modern cloud-focused devops/Unix systems administration. I dabble in 3d graphics, functional programming/type theory, programming language design, and mucking about with microcontrollers on the side, and one or another of these skillsets has come in handy before.
I've shipped code in Rust, Python, C, C++, Ruby on Rails, Scala, Elm, and Haskell. My educational credentials are a BA in Linguistics, Computer Science and Japanese from UC Berkeley. I used to have a line here that said "Also if you're hiring for a Rust position I'd love to talk to you.", but since I now have a position where I spend a lot of my time writing Rust, I suppose it worked.
Open-source work
As part of my work at Toolchain Labs, I contribute to the Pants build system. Much of my work on this project has involved porting the codebase from a legacy Python execution engine to a modern and more performant Rust execution engine.
I wrote a simple Rust command line program for for highlighting stderr console output, inspired by Mike Schiraldi's hilite utility, which I used at Meraki for making the actual errors more obvious in lengthy C++ compiler output. It is published on crates.io.
My professional Github profile is @gshuflin. I have used @neunenak as a personal Github profile in the past, and am in the process of moving my personal code to a self-hosted Gitea instance.
Some personal projects
A few side projects I've worked on that I think are particularly interesting.
Schala
I've been interested in programming language implementations since my college compilers class, and interested in type theory ever since I learned about Haskell. Schala is a Rust framework I've been sporadically working on to give me a place to experiment with multiple programming language ideas, and also the name of the language I'm using this framework to implement. Schala is intended to be an expression-based functional-encouraging programming language using ML-style types with Rust-like syntax.
Browser games
These are all open-source collabrations with Alex Nisnevich and several other occasional contributors.
- Untrusted (code) - a Javascript roguelike. Every level is deliberately unbeatable, and the player must edit the source code of the level in order to progress. Me and Alex Nisnevich are the two primary developers. An early version of the game won first place in the Spring 2013 Berkeley CSUA hackathon.
- Asshole Transit Bureaucrat 2015 - entry for the Ludum Dare 33 72-hour game jam (theme "you are the monster"), where the player takes on the role of a corrupt public transit bureaucrat who is paid-off by an evil ride-sharing corporation, and tasked with making the public bus system worse. Written in Elm, a Haskell-like pure functional language that compiles to Javascript/HTML.
- Kalevala (code) - a two-player tile-placing game inspired by the board game Völuspá by Scott Caputo. The frontend is written in Elm, the backend is a fairly-simple Haskell server.
Other projects
- SNES Assembly language: some experiments in writing custom ROMs in the assembly language used by the Super Nintendo/Super Famicom/SNES.