Archive for the ‘Tech Industry’ Category

Emergent Order and the Linux Desktop

Thursday, November 29th, 2007

Linux, on the other hand, is still to omni-directional for its own good. It could actually learn a lesson from Microsoft, in this sense. They need to standardize on a single desktop (KDE or GNOME) and a single core. It’ll never happen. My mom just doesn’t want to compile drivers and debug her kernel. Linux is perfect for verticals and corporate environments right now – not for the home desktop. –Chris Pirillo on the Opera Newsletter mailing list, Sunday, 05 Oct 2006 23:46:37, via the Quote of the Day on Elliotte Rusty Harold’s Cafe au Lait

I wonder if this issue isn’t beginning to sort itself out, though. Debian seems to be gaining more mindshare lately — not so much directly, as through distributions like Ubuntu and Linspire that derive from it. In fact, since Linspire has decided to use Ubuntu as a base, it looks like we see the start of an efficient production line that would make Adam Smith proud. Debian produces the core of a purely-free operating system; Ubuntu, next in the assembly line, tunes and polishes to the point that it is attractive to commercial users, and can be commercially supported; and Linspire polishes and adds-consumer-friendly touches like proprietary media codecs.

(I do think, though, that the GNOME-vs-KDE conflict is overblown, and doesn’t need to be ‘resolved’; applications for either desktop will work on either desktop, and which one you run as a base simply depends on user preference — and the design philosophies of the two are different enough that each has a well-defined constituency, just as Windows and Mac do.)

I For One Welcome Our New Android Overlords

Thursday, November 15th, 2007

As everyone knows by now, Google has released its new SDK for mobile phones, Android.

Android is a software stack for mobile devices that includes an operating system, middleware and key applications. This early look at the Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.

The SDK includes basically a one-stop shop for application development infrastructure: an OS kernel (Linux), a virtual machine (interestingly, not the Java VM, though Java is the main development language), a SQL engine, a communications stack, 2D and 3D graphics toolkits, a GUI stack, and so on. Everything a developer would want in a deployment platform.

As you, my legion of loyal readers, will know, I play Second Life. The SL client is based on OpenGL. When I saw that Android supported OpenGL, it naturally occurred to me that one could create an SL client for Android. It would suck to use SL on a mobile phone, of course; tiny screen, no keyboard, etc.

But then, there’s surely nothing in the spec about a maximum screen size for Android, and no reason you couldn’t have a physical keyboard. In fact, if you were to take an Android system, built to run efficiently on a phone-class device, and put it on a laptop-class processor, it would fly

Whoa.

What can a desktop machine do, that an Android-based mobile phone can’t do? Mostly it’s a matter of form factor; a mobile phone isn’t big enough for a full-sized keyboard, multiple USB connectors, a DVD slot…

But is there anything that says Android can’t run on a laptop- or desktop-size device? If Android catches on, isn’t it inevitable that someone will put it on such a device? And given how many smart people work at Google, don’t you think they already considered that? that they may in fact have planned on that from the start?

Lots of people have been wondering when Google will come out with an operating system offering that will compete with, and maybe displace, Microsoft Windows.

I think it just happened. And no one noticed.

Philip Rosedale at OSCON 2007

Thursday, August 2nd, 2007

I missed this year’s OSCON (grumble, grumble). I had even more reason to want to go this year, because of the keynote address by Philip Rosedale (aka Philip Linden) [video link] of Linden Lab.

One interesting thing that Philip mentions: apparently a Teen grid user from the UK has developed a limited-function browser-based client, so that she can log into SL, and can chat, IM, teleport, etc., from within Firefox, without downloading an official client (or any client, apparently). Cool stuff, I’ll see if I can track it down.

JavaScript Rising

Wednesday, July 11th, 2007

In this post I wondered why no one (that I knew of) had proposed using JavaScript as a server-side language, and developed tools to support it. Well, they say it steam-engines when it comes steam-engine time. A lot of other people had the same idea; and unlike me, some of them did more than just blog about it.

Googler and blogger Steve Yegge (whose keynote at OSCON I am going to miss, dammit) made a splash by porting Rails to JavaScript — specifically, the Rhino JavaScript-on-Java interpreter that is bundled with Java SE 6. He calls it “Rhino on Rails”, the clever bastard.

In an effort to increase developer productivity at Google, Steve tried to convince the company to adopt Rails (and consequently Ruby) as a programming language. When that fell on deaf ears (Google really does not want to increase the number of languages that must be supported by their infrastructure), Steve decided to do what any other frustrated programmer would do: he ported Rails to JavaScript. Line by line. In 6 months. Working 2000 hours. Steve is a coding stud.

And he is not alone: witness Project Phobos.

Phobos is a lightweight, scripting-friendly, web application environment running on the Java platform.

It comes with a set of plugins for the NetBeans IDE that cover the complete development process. These include a fully-featured debugger; wizards to help you get started faster; a palette of Ajax widgets that can be dropped on a page, thanks to jMaki; and the ability to generate a standard web application for deployment on any servlet container or Java EE application server.

Currently, the primary language supported by Phobos is JavaScript. By leveraging JavaScript on the server, Phobos allows developers to use the same language on the client and server tier of a web application, eliminating the impedance mismatch that characterizes other approaches to Ajax.

Digging farther back in Steve Yegge’s archive, one finds he has been thinking along these lines for some time:

JavaScript is probably the most important language in the world today. Funny, huh? You’d think it would be Java or C++ or something. But I think it just might be JavaScript.

For one thing, despite JavaScript’s inevitable quirks and flaws and warts and hairy boogers and severe body odor, it possesses that magical property that you can get stuff done really fast with it…

See, JavaScript has a captive audience. It’s one of those languages you just have to know, or you get to miss out on Web programming, and in case you hadn’t noticed, thick clients are like Big Hair these days. Most non-technical people I know pretty much live in their browsers, and they only emerge periodically to stare in puzzlement at iTunes or a game or something, and wonder why isn’t it in the browser, because everything else useful seems to be. It’s where the whole world is. To non-technical people, of course. Which is, like, practically everyone.

What other language is supported, in a reasonably cross-platform manner, on the Windows, MacOS X, and Linux native APIs, the Java virtual machine, the .Net virtual machine, the Parrot virtual machine, the Flash runtime, the Silverlight runtime, and 99% of the web browsers in the world? (And, oh yeah, what’s that new thingamajig from Apple? I vaguely remember reading something about it. Can’t seem to recall the name…) In other words, JavaScript not only runs on every platform of interest; it is the only language that runs on every platform. [1]

JavaScript isn’t winning the fight to be the Next Big Language; it’s already won.

[1] Actually, I don’t know if it runs natively on PlayStation3 and XBox 360. But given the little-bitty interpreter and the great big storage media, the games could ship with their own JS runtime and not miss the space.

Brendan Explains the Value of Forking

Saturday, June 23rd, 2007

Okay, I have nothing really to add on this, but this blog entry by Brendan Eich, inventor of JavaScript, was simply so brilliant I had to point it out:

Forking is an extreme point in a continuum of options that exist with open source. The option to fork must exist as a feedback mechanism, but it need not be used in order for users to gain benefits not available with closed source and proprietary standards. Forking can be the right thing, or it can be a kind of mutually-assured-destruction option that keeps everyone acting in the interest of not forking.

Forking is not evil. The right to fork is a feature, not a bug. (And this makes Sun’s long-standing resistance to open-sourcing Java — recently overcome, happy happy joy joy — out of “fear of forking” seem especially short-sighted.)

The User Interface of the Future

Friday, June 22nd, 2007

This will be no revelation to some, but it’s becoming increasingly clear how user interfaces will be done in the future. We will specify UI components and layout in a markup language (old flavor: HTML; new flavor: XML), and we will use ECMAscript to add behavior to these components.

How many variations of this are there out there now?

The only (new) system taking a different approach seems to be JavaFX — which is kind of funny, given Java is XML’s home turf, more or less.

I wonder if we’ll see something similar for Mac OS X (beyond the widget API) and Linux — presumably separate versions for GNOME and KDE.

The back-end is still up for grabs, of course; I have yet to hear anyone suggest using ECMAscript for building business logic or web services. To tell the truth, I’m not sure why not; why doesn’t someone take the Tamarin runtime, or Mozilla’s Spidermonkey or Rhino, and build a general-purpose development environment around it? If we’re doing serious work in Ruby and Python, why not JavaScript as well?

Paging Miracle Max

Monday, April 23rd, 2007

Microsoft is Dead, according to Paul Graham.

Microsoft cast a shadow over the software world for almost 20 years starting in the late 80s. I can remember when it was IBM before them. I mostly ignored this shadow. I never used Microsoft software, so it only affected me indirectly — for example, in the spam I got from botnets. And because I wasn’t paying attention, I didn’t notice when the shadow disappeared.

Or maybe not?

Assertion that Microsoft’s ‘dead’ doesn’t compute

Plain and simple, Graham is wrong. There’s no way anyone could argue that Microsoft is dead. Just look at the numbers. When a software runs more than 90% of the desktops on the planet — and will for the foreseeable future — it’s simply not dead.

Oh, well, if USA Today says it ain’t so, they must be right. On the other hand:

Microsoft admits Vista failure

These two actions by Microsoft are proof of what I suggested three years ago. Microsoft has lost its ability to twist arms, and now it is going to die. It can’t compete on level ground, so is left with backpedalling and discounts of almost 100 times.

I bitch about Microsoft as much as anyone, but do I want them “dead”? No, other than in the sense that IBM is now “dead”: still around, still big, still profitable and influential, but no longer the tyrannical force in the industry they once were. Humbled and forced to play nice. In other words, “dead” in exactly the sense Paul Graham intended it.

The USA Today column is especially risible. The writer contorts Graham’s statement into a claim that Microsoft is “no longer innovative”. But if death is the lack of innovation, Microsoft was stillborn. They were never innovative. They were experts at taking ideas other people had come up with, commoditizing them, and driving the original innovators out of business. They were experts at milking every last drop of advantage out of the monopoly position that IBM foolishly handed them. They were conquerors, not builders. And now their conquering days are coming to an end.

Good riddance. And time for the folks in Redmond to start building Microsoft 2.0.

Windows Vista Already Impacting Google?

Sunday, February 25th, 2007

Microsoft has admitted that Vista’s shipping numbers are not as good as hoped (to no one’s real surprise); yet the numbers are apparently good enough to have a measurable impact on Google’s traffic numbers. All the major search companies’ numbers are rising, but the rate of rise has shifted, for both Google (for the worse) and Microsoft (for the better).

I suppose that this good to see the big boys sweat and have to work for their money, and Google has gotten big enough one can no longer back them on a strict root-for-the-underdog basis. Still, I’ve enjoyed seeing Microsoft actually scared by a competitor for once, and it’s hard to set that enthusiasm aside.

And frankly, I have a deeper reason for liking Google over Microsoft: Google gets the Internet. They know what it is, what its strengths and weaknesses are, and what it is capable of becoming. They have embraced it totally, in a way that Microsoft cannot, because it would mean leaving behind their safe desktop empire. It’s a classic Innovator’s Dilemma, with Microsoft in the role of the buggy-whip maker.