Michal Gorlas
Arrow keys navigate the menu.  <Enter> selects submenus --->.  Press <Esc><Esc> to exit, <?> for Help, </> to search.
[*] built‑in [ ] excluded <*> active <M> in progress ---- unavailable
<Select> <Exit> <Help>
About Me
Personal information, contact details and skill set.
--- Identity ---
(Michal Gorlas) Full Name
(Open Source Firmware/Linux Engineer) Current Role
(Bochum, Germany) Location

--- Contact ---
(michal[AT]gorlas.dev)∨(michal.gorlas[AT]9elements.com)

--- Summary ---
Computer Science student with interest in Operating Systems,
Firmware, and Compilers. My day-job concentrates around Linux
kernel/userland on embedded platforms, and open source firmware.

--- Enabled Features ---
[*] Systems Programming (C, Go)
[*] Linux Kernel
[*] coreboot
[*] u-boot
[*] Python, Nix, Shell scripting
<M> Rust
[*] built‑in [ ] excluded <*> active <M> in progress ---- unavailable
<Select> <Exit> <Help>
Experience
Work history and education.  [*] = current   [ ] = past position
*** Current Position ***
[*] Open Source Firmware Engineer — 9elements GmbH
2025 — Present  |  Bochum, Germany

*** Previous Positions ***
[ ] System Administrator — Free Software Foundation Europe
September 2023 — June 2025  |  Berlin, Germany
Infrastructure management
Lead mailing lists migration from Mailman 2 to Mailman 3
Fixed issues in legacy code
[ ] Software Engineer Intern — Free Software Foundation Europe
June 2023 — September 2023  |  Berlin, Germany
Worked on TEDective project

--- Education ---
[*] M.Sc. Computer Science — University of Twente
2026 — Present  |  Enschede, Netherlands
[ ] Pre-Master Computer Science — University of Twente
August 2025 — February 2026 |  Enschede, Netherlands
Grade: 7.5/10
[ ] B.Sc. Software Engineering — Fontys Venlo
2022 — 2026  |  Venlo, Netherlands
Focus: Cyber Security
Grade: 8/10
[*] built‑in [ ] excluded <*> active <M> in progress ---- unavailable
<Select> <Exit> <Help>
Projects
Open-source and personal projects.  <*> active   <M> in progress   < > archived
--- Systems & Kernel ---
<*> LinuxBootSMM — Transitioning SMM Ownership to Linuxboot
C, Go  |  BSD 2-Clause
Adds support for MM payload when Linux is used as coreboot's payload.
The main idea is to delegate higher-level SMM functions to the payload, limiting the coreboot's System Management Mode (SMM) related responsibilities to the minimum of basic SMM setup.
Done by implementing PoC kernel driver which loads a blob with SMI handler to the shared buffer, from which it is copied to SMRAM.
<*> go-msr — Go library for R/W on Intel MSR.
Go  |  Apache-2.0
Continuation/rewrite of gomsr.
Makes more use of std library than its predecessor.
Guarantees safe handling of fd's for library users.
u-root styled integration tests.

--- Tools & Applications ---
<*> go-doas — Go implementation of OpenDoas
Go  |  ISC License
A minimal replacement for the venerable sudo.
go-doas is a minimal Go implementation of OpenDoas port.
Authentication is based on PAM, implemented using Go PAM wrapper.
<*> TEDective
Python, GraphQL |  AGPL v3
Aims to make European public procurement data from Tenders Electronic Daily (TED) explorable for non-experts.
Worked on migration to graph database (TerminusDB and KuzuDB), implementing eForms in ETL, and API endpoints.
[*] built‑in [ ] excluded <*> active <M> in progress ---- unavailable
<Select> <Exit> <Help>
Publications
Conference papers, and journal articles (hopefully sometime in the future).
--- Conference Papers ---
[*] “QuishDec: Structural Anomaly-Based Detection of QR Code Phishing Attack”
NWO ICT.OPEN2026
Authors: Michal Gorlas, Thijs Besseling, Dipti K. Sarmah
[*] “Enhancing Fairness in Skin Lesion Diagnosis Using Synthetic Image Augmentation for Underrepresented Skin Tones”
NWO ICT.OPEN2026
Authors: L. Ferger-Andrews, M.Gorlas, M.Woznica, M.Kajdanowicz, N. Adamavicius, R. Raumanns
[*] built‑in [ ] excluded <*> active <M> in progress ---- unavailable
<Select> <Exit> <Help>
Blog
Symbol information and dependency graph.
WARNING: unmet direct dependencies detected for BLOG_ENABLED
Depends on: WRITING_MOTIVATION && FREE_TIME && INTERESTING_TOPICS
However, the following direct dependencies are not satisfied:
- WRITING_MOTIVATION [=n]
- FREE_TIME [=n]
- INTERESTING_TOPICS [=y] ✓

--- Symbol: BLOG_ENABLED ---
Type: bool
Prompt: "Enable blog section"
Value: n
Defined: portfolio.config:73
Depends: WRITING_MOTIVATION && FREE_TIME && INTERESTING_TOPICS

--- Location ---
-> Portfolio (PORTFOLIO_ENABLED [=y])
-> Blog (BLOG_ENABLED [=n])

--- Help ---
This option enables the blog section of the page.
Future posts will cover discoveries across random projects,
whatever projects I currently work on, and the occasional rant about
stuff that annoys me in system programming.
To enable: first satisfy WRITING_MOTIVATION and FREE_TIME.
Check back later. Patches welcome.
CONFIG_BLOG_ENABLED is not set
CONFIG_INTERESTING_TOPICS=y
CONFIG_WRITING_MOTIVATION is not set
CONFIG_FREE_TIME is not set
[*] built‑in [ ] excluded <*> active <M> in progress ---- unavailable
<Select> <Exit> <Help>