2018-09-23 19:21:46 -07:00
< html >
< head >
< script src = "https://unpkg.com/feather-icons" > < / script >
< title > Resume - Danila Fedorin< / title >
< link href = "css/style.css" rel = "stylesheet" >
< / head >
< body >
< header >
< div class = "name" > Danila Fedorin< / div >
< div class = "contact" >
< div class = "contact-item" >
< i data-feather = "home" class = "contact-content" > < / i >
< div class = "contact-content" > 5636 SW Avena Pl, Corvallis, OR, 97333< / div >
< / div >
< div class = "contact-item" >
< i data-feather = "phone" class = "contact-content" > < / i >
< div class = "contact-content" > (503) 702 0929< / div >
< / 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 >
< main >
2019-03-06 18:55:35 -08:00
< div class = "horizontal-list" >
< section style = "flex-basis: 55%;" >
< h1 > Education< / h1 >
< div class = "section-content" >
Oregon State University, Corvallis, OR < br >
< em > Bachelor of Science< / em > , Computer Science, < br >
Expected June 2020 < br >
4.0 GPA
< / div >
< / section >
< section >
< h1 > Technical Skills< / h1 >
2018-09-23 19:21:46 -07:00
2019-03-06 18:55:35 -08:00
< div class = "section-content" >
< em > Languages:< / em > C, C++, Java, Kotlin, JavaScript, Haskell, Python, Haxe< br >
< em > Operating Systems:< / em > MacOS, Linux< br >
< em > Additional Skills:< / em > Experience with compiler design, algorithm efficiency,
low-level development.< br >
< / div >
< / section >
< / div >
< section >
< h1 > Projects< / h1 >
2019-11-09 21:54:07 -08:00
< div class = "section-content" >
< div class = "project-container" >
< a class = "project-link" href = "https://danilafe.com" >
< h2 > danilafe.com< / h2 >
< i data-feather = "link" class = "project-link-icon" > < / i >
< / a >
2019-11-10 17:09:43 -08:00
< div class = "project-quip" > Blog containing a series on compiler development.< / div >
2019-11-09 21:54:07 -08:00
< ul >
< li > Teaches compiler development from the bottom up using common technologies such as Flex,
Bison and LLVM.< / li >
< li > Provides complete implementation of the compiler at each stage of the process,
encouraging experimentation and understanding.< / li >
< li > Contains 25,000+ words in 9+ posts, each with an associated compiler version.< / li >
< / li >
< / div >
2019-03-06 18:55:35 -08:00
< div class = "project-container" >
< a class = "project-link" href = "https://github.com/DanilaFe/pegasus" >
< h2 > pegasus< / h2 >
< i data-feather = "link" class = "project-link-icon" > < / i >
< / a >
2019-11-09 21:54:07 -08:00
< div class = "project-quip" > LALR parser generator for the C and Crystal languages.< / div >
< ul >
< li > Provides a set of programs for creating LALR(1) parsers.< / li >
< li > Supports the C and Crystal languages, exposing an API for the implementation of parsers for
other languages.< / li >
< li > Generates parsers with diverse functionalities, from building parse trees to using
semantic actions.< / li >
< li > Defines a generic syntax for semantic actions to maximize code reuse.< / li >
< / li >
2019-03-06 18:55:35 -08:00
< / div >
< 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 >
< / a >
2019-11-09 21:54:07 -08:00
< div class = "project-quip" > Compiler from a small language into CHIP-8 bytecode.< / div >
< ul >
< li > Employs a Crystal implementation of parser combinators to parse language.< / li >
< li > Compiles code to intermediate assembly language, then to CHIP-8 bytecode.< / li >
< li > Supports in-text representation of sprites for easy editing.< / li >
< / li >
2019-03-06 18:55:35 -08:00
< / div >
< div class = "project-container" >
< a class = "project-link" href = "https://github.com/DanilaFe/abcs" >
< h2 > abcs< / h2 >
< i data-feather = "link" class = "project-link-icon" > < / i >
< / a >
2019-11-09 21:54:07 -08:00
< div class = "project-quip" > Calculator program with a complete embedded programming language.< / div >
< ul >
< li > Interfaces with GNU MPFR to perform arbitrary precision aritmetic.< / li >
< li > Provides complete language supporting parametric polymorphism, partial function
application and higher order functions.< / li >
< li > Uses hand-written parser to allow for the definition of arbitrary operators
at runtime.< / li >
< / ul >
2019-03-06 18:55:35 -08:00
< / div >
< 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 >
< / a >
2019-11-09 21:54:07 -08:00
< div class = "project-quip" > Elm-based purely functional front end for the Matrix chat protocol.< / div >
< ul >
< li > Defines a purely functioal reactive web interface using the Model-Update-View architecture.< / li >
< li > Employs lazy evaluation to optimize common operations.< / li >
< li > Implements part of the Matrix standard for open source, decentralized communication.< / li >
< / ul >
2019-03-06 18:55:35 -08:00
< / div >
2018-09-23 19:21:46 -07:00
< / div >
< / section >
2019-11-09 21:54:07 -08:00
< section class = "page-padding" >
2018-09-23 19:21:46 -07:00
< h1 > Technical Experience< / h1 >
< div class = "section-content" >
< div class = "position" >
< h2 > Research Assistant< / h2 >
2018-09-23 19:49:30 -07:00
< div class = "position-location" > Oregon State University | Spring 2018 - Present< / div >
2018-09-23 19:21:46 -07:00
< ul >
< li > Devised and implemented language to explain behavior of spreadsheets to new users.< / li >
< li > Developed tooling in Haskell to verify, generate, and debug the explanation language.< / li >
< li > Contributed to research paper published to the International Conference on Generative Programming.< / li >
< / ul >
< / div >
< div class = "position" >
< h2 > Lead Programmer< / h2 >
2018-09-23 19:49:30 -07:00
< div class = "position-location" > Northwest Advanced Programming Workshop | Summer 2017< / div >
2018-09-23 19:21:46 -07:00
< ul >
< li > Designed and implemented a desktop calculator application with a focus on usability and feature-completeness.< / li >
2019-11-10 01:18:16 -08: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 >
2018-09-23 19:21:46 -07:00
< li > Profiled and debugged application in order to find inefficiencies, reducing computation time by 60%.< / li >
< li > Led a small team using the git version control system.< / li >
2019-11-10 01:18:16 -08:00
< li > Presented progress to supervisor and other participating teams.< / li >
2018-09-23 19:21:46 -07:00
< / ul >
< / div >
< div class = "position" >
< h2 > Participant< / h2 >
2019-03-06 20:00:33 -08:00
< div class = "position-location" > Oregon Game Project Challenge | 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 >
< li > Created a game engine from scratch using Entity Component Systems architecture.< / li >
< li > Used OpenGL shaders and normal mapping to create 2D-shadow system.< / li >
< li > Developed interaction between physical components (microcontrollers) and the video game for multi-user cooperation.< / li >
< / ul >
< / div >
< div class = "position" >
< h2 > Finalist< / h2 >
2018-09-23 19:49:30 -07:00
< div class = "position-location" > Google Code In, Online Competition | Winter 2016< / div >
2018-09-23 19:21:46 -07:00
< ul >
< li > Worked with large open-source project written in C.< / li >
< li > Interacted with other developers to set goals, merge changes, and run tests.< / li >
< li > Improved quality of source code, reduced code repetition, and fixed bugs.< / li >
< / ul >
< / div >
< / div >
< / section >
< section >
2019-03-06 20:00:33 -08:00
< h1 > Publications< / h1 >
2018-09-23 19:21:46 -07:00
< div class = "section-content" >
2019-03-06 20:00:33 -08:00
Co-Author: Já come Cunha, Mihai Dan, Martin Erwig, Danila Fedorin, Alex Grejuc: < em > Explaining spreadsheets with spreadsheets (short paper).< / em > GPCE 2018: 161-167
2018-09-23 19:21:46 -07:00
< / div >
< / section >
< / main >
< script >
feather.replace()
< / script >
< / body >
< / html >