Making DNArtwork #7: how does it work?

This article is available in Czech thanks to Barbora Lebedova.

This article is part of a series documenting my project to make artwork from DNA. In the last article I showed off what the artwork looks like. In this post I’ll explain how I analyse an individual’s DNA to extract the information needed for an artwork.

It’s going to get quite technical, but I’ve tried to include enough information that the interested layman can understand it too, perhaps with a little googling.

Continue reading Making DNArtwork #7: how does it work?

Making DNArtwork #6: the first art print, hot off the press

This article available in Danish thanks to Mille Eriksen.

It took a while (to wit: 3 years of idle sketching in notebooks, 2 months of coding and 100 hours of image rendering from my poor little laptop with its cooling fans constantly blowing like so many tiny hairdryers) but the visual part of the DNArtwork project is complete.

Continue reading Making DNArtwork #6: the first art print, hot off the press

Making DNArtwork #5: drinking the Microsoft Kool-Aid

This post is part of a series in which I explore the building of It’s about how I’ve decided to use Microsoft .NET and Azure as the infrastructure that supports the website because they’re cheaper and better than other technologies. There you go, that’s the conclusion of this article. If you’re reading this series for the DNA and the artwork, you can move along now.

If you’re interested in why this is surprising, then I’ll tell you a story about the computer industry. Not all that many years ago I was personally committed to fighting against Microsoft, which I and many others saw as a corrupting force in that industry. Now I’m actually quite excited about using their new software. This is quite surprising to me, and this article is my way of figuring out how this happened.

By the way, this is one of my occasional long rambling posts. You have been warned :o)

Continue reading Making DNArtwork #5: drinking the Microsoft Kool-Aid

Making DNArtwork #4: the pre-launch page

Since my last post where I decided that my DNArtwork prints should look somewhat like Kandinsky paintings, I’ve been busily coding away, making a computer program that can generate the individual shapes from which a composition can be built up. I’m still near the start of a long road that will hopefully end with a fully functional product later in 2016. But one modern trend in startups that I fully agree with is that its never too early to start selling, and to that end I’ve put a up pre-launch page at to introduce the product and collect email addresses.

Continue reading Making DNArtwork #4: the pre-launch page

Making DNArtwork #2: competitor analysis

There are quite a few companies offering artwork generated from DNA. This is a good thing – unique ideas are overrated, and if you come up with an idea that nobody else seems to have tried yet, it’s less likely that you’re a special genius that had the idea first and more likely that the idea doesn’t work!

Here’s a tour of the currently available offerings, during which I’ll analyse the pros and cons of each and build up a wish list of features for the perfect DNA-based artwork.

Continue reading Making DNArtwork #2: competitor analysis

The non-programmer’s explanation to the Java deserialisation bug

In the last year we’ve had several serious and well publicised software vulnerabilities like heartbleed and shellshock that set the whole tech press chattering and even made the national news. But not all vulnerabilities are as well marketed. One particular bug has been around for years, has been publicly known for over 9 months, but is only recently getting attention due to a report by Foxglove Security and a corresponding Slashdot article. As Foxglove say, “no one gave it a fancy name, there were no press releases” but “this bug is unlikely to go away soon”.

The report by Foxglove is a fascinating read if you’re a Java programmer, but it is very long and deeply technical. My goal is to explain what’s happening in enough detail that everyone else can understand how this bug got there, and why it’s not simple to get rid of. I do assume you are at least a little bit technical. You are reading an article about a software vulnerability after all.

Continue reading The non-programmer’s explanation to the Java deserialisation bug

JavaScript Computer Vision – detecting waves

I have a fun little problem in my current project. Given a video of a person, detect whether the person is waving at the camera.

This is an early prototype that should work on modern versions of Chrome and Firefox.

It’s not perfect and there are many little tweaks that could be done to remove some of the false positives it generates. Still, 10 years ago I’d never have guessed that one day we’d be prototyping computer vision algorithms in JavaScript. Thanks Moore’s Law!