Greg Shuflin - Software Developer

Contact me via or LinkedIn.

Download a copy of my resume.

See open-source code I've written:

Self-photo

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, all things cryptocurrency, and modern cloud-focused devops/Unix systems administration. On the side, I dabble in 3d graphics, functional programming/type theory, programming language design, and mucking about with microcontrollers.

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 the University of California, Berkeley. My language of choice for most sorts of software project is Rust these days, but there's a whole wide world out there of interesting developments in programming language research - I'd love to write, say, Idris for a living one day.

My passion as a software developer is software correctness - I think the industry as a whole places too little emphasis on writing software that does the right thing from the beginning. I want to use the best tools and practices available to write software that is easily maintainable and minimizes bugs from the start of a project onwards.

Open-source contributions

I recently started porting the SSHFS UNIX utility from C to Rust.

I'm a user of and occasional contributor to the just command runner

As part of my work at Toolchain Labs, I was a contributor to the Pants build system. Much of my work on this project involved porting the codebase from a legacy Python execution engine to a modern and more performant Rust execution engine.

I recently contributed a basic Vim plugin for the Koka language, an research programming language experimenting with the very neat idea of algebraic effect systems.

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 still use it for contributing to projects that use Github as their main git repository host. I've moved most of my personal code to a self-hosted Gitea instance at gitea.everydayimshuflin.com, to reduce my dependency on cloud services I have no control over.

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.

Other projects