avatar

Emil Madsen
Open source Software Developer

About

Core memory programmer with a tiny magnetized needle and a steady hand. - No cat or butterflies required.
Passionate about open source software. - We must write the story of our future, for we are human. Passionate about the web. - The oracle, the book that never runs out of pages, and the window into a million different rooms all at once.
I've lived the lives of all the characters in all my books, and all their mighty wisdom thunders in my head.
Lazy, despise hard work in all its forms! Clever shortcuts, that's all I'm about!
Not every change is an improvement but every improvement is a change; you can't do anything BETTER unless you can manage to do it DIFFERENTLY.
I'm an expert and that’s a good thing, because that means I'll only spend six hours figuring out what went wrong, as opposed to losing my job.

ERROR: Attempted to parse HTML with regular expression; system returned Cthulhu.

And remember:
CONSTANT VIGILANCE!

Work Experience

Magenta ApS - Open Source IT
Aarhus, Middle Jutland, Denmark
April 2022 – Present
Lead DevOps Engineer
Developing and deploying an employee and organizational unit system (OS2MO).
Highlights
  • Hiring
Magenta ApS - Open Source IT
Aarhus, Middle Jutland, Denmark
May 2020 – April 2022
DevOps Engineer
Developing and deploying an employee and organizational unit system (OS2MO).
Highlights
  • Transition of core application from sync to async paradigm (asyncio)
  • Migration of core application from Flask to FastAPI
  • Introduction of GraphQL (Strawberry)
  • Introduction of Pydantic datamodels
  • Introduction of continuous delivery and deployment (Flux, Helm, Kustomize)
  • Development of continuous integration (Gitlab CI)
  • Reworking, refactoring and maintaining legacy integration code
  • Transforming integrations to event-based architecture (AMQP / RabbitMQ / aio_pika)
  • Automating certificate management (Let's Encrypt via CertManager and Acme DNS)
  • Provisioning (Saltstack, Ansible, Terraform)
  • Deployment of in-house automation tool (Atlantis)
  • Reproducible development setups (Docker)
  • Licence management (REUSE)
  • Chat system and bots (RocketChat)
  • Telemetry Alerting (Alertmanager, Prometheus)
  • Telemetry Logging (Fluentbit, and Loki)
  • Telemetry Tracing (OpenTracing, OpenTelemetry, Jaeger, Tempo)
  • Developing a terraform provider for DockerHub
  • Managing cloud environments (Azure (AKS, Managed PostgreSQL, Key Vault), GCP)
Magenta ApS - Open Source IT
Aarhus, Middle Jutland, Denmark
January 2020 – May 2020
DevOps Engineer
Developing and deploying in-house tools.
Highlights
  • CI/CD (Jenkins, Travis)
  • Provisioning (Ansible)
  • Reproducible development environments (Vagrant, Docker)
  • License management (in-house script)
  • Alerting and Metrics (Icinga2)
  • Development of Icinga<-->Promtheus bridge
  • Deployment of products (using Docker, Ansible, Kubernetes and SaltStack)
  • Deployment of in-house DevOps platform (GitLab)
  • Development and deployment of SLA tool (Report generation and retention)
  • Deployment of in-house password management (Bitwarden_rs / Vaultwarden, GPG Vault)
Magenta ApS - Open Source IT
Aarhus, Middle Jutland, Denmark
September 2017 – December 2019
Software Developer
Developing and deploying a waitinglist system for assigning housing to students (s.dk).
Highlights
  • Django
  • Celery
  • Redis
  • PostgreSQL
  • VueJS
Magenta ApS - Open Source IT
Aarhus, Middle Jutland, Denmark
March 2017 – September 2017
Junior Software Developer
Developing and deploying a waitinglist system for assigning housing to students (s.dk).
Highlights
  • Django
  • Celery
  • Redis
  • PostgreSQL
  • VueJS
  • Docker
  • Graylog
IOMOSS - Innovative Open Minded Open Source Solutions
Aarhus, Denmark
March 2014 – July 2020
Lead Software Engineer and CTO
Developed the Bipolar Sculpto 3D printer for Sculpto.
Highlights
  • Parameterized CAD design (OpenSCAD, FreeCAD)
  • CAD optimization for injection molding
  • Electronics and PCB design (KiCAD)
  • Embedded / Firmware programming (Smoothieware, Marlin, Teacup) on ATMega2560 / NXP LPC1768 / LinkIt Smart 7688 Module
  • OpenWRT package development (lpc21isp)
  • Rapid prototyping using 3D printing
  • 3D Slicer modifications and open source contributions
  • Parts sourcing

Projects

  • smem-prometheus-exporter: Prometheus exporter for shared shared memory metrics via smem. Shared memory details are picked up from the /proc filesystem and processed. Written in Python.
  • Wemos D1 Mini HLK PM01 Shield: Mains to 5V for the shield for the Wemos D1 Mini via the HLK PM01 module. Developed with KiCad.
  • Tracesaver: Realtime tracking of connections, and plotting of GeoIP positions acquired via traceroute. Written in Node.js.
  • FPGA Pong: Developed a single-player pong game using Altera Lite 16.0 (Quartus) for the MAX II EPM570T100C5. Written in Verilog.
  • calltraits: Small library that for static reflection queries on function types in C++ . Written in C++.
  • Units of Measure: Proof of concept library that implements dimensional analysis via compiler-generated argument-dependent types in C++ templates. Written in C++.
  • IRC Flipdot @ OSAA: Program for connecting to #osaa on Freenode and forward messages to the Flipdot display at the hackerspace. Written in C++.
  • 'A 3D printer for the whole family' - Sculpto: 'A 3D printer for the whole family' aka. Sculpto(tm) er et CPD (Collaborative product development) imellem Sculpto IVS og IOMOSS ApS. Med missionen om, at skabe rammerne omkring børns innovative og kreative udfoldelses-muligheder ved, at gøre 3D teknologi tilgængelig for børn over hele verden. Den 22. november 2015 blev Sculptos Kickstarter kampagne succesfuldt finansieret med 177 % -svarende til 266.820 kroner (122 backers). - Kickstarten kan findes her: https://www.kickstarter.com/projects/1884651444/sculpto-a-toy-from-the-future May 2015 blev Sculptos forretningskoncept præsenteret af de tre CO-foundere af Sculpto i tv-programmet Løvens Hule på DR1. Deltagelsen medførte et investeringstilbud på 600.000 kroner for 40 % ejerskab i virksomheden. Tilbuddet, som blev fremsat af Birgit Aaby og Tommy Ahlers blev afslået, med et modbud. Der blev ikke fortaget nogen investering. - Indslaget kan ses her: https://www.youtube.com/watch?v=7Be-Lm9Dcr0 October 2015 blev Sculpto og IOMOSS med det fælles project optaget i SVAAs vækstprogram (Studentervæksthus Aarhus)
  • HearthstoneBot: Co-developed a bot for the Blizzards card-game Hearthstone. Did not figure out licensing in time, and was threatened with legal action by Bossland GmbH, who claimed to own 'BotOfStone' and parts of the code utilized by HearthstoneBot as a co-developer sold their source. BotOfStone has since been taken down via legal action from Blizzards. Written in C#, and scripting in Lua.
  • Poker Bot: Rudimentary poker bot for the PokerStars windows client. Written before I had only knowledge in computer vision. Written in Java.
  • Operating System: Developed an operating system for x86, complete with filesystem, libc, timers, character devices, paging, video output, human input devices, multitasking, tests and initfs. Written in C++ and x86 assembly.
  • World of Warcraft Addon: Developed various plugins for Blizzards World of Warcraft. Totaling between 500.000 and 1.000.000 total downloads across all addons, plugins and versions. Written in Lua.
  • joos2compiler: Joos-2 (Java Subset) compiler front-end written in boost::spirit. Written in C++.

Contact

Aarhus V, Middle Jutland 8210 DK
(+45) 28573666
GitHub
LinkedIn
StackOverflow

Education

  • 2014 2017

    Aarhus University

    Master’s Degree

    Computer Science

    Grade: 8.2

  • 2010 2014

    Aarhus University

    Bachelor's degree

    Computer Science

    Grade: 8.2

  • 2007 2010

    Silkeborg Teknisk Gymnasium

    High School

    Biochemistry programme

    Grade: 9.5

    Courses
    • Danish A
    • Chemistry A
    • Mathematics A
    • Technology, Design and Production A
    • Biology B
    • English B
    • Physics B
    • Social Studies B
    • Technology B
    • Communication / IT B
    • Programming C
    • History of Technology C
  • 1997 2007

    Mølleskolen

    Primary / Elementary school

    FSA

    Grade: 10.2

Skills

Open Source
Programming
Software Development
Computer Science
Software Engineering
Software Design
C++
Linux
JavaScript
Debian
Java
Unix
Bash
Python
SQL
Web Development
HTML
Python (Programming Language)
Git
C#
Magenta - Open Source IT
C (Programming Language)
Django
JSON

Publications

Master Thesis - Can Web Pages be Distinguished by Their Side Channel Signatures?
Aarhus University
31 January 2017

This thesis demonstrates that modern browsers contain a variety of covert data channels, which can be utilized for intentional data transfers between browser tab or windows. These channels are then shown to function as side channels for extracting signatures of web pages running within browser tab or windows on the same machine. An attack has been developed which utilizes the latter to distinguish web pages based upon their signatures, for both load time signatures and ambient signatures. This attack breaks the strictly enforced separation of browser tab and window contexts, exposing a serious security hole. The attack can be deployed remotely over the internet to unsuspecting victims, as the attack is contained within the limits of JavaScript, only utilizing backend servers for data processing.

A proposal to add call traits to the Standard Library
isocpp.org
25 November 2016

I wrote a proposal for the C++ standards committee for adaptation of library-implemented static reflection on function types.

References

I've had the pleasure of working with Emil for a couple of years at Magenta. Emil is one of the most knowledgeable and efficient people I've ever worked with, and he was often one of my go-to people when having to discuss new technologies or come up with new ideas. The speed at which he picks up new concepts and technologies is inspiring, and coupled with a great sense of humor I would absolutely recommend working with him.

I've had the pleasure of working with Emil for a year at Magenta ApS in the OS2mo development team. Emil is a skilled software architect and developer with a keen sense for details. I have valued his input and sparring highly - it has made me a better software developer. Moreover, Emil is sociable with a great sense of humour. Any team should count themselves lucky to have him included. :)

I have recently had the pleasure of working together with Emil for almost 5 years. Emil is a very thorough and competent developer. He has a very high level of general knowledge within many different areas of the IT world. He is very systematic in his approach and never afraid to explore new and difficult areas. He is excellent at explaining complicated stuff and put it into the right perspective. On top of this, he is very helpful and cooperative and has a great sense of humor.

Emil is a great developer to work with. He has great insight and interest in open source software and is always ready to take on new challenges. Discussions on issues always end in pragmatic solutions that are coded quickly and efficiently. His general knowledge about nerdy things is amazing and combined with his easy going personality makes him a treasured colleague.

Emil is a highly skilled software developer and programmer. I find him an absolute joy to work with and is astoundingly fast in picking up new information and figuring out how to utilise and implement those into whatever he is working on. He is the best software developer I know and I would highly recommend him to anyone looking for a highly skilled person for complex projects.