Sunday, September 28, 2008

Exploding custard

Not something I'd normally talk about, but since I was not more than a couple of miles away at the time I thought I'd point everyone towards the exploding custard truck near Chagford yesterday...

CREDIT: The Telegraph/SWNS
Fire crews raced to the blaze after being alerted but the desserts were too well alight and the whole lorry was consumed in just 20 minutes.

...you couldn't make this stuff up.

Friday, September 26, 2008

An ADS to KML mashup

The idea of ADS to KML came up over morning coffee on the last day of the .astronomy meeting, and by the close of the conference I had most of it hacked together...

Publications for Allan, A. as KML

What am I talking about? A lot of papers on ADS now have links to the SIMBAD database for further information on the objects they discuss. For instance I was recently a co-author on an exo-planet paper which links to the relevant objects in SIMBAD...

The mashup at that point was obvious. Do an ADS query and look for all the papers with links into SIMBAD, then do a series of follow-up queries on SIMBAD and grab all of the objects mentioned in the papers. Then generate a KML file of your publication history, which you can either display directly in Google Sky, or embed into a Google Maps for Sky as I've done above.

Of course not all papers reference objects, and not all papers with objects have SIMBAD links, especially older papers. None the less, having run my script to generate a KML file for several colleagues now it actually gives a fairly good representation of their research interests.

You can grab the perl source code and have a play around with it yourself, you'll need my Astro::ADS module which you can grab from CPAN.

You could imagine several ways to extend my quick hack. If you had a large enough group of astronomers, and therefore a large enough number of papers, you could produce heat maps of the sky instead of using simple push pins. You could cross-correlate your own publications with that of a group or institute where you're thinking of applying for a job, or the publication output of a survey team with the footprint of their survey...

Comments welcome, but yes, I already know it's an interesting but essentially pointless hack. I mean other comments...

Tuesday, September 23, 2008

Getting out of the armchair

My talk (13MB PDF) given earlier today at the .astronomy conference in Cardiff...

via Ustream.TV

What are you waiting for?

So one of the more interesting posters here at the .Astronomy conference is from the WETI Institute. Who ask, "What are you waiting for?"...


Waiting is a notoriously underappreciated method in our efforts to search for extraterrestrial intelligence. It is cheaper and less stressful than any other type of research. It is also environmentally friendly and does not cause global warming, terrorism or nuclear conflicts.

More from Stuart and Chris...

Monday, September 22, 2008

.astronomy

I'm currently sitting in the .astronomy conference in Cardiff, talking about astronomy and the new media. You can watch along with us over the next few days; we're broadcasting live on Ustream, Twitter and slightly delayed on YouTube...

via Ustream.TV

Update: My conference talk is now online...

Tuesday, September 16, 2008

GDD08: Wrapping Up

After picking up my free Google t-shirt, I'm back downstairs in Space Invaders wrapping up the day with the closing keynote...


Closing keynote...

After announcing the launch of the UK Developer Blog, we're turning around and heading back upstairs for beer, food and random fun...


Developer Day Wrap-up Video

We're done for the day, another year, and another Google Developer Day. Pictures from throughout the day can be found on my Flickr photo-stream...

GDD08: The Google Web Toolkit

I was a bit undecided about the last session, in the end I decided to go to the Google Web Toolkit: The Technical Advantage given by Sumit Chandel.


Sumit Chandel talking about GWT

What are the advantages of GWT? Firstly you get faster AJAX applications, it's faster than write-by-hand code, because the compiler takes care of cross-browser issues for you. You get free optimization, but of course that doesn't mean that you can throw general good programming practices out of the window, so in-efficient algorithms in GWT are still going to be in-efficient after optimization.

The next advantage is deferred binding. Why give the user more than they asked for? Users only download what they need to run your application. The compiler makes different bindings for your application at compile-time and choose the right one later.

Another advantage is that, with deferred binding in place you get to skip the browser quirks, you only need to code the abstraction of a given widget rather than having to handle them by hand.

Next, no more memory leaks. It's almost impossible to trace memory leaks in Javascript because there are so many ways to cause them. So provided you only code in GWT, this shouldn't happen to you.

GWT also means that your application gets history support, an implementation of the RSH protocol...

You also get code reuse though design patterns, something as a Perl person I'm not sure I believe in all that much. Although possibly that's just because I think loosely typed languages are a good idea and have never really understood Java programmer's obsession with the Gang of Four and patterns.

Another advantage is (supposedly?) faster development with IDE's and code support. Now here again, I'm not sure. I've never really been sold on development environments in general. I know good people who swear by them, and good people that think they're horrible. Perhaps I'm getting old?

Next advantage is proper testing of your AJAX application, and debugging with hosted mode. This is a definite advantage, testing AJAX applications, or Javascript code in the browser, is really hard.

Moving on, we're talking about what's new in GWT 1.5. Released at the end of August it includes Java 5 support, easier interoperability with JavaScript using JSO overlays, enhanced DOM class for full specification compliance and better application performance.

...and we're done.

GDD08: What's New in Geo

After lunch, and I decided to skip the code labs and head for What's new in Geo with Jean-Laurent Wotton and Russell Middleton. Which means, oddly enough, I'm back in Donkey Kong...


Jean-Laurent Wotton and Russell Middleton

Russell kicked the session off with a Google Maps introduction to get everyone up to speed with the API. Handing over to Jean-Laurent we're being shown how to use the Maps geocoding service.

Moving on from the introductory Maps material we're talking about cool new features. First up, is the AJAX Search API, which has actually been around for a while...

Next up is Static Maps API, which lets you embed a Google Maps image on your webpage without requiring JavaScript or any dynamic page loading, and last week started serving satellite imagery as well as the normal map type. Interestingly there is also a Static Map Wizard to allow you to build a (moderately) sophisticated map without any knowledge of coding.

Now Russell is talking about the Flash API, which lets you write the code in ActionScript 3, compile it against the Google interface library and output a SWF containing the Map. I'm not a Flash guy, no pun intended, but it looks fairly solid.


Jean-Laurent and the Google Earth API

Back to Jean-Laurent and the Google Earth API which was introduced a few months ago. Although of course, as a Mac user, I still can't get at the Earth API, and there doesn't seem to be any news on the arrival of Linux and Mac versions of the plug-in as yet. Cool demo though...

Next is Google's Street View Service and how to display these both in and outside the Maps interface. Also pretty cool, although it's not yet possible to overlay anything on top of the panorama as yet.

Moving on, the final new feature is location detection. Until recently the user had to centre/zoom in their location themselves, the solution is automatic detect the user's location using the Maps AJAX API. The Maps API now automatically tries to geocode the user's IP address, and if successful it will make this location available to the application. If successful you can also capture the city, country, country code and region.

Next up is image overlays, and how the Google Maps interface can be used to navigate custom images by defining a custom overlay.

Finally, we're moving on to KML and network links, where as it happens, I'm on fairly solid ground so to speak...

...and we're done.

Update: Except we're not. Jean-Laurent and Russell have handed over to Angela Rele from the Met Office about using Google Earth to show the global impacts of climate change and the Google Outreach project.

GDD08: What's New in Gears

After the break I'm back in Donkey Kong and listening to What's new in Gears with Aaron Boodman.


Aaron Boodman talking about Gears

The point of Gears is to add functionality to web applications, but Gears isn't just about "offline", what Google is trying to do is expose the capabilities of the local machine, whether that's your desktop of your mobile phone, to your web applications.

Every Google Chrome installation has Gears pre-installed, but Gears now supports IE, Firefox, Opera, Safari as well as Chrome. Although the Safari port was only launched yesterday. However the latest Android build also comes with a Gears stub, not full support, but it is coming soon.

We're spending some time talking about Gears' Desktop API and shortcut icons, and the File System API. The file system allows multi-file selection, fitering my extension or mime-type, native OS look-and-feel and makes sure the user has full control...

Obviously what you want to be able to do when you select a file, you want to do something with the contents of the file, and web applications can't. Which is what the Blob is for, it's a generic interchange format.

Next up is the Resumable Upload API which sits onto of the Blob API, which is apparently now live on YouTube. You can in theory parallelize the upload, but most browsers have a fairly low connection limit per-domain, so you can parallelize uploads up to that limit.

I'm going to use Chrome, because they told us to use Chrome as much as possible. But it does work on the other browsers...
Perhaps one of the coolest of the new APIs is the GeoLocation API, which can make use of on-board GPS, cell-phone tower and Wi-Fi access point triangulation. But developers can implement plug-ins to provide more methods of location. It should degrade cleanly, the API will provide the best guess of the user's location to your code.

What's next for Gears? More of the same, continue to unlock the capabilities of the host system.

...we're out of slides, and the floor is open for questions.

is there any plans to allow applications to share data between domains? This is a problem Google has, and initially they thought about sharing databases together, but that seems like a recipie for disaster. What Gears has is Cross-origin Workers, a secure solution to the cross-origin restriction policy of the browser.

...and we're breaking for lunch. Still not sure whether I'll end up in a code lab or the main tracks for the rest of the afternoon.

GDD08: A Deeper Look at Google App Engine

It was a long walk between the keynote room, dubbed Space Invaders, and the App Engine talk here in Donkey Kong, and Google has set up a number of feeding stations along the way for weary developers...


Mano Marks talking about App Engine

But I'm now in "A Deeper Look at Google App Engine" given by Mano Marks.

We've got the first estimate so how much App Engine is going to cost above and beyond the amount Google is giving away for free, about US$40 if you use double the amount of traffic in your preview allocation. There is also support for cron'd jobs, SSL and other languages, apart from Python and presumably the already semi-public effort to port Perl to App Engine, coming soon.

After a brief discussion about what Mano can't talk about, mostly when new languages are coming to App Engine and what those languages will be, we've dived directly into the code, and we're looking through the example that will be used in the App Engine code lab this afternoon. Which I still haven't decided whether I'll go to yet...

We're talking about Bigtable, the storage mechanism underlying App Engine, and Mano is really trying to emphasize that it's not a relational database, it's an object orientated (schema-less) database.

After running through request handlers and entities, we're now talking about counters. One major difference between relational database and a distributed datastore like Bigtable. Bigtable doesn't know counts by design, must scan every entity row. Google is encouraging developers to create a separate entity that you can increment every time a entity is inserted, and decremented every time one is removed. However if you're doing frequent updates you'll end up with a requests queuing up to update the counter. The solution is to use a sharded counter. You create a number of shards, and when you go to increment the counter you pick a entity at random. Mano is now running through how this works in practice...

Mano is showing an implementation of sharded counters using Bigtable and memcache, I'm wondering why this isn't available as a default Google library so is just becomes the way counters are done with Bigtable..?

...and we're out of slides, opening the floor to questions the first one is exactly that. Why aren't counters built into Bigtable? The answer is, "good question". They're trying to keep the environment as clean a Python environment as possible, but I'm not entirely convinced that answers the question?

Interestingly, the recommended work around for the lack of cron support is to set up a remote call that polls a known end point inside App Engine periodically. However you need to remember that every job on App Engine only has 10 seconds to run, and is killed after that time limit is reached, so if you're trying to do something periodically that might take a lot of time to complete (for instance re-indexing) you might have to split this request up into chunks.

...and we're done.

GDD08: The Opening Keynote

The keynote is apparently about what Google is doing for developers, and why we should care...


The opening keynote

The keynote is a hard sell for the "open web". Google believes that the browser is the client, but that modern web applications are pushing the limits of what is possible in the browser. We're getting a demo of some of the multi-process architecture of Google Chrome, and it's actually pretty impressive. I've already managed to test Chrome out, despite it currently being Windows only, and so far I must admit I'm pretty happy with it...

Next up is Gears, designed to allow you to extend the browser and enable richer web applications. The latest release has some interesting new APIs, the GeoLocation API, the Blob API and onprogress( ) events.

We're now talking about the cloud and, amougst other things, Google App Engine and the scalability advantages of using the Google infrastructure instead of your own.


Android running on mystery hardware

Moving on Mike Jennings is taking the stage, and demo'ing Android running on real hardware, amusingly with the vendor's logo taped over, although it looks like an HTC handset. The device has wireless, 3G, GPS touch-screen and accelerometers, looks good...


After the hardware demo we're back to talking to client, cloud and connectivity and GWT. A set of open source tools and libraries for writing really large scale AJAX applications. At a high level GWT is about writing your web applications in the Java programming language and cross-compiling to Javascript that is guaranteed to work on IE, Firefox, Safari, Opera and Chrome.

The final topic in the keynote is Open Social, many sites, one API. But not, unfortunately, Facebook...

...and we're done. The rest of the day is devoted to more in-depth technical sessions.

Google Developer Day 2008

I'm currently holed up in "Space Invaders" waiting for the first keynote of Google Developer Day 2008.


Space Invaders

For those of you who didn't manage to talk your boss into letting you blow an entire day on this thing, the Google Developer YouTube channel should have all talks.

I'm currently intending to go to Deeper look at Google App Engine followed by Google Gears. Then after lunch I'll either be going to the Building a simple application using Google App Engine code lab or What's New in Geo and the Google Web Toolkit. Either way I'll try and keep blogging all day, and while unlike last year the wireless network is holding up under the strain remarkably well, we still don't have any power sockets.

This year's event is, at least so far, fairly light on free stuff. We've been given a gift wrapped, USB key drive, that's actually faintly unsettling when in use. No silly putty, t-shirts, or yo-yo's this year. You can't have it all...

Update: Posts from the Opening Keynote and Deeper look at Google App Engine session.

Update: Post from the What's new in Gears session.

Update: Posts from both the What's new in Geo and the Google Web Toolkit sessions.

Update: The closing keynote. Now time for beer, food and random fun...

Update: Pictures from throughout the day can be found on my Flickr photo-stream, and videos of most of the day will be uploaded to the Google YouTube channel real soon now...

Thursday, September 11, 2008

First impressions of the Dell mini 9

Quite unexpectedly on Thursday morning, over a week before my predicted ship date, my new Dell Inspiron mini 9 arrived. I wasn't alone of course, it seems that they were arriving on doorsteps everywhere, and after playing with it over the weekend I thought I'd post my first impressions of Dell's new netbook.

Posted on Flickr by aallan.
The mini 9 with my 13-inch Macbook for comparison

It's hard to convey how small this thing is, none of the pictures I've taken so far show that, it just looks laptop sized, although the above with the mini perched on top of my Macbook comes close...

Ergonomically then, things are a bit of challenge. I'm still getting used to the keyboard, and I'm unsure whether I'll ever be able to touch type properly on it, and here the somewhat eccentric placement of some of the keys doesn't help. However, it's useable. The same can be said of the processor, I've found the mini somewhat sluggish, although that could be my frustration with Windows shining through. However, again, it's usable...

More than useable in fact, I'm impressed. The screen is just big enough, at least for me, the keyboard isn't really all that bad. It's fast enough and it hardly weighs anything. The power brick isn't huge and, so far at least, the battery seems to last the predicted three and a half hours.

My current plan is to try and use the netbook as it one is intended to be used, and fortunately Dell hasn't loaded XP down with the traditional bloatware. I've installed Google's new Chrome browser and generated desktop icons for Google Mail and Google Reader. I've installed Jungle Disk to access my Amazon S3 buckets, and as much as possible I intend to live in the cloud.

We'll see how that goes...

Thursday, September 04, 2008

The 3 HSDPA Dongle Review

I've just dropped the HSDPA dongle I've had on loan into a prepaid envelope to return the hardware to 3, so I thought I'd better write up my experiences with it now while it's still on my mind...

After some initial teething troubles I got the dongle working under OSX on my Intel Macbook, and gave it a fairly thorough work out over the course of the last couple of months.

As can be seen from their rollout map, 3 doesn't yet have any HSDPA coverage down here in the South West. Locally then, I'm suffering under the same sorts of problems I had with 3's Skypephone. The places where there isn't any 3 coverage is rather long; my house, my office, the cities and towns I visit regularly. The list of places where there is coverage is considerably shorter, and that's bad. What this also implies is that the problems seen with HSDPA when on the fringes of coverage are perhaps more significant than you might think.

However, whether a wireless modem works when you're in your own living room isn't, perhaps, as relevant as how well it works when it isn't. I used it extensively when I was out in Italy for the Trieste meeting roaming onto the 3 network there, and if I hadn't had the dongle on loan, I'd have only have been paying UK rates to do so...

I've also made use of it on various trips up and down the country, while stuck in hotel rooms, on trains and in coffee shops. I found it to be a good backup if wireless wasn't available. That said, performance was noticeably more sluggish than wireless, and if wireless access was available I generally still ended up paying for that rather than using the dongle.

Because somewhat unfortunately I found the process of using the dongle klunky and inconvenient. Coverage wasn't always there, and when it was there it wasn't there automatically. If I wanted to make use of it I had to dig the dongle out of my bag, plug it in, wait for it to find the 3 network, then wait for it to connect, wait for authorization. A lot of waiting...

I think I would have found the process a lot less inconvenient if HSPDA was built-in to my laptop, and like WiFi, automatically connected to a network when one was present. I'd like my data connection to seamlessly switching between wired, Wi-Fi and HSDPA when needed, without having to do do any fiddling around. Which I why I found the Dell and Vodafone announcement earlier today so interesting. You have to wonder how well integrated Vodafone's HSDPA card and Dell's mini 9 are going to be?

Three blew the roof off the mobile data market late last year when then started offering flat rate mobile broadband. Except of course it's not unlimited, their biggest plan has a data allowance of 15GB a month for £30. Which by mobile network standards is pretty good going. But despite the fact I wasn't paying for the bandwidth I found myself obsessively checking how much of the data allowance I was using, and the days where that's acceptable to me are long gone...

So the question I'm asking myself is "what's it for"? With a 15GB per month allowance this would never replace my home ADSL connection, I'd blow through that within the first week. So this is strictly for when you're out of the house, and the office, traveling. Perhaps this isn't normal, but most of the traveling I do is to the US. I don't spend much time in Europe, and less time than that traveling around the UK. Which means that I'd be paying £3 per MB when roaming, which clearly is just totally unacceptable.

So perhaps what I'm really saying here is that for me, this isn't the solution. Even when in Europe, and paying 10 pence per MB rather than £3 per MB, it isn't really good enough. However if you do most of your traveling in the UK, or within the coverage of a 3 sister network, perhaps you should take a look. It could be well worth your while.

As always then, your mileage may vary...

The Mini 9 with built-in HSDPA?

Hot on the heels of the official release of Dell's new netbook, the Inspiron mini 9, is the news that Dell has shaken hands with Vodafone on a co-marketing deal.


However the rumour is that, unlike similar deals, the Dell netbook will ship (at least here in the UK) with built-in HSDPA broadband. Which will certainly set the cat amoungt the pigeons...


If true, and initial reviews of the netbook certainly suggest that there could be more than a grain of truth here, this is exciting stuff.

Update: Okay, that's official. Although there isn't any news as to cost as yet, Vodafone would be mad not to significantly subsidise the already fairly moderate cost of the mini 9. Free with a contract data plan sounds like a decent price point to me...

Now I have to decide whether I should pick one up now, or wait? If I buy now, can I get an HSDPA board for it later, or will I be stuck without WWAN access? Decisions, decisions...

Update: The Vodafone press release...

Update: If true, the news that the stock version of the mini 9 "...doesn't have the internal antenna infrastructure needed to support mobile broadband", isn't good...

The Dell Inspiron Mini 9

The much rumoured and long awaited Dell Insipron mini 9 was released officially today, both in the US and in the UK. Although from the looks of things the US rollout isn't going that smoothly, with XML errors and unreachable web pages that are appearing and disappearing at random...


The bad news is that while there are three models in the US, priced at US$349, US$399 and US$449, only the top end model has seen the light of day here on the other side of the pond, priced at £299. The UK version is also only shipping with Windows XP, there isn't an option for an Ubuntu installation, as there is in the US...

However, taking the exchange rate into account, and the fact that the US prices aren't quoted with sales tax included, the UK price is actually (for once) fairly comparable with the US price for the same hardware. Well done Dell. But unfortunately there is more bad news...


There isn't any sign of the red version of the new notebook, either here or in the US. While in the US you can have the mini 9 in either white or black, shades of the Apple Macbook there? On the UK side of the pond you can have any colour you like, so long as it's black. Unfortunately for Dell, the red version was the reason I wanted one in the first place, it's certainly the reason my wife wants (wanted?) one.

The good news? Apparently additional colours and a version shipping with Ubuntu are "coming soon"...

Update: Also coming soon is a version of the mini 9 shipping with built-in HSDPA broadband from Vodafone...

Tuesday, September 02, 2008

This is not the Earth you are looking for...

After spending more time than I should hacking Sky support into Maps.app on my iPod touch I'm somewhat ambivalent about the arrival of Earthscape on the App Store (via the Google Earth Blog).


This is not the Earth I was looking for...

Earthscape has poor imagery outside of the continental United States, and the current version has no KML or accelerometer support and no search capability. Right now at least it's a cool toy. I've bought a copy because I quite like cool toys and I'm sure a bunch of other people will buy it for the same reason, and as a technical demonstrator it's impressive. But as a useful tool? Not at the moment.

At which point I guess I'm still waiting for Google Earth, and Google Sky, for my iPod touch. Of course I can't yet get Google Earth in a browser on my Mac, so I might be waiting a while...