Compare commits
17 Commits
56b21b3427
...
auto-build
| Author | SHA1 | Date | |
|---|---|---|---|
| 8fbb3feb62 | |||
| c0fdf37da9 | |||
| 7e2ff6f0e7 | |||
| 4bcb3f7a85 | |||
| efe0bb4564 | |||
| 54f268d76e | |||
| 5ad07166b5 | |||
| cfa31fbbfb | |||
| 040653c11c | |||
| af8ec16c4c | |||
| c2743b2be9 | |||
| fb06cf1a2c | |||
| db663ed2bf | |||
| abb11690e7 | |||
| 22a72ccfea | |||
| 3985cb5f93 | |||
| 495abb8d03 |
14
build.sh
Normal file
14
build.sh
Normal file
@@ -0,0 +1,14 @@
|
||||
source $stdenv/setup
|
||||
|
||||
# Compile Sass sources and get resume file
|
||||
mkdir build && cd build
|
||||
mkdir css && sassc $src/scss/style.scss css/style.css
|
||||
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"
|
||||
15
flake.nix
Normal file
15
flake.nix
Normal 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; };
|
||||
};
|
||||
}
|
||||
);
|
||||
}
|
||||
10
package.nix
Normal file
10
package.nix
Normal file
@@ -0,0 +1,10 @@
|
||||
{ pkgs, sass ? pkgs.sassc, wkhtmltopdf ? pkgs.wkhtmltopdf }:
|
||||
pkgs.stdenv.mkDerivation {
|
||||
name = "daniel-resume";
|
||||
version = "0.1";
|
||||
builder = ./build.sh;
|
||||
buildInputs = [ sass wkhtmltopdf ];
|
||||
src = ./.;
|
||||
|
||||
FONTCONFIG_FILE = pkgs.makeFontsConf { fontDirectories = []; };
|
||||
}
|
||||
97
resume.html
97
resume.html
@@ -1,12 +1,12 @@
|
||||
<html>
|
||||
<head>
|
||||
<script src="https://unpkg.com/feather-icons"></script>
|
||||
<title>Resume - Danila Fedorin</title>
|
||||
<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>
|
||||
@@ -14,7 +14,7 @@
|
||||
</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>
|
||||
@@ -30,14 +30,14 @@
|
||||
<h1>Education</h1>
|
||||
<div class="section-content">
|
||||
<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 - Expected June 2022
|
||||
<em class="italic">Master of Science</em>, Oregon State University, Computer Science - Expected June 2022 • <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, Crystal, Kotlin, Java, Python, JavaScript, Haxe<br>
|
||||
<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>
|
||||
@@ -45,20 +45,37 @@
|
||||
<section>
|
||||
<h1>Projects</h1>
|
||||
<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> —
|
||||
Calculator program with a complete embedded programming language.
|
||||
</div>
|
||||
</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> —
|
||||
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> —
|
||||
Compiler for a purely functional, lazily evaluated language explained in-depth on my blog.
|
||||
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> —
|
||||
Instructional implementation of a 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>
|
||||
@@ -66,6 +83,7 @@
|
||||
</a> —
|
||||
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>
|
||||
@@ -73,6 +91,7 @@
|
||||
</a> —
|
||||
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>
|
||||
@@ -80,13 +99,24 @@
|
||||
</a> —
|
||||
Elm-based purely functional front end for the Matrix chat protocol.
|
||||
</div>
|
||||
-->
|
||||
<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> —
|
||||
Tool for collaborative, decentralized, and federated web annotation based on the Matrix protocol.
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section>
|
||||
<h1>Publications</h1>
|
||||
|
||||
<div class="section-content">
|
||||
Jácome Cunha, Mihai Dan, Martin Erwig, <em class="bold">Danila Fedorin</em>, Alex Grejuc: <em class="italic">Explaining spreadsheets with spreadsheets (short paper).</em><br>
|
||||
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á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>
|
||||
@@ -95,13 +125,37 @@
|
||||
|
||||
<div class="section-content">
|
||||
<div class="position">
|
||||
<h2>Research Assistant, Programming Language Theory</h2>
|
||||
<div class="position-location">Oregon State University, Corvallis, OR | Spring 2018 - Present</div>
|
||||
<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>Devised and implemented language to explain behavior of spreadsheets to new users.</li>
|
||||
<li>Developed tooling in <em class="bold">Haskell</em> to verify, generate, and debug the explanation language.</li>
|
||||
<li>Contributed to <em class="bold">research paper</em> published to the International Conference on Generative Programming.</li>
|
||||
<li>Formalized operational semantics of new <em class="bold">explanation-oriented programming language.</em></li>
|
||||
<li>Contributed to development of <em class="bold">LLVM</em>-based distributed programming language written in <em class="bold">C++</em>.</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>Revamped compiler error messages by building a new type-safe error reporting API.</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>,
|
||||
<em class="bold">HTML</em>, and <em class="bold">Sass</em>.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="position">
|
||||
<h2>Research 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>
|
||||
</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>
|
||||
|
||||
@@ -112,7 +166,7 @@
|
||||
<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>Hosted <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>
|
||||
</div>
|
||||
</div>
|
||||
@@ -122,12 +176,13 @@
|
||||
|
||||
<div class="section-content">
|
||||
<div class="position">
|
||||
<h2>Blog Author</h2>
|
||||
<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>Created <em class="bold">11-part series</em> on compiler development, walking readers through lexing, parsing, compilation using LLVM,
|
||||
<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>
|
||||
@@ -136,14 +191,15 @@
|
||||
<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>Led a small team using the <em class="bold">git version control system</em>.</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>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
<div class="position">
|
||||
<h2>Game Developer</h2>
|
||||
<div class="position-location">Oregon Game Project Challenge, Portland, OR | Spring 2016 and 2017 </div>
|
||||
@@ -154,8 +210,10 @@
|
||||
<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">
|
||||
@@ -168,6 +226,7 @@
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
-->
|
||||
</main>
|
||||
|
||||
<script>
|
||||
|
||||
@@ -7,6 +7,13 @@ $color-secondary: $color-main;
|
||||
$color-link: black;
|
||||
$color-text: black;
|
||||
|
||||
@media print {
|
||||
@page {
|
||||
margin: 0 0 0 0;
|
||||
size: 8.5in 11in;
|
||||
}
|
||||
}
|
||||
|
||||
a {
|
||||
color: $color-link;
|
||||
border-bottom: solid 2px $color-main;
|
||||
@@ -19,20 +26,26 @@ svg {
|
||||
|
||||
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;
|
||||
line-height: 1.225em;
|
||||
font-variant-ligatures: none;
|
||||
|
||||
@media not print {
|
||||
width: 215.9mm;
|
||||
height: 279.4mm;
|
||||
width: 8.5in;
|
||||
height: 11in;
|
||||
overflow: auto;
|
||||
margin-top: 10px;
|
||||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
padding-top: 5px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
@@ -58,7 +71,7 @@ hr {
|
||||
|
||||
div.name {
|
||||
font-size: 1.7rem;
|
||||
margin: 15px;
|
||||
margin: 10px;
|
||||
font-family: $big-font, serif;
|
||||
}
|
||||
|
||||
@@ -124,7 +137,6 @@ div.project-container {
|
||||
a.project-link {
|
||||
color: $color-text;
|
||||
border: none;
|
||||
font-weight: bold;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user