Talks, decks & writing
Knowledge
Explaining the work: internally, at conferences, in writing, and to anyone who inherits a system I built. The decks are single HTML files that run in your browser, so every slide has its own URL. The posts are the prose counterpart: what was built, what it cost, and what the numbers say.
Featured
ML and Data at Colourbox
Why content understanding is the only answer to DAM cold start, what EU sovereignty actually commits you to architecturally, how dense embeddings and patch-level late interaction divide the work between a stock library and a DAM system. Then the multimodal field case, the production objections, and why a benchmark score is not a customer finding their asset.
Writing
Talks & decks
Late Interaction, Up Close
Why one fixed-size embedding has to decide what to keep before it knows what will be asked, and how late interaction and MaxSim avoid that. Adapted with attribution from Amélie Chatelain's Late Interaction Field Guide; the original goes considerably further. Kept as a standalone talk; the Colourbox deck carries the same eleven slides with our own examples.
Cooperative Control of Multi-Robot Systems in Real-World Applications
The defence deck, ported: how a Danish rescue procedure becomes tasks a drone can take, a consensus-based allocator that bids on trajectories instead of points, two declarative languages between operator and swarm, €10 radios that reach consensus in the air, and SAREnv, a benchmark built on where lost people are actually found.
Decentralized Multi-UAV Task Allocation
Why centralized coverage planning breaks down in a real search and rescue operation, how a consensus-based bundle algorithm handles trajectory tasks instead of points, and what the decentralization actually costs. Based on the ICAR 2023 paper.
Search, with the vectors showing
Inference-free SPLADE over this entire site. The document vectors were built offline by a 67M-parameter masked LM; the query side is a tokenizer and a lookup table, so your browser runs no model at all. The page puts the sparse vectors on screen: the query's WordPiece decomposition, which terms produced each score, and the words the model added that the text never contained.
More coming
Older decks are being converted from slides into this format as I get to them.
How the decks work
The engine is about 200 lines of vanilla JavaScript in /deck/deck.js, with no
framework, no build step. Slides live on a fixed 1920×1080 canvas that gets scaled to whatever
window you open it in, so a deck looks identical on a laptop, a projector, and a phone.
While presenting
- → / space / PageDown next slide, ← / PageUp back
- o contents drawer · n speaker notes · r sources for the current slide · f fullscreen
- t light/dark · p print to PDF, one slide per page
Slides carry their own citations: press r and the drawer lists the papers, code and lectures behind whatever is on screen, with a count badge in the corner so you can see at a glance whether a claim is sourced.
Swipe works on touch. The URL tracks the slide number, so
/knowledge/<name>/#7 opens directly on slide 7, useful when someone asks you
to send "that one chart".
Borrow it if you like: copy /deck/ and /knowledge/_template/ from
the repo.