pimped the site a little but and fixed impress
This commit is contained in:
1 parent
f543a5e2f3
commit
888fb6289d
14 files changed
+1502
-1162
No files matched your search
+58
-15
@@ -2,7 +2,8 @@
|
||||
"APP": {
|
||||
"TITLE": "Playground",
|
||||
"COPYRIGHT": "Images and code protected by copyright, no use without permission!",
|
||||
"AI_NOTICE": "This page is created with the help of AI."
|
||||
"AI_NOTICE": "Built with an AI-assisted engineering workflow.",
|
||||
"AI_NOTICE_LINK": "How I build with AI"
|
||||
},
|
||||
"TOPBAR": {
|
||||
"ABOUT": "About me",
|
||||
@@ -14,25 +15,37 @@
|
||||
"LANGUAGE": "Language",
|
||||
"APPEARANCE": "Appearance"
|
||||
},
|
||||
"THEME": { "LIGHT": "Light", "DARK": "Dark" },
|
||||
"LANG": { "LABEL": "Language", "EN": "English", "DE": "Deutsch" },
|
||||
"THEME": {
|
||||
"LIGHT": "Light",
|
||||
"DARK": "Dark"
|
||||
},
|
||||
"LANG": {
|
||||
"LABEL": "Language",
|
||||
"EN": "English",
|
||||
"DE": "Deutsch"
|
||||
},
|
||||
"ABOUT": {
|
||||
"ALT": { "PROFILE": "Profile photo of Andreas Dahm" },
|
||||
"ALT": {
|
||||
"PROFILE": "Profile photo of Andreas Dahm"
|
||||
},
|
||||
"HELLO": "Hello, I’m Andreas.",
|
||||
"LEAD": "I first discovered my interest in software development during my training as an application developer. After completing my degree in Applied Computer Science at FH Bingen, I have been working continuously as a software developer since 2010. During this time, I have gained experience in various areas, including 3D simulation and modern web applications. I also enjoy working on personal software projects, particularly in game development and algorithmic topics. Thank you for stopping by!",
|
||||
"LEAD": "Senior software developer and architect, 15+ years in the field. My work sits across two areas that rarely meet: real-time 3D simulation — cloth physics, collision detection, GPU shaders — and distributed cloud architecture for enterprise platforms. Along the way I have led a development team, planned the migration of a large legacy monolith to microservices, and shipped a game on Steam. More recently I have been working on the engineering side of AI-assisted development: the harnesses, guardrails and quality gates that make generated code reviewable. Outside work I build games and dig into algorithmic problems — most of which end up somewhere on this site.",
|
||||
"ROLE": "Senior Software Developer / Full-Stack Developer / Software Architect",
|
||||
"LOCATION": "Munich · Remote",
|
||||
"DOWNLOAD_CV": "Download CV",
|
||||
"VIEW_PROJECTS": "View projects",
|
||||
"CONTACT_ME": "Contact me",
|
||||
"SECTION": {
|
||||
"SKILLS": "Skills & Stack",
|
||||
"BACKEND_ARCH": "Backend & Architecture",
|
||||
"INFRA_CLOUD": "Infrastructure & Cloud",
|
||||
"LANGUAGES": "Languages & Frameworks",
|
||||
"ARCH_CLOUD": "Architecture & Cloud",
|
||||
"SIM_ALGO": "Simulation & Algorithms",
|
||||
"AI_ENG": "AI-Assisted Engineering",
|
||||
"EXPERIENCE": "Experience",
|
||||
"PROJECTS": "Projects",
|
||||
"EDUCATION": "Education"
|
||||
"EDUCATION": "Education",
|
||||
"SHOW_EARLIER_XP": "Show earlier positions",
|
||||
"SHOW_EARLIER_EDU": "Show earlier education",
|
||||
"SHOW_LESS": "Show less"
|
||||
},
|
||||
"SKILLS": {
|
||||
"JAVA": "Java",
|
||||
@@ -51,7 +64,12 @@
|
||||
"ENG_SIM": "3D Simulation",
|
||||
"ENG_GPU": "WebGPU / OpenGL / GLSL",
|
||||
"ENG_PERF": "Performance Optimization",
|
||||
"ENG_3D": "3D-Scanner Tech"
|
||||
"ENG_3D": "3D-Scanner Tech",
|
||||
"AI_AGENTS": "Claude Code / Agent SDK",
|
||||
"AI_MCP": "MCP servers",
|
||||
"AI_CONTEXT": "Context & prompt engineering",
|
||||
"AI_HARNESS": "Agent harness design",
|
||||
"AI_GATES": "Automated review gates"
|
||||
},
|
||||
"TOOLS": {
|
||||
"GIT": "Git",
|
||||
@@ -147,7 +165,7 @@
|
||||
},
|
||||
"COMPANY1": {
|
||||
"COMPANY": "TH Bingen (University of Applied Sciences)",
|
||||
"ROLE": "Research Asssitent",
|
||||
"ROLE": "Research Assistant",
|
||||
"TIME": "Oct. 2007 – Apr. 2008",
|
||||
"HIGHLIGHTS": {
|
||||
"P1": "Evaluation of various Web 2.0 technologies.",
|
||||
@@ -161,12 +179,22 @@
|
||||
"TIME": "Jul. 2002 – Jun. 2005",
|
||||
"HIGHLIGHTS": {
|
||||
"P1": "Development in PERL, PHP and ASP.",
|
||||
"P2": "Portierung, Wartung und Reengineering von bestender Software.",
|
||||
"P2": "Porting, maintenance and reengineering of existing software.",
|
||||
"P3": "Regular performance of system tests and quality controls, as well as their documentation."
|
||||
}
|
||||
}
|
||||
},
|
||||
"PROJECT": {
|
||||
"CLAUDE_BOX": {
|
||||
"TITLE": "Claude-in-a-Box",
|
||||
"DESCRIPTION": "A containerised development environment that turns an AI coding agent into a reviewable part of the toolchain. Instead of prompting ad hoc, the box routes the agent through per-stack rules, per-repository architecture profiles and commit hooks that refuse to let a red build through.",
|
||||
"LINK_INTERNAL": "Project details",
|
||||
"HIGHLIGHTS": {
|
||||
"P1": "Deterministic context routing: the agent loads the rules for the stack it actually detects in the repository.",
|
||||
"P2": "Commit gates that block on a failing build or test run, so generated code cannot bypass the quality bar.",
|
||||
"P3": "MCP integrations for code intelligence and read-only ticket access, plus subagents that review the diff."
|
||||
}
|
||||
},
|
||||
"P2": {
|
||||
"TITLE": "Playground",
|
||||
"DESCRIPTION": "This project is, as the name suggests, a personal playground that will grow over time. It showcases various private projects I’m working on and documents their progress, key ideas, and milestones.",
|
||||
@@ -333,10 +361,24 @@
|
||||
"CHALLENGE_2": "Mathematical stabilization of integration methods under high force impacts.",
|
||||
"LEARNING_1": "Transferring theoretical research into productive, high-performance code.",
|
||||
"LEARNING_2": "Precise working and documentation according to scientific standards."
|
||||
},
|
||||
"CLAUDE_BOX": {
|
||||
"TITLE": "Claude-in-a-Box",
|
||||
"SHORT_DESCRIPTION": "A containerised, rule-driven environment for working with an AI coding agent.",
|
||||
"INTRODUCTION": "Working with an AI coding agent is easy to start and hard to keep honest. The output looks plausible, so the expensive failures are the ones that pass review. Claude-in-a-Box is my answer to that: a Docker-based development environment where the agent operates under the same constraints a new colleague would — the architecture rules of the repository it is in, and a build that has to stay green before anything can be committed. The interesting engineering is not in the prompts; it is in the harness around them.",
|
||||
"BULLET_1": "Containerised workspace with pinned toolchains — SDKMAN-managed JDKs and Maven, Node, and a persistent home volume that survives a container rebuild.",
|
||||
"BULLET_2": "Context routing by detection: a repository with a pom.xml loads the Java/Spring rules, one with a package.json loads the TypeScript rules, and a repository with its own architecture profile loads that too.",
|
||||
"BULLET_3": "A commit hook that detects the stack itself, runs the matching build and test gate, and blocks the commit when it fails.",
|
||||
"BULLET_4": "MCP servers for code-graph queries and read-only ticket lookup, plus purpose-built review subagents that grill a finished diff before it is reported as done.",
|
||||
"CHALLENGE_1": "Keeping the rule set small enough to stay in context but specific enough to be binding — general advice gets ignored, so the rules had to be split into stack skills and repository profiles that load only when relevant.",
|
||||
"CHALLENGE_2": "Making the quality gate impossible to talk around. The check runs as a hook outside the agent, so a failing build blocks the commit regardless of what the agent believes about its own work.",
|
||||
"CHALLENGE_3": "Toolchain isolation in a container that has no root: builds, browsers and language runtimes all had to be installed into volumes owned by the development user.",
|
||||
"LEARNING_1": "The quality of AI-assisted work is mostly a function of the harness, not the prompt. Deterministic gates beat careful wording every time.",
|
||||
"LEARNING_2": "Treating the agent as an untrusted contributor — reviewed, gated, and given only the context it needs — turns out to be the same discipline that makes human code review work."
|
||||
}
|
||||
},
|
||||
"IMPRINT": {
|
||||
"TITLE" : "Imprint",
|
||||
"TITLE": "Imprint",
|
||||
"PARAGRAPH": "Information pursuant to Section 5 DDG",
|
||||
"COUNTRY": "Germany",
|
||||
"CONTACT": "Contact"
|
||||
@@ -578,7 +620,8 @@
|
||||
"CONFLICTS": "Warning: Adjacent regions have the same color!",
|
||||
"INVALID": "Map is fully colored, but contains conflicts."
|
||||
},
|
||||
"EXPLANATION": { "TITLE": "Four Color Theorem",
|
||||
"EXPLANATION": {
|
||||
"TITLE": "Four Color Theorem",
|
||||
"EXPLANATION": "The four color theorem states that any map in a plane can be colored using at most four colors in such a way that regions sharing a common boundary (other than a single point) do not share the same color.",
|
||||
"DISCLAIMER": "This algorithm uses backtracking to find a valid coloring for the generated regions.",
|
||||
"DISCLAIMER_1": "Map Generation: Regions are generated using a random seed growth algorithm (Voronoi-like) on a grid.",
|
||||
@@ -617,7 +660,7 @@
|
||||
},
|
||||
"ABOUT": {
|
||||
"TITLE": "About me – Andreas Dahm",
|
||||
"DESCRIPTION": "Andreas Dahm, senior software developer and architect from Munich: experience, skills and projects in full-stack development, 3D simulation and algorithms."
|
||||
"DESCRIPTION": "Andreas Dahm, senior software developer and architect from Munich: experience, skills and projects in full-stack development, 3D simulation, algorithms and AI-assisted engineering."
|
||||
},
|
||||
"PROJECTS": {
|
||||
"TITLE": "Projects – Andreas Dahm",
|
||||
|
||||
Reference in new issue
Block a user