I tend to agree here, though I also take the side that while it's a bug, it's not a bug that should be high on the "fix list" priority list. At least assuming that it works reasonably well on almost all systems.
I tend to agree. I would trust hand-counted votes done in a check-mark or X fasion about the same as the technology of the recent past (machine counters). I trust both far more than the voting computers that are coming into use, but far less than a computerized voting system done properly. ("Properly" is mutually exclusive with vote-from-home BTW; you should still have to go to a ballot place. The only exception are valid absentee ballots.)
Are you from Canada? The Canadians use this method, which is why I ask. And it works fine for them. However, I think hand counts of 8 1/2 times the number of ballots* is a bit unreasonable.
*Estimated Canada pop. as of 2003: 32,207,113 Estimated US pop. as of 2003: about 270 million
No, he didn't stop it completely, but from my understanding he stopped gov't funding for using future lines in research. The lines that are allowed are few in number (far fewer than the 60-whatever I think he said there were when he announced it) and I don't even thin stem cells can reproduce continuously without damage.
Well, first of all, I'm not saying that I support gun control (and in fact I generally don't within reason), but your points don't necessarily show a problem so much with *gun* regulations as regulations for the other things you mention.
Well, I'm of the opinion that there's not *much* you can do as a pres. to affect the economy too much, but there are plenty of things he hasn't done. Wtih all the focus on the crackdown on Martha Stewart and such we forget that most of the people involved in, say, Enron, are still away scott free. Furthermore, Bush supported SEC chairman Pitt until Pitt resigned from country-wide pressure. Bush should have taken a much firmer stance on all of this.
>>So he screwed us in scientific research how?
Stem cells.
>>So he screwed us in basic civil rights how?
You read/. and can't think of a dozen examples off the top of your head?
>>Anyway close to 2/3 of all Americans in a recent CNN poll said they would likely vote for Bush again if another candidate does not appeal to them. I think in 2000 the number was opposite in favor of Gore.
Unfortunately the Electorial College--while it's the most misguided (at least by today's standards) election vestage I know of--isn't the biggest problem. The real problem is that someone with only a plurality of the votes can "win".
There's another option, the approval vote. I think it's what the IEEE uses, so maybe that'll give it some credibility around here. Basically you can vote for as many people as you want. No one person can have more than one vote, but if there are three people you wouldn't mind haveing in office, you can vote for all of them.
It combines the easiness of current voting with the power of ranking systems (either the instant runoff or the Borda) without binding you to order somehow rank everyone who is on the ballot. (Which is an interesting problem in itself... it probably implies computers which means $$$ and even less trust with the current systems than I have in the chad-based systems.)
(See the intereting Discover article at http://www.discover.com/nov_00/featbestman.html for more information about voting systems.)
>>That's an interesting question, and it might be a route one could use to challenge the extensions in court. However, IANAL, so don't take what I say as gospel.
It was one of many approaches taken in the recent cose challenging the Sunny Bono extension that went to the Supreme Court and failed.
That's why I was careful to say an int is at least 16 bits instead of at least 2 bytes, because I think 1 char is called a byte in the context of C++ even if it is not 8 bits.
Quoteth the C++-FAQ Lite, section 26*:
"Here are the rules:
* The C++ language gives the programmer the impression that memory is laid out as a sequence of something C++ calls "bytes."
* Each of these things that the C++ language calls a byte has at least 8 bits, but might have more than 8 bits.
* The C++ language guarantees that a char* (char pointers) can address individual bytes.
* The C++ language guarantees there are no bits between two bytes. This means every bit in memory is part of a byte. If you grind your way through memory via a char*, you will be able to see every bit.
* The C++ language guarantees there are no bits that are part of two distinct bytes. This means a change to one byte will never cause a change to a different byte.
* The C++ language gives you a way to find out how many bits are in a byte in your particular implementation: include the header , then the actual number of bits per byte will be given by the CHAR_BIT macro.
Let's work an example to illustrate these rules. The PDP-10 has 36-bit words with no hardware facility to address anything within one of those words. That means a pointer can point only at things on a 36-bit boundary: it is not possible for a pointer to point 8 bits to the right of where some other pointer points.
One way to abide by all the above rules is for a PDP-10 C++ compiler to define a "byte" as 36 bits. Another valid approach would be to define a "byte" as 9 bits, and simulate a char* by two words of memory: the first could point to the 36-bit word, the second could be a bit-offset within that word. In that case, the C++ compiler would need to add extra instructions when compiling code using char* pointers. For example, the code generated for *p = 'x' might read the word into a register, then use bit-masks and bit-shifts to change the appopriate 9-bit byte within that word. An int* could still be implemented as a single hardware pointer, since C++ allows sizeof(char*) != sizeof(int*).
Using the same logic, it would also be possible to define a PDP-10 C++ "byte" as 12-bits or 18-bits. However the above technique wouldn't allow us to define a PDP-10 C++ "byte" as 8-bits, since 8*4 is 32, meaning every 4th byte we would skip 4 bits. A more complicated approach could be used for those 4 bits, e.g., by packing nine bytes (of 8-bits each) into two adjacent 36-bit words. The important point here is that memcpy() has to be able to see every bit of memory: there can't be any bits between two adjacent bytes."
Yeah, I know. I worded my post poorly... I should have said the standard was ratified 4 years later. I have a suspicion that the changes between the working draft and the final 1998 standard will be even greater than the changes between the draft and standard with C++0x as there is already a formal standard that they are working off of rather than the ARM.
Yes, but the language isn't called "X=C++", is it? As a statement, i.e.
int c=0; c++; ++c;
Both do the some thing. (If they don't, you've don' a very poor job of operator overloading.)
(Actually, for classes with the operators overloaded, c++ usually has to make a temporary to return from operator++ while the prefix ++ doesn't, but as the temporary is destroyed at the end of statement they are both essentially the same thing provided neither construction nor destruction has side effects.)
>>How many of us have actually used a 100% compliant compiler, and used the latest features?
I haven't, but I've had a couple libraries that use partial template specialization and had to work around the lack of support.
>>But it seems to me that the language masters want to go ahead and move C++ along without getting real feedback from developers about how useful the language changes are.
Many "real developers" are on the committees; they aren't just some people sitting around in a high-white tower.
>>Maybe the standards process should slow down a bit and give us ordinary developers a few more years to catch up.
See, that's the problem... it'll take a few years to finish the draft and have it ratified. In the meantime, there are things that are currently missing from the language (e.g. threading support, which may be added this time) that have an ever-increasing amount of non-standard solutions that make it that much more difficult to learn 'cause now you have to learn 5 different libraries instead of one.
(BTW: I use "language" above to refer to both the language and its libraries; for instance, threading will probably be added as a library feature, not as an explicit language feature as in Java or C#.)
Well, actually, an int isn't necessarily 4 bytes. It is on 32-bit compilers, but I believe the only thing that C++98 requires is that it is at least 16 bits (there may be a maximum, but I don't think so). So it could pad 6 bytes.
Why's this (*holds up a random book*) have a "second edition" in the title? Why didn't they think up a new name?
People: THIS ISN'T A NEW LANGUAGE. It's a revision of C++98 (the current standard). Very likely there will be only a small part that changes the actual language specification itself; most of the revisions will probably be in the library.
Bingo. Languages are often referred to with the year of their standardization, e.g. C99, C++98 (the current standard). However, no one knows when the new standand will be ratified because it's rather difficult to see into the future, so it's referred to as C++0x with the x as a placeholder.
I would argue that if you know the contents of a table, you know the table...
I tend to agree here, though I also take the side that while it's a bug, it's not a bug that should be high on the "fix list" priority list. At least assuming that it works reasonably well on almost all systems.
I tend to agree. I would trust hand-counted votes done in a check-mark or X fasion about the same as the technology of the recent past (machine counters). I trust both far more than the voting computers that are coming into use, but far less than a computerized voting system done properly. ("Properly" is mutually exclusive with vote-from-home BTW; you should still have to go to a ballot place. The only exception are valid absentee ballots.)
And my computer was designed to run in my dorm 24/7 so I could keep services going, but the fans keep me awake so I have to turn it off.
Either you read* SatireWire or you should go through their archives, specifically looking at http://satirewire.com/news/0011/nader_wins.shtml
*That's past tense BTW... why does english use the same word for both?
Are you from Canada? The Canadians use this method, which is why I ask. And it works fine for them. However, I think hand counts of 8 1/2 times the number of ballots* is a bit unreasonable.
*Estimated Canada pop. as of 2003: 32,207,113
Estimated US pop. as of 2003: about 270 million
Numbers from Encarta
No, he didn't stop it completely, but from my understanding he stopped gov't funding for using future lines in research. The lines that are allowed are few in number (far fewer than the 60-whatever I think he said there were when he announced it) and I don't even thin stem cells can reproduce continuously without damage.
Well, first of all, I'm not saying that I support gun control (and in fact I generally don't within reason), but your points don't necessarily show a problem so much with *gun* regulations as regulations for the other things you mention.
>>So he screwed us economicaly how?
/. and can't think of a dozen examples off the top of your head?
Well, I'm of the opinion that there's not *much* you can do as a pres. to affect the economy too much, but there are plenty of things he hasn't done. Wtih all the focus on the crackdown on Martha Stewart and such we forget that most of the people involved in, say, Enron, are still away scott free. Furthermore, Bush supported SEC chairman Pitt until Pitt resigned from country-wide pressure. Bush should have taken a much firmer stance on all of this.
>>So he screwed us in scientific research how?
Stem cells.
>>So he screwed us in basic civil rights how?
You read
>>Anyway close to 2/3 of all Americans in a recent CNN poll said they would likely vote for Bush again if another candidate does not appeal to them. I think in 2000 the number was opposite in favor of Gore.
;-)
Well, there you go then
We'll see closer to the election.
Because we all know that a 2% difference in an onine political test with not very balanced questions is a statistically significant measure.
Unfortunately the Electorial College--while it's the most misguided (at least by today's standards) election vestage I know of--isn't the biggest problem. The real problem is that someone with only a plurality of the votes can "win".
As Jon Stewart has said a couple times, Joe Lieberman is for republicans who don't think Bush is Jewish enough.
There's another option, the approval vote. I think it's what the IEEE uses, so maybe that'll give it some credibility around here. Basically you can vote for as many people as you want. No one person can have more than one vote, but if there are three people you wouldn't mind haveing in office, you can vote for all of them.
It combines the easiness of current voting with the power of ranking systems (either the instant runoff or the Borda) without binding you to order somehow rank everyone who is on the ballot. (Which is an interesting problem in itself... it probably implies computers which means $$$ and even less trust with the current systems than I have in the chad-based systems.)
(See the intereting Discover article at http://www.discover.com/nov_00/featbestman.html for more information about voting systems.)
>>That's an interesting question, and it might be a route one could use to challenge the extensions in court. However, IANAL, so don't take what I say as gospel.
It was one of many approaches taken in the recent cose challenging the Sunny Bono extension that went to the Supreme Court and failed.
That's why I was careful to say an int is at least 16 bits instead of at least 2 bytes, because I think 1 char is called a byte in the context of C++ even if it is not 8 bits.
y pes.html
Quoteth the C++-FAQ Lite, section 26*:
"Here are the rules:
* The C++ language gives the programmer the impression that memory is laid out as a sequence of something C++ calls "bytes."
* Each of these things that the C++ language calls a byte has at least 8 bits, but might have more than 8 bits.
* The C++ language guarantees that a char* (char pointers) can address individual bytes.
* The C++ language guarantees there are no bits between two bytes. This means every bit in memory is part of a byte. If you grind your way through memory via a char*, you will be able to see every bit.
* The C++ language guarantees there are no bits that are part of two distinct bytes. This means a change to one byte will never cause a change to a different byte.
* The C++ language gives you a way to find out how many bits are in a byte in your particular implementation: include the header , then the actual number of bits per byte will be given by the CHAR_BIT macro.
Let's work an example to illustrate these rules. The PDP-10 has 36-bit words with no hardware facility to address anything within one of those words. That means a pointer can point only at things on a 36-bit boundary: it is not possible for a pointer to point 8 bits to the right of where some other pointer points.
One way to abide by all the above rules is for a PDP-10 C++ compiler to define a "byte" as 36 bits. Another valid approach would be to define a "byte" as 9 bits, and simulate a char* by two words of memory: the first could point to the 36-bit word, the second could be a bit-offset within that word. In that case, the C++ compiler would need to add extra instructions when compiling code using char* pointers. For example, the code generated for *p = 'x' might read the word into a register, then use bit-masks and bit-shifts to change the appopriate 9-bit byte within that word. An int* could still be implemented as a single hardware pointer, since C++ allows sizeof(char*) != sizeof(int*).
Using the same logic, it would also be possible to define a PDP-10 C++ "byte" as 12-bits or 18-bits. However the above technique wouldn't allow us to define a PDP-10 C++ "byte" as 8-bits, since 8*4 is 32, meaning every 4th byte we would skip 4 bits. A more complicated approach could be used for those 4 bits, e.g., by packing nine bytes (of 8-bits each) into two adjacent 36-bit words. The important point here is that memcpy() has to be able to see every bit of memory: there can't be any bits between two adjacent bytes."
*URL: http://www.parashift.com/c++-faq-lite/intrinsic-t
I'd have made that a link, but then I'd need to stick BR tags after ever newline and I'm not about to do that with a post this size...
Yeah, I know. I worded my post poorly... I should have said the standard was ratified 4 years later. I have a suspicion that the changes between the working draft and the final 1998 standard will be even greater than the changes between the draft and standard with C++0x as there is already a formal standard that they are working off of rather than the ARM.
The C++98 standard went from first meeting to ratified standard in under 8 years, so the'll make it.
Yes, but the language isn't called "X=C++", is it? As a statement, i.e.
int c=0;
c++;
++c;
Both do the some thing. (If they don't, you've don' a very poor job of operator overloading.)
(Actually, for classes with the operators overloaded, c++ usually has to make a temporary to return from operator++ while the prefix ++ doesn't, but as the temporary is destroyed at the end of statement they are both essentially the same thing provided neither construction nor destruction has side effects.)
The working draft of C++98 was finished in 1994 I think and ratified 4 years later, so I'd say they'll make it.
>>How many of us have actually used a 100% compliant compiler, and used the latest features?
I haven't, but I've had a couple libraries that use partial template specialization and had to work around the lack of support.
>>But it seems to me that the language masters want to go ahead and move C++ along without getting real feedback from developers about how useful the language changes are.
Many "real developers" are on the committees; they aren't just some people sitting around in a high-white tower.
>>Maybe the standards process should slow down a bit and give us ordinary developers a few more years to catch up.
See, that's the problem... it'll take a few years to finish the draft and have it ratified. In the meantime, there are things that are currently missing from the language (e.g. threading support, which may be added this time) that have an ever-increasing amount of non-standard solutions that make it that much more difficult to learn 'cause now you have to learn 5 different libraries instead of one.
(BTW: I use "language" above to refer to both the language and its libraries; for instance, threading will probably be added as a library feature, not as an explicit language feature as in Java or C#.)
Stroustrup considers many of the "features" of especially K&R C to be embarassing, like the implicit int, non type-checked functions, etc.
Well, actually, an int isn't necessarily 4 bytes. It is on 32-bit compilers, but I believe the only thing that C++98 requires is that it is at least 16 bits (there may be a maximum, but I don't think so). So it could pad 6 bytes.
Why's this (*holds up a random book*) have a "second edition" in the title? Why didn't they think up a new name?
People: THIS ISN'T A NEW LANGUAGE. It's a revision of C++98 (the current standard). Very likely there will be only a small part that changes the actual language specification itself; most of the revisions will probably be in the library.
Bingo. Languages are often referred to with the year of their standardization, e.g. C99, C++98 (the current standard). However, no one knows when the new standand will be ratified because it's rather difficult to see into the future, so it's referred to as C++0x with the x as a placeholder.