Talks
This page contains a subset of the (mostly public) talks I've given, in reverse chronological order. If you wish to see the slides to a talk that isn't listed here, please contact me, and I'll do my best.
| 1: | Language CompositionWhy are general purpose programming languages not always the best tool
for the job? Language composition is then presented as a possible solution.
However, the experience of the Converge language, and others, shows that
meaningful language composition currently eludes us. This talk then suggests
two concrete approaches which offer the possibility for allowing language
composition to reach its full potential.• 14th May 2013: Oracle Labs[Slides]• 22nd March 2013: Imperial College London[Slides]• 27th February 2013: University of Sussex[Slides]• 13th February 2013: Hasso-Plattner-Institut[Slides] |
| 2: | Fast enough VMs in fast enough timeWhat are the performance tradeoffs when designing and implementing a
language? What are tracing JITs, meta-tracing JITs? How does RPython work and
what are the performance of VMs written using it?• 9th May 2012: Energized Work Tektalk[Slides]• 29th April 2012: Barcamp, Canterbury[Slides]• 20th April 2012: School of Computing, University of Kent[Slides]• 28th February 2012: Informatics, University of Edinburgh[Slides]• 21st February 2012: Programming Language Lab, VUB Brussels[Slides] |
| 3: | Experiences of implementing a VM with RPythonA report on preliminary work on implementing an RPython VM for Converge.• 5th January 2012: Dagstuhl 12011[Slides] |
| 4: | What role for static analysis in malware detection?A thought experiment which shows that malware authors will always be
able to defeat attempts to identify them through purely static
analysis.• 6th April 2011: 12th CREST Open Workshop Security and Code[Slides][Video] |
| 5: | Slicing state-based modelsAn overview of current research on slicing state-based models.• 25th January 2011: 10th CREST Open Workshop Security and Code[Slides][Video] |
| 6: | Experiences with an Icon-like expression evaluation systemAn overview of Converge's Icon-like expression evaluation system, why
it's interesting - and why it turns out not to be hugely useful.• 18th October 2010: Dynamic Languages Symposium[Slides] |
| 7: | An overview of domain specific languagesAn overview of DSLs: what they are, where they can help, what the
inevitable compromises are, and the questions one should ask oneself before
building a DSL.• 9th June 2010: Software Experts Summit[Slides] |
| 8: | Mobile applicationsAn overview of developing mobile applications, based on personal
experience, aimed at sixth form pupils. The talk also included the
development of a small mobile app from scratch, to give pupils an idea of how
(relatively) easy it is to get started.• 16th March 2010: Computing At School Conference[Slides] |
| 9: | extsmailAn overview of extsmail, as an example of creating a UNIX daemon. This
talk covers the motivation for extsmail, why it was programmed in C, and what
some of the challenges in programming it were (and weren't).• 19th November 2008: BUNIX (Bournemouth UNIX user group)[Slides] |
| 10: | Language design: back to the future?This talk is an attempt to make us think: about the relative
homogeneity of most programming languages; why we've ended up in this
situation; and how programming language archaeology can sometimes reinject
interesting ideas.• 8th July 2008: Dynamic Languages Symposium[Slides] |