Non-Intrusive Load Monitoring ToolKit (nilmtk)

Nipun, Oli and I have just started work on an open source toolkit for non-intrusive load monitoring called nilmtk. We're pretty excited about it! It's only in the very, very earliest stages (the code repository currently has precisely zero lines of code in it!) although we've started to flesh out the design on the project's wiki.

Why don't academics discuss research before starting the work?!

Warning: this is a hopelessly idealistic proposal...

As far as I can tell, scientists of all types tend to be secretive about their work prior to publication. I guess the fear is that, without secrecy, another lab might steal the idea and publish it first. But this secrecy comes with several significant costs, one of which is the huge length of time between first having an idea and then getting feedback from peers. First you have your bright idea, then you do the necessary research (which might take years), then you write up a paper, then you submit the paper to a journal or conference and a while later you get your first bit of peer feedback.

This feels extraordinarily inefficient. If an idea is bad then it needs to fail fast (before resources have been expended). And if an idea needs improving then it's far better to improve the proposal before doing all the work rather than trying to retrofit a fix after the bulk of the work has been done.

How about this as an alternative:

Wiki and online community for electricity disaggregation researchers

If you're a researcher working on electricity disaggregation (aka NALM / NILM / NIALM) then would you find a wiki and/or online community useful?

Resources and organisations for teaching kids to engineer / code stuff

This is not yet an exhaustive list. Please comment if you know of any other resources to mention!

The wonderful MSc students I worked with last year and their award-winning projects ;)

This spring and summer I had the opportunity to work with some exceptional MSc students at Imperial and I just wanted to write a summary of their achievements.

Two books on the history of hacking

I recently finished reading two great books on the history of hacking:

The first one was 'Hackers' by Steven Levy:

Visualisation of machine learning algorithms: computer science group project proposal

Here's another computer science group project that I have submitted for consideration by students this coming year. As always, comments are very welcome!

Algorithms used in machine learning can often feel quite complex when you first come across them. As you gain experience with the algorithm you begin to be able to visualise each step and then realise that the algorithm is actually quite intuitive. Wouldn't it have been far easier to learn the algorithm if you had seen a good visualisation of the algorithm to begin with!

For example, here's a visualisation of selection sort (taken from WikiPedia):

The aim of this project is to produce interactive, animated visualisations of a set of machine learning algorithms. (Don't worry if you don't know any machine learning algorithms yet; this project would be a good opportunity to gain intimate knowledge of a few algorithms).

Below are some suggestions to get your ideas flowing.

Open repository for appliance power signatures: computer science group project proposal

Here's another draft proposal for a computer science group project that I'm thinking of submitting...


As energy costs increase, there is increasing pressure to use energy as efficiently as possible. The first step towards reducing energy consumption is often to measure your existing consumption. There is good evidence that people are best able to manage their energy consumption if they are given an itemised energy bill describing appliance-by-appliance energy consumption information (e.g. "your fridge cost you £50 this month and your TV cost you £20").

Automatically estimating an itemised energy bill by "disaggregating" a whole-house smart meter signal is an active area of research. One approach to this problem requires that the disaggregation system be trained on existing appliance "signatures" (recordings of the power consumption of an individual appliance). A web service which allows for appliance signatures to be programmatically retrieved and submitted would be very useful both to enable automatic disaggregation systems and also to encourage research into disaggregation.

The Challenge

The aim of this project would be to build a web application to allow appliance signatures to be submitted, categorised, analysed and retrieved.


Subscribe to RSS - blogs