Compare commits

...

52 Commits
cv ... master

Author SHA1 Message Date
Danila Fedorin 9fc27106cc Update resume with Python bindings for LSP. 2024-02-06 20:21:02 -08:00
Danila Fedorin c756fd5efa Fix typo
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2023-08-06 14:30:58 -07:00
Danila Fedorin c47e49dabe Add a new bullet point and slightly bump line height to occupy space 2023-08-06 14:12:27 -07:00
Danila Fedorin 88396133d0 Significantly shorten bullet points.
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2023-08-06 14:03:24 -07:00
Danila Fedorin fcd14cb866 Workshop bullet points some more.
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2023-08-06 13:48:07 -07:00
Danila Fedorin f48dbaad78 Update location to Portland
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2023-08-06 13:29:28 -07:00
Danila Fedorin 1425d2716f Workshop resume bullet points some more.
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2023-08-06 13:26:07 -07:00
Danila Fedorin 5a7c549e22 Merge research and teaching assitanships together
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2023-08-06 13:07:24 -07:00
Danila Fedorin e36babf58a Workshop Chapel bullet points somewhat.
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2023-08-06 13:03:00 -07:00
Danila Fedorin 7e99c35112 Put Master's degree first 2023-06-17 12:33:57 -07:00
Danila Fedorin a41834c1d1 Change 'expected' to 'completed' 2023-04-22 14:33:27 -07:00
Danila Fedorin 36fcd6d66f Copy the necessary JS into the Nix build. 2023-02-20 06:45:51 +00:00
Danila Fedorin 8f274700ab Include feather.min.js to make sure offline builds work 2023-02-19 22:39:34 -08:00
Danila Fedorin 3107132b50 Copy fonts into build directory 2023-02-20 06:22:23 +00:00
Danila Fedorin 17ab717ae1 Locally provide fonts and try add more breathing room to resume 2023-02-19 22:08:31 -08:00
Danila Fedorin 984256a0fa Add flake lockfile 2023-02-20 05:36:19 +00:00
Danila Fedorin 2d5098909c Add a nix expression for building the resume. 2023-02-20 04:20:58 +00:00
Danila Fedorin c0fdf37da9 Add Chapel position 2023-02-19 16:44:05 -08:00
Danila Fedorin 7e2ff6f0e7 Hide the awards section (it's underwhelming?) 2023-02-19 15:51:00 -08:00
Danila Fedorin 4bcb3f7a85 Add COLA 2023-02-19 15:46:22 -08:00
Danila Fedorin efe0bb4564 Replace Scylla with matrix-highlight 2023-02-19 15:44:34 -08:00
Danila Fedorin 54f268d76e Make tweaks to make printing and previewing easier 2023-02-19 15:43:27 -08:00
Danila Fedorin 5ad07166b5 Tweak typescript description somewhat and add project link 2023-02-19 15:42:56 -08:00
Danila Fedorin cfa31fbbfb Censore phone number 2023-02-19 15:41:53 -08:00
Danila Fedorin 040653c11c Add Element.io to jobs 2021-10-03 20:55:16 -07:00
Danila Fedorin af8ec16c4c Add TypeScript 2021-09-04 19:30:48 -07:00
Danila Fedorin c2743b2be9 Add paper and reorder languages 2021-08-23 17:49:12 -07:00
Danila Fedorin fb06cf1a2c Use nickname for resume 2021-08-01 17:30:21 -07:00
Danila Fedorin db663ed2bf Make room for more publications (hopefully) 2021-06-20 18:58:37 -07:00
Danila Fedorin abb11690e7 Add Maypop and rename 'Blog Author' to 'Technical Writer' 2021-06-20 18:37:54 -07:00
Danila Fedorin 22a72ccfea Update resume content. 2021-02-28 13:11:18 -08:00
Danila Fedorin 3985cb5f93 Reorder the languages a little. 2020-11-29 10:35:53 -08:00
Danila Fedorin 495abb8d03 Update the resume. 2020-09-25 22:48:04 -07:00
Danila Fedorin 56b21b3427 Tweak some visuals. 2020-09-02 18:43:07 -07:00
Danila Fedorin 697e7d88c4 Split experience into two sections. 2020-09-02 17:38:35 -07:00
Danila Fedorin e19dff800f Add university name. 2020-09-01 14:35:15 -07:00
Danila Fedorin a24768990b Switch away from project columnns. 2020-09-01 14:30:45 -07:00
Danila Fedorin db30141c08 Disable font ligatures. 2020-08-12 16:51:27 -07:00
Danila Fedorin f24fefe0cb Add formal verification to resume. 2020-06-30 13:42:08 -07:00
Danila Fedorin 5ffca3f25a Add DSS award and remove Raleway's italics (the K is awful) 2020-06-30 13:40:45 -07:00
Danila Fedorin ef1febeb85 Make everything fit. 2020-06-17 01:15:33 -07:00
Danila Fedorin 9e80d8cc68 Make GPA bold. 2020-06-17 00:24:20 -07:00
Danila Fedorin 91a4f15386 Merge branch 'master' of https://dev.danilafe.com/DanilaFe/resume 2020-06-17 00:08:52 -07:00
Danila Fedorin c9563274f1 WIP changes to section arrangement. 2020-06-17 00:07:11 -07:00
Danila Fedorin e02e4ffc7a Incorporate feedback from Dr. Winters. 2020-06-17 00:04:45 -07:00
Danila Fedorin c2d7672a69 Update resume to match site 2020-05-11 01:23:08 -07:00
Danila Fedorin 7c103f5ae2 Have Drone build SASS.
continuous-integration/drone/push Build is passing Details
2020-03-28 23:26:55 -07:00
Danila Fedorin 2137eea908 Tweak Chrome settings.
continuous-integration/drone/push Build is passing Details
2020-03-28 23:08:56 -07:00
Danila Fedorin d2e5369b7b Switch to using file:// for Chrome render.
continuous-integration/drone/push Build is passing Details
I don't think the web server is started in this mode
2020-03-28 23:05:45 -07:00
Danila Fedorin 0347edf338 First attempt at auto-building resume
continuous-integration/drone/push Build is passing Details
2020-03-28 22:59:06 -07:00
Danila Fedorin dc398b02b2 Update resume with TA and blog 2020-03-26 18:09:49 -07:00
Danila Fedorin 0bed6548a8 Add media query display to regular version of resume 2019-11-10 17:12:00 -08:00
11 changed files with 414 additions and 196 deletions

35
.drone.yml Normal file
View File

@ -0,0 +1,35 @@
kind: pipeline
type: docker
name: default
volumes:
- name: resume-output
temp: {}
steps:
- name: compile-sass
image: ellerbrock/alpine-sass
commands:
- mkdir -p css
- sassc scss/style.scss css/style.css
- name: build-resume
image: pink33n/html-to-pdf
commands:
- chrome-headless-render-pdf --chrome-binary=/usr/local/bin/chrome-wrapper --url file://$(pwd)/resume.html --pdf /resume-output/Resume-Danila-Fedorin.pdf --no-margins --include-background
volumes:
- name: resume-output
path: /resume-output
- name: upload-resume
image: eeacms/rsync
commands:
- eval `ssh-agent -s`
- echo "$CUSTOM_KEY" | ssh-add -
- mkdir -p ~/.ssh
- echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
- rsync -rv -e "ssh -p 22" /resume-output/Resume-Danila-Fedorin.pdf resume-drafter@danilafe.com:/home/resume-drafter/ --checksum
environment:
CUSTOM_KEY:
from_secret: resume_ssh_key
volumes:
- name: resume-output
path: /resume-output

16
build.sh Normal file
View File

@ -0,0 +1,16 @@
source $stdenv/setup
# Compile Sass sources and get resume file
mkdir build && cd build
mkdir css && sassc $src/scss/style.scss css/style.css
mkdir font && cp $src/font/* font/
mkdir js && cp $src/js/* js/
cp $src/resume.html resume.html
mkdir $out
# Save generated files
cp resume.html $out
mkdir $out/css && cp ./css/style.css $out/css
chromium --disable-gpu --headless --print-to-pdf="$out/Resume-Danila-Fedorin.pdf" file://$(pwd)/resume.html

View File

@ -1,87 +0,0 @@
@import url("https://fonts.googleapis.com/css?family=EB+Garamond|Raleway");
a {
color: #1dc868;
text-decoration: none; }
svg {
height: 1.2em; }
body {
margin: 0px;
padding: 0px;
font-family: "Raleway";
line-height: 1.3em;
font-size: 14px; }
header {
text-align: center;
margin: auto;
margin-bottom: 10px; }
div.name {
font-size: 1.25em;
margin: 15px;
font-family: "Raleway", serif; }
h1 {
font-size: 1.25em;
font-family: "Raleway", serif;
font-weight: normal;
margin: 10px;
color: #1dc868; }
h2 {
font-size: 1.1em;
font-weight: normal;
margin-bottom: 0px; }
div.contact {
background-color: #36e281;
color: white;
display: flex;
justify-content: center; }
div.contact-item {
padding: 10px;
padding-left: 20px;
padding-right: 20px;
display: flex;
align-items: center; }
div.contact-content {
padding-left: 5px;
font-weight: bold; }
div.horizontal-list {
display: flex;
flex-direction: horizontal; }
div.horizontal-list section, div.horizontal-list div {
flex-grow: 1; }
div.project-container {
flex-basis: 25%; }
div.project-container h2 {
display: inline;
margin: 0px; }
a.project-link {
color: black;
font-weight: bold;
display: flex;
align-items: center; }
svg.project-link-icon {
height: 1em; }
main {
margin: auto;
max-width: 90%; }
div.section-content {
margin-left: 20px; }
div.position-location {
color: #4d4c4c; }
section {
page-break-inside: avoid; }

43
flake.lock Normal file
View File

@ -0,0 +1,43 @@
{
"nodes": {
"flake-utils": {
"locked": {
"lastModified": 1676283394,
"narHash": "sha256-XX2f9c3iySLCw54rJ/CZs+ZK6IQy7GXNY4nSOyu2QG4=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "3db36a8b464d0c4532ba1c7dda728f4576d6d073",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1676718858,
"narHash": "sha256-giQecvcifVLNHCC9lMfTGP09tNxXhOMw+d/aql7MhRw=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "e6d5772f3515b8518d50122471381feae7cbae36",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-22.11",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}

15
flake.nix Normal file
View File

@ -0,0 +1,15 @@
{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-22.11";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
{
defaultPackage = import ./package.nix {
pkgs = import nixpkgs { inherit system; };
};
}
);
}

Binary file not shown.

Binary file not shown.

13
js/feather.min.js vendored Normal file

File diff suppressed because one or more lines are too long

10
package.nix Normal file
View File

@ -0,0 +1,10 @@
{ pkgs, sass ? pkgs.sassc, chromium ? pkgs.ungoogled-chromium }:
pkgs.stdenv.mkDerivation {
name = "daniel-resume";
version = "0.1";
builder = ./build.sh;
buildInputs = [ sass chromium ];
src = ./.;
FONTCONFIG_FILE = pkgs.makeFontsConf { fontDirectories = []; };
}

View File

@ -1,20 +1,20 @@
<html>
<head>
<script src="https://unpkg.com/feather-icons"></script>
<title>Resume - Danila Fedorin</title>
<script src="js/feather.min.js"></script>
<title>Resume - Daniel Fedorin</title>
<link href="css/style.css" rel="stylesheet">
</head>
<body>
<header>
<div class="name">Danila Fedorin</div>
<div class="name">Daniel Fedorin</div>
<div class="contact">
<div class="contact-item">
<i data-feather="home" class="contact-content"></i>
<div class="contact-content">5636 SW Avena Pl, Corvallis, OR, 97333</div>
<div class="contact-content">Portland, OR</div>
</div>
<div class="contact-item">
<i data-feather="phone" class="contact-content"></i>
<div class="contact-content">(503) 702 0929</div>
<div class="contact-content">(000) 000 0000</div>
</div>
<div class="contact-item">
<i data-feather="mail" class="contact-content"></i>
@ -23,106 +23,90 @@
</div>
</header>
<main>
<div class="horizontal-list">
<section style="flex-basis: 55%;">
<h1>Education</h1>
<div class="section-content">
Oregon State University, Corvallis, OR <br>
<em>Bachelor of Science</em>, Computer Science, <br>
Expected June 2020 <br>
4.0 GPA
</div>
</section>
<section>
<h1>Technical Skills</h1>
<hr>
<div class="section-content">
<em>Languages:</em> C, C++, Java, Kotlin, JavaScript, Haskell, Python, Haxe<br>
<em>Operating Systems:</em> MacOS, Linux<br>
<em>Additional Skills:</em> Experience with compiler design, algorithm efficiency,
low-level development.<br>
</div>
</section>
</div>
<main>
<section>
<h1>Education</h1>
<div class="section-content">
<em class="italic">Master of Science</em>, Oregon State University, Computer Science - Completed June 2022 • <em class="bold">4.0 GPA</em><br>
<em class="italic">Bachelor of Science</em>, Oregon State University, Major: Computer Science | Minor: Mathematics - Completed June 2020 • <em class="bold">4.0 GPA</em>
</div>
</section>
<section>
<h1>Skills</h1>
<div class="section-content">
<em class="italic">Programming Languages:</em> C, C++, Haskell, Elm, Coq, Idris, Crystal, JavaScript, TypeScript, Kotlin, Java, Python, Nix, Haxe<br>
<em class="italic">Languages:</em> English (native), Russian (native), French (conversational, DELF B1 certification) <br>
<em class="italic">Additional Skills:</em> Compiler design, formal verification, algorithms, low-level development.<br>
</div>
</section>
<section>
<h1>Projects</h1>
<div class="horizontal-list section-content">
<div class="project-container">
<a class="project-link" href="https://github.com/DanilaFe/pegasus">
<h2>pegasus</h2>
<i data-feather="link" class="project-link-icon"></i>
</a>
LALR parser generator for the C and Crystal languages.
</div>
<div class="project-container">
<a class="project-link" href="https://github.com/DanilaFe/chalk">
<h2>chalk</h2>
<i data-feather="link" class="project-link-icon"></i>
</a>
Compiler from a small language into CHIP-8 bytecode.
</div>
<div class="section-content">
<!--
<div class="project-container">
<a class="project-link" href="https://github.com/DanilaFe/abcs">
<h2>abcs</h2>
<i data-feather="link" class="project-link-icon"></i>
</a>
</a> &mdash;
Calculator program with a complete embedded programming language.
</div> -->
<!--
<div class="project-container">
<a class="project-link" href="https://github.com/DanilaFe/AdventOfCode-2020">
<h2>aoc</h2>
<i data-feather="link" class="project-link-icon"></i>
</a> &mdash;
Solutions for Advent of Code 2020 problems, with select puzzles formalized using Coq.
</div> -->
<div class="project-container">
<a class="project-link" href="https://dev.danilafe.com/Web-Projects/blog-static/src/branch/master/code/compiler">
<h2>bloglang</h2>
<i data-feather="link" class="project-link-icon"></i>
</a> &mdash;
Compiler for a purely functional, lazily evaluated language explained in-depth on <a href="https://danilafe.com/blog/00_compiler_intro/">personal blog</a>.
</div>
<div class="project-container">
<a class="project-link" href="https://github.com/DanilaFe/maypop">
<h2>maypop</h2>
<i data-feather="link" class="project-link-icon"></i>
</a> &mdash;
<!-- Instructional implementation of a dependently typed functional programming language capable of formal proofs. -->
Dependently typed functional programming language capable of formal proofs.
</div>
<!--
<div class="project-container">
<a class="project-link" href="https://github.com/DanilaFe/chalk">
<h2>chalk</h2>
<i data-feather="link" class="project-link-icon"></i>
</a> &mdash;
Compiler from a small imperative language into CHIP-8 bytecode.
</div>
-->
<div class="project-container">
<a class="project-link" href="https://github.com/DanilaFe/pegasus">
<h2>pegasus</h2>
<i data-feather="link" class="project-link-icon"></i>
</a> &mdash;
LALR parser generator currently supporting the C and Crystal languages.
</div>
<!--
<div class="project-container">
<a class="project-link" href="https://github.com/DanilaFe/Scylla">
<h2>scylla</h2>
<i data-feather="link" class="project-link-icon"></i>
</a>
</a> &mdash;
Elm-based purely functional front end for the Matrix chat protocol.
</div>
</div>
</section>
<section>
<h1>Technical Experience</h1>
<div class="section-content">
<div class="position">
<h2>Research Assistant</h2>
<div class="position-location">Oregon State University | Spring 2018 - Present</div>
<ul>
<li>Devised and implemented language to explain behavior of spreadsheets to new users.</li>
<li>Developed tooling in Haskell to verify, generate, and debug the explanation language.</li>
<li>Contributed to research paper published to the International Conference on Generative Programming.</li>
</ul>
</div>
<div class="position">
<h2>Lead Programmer</h2>
<div class="position-location">Northwest Advanced Programming Workshop | Summer 2017</div>
<ul>
<li>Designed and implemented a desktop calculator application with a focus on usability and feature-completeness.</li>
<li>Worked on a variety of components, including parsing input through a custom regular expression engine, evaluating expressions through Taylor Series, and UI design</li>
<li>Profiled and debugged application in order to find inefficiencies, reducing computation time by 60%.</li>
<li>Led a small team using the git version control system.</li>
<li>Exercised public speaking and communication skills by reporting progress to supervisor and presenting to other teams.</li>
</ul>
</div>
<div class="position">
<h2>Participant</h2>
<div class="position-location">Oregon Game Project Challenge | Spring 2016 and 2017 </div>
<ul>
<li>Worked in a team to complete video game to be presented at main event.</li>
<li>Created a game engine from scratch using Entity Component Systems architecture.</li>
<li>Used OpenGL shaders and normal mapping to create 2D-shadow system.</li>
<li>Developed interaction between physical components (microcontrollers) and the video game for multi-user cooperation.</li>
</ul>
</div>
<div class="position">
<h2>Finalist</h2>
<div class="position-location">Google Code In, Online Competition | Winter 2016</div>
<ul>
<li>Worked with large open-source project written in C.</li>
<li>Interacted with other developers to set goals, merge changes, and run tests.</li>
<li>Improved quality of source code, reduced code repetition, and fixed bugs.</li>
</ul>
-->
<div class="project-container">
<a class="project-link" href="https://github.com/DanilaFe/matrix-highlight">
<h2>matrix-highlight</h2>
<i data-feather="link" class="project-link-icon"></i>
</a> &mdash;
Tool for collaborative, decentralized, and federated web annotation based on the Matrix protocol.
</div>
</div>
</section>
@ -130,9 +114,127 @@
<h1>Publications</h1>
<div class="section-content">
Co-Author: J&aacute;come Cunha, Mihai Dan, Martin Erwig, Danila Fedorin, Alex Grejuc: <em>Explaining spreadsheets with spreadsheets (short paper).</em> GPCE 2018: 161-167
Divya Bajaj, Martin Erwig, <em class="bold">Daniel Fedorin</em>: <em class="italic">A Visual Notation for Succinct Program Traces (journal paper)</em>, COLA 2023<br>
Divya Bajaj, Martin Erwig, <em class="bold">Daniel Fedorin</em>, Kai Gay: <em class="italic">Adaptable Traces for Program Explanations</em>, APLAS 2021<br>
Divya Bajaj, Martin Erwig, <em class="bold">Daniel Fedorin</em>, Kai Gay: <em class="italic">A Visual Notation for Succinct Program Traces</em>, VL/HCC 2021<br>
J&aacute;come Cunha, Mihai Dan, Martin Erwig, <em class="bold">Daniel Fedorin</em>, Alex Grejuc: <em class="italic">Explaining spreadsheets with spreadsheets (short paper).</em><br>
<span style="display: inline-block; width: 20px"></span>GPCE 2018: 161-167
</div>
</section>
<section>
<h1>Work Experience</h1>
<div class="section-content">
<div class="position">
<h2>Programming Language Engineer, <a class="project-link" href="https://chapel-lang.org">Chapel<i data-feather="link" class="project-link-icon"></i></a></h2>
<div class="position-location">Hewlett Packard Enterprise | Summer 2022 - Present</div>
<ul>
<li>Added support for compile-time reflection, various language features, and full scope resolution to compiler written in <em class="bold">C++</em>.</li>
<li>Led development of <em class="bold">Python</em> bindings for compiler, accelerating development of a linter and a language server by over 10x.</li>
<li>Designed and implemented <em class="bold">a type-safe error reporting API</em>, improving developer experience and compiler error messages.</li>
<li>Supported community growth by designing, launching, and authoring articles for the <a href="https://chapel-lang.org/blog/posts/welcome">Chapel language technical blog.</a></li>
<li>Laid groundwork for compatibility with leading-edge supercomputers by implementing initial <em class="bold">AMD GPU
programming support</em> using <em class="bold">Clang</em> and <em class="bold">ROCm</em> tooling.</li>
</ul>
</div>
<div class="position">
<h2>Research and Teaching Assistant, Programming Language Theory</h2>
<div class="position-location">Oregon State University, Corvallis, OR | Spring 2018 - Summer 2022</div>
<ul>
<li>Formalized denotational and operational semantics of new <em class="bold">explanation-oriented programming languages.</em></li>
<!-- <li>Devised and implemented language to explain behavior of spreadsheets to new users.</li> -->
<li>Developed tooling in <em class="bold">Haskell</em> to interpret, verify, generate, and debug programming languages.</li>
<li>Contributed to <em class="bold">research papers</em> published to the GPCE and VL/HCC.</li>
<li>Proctored <em class="bold">quizzes and exams</em> for over 200 students.</li>
<li>Aided students in implementing a final project in the form of a <em class="bold">custom programming language</em>.</li>
<li>Suggested and organized <em class="bold">independent review sessions</em> attended by over 70 students, with
50% attendance growth between sessions.</li>
</ul>
</div>
<div class="position">
<h2>Front-End Intern, <a class="project-link" href="https://github.com/vector-im/hydrogen-web">Hydrogen<i data-feather="link" class="project-link-icon"></i></a></h2>
<div class="position-location">Element.io | June 2021 - September 2021</div>
<ul>
<li>Spearheaded migration of codebase to <em class="bold">TypeScript</em>, improving documentation and discovering hidden bugs.</li>
<li>Leveraged advanced type system features to precisely specify nontrivial program properties.</li>
<li>Developed a mocking system to help specify and test corner cases in a <em class="bold">distributed communication system</em>.</li>
<li>Independently implemented user-facing features including offline-first replies and sanitized HTML rendering.</li>
<!-- <li>Engaged in <em class="bold">open-source development</em>, interacting with community to respond to bug reports and feature requests.</li> -->
</ul>
</div>
<!--
<div class="position">
<h2>Undergraduate Teaching Assistant, Programming Language Theory, CS 381</h2>
<div class="position-location">Oregon State University, Corvallis, OR | Winter 2020 - Spring 2020</div>
<ul>
<li>Engaged in weekly question-and-answer sessions regarding course topics.</li>
<li>Organized <em class="bold">independent review sessions</em> attended by over 70 students.</li>
</ul>
</div>
-->
</div>
</section>
<section>
<h1>Additional Experience</h1>
<div class="section-content">
<div class="position">
<h2>Technical Writer</h2>
<div class="position-location">Independent | Spring 2015 - Present</div>
<ul>
<li>Designed and published website currently live at <a href="https://danilafe.com">danilafe.com</a>.</li>
<li>Authored blog posts on topics spanning data structures, web development, programming languages, and compilers.</li>
<li>Formalized and described solutions to select Advent of Code problems using the <em class="bold">Coq proof assistant</em>.</li>
<li>Created <em class="bold">14-part series</em> on compiler development, walking readers through lexing, parsing, compilation using LLVM,
garbage collection, and polymorphic type checking.</li>
</ul>
</div>
<!--
<div class="position">
<h2>Lead Programmer</h2>
<div class="position-location">Northwest Advanced Programming Workshop, Portland, OR | Summer 2017</div>
<ul>
<li>Led a small team using the <em class="bold">git version control system</em>.</li>
<li>Designed and implemented a <em class="bold">desktop calculator</em> application with a focus on usability and feature-completeness.</li>
<li>Worked on a variety of components, including parsing input through a custom regular expression engine, evaluating expressions through Taylor Series, and UI design.</li>
<li>Profiled and debugged application using <em class="bold">VisualVM</em> in order to find inefficiencies, reducing computation time by 60%.</li>
<li>Exercised public speaking and communication skills by reporting progress to supervisor and presenting to other teams.</li>
</ul>
</div>
-->
<!--
<div class="position">
<h2>Game Developer</h2>
<div class="position-location">Oregon Game Project Challenge, Portland, OR | Spring 2016 and 2017 </div>
<ul>
<li>Worked in a team to complete video game to be presented at main event.</li>
<li>Created a game engine from scratch using <em class="bold">Entity Component Systems</em> architecture.</li>
<li>Used <em class="bold">OpenGL shaders</em> and normal mapping to create 2D-shadow system.</li>
<li>Developed novel interaction between physical components (<em class="bold">microcontrollers</em>) and the video game for multi-user cooperation.</li>
</ul>
</div>
-->
</div>
</section>
<!--
<section>
<h1>Honors and Awards</h1>
<div class="section-content">
<ul>
<li><em class="italic">Drucilla Shepard Smith Award</em> — Awarded to students maintaining a GPA of 4.0 while attending Oregon State University.</li>
<li><em class="italic">Honor Roll (all terms)</em> — Awarded to students maintaining a full credit load and a GPA above 3.5.</li>
<li><em class="italic">International Baccalaureate Diploma Scholarship</em> — $1,000/term scholarship awarded to recipients of the IB Diploma.</li>
<li><em class="italic">Finalist</em> — Google Code-In 2016, online competition in which participants
complete tasks for open-source projects.</li>
</ul>
</div>
</section>
-->
</main>
<script>

View File

@ -1,14 +1,26 @@
@import url('https://fonts.googleapis.com/css?family=EB+Garamond|Raleway');
$text-font: 'Raleway';
$big-font: 'Raleway';
$color-main: #36e281;
$color-secondary: darken($color-main, 10%);
$color-link: $color-secondary;
$color-secondary: $color-main;
$color-link: black;
$color-text: black;
@font-face {
font-family: "Raleway";
src: url("../font/Raleway-VariableFont_wght.ttf") format("truetype"),
url("../font/Raleway-Italic-VariableFont.ttf") format("truetype");
}
@media print {
@page {
margin: 0 0 0 0;
size: 8.5in 11in;
}
}
a {
color: $color-link;
border-bottom: solid 2px $color-main;
text-decoration: none;
}
@ -16,49 +28,88 @@ svg {
height: 1.2em;
}
html {
font-size: 11.5px;
@media not print {
background-color: #eaeaea;
}
}
body {
background-color: white;
margin: 0px;
padding: 0px;
font-family: $text-font;
line-height: 1.3em;
font-size: 14px;
line-height: 1.325em;
font-size: 1.05em;
font-variant-ligatures: none;
@media not print {
width: 8.5in;
height: 11in;
overflow: auto;
margin-top: 20px;
margin-bottom: 20px;
padding-top: 5px;
margin-left: auto;
margin-right: auto;
box-shadow: 0px 0px 5px #dadada;
}
}
header {
text-align: center;
margin: auto;
margin-top: 20px;
margin-bottom: 10px;
}
hr {
width: 90%;
margin: auto;
background-color: $color-main;
border: none;
border-radius: 1.5px;
height: 3px;
}
div.name {
font-size: 1.25em;
margin: 15px;
font-size: 1.7em;
margin: 10px;
font-family: $big-font, serif;
}
h1 {
font-size: 1.25em;
font-family: $big-font, serif;
font-weight: normal;
font-weight: 600;
margin: 10px;
color: $color-secondary;
margin-top: 12px;
margin-bottom: 2.5px;
display: inline-block;
}
h2 {
font-size: 1.1em;
font-weight: normal;
font-size: 1.2em;
font-weight: 400;
margin-bottom: 0px;
margin-top: 0.2em;
}
ul {
margin-top: 5px;
margin-bottom: 5px;
padding-left: 25px;
}
div.contact {
background-color: $color-main;
color: white;
display: flex;
justify-content: center;
}
div.contact-item {
padding: 10px;
padding: 5px;
padding-left: 20px;
padding-right: 20px;
display: flex;
@ -81,6 +132,7 @@ div.horizontal-list {
div.project-container {
flex-basis: 25%;
margin-right: 10px;
h2 {
display: inline;
@ -90,13 +142,19 @@ div.project-container {
a.project-link {
color: $color-text;
font-weight: bold;
display: flex;
border: none;
display: inline-flex;
align-items: center;
h2 {
font-size: 1em;
}
}
svg.project-link-icon {
height: 1em;
height: 0.9em;
width: 0.9em;
margin-left: 0.25em;
}
main {
@ -108,6 +166,14 @@ div.section-content {
margin-left: 20px;
}
div.position {
margin-bottom: 10px;
&:last-child {
margin-bottom: 0px;
}
}
div.position-location {
color: lighten($color-text, 30%);
}
@ -115,3 +181,8 @@ div.position-location {
section {
page-break-inside: avoid;
}
em.bold {
font-style: normal;
font-weight: 600;
}