Boris Brodski · curriculum vitae
Curriculum vitae
The complete record — every project since 2001, newest first, with the skills timeline, education, talks and publications. The direction pages show the same material filtered by topic.
Career
- 2011 – Freelance senior software architect — chief architect in tax-administration software since 2012; AI, security and open-source work alongside.
- 2007 – 2011 Steria Mummert Consulting, Public Services — consultant, from 2011 senior consultant. Public-sector Java EE projects, architecture proposals, coaching.
- 2001 – 2007 Software developer at a vendor for banking and real-estate software — cryptographic layer, the IDScript language, copy protection.
Projects, newest first
-
Torhaus — a secure host for untrusted AI agents
Framework that runs any AI agent harness in kernel-enforced compartments with default-deny egress, a credential broker and a tamper-evident audit log — designed on the assumption that the model itself may be hostile.
- Threat model built from the 2026 trojaned-open-weights findings (Cohere/Qwen 3.8, "Model-as-a-Trojan")
- Compartments (Zwinger) with data classification, typed one-way channels (Schleuse), a broker that never lets a credential reach the model
- Egress gateway, MCP/tool proxy and model proxy as the single, policy-checked path out
PythongVisorFirecrackerKubernetesOPAeBPFMCP
-
AI security — talk and research on trojaned open-weight models
One-hour public talk on AI security; analysis of how open-weight models and agent harnesses leak data (training-proxy artifacts, backdoored weights, prompt-injection-to-RCE) and what deterministic controls stop them.
Open-weight LLMsllama.cppvLLMagent harnessesegress analysis
-
Local AI stack — harnesses, skills and LoRA fine-tuning on own hardware
Running open-weight models on self-hosted GPU hardware; LoRA fine-tuning for domain tasks; configuring and extending coding-agent harnesses with custom skills and tool integrations.
LoRAllama.cppvLLMHermes AgentOpenClawClaude CodeKubernetesPodman
-
Web presence for a music quartet
Development, hosting, backup and maintenance of a Django/PostgreSQL web presence.
PythonDjangoPostgreSQL
-
Redmine plugin suite — development, audit, operation
Large Redmine plugin for data exchange and data maintenance with external systems; security audit of third-party open-source plugins; operation and maintenance of the Redmine installation; backup and anonymisation of production data.
- Plugin for bidirectional data exchange with external systems
- Audit of open-source plugins before deployment
- Containerised operation (Podman), backup and anonymisation pipeline
RubyRuby on RailsRedminePostgreSQLDockerPodmanResticJMeter
-
Camera-based cataloguing app for automotive parts
Android app for efficient camera-based inventory of car parts, synchronised with the company's internal IT systems.
Android SDKJavaPHPMySQL
-
AI-assisted cryptocurrency trading
Design and training of custom trading models on market data; data pipeline, training infrastructure on CUDA and Colab, evaluation and operation.
PythonTensorFlowCUDAGoogle ColabPostgreSQL
-
Qt application port from Windows to Linux
Ported a C++/Qt application to Linux with a new CMake-based build.
C++QtCMakeGCCMake
-
Catalogue app prototype (Android/iOS)
Design and prototype of a cross-platform catalogue app — frontend and backend, OpenAPI contract, high security requirements.
React NativeSymfonyPHPOpenAPI
-
COVID mask detector — vision model from data collection to customer app
AI system that acoustically warns people wearing no mask or a badly fitted one. One-person project — data collection, model design and training, deployment, operation, Gtk configuration UI and web monitoring.
- Own dataset collected and labelled; model designed and trained from scratch
- Real-time inference on commodity hardware with OpenCV
- Customer-facing Gtk configuration app and web monitoring
PythonTensorFlowOpenCVGtkReactNode.js
-
Python ↔ C++ bridge for a CAD manufacturer
Bridge for loading and processing data from Python through a C++ library; supports several Python versions and 32/64-bit architectures; automated tests.
PythonC++CPython API
-
KONSENS — backend platform for German tax administration
Technical lead for a backend component of KONSENS, the joint software programme of the German federal and state tax administrations — data management, business processes, integration with numerous external systems.
- Architecture and design authority; coaching a team of 15+ engineers
- Text-model-driven development with Xtext at the core of the platform
- Test-driven, with infrastructure as code (Puppet)
Java EEJBoss EAPXtextHibernateSOAPOracle DBEclipse RCPVaadinMavenGradlePuppetTDD
-
Web forms generated from Xtext models
Interactive ten-page web form with extensive business rules, generated from an Xtext DSL — backend and web frontend.
JavaXtext 2.1XtendJava EEJSFJBoss 5HibernateOracle DBIntelliJ
-
Software test laboratory
Web-based Java enterprise solution for managing complex test workflows of software products inside a large corporation; requirements analysis from customer interviews, backend and frontend.
Java EEJSFJBoss 5HibernateOracle DB
-
Message-based workflow system
Message-based workflow system with multiple sending and receiving parties; web administration UI; Ant-based build tooling and a Python configuration tool.
JavaOracle ADFJMSStrutsWebLogicAntPython
-
Redmine, Git and Gerrit integration for feature-driven development
Redmine plugin that automates feature branches per issue, monitors them and creates Gerrit review requests from the commits of a selected branch; demo VM with all services preconfigured.
RubyRuby on RailsRedmineGitGerrit
-
Rule DSL for task distribution
Customer-specific rule language for distributing tasks by business attributes — regular expressions, user-defined functions, and DSL-driven tests giving excellent coverage.
JavaJavaCCEclipse JDT compilerDroolsRocketJ
-
Java EE framework for asynchronous distributed processing
Platform for work-package-oriented background processes with several kinds of dependencies, independent of application server and database, cluster-capable, with guaranteed data integrity under unstable infrastructure and comprehensive JUnit coverage.
Java EEJMSJBoss 5/6WebLogic 10JUnit
-
Electricity meter data acquisition
Java EE application polling a large number of electricity meters continuously, detecting failed meters and exposing data through a web service — portable across operating systems and databases. Architecture, code review, optimisation and coaching.
Java EEJBoss 5Web servicesJMSOracle DB 11gMySQL
-
Statutory accident insurance software — further development
New use cases, configuration and optimisation for large data volumes, training for the customer's developers, and an optimised development workflow with Eclipse, Git, Gerrit and Redmine integrated by an own plugin.
Java EEJMSJBoss 5Ruby on RailsGitGerritRedmine
-
Software industrialisation with model-driven development
Generic rapid-application-development framework on MDA principles — DSLs describing data model and GUI masks, generating persistence, server converters and client mask definitions with business constraints; Maven build and prototype.
JavaXtext 1.0Java EE 6JBoss 6Eclipse RCPPostgreSQLOracle DB
-
7-Zip-JBinding — Java binding for the 7-Zip compression algorithms
Platform-independent Java API to the 7-Zip algorithms — JNI-conformant C++ library, archive-format-independent interface, password-protected and multi-part archives, Windows/Linux/macOS in 32 and 64 bit plus ARM, extensive tests on every platform. In production use worldwide since 2007.
C++JNIJavaC++ metaprogrammingCMakeCTestJUnitGCC
-
Statutory accident insurance software — new development
Integrated case-management system for statutory accident insurance — multi-tier JBoss architecture, Eclipse RCP client, analysis of the legacy system (Centura, PL/SQL) and migration. Team lead, persistence tier, base components, document generation, UML-based code generation, integration of signature and ECM systems.
Java EEHibernateAspectJJBoss 4/5Eclipse RCPEnterprise ArchitectANTLROracle DB 11gPL/SQL
-
Copy protection with hardware-bound licences
Copy-protection system with licences bound to hardware — cryptographic design of the encryption scheme, licence number format and generator, time-limited and perpetual licences; licence generator and protection component.
CC++Crypto++Windows WMI APIOLEVisual Studio
-
IDScript — a general-purpose scripting language
New version of a company-proprietary language for customer-specific processes — rule sets, workflows, document generation and PDF form evaluation. New syntax and language constructs, high-performance parser, bytecode and runtime, standard library, C ↔ script bridge, generic OLE binding (Word, Excel), plugin interface, bytecode encryption, old-to-new syntax converter, Eclipse RCP-based IDE, LaTeX documentation.
- Parser, bytecode compiler and virtual machine built from scratch
- Bidirectional C ↔ script bridge and generic OLE automation
- Eclipse RCP IDE and full language documentation
CC++OLEEclipse RCPJavaLaTeXVisual Studio
-
Cryptographic layer for transparent access to encrypted files
Security component for transparent en-/decryption of files from C/C++ — analysis and integration of existing cryptographic routines; flexible architecture supporting several ciphers with automatic detection behind a stdio-like interface; console tool for manual en-/decryption.
CC++Crypto++Visual Studio
-
Unix-like real-time operating system (educational)
Self-developed kernel — memory management, boot, scheduler and the fundamental boot-related drivers, in assembler and C on the 386 protected mode.
x86 assemblerWatcom C386 protected mode
-
DOS virus techniques and a matching antivirus (study project)
Studied infection, stealth and self-modification techniques of DOS viruses by writing proof-of-concept specimens in an isolated lab, then wrote an antivirus that detected and removed them.
x86 assemblerDOS
-
PIC microcontroller projects — assembler, C++, Bluetooth LE
Microcontroller work since 1997 — PIC in assembler, later XC8 C++ and Arduino; an IoT device with a Toshiba PAN1762 Bluetooth 5.0 module; an own simulator for firmware testing.
PIC assemblerXC8 C++ArduinoBluetooth 5.0 (Toshiba PAN1762)simulator
-
Programming competitions, Russia
1st place in the Moscow programming competition; first tier (4th of about 100) in the national round.
Pascal
Skills timeline
Security
- ★★★★★ Security-conscious design 1998–
- ★★★★☆ AI security — trojaned models 2025–
- ★★★★★ Cryptography: ciphers (AES, RSA, DES), Crypto++ 2001–2009
- ★★★★☆ Public-key infrastructure (PKI) 2005–2009
- ★★★★☆ Network security 2005–2008
- ★★★★☆ Reverse engineering: x86 disassembly, OllyDbg, assembler-level debugging 1997–2009
- ★★★★☆ Java bytecode analysis & injection 2010–
- ★★★★☆ Copy protection & licensing 2006–2007
- ★★★★☆ Container hardening: gVisor, Firecracker, seccomp, network policy 2025–
AI & machine learning
- ★★★★★ Python 2011–
- ★★★★★ NumPy 2018–
- ★★★★★ Supervised learning & computer vision (OpenCV) 2020–
- ★★★★☆ LoRA fine-tuning of open-weight LLMs 2025–
- ★★★★☆ Local inference (llama.cpp 2025–
- ★★★★☆ Agent skill & MCP tool development 2025–
- ★★★☆☆ Reinforcement learning 2020–
- ★★☆☆☆ Statistics / R 2019–
Languages & DSLs
- ★★★★★ Parser 2002–
- ★★★★★ Interpreter & bytecode VM design 2002–2007
- ★★★★★ Xtext / Xtend 2006–
- ★★★★☆ Langium 2023–
- ★★★★★ Eclipse Modeling Framework (EMF) 2016–
- ★★★★★ Model-driven architecture (MDA / MDSD) 2006–
- ★★★★★ JavaCC 2004–2010
- ★★★★☆ Yacc / Bison 2005–2007
- ★★★☆☆ ANTLR 2008–2010
- ★★★★☆ Haskell 2004–2009
Java
- ★★★★★ Java 2002–
- ★★★★★ Java EE / Jakarta EE 2007–
- ★★★★★ JBoss EAP / WildFly 2007–
- ★★★★★ Hibernate / JPA 2005–
- ★★★★★ SWT / JFace / Eclipse RCP 2005–
- ★★★★★ Test-driven development 2011–
- ★★★★☆ Maven / Gradle 2006–
- ★★★★★ JMS 2008–2010
- ★★★★☆ JSF (PrimeFaces 2006–2019
- ★★★☆☆ Vaadin 2020–
- ★★★☆☆ JAAS / Elytron 2007–2022
- ★★★★☆ WebLogic / Oracle ADF 2009–2011
- ★★★☆☆ Android 2016–2022
- ★★★★☆ Kotlin 2021–
Web
- ★★★★★ Ruby 2008–
- ★★★★★ Ruby on Rails / Redmine 2010–
- ★★★★★ Puppet 2020–
- ★★★★☆ Django 2022–
- ★★★★☆ PostgreSQL 2006–
- ★★★★☆ MySQL 2002–
- ★★★★☆ Oracle DB / PL/SQL 2000–
- ★★★★☆ HTML / CSS / JavaScript 1998–
- ★★★★☆ React / React Native 2020–
- ★★★☆☆ Node.js 2021–
- ★★★☆☆ OpenAPI / Swagger 2021–
Infrastructure
- ★★★★★ Linux (Debian/Ubuntu) 2004–
- ★★★★☆ Docker 2018–
- ★★★★☆ Podman 2022–
- ★★★★☆ Kubernetes 2024–
- ★★★★☆ systemd 2020–
- ★★★★★ Git / Gerrit 2009–
- ★★★★★ Neovim 2011–
- ★★★★★ LaTeX / TikZ 2004–
Systems & embedded
- ★★★★★ C / C++ 1999–
- ★★★★★ C++ metaprogramming 2007–
- ★★★★★ JNI 2007–
- ★★★★★ GCC / CMake / Autoconf / Make 1999–
- ★★★★☆ Cross-platform builds (Linux 2009–
- ★★★★☆ Windows API / OLE 2003–2007
- ★★★☆☆ Qt 2021–2021
- ★★★★★ x86 assembler 1997–2000
- ★★★★★ PIC microcontroller assembler 1997–2018
- ★★★★☆ PIC C++ (XC8) 2015–
- ★★★☆☆ Arduino 2015–
- ★★★☆☆ Bluetooth 5.0 (Toshiba PAN1762) 2015–2016
- ★★★★☆ Blender & Blender Python API 2012–
Education & awards
- 2001 – 2007
Diplom-Informatiker, TU Dortmund — focus area Sicherheit und Verifikation (security and verification), minor in physics, overall grade sehr gut (1.5).
- 2018 – 2019
Deep Learning Specialization (deeplearning.ai, five courses) and Reinforcement Learning (Coursera).
- 2019 –
MIT 18.650 Statistics for Applications (online).
- 2011
Certified SOPERA Developer and Administrator (SOA platform).
- 1997
Programming competitions, Russia: 1st place Moscow; first tier (4th of ~100) in the national round.
Talks & publications
- 2026 AI security — Public talk, 1 hour · Threat models for open-weight models and agent harnesses, and the controls that hold when the model cannot be trusted
- 2015-03 Automatisierte Tests, die Spaß machen — Enterprise-Applikationen mit Xtend und Embedded DSLs effektiv testen — Eclipse Magazin 3.15 · article
- 2015-11 Writing tests with Jnario — Eclipse DemoCamp Bonn · 20 min, German
- 2014-11 Write scalable enterprise application tests with Xfactory — Eclipse DemoCamp Bonn · 20 min, German
- 2014-10 Write cool scalable enterprise application tests with Xtend & embedded DSLs — EclipseCon Europe, Ludwigsburg · 35 min, English
- 2014-06 Pay your taxes with Xtext — Eclipse DemoCamp Kassel · 20 min, German
- 2014-05 Pay your taxes with Xtext — a case study — XtextCON, Kiel · 30 min, English
- 2013-12 Boost JUnit tests with Xtend — Eclipse DemoCamp Frankfurt · 20 min, German
- 2013-11 Boost JUnit tests with Xtend and JMockit — Eclipse DemoCamp Bonn · 20 min, English
- 2013-06 Test-driven development with Jnario — Eclipse DemoCamp Bonn · 20 min, German
- ongoing xtextcasts.org — Screencasts on Xtext and language engineering · xtextcasts.org
Languages & beyond code
English (fluent), German (near-native), Russian (native), Hebrew (intermediate), French (beginner).
Unicycling — 26-inch touring unicycle, ultimate wheel, volunteer coach at a high school. Diving (AOWD), kung fu, skiing and snowboarding, chess, pool billiard.