These project ideas are targeted at third- and fourth-year computing students at Dublin City University. Some may also be suitable for MSc practicums.

First some general words. My interests are in the areas of Unix (particularly FreeBSD and Linux), computer systems, database management systems, computer networks and web technologies. I’m also interested in anything related to managing large collections of digital media including photos, music, voice and video.

If you’re interested in one of these projects — or if you have your own idea that you think might interest me — then please get in touch. You can use email, but usually it’s best just to bang on my door (room L1.11).

Android Password Store

I use pass to manage all of my passwords. Pass uses standard Unix utilities together with git and gnupg to manage, encrypt and distribute passwords.

All that works well on desktop systems, but not so well on mobile devices, such as my Android phone. And I need my passwords when I’m out and about.

I do have a hack (involving zshaolin and Tasker) which works (kind of) but it’s not really a satisfactory solution.

So, the project would be to implement an Android app to allow pass users to read, use and update their passwords on the go. The project would also involve the use of the use of the Android NDK to incorporate the necessary binaries, which include at least ssh, git, openssl and gnupg.

Rewrite Tasker

Tasker is an Android automation app. It’s really useful for having your phone do stuff for you. It Involves a small graphical programming language, in which you can describe the tasks you want Tasker to perform in response to system events such as a headphone being plugged in, a message being received or being connected to a particular WiFi network.

That’s all very nice. But the pointy-clicky graphical programming language is clumsy and slow. A better solution would be to have some kind of textual programming language (or possibly just JavaScript) in which I could describe what I want my phone to do and when. Better still, I could then put my Tasker-like projects on the web somewhere, and have them synchronised across devices, or share them with others.

So, that’s the project.

Google App Scripts and IFTTT

Take a look at Google App Scripts, then take a look at IFTTT.

Specifically, IFTTT is a kind of web-scale automation tool kit. However, it’s somewhat static in terms of the types of recipes one can create. Zapier is another similar service.

Proposal:

Develop something similar to IFTTT using Google App Scripts; however, with JavaScript as the glue between services.

One use case I’d be interested in is:

  • whenever a message is tagged with a particular label in GMail, HTTP post the body of the message to a given URL.

Bring overhead projectors into the 21st century

It’s crazy in this day and age that we have to plug laptops into cables dangling from the ceiling or snaked across the floor in order to deliver a lecture. One simple solution, would be to buy Chromecasts for every OHP on campus. But, let’s say that’s not possible.

Here’s the project. Develop a small device, based on something like a Raspberry Pi or an Arduino, that can be plugged into the HDMI port on an OHP such that I can deliver slides (and hence lectures) directly from my phone.

Anything else …

If you’ve read this far, you probably have a fairly good idea of the type of project that’s likely to float my boat. So please feel free to suggest your own ideas in which you think I may be interested.