Sunday, March 02, 2008

A Little More Hedonic Regression



While it's very reasonable to be suspicious of changes to the way CPI is calculated based on the increasing utility of decreasingly expensive goods (i.e. "digital convergence") it's important to note that it really makes a lot of sense and is not without precedent.

Imagine if you will that you're an economist measuring CPI using a "fixed basket of goods" at the advent of printing. Now, while the ensuing information revolution will take place in slow motion compared to the digital revolution, consider just the following:

A member of the growing middle class will belong to some form of trade. In order to learn the necessary skills he/she becomes an apprentice and, in essence, provides several years of free labor in exchange for being taught the rudiments of his/her chosen profession. The printing press will eventually make this information available, essentially, for free.

An economist who includes "training" in the fixed basket will see food prices rise (as labor moves to the city during the industrial revolution) and the price of training and pins, say (Adam Smith's famous example) plummet, but anything not in the fixed basket won't be taken into account, and the trained workforce will consume vastly more training at very low prices from information which is now widely and cheaply disseminated.

This is exactly what's happening with computers today, and economists are struggling to accurately represent this in their calculations. As more things go digital we're finding computers more and more useful, and the fact that they're better and cheaper is a huge benefit to us all.

And lest you think my earlier comparison of the Nintendo DS to a desktop workstation is artificial (because the DS isn't a direct replacement for the workstation), you can buy a $10-20 gadget in Walmart today which has 20 or more 1980's arcade games in it, the equivalent of $500 or more worth of consoles and cartridges. And the fact that people prefer $500 PS3s to these things is a pretty compelling argument that the PS3 really is perceived as being worth more than 25x as much as $500 worth of 1980s arcade games. Similarly, the OLPC (which currently costs about $200) is a direct workstation replacement, and again it is far superior to any $5000 computer available in 1990. (Indeed, the company I worked at the time for bought a laptop in 1992 for $3500 which was a sad joke compared to the OLPC.)

Finally, consider how digital technology is constantly expanding its reach. In 1974 (when I first got interested in Photography) a typical SLR cost $200 or more in 1974 dollars, an enlarger cost another $200, and the other stuff you'd need to make your own pictures cost another $200. That's for black and white photography, and a single SLR with a fixed focal length lens. All these prices basically remained constant until cameras went digital. And when I get a faster computer for less money today, it's improving my photos and videos as well as my word-processing and gaming.

One of the fascinating aspects of all this is that there's an absolutely enormous opportunity for computers to deliver free "deflation" in the future. Optimization of software has almost become passe thanks to Moore's "Law". A typical web browser today uses 10-100MB to handle one web page. At some point, we assume, Moore's Law will run into a brick wall , and optimization will suddenly become more important. The staggering inefficiency* of modern software affords huge potential for future optimization and it's likely that enormous benefits will accrue, and much of it will likely be free (as improvements are made to the open source software than underpins most commercial software today). CPI calculations will get even more interesting.

* Actually it's efficient with respect to development effort, and inefficient with respect to performance. The calculations will change dramatically when Moore's Law gives out.

Hedonic Regression



According BEA deflators, $1,000 computers bought in 1990, 1995 and 2000 would cost $48.63, $95.84 and $526.58, respectively, today. I bought computers in each of those time frames and could not replicate any one of them for the suggested proportionate price in deflated dollars, regardless of free memory enhancement.
From shadowstats.com


This very interesting website belongs to W. John Williams, a fellow who said on CNN that we're heading for another Great Depression. Now, I'm not exactly in the George W. "Pollyanna" Bush school of economic forecasting, but I do think he may a bit alarmist. Of course, since the purpose of his website is to provide "accurate" economic statistics (which disagree with the official versions) he may well determine us to be in a Great Depression whether anyone else agrees or not.

But, I would like to criticize the quoted passage which I found a bit over the top, because I have a pretty perfect counter-example.


This $129 toy exceeds any $5000 PC made in 1990



The Nintendo DS is tiny, rugged, runs for 10h or so on battery, has wireless networking, two RISC CPUs, and two pretty good color, backlit displays -- one of which is a touchscreen. This costs $129 today. You could not buy a desktop PC with similar capabilities in 1990 for under $5000. I'd hazard a DS would give an entry-level SGI of the time a run for its money.

(Note: the article was written in 2004, and the Nintendo DS originally came out in 2004 or 2005, but at a slightly higher price. There are plenty of other, similar examples to pick from, however.)

This example is pretty key, because it is one of the key points in his attack on modern CPI calculations which differ from earlier versions in arguing that the "fixed basket of goods" shouldn't be fixed if the goods get better. Some of his arguments (hamburger is not a fair substitute for steak) seem sound to me, assuming he hasn't misrepresented what the economists are doing, but his arguments against hedonic regression are, where he provides examples, simply wrong.

A safer car is truly more valuable than a less safe car -- just by factoring the lowered chance of death or injury.

Anyway, Williams argues that every change made to CPI calculations has reduced the CPI, and since a lot of things the Federal government pays for are CPI-indexed this is just free money for the Federal government (which is, as a cumulative result of all this fiddling, paying half as much Social Security as it would be with the old "fixed basket" calculation). In turn, GDP is quoted in "inflation adjusted" terms, so anything you do to reduce CPI increases GDP as well, making recessions disappear. And finally, he points out quite a bit of apparently willful ignorance: the government estimates things like increases in wages and investment income using voodoo when the IRS is actually measuring it and the values don't mesh. Guess what the consistent bias is?

Anyway, it's an interesting site (click "primers" for the free essays) and certainly worth reading (if you're at all interested in Economics) even if he's a little over the top.

Thursday, February 28, 2008

Screencasting Software



I produce the occasional video tutorial, and the tool I've used for it up to now is the venerable SnapzPro X (from Ambrosia), which is more of a screen capture program with video capture added as a bit of an afterthought. There's been a flood of cheap(ish) and even free programs aimed at the video-capture and screencasting market, and I decided to try some out.

One of the first pages you'll find if you google "screencast mac os x" is here. This is a pretty good, if already dated, overview. The author concludes by saying he (?) has chosen IShowU, which is definitely a pretty neat app (if a pretty lame name for an app).

I'd say there are basically three contenders, none of which is perfect, and even if you took the best features of each of them and combined them into a single package, I wouldn't be happy.

IShowU ($20) is the cheapest of the three, and it has one killer feature that the others simply can't match -- when you finish recording, you're done. Assuming you've chosen the right preset, your session is compressed on-the-fly, so instead of having a 2GB uncompressed video file which will need to be slowly recompressed when you're finished, you can just quit and post your session. If you have QuickTime Pro, you can probably make a bunch of simple edits (delete excess crap) and save. Done.

On the down-side IShowU is pretty unpolished. There are typos in its preset names, when you create a new preset it defaults to some random (horrible) setting rather than assuming you'd like to start with your current setting, and it's all too easy to mess up your presets (there's no explicit save). The "record cursor to sprite channel" option produces horrible results, and there's no option to display keystrokes or mouse clicks visually.

Screenflick ($29) used to be called Screencast, until they found out that there was already a Windows app with the same name. Screenflick has a few slick features, such as showing left and right mouseclicks and keystrokes visually, but it has the same weakness as SnapzPro in that you end each session by recompressing everything.

Of the three applications, Screenflick is the slickest and most mature. It has a brilliant feature which lets you hide or replace your desktop during sessions which is a huge boon. But in the end it's just a slicker version of SnapzPro, lacking the workflow support of Screenflow and the killer feature (no recompression) of IShowU.

Screenflow ($99) is produced by Vara software who produce very serious webcasting software which is all but a digital TV studio. This is an app aimed at professionals who will use it a lot, not just once in a blue moon. They obviously know their stuff and have thought out what most users probably want to do really well.

First of all, Screenflow captures a bunch of metadata (mouse position, window locations, keystrokes, etc.) independently of the actual video, and thus allows you to change what's shown on screen after you're done capturing (whereas Screencast burns it into the video).

Second, it allows you to edit the video before saving it out (but you do need to wait for it to recompress everything). The editing interface is very well done; anyone who knows their way around iMovie will be at home instantly.

Third it allows you to simultaneously record video of yourself during the screencast (using your iSight, for example) and then lets you composite the video channels however you like.

Screenflow is very easy to use and powerful, despite being a 1.0 product. It is still lacking in some attention to detail. E.g. you can't set defaults or presets for your screen capture tracks, so you'll find yourself setting the same options over and over. Worst of all, it does a poor job of differentiating left- and right- mouseclicks.

The Somewhat Depressing Conclusion



In the end, none of these apps do everything I want. None of them will record modifier keys that I hold down without pressing a non-modifier key. So if I'm explaining how to use some exotic application which behaves differently when you hold down the option or shift key (you know -- like Finder) I need to constantly explain which key I'm holding down.

Of the three, Screenflow has the most promise, while IShowU allows you to get a screencast done really quickly. It's not really possible for Screenflow to adopt IShowU's approach, because it renders a lot of stuff post-hoc using metadata, so if you want the additional power and flexibility of Screenflow, you'll need to deal with a recompression pass. Screenflick lets you achieve most of what you can do with Screenflow, but without the flexibility of changing your mind, and without the speed of IShowU.

There are two things which prevent me from posting video tutorials at the drop of a hat. One of them is the various annoying limitations of the capture programs (and if I could get Screenflow with better defaults/presets and proper keystroke recording, I'd be happy here) and the difficulty of uploading the videos to most forums. It's nice to see that my first problem is almost solved; now for the second problem.

Post Script:
It looks like there's a solution to my problem: Mouseposé. In combination with IShowU it's probably the best all-round option, at least for my purposes. (Before I stumbled across it,, I wrote an application called KeyReveal to accurately display all keypresses. It's a quick hack, so it's not quite as elegant as those apps that use translucent windows. Hopefully it will be useful to someone...)