|
|
|
|
@@ -27,24 +27,72 @@
|
|
|
|
|
|
|
|
|
|
<main>
|
|
|
|
|
<section>
|
|
|
|
|
<h1>Education</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>
|
|
|
|
|
<h1>Work Experience</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 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>
|
|
|
|
|
<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>
|
|
|
|
|
</section>
|
|
|
|
|
<section>
|
|
|
|
|
<h1>Projects</h1>
|
|
|
|
|
<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">
|
|
|
|
|
<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.
|
|
|
|
|
</div> -->
|
|
|
|
|
<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>
|
|
|
|
|
<i data-feather="link" class="project-link-icon"></i>
|
|
|
|
|
</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 class="project-container">
|
|
|
|
|
<a class="project-link" href="https://github.com/DanilaFe/maypop">
|
|
|
|
|
@@ -74,7 +122,7 @@
|
|
|
|
|
<i data-feather="link" class="project-link-icon"></i>
|
|
|
|
|
</a> —
|
|
|
|
|
<!-- 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 class="project-container">
|
|
|
|
|
@@ -85,6 +133,7 @@
|
|
|
|
|
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>
|
|
|
|
|
@@ -92,6 +141,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">
|
|
|
|
|
@@ -106,7 +156,7 @@
|
|
|
|
|
<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.
|
|
|
|
|
<em class="bold">TypeScript</em>-based browser extension for collaborative web annotation based on the Matrix protocol.
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</section>
|
|
|
|
|
@@ -122,62 +172,28 @@
|
|
|
|
|
</div>
|
|
|
|
|
</section>
|
|
|
|
|
<section>
|
|
|
|
|
<h1>Work Experience</h1>
|
|
|
|
|
|
|
|
|
|
<h1>Education</h1>
|
|
|
|
|
<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>Added support for compile-time reflection, various language keywords, and full scope resolution to compiler written in <em class="bold">C++</em>.</li>
|
|
|
|
|
<li>Designed and implemented <em class="bold">a type-safe error reporting API</em>, improving developer experience and compiler error messages.</li>
|
|
|
|
|
<li>Enabled rapid prototyping of language tooling such as linters by developing
|
|
|
|
|
<em class="bold">Python</em> bindings for compiler front-end.</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
|
|
|
|
|
programming support</em> using <em class="bold">Clang</em> and <em class="bold">ROCm</em> tooling.</li>
|
|
|
|
|
</ul>
|
|
|
|
|
<div class="education-container">
|
|
|
|
|
<em class="italic">Master of Science</em>, Oregon State University, Computer Science - Completed 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="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 <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>
|
|
|
|
|
<li>Proctored <em class="bold">quizzes and exams</em> for over 200 students.</li>
|
|
|
|
|
<li>Aided students in implementing a final project in the form of a <em class="bold">custom programming language</em>.</li>
|
|
|
|
|
<li>Suggested and organized <em class="bold">independent review sessions</em> attended by over 70 students, with
|
|
|
|
|
50% attendance growth between sessions.</li>
|
|
|
|
|
</ul>
|
|
|
|
|
<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 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>Organized <em class="bold">independent review sessions</em> attended by over 70 students.</li>
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
-->
|
|
|
|
|
</div>
|
|
|
|
|
</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>
|
|
|
|
|
<h1>Additional Experience</h1>
|
|
|
|
|
|
|
|
|
|
@@ -186,10 +202,10 @@
|
|
|
|
|
<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>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>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>
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
|