RSS death, the Javascript trap, and SaaS

Filed under: web — jlm @ 12:34

I read this recent post by Vambenepe on the campaign to kill RSS, and it bothered me. RSS/Atom is what makes a dynamically updating web usable, and here it as an open, decentralized protocol was being replaced by closed SaaS offerings under central control. For a reason I wasn’t sure of, it reminded me of Stallman’s anti-SaaS essay “The JavaScript Trap” from some time ago. That essay didn’t sit right with me: Because your software comes from a webserver on demand, instead of being pre-installed locally, doesn’t make it or what it does any more or less free, and Stallman’s solution of blocking javascript not tagged as being under a free-software license is impractical. And indeed, in the years since, we’ve seen plenty of open source javascript code written and published, coexisting alongside a vibrant ecosystem of proprietary javascript code, just like we have with client application software.

But it finally gelled: The problem with SaaS is that it welds the data to the code.

Let me explain using “traditional” software applications as an example. You have documents you edit in Microsoft Word. These documents are .doc files which are on your disk drive and you can do anything to them that you can do with any other file: Copy it, delete it, encrypt it, archive it to tape, attach it to an email, etc. All outside of Word. If Microsoft does something to annoy you, you can even edit the documents in WordPerfect or AbiWord or OpenOffice or anything else which understands the .doc file format, which there are plenty of because file formats aren’t protectable as intellectual property.

Contrast this with the SaaS situation: You can’t give a WebDAV address to Google Docs for a document you want to edit in that webapp, and have it open and save to that file. You can’t manipulate your Docs files at all, except through the webapp. The only way you can (eg) attach it to an email is to be using Google’s email webapp, and hope that Google’s programmers have provided integration between them (at time of writing, they haven’t).

In short, if you want to use Google’s word processor, you have to use Google for its data store. You can’t say “I love Google Docs’ UI, but I prefer to use Amazon for data storage.” SaaS leverages control or preference of one aspect (the code) into use of another aspect (the data). Why should the SaaS provider have custody of your files? You can store your data with any number of hosts, and the “cloud” lets you access that data from any client machine. But not if you want to access a webapp. Then it’s only if your data is hosted with the SaaS provider. And that’s the real Javascript trap.

Update: Seems Steve Wozniak has some concerns along these lines, about you not controlling data you upload to a cloud store.

Update 2: Now Wired is sounding this alarm, with the focus on data security.


Fun with metafunctions

Filed under: math — jlm @ 23:14

In mathematics, a function is a mapping from one set (the domain) onto another (not necessarily distinct) set (the range). Now, you can cause all kinds of weirdness if you let elements of these sets be functions themselves. Like, you can define a function k from integers to functions from integers to integers, which are the “constant” functions of that integer: if j = k(x) for some x in Z, then j(y) = x for all y in Z. j is a function which carries the x inside it, waiting to be applied to an argument, which is ignored and now the hidden x emerges. Written more densely, k(x)(y) = x for all x, y in Z.

But mathematics doesn’t allow you to do what’d be the most fun: Calling a function on itself. This is because you’d have to include a function in its own domain, and you get to an infinite regress, because the formal definition of the function includes specifying its domain which contains the function whose formal definition includes its domain … and you can’t build such a thing in set theory.

Okay, suppose I try to get around this problem by introducing a set Σ containing non-function elements which maps 1:1 to the functions from Σ to the integers Z. This can’t work because Σ has to be “bigger” than itself. So, suppose Σ only maps to a few of these functions. This seems like it should do, and I can just declare that any several functions I’m interested in have mappings to Σ, and functions obtained by Cantor diagonalization simply won’t. Let a be the function that maps (some of the functions from Σ to Z) onto Σ and b be its inverse.

Neither a nor b is a function from Σ to Z, so I can’t apply a(a) or b(b), so my attempts at self-applying need to be more subtle.
Let’s define a function from Σ to Z, and declare it to be a element of a’s domain:
    f(ξ) = b(ξ)(ξ) + 1
here ξ is a element of Σ, so b(ξ) is a function from Σ to Z, and b(ξ)(ξ) an integer, so it seems to work out.

I declared f to be in a’s domain, so a(f) exists and is an element of Σ, let’s call it θ.
Now I can finally achieve something close to application-on-itself with f(a(f)) = f(θ).
What can we say about this? Well, its value depends on b(θ)(θ).
But b is the inverse of a, so b(θ) = f, and so b(θ)(θ) = f(θ). But we defined f so that f(ξ) and b(ξ)(ξ) could never have the same value!

See what fun functions of functions returning functions are.


Haiku proof

Filed under: math — jlm @ 12:01

Product of all primes
Incremented won’t factor
Thus a larger prime.

I wonder if it’ll catch on…


Berkeley library fire

Filed under: biking, sfba — jlm @ 13:39

I just got home from biking to the Berkeley Central Library, to find the police and fire department there, the library closed off. The BFD was non-urgently sweeping water out the doors, while the evacuated library building had its fire alarm still going. So, it looks like there was a fire there, extinguished by the sprinklers. It didn’t look like there were any injuries, but I worry about the damage to the books, hopefully it won’t be significant.


More links, less commentary

Filed under: biking, misc — jlm @ 20:12

I seem to be bereft of interesting prose to spout, so here’s a link dump instead.

File-sharing based Kopimi (as in, “copy me”) recognized as a religion in Sweden. Interview with the founder.

Witness some software management failure recorded in a bug log.

Growing up in postindustrial Wales.

How the Dutch got their bike paths — they fought hard for them.

African development’s killer app: Cell phones.

Enjoy, peeps.


Gitmo warden: “Close Gitmo”

Filed under: politics — jlm @ 19:59

Ten years ago, M.P. Col. Terry Carrico became the first commander of Camp X-ray, the Guantánamo Bay detention camp. Now out of the military, he talks to the media about the camp he opened.

Carrico also says plainly that he believes it is wrong to keep people indefinitely without trial based on secret evidence.

America should be a nation where this never happens. That we will not imprison people without trial should be woven throughout our identity of what it means to be American. Gitmo is an open wound, self-inflicted, on our very national identity. It’s been bleeding for ten years. We must close it, or lose what being American is.

More: Story from an innocent who spent over 7 years at the camp before being released via habeas corpus. This is what we’ve done. Let’s change. Ten years is long enough to know that this experiment has failed.


With Iraq, it’s the 1980s all over again

Filed under: politics — jlm @ 21:36

While visiting family over the Xmas break, I came across this article from the New York Times republished in the Sacramento Bee.

BAGHDAD – The Obama administration is moving ahead with the sale of nearly $11 billion worth of arms and training for the Iraqi military despite concerns that Prime Minister Nouri al-Maliki is moving to consolidate authority, create a one-party Shiite-dominated state and abandon the U.S.-backed power-sharing government.
While the United States is eager to beef up Iraq’s military, at least in part as a hedge against Iranian influence, there are also fears that the move could backfire if the Baghdad government ultimately aligns more closely with the Shiite theocracy in Tehran than with Washington.

Well, how about that. Just substitute Obama with Reagan, al-Maliki with Saddam Hussein, and swap Shiite for Sunni and enjoy the déjà vu.

Powered by WordPress