Stuff everyone should know
Each of these projects needs a discusison as there are quite a few options to each...
I am particularly interested in projects related to the Databox project
; details of the mission are outlined in the paper "Personal Data: Thinking Inside the Box
". Databox is about the control of personal information. There are
many project possabilities related to this, and I would welcome
students suggesting their own projects. Here are some
of my thoughts:
- SOCKS or transparent webproxy and mobile app
characterisation - configure a personal server/router to capture all
URLs emitted by a mobile phone / tablet device to characterise the
behaviours of apps.
- Build an interesting IoT / NodeRed application - lots of examples on the NodeRed site.
- Home security webcams: 1) those equipped with "motion detection" using image processing in the camera still generate a lot
false positives - e.g. sudden changes in illumination by the sun
appearing from behind a cloud will register as "motion" - using image
procesing libraries build a service to robustly detect
actual motion; 2) build a resonable video browser web service, designed
to make checking images from home secuirty cameras simple, and evaluate
your interface; 3) build a secure end-to-end encrypted remote viewing application with secure key exchange (e.g. The Resurrecting Duckling).
Web related stuff...
- A common web indexing concern is that the in order to index
a site, a web crawler must take a copy of the pages and issues can
arise in terms of copyright. The project is to take a website, randomly
permute all the textual phrases (some linquististal processing
required....) and make the randomised web page available to a web
crawler while hiding the source (using robots.txt). The magic is to
make the randomised page automatically redirect to the original page
often web search results provide mutliple hits for the same
website, filling the first page of results with data from only a few
different web sites. Build a plugin that uses existing search engines,
but returns only one hit per website, noting that quite often a website
can have multiple DNS entries - e.g. evilglobalcorporation.com,
evilglobalcorporation.pa, etc, etc.
probes - build a webservice that holds the social history of an
everyday object. Use an NFC tag to uniquely identify an everyday object
with an obfusticated URL (e.g. hard to guess URL).
Objects could include a book, fruit bowl, candlestick, jewelry, well
anything really that might be passed from one person to a next.
Build a webservice and app that permits the posting of images / video /
text to the object's timeline when in the presence of the object (e.g.
maybe for up to an hour after scanning the object's NFC tag). Once an
object has been scanned, the app gives read access to the previous
history of the object and remembers the object's URL to allow access to
future new posts. The app shoudl be designed to prevent sharing of the
URLs so that only if you have been in the presence of the object and
running this specific app can
you see its timeline. Added bonus points for notifcations of new posts
to an object's timeline in teh future and / or for social media
integration - i.e. I
can configure the app to post my contributions to the object's timeline
simultaneously to my choosen social media...
- Recyling SSD and USB drives brings with it concerns about hidden data. See the Computerphile video on how SSDs work.
Some devices now implement a secure erase feature - question is, do
they actually erase all the hidden blocks too? The telling thing is the
write performance. Noting that a block must be erased before it can be
written, if say the device has 25% extra hidden, you should be able to
achieve a high write performance starting with an “erased drive” for
125% capacity of the drive before it falls off the cliff when it starts
needing to erase blocks before writing. A paper here.
Write a benchmarking suite and perform analysis of the performance of
various USB and SSD devices to characterise their implementation of