Research talks
Here may be found the slides from various talks I've given. By
their nature, they may not be fully comprehensible on their own.
Some of them accompany publications, whereas others don't.
If you find any of the content interesting or puzzling, particularly in
those which don't have an accompanying publication, please do contact me.
- Problems in software
composition. netos mini-talk, February 2007.
- Rethinking software
connectors. Presented at the first SYANCO workshop, September
2007.
- Making systems composition
flexible, automatic, safe, practical.... Opera group seminar,
November 2007.
- Linkage graphs and what they
look like. netos mini-talk, March 2008.
- System support for
adaptation and composition of applications.
Presented at the EuroSys 2008 doctoral workshop, April 2008.
- Adapting binary software with multiple
object layouts. netos mini-talk, November 2008.
- Cake: a tool for adaptation of object code (short version). netos
mini-talk, May 2009.
- Cake: a tool for adaptation of object code (longer
version). Various locations, May 2009: internally as a CPRG seminar, and externally at
UBC and UVic.
- The mythical matched modules: overcoming
inflexible software construction. netos mini-talk and Onward! Innovation In Progress talk,
October 2009.
- Zero copy (programming) execution(?). netos mini-talk, February 2010.
- Data constraints at run time,
lightning talk
at the RADICAL workshop, Microsoft Research Cambridge, May 2010.
- Component adaptation and assembly using interface relations,
presented at OOPSLA / SPLASH 2011, Sparks, Nevada, October 2010.
- A verification wishlist,
QAV group talk, March 2011. Ask me for slides.
- How to make a virtual machine less virtual, presented at the UK MMNet Glasgow workshop,
May 2011.
- Composing the uncomposable -- some work, work-in-progress and
ideas, Programming Languages Seminar, University of Oxford, July 2011.
- Composing heterogeneous software with style,
presented at the First International Workshop on Free Composition, Lancaster, England, July 2011.
- Virtual machines should be invisible,
presented at the Fifth International Workshop on Virtual Machines and Intermediate Languages,
Portland, Oregon, October 2011.
- Virtual machines should be invisible
(and might be augmented),
presented while on tour at the University of Utah (Flux group colloqium)
and University of Maryland (PLUM group seminar), November 2011.
- Towards a whole-program runtime infrastructure, or: dynamism is debugging,
presented at University of Cambridge (CPRG seminar, November 2011),
ETH Zürich (Systems seminar, December 2011) and USI (Informatics seminar, December 2011).
Contact me for slides.
- Symbolic execution: notes on the state of the art,
QAV seminar, Oxford, January 2012. Contact me for slides.
- At home with the natives, talk at USI DAG/FAN meeting, Lugano, May 2012.
Contact me for slides.
- FAN directions, talk at FAN kick-off meeting, Lugano, July 2012.
Contact me for slides.
- The JVM is not observable enough (and what to do about it),
talk at VMIL workshop, Tucson, October 2012.
- Fast run-time type checking of whole programs, presented as
University of Cambridge Systems Research Group Seminar and USI pizza seminar, November 2012.
- Dynamic analysis tools considered difficult (to write),
presented at the University of Glasgow, March 2013.
- The operating system: should there be one?,
presented at the PLOS workshop, Nemacolin, Pennsylvania, November 2013.
- Dynamically checking type-correctness of whole
programs, talk at Cambridge LLVM Day, November 2013.
- ABIs, linkers and other animals,
Computer Laboratory (Semantics Lunch) presentation, January 2014 (part 1) and February 2014 (part 2).
combined slides
- Run-time type checking of whole programs,
visiting talk at King's College London, University of York, University of Glasgow, March–August 2014 (Glasgow slides linked;
KCL and York slides were closer to the LLVM Day version)
- Liberating the lurking Smalltalk in Unix,
Strange Loop 2014 (video)
- In search of types,
presented at Onward! 2014, Portland, Oregon, October 2014.
- Repeatable execution, and why operating systems should support it,
netos talklet, 27 January 2015.
- Dynamically checking types and bounds with libcrunch
, REMS project workshop, 21st April 2015.
- Complementary directions for Truffle and liballocs,
presented at the Truffle/Graal workshop at ECOOP 2015, Prague, July 2015.
- Process-wide type and bounds checking,
presented at the second annual VM Meetup, Zurich, Switzerland, September 2015.
- Towards a dynamic object model within Unix processes,
presented at Onward! 2015, Pittsburgh, October 2015 (video).
- What run-time services could help scientific programming?
, TVCS workshop, Cambridge, 15th March 2016.
- (with Chris Diamand) Run-time type checking
with clang, using libcrunch, EuroLLVM, Barcelona, March 2016
(slides and video available here).
- Dynamically checking types, bounds (and even more) with libcrunch
, REMS project workshop, Cambridge, 27th May 2016.
- The operating system: why
there should be one (or two), presented at HaPoP, Paris, 25th June 2016.
- Dynamically diagnosing
type errors in unsafe code, presented at OOPSLA 2016, Amsterdam, October 2016.
- ELF linking:
what it means and why it matters, presented at the Principles in Practice (PiP) workshop,
Paris, January 2017.
- Adding
run-time type information to the GNU toolchain and runtime,
presented at the GNU Tools Cauldron, Prague, September 2017.
- Some were meant for C:
the endurance of an unmanageable language,
presented at Onward! 2017, Vancouver, BC, October 2017.
- Fast, precise dynamic checking
of types and bounds “in C”,
Galois Tech Talk, Portland, Oregon, October 2017.
- Some were meant for C:
the endurance of an unmanageable language,
presented at CodeMesh 2017, London, November 2017.
- Fast, precise dynamic checking
of types and bounds “in C”,
presented at S-REPLS 8, King's College, London, January 2018
(and includes a slightly more opinionated take on what's really interesting in this work).
- Fast, precise dynamic checking
of types and bounds “in C”,
presented at Microsoft Research, Cambridge (United Kingdom),
February 2018
(and includes slightly more/better results than the previous two talks).
- The inevitable
death of VMs: a progress report,
presented at MoreVMs 2018, Nice, April 2018.
- Towards
a high-level run-time infrastructure embracing low-level code,
presented to the PLAS group, School of Computing, University of Kent, Canterbury, June 2018.
- Towards
federated implementations of high-level languages,
presented to the PLAS group, School of Computing, University of Kent, Canterbury, November 2018.
- The language
muddle and the system middle,
presented at CoreDump 2018, Krakow, Poland, November 2018.
- De-escalating software,
keynote at Off the Beaten Track 2019, Cascais, Portugal, January 2019.
The talk also included an initial quasi-reading
and a scripted introduction.
A second quasi-reading was prepared but not delivered (as with some of the
later slides in the deck here).
- Software against humanity?
An Illichian perspective on the industrial era of software,
seminaire HEPIC (Histoire et Philosophie de l'informatique et du calcul),
Lille, France, June 2019.
- Convivial
design heuristics for software systems,
presented at the Convivial Computing Salon 2020,
online, May 2020.
- The two cultures
of programming language implementation,
invited talk at the Workshop on Implementation,
Compilation and Optimization of Object-Oriented Languages, Programs and Systems,
online, July 2021.
- Smalltalk, big ideas and how to escape the island,
talk in the FAST Smalltalk Talks series,
online, November 2021.
Content updated at Tue 2 Jan 12:24:00 GMT 2024.
validate this page