Google Patent Search service launched

Google has launched a patents search service at http://www.google.com/patents which as a service looks quite interesting.

On a slightly a related subject ZDNET reports that U.S Patent Office awarded a Design Patent to Google that covers “the ornamental design for a graphical user interface” of Googl’e search results page. Google are not patenting “searching” but that the specific visual look of their search page.

Some critics are pointing out that the awarding of this patent is more evidence that the granting of software patents is spiralling out of control. This whole issue is currently being debated by the Supreme Court.

Outsourcing developers abroad … Do people still really think its a good idea?

Had an interesting evening went to the gym and ran into an old friend I’ve not seen in a few years. We sparred for a bit (its a guy thing … guess we wanted to see which of us had improved the most since our last … encounter … it was me of course not that I’m insanely competitive … honest!)

Anyway afterwards we went to to grab a bite to eat and catch up on what we’ve both been up to. We both work in the IT industry and love development but we tend to have differing views on a lot of things ( Listen J were not starting the Java vs .NET argument on my blog if you do I’ll really kick your ….). Anyway J and I both used to work for the same company and the senior management of that organisation has recently announced that its going to outsource the development of some its long term projects overseas to India, citing that engineering talent over there is cheap and thus far more cost effective … but they intend to run the projects from over here. As a result my friend, like many of his colleagues are obviously worried about their futures and whether the company will want to retain their services as developers for much longer. Anyway this kind of got me thinking …

I’m not going to pay credence to any of those boorish, tired and lamentable arguments about how its morally wrong to take UK jobs and hand them to people overseas. The fact is we live in a global economy and we have to accept that we need to remain competitive in that economy. Besides I believe that kind of xenophobia generally tends to cloud the issue and overshadow far more important reasons as to why outsourcing is a bad idea for our industry.

I remember towards the tail end of the 90’s when venture capitalists where really pushing the idea of outsourcing development to places like China and India it’s cheaper, more cost effective and will help the organisations overall operational effectiveness. I’m of the opinion that this was generally because they looked at other industries where that model worked really well, I guess what they thought was if Matel can manufacture toys abroad cheaper, why cant we get software written abroad cheaper, right? Lots of large firms bought into this thinking Oracle and Hewlett Packard are just two examples of companies that followed this trend … only to slowly distance themselves after encountering the problems I touch upon below.

The problem though, is that writing code isn’t something you can translate into an assembly line. What I think the people pushing this type of outsourcing failed to comprehend, and seemingly still dont understand is that farming out development overseas doesn’t lead to innovation. The idea that you get a a large group of programmers together and they’ll just produce cool code – doesn’t work! I remember at university I did an elective in post-war Japanese history (wish I could tell you that I did this cos it was interesting but the truth was the lecturer was the hottest chick I’d ever …*off daydreaming*), anyway one of the things we were taught was that the japanese rebuilt their economy around their manufacturing industry, using automated methods of production and rigourous quality control. Through all of this they actually revolutionised manufacturing industry globally the effects of which are still being seen today.

Towards the end of the seventies and into the eighties Japanese companies tried to set up software factories where they basically got a shed load of developers together and tried to apply their tried and tested manufacturing experience to writing software … they failed miserably and learnt that putting loads of developers together doesn’t create innovative software. The reason is that writing software isn’t something that translates into a purely mechanical activity – like making a toy or a car. So none of their tried and tested rules applied.

Someone famously once said every line of code is a design decision, I’m struggling to remember who it was [insert clever guys name here]. But that single statement embodies for me what the real problem is with outsourcing projects abroad. You loose sight of the decisions that the developers are making as they piece together the product from your requirements. Farming out to developers overseas successfully means you have to pay meticulous attention to the details of what is being produced, and that’s damn difficult when you factor in communication problems, cultural differences and attitudes, and like it or not glaringly obvious fact that this model makes it difficult to be flexible or be able to react quickly to changes in your market place.

Anime: Ghost in the Shell Standalone Complex 2nd Gig

Ok so I finally got the second season on DVD on Friday.


Ghost In The Shell: Stand Alone Complex – Limited Edition Complete 2nd GIG (Play.com Exclusive Tin Box Set) (14 Discs)

And yep I watched it all over the weekend. Theres 26 episodes each one is approx 25 minutes long. I’d rate it as excellent

I began watching it with a bit of trepidation, I kind of conviced myself it wasnt going to be as good as the first stand alone complex. If anything this was better! Whilst the show doesnt require you to have seen the first season or either of the two movies, it definitly does help if you have. There are references to the laughing man incident which the the first season was based around. Also the second season doesnt really contain an explanation for what a Standalone Complex is. So heres my definition: Standalone Complex is a theoretical mental complex which is attributed to the mass cyberisation of the public. The first series explained how standlone complex was a term used to describe copies that have no original and this is realised through copycat crimes that dont appear to have an original criminal, in other words they are based on the actions of an imaginary criminal. The first series was based around The Laughing Man, a mysterious cyber terrorist who Section 9 ( our heroes ) must battle against. (ok this is a spoiler less review!)

The second season which is a completely different story sees Section 9 investigating a terrorist group calling themselves the Individual 11, who are battling to see an independent state formed for refugees being exploited around japan. Both series deal with the corruption of government and the manipulation of public opinion through the manipulation of the media. Ironically watching the series made me think about current events and ask how much of what we are told is actually the truth or how much has been “spun” by politicians who are persuing their own agenda. But hey thats the topic for a different day.

The animation quality is awesome, the action mind blowing, but most of all the social and technological and ethical issues the show touches upon are not only thought provoking but do you force you to re-evaluate your own beliefs. Some of the discussions between the characters can leave you bemused though I did wonder whether I needed a degree in Pyschology and Politics to be able to follow some of the dialogue, but nevertheless it makes you think.

I thoroughly recommend it. And if you cant fork out for the box sets then theres always the Ghost In the Shell movies.

The maths behind Google’s page ranking

David Austin penned this article, which is currently being featured by The American Mathematical Society. The article details how Google’s PageRank algorithm works, which can be summarised as:

The fundamental idea put forth by PageRank’s creators, Sergey Brin and Lawrence Page, is this: the importance of a page is judged by the number of pages linking to it as well as their importance

The article is fascinating to read and Austin does an excellent job illustrating the workings of the algorithm using mathematical forumulae, diagrams and some examples.

Book Review: How to survive a robot uprising

How to survive a robot uprising
How to survive a robot uprising: Tips on Defending Yourself Agains the Coming Rebellion
by Daniel H Wilson

This is easily one of the funniest books I’ve ever read! In a nutshell its a survival guide written by robotoscist Daniel H Wilson that aims to prepare the reader with a load of useful tips on how best to quash a robot mutiny. Wilson borrows from famous sci fi movies and then uses scientific fact to predict what robots might be like in the future. It’s a tongue in cheek vision of the future but also a legitimate introduction to contemporary robotics.

After reading the book I wanted to find out more about the author, and came across this video which is part of the Google Author Series. Daniel describes why he wrote the book and its also incredibly funny to watch and listen to.

I thoroughly recommend this book and if you have the time watch the google video you wont be disappointed.

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.

Installing IE6 and IE7 on One Machine … well kind of.

I’ve been playing around with testing some changes to the user interface for our Project Cenote research prototype. Unfortunatly the new IE7 update was rolled across all the machines at work and it means I cant test to see how the changes I’m playing with look or even work in IE6. Anyway I tried to look around to see if it was at all possible to have both version of the browser running on a single machine – and thats when I came across an interesting article by Jennifer Kyrnin entitled How to install two version of IE( IE6 and IE7) on One Machine.

I was a little disappointed though I guess I was kind of hoping for a solution that didnt involve creating a Virtual Machine. The article does tell you exactly how to get two versions of IE working on the One Machine, however the only way to get it to work is to use run a Virtual PC running an instance of Windows XP that has IE6 installed in it. That way your native PC has IE7 and you can flick to your VPC to test pages with IE6. Its an excellent little tutorial and well worth a read if you need to get around the problem. I prefer VMWare over VPC and I guess I’ll get our wonderful support team to set up a VMImage running WinXP for me without the IE7 patch but still ….

I do get a bit frustrated at the fact that I cant simply choose to install IE7 without loosing the ability to use IE6 … but that would probably mean that Microsoft would have to seperate their browser from the OS – of which its still seamingly an integral part.

Oh well its a good thing that IE isn’t the only browser out there … did I mention how much I really, really like Firefox! It’s totally free, you can run more than one version on a single machine, and its still much better rounded and far more extensible than IE.

Get Firefox

SearchMash, Google Spreadsheets and Google Docs updated

Looks like Google have been busy. Theres been major updates to Google Spreadsheets and Google Docs. You can access both at docs.google.com using your GMail account. In addition to being able to create documents and spreadsheets using Googles new online editors you can also upload documents in MS Word, OpenOffice, RTF, HTML and Text. Once you have created your document you can download it to your desktop in any of the above formats. The same is true of Google Spreadsheets. You can also invite other users to share your documents online. Finally you can now publish your online documents and spreadsheets directly to your blogs!

SearchMash Logo

SearchMash is Google’s new web search interface, just without the Google branding apparently in an attempt to ensure impartiality amongst test users. The new search interface boasts some cool features – integrating web search, images, video, blog and Wikipedia searches all into one dynamic page with modules that expand and collapse. I really do like it … it aggregates results from several sources onto one easy to use screen. Try it for yourselves.