I am currently fixing up Deathfighter game to be a bit more fun on PC. It's not easy to do this since the game is a big chunk of code, some parts not very well written, so it's not easy to refactor it. The other problem is that I worked with this code a year ago and I don't remember the design very well, I also need to work with the code contributed by other team members that I haven't really worked with before. Due to these difficulties, the refactoring is progressing slower than expected.
I am not a very good blogger. Once I start writing, I write too much or I am not happy with what I get, so I delete it. However, writing status reports on a web-site, on the other hand, seems kind of pointless. Who is interested in what I am doing right now? People usually look for the "final thing" and if you don't have it, might as well spend those 10 minutes getting it done rather than writing it on the blog. Things like Twitter are completely alien to me. I don't see why some people would want to follow someone else in their lives.
Just finished a preliminary design for my first ever C++ GUI application. :)

Just picked up my 200th issue of EDGE from the mailbox. It looks as stunning as always with the back cover page showing 200 different cover designs.
You can see the gallery of all covers here and here are some wallpapers.
Make it work, Profile, Optimise. Simple rule that is so hard to follow. In my project I need to carry out a lot of floating point arithmetic operations along the critical path, so I decided to optimise my program with SIMD (Single Instruction Multiple Data) extensions. That's when a processor simulates vector processor operations by sticking 4 32-bit values into one 128-bit register and allows you to carry out operations on all 4 values at once.
Yes, I am still using QtConcurrent. :) Anyway, if you are using QtConcurrent in a console application with no GUI for non-Qt computation you might be wondering what is QWaitCondition and why whenever you terminate your application you receive a message: QWaitCondition: Destroyed while threads are still waiting. I submitted an issue report and Qt staff came back to me regarding this. It seems that, although this isn't specified in the docs, you have to carry out an initialisation step before you can use QtConcurrent.
Here is a bit of matlab code to illustrate how you can convert Euler angles to a Quaternion. The function outputs resulting rotation in Axis Angle form and also prints Euler Angles (transformed from Quaternion) just to show that transformation is correct.
If you are interested in how to transform Quaternion to Euler Angles, have a look at functions to_euler and get_p.
Quaternions are an alternative way of specifying rotations. They do not store redundant information like Euler Angles do, and they require less multiplication operations to combine rotations than rotation matrices. It is also extremely easy to interpolate between two quaternions. Information on quaternions is widely available on the net in different shapes and forms. During my assignment I spent a lot of time researching quaternions and found useful bits and pieces scattered across the web. This guide is an attempt to compile all the material I use now for future reference. Maybe someone will find this useful aswell? Who knows? :)
If you just read my e-mail regarding the research and still want to help, it's not too late! You can find it here.
I just removed MoCap Questionnaire from being displayed as a homepage of my web-site. Out of 50 companies who received my e-mail regarding this project only 3 companies replied. Due to the privacy policy I cannot reveal the names of the companies but I would like to thank their PR managers and Animation staff for finding the time to respond to my query.