This is my first post.
Hi, I'm
Matthew Moonen
Linux enthusiast with a background in biology.
About Me

I'm a programmer and Linux enthusiast with a background in research biology. With over 15 years of experience using Linux server and desktop distributions, I bring a deep understanding of open-source ecosystems and system administration to my development work.
In 2022, I began my journey into programming, focusing on Python, SQL, and JavaScript to create functional and efficient software solutions. My passion for Linux and programming converged in the development of LogiOpsGUI, an open-source GUI tool that simplifies configuring Logitech mice on Linux.
With a background in scientific research and experience with technology, I thrive on solving complex problems and am driven by the ethos of open source and contributing to the community.
I have experience with Nginx, Gunicorn, Flask, SQLite, and Docker, as well as managing and deploying applications in server environments. I've gained these skills through maintaining a homelab and deploying my portfolio on a VPS running Ubuntu Server.
Some things I've built
LogiOpsGUI
• Open source software with active userbase
• Mouse configurations on Linux - macros, shortcuts, gestures, scrollwheel customisations, SmartShift, and more
• GitHub
German Fälle
• Proof of concept gamified language learning app
• Vanilla JavaScript. API Query. Responsive design.
• Emphasises concepts that other language apps don't teach effectively - namely cases and declensions
• Try it
Blog
Contact
Please complete the form below to contact me
let you = "visitor";
greetings();
async function greetings() {
••console.log(`Welcome ${you}!`);
••await new Promise((resolve) => {
••••window.addEventListener("scroll", () => {
••••••const {
••••••••scrollTop,
••••••••scrollHeight,
••••••••clientHeight
••••••} = document.documentElement;
••••••if (scrollTop + clientHeight => scrollHeight) {
••••••••resolve();
••••••}
••••});
••});
••console.log(Thanks for stopping by ${me}\'s website!);
}