Mono Feeds

Feeds RSS
Miguel de Icaza     
Mono News     
Robert Love     
Zac Bowling     
Tuesday, May 06, 2008 7:00:00 AM


Spring arrives in Boston (cf. winter)

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.

Sunday, May 04, 2008 11:15:00 AM

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:


All of Inflation's Little Parts by Amanda Cox

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.

Saturday, May 03, 2008 1:00:00 PM

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—natchvi 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.

Thursday, May 01, 2008 7:30:00 AM

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.

Wednesday, April 30, 2008 8:30:00 AM

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.

Tuesday, April 22, 2008 10:27:00 AM

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.

Friday, April 18, 2008 10:40:00 AM

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.

Thursday, April 17, 2008 3:49:00 PM

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.

Wednesday, April 16, 2008 8:30:40 PM

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.

Monday, April 14, 2008 2:55:00 PM

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.

Saturday, April 12, 2008 9:05:00 PM
Friday, April 11, 2008 6:40:00 AM

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.

Wednesday, April 09, 2008 1:51:00 PM

Via Wired, a new map of US carbon footprint:


Image courtesy of The Vulcan Project

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!

Tuesday, April 08, 2008 9:46:00 AM

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.

Tuesday, April 08, 2008 8:23:00 AM


As seen in the Meatpacking District, New York, NY

Thursday, April 03, 2008 2:30:00 PM

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.

Wednesday, April 02, 2008 12:25:00 PM

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.

Tuesday, April 01, 2008 8:50:00 AM

Today would not be unbearable if the fake press releases and bogus news stories were, you know, funny.


Robert, now a happy Windows users and strong supporter of single-payer healthcare!

Tuesday, March 25, 2008 1:41:00 PM

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.

Monday, March 24, 2008 1:01:00 PM

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.

Tuesday, March 18, 2008 11:50:00 AM

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.

Monday, March 17, 2008 2:10:00 PM

My coworker, napping:

A particularly beautiful breed.

Friday, March 14, 2008 9:01:42 PM

The developer program is turning out to be bunch of hype for something stupid. The restrictions on what your application is allowed to do is total, laugh-out-loud, crap.

I was initially excited about the SDK and developer program for the iPhone. I was willing to live with Apple being only distributor of Apps and getting a cut of the profits. I was willing to live with an entrance criteria to get into the App Store.

But then I heard about the other restrictions, and if you haven’t heard yet about the restrictions placed on your applications, here are gritty details:

  • “Applications may only use Published APIs in the manner prescribed by Apple and must not use or call any unpublished or private APIs.” (section 3.3.1 in the SDK license agreement) That means currently no access to IOKit
  • “An Application may write data on a device only to the Application’s designated container area, except as otherwise specified by Apple.” (section 3.3.4 in the SDK license agreement). No full file system access basically.
  • Your application is completely closed when the user leaves it like when they get a call or any of a number of actions happen. (specified in the Human Interface Guidelines). Only one application can run at a time basically so no background applications. (Something you can do in the current Open SDK)
  • “An Application may not itself install or launch other executable code by any means, including without limitation through the use of a plug-in architecture, calling other frameworks, other APIs or otherwise. No interpreted code may be downloaded and used in an Application except for code that is interpreted and run by Apple’s Published APIs and builtin interpreter(s).” (section 3.3.2 in the SDK Agreement)
  • “If Your Application includes any FOSS, You agree to comply with all applicable FOSS licensing terms. You also agree not to use any FOSS in the development of Your Application in such a way that would cause the non-FOSS portions of the SDK to be subject
    to any FOSS licensing terms or obligations.” (section 3.3.14 in the SDK license agreement)
  • No way to write plugins for the apps that exist on the phone right now, even for apps that openly support it plugins like Safari.
  • Applications can be rejected for not meeting the Human Interface Guidelines
  • No VoIP apps that work over cell network (that is acceptable, VoIP is a bandwidth hog and with unlimited data, it hurts the carrier)

Porting Firefox would be impossible because it supports downloading and running “interpreted code” with its Javascript engine. Things like Mono could only be used if you included a version Mono with your application, so basically no system wide install. No way to write a usable IM or IRC client on it, since apps can’t run in the background. Since we won’t be able to write plugins for existing apps like Safari, it means no Silverlight/Moonlight and no third party Flash support. IOKit isn’t in the list of document APIs even though its on the iPhone today, so no way to access the dock port to get to the PC or access the Bluetooth hardware. No way to tie into the data sync integration as well, so you can have it sync data with other things on your PC when docked.

What we get is so much more limited then what you can get natively in the unofficial Open SDK that is out there for the jail broke iPhones today. What annoys me is that Apple only played it off like their was only restrictions around application acceptance criteria for the application if was porn or a bandwidth hog. Not all this crap.

I think its idiotic of Apple to think this is what we were looking for. It’s pretty much a giant joke. I hope the public out cry about this is enough to knock Steve out of his black sweat-shirt and blue jeans, and have another wake up call.

Friday, March 14, 2008 11:46:00 AM

After a few years in the oven, we are ready to announce the first release of MonoDevelop. Lluis has put together a set of in-depth release notes that covers the major features available in MonoDevelop and links to various tutorials and screencasts as well as extensive screenshots of what is available in MonoDevelop 1.0.

MonoDevelop 1.0 is designed mostly for Linux developers creating Gnome and ASP.NET applications but MonoDevelop is also available for MacOS users that download our Mono installer and will still be useful if they are building Mono-based applications on OSX.

The IDE has many of the features that you would expect from a modern IDE for Mono: support for programming in multiple languages, an extensible design, editors and designers for ASP.NET and Gnome applications, integration with Unix toolchains and Visual Studio Solutions, support for source code control and following standard Unix development practices, integrated NUnit testing, Unix Packaging and Deployment (following the GNU conventions, and Mono conventions) for libraries and packages), internationalization and localization, tools to maintain your project documentation and command line tools to access this functionality.

We have some pretty good language support in this release: C#, VisualBasic.NET, Java, C and C++. Check the previous link for the details as to how extensive the support is for each feature.

Some screencasts:

There is more documentation on MonoDevelop available as well.

Thursday, March 13, 2008 10:25:00 AM

But we in it shall be remember'd: LugRadio Live USA 2008 is the 12 and 13th of April in hilly San Francisco.

I will be there, speaking on Android, our forthcoming complete, free, and open mobile platform. It will be a hit, a very palpable hit.