2024-10-16 00:45:41 -07:00
|
|
|
<!DOCTYPE html>
|
|
|
|
<html lang="en">
|
2024-10-18 04:11:27 -07:00
|
|
|
<head>
|
|
|
|
<title>Greg Shuflin — Software Developer</title>
|
|
|
|
<meta charset='utf-8'>
|
|
|
|
<meta name='viewport' content='width=device-width'>
|
|
|
|
<link href="style-mobile.css" rel="stylesheet">
|
|
|
|
<link rel="icon" type="image/x-icon" href="favicon.png">
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<div class="container">
|
|
|
|
<header>
|
|
|
|
<div class="links">
|
|
|
|
<h1>Greg Shuflin — Software Developer</h1>
|
2024-10-16 01:48:23 -07:00
|
|
|
<ul>
|
2024-10-18 04:11:27 -07:00
|
|
|
<li>Download <a href="./resume/Greg-Shuflin-Resume.pdf">my resume</a></li>
|
|
|
|
<li>Contact me:
|
|
|
|
<ul>
|
|
|
|
<li><a class="emailLink" href="mailto:greg.shuflin+developerportfolio@protonmail.com">greg.shuflin@protonmail.com</a></li>
|
|
|
|
<li><a href='https://www.linkedin.com/in/gregshuflin/'>LinkedIn</a></li>
|
|
|
|
<li><a href="nostr:npub1t4tqw45837fzs0589jqqna0s5wcmzstnsvw2vlrj7934w9l25sgsgnjcsl">Nostr </a>
|
|
|
|
<code class="nostrPubkey">npub1t4tqw45837fzs0589jqqna0s5wcmzstnsvw2vlrj7934w9l25sgsgnjcsl</code>
|
|
|
|
</li>
|
|
|
|
<!--
|
|
|
|
<li>
|
|
|
|
<p>SSH public key:
|
|
|
|
<code>ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBYZzw9jdXezBuENVPZ+p3FipNN2gT9BUo7nlCTIqLhE</code>
|
|
|
|
</li>
|
|
|
|
-->
|
2024-10-16 01:48:23 -07:00
|
|
|
</ul>
|
2024-10-18 04:11:27 -07:00
|
|
|
</div>
|
|
|
|
<div class="photo">
|
|
|
|
<img src='self.jpg' alt='Self-photo'>
|
|
|
|
</div>
|
|
|
|
</header>
|
|
|
|
<main>
|
|
|
|
<section>
|
|
|
|
<h2>About me</h2>
|
|
|
|
<p>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.
|
2024-10-16 02:15:50 -07:00
|
|
|
|
2024-10-18 04:11:27 -07:00
|
|
|
<p>I've shipped code in <strong>Rust</strong>, <strong>Python</strong>,
|
|
|
|
<strong>C/C++</strong>, <strong>Ruby</strong> (on Rails),
|
|
|
|
<strong>Scala</strong>, <strong>Elm</strong>, and <strong>Haskell</strong>.
|
|
|
|
My educational credentials are B.A.s in <strong>Linguistics</strong>,
|
|
|
|
<strong>Computer Science</strong> and <strong>Japanese</strong> from the
|
|
|
|
<strong>University of California, Berkeley</strong>. 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, <a href="https://www.idris-lang.org/">Idris</a> for a living one day.
|
2024-10-16 02:15:50 -07:00
|
|
|
|
2024-10-18 04:11:27 -07:00
|
|
|
<p>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.
|
|
|
|
</section>
|
|
|
|
<section>
|
|
|
|
<h2>Open-source contributions</h2>
|
2024-10-16 02:15:50 -07:00
|
|
|
|
2024-10-18 04:11:27 -07:00
|
|
|
<p>My professional Github profile is <a href="https://github.com/gshuflin">@gshuflin</a>. I have
|
|
|
|
used <a href="https://github.com/neunenak">@neunenak</a> 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 <a href="https://gitea.com">Gitea</a> instance at <a href="https://code.everydayimshuflin.com/greg">code.everydayimshuflin.com</a>, to
|
|
|
|
reduce my dependency on cloud services I have no control over.
|
2024-10-16 02:15:50 -07:00
|
|
|
|
2024-10-18 04:11:27 -07:00
|
|
|
<ul>
|
2024-10-16 02:15:50 -07:00
|
|
|
|
2024-10-18 04:11:27 -07:00
|
|
|
<li>As part of my work at Toolchain Labs, I was a <a href="https://github.com/pantsbuild/pants/commits?author=gshuflin">contributor</a>
|
|
|
|
to the <a href="https://www.pantsbuild.org/">Pants</a> 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.</li>
|
2024-10-16 02:15:50 -07:00
|
|
|
|
2024-10-18 04:11:27 -07:00
|
|
|
<li>I maintain a <a href="https://github.com/typst/typst">typst</a> package
|
|
|
|
<a href="https://code.everydayimshuflin.com/greg/typst-lepizig-glossing">leipzig-glossing</a>
|
|
|
|
for typesetting linguistic interlinear glosses according to the Leipzig Glossing
|
|
|
|
Rules.</li>
|
2024-10-16 02:15:50 -07:00
|
|
|
|
2024-10-18 04:11:27 -07:00
|
|
|
<li>I'm a user of and <a href="https://github.com/casey/just/commits?author=neunenak">occasional
|
|
|
|
contributor to</a> the <a href="https://github.com/casey/just">just</a>
|
|
|
|
command runner, written in Rust.</li>
|
2024-10-16 02:15:50 -07:00
|
|
|
|
|
|
|
|
2024-10-18 04:11:27 -07:00
|
|
|
<li>A wrote a quick and dirty <a href="https://code.everydayimshuflin.com/greg/rust-parser-combinator">parser combinator
|
|
|
|
library</a> in Rust, mostly as a proof of concept. I'd like to see if I can incorporate some of the
|
|
|
|
ideas from the paper <a href="https://research.rug.nl/en/publications/efficient-parsing-with-parser-combinators">
|
|
|
|
Efficient parsing with parser combinators</a> to make it faster.</li>
|
2024-10-16 02:15:50 -07:00
|
|
|
|
|
|
|
|
2024-10-18 04:11:27 -07:00
|
|
|
<li>I contributed a basic <a href="https://github.com/koka-lang/koka/pull/193/commits/ab290a41a4249450d9934a4c23d2b8ed7e98b448">Vim
|
|
|
|
plugin</a> for the <a href="https://koka-lang.github.io/koka/doc/book.html">Koka</a> language,
|
|
|
|
an research programming language experimenting with the very neat idea of
|
|
|
|
algebraic effect systems.</li>
|
2024-10-16 02:15:50 -07:00
|
|
|
|
|
|
|
<li>I wrote a simple Rust command line program for <a href="https://github.com/neunenak/hilite">
|
|
|
|
for highlighting stderr console output</a>, 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
|
2024-10-18 04:11:27 -07:00
|
|
|
is published on <a href="https://crates.io/crates/hilite">crates.io</a>.</li>
|
2024-10-16 02:15:50 -07:00
|
|
|
|
2024-10-18 04:11:27 -07:00
|
|
|
</ul>
|
|
|
|
</section>
|
2024-10-16 02:15:50 -07:00
|
|
|
|
2024-10-18 04:11:27 -07:00
|
|
|
</main>
|
|
|
|
</div>
|
|
|
|
</body>
|
2024-10-16 00:45:41 -07:00
|
|
|
</html>
|