Now I start to see why this would be useful for other things, but let me put it this way: If you're going to be paged, something is already wrong, so I don't think usability is such a huge issue -- these notifications should be few and far between.
Let me ask you this: Is the ability to have your "OMG the server is on fire!" message show up in Growl worth an additional point of failure?
Chances are, we can, there just hasn't always been enough motivation for it.
There's already sufficient social networking features built in to OpenID and the Web itself that I'm prepared to call MySpace obsolete. The only thing it has going for it is its massive number of users -- which wouldn't be a problem, if MySpace supported something like OpenID/XFN/etc -- so you see the catch 22 here.
They get at most one chance to be a local admin; screw up badly enough and that's it.
How about unlimited chances, but limited "free" chances? If they're costing you IT time, take it out of their paycheck. I'm guessing they'll either stop screwing up or give up their local admin access when actual dollars are on the line.
strong encouragement to use Firefox rather than Redmondware.
Interesting that you mention this, just after talking about the virtues of Active Directory.
For security reasons its always important to manage the AV, updates, etc. on the machine.
If your network can be hosed by a single misbehaving machine, you have bigger problems.
If you have important IP on laptops, it becomes even more important to have a good policy to manage machine health, rather than leaving it to individual discretion.
Or make it clear to users just how big a lawsuit they have coming their way if their laptop should be compromised.
And finally, if you have well-defined and relatively narrow roles for which machines are required, again it makes sense to lock them down.
Not really. It may make sense according to some abstract ideal, but you end up saving on IT costs -- and, well, putting large chunks of IT out of a job -- even if the machine is in a relatively limited role.
That is, flexibility is only part of the benefit. The other part of it is, your helpdesk has a lot less work to do.
So you want to pay desktop support techs to re-image users' computers all the time?
How about this: Configure the bootloader to have two options -- boot normal OS, and boot re-image. Re-image boots from the network, and is fully automatic. User calls helpdesk, helpdesk says "Well, it looks like you have a virus. Could you press the re-image button?"
In our company re-image takes about 8 hours due to hard drive encryption.
First: 8 hours? WTF? Yes, I know encryption slows things down, but not by that much. Either you have slow hardware, or your crypto product sucks, or you've got WAY too much stuff in that image.
Seriously, assuming maybe a 30 gig image -- I've had that go faster, over 100 mbit ethernet, to a laptop hard drive, to not only an encrypted drive, but an encrypted NTFS drive -- on Linux, using ntfs-3g, which is itself very slow and CPU-intensive.
And do you really have your desktop support techs sitting there the whole fucking time?? Even if it does take 8 hours, how is this a loss of time for desktop support techs, for whom it should take less than a minute to fire off the process?
which translates into lost productivity of the user.
Which translates (in a sane world) into the following choice: Either the user goes back on a traditional plan, locked down tight, or they're liable for their own lost time. Enough pay cuts for time wasted waiting for a re-image, and they'll learn.
...And I know, this only works right up until the CEO needs to be re-imaged.
How about this: Keep at least one or two spare boxes around, or at least hard drives. If a user needs a re-image, carry a new (identical) box back to their desk, and take their old one away. Let the re-image grind away in a corner somewhere, and the user gets back to work.
I've worked as a desktop support tech both in my college where users had admin rights to their PCs, and for a company that had locked-down environment with packaged software where almost nobody had admin rights and no non-approved software could be installed.
I currently work for a company small enough where there is no official IT department -- users fix their own problems, and everyone is knowledgeable enough to do so. But we're a software company -- if you're working in software and you can't admin your own machine, should you really be working in software?
Of course there's the whole issue of weatherbug/toolbars/ActiveX/other crapware that the users installed on a regular basis.
I suppose it depends which large company you're talking about, but there are large companies which function as a conglomeration of smaller ones. In fact, many "large companies" do this in a pretty dysfunctional way -- various managers and departments stake out their territory and do things their own way, and as long as it works, the Large Company doesn't want to interfere.
Oh, and maybe you missed it, but Google is doing this. Do they not count as "sufficiently large"?
I'd go one further and, if you've got the storage, let users create their own images. You still have the option of restoring from the standard image if they've somehow hosed their own image.
I'd also run some kind of restore automatically, once a month at least, to discourage people from saving anything to their local machine, when there's network storage available.
It's hard, but come up with a number. Amount actually being spent on IT, amount you'll inevitably have to pay in lost productivity (if too locked down) or in chasing viruses (if understaffed), etc. Compare that to the cost of per-user budget and training.
Now, look at things like: How much more could you pay a reasonably computer-literate person to do various jobs? How much might it cost in training to salvage some of your workforce?
But honestly, some of the things the "unwashed masses" do... Look, this is your tool. You depend on it -- you rely on it all day, every day. Any other kind of tool, you'd be given training, and you'd be expected to know how it works, and not screw it up in stupid ways.
Would you hire a truck driver who didn't know how to drive a truck?
At the very least, give them a test to prove they're savvy enough to do it themselves.
Oh, and remember, with the power comes the responsibility. If your users are admining their own box, they don't get to come to you when it's crawling and BSODing. If they do, you get to reformat and put them back on the old-fashioned IT lockdown.
Given that it's a work computer, it seems pretty unlikely that they'd be downloading tons of pirated games. At least, it seems unlikely they'd get away with it; there's the corporate firewall in the way, and there's the fact that they'd then have to hide the very existence of those games from everyone else.
So you're basically assuming we're talking about people pirating Photoshop, Office, Visual Studio, etc.
And frankly, there's a finite number of apps anyone actually needs at their job, or even apps they think they need.
So give them a stern lecture about piracy, and a large budget to go buy software with. Given that, what users are actually going to be running pirated software?
Yes, they do know how to get it for free. What they don't know is how to get it for free from the Internet.
What inevitably happens is, one of "us" creates a pirated copy, puts the crack on the CD, and gives it to one of "them". They do know how to put the CD in the drive and push the big shiny "copy CD" button (wherever that might be), assuming they even need to go that far -- before you know it, the same CD will have been around several social circles. Yes, social circles -- just a casual "Oh, you need Photoshop? I can get you a copy."
There was an article about this, but I don't remember where.
Oh, and by the way, no one has to know what a tracker is. It's as simple as having BitTorrent installed and clicking on a torrent link. That's beyond the reach of some people, I know, but not for long.
Free as in beer vs. works with 100% of your current documents.
MS Office doesn't work with 100% of MS Office documents, and there have been times when OpenOffice will open certain older documents better than the current version of MS Office.
Still, it is hard to ignore that most of your current documents will work with the MS product...
Here's another big consideration: You know and I know that one is built around a proprietary format -- even OOXML is still very much a proprietary format -- and the other is built around an open standard. That means one is likely better compatible with the documents you have right now, and the other, once you're over that initial hurdle, is likely better compatible with any other software, from now on, forever.
Speaking from experience, it's just absurdly easier to write a brand-new parser for ODT than for DOCX.
Honestly, I don't have time to explain how wrong you are. Go read. An excerpt:
Readers fired back with an amazingly intelligent array of counterexamples: situations where duplicating a CD or DVD may be illegal, but isnt necessarily *wrong.* They led me down a garden path of exceptions, proving that what seemed so black-and-white to me is a spectrum of grays.
Why, oh why, haven't people figured out how to deal with this kind of email "spam" yet? Why is it so much more acceptable to spam them via Twitter than to spam their email box?
It's not that I think Twitter is dying, it's that I still don't see the point.
Here's the problem with Twitter, if I understand it -- it's a centralized service. Like Myspace, or Facebook, it's a walled garden -- you have to register with them, and your ability to "tweet" or do whatever it is they provide lives and dies with them.
Compare this to a much older technology -- email. Any one mailserver can go down without the "email network" going down -- it is completely decentralized. Anyone can setup their own mailserver -- the barrier of entry is very low -- which means that it's very difficult for any one company to become so entrenched that they get to set the rules. Jabber is a more instant variant of the same philosophy.
So... Twitter is for posting your status to the world, right? Why not do that via something like OpenID? You can still have your "only does one thing" philosophy -- a status is a status, and nothing more.
Erm... why is it any better than any other SMS? What does it do to justify depending on a third-party service -- and a free, "Web 2.0" one at that -- for a mission-critical feature?
I hate it too. "Podcasting" has nothing to do with an iPod, yet it's an established word, and it's difficult to come up with another word for an RSS feed of audio files.
However, most of the time I've seen people post regular video files, it's explicitly not a podcast -- it's something like a "video blog", a "YouTube blog", etc. Or, occasionally, it's "screencasting", and those can be relatively useful.
It's perverse, though -- a lot of these ideas are not new, yet suddenly, when you take two or three 5+ year old technologies, use them together in some relatively logical way, and give it a trendy name, it becomes hugely popular. The same is true of Twitter, and even (especially?) of Myspace.
I didn't see that ad, but I find it to be icing on the cake, honestly. What's happening here is, at the very moment you're hating T-Mobile for being such asshats, you see one of their ads -- and thus hate them more.
And on top of it all, T-Mobile is paying for the privilege of being featured in an article on how stupid they're being!
That would still be runtime. I want it to be compile time, so that I don't pay a runtime overhead for something that could be precomputed
My answer to that would be, eventually, smarter compilers could be built. If you expect to do a lot of differentiation based on the actual type you receive, you could define a DSL for that, which, if it became popular enough, could be implemented natively by future compilers, without actually doing anything to the base language.
And a more general answer: I want to get the language right first, in terms of what is most efficient to code in. Occasionally, I can see designing it so that it supports future optimizations -- Ruby's symbols are an example of this, even if they're curently implemented as strings (I think). But only if such modifications leave the language at least as clean and readable as it was before -- Ruby's symbols are actually one less character to type than using a string instead.
and so that type errors and other such trivia is out of the way before I begin testing.
I see type errors as just another thing to write unit tests for -- assuming they become an issue at all. If I already have unit tests covering most of my code, I probably don't have to think about types there, either.
It's hard to measure objectively, but how much time do you spend thinking about type hierarchies, or building additional code which wouldn't be needed with implicit typing? And how much time would you spend tracking down type errors?
I think we just have to disagree there. Unit test doesn't always save you from odd corner cases. Strict and static typing helps there.
Static typing won't always save you from odd corner cases, either. I'd argue that static typing in the absence of unit tests is significantly less robust than unit testing in the absence of static typing.
There's an additional argument that if you're getting such odd corner cases that your tests don't cover, either you're not very good at writing tests, or your architecture is too complex, and needs to be redesigned.
You may be right, though, that we have to disagree. This isn't exactly a new debate. I know I'm never going back to explicit typing, at least.
std::hash is specialized for all object that want to support hashing. So if you have a class that can't or won't hash, the compiling fails....Overloading is simple... instead of a function starting with a bunch of test to find out what sort of argument you got, the correct function will be inferred by the type. So operator/(double) is a completely different method than operator/(complex).
Well, again, this is something which can be dealt with (kind_of?, ===, case/when) -- and something you could write a DSL for. It just ends up getting dealt with at runtime, instead of compile time.
Since I don't like external DSLs -- that is, a preprocessor that is, itself, a completely different language/syntax -- I have to accept that there's a very good chance that the line between compiletime/runtime might get blurred. And since I do believe in a robust test suite, I don't mind that as much as you would.
In C++ I can return a constant reference and *know* that it won't get modified. Or call a constant member and know that the method doesn't modify the object.
I don't think these are guarantees you can have in a dynamic language.
I agree, but constants variables are just the beginning. It's the constant methods and return values that are truly valuable.
Constant methods being, by your own admittance, just a stricter form of the bang convention in Ruby.
Actually, let me take that a step further: If you wanted to do some static code analysis, this is almost as simple as grep. Any method that doesn't end in a bang (!) may not call any other method on the object or its properties which
Which would suggest that Freenet is leaking memory, not Java.
Which is impressive, given that Java uses garbage collection. You kind of have to work at it to leak memory in a Java program.
Why is it that everyone assumes Freenet sucks because of Java? Sure, Java isn't helping matters, but if it sped up this much, and it's still using Java, what does that tell you about how much Freenet used to suck?
If I remember, the main reason Java portability sucked was Microsoft's broken implementation. Anyone knowledgeable enough to be implementing a Freenet node should know how to install an actual Sun Java.
Certainly, I'd never want to actually write Java myself -- it's a hideously ugly language -- but as a VM, it's not bad. And I honestly don't get why the AC is deciding not to use a program because of the language it's implemented in.
Of course. ISO has tons of standards that we don't all use all the time. In the same way that the ISO C standard doesn't require everyone to program in C, an OOXML standard won't force anyone to use OOXML. What matters is whether or not a large number of people stand behind a standard and request that others follow it.
It also matters when governments start imposing standards-compliance on themselves. For a brief moment, we had hoped that we'd be able to get government documents in a reasonably standard format (ODF) -- that is, I think, why this is actually a big deal.
Usually there's an existing implementation that gets to call most of the shots...
I'd argue that's actually a good thing, if and only if said implementation is at least as free/open as the standard itself. No spec can capture every single quirk of a real live piece of software, and in case we discover two alternate implementations which both fit the spec, it would be nice to be able to say which is correct.
That's not originally my idea, but I can't remember where I heard it first.
But for large parts of the spec to basically say "Whatever MS Office does" -- or, actually, "Whatever a particular piece of extinct proprietary software does" -- that seems pretty unacceptable in a spec which is meant to define the now and future standard, rather than simply document (partially) what a particular implementation is going to do anyway.
My understanding is, the "release" was of the underlying tech -- things like KDElib, QT4, etc.
I have no idea when the actual K Desktop Environment is due, though I'll probably be switching to the experimental Hardy KDE/4 version when Hardy itself is released. Mainly, I can't wait for Konqueror to not crash several times a day, and I suspect Webkit will help with that.
We already had OOXML rubber-stamped by Ecma, proving, once again, that Ecma likes to rubber-stamp things. Having it ISO-certified, while a blow, is perhaps not the most serious result of this...
If OOXML is certified, we're put in a lose/lose situation. Either we accept it, and OOXML becomes a "standard", even though it really isn't -- or we continue to write letters and refuse to accept it as a "standard", which implies we can't trust ISO -- which means we're just about out of standards organizations to trust. And a world without official standards is a world of defacto standards, which means Microsoft will win every future battle.
Think of it this way: If we couldn't trust the w3c, or the Acid2/3 tests, the standard for websites would likely fall back to "Works Best with Internet Explorer 8." That's effectively what's about to happen to everything ISO.
In other words -- you are a troll, and you might actually believe that circumvention of copy protection is immoral.
Let's talk about that -- what is immoral about me ripping a DVD to an iPod? Because that is illegal.
Sorry if you're too shallow to see the difference between legality and morality.
Now I start to see why this would be useful for other things, but let me put it this way: If you're going to be paged, something is already wrong, so I don't think usability is such a huge issue -- these notifications should be few and far between.
Let me ask you this: Is the ability to have your "OMG the server is on fire!" message show up in Growl worth an additional point of failure?
Chances are, we can, there just hasn't always been enough motivation for it.
There's already sufficient social networking features built in to OpenID and the Web itself that I'm prepared to call MySpace obsolete. The only thing it has going for it is its massive number of users -- which wouldn't be a problem, if MySpace supported something like OpenID/XFN/etc -- so you see the catch 22 here.
How about unlimited chances, but limited "free" chances? If they're costing you IT time, take it out of their paycheck. I'm guessing they'll either stop screwing up or give up their local admin access when actual dollars are on the line.
Interesting that you mention this, just after talking about the virtues of Active Directory.
If your network can be hosed by a single misbehaving machine, you have bigger problems.
Or make it clear to users just how big a lawsuit they have coming their way if their laptop should be compromised.
Not really. It may make sense according to some abstract ideal, but you end up saving on IT costs -- and, well, putting large chunks of IT out of a job -- even if the machine is in a relatively limited role.
That is, flexibility is only part of the benefit. The other part of it is, your helpdesk has a lot less work to do.
How about this: Configure the bootloader to have two options -- boot normal OS, and boot re-image. Re-image boots from the network, and is fully automatic. User calls helpdesk, helpdesk says "Well, it looks like you have a virus. Could you press the re-image button?"
First: 8 hours? WTF? Yes, I know encryption slows things down, but not by that much. Either you have slow hardware, or your crypto product sucks, or you've got WAY too much stuff in that image.
Seriously, assuming maybe a 30 gig image -- I've had that go faster, over 100 mbit ethernet, to a laptop hard drive, to not only an encrypted drive, but an encrypted NTFS drive -- on Linux, using ntfs-3g, which is itself very slow and CPU-intensive.
And do you really have your desktop support techs sitting there the whole fucking time?? Even if it does take 8 hours, how is this a loss of time for desktop support techs, for whom it should take less than a minute to fire off the process?
Which translates (in a sane world) into the following choice: Either the user goes back on a traditional plan, locked down tight, or they're liable for their own lost time. Enough pay cuts for time wasted waiting for a re-image, and they'll learn.
...And I know, this only works right up until the CEO needs to be re-imaged.
How about this: Keep at least one or two spare boxes around, or at least hard drives. If a user needs a re-image, carry a new (identical) box back to their desk, and take their old one away. Let the re-image grind away in a corner somewhere, and the user gets back to work.
I currently work for a company small enough where there is no official IT department -- users fix their own problems, and everyone is knowledgeable enough to do so. But we're a software company -- if you're working in software and you can't admin your own machine, should you really be working in software?
Re-image. Bye-bye crapware. Any questions?
I suppose it depends which large company you're talking about, but there are large companies which function as a conglomeration of smaller ones. In fact, many "large companies" do this in a pretty dysfunctional way -- various managers and departments stake out their territory and do things their own way, and as long as it works, the Large Company doesn't want to interfere.
Oh, and maybe you missed it, but Google is doing this. Do they not count as "sufficiently large"?
I'd go one further and, if you've got the storage, let users create their own images. You still have the option of restoring from the standard image if they've somehow hosed their own image.
I'd also run some kind of restore automatically, once a month at least, to discourage people from saving anything to their local machine, when there's network storage available.
Calculate the cost of IT.
It's hard, but come up with a number. Amount actually being spent on IT, amount you'll inevitably have to pay in lost productivity (if too locked down) or in chasing viruses (if understaffed), etc. Compare that to the cost of per-user budget and training.
Now, look at things like: How much more could you pay a reasonably computer-literate person to do various jobs? How much might it cost in training to salvage some of your workforce?
But honestly, some of the things the "unwashed masses" do... Look, this is your tool. You depend on it -- you rely on it all day, every day. Any other kind of tool, you'd be given training, and you'd be expected to know how it works, and not screw it up in stupid ways.
Would you hire a truck driver who didn't know how to drive a truck?
At the very least, give them a test to prove they're savvy enough to do it themselves.
Oh, and remember, with the power comes the responsibility. If your users are admining their own box, they don't get to come to you when it's crawling and BSODing. If they do, you get to reformat and put them back on the old-fashioned IT lockdown.
Given that it's a work computer, it seems pretty unlikely that they'd be downloading tons of pirated games. At least, it seems unlikely they'd get away with it; there's the corporate firewall in the way, and there's the fact that they'd then have to hide the very existence of those games from everyone else.
So you're basically assuming we're talking about people pirating Photoshop, Office, Visual Studio, etc.
And frankly, there's a finite number of apps anyone actually needs at their job, or even apps they think they need.
So give them a stern lecture about piracy, and a large budget to go buy software with. Given that, what users are actually going to be running pirated software?
Yes, they do know how to get it for free. What they don't know is how to get it for free from the Internet.
What inevitably happens is, one of "us" creates a pirated copy, puts the crack on the CD, and gives it to one of "them". They do know how to put the CD in the drive and push the big shiny "copy CD" button (wherever that might be), assuming they even need to go that far -- before you know it, the same CD will have been around several social circles. Yes, social circles -- just a casual "Oh, you need Photoshop? I can get you a copy."
There was an article about this, but I don't remember where.
Oh, and by the way, no one has to know what a tracker is. It's as simple as having BitTorrent installed and clicking on a torrent link. That's beyond the reach of some people, I know, but not for long.
MS Office doesn't work with 100% of MS Office documents, and there have been times when OpenOffice will open certain older documents better than the current version of MS Office.
Still, it is hard to ignore that most of your current documents will work with the MS product...
Here's another big consideration: You know and I know that one is built around a proprietary format -- even OOXML is still very much a proprietary format -- and the other is built around an open standard. That means one is likely better compatible with the documents you have right now, and the other, once you're over that initial hurdle, is likely better compatible with any other software, from now on, forever.
Speaking from experience, it's just absurdly easier to write a brand-new parser for ODT than for DOCX.
What rights?
Honestly, I don't have time to explain how wrong you are. Go read. An excerpt:
Why, oh why, haven't people figured out how to deal with this kind of email "spam" yet? Why is it so much more acceptable to spam them via Twitter than to spam their email box?
It's not that I think Twitter is dying, it's that I still don't see the point.
We already have simple, open APIs for a few things -- REST is one of the better ways of doing that.
And yes, I know emacs can do anything.
Here's the problem with Twitter, if I understand it -- it's a centralized service. Like Myspace, or Facebook, it's a walled garden -- you have to register with them, and your ability to "tweet" or do whatever it is they provide lives and dies with them.
Compare this to a much older technology -- email. Any one mailserver can go down without the "email network" going down -- it is completely decentralized. Anyone can setup their own mailserver -- the barrier of entry is very low -- which means that it's very difficult for any one company to become so entrenched that they get to set the rules. Jabber is a more instant variant of the same philosophy.
So... Twitter is for posting your status to the world, right? Why not do that via something like OpenID? You can still have your "only does one thing" philosophy -- a status is a status, and nothing more.
Erm... why is it any better than any other SMS? What does it do to justify depending on a third-party service -- and a free, "Web 2.0" one at that -- for a mission-critical feature?
I hate it too. "Podcasting" has nothing to do with an iPod, yet it's an established word, and it's difficult to come up with another word for an RSS feed of audio files.
However, most of the time I've seen people post regular video files, it's explicitly not a podcast -- it's something like a "video blog", a "YouTube blog", etc. Or, occasionally, it's "screencasting", and those can be relatively useful.
It's perverse, though -- a lot of these ideas are not new, yet suddenly, when you take two or three 5+ year old technologies, use them together in some relatively logical way, and give it a trendy name, it becomes hugely popular. The same is true of Twitter, and even (especially?) of Myspace.
I didn't see that ad, but I find it to be icing on the cake, honestly. What's happening here is, at the very moment you're hating T-Mobile for being such asshats, you see one of their ads -- and thus hate them more.
And on top of it all, T-Mobile is paying for the privilege of being featured in an article on how stupid they're being!
DENIED!
</voice>
My answer to that would be, eventually, smarter compilers could be built. If you expect to do a lot of differentiation based on the actual type you receive, you could define a DSL for that, which, if it became popular enough, could be implemented natively by future compilers, without actually doing anything to the base language.
And a more general answer: I want to get the language right first, in terms of what is most efficient to code in. Occasionally, I can see designing it so that it supports future optimizations -- Ruby's symbols are an example of this, even if they're curently implemented as strings (I think). But only if such modifications leave the language at least as clean and readable as it was before -- Ruby's symbols are actually one less character to type than using a string instead.
I see type errors as just another thing to write unit tests for -- assuming they become an issue at all. If I already have unit tests covering most of my code, I probably don't have to think about types there, either.
It's hard to measure objectively, but how much time do you spend thinking about type hierarchies, or building additional code which wouldn't be needed with implicit typing? And how much time would you spend tracking down type errors?
Static typing won't always save you from odd corner cases, either. I'd argue that static typing in the absence of unit tests is significantly less robust than unit testing in the absence of static typing.
There's an additional argument that if you're getting such odd corner cases that your tests don't cover, either you're not very good at writing tests, or your architecture is too complex, and needs to be redesigned.
You may be right, though, that we have to disagree. This isn't exactly a new debate. I know I'm never going back to explicit typing, at least.
Well, again, this is something which can be dealt with (kind_of?, ===, case/when) -- and something you could write a DSL for. It just ends up getting dealt with at runtime, instead of compile time.
Since I don't like external DSLs -- that is, a preprocessor that is, itself, a completely different language/syntax -- I have to accept that there's a very good chance that the line between compiletime/runtime might get blurred. And since I do believe in a robust test suite, I don't mind that as much as you would.
I don't think these are guarantees you can have in a dynamic language.
Constant methods being, by your own admittance, just a stricter form of the bang convention in Ruby.
Actually, let me take that a step further: If you wanted to do some static code analysis, this is almost as simple as grep. Any method that doesn't end in a bang (!) may not call any other method on the object or its properties which
Which would suggest that Freenet is leaking memory, not Java.
Which is impressive, given that Java uses garbage collection. You kind of have to work at it to leak memory in a Java program.
Why is it that everyone assumes Freenet sucks because of Java? Sure, Java isn't helping matters, but if it sped up this much, and it's still using Java, what does that tell you about how much Freenet used to suck?
What would be better? .NET? Surely, you jest.
If I remember, the main reason Java portability sucked was Microsoft's broken implementation. Anyone knowledgeable enough to be implementing a Freenet node should know how to install an actual Sun Java.
Certainly, I'd never want to actually write Java myself -- it's a hideously ugly language -- but as a VM, it's not bad. And I honestly don't get why the AC is deciding not to use a program because of the language it's implemented in.
It also matters when governments start imposing standards-compliance on themselves. For a brief moment, we had hoped that we'd be able to get government documents in a reasonably standard format (ODF) -- that is, I think, why this is actually a big deal.
I'd argue that's actually a good thing, if and only if said implementation is at least as free/open as the standard itself. No spec can capture every single quirk of a real live piece of software, and in case we discover two alternate implementations which both fit the spec, it would be nice to be able to say which is correct.
That's not originally my idea, but I can't remember where I heard it first.
But for large parts of the spec to basically say "Whatever MS Office does" -- or, actually, "Whatever a particular piece of extinct proprietary software does" -- that seems pretty unacceptable in a spec which is meant to define the now and future standard, rather than simply document (partially) what a particular implementation is going to do anyway.
My understanding is, the "release" was of the underlying tech -- things like KDElib, QT4, etc.
I have no idea when the actual K Desktop Environment is due, though I'll probably be switching to the experimental Hardy KDE/4 version when Hardy itself is released. Mainly, I can't wait for Konqueror to not crash several times a day, and I suspect Webkit will help with that.
And that is the real tragedy here.
We already had OOXML rubber-stamped by Ecma, proving, once again, that Ecma likes to rubber-stamp things. Having it ISO-certified, while a blow, is perhaps not the most serious result of this...
If OOXML is certified, we're put in a lose/lose situation. Either we accept it, and OOXML becomes a "standard", even though it really isn't -- or we continue to write letters and refuse to accept it as a "standard", which implies we can't trust ISO -- which means we're just about out of standards organizations to trust. And a world without official standards is a world of defacto standards, which means Microsoft will win every future battle.
Think of it this way: If we couldn't trust the w3c, or the Acid2/3 tests, the standard for websites would likely fall back to "Works Best with Internet Explorer 8." That's effectively what's about to happen to everything ISO.