Review: The Who – Greatest Hits Live

The Who at its best is the equal of any live band ever, so the new double CD Greatest Hits Live has plenty of potential. On the other hand, cherry-picking from concerts over a 42-year period (1965 to 2007) is unlikely to offer the coherence or adrenalin rush of a single concert – get the sublime Live At Leeds in the unlikely event you have not heard it yet – and much of this material has appeared before, especially if you snagged the fanclub-only release View from a Backstage Pass.

The first CD here covers the original band including the late, great Keith Moon. Not a bad track here, though personally even by 1976 there was some decline in the band’s live performance in my opinion.

The CD does not present the songs chronological order which seems odd to me. I’ve sorted them for the list below. Great to have the songs from Hull, the day after the famous Leeds gig. In detail:

BBC Session 1965
My Generation

Leeds 14 Feb 1970
Magic Bus

Hull 15 Feb 1970
Happy Jack
I’m a Boy

San Francisco 12 Dec 1971
I Can’t Explain
Behind Blue Eyes

Largo 6 Dec 1973
Won’t Get Fooled Again

Charlton Athletic FC, 18 May 1974
Naked Eye/Let’s See Action/My Generation

Swansea, 12 June 1976
Pinball Wizard
I’m Free

CD2 on the other hand starts 15 years later. The first part is a good chunk of a 1989 concert from a tour which honestly was not one of The Who’s best. But it is still The Who and worth hearing. Then we get a scattering of tracks from more recent concerts, including a fine Real Me from Watford in 2002 and Eminence Front from Brisbane last year. Overall though, it’s not a particularly good representation of the best latter-day Who. In fact, I’d rather have had the entire Watford concert. In detail:

Los Angeles, 24 August 1989
I can see for miles
Join Together
Love Reign O’er Me
Baba O’Riley
Who Are You

Watford 31 Jan 2002
The Real Me

Royal Albert Hall, London, 7 Feb 2002
The Kids are Alright

New York, 11 March 2007
A man in a purple dress

Brisbane, 24 March 2009
Eminence Front

Overall, enjoyable but not a very satisfactory release. I’d recommend the At Kilburn 1977 [DVD] [2008, which also includes a concert at Coliseum 1969, ahead of this – the Coliseum concert on that is just fantastic. Greatest Hits Live on the other hand is mainly for Who enthusiasts.

Intel’s compiler is best for AMD too says software director

I attended Intel’s software conference in Barcelona earlier this week, and took the opportunity to talk to Director of Software Products James Reinders. I asked him about the complaint from the FTC, which I reported on here, that Intel deliberately underperforms on non-Intel CPUs, specifically those made by AMD. Was it a valid complaint?

He was surprisingly (to me) forthright.

It’s not valid. It’s misguided. Intel’s compilers are very high performance. If you use our compiler, you’ll get better performance on Intel or AMD processors than if you used anyone else’s compiler. That’s always been our goal. We believe – I’ll use the words “in general” and that’s a legal disclaimer – in general we’re better. Why don’t I say always? Always is an absolute. Nobody is “always” anything. We are as close to always as we can figure out to be. We have many customers that use our compiler, ship code, because they believe it gets the best performance on Intel and AMD. We will back that. If you find that our compiler is getting less performance on AMD than someone else’s compiler, we consider it a bug. That includes AMD processors.

We settled the suit with AMD, we agreed that we wouldn’t do things we were accused of in future – well, we didn’t do them before. There’s a lot of proof points. AMD used our compiler for benchmarking for a long time. They didn’t do that because we were lower performance.

There are a lot of technical nuances, details of what we do in our compiler that are confusing. One of the challenges is how do we produce a binary that runs best on Nehalem, and on an older Intel processor, or on a processor that supports SSE 2.0 but not 3.0? We have technology in our compiler to try to adapt to that. We mix into that blend AMD, because AMD processors have different capabilities, in the same way that our processors have different capabilities from each other. Yes, people will say, “hey, your compiler’s checking for an AMD processor”. Yes, absolutely, we also check to see if we’re on a Intel processor that only supports SSE 2.0. We have to. AMD processors don’t support the same instructions we do. Our processors have a lot of variety too.

The short answer is that we didn’t do what we’re accused of, we’re very serious about being an excellent compiler for AMD as well as Intel, and this extends to our libraries too.

So that’s telling them. Is he correct and it was a misguided complaint? Well, as I mentioned previously, there are issues of disclosure as well as performance if you are publishing benchmarks; and it is hard to believe that Intel devotes equal effort to optimisation on AMD processors as for its own. Nevertheless I respect Reinders and don’t dismiss his statement. Perhaps Intel’s compiler is OK for AMD after all.

Rethinking netbook vs laptop

I’m at Intel’s software conference in Barcelona, and I’ve not taken a laptop with me – well, not unless you count this little Toshiba NB300 Netbook. And you should. A netbook like this one is not different in kind from a laptop; it simply represents a different blend of the usual ingredients: processor speed, battery life, screen size, features.

With hindsight, it was inevitable. Until relatively recently, vendors assumed – partly because it was to their advantage to do so – that as technology improved, we would want more powerful laptops but with similar size and battery life and at a relatively high price. In reality that was misjudged; many of us would willingly trade some performance and features in favour of longer battery life, and a smaller size is more convenient for travelling. The performance issue is nebulous anyway; although we think of a netbook as low-end, in reality it performs as well as a high-end laptop a few years back, and which did not seem under powered at the time.

The cycle was broken by Asus with the original Eee PC running Linux, which proved immediately that there was a ready market for this kind of compromise. Next came Windows 7, which was the first Windows release to have lower real-world system requirements that its predecessor. Stick Windows 7 on a netbook, and you have a decent little portable. In honour of its launch yesterday, I installed Visual Studio 2010 on mine:


Granted it’s a little slow, and the 1024 x 600 screen not ideal, but it works. Give it a couple of years; the netbook of 2012 will probably run this stuff rather well, if you can think of a reason to do it.

Personally I think smaller, lighter and longer battery life are all big features and make a “netbook” a better choice than a laptop for many uses. Apple’s iPad is another twist on the same theme, making portable computing more convenient.

Magazine chief: iPad users – prepare to be retrained

The Guardian has an interview with Future Chief Executive Stevie Spring. Future is a major magazine publisher based in the UK. I was interested to hear how she believes the iPad could change the industry:

We’ve had a whole decade of people paying, believing that if they paid for the pipes they got the poetry free; [they think] ‘I’ve paid my £15 or £20 for broadband so I get access to a library of content’. The iPad gives us an opportunity to retrain them. Content production is not free and good content is worth paying for.

I am all in favour of more people paying for content. However, there are a couple of aspects of this line of argument which concern me. One is pure scepticism – how many print readers will actually be willing to transition to paying for online content just because the iPad is a convenient way to consume it? The problem is that while print has an unique appeal, once you are online it is easy to find equally good content for free, in the case of the consumer magazines in which Future tends to specialise.

The other concern is a deeper one. I get the sense that Spring is talking about content delivered as apps, since this is a proven business – people will more willingly pay for an app, apparently, than subscribe to a web site.

However, content delivered in an app is one step forward, two steps back. The step forward is possibly richer content, with the full power of the local machine. The steps back are that it is not part of the world wide web – not searchable or linkable.

Finally, there is the Apple problem. Is this a Future where we have to be Apple customers in order to enjoy its publications?

Apple locks down its platform just a little bit more

How much money is enough? “Just a little bit more”, said J D Rockefeller; and Apple is taking a similar line with respect to control of its mobile platform. It is no longer enough that all apps are approved by Apple, sold by Apple, and that a slice of any sales goes to Apple. It now wants to control how you make that app as well, stipulating the tools you use and prohibiting use of others:

Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine.

On the face of it, bad news for third-party companies like Adobe, whose Flash to iPhone compiler is released tomorrow, Novell’s Monotouch, or Unity3D:

JavaScript and C# scripts are compiled to native ARM assembler code during the build process. This gives an average performance increase of 20-40 times over interpreted languages.

What is interesting is not only the issue itself, but the way debate is being conducted. I don’t know how Novell is getting on in “reaching out to Apple” concerning Monotouch, but as far as I can tell Apple introduced the restriction by revising a clause in a contract shown only to paid-up iPhone developers and possibly under NDA, then seeing if anyone would notice. Now that sparks are flying, CEO Steve Jobs is participating by one-line emails to a blogger referencing a post by another blogger, John Gruber.

Further, his responses do not altogether make sense. Gruber’s post is long – does Jobs agree with all of it? Gruber says that Apple wants the lock-in:

So what Apple does not want is for some other company to establish a de facto standard software platform on top of Cocoa Touch. Not Adobe’s Flash. Not .NET (through MonoTouch). If that were to happen, there’s no lock-in advantage.

Probably true, but not the usual PR message, as lock-in is bad for customers. How much are inkjet cartridges? I suspect Jobs was thinking more of this part:

Cross-platform software toolkits have never — ever — produced top-notch native apps for Apple platforms. Not for the classic Mac OS, not for Mac OS X, and not for iPhone OS. Such apps generally have been downright crummy.

As it happens, I think Gruber, and by extension Jobs, is wrong about this; though it all depends what you mean by the output of a cross-platform toolkit. Firefox? NeoOffice? WebKit, as found in Safari? Jobs says:

We’ve been there before, and intermediate layers between the platform and the developer ultimately produces sub-standard apps and hinders the progress of the platform.

Well, we know he does not like Java – “this big heavyweight ball and chain” – but there are many approaches to cross-platform. In fact, I’m not even sure whether Jobs means technical layers or political layers. As Gruber says:

Consider a world where some other company’s cross-platform toolkit proved wildly popular. Then Apple releases major new features to iPhone OS, and that other company’s toolkit is slow to adopt them. At that point, it’s the other company that controls when third-party apps can make use of these features.

The point is: we don’t know what Jobs means. We might not know until apps hit the app store and are approved or not approved. It is a poor way to treat third parties who are investing in your platform; and that was one part of the reason for my initial reaction: it stinks.

The other reason is that I enjoy the freedom a personal computer gives you, to install what you want, from whomever you want, and the creativity that this inspires. At the same time, I can see the problems this has caused, for security, for technical stability, and for user experience. Personal computing seems to be transitioning to a model that gives us less control over the devices we use, and which makes a few privileged intermediaries more powerful and wealthy than anything we have seen before.

In the end, it is Apple’s platform. Apple does not yet monopolise the market – though my local supermarket has iPods in all sorts of colours but no other portable music player on sale – and the short answer is that if you don’t like the terms, don’t buy (or develop for) the product.

As Apple’s market share grows, the acceptability of its terms will lessen, and protests will grow louder, just as they did for Microsoft – though I hesitate to make that comparison because of the many differences between the two companies and their business models. Having said which, looking at Zune and Windows Phone 7, Microsoft seems to like Apple’s business model enough to imitate it.

Apple’s impact on Flash penetration

While checking the latest figures from riastats for an article, I noticed something that surprised me. The installed figures for Adobe Flash, while still over 96%, seemed a shade down on what they used to be. I could think of only one reason for that – Apple. I switched the operating system to Mac OS X and saw this:


That’s 14.18% of OS X users who do not have Flash installed. By contrast, only 3.98% of Linux users show “Not detected”. I am presuming that OS X includes iPhone and iPad, on which Flash is unavailable.

Apple banning Flash applications from iPhone 4.0? That stinks.

John Gruber reports on a new clause in the iPhone 4.0 SDK, to be agreed by developers before downloading:

3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).

Gruber interprets this as prohibiting Flash applications compiled to iPhone, as well as other development tools such as Monotouch. Flash compilation for iPhone is a feature of Creative Suite 5, to be launched on Monday 12th April.

This raises several questions, including:

1. Why? Why should Apple care what development tool is used, provided it behaves correctly? Applications are still subject to Apple’s approval,  distributed through the App Store, and if commercial are also subject to Apple’s fee.

2. Is this anti-competitive? I guess this depends on the answer to (1) above.

Either way, it stinks. It especially stinks if Apple gave no notice to companies such as Adobe and Novell; but it stinks anyway.

That said, it’s a beta SDK and a beta agreement so … it could change.

If the clause is intended, enforced and remains in the production SDK, expect fireworks. Given that the designer community loves both Apple and Adobe, there will be some stressed folk out there; they will make a lot of noise.

I have asked both Apple and Adobe for comment, and will report back on the responses.

Update: Adobe has tweeted:

We are looking into the new SDK language. We continue to develop Packager for iPhone OS which will debut in Flash #CS5

Dancing on a pin: Microsoft belatedly answers Open XML critics

Microsoft’s Doug Mahugh has replied to accusations from ISO expert Alex Brown that the company is doing little to implement its own Open XML standard. The issue is that the XML document formats in Office 2007 are, from the ISO perspective, meant to be “Transitional” – a compromised format designed to interoperate with existing binary documents – and that the standard Microsoft is meant to be implementing is “Strict”, an improved standard that can more easily be implemented by others.

Mahugh says:

I’d like to state clearly and unequivocally at this time that we will support reading and writing of ISO/IEC 29500 Strict no later than the next major release of Office, code-named Office “15.”

He doesn’t say whether or not it “Strict” will be the default in Office 15, which we can expect to see in around 2013. This is the real pain-point for users: if the default changes, the result is the frustration of sending or receiving unreadable documents.

Microsoft is dancing on a pin. On the one hand, it wants to convince governments, academics and other standards-sensitive organisations that Microsoft Office does the right thing. On the other hand, the benefit to users of breaking document compatibility for the sake of ISO compliance is rather invisible.

Document compatibility is the thinking behind having read-only support for Strict in Office 2010 (and coming to Office 2007). If Microsoft can get read-only support widely deployed, then in 2013 the Strict documents that start to circulate will not be so problematic.

The approach is not completely unreasonable; these things take time. That said, Microsoft’s communication of its intentions has been poor. Further, Mahugh does not answer the parts of Alex Brown’s post that address quality:

It is also a worrying commentary on the standards-savvyness of the Office developers that the first amateur attempts of part-time outsiders find problems with documents which Redmond’s internal QA processes have missed. I confidently predict that fuller validation of Office document is likely to reveal many problems both with those documents, and with the Standard itself, over the coming years.

My perspective on this as a journalist is that Microsoft did not consider Open XML or standards compliance even worth a mention in its publicity so far and its detailed reviewers’ guide for Office 2010. That suggests it is not much of a priority.

So full support in 2013 or thereabouts. My expectation is that by then saving and editing documents online will be more common than it is today, and that the assumptions the Office team seems to make about the steady progress of its huge desktop suite are likely to prove faulty.

Book Reviews: Programming F# and Beginning F#

I’ve been working with Microsoft’s new language F# recently and enjoying it. If it catches your interest, you might turn to a book in order to familiarise yourself with the basics. Here are two which I’ve looked at. They are both aimed at experienced developers who are new to F#.

Programming F# by Chris Smith

Programming F# comes from O’Reilly. It kicks off with Hello World and an introduction to the interactive console in Visual Studio 2010 – a great way to try out F#. Next we get a summary of types, and a brief explanation of how to write an F# program – stuff you have to know.

Chapter 3 is an introduction to functional programming, and also mentions type inference, an important F# feature. The following chapter explains mutable programming in F# – yes, you can do it; it is just not the default behaviour – and also covers exceptions. Chapter 5 turns to object-oriented programming in F#, another distinctive feature, while chapter 6 covers aspects specific to .NET such as garbage collection. That’s about half the book, and gets you up and running with the language.

The second half of the book is more interesting, looking at ways of using F#. Smith looks at applied functional programming, including pattern matching, recursion, continuations and closures. Next, there’s a look at applied object orientation. Chapter 9 covers scripting with F# – an interesting use case – and includes welcome examples for things like copying files and automating Microsoft Office. Chapter 10 is a key one, explaining computation expressions that let you create workflows and all-but extend the language. It’s “a very advanced concept that even expert developers can have a hard time grasping,” admits the author, though he presents it clearly.

Next we get a section on a likely reason for picking up F#: asynchronous and parallel programming. There’s a wide-ranging chapter explaining both .NET and F# asynchronous techniques, including the .NET Parallel Extensions. It’s a little confusing, especially since Smith observes that F# asynchronous workflows are sub-optimal for CPU parallelism; he recommends the .NET Parallel Extensions because of the better thread management it offers.

The last chapters cover .NET Reflection, code analysis and generation with Quotations – “deep wizardry”, says the author. An appendix summarises .NET Libraries and F# interop with COM and native code.

While this is an excellent language introduction, and thorough within the topics it covers, some aspects disappointed me. I cannot find any mention of F# agents, based on the MailboxProcessor class (nothing to do with email), which is a surprising omission; F# designer Don Syme sees it as a critical feature for scalable web development. Nor is there anything on graphics processing, another common usage, or any hint about how you might use F# for financial analysis. I also found it rather dry overall – hard to avoid with so much plumbing to cover, but I feel the author could have conveyed a little more excitement about what F# enables. Don’t make this the only F# book you read.

Beginning F# by Robert Pickering

This Apress title covers similar ground as the O’Reilly book, but with a slightly more hands-on and informal style, which on the whole I enjoyed. It starts with an introduction including a quote from Ralf Herbrich at Microsoft Research describing how he converted 1000 lines of C# into 100 lines of F# which performed just as well – this is the kind of real-world touch that makes you want to read on. The second chapter explains how to install F#, including different versions of Visual Studio, the open source SharpDevelop, and Mono on Linux – excellent diversity. Chapter 3 introduces functional programming, in effect a brisk overview of the core of F#. Read it slowly!

The author goes on to look at imperative programming and mutability in F#, and then object orientation, just as Smith did in his book. Chapter 6 is useful overview of how code is organised into modules and namespaces, and also covers comment annotations. Next, Pickering looks at F# libraries, including a brief look at math programming. Chapter 8 covers user interface coding – completely lacking in Smith’s book – complete with a quick look at GTK#, which works on Linux. There’s also a quick look at ASP.NET, Microsoft’s web server platform. Although this little introductions are too brief to be really useful, they do spark ideas about how you might use F#.

Data Access is next, another important real-world topic, covering XML, LINQ (Language Integrated Query) and ADO.NET.

Chapter 10 is when we get to parallel programming and reactive programming – code that waits for an external event before running. Pickering introduces F# agents and the MailboxProcessor class. Next comes a look at distributed applications using sockets, HTTP requests, web services, and Windows Communication Foundation.

Chapter 12 has the intriguing title Language-Oriented Programming, and should be taken together with the next chapter on parsing text. This is where we look at using data structures as little languages, parsing and interpreting text, and extending F# syntax. Finally, chapter 14 is the interop chapter, covering interop with C# as well as platform invocation for COM and native code.

Of the two books, this is the more lively and wide-ranging read, and more likely to enthuse you about the possibilities F# offers, though it skims the surface in places; many topics receive only shallow coverage.

View on


View on


No Flash on iPad? No problem – we’ll redesign the site says NPR and others

It is fascinating to see the impact of Apple’s hostility to Adobe Flash on iPhone and now iPad.

On the one hand, it’s a gift to rival vendors such as Google, which is bundling Flash into Chrome (a contentious decision judging by the comments), and Microsoft, which has promised Flash support in Windows Phone 7, though not in the first release. These vendors can claim better Internet support than Apple, thanks to the large amount of Flash content, games and applications on the Web.

On the other hand, I’ve not seen many web sites that encourage their users not to use iPhone or iPad. Rather, those with the resources to do so are simply making their content available in ways that are iPhone/iPad compatible. There are two obvious ways to do so: either create an App, or make a Flash-free web site.

One of my favourite music sites is NPR, which is a great source of concerts and exclusive sessions, and which uses Flash for streaming. NPR’s research told it that five percent of its 26 million weekly listeners were likely to purchase an iPad. I was also intrigued to note that these purchasers consider it more of a “living space” device than something they take everywhere. Either way, they wanted to continue consuming NPR’s content.

NPR responded by taking both of the options mentioned above: a redesigned web site, optimised for touch control as well as eliminating Flash, and an iPad app that builds on an existing iPhone app.

We’re excited about this latest innovation because we think it brings us closer to capturing NPR’s unique identity on a digital platform. The iPad’s casual touch-screen navigation seems more conducive to immersive reading than even the lightest laptops. And it opens up new opportunities for casual listening.

The worrying thought for Adobe is that sites such as NPR might decide to use the Flash-free site for all browsers, instead of just those on an iPad, to save on duplicate work.

Adobe’s decision to enable native compilation to iPhone and iPad in the forthcoming Creative Suite 5 is looking increasingly significant.

Update: James Governor on Twitter says awesome! the new IE6! Good point, though how you see this depends on what you think of Flash in the first place.

Stephan Richter observes that “Judging by the comments, not many NPR users are happy that effort is wasted on supporting 5% of potential users.” There’s certainly evidence of resentment at Apple users getting preferential resources, though the fact that Apple purchasers pretty much match the dream profile for many advertisers may be a factor.