Lifes too short – write fast code!


This is the second talk that follows-up on the 14 best practices from YSlow and “High Performance Web Sites”. The first talk presented three new best practices: Split the Initial Payload, Load Scripts Without Blocking, and Don’t Scatter Inline Scripts.

The most important of these is loading external scripts without blocking other downloads and preventing page rendering. One complication is this may introduce undefined symbol errors if inlined code uses symbols from the external scripts. Luckily, there are several techniques to workaround this problem. That and other topics will be covered in this presentation of three more best practices:

* Coupling Asynchronous Scripts
* Use Iframes Sparingly
* Flush the Document Early

Much of this talk discusses material from Steve’s book, High Performance Websites: Essential Knowledge for Front-End Engineers. The talk is full of great advice, I found the discussion around loading scripts both synchronously and asynchronously and the performance gains that can be achieved. However this has to be combing with understanding that you also have to couple scripts together in order to preserver the order they are loaded in, as well as understanding that by default loading external scripts blocks download of other elements on the page. Steve discusses a number of techniques that can address these issues as well as the pros and cons associated with each. His discussion around John Resigs idea of using degrading script tags is extremely useful.

This is a hugely useful tech talk and a must for anyone doing serious Javascript development.

Tim Berners-Lee: The next Web of open, linked data

20 years ago, Tim Berners-Lee invented the World Wide Web. For his next project, he’s building a web for open, linked data that could do for numbers what the Web did for words, pictures, video: unlock our data and reframe the way we use it together.

This is an inspiring talk by Tim that goes to the heart of the work that we are doing at Talis with our Platform and the new generation of products we are building on the platform, such as Talis Aspire and Talis Prism.

    "Data is relationships!"
    "The really important thing about data is that the more  things
       that you have to connect together the more powerful it is."       

A wonderfully simple and succinct way of describing the importance of Linked Data. It’s a great talk and well worth watching.

“The Sixth Sense” – Wearable Tech

This demo — from Pattie Maes’ lab at MIT, spearheaded by Pranav Mistry — was the buzz of TED. It’s a wearable device with a projector that paves the way for profound interaction with our environment. Imagine “Minority Report” and then some!

Think Microsoft Surface without the table! This is amazing. The basic idea is that this device can augment our reality by providing information about objects we interact with in the real world. This immediate access to information at all times reminds me of Cory Doctorow’s book “Down and out in the Magic Kingdom”.

Anime Reviews …

Seem to have watched a lot of anime over the last few months. Here’s a couple of brief reviews:

Guyver: The Bioboosted Armour
This new 26 part collection is a modern makeover of the original classic 1980’s anime series. Based on Yoshiki Takaya’s popular manga. The remake boasts a wonderful soundtrack with stunningly stylized animation and character designs as well as amped-up levels of violence and gore. I wasn’t entirely sure what I’d think of this series, I loved the classic series which was way ahead of its time and was hugely skeptical of this remake. The Guyver tells the story of Sho Fukamachi, a normal everyday teenager who accidentally comes into contact with a power bio-weapon called a Guyver unit. To his surprise and horror, this mysterious unit takes over Sho’s body and transforms him into an incredibly powerful mechanized warrior. With his newfound powers, Sho must protect the people he cares about from the sinister Chronos Corporation and their army of monsters (called Zoanoids) who will stop at nothing to retrieve the Guyver for their own devices and eliminate anyone who knows of it’s existence. I have to admit, I really enjoyed this series!!

I first watched Akira when I was only eleven years old, it was the first anime movie I had ever seen and changed my perception of ‘cartoons’ forever. Even today the animation doesn’t look dated at all largely due to the attention to every conceivable detail. Set in 2019, the film richly imagines the new metropolis of Neo-Tokyo, which is designed from huge buildings down to the smallest details of passing vehicles or police uniforms. The movie centers around the relationship between two disaffected orphan teenagers: the slight, somewhat timid and resentful Tetsuo and confident, breezy Kanada. Both of them are members of biker gang, but trouble grows when Tetsuo start to resent the way Kanada always has to rescue him. Meanwhile, a group of scientists, military men and politicians wonder what to do with a collection of withered children who possess enormous psychic powers, especially the mysterious, rarely seen Akira, whose awakening might well have caused the end of the old world. Tetsuo is visited by the children, who trigger the growth of psychic and physical powers that might make him a superman or a super-monster. You can read a detailed summary of the plot here. Akira is one of the most critically acclaimed of all anime titles and since its release in 1988 has been massively important in influencing the entire genre. I watch it from time to time and never seem to tire of it.

2009 an update …

During a conversation with a certain cat loving friend of mine earlier on in the week it was suggested to me that its been a while since I’ve blogged anything other than short pieces highlighting bits of news or content out there on the web. She’s absolutely right. So here’s an update on 2009 so far, and what the next few months hold …

The last three or four months have been particularly busy for me. I took a long holiday before Christmas in order to give myself time to reflect on everything that happened in 2008. As far as year’s go it pretty much sucked! I had a lot of personal stuff to deal with most of it around coping, or failing to cope, with the deaths of a number of people who were close to me – including my father. I’m pretty good at burying myself in work as a way of not having to deal with other things unfortunately that only works for so long, in fact I’m surprised I actually got to the end of the year before finally accepting that things were broken inside. I’m lucky though, I have a lot people around me who keep an eye on me, and care enough to give me a kick when I need it – and they did. I was convinced to switch off from work and everything related to work and focus on dealing with the things that I knew I needed to.My hiatus over christmas was spent with my family trying to understand everything that had happened last year which inevitably meant finally accepting that I needed to grieve.

I sometimes hold it half a sin
To put in words the grief I feel;
For words, like Nature, half reveal
And half conceal the Soul within.

     from In Memorium, Alfred Lord Tennyson

So I wanted to firmly place the events of 2008 in the past and move forwards again. 2008 was painful and difficult yet I also enjoyed a number of personal and professional successes. In 2009 I want build on those successes, and leave the past firmly where it is.

In terms of my personal life there are already some big changes I’m in making but I’ll leave discussing that for another day, suffice to say that I think I’m happier now than I have been in years :).

Professionally I was appointed Head of Development for our Xiphos Division at Talis. I’m still trying to settle into the role which brings its own challenges 🙂 . However leading up to christmas our division had successfully entered into piloting a new product called Aspire at Plymouth University and since then it’s also been deployed as part of a wider pilot at Sussex University. Functionally Aspire is a resource lists product that helps lecturers and students make best use of the educational material for their courses. Technically Aspire is a Linked Data application built directly on top of our Talis Platform, a platform that provides the infrastructure for building Semantic Web applications. I’m loving the work, its technically very challenging there’s so many different things that need to be considered. Lots of people and organisations are talking about the semantic web but there’s only a relatively small number of organisations that are actually building real world products and solutions using these technologies – products and solutions that are actually targeted at end users – for me this is primarily why the work is both exciting and hugely rewarding.

Building Aspire is forcing us to innovate and explore ideas and possibilities that we might not have otherwise considered. A case in point is the way in which we have embedded RDFa into the our list page and our editing tool manipulates this model directly within the HTML DOM simplifying the process. This is discussed in a W3C Case Study, and was commented upon by Ivan Hermann last month. Much of the work we are doing at the moment is around adding more features to Aspire during our beta phase. Whilst part of this will be around specific features aimed at users, we are also looking at linking to other data sets and exploring what we else can do within this ecosystem of rich semantic data.

Finally, I mentioned on several occasions last year about work I was doing in my own time around building a tool that aided in visualising and exploring the socio-semantic web. That work got shelved towards the end of 2008 largely because I couldn’t focus on it with everything else that was going on. However a new year, a new beginning means that project now has a new lease of life … and it finally has a name: Omnius. It’s named after a thinking machine from the Legends of Dune series which I was re-reading around the time I was thinking about a name for this project. I had actually wanted to call it Erasmus but that name had already been taken on google code ( and erasmus_browser sounded sucky! ). I’ve created home for this project on google code, I’ll be adding more information very soon. However please remember I am only working on this during my spare time, for me its both a hobby and an interesting technical (and UX) diversion … it hasn’t yet turned into an obsession so the rate at which I’ll be adding to it is limited in terms of the time I’m able to devote to it 🙂

… so watch this space.

The Palestinian Perspective: What the world looks like from the West Bank


When I first visited the Palestinian territories, I was afraid I would have to hide my identity as an American and possibly wear a headscarf. To my surprise, I was warmly welcomed exactly as I was, and after more than two years living and working there, it remains one of my favorite spots on earth. The people are charming and generous, the landscape is gorgeous, and the parties, concerts, and beer gardens in Ramallah are world-class.

But behind all this looms the conflict, the occupation, and violence. Since September 2000, more than 5,500 Palestinians and 1,100 Israelis have been killed. A series of walls, fences, roadblocks, checkpoints, army bases, and settlements keep the Palestinians in the West Bank under an almost constant state of siege and strangle the economy of many towns and villages, including Bethlehem. Gaza has been turned into an open-air prison whose desperate inmates can only get vital supplies through smuggling tunnels — which also transport weapons that Palestinian militants use to target Israeli civilians.

Using photographs, stories, and statistics, this presentation colors in the Palestinian experience, with all its complexity and contradictions, as it is rarely shown on the news or in books. It is a fascinating world of beauty and terror, of hospitality and homicide, of the absurd and the sublime constantly together — a microcosmic view of a little-understood human story with global implications.

Speaker: Pamela Olson
Pamela Olson graduated from Stanford in 2002 with a major in physics. She lived in Ramallah, West Bank, for a year and a half beginning in the summer of 2004 and worked as a journalist for the Palestine Monitor. She interviewed the first elected female mayor in the West Bank, witnessed the 2005 Disengagement from inside the Gaza Strip, and served as the foreign press coordinator for Dr. Mustafa Barghouthi’s Presidential campaign against Mahmoud Abbas in January 2005. She later worked for a year at the Institute for Defense Analyses in Washington, DC. She is now writing a book about her time in the West Bank called Fast Times in Palestine.

This was an unusual subject for a Google Tech Talk, part of me thinks it might have been more appropriate under the authors@google series, largely to head off the kind of flame wars this topic seems to illicit. That being said it is an incredibly moving talk about life in the West Bank. There are parts of her talk that fill me with hope and others that fill me with despair. Her description of the west bank as a huge ‘open air prison’ is a heart breaking image.

Drop-in JavaScript Performance

Browsers are continually upgrading – providing new features from the latest specifications. We’ll look at modern JavaScript and DOM techniques that you can easily drop in to your applications for instant speed-ups.

This is a great tech talk by John Resig that covers features in upcoming browsers such as new javascript engines in the major browsers, audio and video tagging in FF3.1 and Opera 10, total ACIDIII Compliance in Safari 4 as well as desktop integration; dramatically better performance in IE8 over IE7 etc.

We’ve started doing a lot of RIA work using JavaScript at Talis so understanding how to write cross browser, performant scripts its a must. This talk is great food for thought for anyone who wants to understand modern browser architecture and benefit from some great tips.

Linked Data and Scientific Publishing

Tim Berners-Lee gave a talk at TED2009 on Linked Data. The slides for the talk can be found here. TED have not made this talk available for viewing yet. However part of the focus of the talk was around linking raw scientific data with existing linked data sets already out there. I’ll post a link to the talk when and if it becomes available.

What is good to see though is how closely this aligns to the work that our Xiphos division is doing and the ideas that we are experimenting with.

Designing Innovation Networks on Life’s Origins and Evolution

Highly innovative organizations face a constant challenge to process a flood of good ideas, both generated by employees and submitted from outside. In the wake of Google’s Tenth Birthday Competition, this talk describes how innovation networks apply principles found in life’s origins and evolution to “processing innovation.” Debates about how novelty emerged in the origin of life and its evolution toward complexity demand revising assumptions that we’ve taken for granted. Steven Jay Gould said that “Darwinism” misrepresents Darwin.

A more complete interpretation of Darwin’s theory of evolution could inspire new problem-solving methods with a range of practical applications, from multi-agent systems able to learn and improve their performance to cross-disciplinary decision support systems designed to address environmental sustainability challenges. Objective. To discuss nine principles of innovation networks and the problem-solving method they support.

A very interesting talk! It also reminded loosely about some of the ideas discussed in Swarm Creativity.

Why PHP Won

An excellent article by Eric Reis over on his blog in which he talks about “why PHP won” in his web application development over other (web scripting) languages:

As a language, it’s inelegant. Its object-orientation support is “much improved” – which is another way of saying it’s been horrendous for a long time. Writing unit tests or mock objects in PHP is an exercise in constant frustration. And yet I keep returning to PHP as a development platform, as have most of my fellow startup CTOs. This post is about why.

Its an interesting piece in which Eric chooses to describe PHP’s success in terms of what a new language might have to do better in order to challenge PHP’s popularity/success, in short he suggests the following:

  • Speed of iteration (a good write/test/debug cycle)
  • Better mapping of outputs to inputs
  • A similar standard library
  • A better OOP implementation

I have to confess I found myself agreeing with Eric. His piece is well worth reading!