|
| 1 | + |
| 2 | +Andrii Alexieiev |
| 3 | +================ |
| 4 | +------------------ |
| 5 | +Software Developer |
| 6 | +------------------ |
| 7 | + |
| 8 | +.. class:: mid |
| 9 | + |
| 10 | + :tel:` +43 160 4345920` | [email protected] | GitHub: :github:` Akaricchi` | Mörfelden-Walldorf, Germany |
| 11 | + |
| 12 | +---- |
| 13 | + |
| 14 | +Hobbyist programmer from Ukraine with over 10 years of informal experience, particularly in game development and |
| 15 | +modding, as well as in contributing to and maintaining various open source software projects. |
| 16 | + |
| 17 | +Skills |
| 18 | +------ |
| 19 | + |
| 20 | +* **Spoken languages**: |
| 21 | + |
| 22 | + * Ukrainian (native) |
| 23 | + * Russian (native) |
| 24 | + * English (fluent) |
| 25 | + |
| 26 | +* **Programming languages**: |
| 27 | + |
| 28 | + * **Primary expertise**: C |
| 29 | + * **Secondary expertise**: Python |
| 30 | + * **Familiarity**: Bash, C++, JavaScript, Lua, Java, various others. |
| 31 | + |
| 32 | +* **Operating systems**: Linux |
| 33 | + |
| 34 | +* **Graphics programming**: OpenGL 3.3+, GLSL |
| 35 | + |
| 36 | +* **Build systems**: Meson, CMake, GNU Make |
| 37 | + |
| 38 | +* **Version control**: git |
| 39 | + |
| 40 | +* **Debugging**: gdb, prof, strace, etc. |
| 41 | + |
| 42 | +* **Documentation**: Doxygen, docutils |
| 43 | + |
| 44 | +* **Other software**: nginx, Blender, Krita, GIMP, SPIR-V tools |
| 45 | + |
| 46 | + |
| 47 | +Open Source involvement |
| 48 | +----------------------- |
| 49 | + |
| 50 | +.. project:: Taisei Project |
| 51 | + :url: https://taisei-project.org/ |
| 52 | + :role: Contributor (2011 - 2013); Lead Developer (2017 - present) |
| 53 | + |
| 54 | + A free and open source Japanese-style "bullet hell" (Danmaku_) top-down shooter; a fangame of the `Touhou Project`_ |
| 55 | + series. Original engine built with SDL, with a custom OpenGL 3.3 renderer. Written in C (GNU C11), with tooling |
| 56 | + written in Python. Runs on any modern desktop OS and in the browser (via Emscripten_). |
| 57 | + |
| 58 | + * (Re-)wrote most of the engine, including but not limited to the renderer, audio, virtual filesystem, replay, live |
| 59 | + reloading, and threaded asset loading subsystems. |
| 60 | + * Designed and implemented a system for asynchronous programming of game logic and stages in C based on stackful |
| 61 | + coroutines, with a macro-powered DSL. |
| 62 | + * Designed and implemented a lot of the gameplay mechanics, stages, bullet patterns, and special effects. |
| 63 | + |
| 64 | + |
| 65 | +.. project:: Koishi |
| 66 | + :url: https://github.com/taisei-project/koishi |
| 67 | + :role: Lead Developer (2019 - present) |
| 68 | + |
| 69 | + A small, decently portable C11 library that implements asymmetric stackful coroutines (similar to Lua's coroutines, |
| 70 | + but for native code). Supports many operating systems and CPU architectures. Modular design, can use boost.context |
| 71 | + assembly routines, POSIX ucontext, Windows fibers, longjmp, Emscripten fibers, etc. |
| 72 | + |
| 73 | + Designed for use in `Taisei Project`_, but is general enough to be useful elsewhere. |
| 74 | + |
| 75 | + |
| 76 | +.. project:: Emscripten |
| 77 | + :url: https://emscripten.org/ |
| 78 | + :role: Contributor (2019 - present; intermittent) |
| 79 | + |
| 80 | + An LLVM-based suite of tools for compiling C/C++ applications to WebAssembly_, as well as a runtime to run them in |
| 81 | + the browser. |
| 82 | + |
| 83 | + * Designed and implemented the Fibers_ API and runtime, a low-level context-switching primitive similar to POSIX |
| 84 | + ucontext, based on Asyncify_. |
| 85 | + * Found and squished various random bugs in the runtime. |
| 86 | + |
| 87 | + |
| 88 | +.. project:: Meson |
| 89 | + :url: https://mesonbuild.com/ |
| 90 | + :role: Contributor (2017 - present; intermittent) |
| 91 | + |
| 92 | + A declarative build system written in Python, meant to be as fast and user-friendly as possible. |
| 93 | + |
| 94 | + `Taisei Project`_ uses Meson extensively. |
| 95 | + |
| 96 | + * I often test unstable revisions; identify, report, and fix bugs and regressions. |
| 97 | + |
| 98 | + * Proposed and implemented some minor features for my project's needs. |
| 99 | + |
| 100 | + * I maintain custom Meson build definitions for most of `Taisei Project`_'s dependencies, including SDL2_, |
| 101 | + `Basis Universal`_, `SPIRV-Tools`_, glslang_, shaderc_, `SPIRV-Cross`_, libpng_, libwebp_, Freetype_, libzip_, |
| 102 | + zlib_, ogg_, opus_, opusfile_ |
| 103 | + |
| 104 | + |
| 105 | +.. project:: RocketMinsta |
| 106 | + :url: https://github.com/kasymovga/RocketMinsta |
| 107 | + :role: Lead Developer (2011 - 2017) |
| 108 | + |
| 109 | + A formerly popular multi-feature mod for Nexuiz_, a defunct open source first-person arena shooter game. Features new |
| 110 | + game types, bug fixes, server administration tools, updated graphics, Xonotic_ backports, and more. Written in a |
| 111 | + dialect of QuakeC, an interpreted language for Quake 1-based engines. |
| 112 | + |
| 113 | + |
| 114 | +.. project:: DarkPlacesRM |
| 115 | + :url: https://github.com/kasymovga/DarkPlacesRM |
| 116 | + :role: Fork Developer (2015 - 2017) |
| 117 | + |
| 118 | + A fork of the DarkPlaces engine which powers Nexuiz_ and Xonotic_. Features RocketMinsta_-specific extensions and |
| 119 | + compatibility fixes. |
| 120 | + |
| 121 | + |
| 122 | +.. project:: rmqcc |
| 123 | + :url: https://github.com/kasymovga/rmqcc |
| 124 | + :role: Fork Developer (2016 - 2017) |
| 125 | + |
| 126 | + A fork of fteqcc_, a QuakeC compiler, used to compile the RocketMinsta_ source code. Features various language |
| 127 | + extensions and fixes. |
| 128 | + |
| 129 | + |
| 130 | +.. project:: ųz |
| 131 | + :url: https://github.com/Akaricchi/muz |
| 132 | + :role: Lead Developer (2015 - 2016) |
| 133 | + |
| 134 | + A beatmania-style rhythm game written in Python with a pygame frontend. Can load osu!mania beatmaps. |
| 135 | + |
| 136 | + |
| 137 | +.. _Asyncify: https://kripken.github.io/blog/wasm/2019/07/16/asyncify.html |
| 138 | +.. _Basis Universal: https://github.com/taisei-project/basis_universal |
| 139 | +.. _Danmaku: https://en.wikipedia.org/wiki/Danmaku |
| 140 | +.. _Fibers: https://emscripten.org/docs/api_reference/fiber.h.html |
| 141 | +.. _Freetype: https://github.com/taisei-project/freetype2/tree/meson-2.10.1 |
| 142 | +.. _Nexuiz: http://www.alientrap.com/games/nexuiz/ |
| 143 | +.. _SDL2: https://github.com/taisei-project/SDL/tree/meson-2.0.20 |
| 144 | +.. _SPIRV-Cross: https://github.com/taisei-project/SPIRV-Cross/tree/meson-2021.01.15 |
| 145 | +.. _SPIRV-Tools: https://github.com/taisei-project/SPIRV-Tools/tree/meson-2020.7 |
| 146 | +.. _Touhou Project: https://en.wikipedia.org/wiki/Touhou_Project |
| 147 | +.. _Xonotic: https://xonotic.org/ |
| 148 | +.. _fteqcc: https://www.fteqcc.org/ |
| 149 | +.. _glslang: https://github.com/taisei-project/glslang/tree/meson-11.2.0 |
| 150 | +.. _libpng: https://github.com/taisei-project/libpng/tree/meson-1.6.37 |
| 151 | +.. _libwebp: https://github.com/taisei-project/libwebp/tree/meson-1.2.0 |
| 152 | +.. _libzip: https://github.com/taisei-project/libzip/tree/meson-1.7.3.142 |
| 153 | +.. _ogg: https://github.com/taisei-project/ogg/tree/meson-1.3.4 |
| 154 | +.. _opus: https://github.com/taisei-project/opus/tree/meson-1.3.1 |
| 155 | +.. _opusfile: https://github.com/taisei-project/opusfile/tree/meson-0.12 |
| 156 | +.. _shaderc: https://github.com/taisei-project/shaderc/tree/meson-2020.5 |
| 157 | +.. _zlib: https://github.com/taisei-project/zlib/tree/meson-1.2.11 |
| 158 | +.. _WebAssembly: https://webassembly.org/ |
| 159 | + |
| 160 | +.. vim: tw=120 spell |
0 commit comments