Compare commits
36 Commits
efe0bb4564
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| f22cb5b795 | |||
| 675c8f765c | |||
| f1a8dd4f53 | |||
| 2770fd03eb | |||
| 279f4da1f3 | |||
| d210f80b03 | |||
| 369d7879e6 | |||
| 03995b386f | |||
| e7205c2207 | |||
| 72319a4e6f | |||
| e7d7542ad8 | |||
| 9e9aab2d8f | |||
| b957438848 | |||
| a9bb1ac42f | |||
| c08aba8c92 | |||
| aa46087fe2 | |||
| 9fc27106cc | |||
| c756fd5efa | |||
| c47e49dabe | |||
| 88396133d0 | |||
| fcd14cb866 | |||
| f48dbaad78 | |||
| 1425d2716f | |||
| 5a7c549e22 | |||
| e36babf58a | |||
| 7e99c35112 | |||
| a41834c1d1 | |||
| 36fcd6d66f | |||
| 8f274700ab | |||
| 3107132b50 | |||
| 17ab717ae1 | |||
| 984256a0fa | |||
| 2d5098909c | |||
| c0fdf37da9 | |||
| 7e2ff6f0e7 | |||
| 4bcb3f7a85 |
31
build.sh
Normal file
31
build.sh
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
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
|
||||||
|
|
||||||
|
# ChatGPT-provided solution to Chrome having trouble
|
||||||
|
# setting up the network service due to a lack
|
||||||
|
# of readable files.
|
||||||
|
tmp="$(mktemp -d)"
|
||||||
|
mkdir -p "$tmp"/{config,cache,profile}
|
||||||
|
|
||||||
|
HOME="$tmp" \
|
||||||
|
XDG_CONFIG_HOME="$tmp/config" \
|
||||||
|
XDG_CACHE_HOME="$tmp/cache" \
|
||||||
|
chromium \
|
||||||
|
--headless \
|
||||||
|
--disable-gpu \
|
||||||
|
--user-data-dir="$tmp/profile" \
|
||||||
|
--disable-dev-shm-usage \
|
||||||
|
--print-to-pdf="$out/Resume-Danila-Fedorin.pdf" \
|
||||||
|
"file://$(pwd)/resume.html"
|
||||||
61
flake.lock
generated
Normal file
61
flake.lock
generated
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"flake-utils": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1731533236,
|
||||||
|
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1766736597,
|
||||||
|
"narHash": "sha256-BASnpCLodmgiVn0M1MU2Pqyoz0aHwar/0qLkp7CjvSQ=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "f560ccec6b1116b22e6ed15f4c510997d99d5852",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-25.11",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils",
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"systems": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
||||||
15
flake.nix
Normal file
15
flake.nix
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.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; };
|
||||||
|
};
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
BIN
font/Raleway-Italic-VariableFont_wght.ttf
Normal file
BIN
font/Raleway-Italic-VariableFont_wght.ttf
Normal file
Binary file not shown.
BIN
font/Raleway-VariableFont_wght.ttf
Normal file
BIN
font/Raleway-VariableFont_wght.ttf
Normal file
Binary file not shown.
13
js/feather.min.js
vendored
Normal file
13
js/feather.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
10
package.nix
Normal file
10
package.nix
Normal 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 = []; };
|
||||||
|
}
|
||||||
148
resume.html
148
resume.html
@@ -1,6 +1,6 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<script src="https://unpkg.com/feather-icons"></script>
|
<script src="js/feather.min.js"></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">Corvallis, OR</div>
|
<div class="contact-content">Portland, 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>
|
||||||
@@ -27,24 +27,72 @@
|
|||||||
|
|
||||||
<main>
|
<main>
|
||||||
<section>
|
<section>
|
||||||
<h1>Education</h1>
|
<h1>Work Experience</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="bold">4.0 GPA</em>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
<section>
|
|
||||||
<h1>Skills</h1>
|
|
||||||
|
|
||||||
<div class="section-content">
|
<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>
|
<div class="position">
|
||||||
<em class="italic">Languages:</em> English (native), Russian (native), French (conversational, DELF B1 certification) <br>
|
<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>
|
||||||
<em class="italic">Additional Skills:</em> Compiler design, formal verification, algorithms, low-level development.<br>
|
<div class="position-location">Hewlett Packard Enterprise | Summer 2022 - Present</div>
|
||||||
|
<ul>
|
||||||
|
<li>Implemented compile-time reflection, parallel iterators, and trait-like interfaces in Chapel's <em class="bold">C++</em>-based compiler.</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>Optimized scope resolution and type checking compiler passes, improving performance by 30% and 60% respectively.</li>
|
||||||
|
<li>Designed a type-safe error reporting API, improving developer experience and enabling 100+ custom 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
|
||||||
|
</em> programming support 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 explanation-oriented programming languages.</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 research papers 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>
|
||||||
|
</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 distributed communication system.</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>
|
</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> —
|
||||||
|
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">
|
||||||
@@ -62,18 +110,19 @@
|
|||||||
Solutions for Advent of Code 2020 problems, with select puzzles formalized using Coq.
|
Solutions for Advent of Code 2020 problems, with select puzzles formalized using Coq.
|
||||||
</div> -->
|
</div> -->
|
||||||
<div class="project-container">
|
<div class="project-container">
|
||||||
<a class="project-link" href="https://dev.danilafe.com/Web-Projects/blog-static/src/branch/master/code/compiler">
|
<a class="project-link" href="https://dev.danilafe.com/DanilaFe/bloglang/src/branch/main/13">
|
||||||
<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> —
|
</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>.
|
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>.
|
||||||
</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> —
|
</a> —
|
||||||
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">
|
||||||
@@ -84,6 +133,7 @@
|
|||||||
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>
|
||||||
@@ -91,6 +141,7 @@
|
|||||||
</a> —
|
</a> —
|
||||||
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">
|
||||||
@@ -105,7 +156,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> —
|
</a> —
|
||||||
Tool for collaborative, decentralized, and federated web annotation based on the Matrix protocol.
|
<em class="bold">TypeScript</em>-based browser extension for collaborative web annotation based on the Matrix protocol.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
@@ -113,6 +164,7 @@
|
|||||||
<h1>Publications</h1>
|
<h1>Publications</h1>
|
||||||
|
|
||||||
<div class="section-content">
|
<div class="section-content">
|
||||||
|
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">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>
|
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>
|
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>
|
||||||
@@ -120,44 +172,28 @@
|
|||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<section>
|
<section>
|
||||||
<h1>Work Experience</h1>
|
<h1>Education</h1>
|
||||||
|
|
||||||
<div class="section-content">
|
<div class="section-content">
|
||||||
<div class="position">
|
<div class="education-container">
|
||||||
<h2>Research Assistant, Programming Language Theory</h2>
|
<em class="italic">Master of Science</em>, Oregon State University, Computer Science - Completed June 2022 • <em class="bold">4.0 GPA</em>
|
||||||
<div class="position-location">Oregon State University, Corvallis, OR | Spring 2018 - Present</div>
|
<div class="education-subtext">Thesis: <em>Guided Translation of Algorithmic Notation into Functional Programs</em></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>
|
||||||
|
<div class="education-container">
|
||||||
<div class="position">
|
<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>
|
||||||
<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>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>
|
|
||||||
</ul>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</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>
|
<section>
|
||||||
<h1>Additional Experience</h1>
|
<h1>Additional Experience</h1>
|
||||||
|
|
||||||
@@ -166,14 +202,15 @@
|
|||||||
<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>.</li>
|
<li>Designed and published website currently live at <a href="https://danilafe.com">danilafe.com</a>, peaking at 27k daily unique visitors.</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 <em class="bold">14-part series</em> on compiler development, walking readers through lexing, parsing, compilation using LLVM,
|
<li>Created 14-part series 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>
|
||||||
@@ -182,9 +219,10 @@
|
|||||||
<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">
|
||||||
@@ -200,18 +238,20 @@
|
|||||||
-->
|
-->
|
||||||
</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>
|
||||||
|
|||||||
@@ -1,5 +1,3 @@
|
|||||||
@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;
|
||||||
@@ -7,6 +5,12 @@ $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;
|
||||||
@@ -37,7 +41,8 @@ body {
|
|||||||
margin: 0px;
|
margin: 0px;
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
font-family: $text-font;
|
font-family: $text-font;
|
||||||
line-height: 1.225em;
|
line-height: 1.325em;
|
||||||
|
font-size: 1.05em;
|
||||||
font-variant-ligatures: none;
|
font-variant-ligatures: none;
|
||||||
|
|
||||||
@media not print {
|
@media not print {
|
||||||
@@ -70,25 +75,26 @@ hr {
|
|||||||
}
|
}
|
||||||
|
|
||||||
div.name {
|
div.name {
|
||||||
font-size: 1.7rem;
|
font-size: 1.7em;
|
||||||
margin: 10px;
|
margin: 10px;
|
||||||
font-family: $big-font, serif;
|
font-family: $big-font, serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
h1 {
|
h1 {
|
||||||
font-size: 1.25rem;
|
font-size: 1.25em;
|
||||||
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.2rem;
|
font-size: 1.2em;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
margin-bottom: 0px;
|
margin-bottom: 0px;
|
||||||
margin-top: 0.2rem;
|
margin-top: 0.2em;
|
||||||
}
|
}
|
||||||
|
|
||||||
ul {
|
ul {
|
||||||
@@ -124,6 +130,14 @@ 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;
|
||||||
@@ -141,14 +155,14 @@ a.project-link {
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
h2 {
|
h2 {
|
||||||
font-size: 1rem;
|
font-size: 1em;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
svg.project-link-icon {
|
svg.project-link-icon {
|
||||||
height: 0.9rem;
|
height: 0.9em;
|
||||||
width: 0.9rem;
|
width: 0.9em;
|
||||||
margin-left: 0.25rem;
|
margin-left: 0.25em;
|
||||||
}
|
}
|
||||||
|
|
||||||
main {
|
main {
|
||||||
|
|||||||
Reference in New Issue
Block a user