Computer Laboratory

Dr Daniel R. Thomas

Project ideas

This page contains ideas which I think could be worked up into Part II/III/PhD projects and which I would be happy to help supervise.

  • Re-implement Paris traceroute in a language with better support for concurrency and memory safety in a way that is amenable to library usage. Current versions of Paris traceroute are either buggy (C++ version) or do not attempt to ensure memory safety (C version). My language of choice of this would be Go.
  • Plumbing with entropy. Randomness is hard to find in the predictable world of VMs and so needs to be provided from an external source. There are protocols like egd and algorithms such as Yarrow but plumbing that together to allow VMs to take randomness from multiple sources and for entropy providers to combine the randomness from multiple kinds of hardware random number generator requires some engineering.
  • A decentralised self filtering system along the lines of my proposed architecture.
  • It would be useful to know when a journey is going to be made more difficult by weather/transport issues in advance, this information is available, can we build a system such that users can subscribe to be told when it is going to rain on their journey or be disrupted by transport problems and suggest alternative solutions (leave half an hour earlier, get a different train).

Other related (or not so related) ideas are welcome, just send me an email