Insisting on third-party verification of results is hardly damning either of them... It's just scientific. You (and everyone else) are absolutely right to be sceptical, and not just because VMware have a vested interest in this case. They might just be wrong. Or not.
The rest of your post pretty much falls apart at that point, but:
Should the media never be forced to give up evidence of a crime, even in extreme cases like rape and murder? Should an individual ever be forced to testify against themselves or others? It's the flip-side of the same question.
If the new medium wasn't traditionally so fragile, temperamental and half-implemented, we'd see "fixed width" replaced by "fixed proportion" pretty damn swiftly.
This is a good indication that Ruby's implementation is flawed. Not perfect, certainly. I'd go for 'immature' over 'flawed', though.
In fact, there was an effort to get Ruby on the JavaVM, which got scrapped No it didn't. Here it is.
But when there are alternatives that give you a single, fast language base up front (e.g. Java, IronPython), it seems pointless to go in a direction that would require writing C when that's not desired. It depends on which you value more: developer time or processor time.
I commend these efforts, but wonder why on earth Matz is spending time writing yet another VM (Rite)? One word: continuations. I'm no expert by any means, but the impression I have is that continuations are mindbogglingly difficult to get right on a VM that's not designed with them in mind. The question in *my* mind is why Ruby hasn't been implemented on top of a Common Lisp runtime yet.
In the meantime I did some research myself and found the sobering fact that Ruby/Rails essentially does NOT support Unicode in any usable way.
That depends on what you mean by 'usable'...
A string of Unicode characters is NOT just a bunch of bytes: take the simple operation of finding the length of a word or reversing it: both string functions return nonsense in Ruby, if there is any character encoded in more than one byte in the string.
My point was that for the vast majority of cases, you don't need to care (because a string from the database will be seen the right way by the browser without Ruby needing to get in the way), and when you do, it's not impossible. The official stance right now is "We're getting it right next time, until then use regular expressions."
Ruby makes it unnecessarily difficult to do things in those cases. Absolutely agreed.
Regarding your statement about whether UTF-8 is the best way to encode characters I have to say: it depends - on the language and the source of your data.
I find myself coming down on the side of those who believe that assuming any single encoding will fix everyone's problems are wrong.
Unfortunately, Ruby's issue is not so much with UTF-8 as an encoding as with a perception that Unicode as a character set is insufficiently Japanese.
To a certain extent, I'm sure that's true. However, there's also the opinion I've heard voiced that restricting Ruby's String class to a single representation internally completely ignores the fact that there are other encodings out there. Java is *not* thought to have got string encoding right by several Ruyists, but I don't know how much of that impression comes from changing encodings mid-stream. There is also the belief that it's not necessary to have a single internal representation, but that tagging and dynamic conversion is what would make things easiest for the largest number of people.
1) CPAN has the advantage of being stupidly huge, and is one of the best things about Perl, or indeed any language. I don't know of a library set like it. Ruby's libs aren't as comprehensive, but there is a lot of useful stuff out there.
2) There are two separate issues here. Character set conversion is happily handled by the Iconv library, which is part of Ruby's stdlib. Without being intimately familiar with eGroupWare, I'm not entirely sure what functionality it provides. On the other hand, I can say that a) building something equivalent in Rails would *probably* not be difficult, and b) something equivalent in Rails *probably* hasn't been built yet.
3) Ruby isn't fast, by any stretch of the imagination. However, it is drop-dead simple to integrate native code, so you get the triple benefits of fast developer time for prototyping, fast hotspot-finding for identifying which bits really *need* to be native, and fast integration of the minimum of native code that you actually need, so that your code remains as flexible as possible.
In terms of comparisons to other languages, you're right - Ruby is a sort of Lisp-without-macros. For comparisons many and varied, try here.
Which? DB2 or Rails? I'm assuming that DB2's got multilingual wrapped up pretty well. As far as Rails goes, there are a couple of handshakes to perform (set headers, set $KCODE, prod the DB in the right way if necessary), but once they're done, everything's just a bunch of bytes. Ruby's Unicode support isn't great (there's an active discussion about the best way to fix it up on ruby-lang right now), but 95 times out of 100 it doesn't cause a problem.
By the way, one of the sticking points about the Unicode issue with Ruby is that the opinion that "the best and most common way to use characters of other languages is UTF-8" is not universally held. It might be the most common, but many learned and respected individuals think it's not the best.
DRM's presence is a simple yes-or-no. "Adult" is an opinion call which is guaranteed to be wrong for some of the people some of the time. Simple as that.
Ah, but that's quite a long way from the question here. The question is, does hosting a tracker constitute copyright infringement? Swedish law is (as I understand it) particularly vague on this question, and it's not the job of an American lobbying group to decide Swedish legal questions. The Berne Convention says *nothing* about contributory infringement either, so that argument's out of the window, too.
There would be a real, tangible effect. If a company the size of Microsoft falls, *every single organisation* that's tied to a support contract would have to spend real money switching to an alternative. That would remove a colossal amount of spending power right across the global economy, just from the transition costs. Jobs (no, not him) would be lost, government departments would implode, and the sky would fall. Well, maybe not the last one, but there would be a bit of a dark age-ette as everyone flapped about trying to work out what to do next.
The organisations likely to be hit worst are the truly huge ones, and that's a *big* problem. The best thing for humanity that Microsoft can do (given that they can't keep expanding) is have a plan for steady decline and breakup into complementary companies and divisions that are free to compete against each other. Of course, they won't see it that way...
Actually, IronPython came out of an attempt to prove that the CLR was rubbish for dynamic languages. Amusingly enough, He What Begat IronPython (whose name I have forgotten) found exactly the reverse:-)
We don't have "scaffolding" (though somebody's submitted a patch to do something similar), but we do give you a ready-to-go administrative interface built from introspecting your models, and it's got some nice tricks for displaying many-to-many relations. We also give you a lot of other useful stuff like generic views pre-written to handle most common tasks (CRUD, date-based object listing and navigation, etc.)
Anybody contemplating giving any money to the EU needs to be aware that their auditors have refused to sign-off the EU's accounts for last 11 or so years because the organisation is so corrupt. We know. It's quite quaint.
Microsoft should tell them to stuff it. And lose half their market, at a particularly vulnerable time for them? That'd be a fun shareholder meeting to be at.
NOBODY has to pay MS anything. Yes they do. That's why it's called a monopoly.
EVERYBODY in the EU has to pay towards the bunch of theives in Brussels. And everybody in the US has to pay towards a bunch of thieves on Capitol Hill. Your point?
Try the one-click installer for Ruby from http://www.ruby-lang.org./ If I remember correctly, it comes with a.chm version of the Programming Ruby book, which you can browse at http://www.rubycentral.com/book (or buy the second edition, which is nicer).
It's an unfortunate fact of life that a large amount of their potential customers will be trying to run legacy applications on their shiny new MySQL 5.0 database. If those customers find they have to do *anything* to get their app to work properly (including change default settings), it's a black mark for MySQL, and it may be a big enough problem that they go for something else.
Insisting on third-party verification of results is hardly damning either of them... It's just scientific. You (and everyone else) are absolutely right to be sceptical, and not just because VMware have a vested interest in this case. They might just be wrong. Or not.
This guy has evidence of a crime.
No, he doesn't.
The rest of your post pretty much falls apart at that point, but:
Should the media never be forced to give up evidence of a crime, even in extreme cases like rape and murder?
Should an individual ever be forced to testify against themselves or others? It's the flip-side of the same question.
If the new medium wasn't traditionally so fragile, temperamental and half-implemented, we'd see "fixed width" replaced by "fixed proportion" pretty damn swiftly.
Hell, why not go the whole hog, and have a Mile-High Stripclub?
This is a good indication that Ruby's implementation is flawed.
Not perfect, certainly. I'd go for 'immature' over 'flawed', though.
In fact, there was an effort to get Ruby on the JavaVM, which got scrapped
No it didn't. Here it is.
But when there are alternatives that give you a single, fast language base up front (e.g. Java, IronPython), it seems pointless to go in a direction that would require writing C when that's not desired.
It depends on which you value more: developer time or processor time.
I commend these efforts, but wonder why on earth Matz is spending time writing yet another VM (Rite)?
One word: continuations. I'm no expert by any means, but the impression I have is that continuations are mindbogglingly difficult to get right on a VM that's not designed with them in mind. The question in *my* mind is why Ruby hasn't been implemented on top of a Common Lisp runtime yet.
In the meantime I did some research myself and found the sobering fact that Ruby/Rails essentially does NOT support Unicode in any usable way.
That depends on what you mean by 'usable'...
A string of Unicode characters is NOT just a bunch of bytes: take the simple operation of finding the length of a word or reversing it: both string functions return nonsense in Ruby, if there is any character encoded in more than one byte in the string.
My point was that for the vast majority of cases, you don't need to care (because a string from the database will be seen the right way by the browser without Ruby needing to get in the way), and when you do, it's not impossible. The official stance right now is "We're getting it right next time, until then use regular expressions."
Ruby makes it unnecessarily difficult to do things in those cases.
Absolutely agreed.
Regarding your statement about whether UTF-8 is the best way to encode characters I have to say: it depends - on the language and the source of your data.
I find myself coming down on the side of those who believe that assuming any single encoding will fix everyone's problems are wrong.
Unfortunately, Ruby's issue is not so much with UTF-8 as an encoding as with a perception that Unicode as a character set is insufficiently Japanese.
To a certain extent, I'm sure that's true. However, there's also the opinion I've heard voiced that restricting Ruby's String class to a single representation internally completely ignores the fact that there are other encodings out there. Java is *not* thought to have got string encoding right by several Ruyists, but I don't know how much of that impression comes from changing encodings mid-stream. There is also the belief that it's not necessary to have a single internal representation, but that tagging and dynamic conversion is what would make things easiest for the largest number of people.
1) CPAN has the advantage of being stupidly huge, and is one of the best things about Perl, or indeed any language. I don't know of a library set like it. Ruby's libs aren't as comprehensive, but there is a lot of useful stuff out there.
2) There are two separate issues here. Character set conversion is happily handled by the Iconv library, which is part of Ruby's stdlib. Without being intimately familiar with eGroupWare, I'm not entirely sure what functionality it provides. On the other hand, I can say that a) building something equivalent in Rails would *probably* not be difficult, and b) something equivalent in Rails *probably* hasn't been built yet.
3) Ruby isn't fast, by any stretch of the imagination. However, it is drop-dead simple to integrate native code, so you get the triple benefits of fast developer time for prototyping, fast hotspot-finding for identifying which bits really *need* to be native, and fast integration of the minimum of native code that you actually need, so that your code remains as flexible as possible.
In terms of comparisons to other languages, you're right - Ruby is a sort of Lisp-without-macros. For comparisons many and varied, try here.
Which? DB2 or Rails? I'm assuming that DB2's got multilingual wrapped up pretty well. As far as Rails goes, there are a couple of handshakes to perform (set headers, set $KCODE, prod the DB in the right way if necessary), but once they're done, everything's just a bunch of bytes. Ruby's Unicode support isn't great (there's an active discussion about the best way to fix it up on ruby-lang right now), but 95 times out of 100 it doesn't cause a problem.
By the way, one of the sticking points about the Unicode issue with Ruby is that the opinion that "the best and most common way to use characters of other languages is UTF-8" is not universally held. It might be the most common, but many learned and respected individuals think it's not the best.
If you need to make a point that you are something, you probably aren't...
DRM's presence is a simple yes-or-no. "Adult" is an opinion call which is guaranteed to be wrong for some of the people some of the time. Simple as that.
Ah, but that's quite a long way from the question here. The question is, does hosting a tracker constitute copyright infringement? Swedish law is (as I understand it) particularly vague on this question, and it's not the job of an American lobbying group to decide Swedish legal questions. The Berne Convention says *nothing* about contributory infringement either, so that argument's out of the window, too.
InstantRails is your friend:
http://instantrails.rubyforge.org/wiki/wiki.pl
...and Google won't show it to you.
There would be a real, tangible effect. If a company the size of Microsoft falls, *every single organisation* that's tied to a support contract would have to spend real money switching to an alternative. That would remove a colossal amount of spending power right across the global economy, just from the transition costs. Jobs (no, not him) would be lost, government departments would implode, and the sky would fall. Well, maybe not the last one, but there would be a bit of a dark age-ette as everyone flapped about trying to work out what to do next.
The organisations likely to be hit worst are the truly huge ones, and that's a *big* problem. The best thing for humanity that Microsoft can do (given that they can't keep expanding) is have a plan for steady decline and breakup into complementary companies and divisions that are free to compete against each other. Of course, they won't see it that way...
Or maybe I just need my coffee.
According to Brooks, 1 developer implies 5 support staff (actually, it's 2:10, but who's counting...). 50 sounds like a largish team to me...
Actually, IronPython came out of an attempt to prove that the CLR was rubbish for dynamic languages. Amusingly enough, He What Begat IronPython (whose name I have forgotten) found exactly the reverse :-)
Sure sounds like scaffolding to me
Anybody contemplating giving any money to the EU needs to be aware that their auditors have refused to sign-off the EU's accounts for last 11 or so years because the organisation is so corrupt.
We know. It's quite quaint.
Microsoft should tell them to stuff it.
And lose half their market, at a particularly vulnerable time for them? That'd be a fun shareholder meeting to be at.
NOBODY has to pay MS anything.
Yes they do. That's why it's called a monopoly.
EVERYBODY in the EU has to pay towards the bunch of theives in Brussels.
And everybody in the US has to pay towards a bunch of thieves on Capitol Hill. Your point?
And this is on *one* infraction. Who knows how many more could be dug up?
Try the one-click installer for Ruby from http://www.ruby-lang.org./ If I remember correctly, it comes with a .chm version of the Programming Ruby book, which you can browse at http://www.rubycentral.com/book (or buy the second edition, which is nicer).
Got any specifics there, pardner?
What's it for?
The illegal downloading is what's making the industry bleed, not the fair use or public domain transfers.
It's an unfortunate fact of life that a large amount of their potential customers will be trying to run legacy applications on their shiny new MySQL 5.0 database. If those customers find they have to do *anything* to get their app to work properly (including change default settings), it's a black mark for MySQL, and it may be a big enough problem that they go for something else.