Compare commits

...

25 Commits

Author SHA1 Message Date
f22cb5b795 Reorder some sections
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2025-12-26 16:20:25 -08:00
675c8f765c Update URL for bloglang on resume
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2025-12-26 15:18:06 -08:00
f1a8dd4f53 Bump to a more recent version of NixOS
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2025-12-26 22:28:38 +00:00
2770fd03eb Fix chromium PDF generation in newer versions
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2025-12-26 22:28:10 +00:00
279f4da1f3 Update flake.lock
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2025-12-26 21:30:15 +00:00
d210f80b03 Add new performance work to bullet. 2025-04-07 22:34:58 -07:00
369d7879e6 Tweak the two bullets
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-12-30 16:56:34 -08:00
03995b386f Add thesis to education section
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-12-30 16:55:55 -08:00
e7205c2207 Further remove bolding 2024-12-30 16:08:24 -08:00
72319a4e6f Add 'senior' to Chapel
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-12-30 16:08:00 -08:00
e7d7542ad8 Only bold technologies etc
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-12-30 16:07:44 -08:00
9e9aab2d8f Expand bullet points to make use of new space
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-12-30 13:47:54 -08:00
b957438848 Add languages to project descriptions
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-12-30 13:47:41 -08:00
a9bb1ac42f Remove skills section
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-12-30 13:47:20 -08:00
c08aba8c92 Add Agda SPA to resume
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-12-26 17:10:09 -08:00
aa46087fe2 Add performance improvements to resume
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-12-26 17:03:28 -08:00
9fc27106cc Update resume with Python bindings for LSP. 2024-02-06 20:21:02 -08:00
c756fd5efa Fix typo
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2023-08-06 14:30:58 -07:00
c47e49dabe Add a new bullet point and slightly bump line height to occupy space 2023-08-06 14:12:27 -07:00
88396133d0 Significantly shorten bullet points.
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2023-08-06 14:03:24 -07:00
fcd14cb866 Workshop bullet points some more.
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2023-08-06 13:48:07 -07:00
f48dbaad78 Update location to Portland
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2023-08-06 13:29:28 -07:00
1425d2716f Workshop resume bullet points some more.
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2023-08-06 13:26:07 -07:00
5a7c549e22 Merge research and teaching assitanships together
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2023-08-06 13:07:24 -07:00
e36babf58a Workshop Chapel bullet points somewhat.
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2023-08-06 13:03:00 -07:00
5 changed files with 136 additions and 73 deletions

View File

@@ -13,4 +13,19 @@ 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 # 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"

32
flake.lock generated
View File

@@ -1,12 +1,15 @@
{ {
"nodes": { "nodes": {
"flake-utils": { "flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": { "locked": {
"lastModified": 1676283394, "lastModified": 1731533236,
"narHash": "sha256-XX2f9c3iySLCw54rJ/CZs+ZK6IQy7GXNY4nSOyu2QG4=", "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "3db36a8b464d0c4532ba1c7dda728f4576d6d073", "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -17,16 +20,16 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1676718858, "lastModified": 1766736597,
"narHash": "sha256-giQecvcifVLNHCC9lMfTGP09tNxXhOMw+d/aql7MhRw=", "narHash": "sha256-BASnpCLodmgiVn0M1MU2Pqyoz0aHwar/0qLkp7CjvSQ=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e6d5772f3515b8518d50122471381feae7cbae36", "rev": "f560ccec6b1116b22e6ed15f4c510997d99d5852",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "nixos",
"ref": "nixos-22.11", "ref": "nixos-25.11",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@@ -36,6 +39,21 @@
"flake-utils": "flake-utils", "flake-utils": "flake-utils",
"nixpkgs": "nixpkgs" "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", "root": "root",

View File

@@ -1,6 +1,6 @@
{ {
inputs = { inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-22.11"; nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
flake-utils.url = "github:numtide/flake-utils"; flake-utils.url = "github:numtide/flake-utils";
}; };

View File

@@ -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">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"> <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> &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">
@@ -62,11 +110,11 @@
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> &mdash; </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>. 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">
@@ -74,7 +122,7 @@
<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. 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">
@@ -85,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>
@@ -92,6 +141,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">
@@ -106,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> &mdash; </a> &mdash;
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>
@@ -122,56 +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>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">Master of Science</em>, Oregon State University, Computer Science - Completed June 2022 • <em class="bold">4.0 GPA</em>
<div class="position-location">Hewlett Packard Enterprise | Summer 2022 - Present</div> <div class="education-subtext">Thesis: <em>Guided Translation of Algorithmic Notation into Functional Programs</em></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>
<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>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>
<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>
@@ -180,10 +202,10 @@
<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>

View File

@@ -41,7 +41,7 @@ body {
margin: 0px; margin: 0px;
padding: 0px; padding: 0px;
font-family: $text-font; font-family: $text-font;
line-height: 1.3em; line-height: 1.325em;
font-size: 1.05em; font-size: 1.05em;
font-variant-ligatures: none; font-variant-ligatures: none;
@@ -130,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;