Friday Jan 25, 2008

Three cheers for VTA - and Web 0.5

Too many web designers take Web2.0 to mean making their site look glitzy and trendy, at the expense of quick easy and accessible use. Yahoo used to deliver great content, fast and easy, and it worked with any browser. Now service after service is UPgraded so Opera no longer works, etc., and it's all so s...l...o...w. But it's beautiful and trendy, it's Web 2.0.

So three cheers for Santa Clara County's transit agency, VTA, for taking a step back to a simpler time, maybe uglier, but much more functional. They could provide bus schedules only to high bandwidth client devices in the Windows/Apple mainstream, with the latest Flash version, with lots of trendy navigation features that work great so long as you're sitting at your desk instead of, say, wanting to take a bus somewhere.

Well, they've got the interactive maps and PDF's, but in addition they give their timetables in a radical format that enables a myriad of other uses and applications called ... (drum roll) ... plain text. Let's hear it for Web 0.5!

Thursday Aug 16, 2007

I love DRM!

Well no, of course not. But I don't hate it any more than some other of life's annoyances. DRM assumes that I, their paying customer, am determined to steal from them. But how about ink tags on clothing, video cameras in department stores, and tire shredders in rental car lots? All those are annoyances based on the assumption that the customer is trying to steal. If DRM becomes a major annoyance, it can drive customers away.

Take Sony's root kit DRM on audio CD's. The obvious conclusion was that to protect your PC from damage, stay away from Sony music. Even after they repented, the damage to their reputation was done. Who knows how much long term business they lost? Surely many times the amount of piracy their root kits prevented.

In 2002 Intuit decided to add copy protection to TurboTax using product activation. I had been a loyal customer for many years who never would have considered switching. For the last several years I had been using TurboTax under the Win4Lin virtual machine on Linux, which was convenient because all my records were on Linux. But Intuit's product activation wouldn't work under virtualization. So I'd have to repeatedly reboot every time I needed to look up another piece of information. So I switched to H&R Block's TaxCut. Even after Intuit repented it took a few years before I felt like putting in the effort to switch back again. Other people had plenty of other troubles with Intuit's product activation, and they lost customers and reputation.

But Apple's DRM on iTunes - you know, the one that Steve Jobs dislikes - that DRM isn't so bad. Yes, I understand that it locks me into iPod, but that's only a minor annoyance to me. And I realize the potential for Apple to suddenly render all my purchased music unplayable, as Google did for its movie customers. If that happened it would of course be a major annoyance, but I think it's very unlikely. I trust Apple. It would be against their interests to close iTunes. And whereas Google's videos die when Google shuts down their server, Apple music would remain playable without the iTunes store - unless Apple deliberately pushed out an iTunes software update with self-destruct.

iTunes wins on price over a CD for a single song. Its restrictions of 5 computers and 7 copies of a playlist burned to CD don't seem at all onerous to me. And they not only allow backups, they make them easy. If I want a whole CD though, the physical CD wins because it's about the same price with no DRM and no restrictions. And emusic wins on price and lack of restrictions.

For movies iTunes is much more convenient than DVD's. Prices of movies are about the same for both. iTunes DRM is much less intrusive than the DRM on DVD's. Although the DRM on DVD's is trivial to break, some people believe that the Digital Millenium Copyright Act makes it illegal to break it, even for your own fair use of movies that you purchased. Scratch a DVD and you're out $20 with no backups. You can only watch it on your TV or Windows PC, and no mobile use.

Buy the same movie from iTunes, and if anything happens to it you just restore from backup. You can watch it on your TV - any TV actually since an iPod is easier to carry around than a DVD player. You can watch it anywhere on your iPod. And you can watch it on your Windows or Mac PC.

Bottom line: what value will they sell me for what price versus their competition? DRM is negative value, but depending on how well or badly it's done it doesn't necessarily make a product worthless.


Wednesday Aug 23, 2006

Computer, tune thyself

Performance engineers are sometimes accused of being obsessed with performance, to the exclusion of common sense. We tweak and tune systems for the maximum possible throughput, and frankly some ordinary users are left behind - people who don't really care how fast it is so long as it's fast enough - people who have their own jobs to do, and for whom the computer is just another tool.

Verlag Heinz Heise publishing (iX Magazin, Germany) has long offered constructive criticism to SPEC like this article on the release of the CPU2000 benchmark suite. Not ones to just heckle the teams from the sideline, iX runs their own benchmark tests publishing them in their own magazine and web site and also at SPEC. This lets them show performance that they consider real world, tuned according to good application development practice but short of what they consider heroic benchmark tuning. For example in 2001 they published this result of 88.3 SPECint_rate_base2000 on our 24 chip 750 MHz Sun Fire 6800. We tuned the same system to achieve 96.1 SPECint_rate_base2000 and 101 SPECint_rate2000 (peak).

So we could show the user how to get 14% more performance from the system. However today you can get 78.8 SPECint_rate_base2000 and 89.8 SPECint_rate2000from a 4 chip 3 GHz Sun Fire V40z. So who's to blame the user if instead of investing much effort in performance tuning he would rather just ride Moore's Law for a while?

It's relatively easy for an independent party like Verlag Heinz Heise to say what they mean by real world optimization, compared to the difficulty of the members of SPEC agreeing on what we mean by peak versus baseline optimization. As we described the baseline metric, it "...uses performance compiler flags that a compiler vendor would suggest for a given program knowing only its own language." (See CPU2000 FAQ.) But of course degree of optimization is a continuum, and there will be application developers who do not optimize even as much as SPEC base and there will be those who optimize more than SPEC peak.

One benefit of SPEC's full disclosure reports is that they can serve as examples of good tuning practice to supplement system documentation. SPEC benchmarks may not use tuning that is not documented, supported, and recommended for general use. So a visit to the flags disclosure pages may provide a wealth of good tuning ideas for your own applications.

Tuning for system level benchmarks may be even more complex than compiler options for the CPU benchmarks. For example, in this SPECjAppServer2004 result there are tuning notes for the emulator software, the database software, the driver software, and the operating systems, as well as for the J2EE application server:

JVM Options: -server -Xms3g -Xmx3g -Xmn800m -Xss128k -XX:+AggressiveHeap
-XX:+UseParallelGC -XX:ParallelGCThreads=32 -XX:PermSize=128m
-XX:MaxTenuringThreshold=3 -XX:LargePageSizeInBytes=4m -XX:SurvivorRatio=20
-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:-TraceClassUnloading
-XX:+UseParallelOldGC -Dweblogic.DevPollSocketReaders=2
Java process started in FX class using /usr/bin/priocntl -e -c FX


Again the SPEC full disclosure reports may guide the reader in discovering and using various system tuning parameters. Of course with system tuning you'll probably also want to take a course and/or get a good book like Solaris Internals.

For the user without time or inclination to learn system performance tuning, who wants his system to be just fast enough while he waits for Moore's Law to bring next year's more powerful server, I'm afraid the computer industry just hasn't done enough. Directions are positive though. Suppose you discover, for instance, that it's good for your C application to align branch targets based on execution frequency. A Java application may have such an optimization applied automatically by a Java Virtual Machine with dynamic optimization such as HotSpot. Operating systems may with your permission automatically apply system updates including performance updates, such as Microsoft Update (Sorry, the corresponding URL on only works with Explorer.) and Sun Update Connection.

Computer, tune thyself.

Wednesday Aug 09, 2006

Television-computer convergence

Paul Boutin wrote in Slate Magazine, The Myth of the Living-Room PC, "the one thing I wanted to see hard data on was conspicuously absent from Jobs' keynote. It's been nearly a year since Apple added downloadable videos and a couch-surfing remote to its lineup." And, "Seven months after Viiv's launch, it seems what happened in Vegas stayed in Vegas: Dell's big rollout never happened, and the rumor that Apple was launching a 50-inch plasma-screen Viiv turned out to be pure baloney."

I think the source of Boutin's disappointment is his expectation that the "Living-Room PC" will arrive as a computer that can do television. The consumer electronics companies see it differently - the computer as just one more component of a television. Boutin's anticipated convergence arrived years ago, and few people noticed.

Of course we all know that DVR's are really computers, but I was surprised when I opened a new Sony WEGA HDTV television box and out fell a GPL for Linux. And while I can get the source code from Sony's web site, there is apparently no way without a screwdriver and more courage than I possess to alter the TV software.

That's fine with me because all I really want to do with my television is watch television. On, off, channel, volume. Sony gets it. Those of us in the computer business sometimes expect our customers to be far more interested in computers than they really are. Sure, many of them are experts in various computing fields and could do a lot, so it's great to have all the dials and knobs they can turn if needed. But when they're instead focused on banking, medical research, or retail logistics, they shouldn't have to worry about computers - no more than I have to configure my GRUB parameters to watch TV.


I am a software engineer in San Diego, president of the Standard Performance Evaluation Corporation (, formerly a mathematician and a violist.


« July 2016