I suspect half the programmers on the planet could come up with this idea in less than an hour given the right problem statement. Amazon got there first. Under the rules of the game, they get the patent.
True... unless the patent office starts following the stated rules, that is, and not awarding patents for inventions which are "obvious to an expert in the field".
As to BEGIN and END -- I have coded with C (pre-ansi) on machines whose keyboards didn't have '{' and '}'. I had to construct an include file to define BEGIN and END with a binary editor. But it worked.
Interestingly, ISO C defines shorthands for people with crap keyboards. You can type <% instead of { and %> instead of }. Also:
<: means [ :> means ]
%: means # %:%: means ##
You get even more if you include iso646.h. Of course, the old compiler you were using may not have had these:-)
ISTR that in the Kevin Mitnick trial, companies including Sun claimed that Kevin's actions had cost them $billions in lost sales. However, some share holders took legal action against them, because by law, publically listed companies must disclose losses of this scale in a formal statement. The fact that none of them had suggested that either (a) they had not incurred the losses they claimed, or (b) they were guilty of misleading their shareholders.
I was wondering if a similar approach could be used in this case. Mythical multi-billion-dollar losses are being arrived at by multiplying hypothetical figures together once again. Anyone know what happened to Sun et al in the end?
I've heard talk of a new version of the GPL, which will fix shortcomings of version 2 (e.g. that it is unclear whether use of dynamic linking and/or CORBA-style binding to a GPLed work constitutes a "derived work").
However, a large amount of existing software is distributable "under the terms of the GPL, version 2" (and *not* under "version 2, or at your option, any later version"); for instance, the Linux kernel. Any future software, licensed under a GPL v3, would presumably be incompatible with such existing software. Can the FSF do anything to make the GPL v3 backward-compatible with such software?
Also, would you consider the following part of the FDL to be a bug?
Examples of suitable formats for Transparent copies include [...] XML using a publicly available DTD
A DTD only describes the syntactic structure of a document, which may provide nowhere near enough information to understand the file format. [I sent an email to the FSF about this but it seems to have got lost in the ether]
Eldred vs Ashcroft? (copyright duration extension)
on
Biggest IP cases of 2002
·
· Score: 5, Informative
Just because a file format is XML, it does not mean it's open. Even if it's "real" XML and not a wrapped binary dump (Vvjfio1@1/515...). All XML does for you is to make the *syntax* of the file format clear, not the underlying meaning. Analogously, in German, every noun begins with a capital letter, and root verb forms generally end with "-en"; this tells you a bit about the phrase "Mit grossem Bedauern haben wir vom Ableben Ihres Gatten erfahren", but it's certainly not enough to understand it.
Even an XML schema is not enough - that just tells you which elements can appear where and what they can contain. That's like knowing that a normal German sentence has the main verb in the second position in the sentence. This still doesn't tell you the meaning of the above sentence, though you can see that "haben" is the verb and "Mit grossem Bedauern" is the first part of the sentence.
For an XML language to be open, you need a full description of what each possible construct in that language means.
Well, lets look at Kazaa. It's website [kazaa.com] is in English. It's software is in English and it does not have a Norwegian version of the software and probably never will. [...] Now, if we take a look at the most common languages in Norway, we can see [...] that hardly anyone speaks English in Norway.
Well, look at A-ha. Their website is in English. Their music is in English. They don't have any Norwegian albums. Probably cos Norwegians speak very good English and use it lots in international contexts.
There are no US taxes on the products, so your basically throwing your money away.
"Nothing is worth having unless it's taxed". Cool:-)
Re:Let's try that in Welsh
on
Wireless Wales
·
· Score: 1
It's interesting that the previous translation used the word "rhydd" for "free", since it means "free as in speech", as opposed to "for no cost" ("am ddim" - lit, "for nothing").
Wel, efallai fyddai "broadband rhydd" yn iawn, achos chi'n gallu cysylltu gyda fe heb cytundeb - yn union fel mae rhaglenni GPL yn rhydd ac am ddim hefyd. Wrth gwrs, dylai dysgwyr fel fi ddim ceisio pregeth am ramadeg achos fydden ni'n anghywir, mae'n debyg.
Synnwn i ddim os chi'n gallu dyfalu does dim pwnc go iawn gyda fi i wneud. Ond dwi'n methu gwrthwynebu cyfle fel hwn i siarad (wel oce teipio).
Gyda llaw, ydy'r postiwr yn siarad sbwriel am y rhaglen cyfieithu, neu ydy hi'n bodoli'n wir?
"overcharging" in a capitalist system means that people stop buying whatever you're offering. If Office is selling, then by definition they're not overcharging.
I can only be glad that you're (presumably) not in charge of enforcing ant-trust law.
You should initialize [a string] with something meaningful, or at least ""
That's crazy advice, given that you're writing Java (it could be good advice on C, possibly). If you access an uninitialized String by accident, you might well get a helpful runtime error. If you access a string initialized to "" by accident, your code is much more likely to fail silently.
you can't write your own class BetterStringThank God, broken or not.
Thats a valid POV, but a strange one if you like OO.
A function cannot take variable argumentsEasy answer: quit trying to write C code in an OO language and this won't be a problem.
C's variable argument support is very very nasty for most things. That doesn't mean that OO languages shouldn't support variable args better.
Things that should be warnings are in fact errorsTranslation: things that screw you in other languages can't screw you in Java. Funny, I don't ever get these error messages, perhaps because I never learned to be lazy with my declarations.
I fail to see how a declaration "String str = null" is any safer than a declaration "String str".
Just go write your C programs and quit complaining why Java isn't more like C
FWIW I try to avoid using C whenever a higher-level language is available. The changes I would like in Java are perfectly consistent with an OO paradigm. In fact there are a lot of OO features which Java does not support; many comp sci graduates ATM seem to have learned OO exclusively from Java and seem to think "if Java doesn't have it, then it's not OO". It's perfectly reasonable to take a reference to an int, and the fact that Java does not allow you to is a shortcoming in Java's OO (which C# does not share, from the look of things).
Unicode support is broken. Java's 'char' type is supposed to represent unicode characters. However it is only two bytes wide so does not support codepoints beyond U+FFFF, such as various Chinese characters. String handling is built around the assumption that UTF-16 has one character per byte-pair, so String.length() can give incorrect answers, String.substring() can give invalid UTF-16, etc. (This fault applies to C# and.NET too, AFAICT)
Because Java contains a lot of special-casing for String objects (such as overloading '+' and forcing a toString() method in every class), and because String is final, you can't write your own class BetterString which fixes this unicode problem and still works like a String.
There is no universal type like void* in C. There is Object, but primitive types (int, char, float, etc.) are not objects. You can't pass them by reference. There are duplicate, object wrappers for these (called Integer, Character, etc.) which can be passed by reference, but you spend stupid amounts of time wrapping and unwrapping primitives.
A function cannot take variable arguments of arbitrary type. The closest you can get is a function which accepts an array of Objects. (But Object is not a universal type - you can't give primitives to such a function without wrapping them).
You can't create a list anonymously. if x, y and z are ints, and "average" is a function which takes an array of ints, you can't do "average({x,y,z})". This makes the previous limitation more serious.
Things that should be warnings are in fact errors. For example, this snippet won't compile, because "a might not have been initialized": int a;int b = 0;if(b == 0) {a = 1;} System.out.println(a);. There are times when you want to write code logically equivalent to this, but the compiler makes you pointlessly initialise the variable at the start. The programmer may know things that the compiler doesn't; in this instance, that a will be initialised. It would be better for the compiler to merely warn, and then a runtime error to occur if the programmer was wrong.
The syntax is intentionally inflexible. To add a worthwhile "assert" statement, Sun had to add it to the core language, which is something that only Sun can do. Compare C, where anyone can write a reasonable assert macro. The same thing will apply to other things which you might want to do, but can't.
Oh yes, and I nearly forgot a trivial-but-annoying one:
byte is signed in Java - instead of running from 0 to 255, it runs from -128 to 127. If you want to write the byte 0xA9 ( = 169) to a binary file, you have to call it -31.
The most annoying thing about civ [...] is that the game devolves to total war.
That depends very heavily on how you play it. personally, I always liked playing "Hong Kong style" - having just one city and making it so rich, big and advanced that no-one can keep up. To do that on Emperor level, you also had to pull off some skilled diplomacy, "blessing" your second-most-powerful rival so that they could keep your most-powerful rival in check.
I am in this situation right now. My domain at NetSol is expiring early August, so I decided to transfer it to register.com. After I paid $35 transfer fee, I received an e-mail from NetSol asking me to authorize the transfer. I did authorize it, but just a few days ago register.com sent me an e-mail that NetSol denied my transfer request.
That's happened to me, too. Some time before the expiry date of mutopiaproject.org, I attempted to transfer it to Register.com, only to have Network Solutions send me an email several days later, declining the transfer on the grounds that the account was not in a paid state. After three transatlantic phone calls, I resigned myself to having to sign up with Network Solutions for another year, and I paid by credit card through their website. Some time later, I received an email from them saying that the credit card transaction had been declined. I had to make yet another transatlantic phone call, during which I was told that "We've been having problems with credit cards being declined in the last few days, we'll put it though again ThankYouForCallingVerisign".
Separately from this, I've had quite a lot of problems with their "Mail-From" and "Crypt-PW" authentication systems, which seem to only work part of the time. Basically, whenever you change the details of your domain name, they send you a confirmation email, and you have to reply with the appropriate text depending on which authentication system you use. I had a period of about a week where neither system seemed to be working, though I tried repeatedly, and then suddenly I did the same thing for the 10th time and it just worked.
My advice to anyone who wants to register a domain name is this: don't touch Network Solutions with a barge poll; go to a different registrar, e.g. register.com.
Also, I don't think it's fair it's just Craig Mundie against the rest of the world. If this is really a debate about the benefits of Open Source vs Corporate software, why is everything biased towards attacking Microsoft?
Bear in mind that they've got Brett Glass in on the discussion, who is possibly one of the most savage critics of the GPL in existence. (The criticism is savage, not Brett:-) He can often be found to praise Microsoft's license policies (if only in comparison to the GPL). So I don't think it's a one-sided, pro-GPL, anti-MS panel.
Is that a grave offence in the US? In the office where I used to work, we'd often go out and have a few pints on a Friday at dinner time (i.e. lunch time).
If you believe in copyleft, then the GPL is the only sensible choice. This is a meaningless statement, since copyleft is tautologically equivalent to the GPL. Copyleft is a neologism coined by the FSF
By "copyleft", I mean a license which allows free modification and distribution, but imposes some restriction on making non-free modifications. I believe this is now the common usage of the word. The QPL does restrict distribution of closed-source derivatives, so I would say it was copyleft. Nevertheless, it is incompatible with itself, in the sense described above.
From this point forward I urge everyone to choose a license that is compatible with the NPL (Netscape Public License). I will create a list shortly and post it on the web somewhere and every free software developer should read this list and choose one on it for their software.
That would be very amusing. The resulting collection of software would be incompatible with itself. NPL grants special rights to the initial developer. If you have product A NPLed by vendor AA, and product B NPLed by vendor BB, then a third party cannot legally distribute a combined work AB, because they'd have to grant extra rights over A to vendor BB and extra rights over B to vendor AA, which a third party has no power to do.
If you have any license which grants more rights to one party than another, then that license is useless as a "gold standard of compatibility". The GPL is a license which grants the same rights to everybody, and only a license like this can sensibly be used as a compatibility standard. If you believe in copyleft, then the GPL is the only sensible choice.
True
Err, can't you use the right Ctrl key together with PgUp/PgDn? I.e. just with your right hand?
Interestingly, ISO C defines shorthands for people with crap keyboards. You can type <% instead of { and %> instead of }. Also:
<: means [
%: means #
%:%: means ##
You get even more if you include iso646.h. Of course, the old compiler you were using may not have had these
ISTR that in the Kevin Mitnick trial, companies including Sun claimed that Kevin's actions had cost them $billions in lost sales. However, some share holders took legal action against them, because by law, publically listed companies must disclose losses of this scale in a formal statement. The fact that none of them had suggested that either (a) they had not incurred the losses they claimed, or (b) they were guilty of misleading their shareholders.
I was wondering if a similar approach could be used in this case. Mythical multi-billion-dollar losses are being arrived at by multiplying hypothetical figures together once again. Anyone know what happened to Sun et al in the end?
I've heard talk of a new version of the GPL, which will fix shortcomings of version 2 (e.g. that it is unclear whether use of dynamic linking and/or CORBA-style binding to a GPLed work constitutes a "derived work").
However, a large amount of existing software is distributable "under the terms of the GPL, version 2" (and *not* under "version 2, or at your option, any later version"); for instance, the Linux kernel. Any future software, licensed under a GPL v3, would presumably be incompatible with such existing software.
Can the FSF do anything to make the GPL v3 backward-compatible with such software?
Also, would you consider the following part of the FDL to be a bug?
A DTD only describes the syntactic structure of a document, which may provide nowhere near enough information to understand the file format. [I sent an email to the FSF about this but it seems to have got lost in the ether]
The ongoing case against the retroactive extension of copyright duration is also very important to many people, including The Mutopia Project. Though of course, which cases are most important depends on your point of view.
Just because a file format is XML, it does not mean it's open. Even if it's "real" XML and not a wrapped binary dump (Vvjfio1@1/515...). All XML does for you is to make the *syntax* of the file format clear, not the underlying meaning. Analogously, in German, every noun begins with a capital letter, and root verb forms generally end with "-en"; this tells you a bit about the phrase "Mit grossem Bedauern haben wir vom Ableben Ihres Gatten erfahren", but it's certainly not enough to understand it.
Even an XML schema is not enough - that just tells you which elements can appear where and what they can contain. That's like knowing that a normal German sentence has the main verb in the second position in the sentence. This still doesn't tell you the meaning of the above sentence, though you can see that "haben" is the verb and "Mit grossem Bedauern" is the first part of the sentence.
For an XML language to be open, you need a full description of what each possible construct in that language means.
Well, look at A-ha. Their website is in English. Their music is in English. They don't have any Norwegian albums. Probably cos Norwegians speak very good English and use it lots in international contexts.
"Nothing is worth having unless it's taxed". Cool :-)
Wel, efallai fyddai "broadband rhydd" yn iawn, achos chi'n gallu cysylltu gyda fe heb cytundeb - yn union fel mae rhaglenni GPL yn rhydd ac am ddim hefyd. Wrth gwrs, dylai dysgwyr fel fi ddim ceisio pregeth am ramadeg achos fydden ni'n anghywir, mae'n debyg.
Synnwn i ddim os chi'n gallu dyfalu does dim pwnc go iawn gyda fi i wneud. Ond dwi'n methu gwrthwynebu cyfle fel hwn i siarad (wel oce teipio).
Gyda llaw, ydy'r postiwr yn siarad sbwriel am y rhaglen cyfieithu, neu ydy hi'n bodoli'n wir?
I'm impressed that it's possible in sed. Here's a smaller one, in perl, but I dunno if it'll work on Win32.
He falls short of saying he invented Moore's law here, but by not crediting Moore it makes his later Intel bashing sound more plausible.
That's crazy advice, given that you're writing Java (it could be good advice on C, possibly). If you access an uninitialized String by accident, you might well get a helpful runtime error. If you access a string initialized to "" by accident, your code is much more likely to fail silently.
Backward compatibility?
Thats a valid POV, but a strange one if you like OO.
C's variable argument support is very very nasty for most things. That doesn't mean that OO languages shouldn't support variable args better.
I fail to see how a declaration "String str = null" is any safer than a declaration "String str".
FWIW I try to avoid using C whenever a higher-level language is available. The changes I would like in Java are perfectly consistent with an OO paradigm. In fact there are a lot of OO features which Java does not support; many comp sci graduates ATM seem to have learned OO exclusively from Java and seem to think "if Java doesn't have it, then it's not OO". It's perfectly reasonable to take a reference to an int, and the fact that Java does not allow you to is a shortcoming in Java's OO (which C# does not share, from the look of things).
(a) FWIW I'm a Sun Certified Java2 Monkey. (b) My lists of pet hates for C and C++ would be at least as long.
Sorry, my typo; the example was meant to say "average takes an array of Integers".
Yeah, but if you do Assert.assert(2*2==5), you want it to put the text "2*2==5" into the exception message - which it can't.
True, but writing String s = null instead of String s gets you no security.
Oh yes, and I nearly forgot a trivial-but-annoying one:
That depends very heavily on how you play it. personally, I always liked playing "Hong Kong style" - having just one city and making it so rich, big and advanced that no-one can keep up. To do that on Emperor level, you also had to pull off some skilled diplomacy, "blessing" your second-most-powerful rival so that they could keep your most-powerful rival in check.
That's happened to me, too. Some time before the expiry date of mutopiaproject.org, I attempted to transfer it to Register.com, only to have Network Solutions send me an email several days later, declining the transfer on the grounds that the account was not in a paid state. After three transatlantic phone calls, I resigned myself to having to sign up with Network Solutions for another year, and I paid by credit card through their website. Some time later, I received an email from them saying that the credit card transaction had been declined. I had to make yet another transatlantic phone call, during which I was told that "We've been having problems with credit cards being declined in the last few days, we'll put it though again ThankYouForCallingVerisign".
Separately from this, I've had quite a lot of problems with their "Mail-From" and "Crypt-PW" authentication systems, which seem to only work part of the time. Basically, whenever you change the details of your domain name, they send you a confirmation email, and you have to reply with the appropriate text depending on which authentication system you use. I had a period of about a week where neither system seemed to be working, though I tried repeatedly, and then suddenly I did the same thing for the 10th time and it just worked.
My advice to anyone who wants to register a domain name is this: don't touch Network Solutions with a barge poll; go to a different registrar, e.g. register.com.
Bear in mind that they've got Brett Glass in on the discussion, who is possibly one of the most savage critics of the GPL in existence. (The criticism is savage, not Brett :-) He can often be found to praise Microsoft's license policies (if only in comparison to the GPL). So I don't think it's a one-sided, pro-GPL, anti-MS panel.
That would be very amusing. The resulting collection of software would be incompatible with itself. NPL grants special rights to the initial developer. If you have product A NPLed by vendor AA, and product B NPLed by vendor BB, then a third party cannot legally distribute a combined work AB, because they'd have to grant extra rights over A to vendor BB and extra rights over B to vendor AA, which a third party has no power to do.
If you have any license which grants more rights to one party than another, then that license is useless as a "gold standard of compatibility". The GPL is a license which grants the same rights to everybody, and only a license like this can sensibly be used as a compatibility standard. If you believe in copyleft, then the GPL is the only sensible choice.