Compare commits

...

10 Commits

Author SHA1 Message Date
96dddc23d3 add contests 2026-02-24 16:57:16 +01:00
624f9ddeb8 RoboManiac: Madl CV EN - v2026.4 2026-02-24 16:53:29 +01:00
01b07cdc1b version 2026.3: Madl CV EN - v2026.3.pdf 2026-02-18 15:06:30 +01:00
cf0ffe8744 adapt print layout 2026-02-18 11:55:49 +01:00
461bc177f5 updated cv 2026-02-18 11:50:12 +01:00
d92128b747 fix left panel background-repeat so it works for page 2 and so on 2026-02-17 01:02:17 +01:00
29c9b8b194 replace left-panel with background-image 2026-02-17 00:56:14 +01:00
2314b73411 header and footer 2026-02-17 00:50:24 +01:00
9275035efe contact in left panel 2026-02-17 00:17:15 +01:00
cff36e0861 add picture 2026-02-16 23:43:27 +01:00
3 changed files with 338 additions and 24 deletions

BIN
david.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

View File

@@ -1,32 +1,251 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<title>CV</title> <title>CV David Madl</title>
<link rel="stylesheet" href="main.css" /> <link rel="stylesheet" href="main.css" />
</head> </head>
<body> <body>
<div id="left-panel"></div>
<div id="right-panel"> <div id="right-panel">
<div class="left-hang">
<div><img id="david-portrait" src="david.jpg" alt="David Portrait" /></div>
<div>
<h3><span class="t">Contact</span></h3>
<p>
<svg id="ico-home" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path d="M341.8 72.6C329.5 61.2 310.5 61.2 298.3 72.6L74.3 280.6C64.7 289.6 61.5 303.5 66.3 315.7C71.1 327.9 82.8 336 96 336L112 336L112 512C112 547.3 140.7 576 176 576L464 576C499.3 576 528 547.3 528 512L528 336L544 336C557.2 336 569 327.9 573.8 315.7C578.6 303.5 575.4 289.5 565.8 280.6L341.8 72.6zM304 384L336 384C362.5 384 384 405.5 384 432L384 528L256 528L256 432C256 405.5 277.5 384 304 384z"/></svg>Reschgasse 15/16<br/>
<span class="ico-home-spacer"></span>1120 Wien<br/>
<span class="ico-home-spacer"></span>Austria
</p>
<p>
<svg id="ico-phone" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path d="M224.2 89C216.3 70.1 195.7 60.1 176.1 65.4L170.6 66.9C106 84.5 50.8 147.1 66.9 223.3C104 398.3 241.7 536 416.7 573.1C493 589.3 555.5 534 573.1 469.4L574.6 463.9C580 444.2 569.9 423.6 551.1 415.8L453.8 375.3C437.3 368.4 418.2 373.2 406.8 387.1L368.2 434.3C297.9 399.4 241.3 341 208.8 269.3L253 233.3C266.9 222 271.6 202.9 264.8 186.3L224.2 89z"/></svg>+43 677 648 54 483
</p>
<p>
<svg id="ico-email" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path d="M125.4 128C91.5 128 64 155.5 64 189.4C64 190.3 64 191.1 64.1 192L64 192L64 448C64 483.3 92.7 512 128 512L512 512C547.3 512 576 483.3 576 448L576 192L575.9 192C575.9 191.1 576 190.3 576 189.4C576 155.5 548.5 128 514.6 128L125.4 128zM528 256.3L528 448C528 456.8 520.8 464 512 464L128 464C119.2 464 112 456.8 112 448L112 256.3L266.8 373.7C298.2 397.6 341.7 397.6 373.2 373.7L528 256.3zM112 189.4C112 182 118 176 125.4 176L514.6 176C522 176 528 182 528 189.4C528 193.6 526 197.6 522.7 200.1L344.2 335.5C329.9 346.3 310.1 346.3 295.8 335.5L117.3 200.1C114 197.6 112 193.6 112 189.4z"/></svg>david.madl@abanbytes.eu
</p>
<p>
<svg id="ico-github" width="1024" height="1024" viewBox="0 0 1024 1024" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8C0 11.54 2.29 14.53 5.47 15.59C5.87 15.66 6.02 15.42 6.02 15.21C6.02 15.02 6.01 14.39 6.01 13.72C4 14.09 3.48 13.23 3.32 12.78C3.23 12.55 2.84 11.84 2.5 11.65C2.22 11.5 1.82 11.13 2.49 11.12C3.12 11.11 3.57 11.7 3.72 11.94C4.44 13.15 5.59 12.81 6.05 12.6C6.12 12.08 6.33 11.73 6.56 11.53C4.78 11.33 2.92 10.64 2.92 7.58C2.92 6.71 3.23 5.99 3.74 5.43C3.66 5.23 3.38 4.41 3.82 3.31C3.82 3.31 4.49 3.1 6.02 4.13C6.66 3.95 7.34 3.86 8.02 3.86C8.7 3.86 9.38 3.95 10.02 4.13C11.55 3.09 12.22 3.31 12.22 3.31C12.66 4.41 12.38 5.23 12.3 5.43C12.81 5.99 13.12 6.7 13.12 7.58C13.12 10.65 11.25 11.33 9.47 11.53C9.76 11.78 10.01 12.26 10.01 13.01C10.01 14.08 10 14.94 10 15.21C10 15.42 10.15 15.67 10.55 15.59C13.71 14.53 16 11.53 16 8C16 3.58 12.42 0 8 0Z" transform="scale(64)" fill="#1B1F23"/></svg>github.com/cidermole
</p>
</div>
</div>
<h1>David Madl MSc</h1> <h1>David Madl MSc</h1>
<h2>Roles</h2> <h2>Roles</h2>
<!--
<div class="block"> <div class="block">
<p>Hello world: Lorem ipsum dolor sit amet, consecteur amet elit, even more text, and even even more text that is overfilling the page with stuff that nobody needs except for the people who make a layout</p> <h3><span class="t">Performance Engineer, ITERGO / triscon IT-Services GmbH</span> <span></span class="d">(2023&NoBreak;&ndash;&NoBreak;2025)</span></h3>
<p>Conducted performance testing in a dozen different projects. Troubleshooted acute performance and stability issues in production. Prevented 18 performance incidents.</p>
</div> </div>
-->
<div class="block"> <div class="block">
<div class="left-hang"> <h3><span class="t">Software Architect, BMSGPK / Qualysoft GmbH</span> <span></span class="d">(2022)</span></h3>
asdf <p>Design and development of a prototype disease management software in C#. Responsible for requirements, software architecture, and agile development. Sped up search by 1000x.</p>
</div> </div>
<h3><span class="t">Performance Engineer, triscon IT-Services GmbH</span> <span></span class="d">(2023&NoBreak;&ndash;&NoBreak;2025)</span></h3> <div class="block">
<p>Hello world: Lorem ipsum dolor sit amet, consecteur amet elit, even more text, and even even more text that is overfilling the page with stuff that nobody needs except for the people who make a layout</p> <h3><span class="t">DevOps Expert, Direktorat Jenderal Pajak / Qualysoft GmbH</span> <span></span class="d">(2021&NoBreak;&ndash;&NoBreak;2022)</span></h3>
<p>Designed Helm/Kubernetes configuration and staged deployment for the national tax management system. Conducted interviews for Software Architect and Performance Engineer positions.</p>
</div> </div>
<div class="block"> <div class="block">
<div class="left-hang"> <div class="left-hang">
asdf <h3><span class="t">Technologies</span></h3>
</div> </div>
<h3><span class="t">Performance Engineer, triscon IT-Services GmbH</span> <span></span class="d">(2023&NoBreak;&ndash;&NoBreak;2025)</span></h3> <h3><span class="t">DevOps Consultant, GESIG GmbH</span> <span></span class="d">(2021)</span></h3>
<p>Hello world: Lorem ipsum dolor sit amet, consecteur amet elit, even more text, and even even more text that is overfilling the page with stuff that nobody needs except for the people who make a layout</p>
<div class="left-hang">
C++, Makefile, Jenkins
</div>
<p>Introduced CI/CD to a legacy codebase for traffic control.</p>
</div>
<div class="block">
<h3><span class="t">Technical Consultant, Digit-2-go Kft</span> <span></span class="d">(2020)</span></h3>
<div class="left-hang">
MagicLeap One, CCD sensors
</div>
<p>Conducted requirements engineering and feasibility analysis of mm-accurate indoor localization for a VR augmented welding plan for steel portal constructions.</p>
</div>
<div class="block">
<h3><span class="t">DevOps Expert, Liebherr, Palfinger, Porsche Bank, A1, Admiral / Qualysoft GmbH</span> <span></span class="d">(2019&NoBreak;&ndash;&NoBreak;2020)</span></h3>
<p>Standardized continuous delivery of software in 14+ projects.</p>
</div>
<div class="block">
<h3><span class="t">Technical Consultant, Laqa GmbH</span> <span></span class="d">(2018)</span></h3>
<div class="left-hang">
Arduino, GSM modules, load cells, undisclosed energy harvesting tech
</div>
<p>Evaluated technical feasibility of a smart drinking glass. Prototyped detail solutions for energy harvesting, weighing, and mobile communications.</p>
</div>
<div class="block">
<h3><span class="t">Co-founder, HeartShield Ltd</span> <span></span class="d">(2016&NoBreak;&ndash;&NoBreak;2018)</span></h3>
<div class="left-hang">
<p>Python, Jupyter Notebook, matplotlib, numpy, scipy, scikit-learn</p>
<p>Android, C++, gnuradio</p>
</div>
<p>
Created an Android app to collect biosignals (PPG, ECG, BCG, SCG) and estimate heart disease risk.
<!--Implemented <em>signal quality estimates</em> and <em>event detection</em> from literature.-->
Published arrhythmia detection, see "Publications".
Validated use-cases at exhibitions and insurers. Some modules I implemented:
</p>
<ul>
<li>FIR filtering to remove noise and baseline wander</li>
<li>Realtime auto-correlation for live BPM detection</li>
<li>Event detection of heartbeats [1, 2]</li>
<li>Signal quality estimation and marking noisy sections</li>
<li>Alignment of signals with different time basis and clock drift</li>
<li>Reverse engineering of Kardia ECG encoding [3]</li>
</ul>
<!--
<ul>
<li>Designed and implemented an Android app to collect biosignals in a hospital.</li>
<li>Designed and implemented an Android app for heart disease risk screening.</li>
<li>Validated use-cases for B2C, including dozens of individual tests at several exhibitions.</li>
<li>Validated use-cases for B2B, including discussions with several insurance companies.</li>
<li>Reverse engineered Kardia ECG encoding.</li>
</ul>
-->
</div>
<div class="section-spacer" style="height: 8pt; clear: both;"></div>
<div class="block">
<h3><span class="t">Research Associate, The University of Edinburgh</span> <span></span class="d">(2015&NoBreak;&ndash;&NoBreak;2016)</span></h3>
<div class="left-hang">
C++, Python, matplotlib, GNU Parallel, awk, sed, LaTeX
</div>
<p>Implemented domain adaptation and optimized runtime performance in a machine translation software. See "Publications".</p>
<div class="left-hang">
mosesdecoder
</div>
<p>Implemented a mixture model as the language model to improve translation quality above that of Google Translate when used in a domain-specific scenario.</p>
<p>Sped up the translation model in an online-learning scenario by changing the data structure for the underlying suffix array, reaching an overall speedup of 3x.</p>
</div>
<div class="block">
<h3><span class="t">Software Developer and Tester, Catalysts GmbH</span> <span></span class="d">(2010&NoBreak;&ndash;&NoBreak;2014)</span></h3>
<div class="left-hang">
C++, Java, Linux kernel, u-boot
</div>
<ul>
<li>Implemented SEO for a webapp for an online marketplace</li>
<li>Ported routines for processing satellite data</li>
<li>Organized tasks and infrastructure for a coding contest</li>
<li>Adapted bootloader and kernel of an embedded router for 4-byte flash memory</li>
</ul>
</div>
<div class="section-spacer" style="height: 8pt; clear: both;"></div>
<div class="block">
<h3><span class="t">Working Student, Zelisko GmbH</span> <span></span class="d">(2008&NoBreak;&ndash;&NoBreak;2010)</span></h3>
<div class="left-hang">
EAGLE, C++
</div>
<p>Designed a test device for connecting to and testing ticket printer hardware for buses, including circuit design, layouting, mechanical design and industrialisation.</p>
</div>
<div class="section-spacer" style="height: 24pt;"></div>
<!--<h2>References</h2>-->
<div class="block references">
<hr/>
<ol>
<li>Brüser, C., Winter, S., & Leonhardt, S. (2013, May). How speech processing can help with beat-to-beat heart rate estimation in ballistocardiograms. In 2013 IEEE International Symposium on Medical Measurements and Applications (MeMeA) (pp. 12-16). IEEE.</li>
<li>Zong, W., Heldt, T., Moody, G. B., & Mark, R. G. (2003, September). An open-source algorithm to detect onset of arterial blood pressure pulses. In Computers in Cardiology, 2003 (pp. 259-262). IEEE.</li>
<li><a href="https://github.com/cidermole/hsh-signal">https://github.com/cidermole/hsh-signal</a></li>
</ol>
</div>
<div class="block">
<h2>Education</h2><!-- deliberately here, forces h2 on new page -->
<h3><span class="t">MSc Informatics, The University of Edinburgh</span> <span></span class="d">(2014&NoBreak;&ndash;&NoBreak;2015)</span></h3>
<p><em>Specialism: Learning from Data</em></p>
<div class="left-hang">
C++, Python, nltk, matplotlib, LaTeX
</div>
<p>Master thesis: "Handling out-of-vocabulary words in a domain adaptation setting in statistical machine translation"</p>
<p>Out-of-domain MT is sensitive to the alignment of rare words. 27 % of untranslated words in the output could be found in training data, but were too rare for the word alignment algorithm to extract.</p>
</div>
<div class="block">
<h3><span class="t">BSc Electrical Engineering, TU Wien</span> <span></span class="d">(2010&NoBreak;&ndash;&NoBreak;2014)</span></h3>
<div class="left-hang">
<p>C++, LaTeX</p>
<p>Matlab</p>
</div>
<p>Bachelor thesis: "Interfacing of the PARDISO Sparse Linear Solver for Schrödinger-Poisson simulation"</p>
<p>10-25 % overall speedup of simulations through refactoring the C++ codebase to introduce a representation of sparse matrices and interfacing a sparse solver package.</p>
</div>
<div class="block">
<h3><span class="t">IT and Organisation, HTBLVA Spengerg. 20, Wien</span> <span></span class="d">(2005&NoBreak;&ndash;&NoBreak;2010)</span></h3>
<div class="left-hang">
C++, Java
</div>
<p><em>Specialism: Commercial IT</em><br/>
Diploma project: "Distributed server monitoring"<br/>
Higher Institute of Technology (HTBLVA für EDV)<br/>
1st, 2nd places at Austrian Olympiad in Informatics 2009 and 2010.</p>
</div>
<div class="section-spacer"></div>
<h2>Publications</h2>
<div class="left-hang">
<div class="block">
<h3><span class="t">Languages</span></h3>
<ul>
<li>Hungarian: C2</li>
<li>German: C2</li>
<li>English: C2</li>
<li>Spanish: B1</li>
</ul>
</div>
<div class="section-spacer" style="height: 24pt;"></div>
<div class="block">
<h3><span class="t">Hobbies</span></h3>
<ul>
<li>Tango Argentino</li>
<li>Bouldering</li>
<li>Chess</li>
<li>HAM radio (OE3DAW)</li>
</ul>
</div>
</div>
<div class="block">
<h3><span class="t">MMT: New open source MT for the translation industry</span></h3>
<p>Bertoldi, N., Cattoni, R., Cettolo, M., Farajian, M. A., Federico, M., Caroselli, D., ... & Madl, D. (2017). The 20th Annual Conference of the European Association for Machine Translation (EAMT), 2017.</p>
</div>
<div class="block">
<h3><span class="t">Smartphone-based paroxysmal atrial fibrillation monitoring with robust generalization</span></h3>
<p>Madl, T., & Madl, D. (2017). 31st Conference on Neural Information Processing Systems (NeurIPS ML4H 2017).</p>
</div>
<div class="block">
<h3><span class="t">Automatisiertes Verfahren zur Dokumentation eines Verstoßes gegen die Straßenverordnung "Einfahrt verboten"</span></h3>
<p>(Automatic method for documenting offences against the traffic regulation "No entry"). Madl, F., Madl. T, & Madl, D. (2014). Austrian utility patent: GM 8061/2013.</p>
</div>
<h2>Organizer</h2>
<div class="section-spacer" style="height: 24pt;"></div>
<h3><span class="t">Organized at ...</span></h3>
<div class="block">
<ul>
<li>Edinburgh International Tango Festival 2015: Reception</li>
<li>OHM2013 (Observe. Hack. Make): Technical helpdesk</li>
<li>Catalysts Coding Contest 2012: Tasks and infrastructure</li>
<li>Vienna Children's University 2012: Prepared and held the workshop: "Let's build an electric generator!"</li>
<li>European Men's Handball Championship 2010: Responsibility for IT infrastructure</li>
</ul>
</div>
<h2>Participant</h2>
<div class="section-spacer" style="height: 24pt;"></div>
<h3><span class="t">Participated in ...</span></h3>
<div class="block">
<ul>
<li>HiPEAC 2026: High Performance and Embedded Architecture and Compilation</li>
<li>Warsaw Tango Wave 2024</li>
<li>Challenge24 Electronic Contest 2012 and 2014</li>
<li>European Forum Alpbach 2013: "Experiences and Values"</li>
<li>OHM2013 (Observe. Hack. Make)</li>
<li>BEST Summer Course 2013: "Game ON: From Theory to Practice!" (game theory)</li>
<li>European Forum Alpbach 2012: "Expectations - The Future of the Young"</li>
<li>ISES International Summer University 2012: "Reinventing the Future: Responses and Alternatives to the Crisis"</li>
<li>Chaos Communication Camp 2011</li>
<li>Catalysts Coding Contest 2010 and 2011</li>
<li>International Olympiad in Informatics 2010</li>
<li>Austrian Olympiad in Informatics 2010: <em>2nd place</em></li>
<li>International Olympiad in Informatics 2009</li>
<li>Austrian Olympiad in Informatics 2009: <em>1st place</em></li>
</ul>
</div> </div>
</div> </div>
</body> </body>

117
main.css
View File

@@ -3,6 +3,54 @@
margin: 0; margin: 0;
} }
@media print {
@page {
margin: 2cm 0cm;
@top-left {
font-size: 10pt;
background-image: linear-gradient(to right, rgb(185,205,229), rgb(185,205,229));
background-size: 6.7cm 2cm;
background-position: top left;
background-repeat: no-repeat;
padding-left: 7.7cm;
padding-right: 1cm;
text-align: center;
}
@bottom-left {
font-size: 10pt;
background-image: linear-gradient(to right, rgb(185,205,229), rgb(185,205,229));
background-size: 6.7cm 2cm;
background-position: top left;
background-repeat: no-repeat;
padding-left: 7.7cm;
padding-right: 1cm;
text-align: center;
}
@top-left {
content: "";
}
@bottom-left {
content: "CV David Madl - " counter(page) "/" counter(pages);
}
}
}
body {
background-image: linear-gradient(to right, rgb(185,205,229), rgb(185,205,229));
background-size: 6.7cm 100%;
background-position: top left;
background-repeat: repeat-y;
}
ul, ol {
margin-left: 14pt;
}
div.references ol li, div.references ol li a {
font-size: 8pt;
}
* { * {
margin: 0; margin: 0;
padding: 0; padding: 0;
@@ -15,22 +63,26 @@
print-color-adjust: exact !important; /* Firefox 97+, Safari 15.4+ */ print-color-adjust: exact !important; /* Firefox 97+, Safari 15.4+ */
} }
#left-panel {
float: left;
width: 6.7cm;
height: 29.7cm;
background: rgb(185,205,229);
}
#right-panel { #right-panel {
margin-left: 6.7cm; margin-left: 6.7cm;
padding: 2.5cm 1cm; padding: 2cm 1cm;
}
@media print {
#left-panel {
height: 24.7cm;
}
#right-panel {
padding: 0cm 1cm;
}
} }
/* CV heading */ /* CV heading */
h1 { h1 {
font-size: 18pt; font-size: 18pt;
font-weight: 500; font-weight: 500;
padding-bottom: 8pt;
margin-bottom: 32pt;
} }
/* Section heading */ /* Section heading */
@@ -48,9 +100,14 @@ h2 {
text-align: right; text-align: right;
margin-right: -1cm; margin-right: -1cm;
margin-top: 0pt; /* like -h2.padding-top + div.block.padding-top, to align text baseline with panel content */ margin-top: 0pt; /* like -h2.padding-top + div.block.padding-top, to align text baseline with panel content */
margin-left: 8pt;
font-size: 13pt; font-size: 13pt;
} }
div.section-spacer {
height: 16pt;
}
/* Block heading */ /* Block heading */
h3 { h3 {
font-weight: normal; font-weight: normal;
@@ -63,14 +120,52 @@ h3 span.t {
} }
div.block { div.block {
padding: 8pt 0; padding: 0 0 8pt 0;
break-inside: avoid;
}
div.block p {
padding-bottom: 8pt;
}
div.left-hang p {
padding-bottom: 8pt;
} }
div.block p { div.block p {
line-height: 1.4; line-height: 1.4;
} }
div.block div.left-hang { div.left-hang {
float: left; float: left;
margin-left: -7.2cm; /* -(#left-panel.width - #right-panel.padding-left + target-margin-left) */ margin-left: -7.0cm; /* -(#left-panel.width - #right-panel.padding-left + target-margin-left) */
width: 5.4cm;
}
img#david-portrait {
width: 5.1cm; /* #left-panel.width - 2 * padding [0.8cm] */
border-radius: 50%;
margin-bottom: 0.8cm;
}
#ico-home, #ico-phone, #ico-email {
width: 1.2em;
height: 1.2em;
position: relative;
top: 0.2em;
margin: -0.1em 0.2em -0.1em -0.12em;
}
span.ico-home-spacer {
display: inline-block;
width: 1.2em;
margin-left: 0.1em;
height: 1em;
}
#ico-github {
width: 1em;
height: 1em;
position: relative;
top: 0.2em;
margin-right: 0.3em;
} }