# Home Hi, I'm Ivan! This website is a personal encyclopedia about various technical topics. The topics I cover on this wiki are mostly related to technology, but on occasion I also write about mathematics and physics. Three major topics on this website are: 1. [[wiki:parallel-computing|parallel computing]], 2. [[wiki:embedded-engineering|embedded engineering]], and 3. [[wiki:quantum-computing|quantum computing]]. I'm an embedded software engineer in the process of pivoting to high-performance engineering (HPC). Much of this website is going to be written for a reader familiar with computer engineering. For example, if I make an analogy, it's probably going to be related to computer engineering in some way. I use GNU/Linux as my main OS and I have experience in maintaining infrastructures running GNU/Linux systems. Most commonly, I use one of my many ThinkPad laptops to do my computing. I love working directly with hardware and low-level software. My current focus is parallel computing (OpenMP, MPI, CUDA) and using the concepts of performance engineering in the context of quantum computing (CUDA-Q, cuQuantum, Qiskit, QuTiP). As an embedded engineer, I enjoy soldering electronics, programming microcontrollers (PIC, STM32, ESP32, Arduino, Raspberry PI Pico), and writing code running within RTOS (FreeRTOS, ZephyrOS, etc.). ## List of wiki articles - [[wiki:list-of-tools]] - [[wiki:list-of-paths]] - [[wiki:list-of-commands]] - [[wiki:list-of-hardware]] - [[wiki:list-of-c-headers]] - [[wiki:list-of-c-concepts]] - [[wiki:list-of-cpp-headers]] - [[wiki:list-of-cpp-concepts]] - [[wiki:list-of-embedded-engineering-concepts]] - [[wiki:list-of-parallel-computing-concepts]] - [[wiki:list-of-quantum-computing-concepts]] - [[wiki:list-of-software-engineering-concepts]] - [[wiki:list-of-data-structures]] - [[wiki:list-of-algorithms]] - [[wiki:list-of-miscellaneous-topics]] ## Projects I used to tutor multithreading and created [EasyMT](https://github.com/yanevskiv/easymt) to make it easy to demonstrate multithreading concepts. I created [struct](https://github.com/yanevskiv/struct), a C programming language templating library. This website is a project in and of itself and uses a modified version of [DokuWiki](https://www.dokuwiki.org/dokuwiki). ## Disclaimer This website is not an authoritative source. It is written by one person -- myself. It's not meant to serve as documentation or a definitive guide to the technology I talk about. I write about topics that interest me and I explain them in the way I understand them -- thus the website may contain outright misconceptions, mistakes, and factual inaccuracies. I reserve the right to be wrong. This website is a continuous work in progress. I reserve the right to modify any parts of it, including deleting it altogether. Articles may evolve, appear and disappear on a whim. They may also go outdated. I bear no responsibility of keeping the articles up to date. Except where otherwise noted, content on this wiki is licensed under the following license: [CC Attribution-Share Alike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/deed.en)