quiet redesign yo

This commit is contained in:
2026-05-01 15:29:05 +02:00
parent 9832565fbb
commit 3c1dfde620
4 changed files with 123 additions and 49 deletions
+19 -5
View File
@@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html lang="en">
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="description" content="GDPR Notice | Veit Heller—Technologist at Large"> <meta name="description" content="GDPR Notice | Veit Heller—Technologist at Large">
@@ -12,6 +12,7 @@
src: url('charter_regular-webfont.woff') format('woff'); src: url('charter_regular-webfont.woff') format('woff');
font-weight: normal; font-weight: normal;
font-style: normal; font-style: normal;
font-display: swap;
} }
html { html {
box-sizing: border-box; box-sizing: border-box;
@@ -25,7 +26,7 @@
width: 100vw; width: 100vw;
height: 100vh; height: 100vh;
margin: 0; margin: 0;
background-color: #fafaf3; background-color: #fafaf7;
} }
.main { .main {
max-width: 600px; max-width: 600px;
@@ -37,16 +38,31 @@
font-size: 28px; font-size: 28px;
font-weight: 400; font-weight: 400;
} }
.main h2 {
font-size: 22px;
font-weight: 400;
margin-top: 2em;
}
.main a { .main a {
color: #000; color: #000;
text-decoration: none; text-decoration: none;
border-bottom: 2px solid #d6dde3; border-bottom: 2px solid #d6dde3;
} }
.site-link {
font-size: 16px;
color: #444;
margin-bottom: 0.5em;
}
.site-link a {
border-bottom: none;
color: #444;
}
</style> </style>
<title>GDPR Notice | Veit Heller—Technologist at Large</title> <title>GDPR Notice | Veit Heller—Technologist at Large</title>
</head> </head>
<body> <body>
<div class="main"> <div class="main">
<p class="site-link"><a href="/">← Veit Heller</a></p>
<h1>GDPR Notice</h1> <h1>GDPR Notice</h1>
<p> <p>
This is the personal website of Veit Heller. I will provide a notice that This is the personal website of Veit Heller. I will provide a notice that
@@ -83,9 +99,7 @@
Germany Germany
</p> </p>
<p>Don't know what this is? This is a necessity dictated by European law.</p> <p>Don't know what this is? This is a necessity dictated by European law.</p>
<hr/> <p>See also: <a href="./imprint.html">Imprint</a></p>
<a href="mailto:veit@veitheller.de">Shoot me an e-mail</a><br/>
<a href="./">Head back home</a>
</div> </div>
</body> </body>
</html> </html>
+12 -4
View File
@@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html lang="en">
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="description" content="Imprint | Veit Heller—Technologist at Large"> <meta name="description" content="Imprint | Veit Heller—Technologist at Large">
@@ -43,11 +43,21 @@
text-decoration: none; text-decoration: none;
border-bottom: 2px solid #d6dde3; border-bottom: 2px solid #d6dde3;
} }
.site-link {
font-size: 16px;
color: #444;
margin-bottom: 0.5em;
}
.site-link a {
border-bottom: none;
color: #444;
}
</style> </style>
<title>Imprint | Veit Heller—Technologist at Large</title> <title>Imprint | Veit Heller—Technologist at Large</title>
</head> </head>
<body> <body>
<div class="main"> <div class="main">
<p class="site-link"><a href="/">← Veit Heller</a></p>
<h1>Imprint</h1> <h1>Imprint</h1>
<p>Veit Heller<br/> <p>Veit Heller<br/>
Moltkestr. 5<br/> Moltkestr. 5<br/>
@@ -55,9 +65,7 @@
Germany Germany
</p> </p>
<p>Don't know what this is? This is a necessity dictated by German law.</p> <p>Don't know what this is? This is a necessity dictated by German law.</p>
<hr/> <p>See also: <a href="./gdpr_notice.html">GDPR Notice</a></p>
<a href="mailto:veit@veitheller.de">Shoot me an e-mail</a><br/>
<a href="./">Head back home</a>
</div> </div>
</body> </body>
</html> </html>
+1 -4
View File
@@ -135,9 +135,6 @@
.broken-up { .broken-up {
display: block; display: block;
} }
.broken-up li {
list-style: circle;
}
.main h1 { .main h1 {
font-size: 20px; font-size: 20px;
} }
@@ -291,7 +288,7 @@
<ul> <ul>
<li>Community events: travel-only (free if remote)</li> <li>Community events: travel-only (free if remote)</li>
<li>Corporate talks (4560 min): 1,900€–2,400€</li> <li>Corporate talks (4560 min): 1,900€–2,400€</li>
<li>Corporate talks (7590 min): 2,400€-2,800€</li> <li>Corporate talks (7590 min): 2,400€2,800€</li>
<li>Half-day workshop (24h): 2,500€–3,000€</li> <li>Half-day workshop (24h): 2,500€–3,000€</li>
<li>Full-day workshop (68h): 4,200€–4,800€</li> <li>Full-day workshop (68h): 4,200€–4,800€</li>
<li>Prep and post is included</li> <li>Prep and post is included</li>
+71 -16
View File
@@ -35,7 +35,6 @@
font-family: 'charterregular', Georgia, serif; font-family: 'charterregular', Georgia, serif;
font-size: 18px; font-size: 18px;
width: 100vw; width: 100vw;
height: 100vh;
margin: 0; margin: 0;
background-color: #fafaf7; background-color: #fafaf7;
} }
@@ -118,6 +117,25 @@
color: #000; color: #000;
border-bottom-color: #000; border-bottom-color: #000;
} }
.site-link {
font-size: 16px;
color: #444;
margin-bottom: 0.5em;
}
.site-link a {
border-bottom: none;
color: #444;
}
.legal {
margin-top: 2.5em;
padding-top: 1em;
border-top: 1px solid #d6dde3;
font-size: 14px;
color: #444;
}
.legal a {
margin-right: 1em;
}
@media(max-width: 700px) { @media(max-width: 700px) {
.main h1 { .main h1 {
font-size: 20px; font-size: 20px;
@@ -127,6 +145,7 @@
</head> </head>
<body> <body>
<main class="main"> <main class="main">
<p class="site-link"><a href="/">← Veit Heller</a></p>
<h1>Workshops, Talks, Publications</h1> <h1>Workshops, Talks, Publications</h1>
<p class="description">I speak and write about systems of all shapes and <p class="description">I speak and write about systems of all shapes and
sizes.</p> sizes.</p>
@@ -135,21 +154,21 @@
<input type="radio" name="tab" id="tab-talks" class="tab-input"> <input type="radio" name="tab" id="tab-talks" class="tab-input">
<input type="radio" name="tab" id="tab-publications" class="tab-input"> <input type="radio" name="tab" id="tab-publications" class="tab-input">
<nav class="tabs"> <nav class="tabs" role="tablist">
<label for="tab-bookable">Bookable</label> <label for="tab-bookable" id="label-bookable" role="tab" aria-controls="bookable" tabindex="0">Bookable</label>
<label for="tab-talks">Talks</label> <label for="tab-talks" id="label-talks" role="tab" aria-controls="talks" tabindex="0">Talks</label>
<label for="tab-publications">Publications</label> <label for="tab-publications" id="label-publications" role="tab" aria-controls="publications" tabindex="0">Publications</label>
</nav> </nav>
<section id="bookable" class="panel"> <section id="bookable" class="panel" role="tabpanel" aria-labelledby="label-bookable">
<h3>Practical threat modelling for engineering teams</h3> <h3>Practical threat modelling for engineering teams</h3>
<p>Lightweight, repeatable threat modelling you can actually run in sprint cadence. We cut jargon, pick a fit-for-purpose method, and get to work quickly. <a href="https://blog.veitheller.de/Threat_Modeling_For_the_Rest_of_Us.html">Read about it here.</a></p> <p>Lightweight, repeatable threat modelling you can actually run in sprint cadence. We cut jargon, pick a fit-for-purpose method, and get to work quickly. <a href="https://blog.veitheller.de/Threat_Modeling_For_the_Rest_of_Us.html">Read about it here.</a></p>
<ul> <ul>
<li><strong>Takeaways:</strong> initial model (only for workshops), playbook, templates, 30-day plan to make it stick.</li> <li><strong>Takeaways:</strong> initial model (only for workshops), playbook, templates, 30-day plan to make it stick.</li>
<li><strong>Formats:</strong> 4590min talk, ~3h half-day (guided exercise), 68h full-day (hands-on)</li> <li><strong>Formats:</strong> 4590min talk, ~3h half-day, 68h full-day (hands-on)</li>
</ul> </ul>
<p><a href="mailto:veit@veitheller.de?subject=threat modelling workshop inquiry">Book this workshop</a></p> <p><a href="mailto:veit@veitheller.de?subject=Threat modelling workshop inquiry">Book this workshop</a></p>
<div class="rule"></div> <div class="rule"></div>
@@ -159,7 +178,7 @@
<li><strong>Takeaways:</strong> control set, CI/CD hooks for evidence (workshop only), audit-ready checklists.</li> <li><strong>Takeaways:</strong> control set, CI/CD hooks for evidence (workshop only), audit-ready checklists.</li>
<li><strong>Formats:</strong> 4590min talk, ~3h half-day, 68h full-day (hands-on)</li> <li><strong>Formats:</strong> 4590min talk, ~3h half-day, 68h full-day (hands-on)</li>
</ul> </ul>
<p><a href="mailto:veit@veitheller.de?subject=isms and ssdlc workshop inquiry">Book this workshop</a></p> <p><a href="mailto:veit@veitheller.de?subject=ISMS and SSDLC workshop inquiry">Book this workshop</a></p>
<div class="rule"></div> <div class="rule"></div>
@@ -167,9 +186,9 @@
<p>What VCs, acquirers, and enterprise buyers actually check, and how to be ready to answer. Architecture narrative, risk posture, and processes that actually give you something in return. <a href="https://blog.veitheller.de/What_good_looks_like_in_a_data_room.html">Read about it here.</a></p> <p>What VCs, acquirers, and enterprise buyers actually check, and how to be ready to answer. Architecture narrative, risk posture, and processes that actually give you something in return. <a href="https://blog.veitheller.de/What_good_looks_like_in_a_data_room.html">Read about it here.</a></p>
<ul> <ul>
<li><strong>Takeaways:</strong> a DD checklist, a clean architecture one-pager, a 30-day prep plan including process refinements (workshop only).</li> <li><strong>Takeaways:</strong> a DD checklist, a clean architecture one-pager, a 30-day prep plan including process refinements (workshop only).</li>
<li><strong>Formats:</strong> 4590min talk, ~3h workshop, 6-8h full-day (hands on)</li> <li><strong>Formats:</strong> 4590min talk, ~3h half-day, 68h full-day (hands-on)</li>
</ul> </ul>
<p><a href="mailto:veit@veitheller.de?subject=funding and buyer readiness workshop inquiry">Book this workshop</a></p> <p><a href="mailto:veit@veitheller.de?subject=Funding and buyer readiness workshop inquiry">Book this workshop</a></p>
<div class="rule"></div> <div class="rule"></div>
@@ -177,17 +196,17 @@
</section> </section>
<section id="talks" class="panel"> <section id="talks" class="panel" role="tabpanel" aria-labelledby="label-talks">
<article> <article>
<h3><i>Upcoming:</i> Type Systems You Might Not Know (But Will Love)</h3> <h3><i>Upcoming:</i> Type Systems You Might Not Know (But Will Love)</h3>
<p><em>WeAreDevelopers World Congress Europe, 2026</em><br> <p><em>WeAreDevelopers World Congress Europe, 2026</em><br>
<p>A tour through beautiful but lesser-known type systems.</p> A tour through beautiful but lesser-known type systems.</p>
</article> </article>
<article> <article>
<h3>Von der Cloud ins Rack Wie Netzautomatisierung souveräne RZ-Umgebungen ermöglicht</h3> <h3>Von der Cloud ins Rack Wie Netzautomatisierung souveräne RZ-Umgebungen ermöglicht</h3>
<p><em>Rack & Stack 2026</em><br> <p><em>Rack & Stack 2026</em><br>
<p>A German talk on high fidelity network automation to drive the adoption of sovereign data infrastructure.</p> A German talk on high fidelity network automation to drive the adoption of sovereign data infrastructure.</p>
<p><i>Recording pending</i></p> <p><i>Recording pending</i></p>
</article> </article>
@@ -230,7 +249,7 @@
<h3>Brainfuck, Carp, Macros, and Futamura Projections</h3> <h3>Brainfuck, Carp, Macros, and Futamura Projections</h3>
<p><em>LambdaLounge, 2021</em><br> <p><em>LambdaLounge, 2021</em><br>
A technical presentation connecting minimal languages, metaprogramming, and interpreter folding techniques.</p> A technical presentation connecting minimal languages, metaprogramming, and interpreter folding techniques.</p>
<p><a href="https://www.youtube.com/watch?v=G-0Vic9fQU0">Watch →</a></p> <p><a href="https://www.youtube.com/watch?v=wwwa5TG70UA">Watch →</a></p>
</article> </article>
<article> <article>
@@ -269,7 +288,7 @@
</article> </article>
</section> </section>
<section id="publications" class="panel"> <section id="publications" class="panel" role="tabpanel" aria-labelledby="label-publications">
<article> <article>
<h3>Efficient Module-Level Dynamic Analysis for Dynamic Languages with Module Recontextualization</h3> <h3>Efficient Module-Level Dynamic Analysis for Dynamic Languages with Module Recontextualization</h3>
@@ -285,6 +304,42 @@
<p><a href="https://sigbovik.org/2019/proceedings.pdf">Read →</a></p> <p><a href="https://sigbovik.org/2019/proceedings.pdf">Read →</a></p>
</article> </article>
</section> </section>
<footer class="legal">
<a href="./imprint.html">Imprint</a>
<a href="./gdpr_notice.html">GDPR Notice</a>
</footer>
</main> </main>
<script>
(function() {
var tabs = ['bookable', 'talks', 'publications'];
var labels = document.querySelectorAll('nav.tabs label');
function syncAria(active) {
labels.forEach(function(l) {
l.setAttribute('aria-selected', l.getAttribute('for') === 'tab-' + active ? 'true' : 'false');
});
}
var hash = location.hash.substring(1);
if (tabs.indexOf(hash) !== -1) {
var input = document.getElementById('tab-' + hash);
if (input) input.checked = true;
syncAria(hash);
} else {
syncAria('bookable');
}
labels.forEach(function(l) {
l.addEventListener('click', function() {
var name = l.getAttribute('for').replace('tab-', '');
history.replaceState(null, '', '#' + name);
syncAria(name);
});
l.addEventListener('keydown', function(e) {
if (e.key === 'Enter' || e.key === ' ') {
e.preventDefault();
l.click();
}
});
});
})();
</script>
</body> </body>
</html> </html>