Compare commits

...

17 Commits

Author SHA1 Message Date
6b78a657e0 fix typos 2025-09-19 08:50:33 -05:00
0a26adb4c2 add talks pricing 2025-09-18 18:27:15 -05:00
fd4d9025ae end of an era 2025-09-01 09:44:13 -06:00
c7bd8a6bb6 update plausible url 2025-08-26 17:41:36 -06:00
f473ee8ec9 update gdpr notice 2025-08-26 12:52:59 -06:00
95bb73baf4 add plausible 2025-08-26 12:39:29 -06:00
ab1c2172d5 adjusted rates 2025-07-29 14:14:38 +02:00
0df333baea add talks page 2025-07-29 10:37:39 +02:00
5e115ad07d resume->cv 2025-04-03 14:08:52 +02:00
83788f84aa updated website 2025-04-03 11:29:29 +02:00
174785b5d6 update what i’m doing 2025-04-03 10:30:34 +02:00
c6130f2be8 update address 2023-10-31 14:17:26 +01:00
fa71624519 update address 2023-02-28 19:36:27 +01:00
1428608733 update the ol' index page 2022-08-31 23:10:38 +02:00
455d871f1b add note about gt 2021-11-19 16:26:17 -06:00
5142358bfd good to meet you 2021-05-02 15:08:18 +02:00
c883f55cc5 update address 2020-09-28 12:28:17 +02:00
4 changed files with 285 additions and 24 deletions

View File

@@ -53,21 +53,38 @@
helps you find out what this website stores and knows about you. helps you find out what this website stores and knows about you.
</p> </p>
<p> <p>
This website does not store any personally identifiable information This website does not store any personally identifiable information.
except for the requesting partys IP address and user agent, which is It collects the requesting partys IP address and user agent from the
necessary for the basic functionality of the web server. This information HTTP request, but does not store them.
will be stored for seven days to be able to detect and respond to
malicious activities.
</p> </p>
<h2 id="analytics">Web analytics (Plausible)</h2>
<p>
This site uses <a href="https://plausible.io">Plausible Analytics</a>. Plausible works without cookies
and without cross-site tracking. No personal data is stored.
</p>
<ul>
<li><strong>Per pageview captured:</strong> page URL (without query params except common campaign tags),
referrer, and derived browser/OS/device type; city-level location is inferred from the IP.</li>
<li><strong>No raw identifiers stored:</strong> Plausible does not store IP addresses or full user-agents.
For daily unique counts it uses a hash of a rotating salt + domain + IP + UA; the salt is deleted
every 24 hours.</li>
<li><strong>Legal basis:</strong> Art. 6(1)(f) GDPR (legitimate interest) in lightweight, privacy-preserving
reach measurement and site improvement.</li>
<li><strong>Processor & hosting:</strong> Plausible Insights OÜ (Estonia, EU). Data are processed and stored
in the EU on servers in Germany (Hetzner). No transfers outside the EU.</li>
<li><strong>Retention:</strong> Only aggregated statistics are kept for as long as the site is active.
You can contact me if you have questions regarding this processing.</li>
<li><strong>Public stats:</strong> For transparency, I made the statistics publicly available <a href="https://plausible.io/veitheller.de">here</a>.</li>
</ul>
<p>For any questions or concerns contact:<br/> <p>For any questions or concerns contact:<br/>
Veit Heller<br/> Veit Heller<br/>
Spreestr. 26<br/> Moltkestr. 5<br/>
12439 Berlin<br/> 90154 Erlangen<br/>
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/> <hr/>
<a href="mailto:veit@veitheller.de">Shoot me a mail</a><br/> <a href="mailto:veit@veitheller.de">Shoot me an e-mail</a><br/>
<a href="./">Head back home</a> <a href="./">Head back home</a>
</div> </div>
</body> </body>

View File

@@ -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;
@@ -49,8 +50,8 @@
<div class="main"> <div class="main">
<h1>Imprint</h1> <h1>Imprint</h1>
<p>Veit Heller<br/> <p>Veit Heller<br/>
Spreestr. 26<br/> Moltkestr. 5<br/>
12439 Berlin<br/> 90154 Erlangen<br/>
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>

View File

@@ -6,12 +6,14 @@
<meta name="author" content="Veit Heller"> <meta name="author" content="Veit Heller">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" href="data:;base64,iVBORw0KGgo="> <link rel="icon" href="data:;base64,iVBORw0KGgo=">
<script defer data-domain="veitheller.de" src="https://plausible.io/js/script.tagged-events.outbound-links.js"></script>
<style> <style>
@font-face { @font-face {
font-family: 'charterregular'; font-family: 'charterregular';
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;
@@ -28,7 +30,7 @@
background-color: #fafaf3; background-color: #fafaf3;
} }
.main { .main {
max-width: 600px; max-width: 750px;
padding: 2em; padding: 2em;
margin: auto; margin: auto;
padding-top: 1em; padding-top: 1em;
@@ -114,11 +116,13 @@
<li><a href="mailto:veit@veitheller.de">Email</a></li> <li><a href="mailto:veit@veitheller.de">Email</a></li>
<li><a href="https://github.com/hellerve">Github</a></li> <li><a href="https://github.com/hellerve">Github</a></li>
<li><a href="https://blog.veitheller.de">Blog</a></li> <li><a href="https://blog.veitheller.de">Blog</a></li>
<li><a href="https://veitheller.de/talks.html">Talks & Publications</a></li>
<li><a href="https://veitheller.de/static/resume.pdf">CV</a></li>
<li><a href="./imprint.html">Imprint</a></li> <li><a href="./imprint.html">Imprint</a></li>
<li><a href="./gdpr_notice.html">GDPR Notice</a></li> <li><a href="./gdpr_notice.html">GDPR Notice</a></li>
</ul> </ul>
<p> <p>
Nice to meet you! Im Veit, a programmer from Berlin and a technologist Nice to meet you! Im Veit, a programmer from Erlangen and a technologist
at large. at large.
</p> </p>
<div class="definition"> <div class="definition">
@@ -143,21 +147,26 @@
<details id="current"> <details id="current">
<summary>What I am doing right now</summary> <summary>What I am doing right now</summary>
<p> <p>
Im currently in Berlin, Germany, thinking about tooling in static Im currently in Erlangen, Germany, trying to understand how to take
languages (specifically care of new, tiny human beings, one of them in Kindergarten, and one
<a href="//github.com/carp-lang/carp">Carp</a>), and prototyping of them learning to stand. Its more challenging than any of my other
ideas around that. projects.
</p> </p>
<p> <p>
You can take a look at <a href="https://veitheller.de/git/carpentry/pond"> Im also working on security for
an early-stage prototype</a>. <a href="https://www.civitasconnect.digital/">Civitas Connect</a> and
their new version of
<a href="https://www.civitasconnect.digital/civitas-core/">CIVITAS/CORE</a>
as well as help automate networks and help build LLM systems and do the
occasional due diligence project. Its a lot all at once, but I wouldnt
have it any other way.
</p> </p>
</details> </details>
<details id="services"> <details id="services">
<summary>What I can do for you</summary> <summary>What I can do for you</summary>
<p> <p>
I am available for consulting work. Here are a few examples of I am occasionally available for consulting work. Here are a few
work I could do for you: examples of work I could do for you:
</p> </p>
<ul> <ul>
<li> <li>
@@ -205,10 +214,10 @@
<ul> <ul>
<li> <li>
If your product is a closed source, proprietary solution, I charge If your product is a closed source, proprietary solution, I charge
1,000€ per day. 1,400€ per day.
</li> </li>
<li> <li>
If your product is open source, I charge 800€ per day, 100€ of which If your product is open source, I charge 1,120€ per day, 100€ of which
will be donated to a charitable organization of my choice. If you want will be donated to a charitable organization of my choice. If you want
to know which organizations I support and why, check out to know which organizations I support and why, check out
<a href="https://blog.veitheller.de/Giving_to_Charities.html">my <a href="https://blog.veitheller.de/Giving_to_Charities.html">my
@@ -218,9 +227,33 @@
<p> <p>
My workday has eight hours and I charge by the hour. My workday has eight hours and I charge by the hour.
</p> </p>
<h4>Talks & Workshops</h4>
<p>I enjoy <a href="/talks.html">giving talks</a> and workshops.</p>
<p>Workshop topics I can cover include:</p>
<ul>
<li><a href="https://blog.veitheller.de/Threat_Modeling_For_the_Rest_of_Us.html">Threat modelling</a></li>
<li>ISMS and <a href="https://blog.veitheller.de/Simple_SSDLCs.html">SSDLC</a></li>
<li><a href="https://blog.veitheller.de/What_good_looks_like_in_a_data_room.html">Funding and buyer readiness</a></li>
<li>DX and tooling</li>
</ul>
<p>My rates are as follows:</p>
<ul>
<li>Community events: travel-only (free if remote)</li>
<li>Corporate talks (4560 min): 1,900€2,400€</li>
<li>Corporate talks (7590 min): 2,400€-2,800€</li>
<li>Half-day workshop (24h): 2,500€3,000€</li>
<li>Full-day workshop (68h): 4,200€4,800€</li>
<li>Prep and post is included</li>
<li>Remote incurs a 20% discount</li>
</ul>
<p>
Custom workshops are available; tell me your teams goals and Ill
tell you if I can help you.
</p>
<p> <p>
If you have any questions about my rates or are unsure whether your If you have any questions about my rates, are unsure whether your
product qualifies as “open source”, product qualifies as “open source”, or want to know more about the
kind of talks and workshops I offer,
<a href="mailto:veit@veitheller.de">contact me</a>! <a href="mailto:veit@veitheller.de">contact me</a>!
</p> </p>
</details> </details>

210
talks.html Normal file
View File

@@ -0,0 +1,210 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Talks & Publications — Veit Heller</title>
<style>
@font-face {
font-family: 'charterregular';
src: url('charter_regular-webfont.woff') format('woff');
font-weight: normal;
font-style: normal;
font-display: swap;
}
html {
box-sizing: border-box;
}
*, *:before, *:after {
box-sizing: inherit;
}
body {
font-family: 'charterregular', Georgia, serif;
font-size: 18px;
width: 100vw;
height: 100vh;
margin: 0;
background-color: #fafaf3;
}
.main {
max-width: 800px;
padding: 2em;
margin: auto;
padding-top: 1em;
}
.main h1 {
font-size: 28px;
font-weight: 400;
}
.main h2 {
font-size: 22px;
font-weight: 400;
margin-top: 2em;
}
.main h3 {
font-size: 18px;
font-weight: 600;
margin-bottom: 0.2em;
}
.main a {
color: #000;
text-decoration: none;
border-bottom: 2px solid #d6dde3;
}
.main p {
margin-top: 0.3em;
margin-bottom: 1.2em;
}
.main em {
color: #444;
}
article {
margin-bottom: 2em;
margin-left: 1em;
}
@media(max-width: 700px) {
.main h1 {
font-size: 20px;
}
}
</style>
</head>
<body>
<main class="main">
<h1>Workshops, Talks, Publications</h1>
<h2>Bookable Talks & Workshops</h2>
<p>Talks &amp; Workshops you can book.</p>
<hr/>
<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>
<ul>
<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>
</ul>
<p><a href="mailto:veit@veitheller.de?subject=threat modelling workshop inquiry">Book this workshop</a></p>
<hr/>
<h3>ISMS & SSDLC that you can work with</h3>
<p>Lets turn “we should do security” into a minimal ISMS and an SSDLC that actually holds up in practice. We map controls to your workflows (code, CI/CD, infra) and prove it with artifacts. <a href="https://blog.veitheller.de/Simple_SSDLCs.html">Read about it here.</a></p>
<ul>
<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>
</ul>
<p><a href="mailto:veit@veitheller.de?subject=isms and ssdlc workshop inquiry">Book this workshop</a></p>
<hr/>
<h3>Funding & buyer readiness</h3>
<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>
<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>
</ul>
<p><a href="mailto:veit@veitheller.de?subject=funding and buyer readiness workshop inquiry">Book this workshop</a></p>
<hr/>
<p>Custom workshops are available; tell me your teams goals and Ill tell you if I can help you.</p>
<h2>Selected Talks & Publications</h2>
<p>I speak and write about systems of all shapes and sizes. Here are some of the works Im happy with.</p>
<section>
<h2>Talks</h2>
<article>
<h3>gt4llm Software Development with LLMs in Glamorous Toolkit</h3>
<p><em>European Smalltalk User Group, 2024</em><br>
An overview of LLM integration into Glamorous Toolkit, with a focus on reproducibility and development workflows.</p>
<p><a href="https://www.youtube.com/watch?v=ukgsng9bIVw">Watch →</a></p>
</article>
<article>
<h3>gt4python Working with Python inside Glamorous Toolkit</h3>
<p><em>European Smalltalk User Group, 2024</em><br>
A talk on Python inside Glamorous Toolkit.</p>
<p><a href="https://www.youtube.com/watch?v=Lvtgk4w9zo4">Watch →</a></p>
</article>
<article>
<h3>gt4atproto A Programmable Environment for Social Media</h3>
<p><em>European Smalltalk User Group, 2023</em><br>
A demonstration of working with the AT Protocol inside Glamorous Toolkit, emphasizing customization and tooling.</p>
<p><a href="https://www.youtube.com/watch?v=azSz7fkY7jU">Watch →</a></p>
</article>
<article>
<h3>Implementing an IDE in GT</h3>
<p><em>European Smalltalk User Group, 2022</em><br>
A talk on building an IDE for Carp inside Glamorous Toolkit.</p>
<p><a href="https://www.youtube.com/watch?v=G-0Vic9fQU0">Watch →</a></p>
</article>
<article>
<h3>Brainfuck, Carp, Macros, and Futamura Projections</h3>
<p><em>LambdaLounge, 2021</em><br>
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>
</article>
<article>
<h3>All I Have is a Hammer, Now Give Me All Your Nails!</h3>
<p><em>EnthusiastiCon, 2020</em><br>
A short talk on abstractions as axioms.</p>
<p><a href="https://www.youtube.com/live/EkbcI3KgUuY?feature=shared&t=8360">Watch →</a></p>
</article>
<article>
<h3>Programming Languages and Trust</h3>
<p><em>Datengarten 96</em><br>
On compilers, interpreters, and safety.</p>
<p><a href="https://media.ccc.de/v/dg-96">Watch →</a></p>
</article>
<article>
<h3>Automate Yourself Within Six Months</h3>
<p><em>DeNOG, 2019 (w/ Christian Dieckhoff)</em><br>
A retrospective on automating an ISPs network infrastructure.</p>
<p><a href="https://media.ccc.de/v/denog11-26-automate-yourself-within-six-months">Watch →</a></p>
</article>
<article>
<h3>Abstractions! How Do I Even?</h3>
<p><em>EnthusiastiCon, 2019</em><br>
A short reflection on abstractions and philosophy.</p>
<p><a href="https://www.youtube.com/watch?v=71FQXcC6RL8">Watch →</a></p>
</article>
<article>
<h3>Carp—A Language for the 21st Century</h3>
<p><em>clojuTRE, 2018</em><br>
An introduction to Carp.</p>
<p><a href="https://www.youtube.com/watch?v=BQeG6fXMk28">Watch →</a></p>
</article>
</section>
<section>
<h2>Publications</h2>
<article>
<h3>Efficient Module-Level Dynamic Analysis for Dynamic Languages with Module Recontextualization</h3>
<p><em>ESEC/FSE 2021 — Distinguished Paper Award</em><br>
Describes a method for performing dynamic analysis at the module level to enable module-level execution security. I only worked on the Racket implementation, not the JavaScript part.</p>
<p><a href="https://dl.acm.org/doi/10.1145/3468264.3468574">Read →</a></p>
</article>
<article>
<h3>Eventually Consistent Partying</h3>
<p><em>SIGBOVIK, 2019</em><br>
This one might be a joke.</p>
<p><a href="https://sigbovik.org/2019/proceedings.pdf">Read →</a></p>
</article>
</section>
</main>
</body>
</html>