Compare commits

...

19 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
11a0121c49 Merge branch 'master' of https://veitheller.de/git/hellerve/at-large into master
* 'master' of https://veitheller.de/git/hellerve/at-large:
  readme: fix link
2020-09-28 12:26:52 +02:00
fdf710dcb6 definition: add consultant, because why not 2020-09-28 12:25:53 +02:00
4 changed files with 287 additions and 25 deletions

View File

@@ -53,21 +53,38 @@
helps you find out what this website stores and knows about you.
</p>
<p>
This website does not store any personally identifiable information
except for the requesting partys IP address and user agent, which is
necessary for the basic functionality of the web server. This information
will be stored for seven days to be able to detect and respond to
malicious activities.
This website does not store any personally identifiable information.
It collects the requesting partys IP address and user agent from the
HTTP request, but does not store them.
</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/>
Veit Heller<br/>
Spreestr. 26<br/>
12439 Berlin<br/>
Moltkestr. 5<br/>
90154 Erlangen<br/>
Germany
</p>
<p>Don't know what this is? This is a necessity dictated by European law.</p>
<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>
</div>
</body>

View File

@@ -12,6 +12,7 @@
src: url('charter_regular-webfont.woff') format('woff');
font-weight: normal;
font-style: normal;
font-display: swap;
}
html {
box-sizing: border-box;
@@ -49,8 +50,8 @@
<div class="main">
<h1>Imprint</h1>
<p>Veit Heller<br/>
Spreestr. 26<br/>
12439 Berlin<br/>
Moltkestr. 5<br/>
90154 Erlangen<br/>
Germany
</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="viewport" content="width=device-width, initial-scale=1.0">
<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>
@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;
@@ -28,7 +30,7 @@
background-color: #fafaf3;
}
.main {
max-width: 600px;
max-width: 750px;
padding: 2em;
margin: auto;
padding-top: 1em;
@@ -114,11 +116,13 @@
<li><a href="mailto:veit@veitheller.de">Email</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://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="./gdpr_notice.html">GDPR Notice</a></li>
</ul>
<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.
</p>
<div class="definition">
@@ -135,28 +139,34 @@
employer.
</p>
<p class="addendum">
See also: <a href="https://www.merriam-webster.com/dictionary/contractor">Contractor</a>,
See also: <a href="https://www.merriam-webster.com/dictionary/consultant">Consultant</a>,
<a href="https://www.merriam-webster.com/dictionary/contractor">Contractor</a>,
<a href="https://www.merriam-webster.com/dictionary/freelancer">Freelancer</a>.
</p>
</div>
<details id="current">
<summary>What I am doing right now</summary>
<p>
Im currently in Berlin, Germany, thinking about tooling in static
languages (specifically
<a href="//github.com/carp-lang/carp">Carp</a>), and prototyping
ideas around that.
Im currently in Erlangen, Germany, trying to understand how to take
care of new, tiny human beings, one of them in Kindergarten, and one
of them learning to stand. Its more challenging than any of my other
projects.
</p>
<p>
You can take a look at <a href="https://veitheller.de/git/carpentry/pond">
an early-stage prototype</a>.
Im also working on security for
<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>
</details>
<details id="services">
<summary>What I can do for you</summary>
<p>
I am available for consulting work. Here are a few examples of
work I could do for you:
I am occasionally available for consulting work. Here are a few
examples of work I could do for you:
</p>
<ul>
<li>
@@ -204,10 +214,10 @@
<ul>
<li>
If your product is a closed source, proprietary solution, I charge
1,000€ per day.
1,400€ per day.
</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
to know which organizations I support and why, check out
<a href="https://blog.veitheller.de/Giving_to_Charities.html">my
@@ -217,9 +227,33 @@
<p>
My workday has eight hours and I charge by the hour.
</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>
If you have any questions about my rates or are unsure whether your
product qualifies as “open source”,
Custom workshops are available; tell me your teams goals and Ill
tell you if I can help you.
</p>
<p>
If you have any questions about my rates, are unsure whether your
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>!
</p>
</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>