Programming an Android Zotero Client - Part 1

Programming an Android Zotero Client - Part 1

I've started writing an Android application. It's almost ready for release on the Google Store. This is the first time I've properly ventured into the app-economy. It's been an interesting few months thus far. I have a few tips for these starting out.

Go-lang and CMake

Go-lang and CMake

At QMUL, we are a CMake shop. I personally love cmake, and how easy it is to integrate into other things like test frameworks, Jenkins and the like. Go makes a really good attempt to force you into proper management of your projects but it's a bit of a pain to force into your workflow sometimes. Fortunately, we've managed to get cmake to play nicely with golang's various commands.

Fortran, CUDA and Fluid Dynamics

Fortran, CUDA and Fluid Dynamics

I've been working on a project here at QMUL for a while now, utilising Fortran90, CUDA and a library called OP2. It's been quite a ride really, with lots of things to learn. I've finally had a bit of a breakthrough getting things working, so it seems like a good time to share some thoughts.

Writing a password management page in Go

Writing a password management page in Go

I've been meaning to play around with Go for a while. A project came across my desk that was just perfect for getting to grips with this modern language

R2kS - A Novel Measure for Comparing Gene Expression Based on Ranked Gene Lists

R2kS - A Novel Measure for Comparing Gene Expression Based on Ranked Gene Lists

One of the first jobs I've worked on for Queen Mary University is a small program to compared two ordered lists. Pretty simple right? Well, not when you have lists 200 thousand plus elements wrong and several hundred thousand of theses lists! Now we have a lot of computing power for this but we have to apply a bit of brain power to harness all that metal.

Giant Tetris on a building; RI Xmas Lectures

Giant Tetris on a building; RI Xmas Lectures

Myself and Tom Wyatt were approached by the Royal Institution Christmas Lectures this year to help with one of the demos for the lectures; a giant game of Tetris to be played on the side of the Shell Building, Opposite the London Eye. Of course, such opportunities don't often arise, so we jumped at the chance! A fun, interesting project to inspire children to hack more with their gadgets and possibly annoy their parents in the process! Fantastic!

UTOPIA Bio-informatics Toolkit

UTOPIA Bio-informatics Toolkit

UTOPIA is a collection of two programs and set of plugins written in Python. Cinema is a sequence alignment tool and Ambrosia is a 3D visualiation program. The two are designed to work together; one can visualise a particular section of a protein and analyze the 3D structure of certain elements. Both programs can load python plugins to import different sequences and alignments, allowing researchers to work with different online databases (of which there are many I've found).

Bullseye's playground for Target and Psyop

Bullseye's playground for Target and Psyop

I was asked to help out with Target's latest marketing campaign; a set of mobile games running through WebGL, called Bullseye's Playground

Echoforms at Lexus NX Launch

Echoforms at Lexus NX Launch

Hellicar and Lewis and I were asked by Lexus to take EchoForms to their launch event in Paris.

Kaleidoscope for Lexus

Kaleidoscope for Lexus

It's not often I do advertising work. It all depends on who I'm working with and what the challenge is. In this case, I was approached by Hellicar & Lewis to build a WebGL based Kaleidoscope in about 4 days. No small order really, but I decided to step up and give it a bash.

The Equatorie

The Equatorie

I was approached by The Whipple Museum at the University of Cambridge to help build a 3D representation of the Equatorie as part of the digitisation of the original manuscript. I was teamed up with a lovely historian Seb Falk, who you may have seen running the London Marathon as the London Gherkin. Together, we got cracking.

Oculus Rift, meet Phantom Limb Therapy

Oculus Rift, meet Phantom Limb Therapy

Working with the University of Manchester, I built a 3D engine that combines the oculus rift, the asus xtion and the MD5 Model format attempting to treat sufferers of Phantom Limb Pain This is version 3 of the project and is the best yet, thanks largely to the Oculus Rift.

Phantom Limb Dev Diary Part 4

Phantom Limb Dev Diary Part 4

Skeletal Animation is annoyingly hard! To be fair though, its the real crux of this whole gig. Getting the skinning working right, the bones all moving properly and the whole thing being easy to use is 90% of this project. So i’ve been spending a fair bit of time with the MD5 model format.

Phantom Limb Dev Diary Part 3

Phantom Limb Dev Diary Part 3

One of the things you don’t find a lot of, is how people organise their graphics engines or similar. I’ve begun reading up on the Doom3 engine but it’s quite extreme, or rather, quite a lot to take in at once. Im concerned with how things like three.js, Cinder, or OpenFrameworks deals with the problem of the graphics Pipeline.

Phantom Limb Dev Diary Part 2

Phantom Limb Dev Diary Part 2

So Ive been working on the Seburo backend and I’ve hit that old chestnut again - textures and images. Classically, I’ve had issues with this because its something that just needs to be done, and I get frustrated with how tedious it can be.

Phantom Limb Dev Diary Part 1

Phantom Limb Dev Diary Part 1

So the time has begun to start on Phantom Limb Part 3. For these who have not seen the previous versions of this project, the idea is to immerse a person, who suffers from phantom limb pain, inside a Virtual Reality simulation in order to learn more about the condition and hopefully, provide some comfort for the person in question.

Photo-realistic hands

Photo-realistic hands

The University of Manchester came to me, asking if I could render a series of hands that were as realistic as possible. The plan is to fool a human into thinking the resulting images are real. With that in place, certain parameters can be tweeked in order to facilitate an experiment into mirror neurons.

Burberry Kisses, with Google and Grow Interactive

Burberry Kisses, with Google and Grow Interactive

Recently, I was approached to work on the new Burberry Kisses campaign with many other people, in order to help Google and Grow Interactive get their interactve maps in order.This involved working in WebGL, javascript and a little bit of Unity.

Museum of Rural Life Smart Audio Guide

Museum of Rural Life Smart Audio Guide

Have you ever been in a museum and wondered about what you might be missing? Things you might not have seen but want to see? Well, this is a step towards that. A system that tries to figure out other objects you might be interested in.

Coin Detection at the British Museum

Coin Detection at the British Museum

The Coins and Medals Department at the British Museum have a problem. They need to keep records of their collection. This involves scanning each and every coin, cropping the images, rotating them, stitching the two sides together and processing the filename. You can quickly imagine how labour intensive and tedious this job can be.

The Carp and the Seagull

The Carp and the Seagull

A WebGL Interactive movie. The story revolves around our chap, Masato. He is a fisherman who is doomed, basically. The story is told in 4 chapters inside a cube. As the cube is spun we see the real world and the netherworld, lighting strikes, fish jump and our fisherman fishes. The story is a classic tale of one man's life going wrong.

Animation12 - The Boom Box!

Animation12 - The Boom Box!

As some people might know, I like to take part in things like Animation12. Its a good thing to do for children and it helps make for an interesting day out. This year I wasn't attending but I was asked to create a gadget, a special prop

Only Installation at the Lowry

Only Installation at the Lowry

After seeing the video for 'Only' by NIN, I decided I really wanted to make that work in real-time. The very first version used an infrared camera and OpenCV within OpenFrameworks and was quite a laugh really. I learnt a lot while building it. When the Kinect came out, I figured a rewrite was needed and since I wanted to learn more hardcore C++, I decided to go with Cinder.

Deutsche Bank Installation

Deutsche Bank Installation

It's arrived! Finally, out of NDA we have the Hong Kong Deutsche Bank Installation. This was led by the rather talented Field.io who decided to pass around some of the work to local creative, programming types such as MSAVisuals.

British Library Tweet-o-meter

British Library Tweet-o-meter

The tweet-o-meter is a set of meters that records the rate of tweets around the world.

Animation10

Animation10

Kids looking slightly confused but intrigued as to what is going on and what all these weird and wonderful things are. Most were totally drawn in by all the strange bits Manchester had managed to rustle up which was great news indeed.