Running Women

High definition digital art by South Korean artist Minha Yang features a woman running in slow-motion, distorted beautifully with algorithms:

“Running Women” is the artwork made of numerous motion vectors that is generated by mathematical and physical algorithms. The moving image was taken by high speed camera and transformed into 129,600 vectors. These vectors are capable of controlling 2 million lines containing color characteristic values of rasterized moving images.

These regenerating and recombining processes applied exquisite visual modifications to the original video. The length of original video is 5 minutes long, and it is produced in 4K and 8K resolutions.

More Here

Sorting algorithms

Sorting algorithms are of great interest because of their obvious applications in computer programs, but also because of their mathematical properties. One question in particular: what is the minimum number of comparisons necessary to sort a list of values? For lists of n elements, most straightforward algorithms use O(n^2) comparisons, but this can be improved. The optimal number is O(n log n) comparisons, and no correct algorithm can work faster in general. Check this Wikipedia section for the idea of the proof.

While sorting is a very basic task, there are various algorithms useful in various situations. Some algorithms excel when the input list to sort is already presorted to some degree, by taking advantage of this existing order; those are called adaptive. Other algorithms maintain the relative order of records with equal keys; those are stable. Also the memory usage can be significant.

This website presents visualizations of various sorting algorithms.

BitonicSort focuses on converting a list into a bitonic sequence: one that monotonically increases, then decreases.

BubbleSort repeatedly compares each pair of adjacent items and swaps them if they are in the wrong order, until the whole list is sorted.

CocktailSort is a slight variation of BubbleSort and passes alternately from bottom to top and then from top to bottom.

CombSort checks items on some gap distance away, swapping them if necessary, and repeatedly lessening the gap until the whole list is ordered.

CycleSort is based on the idea that the sequence to be sorted can be factored into cycles, which can individually be rotated.

GnomeSort repeatedly finds the first place where two adjacent elements are in the wrong order, and swaps them.

HeapSort iteratively shrinks the unsorted region of a list by moving its largest element into the sorted region, using a binary heap data structure.

InsertionSort repeatedly removes one element from the input list and inserts it into the correct location within the sorted list.

MergeSort divides a list into two halves, then sorts the two halves recursively, and finally merges the results.

OddEvenSort alternatingly compares all odd/even and even/odd indexed pairs of adjacent elements, swapping them if necessary.

QuickSort works by partitioning the list into two parts according to some pivot element, then sorting the parts recursively.

RadixSort sorts data with integer keys by grouping them by the individual digits sharing the same significant position and value.

SelectionSort repeatedly selects the smallest element in the unsorted region and appends it to the sorted region.

ShellSort sorts pairs of elements far apart from each other and progressively reduces the gap between elements to be compared.

SmoothSort is a variation of HeapSort but uses a custom heap structure.

StoogeSort recursively sorts the initial 2/3 of the input list, the final 2/3, and again the initial 2/3.

TimSort takes advantage of existing structure, by marching over the list once, alternately identifying the next “run” and merging it intelligently.


Secret Messaging service found in Google Translate

Security researchers have discovered that strange variations of latin words from the Cicero ‘Lorem Ipsum’ text translate into totally unexpected sentences using Google Translate. Google have now hard-coded the algorithm NOT to translate the words Lorem and Ipsum, but from my tests you can still create secret messages using other Latin words. Suspiciously a lot of the variations produce sentences with the words - China, Russia, Network, NATO, and so on. Since Google translation algorithms learn autonomously through Machine Learning the researchers believe that someone has gamed the system to make it learn this instead. I guess they may have done this by surreptitiously feeding Google with latin/secret language texts. 



Browser-based real-time live-coding music editor to create your own little Algorave tunes.

Even if you are not familiar with coding, it is interesting to see and hear what and how the electronic music presents itself. You can change anything in the code for differing results (for example, changing the BPM variable or numbers that represent the notes of the bassline).

A lot of the examples sounds very Chiptune and some more sophisticated than others, but the project is constantly being worked on with new features and capabilities.

Worth an investigation if you are curious.

Try it out for yourself here

JONAS LUNDUnder The Influence 2, 2014
oil on canvas in artist’s frame

Jonas Lund’s work is often inspired by data from his studies of art world trends and behavior. Under the Influence 2 is a painting that was developed by an algorithm that analyzed the most successful works from Phillips’s Under the Influence auction series. The underlying patterns of the auction’s top lots, including their medium, composition, color, and scale, determined a set of instructions that the artist used to produce this moody, abstract painting. (Text by Paddles ON! curator Lindsay Howard)

Register to BID IN PADDLES ON! in London on July 3rd →
ONLINE PRE-BIDDING available thru July 2nd on Paddle8 →

This Machine Can Learn About the World Just by Watching It

It’s a possible step on the road to a total surveillance AI like the one in Person of Interest. Researchers from the University of Washington have developed a computer program that teaches itself everything there is to know about any visual concept — without any human supervision.

Open-Source recursive A.I. was once a topic of science fiction and conspiracy, but researchers at the University of Washington and the Allen Institute for Artificial Intelligence in Seattle have developed just that.

A program that can supposedly “teach itself everything about anything” hold serious implications for AI. LEVAN brings to mind the Pentagon’s effort to develop computers that can teach themselves. Revealingly, the research for LEVAN was funded by the U.S. Office of Naval Research, as well as the National Science Foundation.




Interactive sound installation by the prolific vtol algorithmically generates a twenty minute abstract electronic music album from the sounds created from crushing objects - video embedded below:

The main idea of this project is to present exhibition visitors with the chance to destroy any object that might happen to be on their person, in order to transform it into a unique sound composition. The installation consists of five hydraulic presses, capable of crushing practically any object (a mobile telephone, pair of glasses, headphones or whatever). In the process of destruction, a special microphone records the sounds made as the object undergoes deformation, and in just a few minutes, a computer algorithm transforms them into a 20 minutes album.

The project is intended to provoke visitors into spontaneously ridding themselves of material consumer objects for the sake of creating their own individual work of art via deprivation, divestment and destruction. Sound has been taken as the chief medium here with good reason, since sound art is perhaps the least material and most abstract of all genres in art. The technological aesthetic involved constitutes an ironic attempt to make the process of art production into a technological process, but the result, unlike that of mass production, demonstrates a contrary phenomenon – this is a work involving programming and code in the context of generative art, with the potential to broaden the range of instruments at art’s disposal. At the end of the process, the sound production is automatically recorded onto an audio CD and handed over to the participant, completing the process of exchange.

More Here

Factbot by Shardcore

This is a great example of what Factbot is capable of. Factbot algorithmically generates ‘facts’ and post them alongside a suitable found image. Factbot also publishes to tumblr.

The internet is a massive repository of information, from the profound to the mundane. Far too much stuff for a single human to handle, so we prefer to get our facts chosen for us, by newspapers, experts or friends. Increasingly these facts are supplied via social media, such as twitter or Facebook.

Whilst we carefully choose the people we follow and tend to imbue their updates with a degree of authority, we inevitably find ourselves coming across Clickbait stories purely created to ‘drive traffic’.

Often these snippets of information are passed, uncritically, across the network, because they are entertaining, or provocative, or (more dangerously) support our world view. But this process of passing facts around is open to abuse, where ‘facts’ are fabricated, and uncritically passed on.

The Ghost In The MP3

Can’t believe I missed this project …

Audio experiment by Ryan Maguire put together the sounds that are lost in MP3 compression (in this case the track ‘Tom’s Diner’ by Suzanne Vega which was used to test the algorithm whilst in development):

“moDernisT” was created by salvaging the sounds lost to mp3 compression from the song “Tom’s Diner”, famously used as one of the main controls in the listening tests to develop the MP3 encoding algorithm. Here we find the form of the song intact, but the details are just remnants of the original.

A video was also put together demonstrating the effect visually:

How this was done can be found here


The Heap Sort Algorithm

The Heap Sort Algorithm has a best and worst case time complexity of O(nlog(n)). This means that given a list of numbers n it will take Heap Sort only n*log(n) steps to sort the numbers. If the numbers are already in a heap, then Heap Sort is even more efficient. The sudocode for a Head Sort is as follows:

  • for the Wikipedia article with this sudocode [click here]
  • for an implementation of Heap Sort in C++ [click here]

Credit: Wolfram Alpha / Wikipedia