Archive for July, 2005

Favorite Peruvian Film

Tuesday, July 26th, 2005

My favorite Peruvian film is La ciudad y los perros, based on Mario Vargas Llosa‘s novel based on his experience in a military school. Netflix has it too.

I say favorite rather than best advisedly, as City and the Dogs may be the only film from Peru I’ve seen. However, it is fantastic. Jaguar and Gamboa are unforgettable and it is at once a political and apolitical and amoral film (if that sounds appealing you must see Ashes and Embers, which also has an incredible soundtrack, perhaps in the vein of Sun Ra’s most avant garde work).

$700 billion fraud

Thursday, July 21st, 2005

Reverse bounties improved

Thursday, July 21st, 2005

Gordon Mohr suggested in a comment that as a name Dominant Assurance Contract is no good and perhaps “refund bonus” would be better. That may be right, though “refund bonus” seems to only describe part of the arrangement.

I conducted a brief search for alternatives, unsatisfactory apart from discovering that the term reverse bounty was recently (April) used to describe an offer by a programmer to develop a feature when a certain amount of money is raised (a bounty is offered by someone requesting a feature). At least one reverse bounty successfully raised the amount requested. I cannot tell what happens to contributed funds in the case where the amount requested is not raised. Notably for the successful reverse bounty the developer said they would ‘top up’ the money and ensure the feature got built. A subsequent reverse bounty seems to have raised nothing so far, perhaps in part because it does not appear to come with any guarantee (also the proposed feature is probably has a narrow audience and the reverse bounty is being called a “request for funding”–true, but very dull).

An assurance contract returns contributions (or cancels pledges) in case the amount requested is not raised. A dominant assurance contract returns contributions plus a failure payoff or refund bouns, making it worthwhile for interested parties to contribute even if they believe the contribution threshold will not be met. Both concepts could easily be applied to reverse bounties.

Realtime Wiki PileUp

Friday, July 15th, 2005

Although I’ve long thought collaborative realtime editing a useful concept, I’d never tried it hands on until a month ago when Christopher Allen got me to use MoonEdit. Very useful, but not free software and as far as I know no OS X support.

At the iCommons summit someone wanted participants to collaboratively take notes on a wiki. Wikis so far are great for asynchronous distributed collaboration, unworkable for synchronous distributed collaboration. Luis Villa pointed out ☠, an experimental collaborative realtime editor hosted in MediaWiki pages (but not very tightly integrated with MediaWiki–only new chunks of a page may be collaboratively edited in realtime, and the server side of this AJAX application is a separate server written in Java). Great idea, and the whiteboarding sub-application is neat, but I’d really prefer to be able to collaboratively edit an entire page.

In the past week I’ve noticed a couple more addtions to the Wikipedia collaborative realtime editior article, one of them web-based (Oxyd), then yesterday JotSpot Live.

Seems to me that almost any content creation application could benefit from optional realtime collaboration, legacy desktop applications included. Word processors could get their first useful new feature in many years.

Update: Also see ting-wiki for a hybrid web-local editor approach.

Withdrawing not an alternative to invading

Saturday, July 9th, 2005

I endorse Don Boudreaux’s recommedation of columns by John Tierney and Robert Pape and Boudreux’s conclusion:

I content myself here merely to point out that if a government has any legitimate functions, surely the most central of these is to protect its people from violence inflicted by foreign invaders. If Uncle Sam’s current foreign policies promote such invasions of terrorists (as Pape’s evidence suggests), then Uncle Sam’s first duty – if it truly puts the welfare of Americans first – is to have its garrisons and guns scram from the middle east ASAP.

However, just getting out, and just for the purpose of lowering Americans’ profile as targets of terrorists, is wholly inadequate. Uncle Sam needs a new vision, one that drives toward eliminating bad regimes and spreading freedom and prosperity, not merely undoing previous mistakes.

Robert Wright, Robert Scheer, Frank Zakaria, Leon Hardar and probably many others (tell me, I’ll link to them) have offered such a vision.

Addendum 20050720: My not very clever post title may have confused at least one of the three present commenters, perhaps all three. Withdrawing is not an alternative to invading–not invading is an alternative to invading. My more serious point is that merely advocating not invading, or now withdrawing, is inadequate, however right these positions are. People like Thomas Barnett (probably a really is a “great strategist” relative to the average Pentagon briefer–that’s damning with faint praise–I had the misfortune to read his book and will trash it in a future post) paint a glowing portrait of a world “connected” through U.S. government military force. An adequate response does not merely point out that the means proposed will not accomplish the ends envisioned, but describes how the world can reach a similarly good outcome by other means.

Dominant assurance contract implementations?

Friday, July 8th, 2005

None yet, but Russ Nelson left a comment on a Slashdot article about using Fundable for open source software saying that he has plans to modify the Public Software Fund so it allows for dominant assurance contracts.

Just in case the people behind Fundable were not aware of the concept I just suggested that they also offer dominant assurance contracts.

Separately, see Kragen Sitaker’s explanation of assurance contracts as put options inspired by Anton Sherwood’s description of using call options rather than eminent domain to acquire land for a road or pipeline.

Where is server side JavaScript?

Thursday, July 7th, 2005

Nearly a decade ago Netscape released Enterprise Server 2.0 with LiveWire, their name for JavaScript used as a server side web scripting language as PHP is most commonly today. LiveWire was extremely buggy, but Netscape was golden in large organizations, so I had the opportunity to develop or support development of several large web applications written in LiveWire. The world’s buggiest webmail client ever was a component of one of them.

Thankfully Netscape’s server products faded over the next few years. As far as I know LiveWire is almost completely forgotten.

The only uses of server side JavaScript that I’m aware of today are in Helma Object Publisher and as an alternative scripting language for Active Server Pages (though I understand the vast majority of ASP development uses VBScript). Some Java-based web applications may embed the Rhino JavaScript engine (that’s what the Helma framework does, prominently).

I’m mildly suprised that server side JavaScript isn’t more popular, given the opportunity for sharing skills and code with client side JavaScript. Data validation is one obvious opportunity for the same code executed on both the web browser and server, however the one that prompted me to write this post is web services. Suppose you want to offer a “web service” that can be consumed directly by browsers, i.e., a JavaScript application without a UI. You also want to offer approximately the same service as a traditional web service for consumption by non-JavaScript clients, and you don’t want to write much of the same code twice.

The only page I could find about sharing JavaScript code between client and server applications is a terse article on Shared Sides JavaScript.

So why hasn’t JavaScript seen more use on the server side? Possibilities:

  • JavaScript is unfairly looked down upon by server developers. (The success of PHP is a counterexample.)
  • Client side JavaScript is typically spaghetti code written by designers. The cost of sharing code between client and server applications in this context is too high.
  • No obvious way to deploy JavaScript code in Apache. There was work on mod_javascript/mod_js in the late nineties, but I see no evidence it went anywhere.
  • It’s easier for developers to handle different languages on the client and server. In my experience with LiveWire last decade I did encounter a few developers unclear on the concept that some JavaScript executed on the server, some on the client.

Perhaps the recent hype around AJAX will attact a critical mass of good programmers to JavaScript, some of whom will want to reuse well structured code on the server, leading to server side JavaScript’s first renaissance.

Pre-posting update: As I was about to post this Brian Heung told me about TrimJunction, which has more or less the motivation I was thinking of:

With an eye towards Don’t Repeat Yourself, spiced up with a little bit of Ajax, the grand vision of the TrimPath Junction project is to be able to write web application logic just once, in familiar languages like JavaScript.

A Junction-based web application should run, validate input, process data, generate output and do its thing on both the server AND the client. We intend to use the Rhino JavaScript runtime for the server and use your favorite, modern web browser for the client.

Check out the Tales on TrimPath blog for some interesting JavaScript ideas. The Junction announcement is here, two months old.

Update 20050716: OpenMocha is ready for a spin:

The goal of OpenMocha is to maximize the fun and productivity of Javascript development by blending the gap between browser and server based scripting.

Supreme Dick

Wednesday, July 6th, 2005

Dear Temporary Dictator 43,

Start thinking about your “legacy.” Nominate a respected intellect to the supreme court. Richard Posner would do famously. He has some stupid ideas compatible with your own but probably has more sense than anyone else possibly on your radar. More importantly for your legacy, he is held in greater respect than anyone else you could hope to nominate.

If you just can’t bear Posner’s opposition to a “partial birth” abortion ban, choose Alex Kozinski.

However, you should ignore demands from your social conservative supporters for payback in a nominee. Think about your legacy, not the next election–you’re not running.

Unfortunately bettors at the Trade Exchange Network aren’t giving Kozinski much chance (current bid/ask is 0.2/2.9) and Posner isn’t listed (I just suggested that he be). Beat expectations, boost your legacy!

For this post’s title, apologies to Dick Posner and the Supreme Dicks, a great 1990s band that rocked like the Sun City Girls on quaaludes.

Constructive Engagement

Tuesday, July 5th, 2005

Fareed Zakaria in How To Change Ugly Regimes and Leon Hardar in Trading, Not Invading: US Hums Different Tune on Vietnam understand what Robert Scheer and Robert Wright understand, that which apologists for the invasion of Iraq and some of its anti-market opponents do not understand. Zakaria:

I realize that it feels morally righteous and satisfying to “do something” about cruel regimes. But in doing what we so often do, we cut these countries off from the most powerful agents of change in the modern world—commerce, contact, information. To change a regime, short of waging war, you have to shift the balance of power between the state and society. Society needs to be empowered. It is civil society—private business, media, civic associations, nongovernmental organizations—that can create an atmosphere which forces change in a country. But by piling on sanctions and ensuring that a country is isolated, Washington only ensures that the state becomes ever more powerful and society remains weak and dysfunctional. In addition, the government benefits from nationalist sentiment as it stands up to the global superpower. Think of Iraq before the war, which is a rare case where multilateral sanctions were enforced. As we are discovering now, the sanctions destroyed Iraq’s middle class, its private sector and its independent institutions, but they allowed Saddam to keep control.

Bush and some of his most virulent opponents have a different understanding: markets must be spread by force, because markets are good and because markets are evil respectively.