Compare commits

..

12 Commits

5 changed files with 107 additions and 18 deletions

14
build.sh Normal file
View 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
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; };
};
}
);
}

10
package.nix Normal file
View 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 = []; };
}

View File

@@ -1,12 +1,12 @@
<html> <html>
<head> <head>
<script src="https://unpkg.com/feather-icons"></script> <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"> <link href="css/style.css" rel="stylesheet">
</head> </head>
<body> <body>
<header> <header>
<div class="name">Danila Fedorin</div> <div class="name">Daniel Fedorin</div>
<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>
@@ -14,7 +14,7 @@
</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>
<div class="contact-content">(503) 702 0929</div> <div class="contact-content">(000) 000 0000</div>
</div> </div>
<div class="contact-item"> <div class="contact-item">
<i data-feather="mail" class="contact-content"></i> <i data-feather="mail" class="contact-content"></i>
@@ -37,7 +37,7 @@
<h1>Skills</h1> <h1>Skills</h1>
<div class="section-content"> <div class="section-content">
<em class="italic">Programming Languages:</em> C, C++, Haskell, Elm, Idris, Crystal, Kotlin, Java, Python, JavaScript, Coq, Nix, 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">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> <em class="italic">Additional Skills:</em> Compiler design, formal verification, algorithms, low-level development.<br>
</div> </div>
@@ -91,6 +91,7 @@
</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">
<h2>scylla</h2> <h2>scylla</h2>
@@ -98,33 +99,66 @@
</a> &mdash; </a> &mdash;
Elm-based purely functional front end for the Matrix chat protocol. Elm-based purely functional front end for the Matrix chat protocol.
</div> </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> &mdash;
Tool for collaborative, decentralized, and federated web annotation based on the Matrix protocol.
</div>
</div> </div>
</section> </section>
<section> <section>
<h1>Publications</h1> <h1>Publications</h1>
<div class="section-content"> <div class="section-content">
J&aacute;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>
<span style="display: inline-block; width: 20px"></span>GPCE 2018: 161-167<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">Danila Fedorin</em>, Kai Gay: <em class="italic">A Visual Notation for Succinct Program Traces</em>, VL/HCC 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>
<!-- Divya Bajaj, Martin Erwig, <em class="bold">Danila Fedorin</em>, Kai Gay: <em class="italic">Adaptable Traces for Program Explanations</em>, APLAS 2021 (under review) --> 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> </div>
</section> </section>
<section> <section>
<h1>Work Experience</h1> <h1>Work Experience</h1>
<div class="section-content"> <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>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"> <div class="position">
<h2>Research Assistant, Programming Language Theory</h2> <h2>Research Assistant, Programming Language Theory</h2>
<div class="position-location">Oregon State University, Corvallis, OR | Spring 2018 - Present</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 <em class="bold">explanation-oriented programming languages.</em></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 <em class="bold">research papers</em> 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>
</ul> </ul>
</div> </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"> <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>
@@ -157,14 +191,15 @@
<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>
<ul> <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>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>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> </ul>
</div> </div>
<!--
<div class="position"> <div class="position">
<h2>Game Developer</h2> <h2>Game Developer</h2>
<div class="position-location">Oregon Game Project Challenge, Portland, OR | Spring 2016 and 2017 </div> <div class="position-location">Oregon Game Project Challenge, Portland, OR | Spring 2016 and 2017 </div>
@@ -175,20 +210,23 @@
<li>Developed novel interaction between physical components (<em class="bold">microcontrollers</em>) and the video game for multi-user cooperation.</li> <li>Developed novel interaction between physical components (<em class="bold">microcontrollers</em>) and the video game for multi-user cooperation.</li>
</ul> </ul>
</div> </div>
-->
</div> </div>
</section> </section>
<!--
<section> <section>
<h1>Honors and Awards</h1> <h1>Honors and Awards</h1>
<div class="section-content"> <div class="section-content">
<ul> <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">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">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">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 <li><em class="italic">Finalist</em> — Google Code-In 2016, online competition in which participants
complete tasks for open-source projects.</li> complete tasks for open-source projects.</li>
</ul> </ul>
</div> </div>
</section> </section>
-->
</main> </main>
<script> <script>

View File

@@ -7,6 +7,13 @@ $color-secondary: $color-main;
$color-link: black; $color-link: black;
$color-text: black; $color-text: black;
@media print {
@page {
margin: 0 0 0 0;
size: 8.5in 11in;
}
}
a { a {
color: $color-link; color: $color-link;
border-bottom: solid 2px $color-main; border-bottom: solid 2px $color-main;
@@ -19,20 +26,26 @@ svg {
html { html {
font-size: 11.5px; font-size: 11.5px;
@media not print {
background-color: #eaeaea;
}
} }
body { body {
background-color: white;
margin: 0px; margin: 0px;
padding: 0px; padding: 0px;
font-family: $text-font; font-family: $text-font;
line-height: 1.3em; line-height: 1.225em;
font-variant-ligatures: none; font-variant-ligatures: none;
@media not print { @media not print {
width: 215.9mm; width: 8.5in;
height: 279.4mm; height: 11in;
overflow: auto; overflow: auto;
margin-top: 10px; margin-top: 20px;
margin-bottom: 20px;
padding-top: 5px; padding-top: 5px;
margin-left: auto; margin-left: auto;
margin-right: auto; margin-right: auto;
@@ -124,7 +137,6 @@ div.project-container {
a.project-link { a.project-link {
color: $color-text; color: $color-text;
border: none; border: none;
font-weight: bold;
display: inline-flex; display: inline-flex;
align-items: center; align-items: center;