2018-09-23 19:21:46 -07:00
< html >
< head >
2023-02-19 22:39:34 -08:00
< script src = "js/feather.min.js" > < / script >
2021-08-01 17:30:21 -07:00
< title > Resume - Daniel Fedorin< / title >
2018-09-23 19:21:46 -07:00
< link href = "css/style.css" rel = "stylesheet" >
< / head >
< body >
< header >
2021-08-01 17:30:21 -07:00
< div class = "name" > Daniel Fedorin< / div >
2018-09-23 19:21:46 -07:00
< div class = "contact" >
< div class = "contact-item" >
< i data-feather = "home" class = "contact-content" > < / i >
2020-03-26 18:09:49 -07:00
< div class = "contact-content" > Corvallis, OR< / div >
2018-09-23 19:21:46 -07:00
< / div >
< div class = "contact-item" >
< i data-feather = "phone" class = "contact-content" > < / i >
2023-02-19 15:41:53 -08:00
< div class = "contact-content" > (000) 000 0000< / div >
2018-09-23 19:21:46 -07:00
< / div >
< div class = "contact-item" >
< i data-feather = "mail" class = "contact-content" > < / i >
< div class = "contact-content" > danila.fedorin@gmail.com< / div >
< / div >
< / div >
< / header >
2020-05-11 01:23:08 -07:00
< hr >
2018-09-23 19:21:46 -07:00
< main >
2020-06-17 00:07:11 -07:00
< section >
< h1 > Education< / h1 >
< div class = "section-content" >
2023-06-17 12:28:28 -07:00
< 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 >
2020-06-17 00:07:11 -07:00
< / div >
< / section >
< section >
2020-06-17 01:15:33 -07:00
< h1 > Skills< / h1 >
2018-09-23 19:21:46 -07:00
2020-06-17 00:07:11 -07:00
< div class = "section-content" >
2021-09-04 19:30:48 -07:00
< em class = "italic" > Programming Languages:< / em > C, C++, Haskell, Elm, Coq, Idris, Crystal, JavaScript, TypeScript, Kotlin, Java, Python, Nix, Haxe< br >
2020-06-30 13:40:45 -07:00
< em class = "italic" > Languages:< / em > English (native), Russian (native), French (conversational, DELF B1 certification) < br >
2020-06-30 13:42:08 -07:00
< em class = "italic" > Additional Skills:< / em > Compiler design, formal verification, algorithms, low-level development.< br >
2020-06-17 00:07:11 -07:00
< / div >
< / section >
2019-03-06 18:55:35 -08:00
< section >
< h1 > Projects< / h1 >
2020-09-01 14:30:45 -07:00
< div class = "section-content" >
2021-02-28 13:11:18 -08:00
<!--
2019-03-06 18:55:35 -08:00
< div class = "project-container" >
2020-03-26 18:09:49 -07:00
< a class = "project-link" href = "https://github.com/DanilaFe/abcs" >
< h2 > abcs< / h2 >
2019-03-06 18:55:35 -08:00
< i data-feather = "link" class = "project-link-icon" > < / i >
2020-09-01 14:30:45 -07:00
< / a > —
2020-03-26 18:09:49 -07:00
Calculator program with a complete embedded programming language.
2021-02-28 13:11:18 -08:00
< / 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 > -->
2020-09-01 14:30:45 -07:00
< 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 > —
2021-02-28 13:11:18 -08:00
Compiler for a purely functional, lazily evaluated language explained in-depth on < a href = "https://danilafe.com/blog/00_compiler_intro/" > personal blog< / a > .
2020-09-01 14:30:45 -07:00
< / div >
2021-06-20 18:37:54 -07:00
< 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 > —
2023-02-19 22:08:31 -08:00
<!-- Instructional implementation of a dependently typed functional programming language capable of formal proofs. -->
Dependently typed functional programming language capable of formal proofs.
2021-06-20 18:37:54 -07:00
< / div >
<!--
2019-03-06 18:55:35 -08:00
< div class = "project-container" >
< a class = "project-link" href = "https://github.com/DanilaFe/chalk" >
< h2 > chalk< / h2 >
< i data-feather = "link" class = "project-link-icon" > < / i >
2020-09-01 14:30:45 -07:00
< / a > —
2020-03-26 18:09:49 -07:00
Compiler from a small imperative language into CHIP-8 bytecode.
2019-03-06 18:55:35 -08:00
< / div >
2021-06-20 18:37:54 -07:00
-->
2019-03-06 18:55:35 -08:00
< div class = "project-container" >
2020-03-26 18:09:49 -07:00
< a class = "project-link" href = "https://github.com/DanilaFe/pegasus" >
< h2 > pegasus< / h2 >
2019-03-06 18:55:35 -08:00
< i data-feather = "link" class = "project-link-icon" > < / i >
2020-09-01 14:30:45 -07:00
< / a > —
2020-03-26 18:09:49 -07:00
LALR parser generator currently supporting the C and Crystal languages.
2019-03-06 18:55:35 -08:00
< / div >
2023-02-19 15:44:34 -08:00
<!--
2019-03-06 18:55:35 -08:00
< div class = "project-container" >
< a class = "project-link" href = "https://github.com/DanilaFe/Scylla" >
< h2 > scylla< / h2 >
< i data-feather = "link" class = "project-link-icon" > < / i >
2020-09-01 14:30:45 -07:00
< / a > —
2019-03-06 18:55:35 -08:00
Elm-based purely functional front end for the Matrix chat protocol.
< / div >
2023-02-19 15:44:34 -08:00
-->
< 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 >
2018-09-23 19:21:46 -07:00
< / div >
< / section >
2020-03-26 18:09:49 -07:00
< section >
< h1 > Publications< / h1 >
< div class = "section-content" >
2023-02-19 15:46:22 -08:00
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 >
2021-08-23 17:34:52 -07:00
Divya Bajaj, Martin Erwig, < em class = "bold" > Daniel Fedorin< / em > , Kai Gay: < em class = "italic" > Adaptable Traces for Program Explanations< / em > , APLAS 2021< br >
2021-08-01 17:30:21 -07:00
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 >
2021-08-23 17:34:52 -07:00
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
2020-03-26 18:09:49 -07:00
< / div >
< / section >
2018-09-23 19:21:46 -07:00
< section >
2020-09-02 18:43:07 -07:00
< h1 > Work Experience< / h1 >
2018-09-23 19:21:46 -07:00
< div class = "section-content" >
2023-02-19 16:44:05 -08:00
< 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 >
2023-08-06 13:03:00 -07:00
< li > Added support for compile-time reflection, various language keywords, and full scope resolution as part of rearchitecting< br >
an < em class = "bold" > LLVM< / em > -based compiler 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, setting< br >
the foundation for compatibility with leading-edge supercomputers.< / li >
< li > Empowered compiler developers to provide helpful and informative error messages by designing and implementing< br >
a 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 >
providing a place for long-form content about the language and helping community growth.< / li >
2023-02-19 16:44:05 -08:00
< / ul >
< / div >
2018-09-23 19:21:46 -07:00
< div class = "position" >
2020-05-11 01:23:08 -07:00
< h2 > Research Assistant, Programming Language Theory< / h2 >
2023-02-19 16:44:05 -08:00
< div class = "position-location" > Oregon State University, Corvallis, OR | Spring 2018 - Summer 2022< / div >
2018-09-23 19:21:46 -07:00
< ul >
2021-02-28 13:11:18 -08:00
< li > Formalized denotational and operational semantics of new < em class = "bold" > explanation-oriented programming languages.< / em > < / li >
2023-02-19 16:44:05 -08:00
<!-- <li>Devised and implemented language to explain behavior of spreadsheets to new users.</li> -->
2021-02-28 13:11:18 -08:00
< li > Developed tooling in < em class = "bold" > Haskell< / em > to interpret, verify, generate, and debug programming languages.< / li >
2021-06-20 18:58:37 -07:00
< li > Contributed to < em class = "bold" > research papers< / em > published to the GPCE and VL/HCC.< / li >
2020-03-26 18:09:49 -07:00
< / ul >
< / div >
2021-10-03 20:55:16 -07:00
< div class = "position" >
2023-02-19 15:42:56 -08:00
< 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 >
2021-10-03 20:55:16 -07:00
< div class = "position-location" > Element.io | June 2021 - September 2021< / div >
< ul >
2023-02-19 15:42:56 -08:00
< li > Spearheaded migration of codebase to < em class = "bold" > TypeScript< / em > , improving documentation and discovering hidden bugs.< / li >
2021-10-03 20:55:16 -07:00
< 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 >
2023-02-19 16:44:05 -08:00
<!-- <li>Engaged in <em class="bold">open - source development</em>, interacting with community to respond to bug reports and feature requests.</li> -->
2021-10-03 20:55:16 -07:00
< / ul >
< / div >
2020-03-26 18:09:49 -07:00
< div class = "position" >
2020-06-17 00:04:45 -07:00
< h2 > Undergraduate Teaching Assistant, Programming Language Theory, CS 381< / h2 >
2020-05-11 01:23:08 -07:00
< div class = "position-location" > Oregon State University, Corvallis, OR | Winter 2020 - Spring 2020< / div >
2020-03-26 18:09:49 -07:00
< ul >
< li > Engaged in weekly question-and-answer sessions regarding course topics.< / li >
2020-06-17 00:04:45 -07:00
< 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 >
2020-09-25 22:48:04 -07:00
< li > Organized < em class = "bold" > independent review sessions< / em > attended by over 70 students.< / li >
2018-09-23 19:21:46 -07:00
< / ul >
< / div >
2020-09-02 17:38:35 -07:00
< / div >
< / section >
< section >
< h1 > Additional Experience< / h1 >
< div class = "section-content" >
< div class = "position" >
2021-06-20 18:37:54 -07:00
< h2 > Technical Writer< / h2 >
2020-09-02 17:38:35 -07:00
< 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 >
2021-06-20 18:58:37 -07:00
< li > Formalized and described solutions to select Advent of Code problems using the < em class = "bold" > Coq proof assistant< / em > .< / li >
2021-02-28 13:11:18 -08:00
< li > Created < em class = "bold" > 14-part series< / em > on compiler development, walking readers through lexing, parsing, compilation using LLVM,
2020-09-02 17:38:35 -07:00
garbage collection, and polymorphic type checking.< / li >
< / ul >
< / div >
2018-09-23 19:21:46 -07:00
2023-02-19 22:08:31 -08:00
<!--
2018-09-23 19:21:46 -07:00
< div class = "position" >
< h2 > Lead Programmer< / h2 >
2020-05-11 01:23:08 -07:00
< div class = "position-location" > Northwest Advanced Programming Workshop, Portland, OR | Summer 2017< / div >
2018-09-23 19:21:46 -07:00
< ul >
2021-10-03 20:55:16 -07:00
< li > Led a small team using the < em class = "bold" > git version control system< / em > .< / li >
2020-06-17 00:04:45 -07:00
< li > Designed and implemented a < em class = "bold" > desktop calculator< / em > application with a focus on usability and feature-completeness.< / li >
2020-03-26 18:09:49 -07:00
< 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 >
2020-06-17 00:04:45 -07:00
< li > Profiled and debugged application using < em class = "bold" > VisualVM< / em > in order to find inefficiencies, reducing computation time by 60%.< / li >
2023-02-19 22:08:31 -08:00
< li > Exercised public speaking and communication skills by reporting progress to supervisor and presenting to other teams.< / li >
2018-09-23 19:21:46 -07:00
< / ul >
< / div >
2023-02-19 22:08:31 -08:00
-->
2018-09-23 19:21:46 -07:00
2021-10-03 20:55:16 -07:00
<!--
2018-09-23 19:21:46 -07:00
< div class = "position" >
2020-03-26 18:09:49 -07:00
< h2 > Game Developer< / h2 >
2020-05-11 01:23:08 -07:00
< div class = "position-location" > Oregon Game Project Challenge, Portland, OR | Spring 2016 and 2017 < / div >
2018-09-23 19:21:46 -07:00
< ul >
< li > Worked in a team to complete video game to be presented at main event.< / li >
2020-06-17 00:04:45 -07:00
< li > Created a game engine from scratch using < em class = "bold" > Entity Component Systems< / em > architecture.< / li >
< li > Used < em class = "bold" > OpenGL shaders< / em > and normal mapping to create 2D-shadow system.< / li >
< li > Developed novel interaction between physical components (< em class = "bold" > microcontrollers< / em > ) and the video game for multi-user cooperation.< / li >
2018-09-23 19:21:46 -07:00
< / ul >
< / div >
2021-10-03 20:55:16 -07:00
-->
2018-09-23 19:21:46 -07:00
< / div >
< / section >
2023-02-19 15:51:00 -08:00
<!--
2018-09-23 19:21:46 -07:00
< section >
2020-03-26 18:09:49 -07:00
< h1 > Honors and Awards< / h1 >
2018-09-23 19:21:46 -07:00
< div class = "section-content" >
2020-03-26 18:09:49 -07:00
< ul >
2020-06-30 13:40:45 -07:00
< 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 >
2023-02-19 15:51:00 -08:00
< li > < em class = "italic" > International Baccalaureate Diploma Scholarship< / em > — $1,000/term scholarship awarded to recipients of the IB Diploma.< / li >
2020-06-30 13:40:45 -07:00
< li > < em class = "italic" > Finalist< / em > — Google Code-In 2016, online competition in which participants
2020-03-26 18:09:49 -07:00
complete tasks for open-source projects.< / li >
< / ul >
2018-09-23 19:21:46 -07:00
< / div >
< / section >
2023-02-19 15:51:00 -08:00
-->
2018-09-23 19:21:46 -07:00
< / main >
< script >
feather.replace()
< / script >
< / body >
< / html >