To encourage users to try out Moonlight, we are doing a source-code only release of Moonlight for developers to try out Moonlight.
To try out Moonlight, you have two options:
Firefox addins are available from http://www.go-mono.com/moonlight.
Source code for Moonlight is available from here. To compile Moonlight from source code follow these instructions.
In yesterday's Financial Times, Larry Summers on tax competition and cooperation:
First, the US should take the lead in promoting global cooperation in the international tax arena. There has been a race to the bottom in the taxation of corporate income. Closely related is the problem of tax havens that seek to lure wealthy citizens with promises that they can avoid paying taxes altogether on large parts of their fortunes. It might be inevitable that globalization leads to some increases in inequality; it is not necessary that it also compromise the possibility of progressive taxation.
Agreeing or disagreeing with Secretary Summers' point is largely a question of the role of government as much as it is one of international economics. I generally view tax competition as a healthy restraint on the tax burden and thus a bridle on the size of the state. Here, Larry is taking the view that without cooperation, you will have nanny states without nannies and thus nothing to transfer.
From the make-Edward-Tufte-proud department, another stellar graphic in today's Sunday Times, this one visualizing the basket of goods making up the CPI and both the relative size of those goods within the consumption bundle and the year-on-year change in that size:
You always glean points from a good visualization that you don't from the tabular data. For example, consumers spend the same amount (about 1% of total) on cable service as on doctor visits. The portion of consumer spending allotted to "computers" has declined 12% year-on-year. Rising import prices, particularly oil (which, although denominated in dollars, experiences the same exchange rate pressure as other world market goods), and growing food costs account for the bulk of inflationary pressures. I am happy to note if you rent your home, don't own a car, and spend most of your money on clothes and bacon, your purchasing power has actually increased year-over-year.
Note that, while a proxy, the change in spending on a category is not the same as inflation. For example, the share of spending on citrus dropped 9.5% year-over-year. That could be due to deflation, but the spending drop could also be caused by a decrease in demand—perhaps consumers are substituting oranges with apples, which grew 7.5% year-on-year. Alternatively, note that while the cost of most health-related expenses went up, so did the science advancing the field, ushering in new drugs and improved procedures. If you aren't comparing, say, apples to apples year-on-year, you are measuring more than monetary inflation. These are just two of a myriad of problems with computing inflation.
A page earlier, Alan Blinder argues for greater regulation of the financial industry. Unfortunately, Prof Blinder notes:
It will, for example, substantially reduce the profitability of investment houses and, therefore, reduce their scale. But that’s the price you pay for access to a publicly financed safety net.
No doubt increased regulation, particularly in the area of margin requirements curbing excess leverage, will lower short-term profits. But I don't see why the goal of any changes in regulation shouldn't include maintaining or even improving longer term profits. After all, you'd have to take substantial bites out of Goldman's earnings to equal the loss in a single implosion such as Bear's.
Linux Journal unleashed their annual Readers' Choice Awards the other day, and I am proud to note that Linux System Programming—my recent work on system-level Linux hacking—received an honorable mention in the category of "Favorite Linux Book." Whether you live strictly at the lowest levels or only occasionally reach outside your cozy virtual machine; whether you code in C++ or Python; whether you are wolf or neophyte, the text is both an excellent guide to systems programming and a handy reference to Linux's sparsely-documented system call API.
Also, congratulations to GNOME for winning "Favorite Desktop Environment" and—natch—vi for winning "Favorite Text Editor."
Disclaimer: I am Contributing Editor at LJ, but I was wholly uninvolved in the Readers' Choice Awards. Hat tip to "loyal reader" for the link.
Today's Post tackles yesterday's topic:
A growing chorus—including a top congressional Democrat—labeled Sen. Hillary Rodham Clinton's proposal for suspending the federal gasoline tax ineffective and shortsighted yesterday, even as she continued to paint Sen. Barack Obama as insensitive to drivers' woes for not endorsing the plan.
The initimble Prof Mankiw chimes in:
Harvard professor N. Gregory Mankiw, who has written a best-selling textbook on economics, said what he teaches is different from what Clinton and McCain are saying about gas taxes. "What you learn in Economics 101 is that if producers can't produce much more, when you cut the tax on that good the tax is kept by the suppliers and is not passed on to consumers," he said.
Over the short-run—and particularly over the summer, with refineries already at maximum capacity—the quantity supplied is fixed. Cutting the tax will cause consumers to simply bid the price back up to its original value, allowing demand to meet the fixed supply.
Here is a policy proposal: Ditch the gas tax and replace it with a broader tax on all carbon. Offset the carbon tax with a revenue-neutral reduction in marginal tax rates. Also—for good measure—abolish all farm subsidies.
Although neither are in office, Senators Clinton and McCain have both endorsed a gas tax holiday this summer, temporarily eliminating the 18¢ per gallon federal excise tax. To his credit, Senator Obama has denounced the holiday as not "an idea designed to get you through the summer" but one "designed to get through an election." It is also bad economics.
The price of fuel during the "holiday" will depend on gas's elasticities of supply and demand. As the short-run supply of gas is fairly constant—in the short-term, supply is fixed as factories (at least over the summer) already run at full capacity—the holiday price of gas will rise to meet the pre-holiday price.
Put another way, given the fixed supply, the price of gas will rise until the quantity demanded drops to meet the quantity supplied. Since the supply is invariant with respect to the tax, the price will not change.
Gas taxes, in the short-term anyhow, do not modify behavior—they just transfer payments from the supplier to the state. Thus, Clinton's version of the holiday, which replaces the gas tax with an offsetting tax on gas producers, asininely accomplishes nothing, but at least her plan is funded.
Let's assume fuel prices do drop. Over the course of the summer, this will save the average driver the cost of about a tank of gas (Obama says half a tank, but my calculation comes out a little higher). Now, if the price drops, the quantity demanded will increase and thus consumption increases (this will bid the price up, as we are now assuming supply is not inelastic, by some amount less than the full 18¢). What happened to yesterday's policy of the day, global warming? And what happened to last year's headliner, crumbling infrastructure, which the gas tax funds?
The proposal is just pandering, but if we really care about stimulating the economy by putting money in consumer's hands, there are better methods than targeted tax credits—for example, cutting marginal income tax rates.
We have done a minor release of Mono 1.9, Mono 1.9.1 that contains various bug fixes. Please see the release notes for details.
Mono 1.9.1 is available from our downloads page.
Linux システム プログラミング!
Just received my copy of the Japanese edition of Linux System Programming, which you can likewise own for a mere ¥ 3,780. I am told my unique brand of humor translates particularly well into the Japanese language.
Everyone, regardless of vernacular, ought to buy a copy. Reading it is nice, but not required.
Also available is the mother tongue version of LSP. Its like reading the Talmud in Aramaic. Or Shakespeare in retarded English.
As part of the QA process for Mono, our fabulous QA team has been packaging various popular open source .NET applications, Gnome, Gtk#, ASP.NET, libraries and Windows.Forms in an easy-to-install fashion for various Linux distributions.
We are using the OpenSUSE Build Service to make the software available for various Linux distributions.
Our repository is available here, for instructions on how to add the repository see the user manual.
I just don’t know what to make of this video… I guess Microsoft is trying to break the stigma around Vista as best they can (I don’t think this video is helping their case much).
Texas Instruments, my company, will not support upgrading to Vista across the entire corporation as was leaked to the inquirer back in late 06 to early 07. No Vista machines in sight here still (except in the testing labs). Everyone is running XP if they are using Windows, but you do see a lot of Mac’s running Leopard, or and few laptops running the latest Fedora, Ubuntu, SuSE, and OpenSolaris desktops for those of using in various development and engineering roles.
I’m sure TI would probably use Vista if Windows 7 isn’t out by the time that XP goes into legacy support status, but XP works and we don’t have any problems with it. We already bought our huge corporate level volume licenses for XP so I can see the logic into why really IT doesn’t want to upgrade more then 10,000 users machines here when there isn’t a significant gain (and more of a loss really) by doing so even still. Nothing in Vista (even in SP1) is really worth upgrading for.
En route back to Boston from LugRadio Live, caught a Slashdot review of Linux System Programming:
I have been looking for something that would take my K&R level of experience and bring it up to date with modern methods, hopefully letting me write more efficient and reliable programs. Linux System Programming is a volume that targets this need.
[Easy introductions of an advanced concept] are done in a nicely graded level for each topic. In "file access" to give an example, you are lead from simple read/write calls, through to what the C library can provide in buffering, to improved performance using mmap. The techniques continue with descriptions of I/O schedulers and how the kernel will order hardware disk access, scatter/gather, and ends up with how it is possible to order block reads/writes yourself bypassing any scheduler.
You are hardly aware of the progression, as the pacing is very well done. New concepts clearly fit into what you have seen so far—current sections signpost the practical use of what is being explained and at what cost, allowing clear consideration of the use of advanced features against any consequences.
I recommend this book to anyone who has a need to developing Linux applications.
The review rated the book an eight on a ten point scale—but decide for yourself. Justice is not served until every occupant of this planet owns one copy for every toe and finger on their body.
Noon, late afternoon, early evening, late evening shot, respectively, of the Bay Bridge with foreground farrago.
<img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_ksI5H-K89vw/SAGAD2IchsI/AAAAAAAACDk/1F4APl5MJxc/s400/bay_bridge_20080412_1300.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5188569049266423490" /><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_ksI5H-K89vw/SAF-NmIchpI/AAAAAAAACCw/jLgUfB5f3fs/s400/bay_bridge_20080412_1700.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5188567017746892434" /><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_ksI5H-K89vw/SAF-OWIchqI/AAAAAAAACC4/QiMCu6KTBm4/s400/bay_bridge_20080412_1900.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5188567030631794338" /><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_ksI5H-K89vw/SAF-OmIchrI/AAAAAAAACDA/cQpYqbir4yM/s400/bay_bridge_20080412_2000.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5188567034926761650" />
George Soros has a book hitting shelves on the credit crunch. Yes, this newest effort invokes reflexivity within the first few pages.
A gentle reminder: LugRadio Live is this weekend at The Metreon!
I present on Sunday, laying down a developer's overview of Android, our mobile platform.
Via Wired, a new map of US carbon footprint:
The map is cute, and the raw data is invaluable, but the visualization is worthless. As it is, this map does not look any different than one depicting population density.
Needed is a visualization corrected for population, thus showing carbon footprint per capita. Even better would be a map corrected for GDP, thereby depicting carbon per unit of economic output.
Otherwise, what is the policy prescription derivable from this thing? Hey, Northeastern Corridor! If you ditch your population and your jobs, you can be as pollution-free as Montana!
Starting with version 2.0 of Mono, the Mono C# compiler source code will also be available under the MIT X11 license.
We are changing the license to allow parts of the compiler to be reused as part of MonoDevelop, our LINQ class libraries and to embed it in ASP.NET.
In MonoDevelop: This will allow the compiler to be used to improve code-completion to support C# 3.0 as well as improving the heuristics when offering completions. This will reuse the front end and parts of the backend.
Compiler hosting inside ASP.NET: This will embed the whole compiler into the ASP.NET process, eliminating about one second for each compilation of a piece of code. In the past, for each request for an uncompiled resource, we would have to call the compiler, wait for its output and then load the output. This typically shaves between 0.7 to 1 second on those scenarios, ideal to improve the developer experience.
LINQ Class Libraries: This will allow us to reuse parts of the compiler in our System.Core implementation for LINQ for the current 3.5 generation and upcoming generations. Many corner cases are handled by the compiler, and we will now be able to lift those pieces. This will mostly use the backend of the compiler.
Hawk Attacks Girl At Fenway Park (video):
A red-tailed hawk attacked a girl on a tour of Fenway Park Thursday, drawing blood and sending the girl to a hospital for treatment.
[Hank] swooped down on the girl, [his] talons cutting her head above her eyes.
The hawk flew off after the attack.
Great. Now he has a taste for human blood and will live to despoil another day.
Although this debauch pales in comparison to my feces-drenched stoop, with today's massacre the jive turkey has gone too far. That bird must be stopped.
Slightly delayed news, a few weeks ago we released our best Mono release so far: Mono 1.9, the last release before Mono reaches its 2.0 level.
Mono 1.9 is considered a stable release and should be considered the new stable version to be shipped. It should replace older versions of Mono 1.2
You can obtain this from the downloads page.
Today would not be unbearable if the fake press releases and bogus news stories were, you know, funny.
These tutorials are quite popular to help developers that have a Windows.Forms or ASP.NET application port it to Unix. They walk you through the process of bringing your software to Linux, MacOS X or Solaris:
It is also useful to look at the general porting guidelines.
From the State Department's fact sheet for American athletes traveling to Beijing for the 2008 Olympics: Your hotel room is bugged.
All visitors should be aware that they have no reasonable expectation of privacy in public or private locations. All hotel rooms and offices are considered to be subject to on-site or remote technical monitoring at all times. Hotel rooms, residences and offices may be accessed at any time without the occupant’s consent or knowledge.
To test, when I visited last February, every night I ruminated aloud on how my coworker was a Taiwanese nationalist. And a proselytizing Christian. Fortunately she left unharmed.
Learned hand Luis Villa links to my post on achieving alpha and asks,
The interesting question, in my mind, is why so many people are so irrational. This is a gold mine for the behavioral economists, and a nice counter-argument for when someone tells you that better information creates more efficient markets.
He concludes:
I long for a Love-ian explanation of why this happens in theoretically rational markets with nearly perfect price information.
Luis's is a good question. I think there are three unrelated but collaborative factors.
First, active investing is not irrational if most folks believe mutual funds are the superior investment vehicle—remember, rational isn't epistemic. ETFs are a relatively-recent invention—they have been available in Europe since only 1999—and have not yet reached ubiquity. Indeed, many folks do not even know what ETFs are, let alone the returns they offer or low costs they charge. Many 401(k) plans, moreover, continue to offer few if any passive funds. Mutual fund fees, such as front-end loads, create incentives for brokers to push expensive funds over cheaper index funds. Thus, given the relative dearth of information about and access to ETFs, the choice of active funds over passive funds is often rational.
Second, not all of the costs of active investing are "wasted" on unachieved excess returns. Some of the costs go toward tax minimization strategies, for example, that a passive fund does not provide. This portion of the cost should not be included in the calculation.
The best for last: I believe the most accurate explanation is that investors, individually and as a group, are generally making the right choices. Recall I closed my previous post with this nugget:
One reason the market and thus passive investors can earn the returns they do is because of active investor's strategies that close arbitrage opportunities, set prices, tighten spreads, and otherwise make the market more efficient.
This suggests that the overall outcome ($100 billion spent chasing excess returns) is net beneficial, but does not comment on why any individual investor rationally puts his or herself in the active camp.
To answer that, let's study investing at the margins. There is both a cost and a return to active investing. Active investors hope that the return is in excess of the market, net costs. This excess is called alpha. Assume there are no active investors, only passive. Then the market would be a cacophony of noise, and any active investing strategy would reap substantial reward. The cost would also be high, both because there would be few suppliers of such service and because the infrastructure for doing so (equity research, realtime operating systems, the city of Greenwich) would not exist, but the alpha would still be significant. Given these outsized returns, capital will flow out of passive and into active investing.
Now let's look at the other extreme and assume all market participants are engaged in active strategies. The outsized returns will be bid down, but the costs would also be much lower as the supply of funds and their managers meets demand and economies of scale kick in, lowering marginal cost. In this all-active world, the typical return would approximate the market's total return. Given the lack of alpha, capital will flow out of active strategies and into index funds.
In either market, put yourself at the margin. Everyone is passive? Achieving alpha is easy, as you just have to beat the noise. Everyone is active? Then just mimic their strategies by tracking the entire market and achieve similar returns without the cost. With each person switching from passive to active, or from active to passive, the marginal utility, along with the efficiency of the market, increases or decreases. Eventually, equities are efficiently priced as folks long the hot stocks and short the stinkers, spreads tighten, and arbitrage opportunities close. At this point, because the market is efficient, it no longer pays to expend excess cost on active investing. Thus the guy at the margin moves into an index fund, simply tracking the whole market and earning the market's return. If enough people choose passive over active strategies, perhaps the next guy will notice that spreads are too wide or some stock is underpriced. If so, he will choose an active strategy and achieve alpha.
And so it goes, until we reach the $100 billion equilibrium we are at today, where the marginal cost of active investing meets its marginal utility. The balance might be imperfect—too many folks free-riding with their passive investments or tilting at windmills in pursuit of alpha—but I bet its pretty damn close. Disagree? Then just move to the other side of the fence—you will gain excess net returns and make the market more efficient.
My coworker, napping:
A particularly beautiful breed.