162 lines
5.7 KiB
HTML
162 lines
5.7 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>Greg Shuflin Developer Portfolio</title>
|
|
<meta charset='utf-8'/>
|
|
<style type='text/css' media='screen'>
|
|
|
|
@import url(http://fonts.googleapis.com/css?family=Ubuntu:400,700,400italic,700italic);
|
|
|
|
h1 {
|
|
font-family: Ubuntu;
|
|
}
|
|
|
|
#main {
|
|
margin-left:auto;
|
|
margin-right:auto;
|
|
width:960px;
|
|
}
|
|
|
|
body {
|
|
background-color:#2B2B4D;
|
|
color: white;
|
|
font-family: Ubuntu;
|
|
}
|
|
|
|
b {
|
|
font-weight:bolder;
|
|
}
|
|
|
|
a {
|
|
color:#ff3333;
|
|
font-weight:bolder;
|
|
}
|
|
|
|
a:visited {
|
|
color:#ff3333;
|
|
}
|
|
|
|
li {
|
|
font-family: Ubuntu;
|
|
margin-bottom:10px;
|
|
}
|
|
a.codeLink {
|
|
color:#31E631;
|
|
font-weight:normal;
|
|
}
|
|
|
|
code {
|
|
color:#31E631;
|
|
}
|
|
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<script src="main.js"></script>
|
|
<div id='main'>
|
|
<h1>Greg Shuflin</h1>
|
|
<p>Contact me: <code>greg [dot] shuflin [at] protonmail [dot] com</code>
|
|
|
|
<p> I maintain a <a href='https://www.linkedin.com/in/gregshuflin/'>LinkedIn</a> account.
|
|
|
|
<p>I'm a software engineer with broad expertise across several different
|
|
disciplines of industry software development, particularly network
|
|
programming, full-stack web development, and unix system administration. I
|
|
dabble in 3d graphics, programming language design, and mucking about with
|
|
microcontrollers on the side, which occasionally comes in handy. I've
|
|
shipped code in Python, C, C++, Ruby on Rails, Scala, Elm, Haskell and Rust.
|
|
My educational credentials are a BA in Linguistics, Computer Science and
|
|
Japanese from UC Berkeley.
|
|
|
|
<p>Also if you're hiring for a Rust position I'd love to talk to you.
|
|
|
|
<h2>Developer Portfolio</h2>
|
|
<p>These are a few side projects I've worked on
|
|
that I think are particularly interesting.
|
|
You can see the source code for these and other projects I'm working
|
|
on <a href="https://github.com/neunenak">on my Github profile</a>.
|
|
|
|
<div id='jsGames'>
|
|
<h3>Browser games</h3>
|
|
<p> All of these games are open-source collabrations with
|
|
<a href='https://github.com/AlexNisnevich'>Alex Nisnevich</a> and several
|
|
other occasional contributors.
|
|
<ul>
|
|
<li><a href="http://alex.nisnevich.com/untrusted/">Untrusted</a>
|
|
<a href="https://github.com/AlexNisnevich/untrusted" class='codeLink'>(code)</a>
|
|
- a roguelike game written entirely in
|
|
Javascript. Every level is unbeatable until the player edits the
|
|
source code of the level to make it winnable.
|
|
Me and <a href='https://github.com/AlexNisnevich'>Alex Nisnevich</a>
|
|
are the two primary developers.
|
|
An early version of the game won first place in
|
|
the Spring 2013 Berkeley CSUA hackathon.
|
|
|
|
<li>
|
|
<a href="https://github.com/neunenak/assholetransitbureaucrat2015">
|
|
Asshole Transit Bureaucrat 2015
|
|
</a>
|
|
- 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
|
|
<a href='http://elm-lang.org/'>Elm</a>, a Haskell-like pure functional
|
|
language that compiles to Javascript/HTML.
|
|
</li>
|
|
|
|
<li>
|
|
<a href='http://alexnisnevich.github.io/kalevala/'>Kalevala</a>
|
|
|
|
<a href='https://github.com/AlexNisnevich/kalevala' class='codeLink'>
|
|
(code)
|
|
</a>
|
|
- 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 <a href='https://github.com/neunenak/voluspa-server' class='codeLink'>fairly-simple Haskell server.</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</div>
|
|
|
|
<div id='rustAndHaskel'>
|
|
<h3>Rust and Haskell projects</h3>
|
|
<ul>
|
|
<li> <b>Schala programming langauge meta-interpreter</b>
|
|
<a href='https://github.com/neunenak/schala' class='codeLink'>(code)</a>
|
|
- an interpreter for multiple toy programming languages all at once
|
|
</li>
|
|
<li>
|
|
<a href='https://crates.io/crates/hilite'>Hilite</a>
|
|
<a href='https://github.com/neunenak/hilite' class='codeLink'>
|
|
(code)</a>, a Rust port of Mike Schiraldi's hilite utility,
|
|
which runs an arbitrary command line process and colors that
|
|
process' stderr output red.
|
|
</li>
|
|
<li> <b>Doomsday Algorithm</b> <a href='https://github.com/neunenak/Doomsday' class='codeLink'>(code)</a> a simple Haskell command-line application that computes the day of the week a given date in the Gregorian calendar falls on
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div id="firmware">
|
|
<h3>Bare-metal programming</h3>
|
|
<ul>
|
|
<li> <b>Low-level programming sandbox </b>
|
|
<a href="https://github.com/neunenak/low_level_programming" class="codeLink">(code)</a>
|
|
- my sandbox for experimenting with writing toy operating system kernels, in assembly,
|
|
Rust and C. Right now this repository is a bit of a mess, I'm (slowly) in the process
|
|
of cleaning it up and making the code presentable.
|
|
</li>
|
|
</div>
|
|
|
|
<div id=graphics>
|
|
<h3>Computer graphics</h3>
|
|
<ul>
|
|
<li> <a href="https://github.com/neunenak/Raytracer">C++ Raytracer</a> <a href='https://github.com/neunenak/Raytracer' class='codeLink'>(code)</a>
|
|
written for CS184 at UC Berkeley, Intro to Computer Graphics. This was a partner project with <a href="https://github.com/miedwards">Mark Edwards</a>. I'm
|
|
working on a <a href='https://github.com/neunenak/rust-raytracer' class='codeLink'>Rust port</a> of this project.
|
|
</ul>
|
|
</div>
|
|
</body>
|
|
</html>
|