In the past I’ve worked on a range of areas. Some are still of interest; some not so much; and some are now in the mainstream.
OK, not so much of a past interest, it’s a current interest that I don’t have an active research programme in. In another sense, though, everything I do is about programming languages, or at least about ways to capture computational processes in a way that’s simple and accessible to people. At their broadest, programming languages are about allowing people to express their computational ideas easily, and that’s something that underpins all computer science research.
I’ve developed a number of software systems in the past, including a system for prototyping programming language interpreters (Vanilla) and a modern Forth compiler that we used for experiments in sensor network programming (Attila). Both are still available, and may even work on modern systems: your mileage may vary.
Making large computer systems more manageable involves improving the ways in which they model and control their own behaviour in response to changing conditions. I worked a lot on whole-system models of adaptive behaviour, which eventually narrowed into an interest in managing sensor systems.
Another topic that’s still of interest, although perhaps not in a mainstream way. I used to work on assisted living and other applications of pervasive systems; now I focus on situation recognition, which — while it’s a technique with deep applications in pervasive systems — is somewhat broader and can be applied to all aspects of data science and sensing. Essentially we don’t care where the data comes from when interpreting it, so we can look at the deeper algorithmic issues rather than just the applications.
Distributed and web systems
I got into the web early, including putting up one of the first really large-scale web servers backed by a database and a content manager (before “content manager” was a thing). Many of the techniques we looked at back then (in the mid-1990’s) have since morphed into the mainstream, in radically different (and mainly better) forms to the ways we envisioned them.