Hashing, Searching and Sketching

We are doing a lot of work at Talis at the moment on refining the indexing and searching capabilities in our platform. To that end I’ve trying to get up to speed on subject; anyway I came across this fascinating tech talk over at google on using Hashing and Sketching to get improved search results. Its a little over an hour long, and does get very technical in parts but nonetheless it gives a really insight into the possible gains that can be achieved through locality sensitive hashing functions and sketching ( the compression of large complex objects into a few bytes and then comparing these representations to determine how similar objects are).

Robot Introspection: Self Modeling.

Josh Bongard, Victor Zykov and Hod Lipson over at Cornell University have been working on a very interesting research project developing a small robot that can create an “internal model” of itself and then use that model to generate successful motor patterns for movement, before and after damage.

This is based on the notion that higher order animals, like ourselves, have some form of an “internal model”, even though we dont necessarily think about it consciously, yet it helps us to plan complex action and understand their consequences. For example we know if we fall from a great height we could break our legs, if we put our hand through a flame it will burn ( and yes thats generally a bad thing! ) – more fundementally we know we have two arms, two legs, we know where they are in relation to each other and we understand how to use them, as well as what their limitations are.

The guys at Cornell have succeeded in demonstrating how a small long legged robot can synthesize a model of its own topology and then based on this model it can navigate around a small environment and in doing so synthesizes new behaviour before and after it has been damaged, Think of it in terms of a person who has to get from one side of a burning room to an exit on the other side and cant walk because his/her legs are damaged – most humans wont simply lay down and wait, we would crawl, or drag ourselves along.

Here’s a picture of the robot they have developed

Is it just me or does their robot look a hell of a lot like those replicators from Stargate SG1?

You learn more about this research at the projects homepage here.

Here’s a really cool video of the robot in action.

Here’s a link to to their latest publication on the project entitled “Resilient Machines Through Continuous Self-Modelling“, which is well worth reading.

Cluster your JVM to simplify application architecture

Watched this tech talk over at google today, about using Terracotta’s DSO to act as network attached memory sharing critical parts of the Java Heap across servers. The talk focuses on how clustering in the runtime provides a simpler development environment without hindering scale out.

Got me thinking about how this could be quite useful for building distributed applications.

Find out more at http://www.terracottatech.com/.