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 B.A.s 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
-
-
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 code.everydayimshuflin.com, to
- reduce my dependency on cloud services I have no control over.
-
-
-
-
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 maintain a typst package
- leipzig-glossing
- for typesetting linguistic interlinear glosses according to the Leipzig Glossing
- Rules.
I 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.
-
-
-
-
-
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.
-
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 B.A.s 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
+
+
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 code.everydayimshuflin.com, to
+ reduce my dependency on cloud services I have no control over.
+
+
+
+
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 maintain a typst package
+ leipzig-glossing
+ for typesetting linguistic interlinear glosses according to the Leipzig Glossing
+ Rules.
I 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.
+
+
+
+
+
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.
+
+
+
+
+
-
-
-
-
-
-
-
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 B.A.s 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
-
-
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 code.everydayimshuflin.com, to
- reduce my dependency on cloud services I have no control over.
-
-
-
-
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 maintain a typst package
- leipzig-glossing
- for typesetting linguistic interlinear glosses according to the Leipzig Glossing
- Rules.
-
-
I 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.
-
-
-
-
-
-
-
-
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.
-