Compare commits

..

1 Commits

Author SHA1 Message Date
8fbb3feb62 WIP 2023-02-19 20:06:47 -08:00
8 changed files with 37 additions and 134 deletions

View File

@ -3,8 +3,6 @@ source $stdenv/setup
# Compile Sass sources and get resume file # Compile Sass sources and get resume file
mkdir build && cd build mkdir build && cd build
mkdir css && sassc $src/scss/style.scss css/style.css 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 cp $src/resume.html resume.html
mkdir $out mkdir $out
@ -13,4 +11,4 @@ mkdir $out
cp resume.html $out cp resume.html $out
mkdir $out/css && cp ./css/style.css $out/css 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 chromium --disable-gpu --headless --print-to-pdf="$out/Resume-Danila-Fedorin.pdf" "file://${pwd}/resume.html"

43
flake.lock generated
View File

@ -1,43 +0,0 @@
{
"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
}

Binary file not shown.

13
js/feather.min.js vendored

File diff suppressed because one or more lines are too long

View File

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

View File

@ -1,6 +1,6 @@
<html> <html>
<head> <head>
<script src="js/feather.min.js"></script> <script src="https://unpkg.com/feather-icons"></script>
<title>Resume - Daniel Fedorin</title> <title>Resume - Daniel Fedorin</title>
<link href="css/style.css" rel="stylesheet"> <link href="css/style.css" rel="stylesheet">
</head> </head>
@ -10,7 +10,7 @@
<div class="contact"> <div class="contact">
<div class="contact-item"> <div class="contact-item">
<i data-feather="home" class="contact-content"></i> <i data-feather="home" class="contact-content"></i>
<div class="contact-content">Portland, OR</div> <div class="contact-content">Corvallis, OR</div>
</div> </div>
<div class="contact-item"> <div class="contact-item">
<i data-feather="phone" class="contact-content"></i> <i data-feather="phone" class="contact-content"></i>
@ -29,16 +29,10 @@
<section> <section>
<h1>Education</h1> <h1>Education</h1>
<div class="section-content"> <div class="section-content">
<div class="education-container"> <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><br>
<em class="italic">Master of Science</em>, Oregon State University, Computer Science - Completed June 2022 • <em class="bold">4.0 GPA</em> <em class="italic">Master of Science</em>, Oregon State University, Computer Science - Expected June 2022 • <em class="bold">4.0 GPA</em>
<div class="education-subtext">Thesis: <em>Guided Translation of Algorithmic Notation into Functional Programs</em></div>
</div>
<div class="education-container">
<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>
</div> </div>
</section> </section>
<!--
<section> <section>
<h1>Skills</h1> <h1>Skills</h1>
@ -48,17 +42,9 @@
<em class="italic">Additional Skills:</em> Compiler design, formal verification, algorithms, low-level development.<br> <em class="italic">Additional Skills:</em> Compiler design, formal verification, algorithms, low-level development.<br>
</div> </div>
</section> </section>
-->
<section> <section>
<h1>Projects</h1> <h1>Projects</h1>
<div class="section-content"> <div class="section-content">
<div class="project-container">
<a class="project-link" href="https://dev.danilafe.com/DanilaFe/agda-spa">
<h2>agda-spa</h2>
<i data-feather="link" class="project-link-icon"></i>
</a> &mdash;
Framework for formally-verified lattice-based program analysis in <em class="bold">Agda</em>, explained in-depth in <a href="https://danilafe.com/series/static-program-analysis-in-agda/">a series of posts</a>.
</div>
<!-- <!--
<div class="project-container"> <div class="project-container">
<a class="project-link" href="https://github.com/DanilaFe/abcs"> <a class="project-link" href="https://github.com/DanilaFe/abcs">
@ -80,15 +66,14 @@
<h2>bloglang</h2> <h2>bloglang</h2>
<i data-feather="link" class="project-link-icon"></i> <i data-feather="link" class="project-link-icon"></i>
</a> &mdash; </a> &mdash;
Compiler for a functional, lazily evaluated language using <em class="bold">C++</em> and <em class="bold">LLVM</em>, explained in-depth on <a href="https://danilafe.com/blog/00_compiler_intro/">personal blog</a>. 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>
<div class="project-container"> <div class="project-container">
<a class="project-link" href="https://github.com/DanilaFe/maypop"> <a class="project-link" href="https://github.com/DanilaFe/maypop">
<h2>maypop</h2> <h2>maypop</h2>
<i data-feather="link" class="project-link-icon"></i> <i data-feather="link" class="project-link-icon"></i>
</a> &mdash; </a> &mdash;
<!-- Instructional implementation of a dependently typed functional programming language capable of formal proofs. --> Instructional implementation of a dependently typed functional programming language capable of formal proofs.
Dependently typed functional programming language capable of formal proofs, written in <em class="bold">Haskell</em>.
</div> </div>
<!-- <!--
<div class="project-container"> <div class="project-container">
@ -99,7 +84,6 @@
Compiler from a small imperative language into CHIP-8 bytecode. Compiler from a small imperative language into CHIP-8 bytecode.
</div> </div>
--> -->
<!--
<div class="project-container"> <div class="project-container">
<a class="project-link" href="https://github.com/DanilaFe/pegasus"> <a class="project-link" href="https://github.com/DanilaFe/pegasus">
<h2>pegasus</h2> <h2>pegasus</h2>
@ -107,7 +91,6 @@
</a> &mdash; </a> &mdash;
LALR parser generator currently supporting the C and Crystal languages. LALR parser generator currently supporting the C and Crystal languages.
</div> </div>
-->
<!-- <!--
<div class="project-container"> <div class="project-container">
<a class="project-link" href="https://github.com/DanilaFe/Scylla"> <a class="project-link" href="https://github.com/DanilaFe/Scylla">
@ -122,7 +105,7 @@
<h2>matrix-highlight</h2> <h2>matrix-highlight</h2>
<i data-feather="link" class="project-link-icon"></i> <i data-feather="link" class="project-link-icon"></i>
</a> &mdash; </a> &mdash;
<em class="bold">TypeScript</em>-based browser extension for collaborative web annotation based on the Matrix protocol. Tool for collaborative, decentralized, and federated web annotation based on the Matrix protocol.
</div> </div>
</div> </div>
</section> </section>
@ -142,31 +125,25 @@
<div class="section-content"> <div class="section-content">
<div class="position"> <div class="position">
<h2>Senior Programming Language Engineer, <a class="project-link" href="https://chapel-lang.org">Chapel<i data-feather="link" class="project-link-icon"></i></a></h2> <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> <div class="position-location">Hewlett Packard Enterprise | Summer 2022 - Present</div>
<ul> <ul>
<li>Implemented compile-time reflection, parallel iterators, and trait-like interfaces in Chapel's <em class="bold">C++</em>-based compiler.</li> <li>Contributed to development of <em class="bold">LLVM</em>-based distributed programming language 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>Investigated and implemented initial <em class="bold">AMD GPU programming support</em> using <em class="bold">Clang</em> and <em class="bold">ROCm</em> tooling.</li>
<li>Optimized scope resolution and type checking compiler passes, improving performance by 30% and 60% respectively.</li> <li>Revamped compiler error messages by building a new type-safe error reporting API.</li>
<li>Designed a type-safe error reporting API, improving developer experience and enabling 100+ custom error messages.</li> <li>Designed, launched, and authored articles for the <a href="https://chapel-lang.org/blog/posts/welcome">Chapel language technical blog</a> built with <em class="bold">Hugo</em>,
<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> <em class="bold">HTML</em>, and <em class="bold">Sass</em>.</li>
<li>Laid groundwork for compatibility with leading-edge supercomputers by implementing initial <em class="bold">AMD GPU
</em> programming support using <em class="bold">Clang</em> and <em class="bold">ROCm</em> tooling.</li>
</ul> </ul>
</div> </div>
<div class="position"> <div class="position">
<h2>Research and Teaching Assistant, Programming Language Theory</h2> <h2>Research Assistant, Programming Language Theory</h2>
<div class="position-location">Oregon State University, Corvallis, OR | Spring 2018 - Summer 2022</div> <div class="position-location">Oregon State University, Corvallis, OR | Spring 2018 - Summer 2022</div>
<ul> <ul>
<li>Formalized denotational and operational semantics of new explanation-oriented programming languages.</li> <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>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>Developed tooling in <em class="bold">Haskell</em> to interpret, verify, generate, and debug programming languages.</li>
<li>Contributed to research papers published to the GPCE and VL/HCC.</li> <li>Contributed to <em class="bold">research papers</em> published to the GPCE and VL/HCC.</li>
<li>Proctored quizzes and exams for over 200 students.</li>
<li>Aided students in implementing a final project in the form of a custom programming language.</li>
<li>Suggested and organized independent review sessions attended by over 70 students, with
50% attendance growth between sessions.</li>
</ul> </ul>
</div> </div>
@ -176,22 +153,22 @@
<ul> <ul>
<li>Spearheaded migration of codebase to <em class="bold">TypeScript</em>, improving documentation and discovering hidden bugs.</li> <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>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 distributed communication system.</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>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> <!-- <li>Engaged in <em class="bold">open-source development</em>, interacting with community to respond to bug reports and feature requests.</li> -->
</ul> </ul>
</div> </div>
<!--
<div class="position"> <div class="position">
<h2>Undergraduate Teaching Assistant, Programming Language Theory, CS 381</h2> <h2>Undergraduate Teaching Assistant, Programming Language Theory, CS 381</h2>
<div class="position-location">Oregon State University, Corvallis, OR | Winter 2020 - Spring 2020</div> <div class="position-location">Oregon State University, Corvallis, OR | Winter 2020 - Spring 2020</div>
<ul> <ul>
<li>Engaged in weekly question-and-answer sessions regarding course topics.</li> <li>Engaged in weekly question-and-answer sessions regarding course topics.</li>
<li>Aided students in implementing a final project in the form of a <em class="bold">custom programming language</em>.</li>
<li>Proctored <em class="bold">quizzes and exams</em> for over 200 students.</li>
<li>Organized <em class="bold">independent review sessions</em> attended by over 70 students.</li> <li>Organized <em class="bold">independent review sessions</em> attended by over 70 students.</li>
</ul> </ul>
</div> </div>
-->
</div> </div>
</section> </section>
<section> <section>
@ -202,15 +179,14 @@
<h2>Technical Writer</h2> <h2>Technical Writer</h2>
<div class="position-location">Independent | Spring 2015 - Present</div> <div class="position-location">Independent | Spring 2015 - Present</div>
<ul> <ul>
<li>Designed and published website currently live at <a href="https://danilafe.com">danilafe.com</a>, peaking at 27k daily unique visitors.</li> <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>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>Formalized and described solutions to select Advent of Code problems using the <em class="bold">Coq proof assistant</em>.</li>
<li>Created 14-part series on compiler development, walking readers through lexing, parsing, compilation using LLVM, <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> garbage collection, and polymorphic type checking.</li>
</ul> </ul>
</div> </div>
<!--
<div class="position"> <div class="position">
<h2>Lead Programmer</h2> <h2>Lead Programmer</h2>
<div class="position-location">Northwest Advanced Programming Workshop, Portland, OR | Summer 2017</div> <div class="position-location">Northwest Advanced Programming Workshop, Portland, OR | Summer 2017</div>
@ -219,10 +195,9 @@
<li>Designed and implemented a <em class="bold">desktop calculator</em> application with a focus on usability and feature-completeness.</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>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>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> <!-- <li>Exercised public speaking and communication skills by reporting progress to supervisor and presenting to other teams.</li> -->
</ul> </ul>
</div> </div>
-->
<!-- <!--
<div class="position"> <div class="position">

View File

@ -1,3 +1,5 @@
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,700;1,400;1,700&family=Raleway:wght@400;600;700&display=swap');
$text-font: 'Raleway'; $text-font: 'Raleway';
$big-font: 'Raleway'; $big-font: 'Raleway';
$color-main: #36e281; $color-main: #36e281;
@ -5,12 +7,6 @@ $color-secondary: $color-main;
$color-link: black; $color-link: black;
$color-text: 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 { @media print {
@page { @page {
margin: 0 0 0 0; margin: 0 0 0 0;
@ -41,8 +37,7 @@ body {
margin: 0px; margin: 0px;
padding: 0px; padding: 0px;
font-family: $text-font; font-family: $text-font;
line-height: 1.325em; line-height: 1.225em;
font-size: 1.05em;
font-variant-ligatures: none; font-variant-ligatures: none;
@media not print { @media not print {
@ -75,26 +70,25 @@ hr {
} }
div.name { div.name {
font-size: 1.7em; font-size: 1.7rem;
margin: 10px; margin: 10px;
font-family: $big-font, serif; font-family: $big-font, serif;
} }
h1 { h1 {
font-size: 1.25em; font-size: 1.25rem;
font-family: $big-font, serif; font-family: $big-font, serif;
font-weight: 600; font-weight: 600;
margin: 10px; margin: 10px;
margin-top: 12px;
margin-bottom: 2.5px; margin-bottom: 2.5px;
display: inline-block; display: inline-block;
} }
h2 { h2 {
font-size: 1.2em; font-size: 1.2rem;
font-weight: 400; font-weight: 400;
margin-bottom: 0px; margin-bottom: 0px;
margin-top: 0.2em; margin-top: 0.2rem;
} }
ul { ul {
@ -130,14 +124,6 @@ div.horizontal-list {
} }
} }
div.education-container {
margin-bottom: 0.5em;
}
div.education-subtext {
padding-left: 20px;
}
div.project-container { div.project-container {
flex-basis: 25%; flex-basis: 25%;
margin-right: 10px; margin-right: 10px;
@ -155,14 +141,14 @@ a.project-link {
align-items: center; align-items: center;
h2 { h2 {
font-size: 1em; font-size: 1rem;
} }
} }
svg.project-link-icon { svg.project-link-icon {
height: 0.9em; height: 0.9rem;
width: 0.9em; width: 0.9rem;
margin-left: 0.25em; margin-left: 0.25rem;
} }
main { main {