Category Archives: personal

CopyDoc2XML – Part 1: The evolution of a tool

I haven’t really posted anything in a while because I’ve been working since June-ish as Tech Lead on a mammoth mobile project. It has kept me incredibly busy, but also has been a fantastic learning experience so far. I can’t mention the client yet, so for now I will refer to it as Project Blackbeard.

This is the first in a series of posts about a tool I am midway through writing to allow what the client sees as a copydeck to be converted into an xml file needed to make the copy appear in an app/website.

Part 1 focuses on the problem, and the convoluted process I forced myself into when solving it.
Part 2 will focus on the actual development of the final solution up to its present state.
Part 3 will focus on features that I hope to add in the future if I am blessed with more free time.

Continue reading

Video Filters Demo from Philips: Parallel Lines

Philips Cinema: Parallel Lines Image

I just got a new Macbook Pro, and while clearing out my hard disk I found a filters demo I did when working on Philips Cinema: Parallel Lines. I’ve cleaned it up a bit and added some buttons.

The bottom row of filters are the ones that I used in my drawing tool in Matteo’s Secret. The middle four on the top are interesting. I think the performance is pretty good.

View it here.

Highfalutin’ Convolutin’

Convolution Image

I was doing a code test recently where I was asked to write an html 5 gallery. It led me to reach a couple of conclusions:-

  • HTML5 video is a lovely idea but from a practical implementation standpoint is stupid and useless because of the ridiculous browser requirements.
  • The canvas 2d context API is woefully underpowered.

Today I will be ranting about and playing with the second idea. We’ll start with introducing the CanvasPixelArray. We’ll apply a grey filter to an image, then we’ll move on to writing a simple convolution method.
Continue reading

Xoom Xoom Xoom!

After battling with myself for a few months over iPad vs [Insert Android Tablet], I decided to get myself a Motorola Xoom. It is now rooted and ready to go. Let’s see what silly things I do with it. Just need to finish this damn Fruitshoot project to give myself some free time…

I Want To Hurt Your Eyes!

Diagonal Line Clock Image

I’ve ‘officially’ left unit9, but I couldn’t leave the last project half finished so I’m still pretty busy tying up loose ends. In my downtime I got interested in some visual trickery, so I spent an hour doing a little vectory clock thing. Click the image above to show it.

Press space to show/hide the background.
The left/right arrow keys move the clock by 1px to mess with the alignment on the background.
Hold shift to move 10px at a time.
Make sure to click the canvas to make sure the flash has focus or the keys won’t work.

An Initial Salvo into HTML5

HTML 5 Logo

I’ve been playing with the drawing API for flash for a long time now, but I’ve not really looked into drawing using the HTML5 canvas tag. So i decided to take a gander at the W3C Canvas 2D context spec.

I decided to do a little test to compare drawing with AS3 to drawing with Javascript. I used a little animation I had done where I draw a circle over time, but vary the radius with time so it doesn’t end up as a circle. You can check out the javascript here, i’m sure it’s clunky and definitely not perfect in any way, I just wanted to knock up a quick demo.

One thing of note is that relying on a setInterval in javascript for an == conditional clause is highly unreliable. I think the condition was met once initially, and then never again as the browser jerked its way through the animation, resulting in the clearInterval never being called. Instead of checking for equality i ended up checking for greater than or equal to. Seemed to work.

It seems like a bit of a pain to draw over time with canvas, or just doing vector drawing in general.

Here’s the link

Google Maps Style Editor

Working on a style editor in as3 for the Google Maps V3 API.

Click here to launch it.

At the moment you can pick an element and edit all the options available. It generates a style for that element with every property defined.
Things to do:

  • Add switches so properties can be turned on or off so that not all elements are defined in the code.
  • Make the mechanism for removing styles easier instead of the ugly dropdown.
  • Generate style code and copy to clipboard.

I Love Minecraft!

Minecraft Image

My friend Tom told me about Minecraft after we went flying today. We went back to his flat after and played it. Oh my, it’s fun! I have no idea why, but it is. Needless to say I bought it straight away. How much of my life will I now lose?