I know Google helps the Chinese government censor the web by blocking certain search terms within China, but I wasn't aware they'd directly aided the Chinese in tracking down individual dissidents, like Yahoo! allegedly has.
You don't seem to understand... Having the MD5 hash of a piece of software and the ability to generate a collision for that hash will--
Stop right there, because it's quite clear that the one who doesn't understand is you. Nobody has the ability to generate a collision for a given MD5 hash. All we have is the ability to generate two bits of random junk that share the same hash. This makes some attacks possible, but it does not make it possible for you to distribute a malicious version of someone else's software that has the same MD5 hash as their version.
In that cold land of Northern American, they do not enjoy the same freedoms that we do, such as freedom of speech.
Oh, indeed. The USA has much better freedom of speech than anywhere else in the world. Why, here in Soviet Britain, you don't know where you're allowed to speak your mind and where it's forbidden -- I really wish we had designated "free speech zones" like you Americans!
The problem with Perl is that it's an interpreted language. That is, you need an interpreter to read the code and then run it. And if the perl binary can read the code, then so can you.
The bazillions of cracks out there for games and applications written in C++ imply, to me, that this problem is not limited to interpreted languages.
If your computer can run something - anything - then it can be deciphered by any sufficiently motivated human, period. There is only one "solution" in sight for those who are determined to take away our power to find out what is being done on our computers, and that is turning our computers against us by infecting them with "trusted computing" modules. Till then, there ain't no such thing as secure code.
Yes, I am Australian and no average Australian's don't try to wrestle crocs on a daily basis.
"No average Australians don't try to wrestle crocs on a daily basis" == "All average Australians try to wrestle crocs on a daily basis". Man, life must be fun down under!
I don't know anyone who has played Morrowind more than a year or so after it came out.
That has to be the stupidest logical fallacy I've ever read. "I don't know anyone who did it, so obviously nobody did." Well, I'm one such person - I didn't even BUY Morrowind till a year after it came out, and I still play it from time to time. And there are many, many more. Take a look at some of the modding sites some time. People are still releasing new addons for the game.
If Oblivion is a superb RPG are you saying it's going to be because of certain non-graphics technology? Such as what?
Um, have you even read any of the Oblivion previews? How the hell have you managed to miss all the hype surrounding the AI? To listen to the developers, you'd think that Oblivion is going to be a 100% accurate model of the real world, with NPCs that are smarter than the average Ivy League graduate. Goodness only knows whether any of that's actually true, but certainly graphics isn't the major thing that Bethesda fanboys are getting excited about.
I'm sure there are a lot of people who might do it though. People who want OS X's lack of spyware but want to be able to run some Windows software for work or play.
This is really beginning to get to me. Here I am, having used Windows almost daily for 15 years, and I still haven't been infected with any of this spyware that's supposedly so rampant.
Windows has succeeded without a standard way to install programs,
Windows Installer. Some third-parties use other systems, sure, but it's still the standard. I suppose you also think the SI units aren't standard, because the US public insists on using pounds and inches?
a standard way to uninstall programs (though progress has been made on this front),
Um, Add/Remove Programs is the standard way to uninstall programs and has been since Windows 98 or so. Again, the fact that a few badly-behaved programs don't respect the standard doesn't mean that the standard doesn't exist.
and without a standard text editor.
Notepad.
(Okay, Notepad was a joke. The other two weren't, though.)
Or for any of the other members of a vast, untapped, potentially extremely profitable market. Maybe someone should look into fixing this.
I see these same complaints all the time - Wah! I bought a MASSIVELY MULTIPLAYER game and it isn't any fun playing solo!
Way to miss the point. There is no reason why "massively multiplayer" has to mean "massive and rigidly-scheduled time commitments". There is no reason why an MMORPG should not be friendly to the kind of person who wants to log on once a week, for two hours, and wander round town chatting to other people, maybe do a quest or two, then log off again and get on with real life.
The world is not made a better place by people like you ridiculing anyone who dares to suggest that such a model could, just possibly, attract more people than hardcore level grinds.
Instead of rushing in and demanding a law to battle this "problem," just leave it alone. The market continues to provide exactly what people want. Most ony customers care little for this Sony solution. My 12 year old sister doesn't seem to care one bit. Sony has the "right" to provide this feature as you're not being forced to buy it.
And that's exactly why we have the responsibility to make a big fuss about it.
When someone does something bad, we, as responsible citizens, have to educate others about it. We have to make a big fuss so that people realise why they shouldn't want CDs infected with DRM. To remain silent would be to give consent for Sony and pals to keep right on shafting us.
Voting with your wallet is a good start. But we need soapboxes too. There's no point voting with your wallet if nobody knows what you're doing or why.
Developers themselves are realy free to decide who, if anyone, they want to directly build packages for. In most cases the packagers for each project will take over and handle that aspect.
Yes... if someone in that project is interested in your program.
Suppose I, as a developer, am interested in making a program I've written available to (a) Windows users, and (b) Linux users.
To make it available to the vast majority of Windows users, all I have to do is build ONE binary package and test it on WinXP, Win2k, and Win98. If it runs acceptably on all of those, I can pretty much count on it being fine for 99% of Windows users. Note that I can do all this myself. Just me. It is feasible for one single person to produce one single binary package that he can be pretty certain will work for 99% of Windows users.
How do I make it available to the vast majority of Linux users? I have two choices.
One, I do it myself. That means I have to build, test, and package it for a wide variety of incompatible systems. I can't even just make an RPM and a DEB, because Red Hat RPMs aren't guaranteed to work in Mandriva, and Debian DEBs aren't guaranteed to work in Ubuntu, and so on. I have to test it separately in all these distros and more. This is not feasible for one person to do.
Two, I get the community to help. That means I have to evangelise my package: I have to build up a sufficient userbase for distros to consider it worth including: I have to find users enthusiastic enough about it to volunteer to give up their spare time to package it and field bug reports. In other words, I'm in a catch-22 situation: until my program is popular enough to have a lot of users, it's not going to be widely available enough for users to discover it.
Despite what you say, it still sounds like an awful lot of hard work compared to the Windows case, where I can do it all by myself...
(Yes, for programs that appeal to geeks I can just distribute source code, and adventurous souls will compile it, experiment, decide they like it, and package it for their distro. But for any sort of program that's aimed at non-techie users, that just ain't gonna happen.)
If I want to install software X under Mandriva, i must: -check that it is not already installed since it comes with hundreds of softwares -click the Software Wizard -find the software (by finding it in its category or searching for his name) -click OK
You missed the stage where the software you wanted to install wasn't in the repository, so you couldn't find it in the Software Wizard.
So you go through all those phases you disparage above for Windows: find makers' site, find setup program... oops, this is Linux, there isn't a setup program. There are three packages (Debian, Slackware, and Ubuntu). So you can't use a package, but you wouldn't want to anyway - all of them are two or three versions out of date, because nobody has volunteered to package the latest version of the software.
Never fear, this is Linux. You download the source code instead.
Er... what was it you do with source code again? You email your geekiest friend. The reply comes back in a flash: "It's really simple. Just untar it somewhere, then go into that directory and './configure && make && sudo make install'." Well, that sounds easy enough. Luckily you're not scared of computers, so you extract the source code and enter the magic command line. Mysterious text scrolls past for a couple of minutes, and then you're staring at a line saying something like Error: could not locate libfoo >= 3.1.2".
Wait, isn't this that "dependency hell" thing that centralised repositories were supposed to solve for ever...?
What's so difficult to write "yum install application_name"?
haeleth@layamon:~$ uname -a Linux layamon 2.6.12-1-k7 #1 Mon Sep 26 17:45:50 JST 2005 i686 GNU/Linux haeleth@layamon:~$ yum install kwrite -bash: yum: command not found
That's what's so difficult: it doesn't work if you happen to be using a distro that doesn't use yum, that's what!
In other words, it's not enough to know you're running GNU/Linux: you have to know what distro you're running, and then you have to know how to use that distro's particular installation tool, and you'd better hope that the program you want to install has been packaged for your distribution and not just someone else's!
If you deny there's a problem, you're burying your head in the sand.
Is it even legal to redistribute (L)GPL software that's linked against the stuff like MFC or DirectX?
Probably.
I would think that anyone porting a Linux app to Windows using closed Win32-specific libraries and distributing executables could (technically) be sued by the original author of the GPL software. No?
Probably not.
See section 3 of the GPL: "as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs."
In the example you gave, pants (the clothes) is a noun, while pants (breathing) is a verb form. By figuring out which context the word is (noun or verb) then the computer can make a much better guess at the correct meaning.
Bzzzt. "Pants" (breathing) can also be a noun. And you forgot the adjective "pants" (crap).
Your "clever" machine translation would produce a rather ridiculous result for Coleridge's famous line from Kubla Khan, "as if this earth in thick fast pants were breathing".
I'd cite the case law, but instead I'll let you continue to make a fool of yourself.
Translation: "I could prove that I'm not talking out of my arse, but I'd rather insult you instead."
Impressive debating skills there, mate. Forgive me if I pronounce myself rather unconvinced by your argument. Since you explicitly decline to give us any evidence that supports your claims, I see no reason to believe any such evidence exists: instead, I will continue to believe that tackling crime is the job of the police.
(If you do change your mind and decide to support your claims, maybe you could also try to come up with some statistics that show that carrying concealed weapons increases personal safety. I've seen it argued both ways, and I still haven't seen anyone citing actual studies.)
If your programming language lets you use "+" for more than one numeric type, you use operator overloading. Unless you think adding fp numbers should use a different syntax than adding integers, you're a fan of operator overloading.
Interestingly, there are languages that do this. OCaml, for example, uses "+" exclusively for integers; for floating-point numbers, "+." is used instead.
Now, OCaml's not a mainstream language, but it's reasonably popular as minor languages go. There's quite a few programmers out there who don't mind using a language that doesn't have any overloading. Evidently it's not quite as obvious as you think that overloading is automatically desirable...
You are making the false assumption that languages either support operator overloading, or restrict operators to the predefined basic set. This is simply not true.
Languages of the ML family, for example, permit the definition of arbitrary new operators, they just don't permit you to overload existing operators. This means that when you see +, you know it will be adding two numbers, not concatenating two collections or whatever. But if you want an operator to concatenate your collections, you can define one.
Which is, indeed, rather verbose and hard to read. But defining new operators is trivial:
let ( *& ) = CustomObject.mul and ( -& ) = CustomObject.sub and ( ^& ) = CustomObject.power;;
obj1 *& (obj2 -& (obj3 ^& 10))
Still somewhat ugly, but practically as readable as your "good" example, and it has the advantage that this way you can still get fast static typechecking without needing to verbosely declare types like in C++ or Java (I'll take the stuff above any day over writing thirty lines of CustomObject myCustomObject = new CustomObject();. (Besides, the amount of programming I've done where I've had objects similar enough to numbers for me to want to use operators on them is minimal. Overloading is very nice for scientific computation, but most programmers don't actually do scientific computation)).
In Haskell, meanwhile, while operator overloading is available, you can also use any binary function infix: your silly example would quite naturally become
I would contend that that is every bit as readable as the version with operators... and it has the clear advantage that by using words rather than symbols, you can have nice pretty infix forms that actually say what they do, instead of using and stream IO.
Really, it's a case of picking the disadvantage you hate least: slow code, verbose type declarations, dynamic typechecking, or no overloading. C++ picks the verbosity; Haskell the slowness; ML the lack of overloading. Languages like Ruby pick slow code and dynamic typechecking, which is strange, but some people seem to like it.
Re:How much difference between Java and C++?
on
OpenOffice Bloated?
·
· Score: 1
IIRC, gcj is the JRE most often used, which might impact interpreted Java performance. Gcj has a slow interpreter, though I think the most recent version has an optional JITC.
Um, I believe the JRE most often used is Sun's. In the open-source world, Kaffe is quite popular. GCJ is a GCC front-end that compiles Java to native code; a slow interpreter is optionally included in libgcj, but it's not built by default and it isn't the primary way of running GCJ code.
Tell me - as a coder, what do you see in widescreen laptops? I can see the appeal of widescreen for movies, but for code, surely you want to maximise the number of lines visible? And surely your coding standards will still require you to keep lines short, for the benefit of users on non-widescreen monitors?
I just don't see how a widescreen monitor can add up to anything other than fewer visible lines and acres of empty space, i.e. exactly what you don't want. Unless you have an editor that can display code in multiple columns.:/
The people behind it are people like me, who write articles and fix entries all the time. The money that Wikimedia gets (by donation or corporate alliance) never comes back to the people who do the work.
This is correct. Wikipedia would be worthless without those of us who give up some of our own free time to write for it and to combat spam and vandalism.
On the other hand, we do also benefit from the foundation having money to spare. I'm sure you've noticed how slow the servers get at times. There are plenty of offsite mirrors for the casual seeker of information, but they're no good for editors because we can't edit Wikipedia through them. So more money -> more servers -> more bandwidth -> faster Wikipedia -> we all benefit.
An interesting fact about this debate is that the Wikimedia board has clearly stated that they do not need this ad money in order to run Wikimedia. The donations so far have always been enough to buy servers and buy bandwidth.
I wish they'd do some of that buying, then. It's a waste of everyone's time when ten people spend five minutes each trying to get through to revert some troll's one-word vandalism, and then finally get a connection only to find that someone else already did it. Right now Wikipedia has plenty of helpers, but if it keeps getting slower and slower like it has lately, it's going to start losing people who just can't be bothered with all the waiting any more...
No, you meant GNU. Just GNU. The only reason we say "GNU/Linux" is that that involves adding a non-GNU kernel (Linux) to the GNU operating system. But when you're using the Hurd as your kernel, you are just using the GNU operating system, the way Stallman intended it, and the proper name for the system is "GNU".
This is, of course, all moot, given that the Hurd has about 5 users...
it is much harder to write simple general purpose filters for generic objects than for text data. There are quite a lot of general purpose tools in Unix, like grep, sed, tail, etc. that can operate on almost any form of data, whereas MSH tools need to operate on objects, which is quite a bit harder.
If all objects have methods to serialise them to strings - and it doesn't seem unreasonable to assume that they will - then whenever you're fed an object you don't know about, you can access it as a string. At which point, bingo! you can use a general purpose filter for text data, just like in Unix.
I may be wrong, but this does look to me like a technique that can degrade reasonably elegantly to the lowest-Unix-denominator for programs that don't make use of all the.NET stuff.
Really? I missed that story - link please!
I know Google helps the Chinese government censor the web by blocking certain search terms within China, but I wasn't aware they'd directly aided the Chinese in tracking down individual dissidents, like Yahoo! allegedly has.
You don't seem to understand... Having the MD5 hash of a piece of software and the ability to generate a collision for that hash will--
Stop right there, because it's quite clear that the one who doesn't understand is you. Nobody has the ability to generate a collision for a given MD5 hash. All we have is the ability to generate two bits of random junk that share the same hash. This makes some attacks possible, but it does not make it possible for you to distribute a malicious version of someone else's software that has the same MD5 hash as their version.
In that cold land of Northern American, they do not enjoy the same freedoms that we do, such as freedom of speech.
Oh, indeed. The USA has much better freedom of speech than anywhere else in the world. Why, here in Soviet Britain, you don't know where you're allowed to speak your mind and where it's forbidden -- I really wish we had designated "free speech zones" like you Americans!
The problem with Perl is that it's an interpreted language. That is, you need an interpreter to read the code and then run it. And if the perl binary can read the code, then so can you.
The bazillions of cracks out there for games and applications written in C++ imply, to me, that this problem is not limited to interpreted languages.
If your computer can run something - anything - then it can be deciphered by any sufficiently motivated human, period. There is only one "solution" in sight for those who are determined to take away our power to find out what is being done on our computers, and that is turning our computers against us by infecting them with "trusted computing" modules. Till then, there ain't no such thing as secure code.
Yes, I am Australian and no average Australian's don't try to wrestle crocs on a daily basis.
"No average Australians don't try to wrestle crocs on a daily basis" == "All average Australians try to wrestle crocs on a daily basis". Man, life must be fun down under!
I don't know anyone who has played Morrowind more than a year or so after it came out.
That has to be the stupidest logical fallacy I've ever read. "I don't know anyone who did it, so obviously nobody did." Well, I'm one such person - I didn't even BUY Morrowind till a year after it came out, and I still play it from time to time. And there are many, many more. Take a look at some of the modding sites some time. People are still releasing new addons for the game.
If Oblivion is a superb RPG are you saying it's going to be because of certain non-graphics technology? Such as what?
Um, have you even read any of the Oblivion previews? How the hell have you managed to miss all the hype surrounding the AI? To listen to the developers, you'd think that Oblivion is going to be a 100% accurate model of the real world, with NPCs that are smarter than the average Ivy League graduate. Goodness only knows whether any of that's actually true, but certainly graphics isn't the major thing that Bethesda fanboys are getting excited about.
I'm sure there are a lot of people who might do it though. People who want OS X's lack of spyware but want to be able to run some Windows software for work or play.
This is really beginning to get to me. Here I am, having used Windows almost daily for 15 years, and I still haven't been infected with any of this spyware that's supposedly so rampant.
What on earth can I be doing wrong?
Windows has succeeded without a standard way to install programs,
Windows Installer. Some third-parties use other systems, sure, but it's still the standard. I suppose you also think the SI units aren't standard, because the US public insists on using pounds and inches?
a standard way to uninstall programs (though progress has been made on this front),
Um, Add/Remove Programs is the standard way to uninstall programs and has been since Windows 98 or so. Again, the fact that a few badly-behaved programs don't respect the standard doesn't mean that the standard doesn't exist.
and without a standard text editor.
Notepad.
(Okay, Notepad was a joke. The other two weren't, though.)
Then obviously an MMORPG isn't for you.
Or for any of the other members of a vast, untapped, potentially extremely profitable market. Maybe someone should look into fixing this.
I see these same complaints all the time - Wah! I bought a MASSIVELY MULTIPLAYER game and it isn't any fun playing solo!
Way to miss the point. There is no reason why "massively multiplayer" has to mean "massive and rigidly-scheduled time commitments". There is no reason why an MMORPG should not be friendly to the kind of person who wants to log on once a week, for two hours, and wander round town chatting to other people, maybe do a quest or two, then log off again and get on with real life.
The world is not made a better place by people like you ridiculing anyone who dares to suggest that such a model could, just possibly, attract more people than hardcore level grinds.
Instead of rushing in and demanding a law to battle this "problem," just leave it alone. The market continues to provide exactly what people want.
Most ony customers care little for this Sony solution. My 12 year old sister doesn't seem to care one bit. Sony has the "right" to provide this feature as you're not being forced to buy it.
And that's exactly why we have the responsibility to make a big fuss about it.
When someone does something bad, we, as responsible citizens, have to educate others about it. We have to make a big fuss so that people realise why they shouldn't want CDs infected with DRM. To remain silent would be to give consent for Sony and pals to keep right on shafting us.
Voting with your wallet is a good start. But we need soapboxes too. There's no point voting with your wallet if nobody knows what you're doing or why.
Developers themselves are realy free to decide who, if anyone, they want to directly build packages for. In most cases the packagers for each project will take over and handle that aspect.
Yes... if someone in that project is interested in your program.
Suppose I, as a developer, am interested in making a program I've written available to (a) Windows users, and (b) Linux users.
To make it available to the vast majority of Windows users, all I have to do is build ONE binary package and test it on WinXP, Win2k, and Win98. If it runs acceptably on all of those, I can pretty much count on it being fine for 99% of Windows users. Note that I can do all this myself. Just me. It is feasible for one single person to produce one single binary package that he can be pretty certain will work for 99% of Windows users.
How do I make it available to the vast majority of Linux users? I have two choices.
One, I do it myself. That means I have to build, test, and package it for a wide variety of incompatible systems. I can't even just make an RPM and a DEB, because Red Hat RPMs aren't guaranteed to work in Mandriva, and Debian DEBs aren't guaranteed to work in Ubuntu, and so on. I have to test it separately in all these distros and more. This is not feasible for one person to do.
Two, I get the community to help. That means I have to evangelise my package: I have to build up a sufficient userbase for distros to consider it worth including: I have to find users enthusiastic enough about it to volunteer to give up their spare time to package it and field bug reports. In other words, I'm in a catch-22 situation: until my program is popular enough to have a lot of users, it's not going to be widely available enough for users to discover it.
Despite what you say, it still sounds like an awful lot of hard work compared to the Windows case, where I can do it all by myself...
(Yes, for programs that appeal to geeks I can just distribute source code, and adventurous souls will compile it, experiment, decide they like it, and package it for their distro. But for any sort of program that's aimed at non-techie users, that just ain't gonna happen.)
If I want to install software X under Mandriva, i must:
-check that it is not already installed since it comes with hundreds of softwares
-click the Software Wizard
-find the software (by finding it in its category or searching for his name)
-click OK
You missed the stage where the software you wanted to install wasn't in the repository, so you couldn't find it in the Software Wizard.
So you go through all those phases you disparage above for Windows: find makers' site, find setup program... oops, this is Linux, there isn't a setup program. There are three packages (Debian, Slackware, and Ubuntu). So you can't use a package, but you wouldn't want to anyway - all of them are two or three versions out of date, because nobody has volunteered to package the latest version of the software.
Never fear, this is Linux. You download the source code instead.
Er... what was it you do with source code again? You email your geekiest friend. The reply comes back in a flash: "It's really simple. Just untar it somewhere, then go into that directory and './configure && make && sudo make install'." Well, that sounds easy enough. Luckily you're not scared of computers, so you extract the source code and enter the magic command line. Mysterious text scrolls past for a couple of minutes, and then you're staring at a line saying something like Error: could not locate libfoo >= 3.1.2".
Wait, isn't this that "dependency hell" thing that centralised repositories were supposed to solve for ever...?
Of course, the 31337 WoW cheaters write their own DRM software...
Good lord, are there that many of them? I think a crackdown is long overdue.
In other words, it's not enough to know you're running GNU/Linux: you have to know what distro you're running, and then you have to know how to use that distro's particular installation tool, and you'd better hope that the program you want to install has been packaged for your distribution and not just someone else's!
If you deny there's a problem, you're burying your head in the sand.
Is it even legal to redistribute (L)GPL software that's linked against the stuff like MFC or DirectX?
Probably.
I would think that anyone porting a Linux app to Windows using closed Win32-specific libraries and distributing executables could (technically) be sued by the original author of the GPL software. No?
Probably not.
See section 3 of the GPL: "as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs."
In the example you gave, pants (the clothes) is a noun, while pants (breathing) is a verb form. By figuring out which context the word is (noun or verb) then the computer can make a much better guess at the correct meaning.
Bzzzt. "Pants" (breathing) can also be a noun. And you forgot the adjective "pants" (crap).
Your "clever" machine translation would produce a rather ridiculous result for Coleridge's famous line from Kubla Khan, "as if this earth in thick fast pants were breathing".
to choose to deliver a project in C# is to bind that project forever and irrevocably to the .NET platform.
.NET platform, pray?
Indeed. How then do you explain the existence of C# projects that are not, in fact, developed for or used with the
I'd cite the case law, but instead I'll let you continue to make a fool of yourself.
Translation: "I could prove that I'm not talking out of my arse, but I'd rather insult you instead."
Impressive debating skills there, mate. Forgive me if I pronounce myself rather unconvinced by your argument. Since you explicitly decline to give us any evidence that supports your claims, I see no reason to believe any such evidence exists: instead, I will continue to believe that tackling crime is the job of the police.
(If you do change your mind and decide to support your claims, maybe you could also try to come up with some statistics that show that carrying concealed weapons increases personal safety. I've seen it argued both ways, and I still haven't seen anyone citing actual studies.)
If your programming language lets you use "+" for more than one numeric type, you use operator overloading. Unless you think adding fp numbers should use a different syntax than adding integers, you're a fan of operator overloading.
Interestingly, there are languages that do this. OCaml, for example, uses "+" exclusively for integers; for floating-point numbers, "+." is used instead.
Now, OCaml's not a mainstream language, but it's reasonably popular as minor languages go. There's quite a few programmers out there who don't mind using a language that doesn't have any overloading. Evidently it's not quite as obvious as you think that overloading is automatically desirable...
Languages of the ML family, for example, permit the definition of arbitrary new operators, they just don't permit you to overload existing operators. This means that when you see +, you know it will be adding two numbers, not concatenating two collections or whatever. But if you want an operator to concatenate your collections, you can define one.
Your silly example in OCaml would normally becomeWhich is, indeed, rather verbose and hard to read. But defining new operators is trivial:Still somewhat ugly, but practically as readable as your "good" example, and it has the advantage that this way you can still get fast static typechecking without needing to verbosely declare types like in C++ or Java (I'll take the stuff above any day over writing thirty lines of CustomObject myCustomObject = new CustomObject();. (Besides, the amount of programming I've done where I've had objects similar enough to numbers for me to want to use operators on them is minimal. Overloading is very nice for scientific computation, but most programmers don't actually do scientific computation)).
In Haskell, meanwhile, while operator overloading is available, you can also use any binary function infix: your silly example would quite naturally becomeI would contend that that is every bit as readable as the version with operators... and it has the clear advantage that by using words rather than symbols, you can have nice pretty infix forms that actually say what they do, instead of using and stream IO.
Really, it's a case of picking the disadvantage you hate least: slow code, verbose type declarations, dynamic typechecking, or no overloading. C++ picks the verbosity; Haskell the slowness; ML the lack of overloading. Languages like Ruby pick slow code and dynamic typechecking, which is strange, but some people seem to like it.
IIRC, gcj is the JRE most often used, which might impact interpreted Java performance. Gcj has a slow interpreter, though I think the most recent version has an optional JITC.
Um, I believe the JRE most often used is Sun's. In the open-source world, Kaffe is quite popular. GCJ is a GCC front-end that compiles Java to native code; a slow interpreter is optionally included in libgcj, but it's not built by default and it isn't the primary way of running GCJ code.
Tell me - as a coder, what do you see in widescreen laptops? I can see the appeal of widescreen for movies, but for code, surely you want to maximise the number of lines visible? And surely your coding standards will still require you to keep lines short, for the benefit of users on non-widescreen monitors?
:/
I just don't see how a widescreen monitor can add up to anything other than fewer visible lines and acres of empty space, i.e. exactly what you don't want. Unless you have an editor that can display code in multiple columns.
The people behind it are people like me, who write articles and fix entries all the time. The money that Wikimedia gets (by donation or corporate alliance) never comes back to the people who do the work.
This is correct. Wikipedia would be worthless without those of us who give up some of our own free time to write for it and to combat spam and vandalism.
On the other hand, we do also benefit from the foundation having money to spare. I'm sure you've noticed how slow the servers get at times. There are plenty of offsite mirrors for the casual seeker of information, but they're no good for editors because we can't edit Wikipedia through them. So more money -> more servers -> more bandwidth -> faster Wikipedia -> we all benefit.
An interesting fact about this debate is that the Wikimedia board has clearly stated that they do not need this ad money in order to run Wikimedia. The donations so far have always been enough to buy servers and buy bandwidth.
I wish they'd do some of that buying, then. It's a waste of everyone's time when ten people spend five minutes each trying to get through to revert some troll's one-word vandalism, and then finally get a connection only to find that someone else already did it. Right now Wikipedia has plenty of helpers, but if it keeps getting slower and slower like it has lately, it's going to start losing people who just can't be bothered with all the waiting any more...
GNU/Hurd!! I meant GNU/Hurd!!!
No, you meant GNU. Just GNU. The only reason we say "GNU/Linux" is that that involves adding a non-GNU kernel (Linux) to the GNU operating system. But when you're using the Hurd as your kernel, you are just using the GNU operating system, the way Stallman intended it, and the proper name for the system is "GNU".
This is, of course, all moot, given that the Hurd has about 5 users...
it is much harder to write simple general purpose filters for generic objects than for text data. There are quite a lot of general purpose tools in Unix, like grep, sed, tail, etc. that can operate on almost any form of data, whereas MSH tools need to operate on objects, which is quite a bit harder.
.NET stuff.
If all objects have methods to serialise them to strings - and it doesn't seem unreasonable to assume that they will - then whenever you're fed an object you don't know about, you can access it as a string. At which point, bingo! you can use a general purpose filter for text data, just like in Unix.
I may be wrong, but this does look to me like a technique that can degrade reasonably elegantly to the lowest-Unix-denominator for programs that don't make use of all the