MaW’s Blog

Thursday, 20th May 2004

The whole GNOME and Mono and Java thing

Filed under: Programming — MaW @ 23:00

Well it’s unlikely anybody involved in the whole thing will ever read this, but I have to write it now because it’s getting on my nerves.

Currently in the GNOME world there is a debate going on, and I don’t think it’s ever going to be resolved to the satisfaction of the participants. The main cause of this debate is the Mono project. As many people who read this blog will know, Mono is an open-source effort to implement a clone of Microsoft’s .NET platform, complete with common language runtime, class libraries and C#, Visual Basic and JScript compilers (at the very least). There’s an ASP.NET container, GTK+ bindings and all that stuff too. Now this is all very fine and dandy and I actually quite like C#. It’s like Java done right.

Now, Mono was developed by Ximian who are now part of Novell, so Novell (which also owns SuSE) is now pushing Mono. Evolution, GNOME’s mail/PIM client, is also developed primarily by Ximian. People there want to start extending it in Mono/C#.

Red Hat have decided that Mono is not suitable for shipping in their products. They believe the patent issues are too problematic. Seth Nickell, being a Red Hat person, agrees with them in a most articulate fashion, as does Havoc Pennington. Who is also a Red Hat person.

I, personally, find the patents issue rather alarming. While it wouldn’t actually be all that beneficial to Microsoft to do it (well, it might be in their muddy world view, but it’s not in mine), they could potentially decide that the RAND grant on their patents on the standardised parts of .NET doesn’t cover open source implementations under the GPL. Bam. Instant court case. And actually one they have a chance of winning. This we do not want.

Imagine that happening if GNOME’s core was by that point partially written using Mono.

Okay, now you’ve recovered from that, let’s look at the alternative most people are punting: Java.

The truth is that Java is at least as bad a choice as Mono. For one thing, it’s a disgusting language, although I admit I’m not necessarily representing the entire world’s opinion on that. Some people actually like it.

For another thing, the licence for Java implementations has some really rather nasty clauses in it, making projects like gcj and GNU Classpath, which are currently the only way we’re going to get Free Software Java, a little bit potentially dodgy. Sun have control over Java and they want to keep it. Microsoft, as is entirely probable, want to keep control over .NET. Fair enough to both of them.

So what can we do? The whole debate assumes of course that GNOME needs a high-level programming language to be used in the core. This is probably true - at least for the applications. I don’t really think it’s appropriate at the moment to write the core libraries in anything other than C, for the sake of the language bindings if nothing else, but…

The main attraction to .NET is not just the C# language, but the CLR. This allows applications to be written in many different languages, which can all, through the CLR, access each others’ objects. C# may create a subclass of a class defined originally in Managed C++, and that class might contain an instance of another class which was defined in JScript, or Python (yes there is a Python implementation on .NET now, and it’s very quick too).

So that’s great. Makes multilingual development pretty good. You can even use Java with it these days (why would you want to though? Still, the choice is there).

But there’s the patents thing, and there’s the fact that the patents are held by Microsoft. Do we trust Microsoft? Of course not.

So. What do we do?

I think everyone should go have a look at Parrot. People may dismiss it, because it’s not ready yet and because it’s being designed as the Perl 6 runtime engine. Which it is, but it’s also a multilanguage runtime which can give us multilingual object access and other such things much like .NET’s CLR does. And guess what - Free Software.

Plus Perl 6 rocks, of course. If GNOME is going to move to anything higher level, I’d really like to see Parrot considered as a runtime, with Perl 6, Perl 5 (Ponie), Python (implementation for Parrot under development) and anything else that runs on Parrot as initial implementation languages. I know they probably won’t run as fast as C# on .NET, being dynamically typed languages and all, but something tells me Parrot has the potential to make a significant impact on GNOME’s advancement.

The question is, do we want this impact to come from the Free Software community, or from Redmond?

Sunday, 16th May 2004

Steeleye Span

Filed under: Music — MaW @ 23:10

Well I just got back from seeing Steeleye Span on their 35th anniversary tour at the Cambridge Corn Exchange. And they were good. They were very good.

Actually, they were better than that.

Having an audience made up of people of many different ages who clearly are mostly rabid Steeleye fans probably helps with the atmosphere, of course. Everyone knows the classic songs, everyone’s eager to hear the new ones, half the audience can probably sing along with virtually all of them.

Peter Knight is as good on the violin as is said. Yes, he sounds good on their CDs, but seeing him do the same kind of thing live really proves that he can do it. Maddy Prior has an incredible singing voice unlike any other. Surprisingly this evening it didn’t degenerate into wailing as it sometimes does on the recordings — maybe she was being careful to maintain her singing voice until the end. Which she did, of course. May I note that her dancing around the stage during the instrumental parts of the songs was most entertaining.

Ken Nichol, a relative newcomer to the band, was on guitar and vocals, and definitely a good addition to the lineup. He’s good. Enough said.

Oh, except that the things he does with his eyebrows when he’s singing have to be seen to be truly appreciated.

Rick Kemp, of course, is unspeakably good on the bass guitar. He only sang one lead vocal, but that was excellent. He should do more, but then they’d have to have a longer concert. Not that this would be a bad thing in the slightest.

Liam Genockey, the drummer with the beard. Good drummer, very interesting beard indeed. It’s not often that you see one that’s plaited down to the navel.

Steeleye Span are definitely to be recommended for live performances. I shall have to go and see them again. In the mean time I’ve got an obscene number of their albums (and more to get), so I shall have to be content for the time being.

Irritatingly, I found out this evening that Jim Moray is touring as support with someone else I’ve never heard of, and that they’re performing in Cambridge tomorrow evening when I’m on call. Poo.

I shall have to see if Jim’s doing the folk festival.

Ah yes, he is, and there are still tickets for the Sunday, and my Tai Chi teacher’s doing Chi Kung sessions there!

I sense a plan coming on.

Thursday, 13th May 2004

What I’ve been up to

Filed under: Life — MaW @ 22:49

Well, you know, this and that. City of Heroes again. Got some more screenshots I should post some time, some of them are pretty. Watched the rest of Firefly, brilliant series that never should have been cancelled.

Was ill at the start of the week, mild fever and general ickiness but recovered in time for Tai Chi (thankfully), although it was very, very tiring. More so than usual.

Discovered that one of my toenails is slicing its way through the toe on the way toward regrowing the bit it lost in a swimming pool in Germany. Blood and puss everywhere, lovely. Keep an eye on it, might have to go to the chiropodist.

Looking for final information about LASIK before I decide who to have it done with. I bet that the moment I’ve had it done and can see again I’ll go online and find that the whole eyesight standards thing has been abolished. Apparently the meeting’s happened but nobody’s talking about the consequences yet. The key tricks seem to be what the definition of a disability actually is, and how far the Police can get in squirming around operational requirements, whether real or imaginary. Yes, it’s that old horse again.

What did someone say on the City of Heroes forums? Oh yes. We’ve gone beyond the dead horse and the stick, we’re now using a bulldozer and running back and forth over it repeatedly.

Oh well, not long to go now.

Thursday, 6th May 2004

City of Heroes

Filed under: Games — MaW @ 22:30

Well I got hold of a copy of City of Heroes — completely legitimately, I hasten to add. It’s my first MMOPRG so perhaps my expectations are different to someone who’d been playing something like EverQuest, but personally I’m very pleased with it. Sure, it doesn’t have a craft system or a player-run economy or anything like that, but it’s just pure fun. Character creation is fantastic, with vast amounts of costume to choose from, all in customisable colours in vast combinations. While my primary hero Eldhrin has lightning-decorated flared trousers, the first hero I created has a skintight blue spandex suit with a very silly headdress, and a tail.

So once you’ve gone past that, the atmosphere within the game is great. Virtually everybody currently playing seems to be very polite, heroes help each other out if they see someone getting into trouble, people are usually willing to team up to tackle the tougher missions, and just walking/running/jumping/flying around the city is interesting in itself, as you’ll come across various muggings, car thefts and so forth to stop — or ones which other heroes are already taking care of. Watching other heroes can be as interesting as doing it yourself, especially if they’re playing a different archetype to your own, or with substantially different power sets.

Archetypes are much like classes in a traditional RPG. You can be a Blaster, which is what Eldhrin is. Blasters aren’t all that tough, but they get all the long-range high-damage powers, so are a bit like having an AK-47 but only a light flak jacket.

Other classes include the Scrapper, who gets in close and dispatches enemies with high-powered melee attacks; the Tanker, who is similar to the Scrapper but deals less damage, being capable of withstanding vast amounts of it instead. There’s also the Controller, who’s very weak offensively but gets access to various powers allowing immobilisation, incapacitation or outright mental control of enemies (getting them to kill each other appears to be quite amusing); and finally the Defender, who specialises in powers which enhance, heal and augment other heroes.

Needless to say, the weaknesses of all these types mean they work best if you combine into a team with a number of other heroes of different archetypes. Taking a couple of Scrappers, a Blaster, a Controller and a Defender as I did earlier today and taking on a mission suddenly becomes a very different experience to doing it solo. And it’s a lot more fun. The game adjusts the difficulty based on the team attempting it, so it never seems too easy, but certainly many missions are much more suited to team-based play than soloing, especially as a Blaster.

Anyway, that’s about enough of that — if you want to know more, the reviews are rapidly appearing online now. In the mean time, I’ve got a new gallery of screenshots from City of Heroes. That’s available from my main photo gallery — enjoy!

Powered by WordPress