I'm curious, what Echelon can do with Freenet? Or SSH traffic? Or IPSex? Or SSL? Or GPG email? Does it work only on clear-text communication? I suppose not because that would be utterly foolish. With VoIP it's now trivial to have encrypted voice communication all over the world. What can Echelon do about such traffic?
According to Wikipædia: "ECHELON is the largest electronic spy network in history, run by the United States, the UK, Canada, Australia, and New Zealand, capturing telephone calls, faxes and e-mails around the world. ECHELON is estimated to intercept up to 3 billion communications every day." It raises a very serious question: How on Earth do they manage to get 3 billion warrants every day?!
Since it's slashdotted, I have a question: could someone please tell me what is that "echelon" thing we are talking about? It seems interesting with those trillion floating point operations and all that but I don't have much time to search for more info right now because I am very busy building a nuclear bomb for Robert Malda, pseudonym CmdrTaco, Commander in Chief of the Slashdot terrorist organisation, and if I don't give it to him before the narcotic transport arrives and he won't be able to assassinate the president on time, then my arse is going to expericence some serious jihad with his weapons of mass destruction, because how else will he be able to overthrow the federal government and start the violent uprising to destroy democracy and bring Islamic fundamentalism to the US? So, could anyone tell me what's that? Thanks.
"Apparently the super storage and analysing technology used in the US is sold by privately owned Texas Memory Systems. It can deal with one trillion floating point operations per second. Now that's some technology."
Amazing indeed... Since when do you need floating point operations for text matching?!
Server Error
The server encountered an internal error and was unable to complete your request.
JRun closed connection.
Since "trillion floating point operations per second" seem to have been not nearly powerful enough to spy on us Slashdotters, anyone has a mirror?
Coolness. If there was any one company I would trust to "Do no evil", it would be Google.
I agree wholeheartedly. But sadly Google cannot trust their users to do no evil. As an example let's take this "Google file system."
As much as I am usually against frivolous lawsuits, in this case I really hope Google will sue its authors and win. Why? Because this so called "file system" is a classical example of parasite which can only hurt Google giving absolutely nothing in exchange whatsoever. And for what? So its "developers" could have their project posted on Slashdot frontpage? So they could say "look, mom, how 'leet' I am"? I ask you, people, what if one day someone writes a "file system" stealing storage from Slashdot, saving its files in the form of gigabyte first posts filled with goat sex links and literally tons of uuencoded pornography? This is exactly the same, only much worse, because Google has much less intrusive advertisements and no corporate agenda. From every greedy US corporation, Google is unquestionably the closest to being absolutely perfect. And how do we say "thank you"? By stealing their property? By advertising this pathetic thief "file system" on the front page of the most popular website on the north hemisphere? I just wanted to protest and clearly state that I am strongly against it. I hope someone will start a paypal fund to help Google in court. We cannot tolerate such a behaviour. Please keep in mind that Google is not another IBM who didn't see anything wrong in helping Hitler or Cisco who is perfectly comfortable with building the largest machines of censorship and oppression in the history of human kind. Google is trying to do what is best for us. They deserve our gratefulness and, what is even more important, respect. The existence of script kiddies shamefully exploiting Google's superior services for their own miserable advantage is a precedence not only insulting to our intelligence but a one actually harmful for us in the long run, because that could possibly mean the end of fantastic projects from Google, when they eventually stop to think and inevitably say: "Hey, what's the point in making another contest? Why give them so much if they just want to steal from us? Maybe that popup pornography ads and paid search results placement weren't such a bad idea, after all?" I know I certainly would. Sorry for a long rant. I just love Google and I hate people who hurt it. Going back on topic, I think it was a great contest, even though I haven't won anything. Google is great as always. I wish every corporation would act that way.
Once again, I would like to thank the article submitter (as well as the Slashdot editor) who posted this story for giving us NO background information on who this Linus guy is.
You're right. Let me write some basic info about Linus:
Linus Torvalds (born December 28, 1969) began the development of Linux, an operating system kernel, and today acts
as the project coordinator.
Inspired by the teaching system Minix (developed by Andrew Tanenbaum), he felt the need for a capable UNIX
operating system that he could run on his home PC. Torvalds did the original development of the Linux kernel
primarily in his own time and on his equipment.
Torvalds was born in Helsinki, the capital of Finland, as the son of Nils and Anna Torvalds. Both of his parents
were campus radicals at the University of Helsinki in the 1960s, his father a Communist who in the mid-1970s spent
a year studying in Moscow. This caused embarrassment to Linus at the time since other children would tease him
about his father's politics.
His family belongs to the Swedish-speaking minority (roughly 6% of Finland's population). Torvalds was named after
Linus Pauling. He attended the University of Helsinki from 1988 to 1996, graduating with a masters degree in
computer science.
Torvalds lived for many years in San Jose, California with his wife Tove (six-time Finnish national Karate
champion), whom he first met in fall 1993, his cat Randi (short for Mithrandir, the Elvish name for Gandalf, a
wizard in The Lord of the Rings), and his three daughters Patricia Miranda (born December 5, 1996), Daniela Yolanda
(born April 16, 1998) and Celeste Amanda (born November 20, 2000). In June 2004, Linus purchased a home in
Beaverton, Oregon and enrolled his children in school in that area.
He worked for Transmeta Corporation from February 1997 until June 2003, and is now seconded to the Open Source
Development Labs, a Beaverton, Oregon based software consortium. Linus and his family recently moved to Portland,
Oregon in an effort to be closer to his employer.
His personal mascot is a penguin nicknamed Tux, widely adopted by the Linux community as the mascot of Linux.
Linus's law, a tenet inspired by Linus and coined by Eric S. Raymond in his paper The Cathedral and the Bazaar, is:
"Given enough eyeballs, all bugs are shallow." A deep bug is one which is hard to find, and with many people
looking for it, the hope (and so far most experience) is that no bug will be deep. Both men share an open source
philosophy, which has been in part (and implicitly) based on this belief.
Linus Torvalds
Unlike many open source "evangelists", Torvalds keeps a low profile and generally refuses to comment on competing
software products, such as Microsoft's commercially dominant Windows operating system. He is neutral enough to even
have been criticized by the GNU project, specifically for having worked on proprietary software with Transmeta and
for his use and alleged advocacy of Bitkeeper. Nevertheless, Torvalds has occasionally reacted with strong
statements to what has been widely perceived as anti-Linux (and anti open source) FUD from proprietary software
vendors like Microsoft or SCO.
For example, in one e-mail reaction to statements by Microsoft Senior-VP Craig Mundie, who criticized open source
software for being non innovative and destructive to intellectual property, Torvalds wrote: "I wonder if Mundie has
ever heard of Sir Isaac Newton? He's not only famous for having set the foundations for classical mechanics (and
the original theory of gravitation, which is what most people remember, along with the apple tree story), but he is
also famous for how he acknowledged the achievement: If I have been able to see further, it was only because I
stood on the shoulders of giants... I'd rather listen to Newton than to Mundie. He may have been dead for almost
three hundred years, but despit
If that was an interview with Ian Murdock we'd already have at least twenty posts saying that Ian is the "ian" in "Debian," all moderated as +5, Informative. Why make an exception for Linus? So let me say it:
It is important to note, yet it is not clearly stated in the article, that Linus is actually what "Linu" in "Linux" stand for! Did anyone know it? (+5, Informative--thankyouverymuch)
Once again, I would like to thank the article submitter (as well as the Slashdot editor) who posted this story for giving us NO background information on who this Linus guy is. Are we all expected to instantly recognize every Joe Schmoe that has an interview posted online?
Next time, a little background info would be helpful people!
That might be funny, and in fact I'm fairly sure it is, but it reminds me of people who were seriously complaining about not enough background info in my last story on Poicephalus release. Can you believe it? Also, if it was an interview with Ian Murdock we'd already have at least twenty posts saying that Ian is the "-ian" in "Debian" moderated +5, Informative. So indeed, why make exception for Linux?
The above program doesn't print "x is false" because its else is in fact paired with if (y) instead of if (x) which the indentation might falsely suggest. In C else is always paired with the immediately preceding if. This is one of the most important yet subtle forms of deceptive control flow which might be used in vote-counting logic.
Not every language has this problem, though. Python solves this "dangling else" problem by making the indentation significant, so else always matches the if above, indented with the same amount of whitespace. Perl on the other hand solves this problem by making curlies mandatory, so there is no if ($x) $a++ but always if ($x) { $a++ } (but there is also an even shorter $a++ if $x). Perl 6 will still have the curlies mandatory but the parentheses will be optional: if $x { $a++ } (with much more interesting improvements, see Synopsis 4: Blocks and Statements: "And there's a new elsunless in Perl 6--except that it's spelled elsif not.")
But getting back to the point, if I was really serious about inserting a backdoor in the voting code I would just make few "mistakes" with buffer overflows with all of the important cheating code hidden safely in my exploit, leaving nothing more in the source code than an ordinary bug, like using gets() or strcpy(). When inspected, it would look completely innocent, like a stupid mistake of a lazy programmer, not like an evil backdoor of someone planning to change the election outcome.
Well, yes. Certainly. That was actually my first example. I only used the euphemism "BF" instead of this vulgar profanity, so this misunderstanding is, well, understandable.
Washington Post has an article about former TIA personnel moving their data mining operations offshore (Bahamas) to escape U.S. privacy rules, and to make a buck. I'm waiting for somebody to publish the private data (financial, medical, legal) of federal officials and their families on an open internet web server out of the Bahamas. Is this what it will take for the US to enact stringent privacy rules?
Enact stringent privacy rules? For the US? On Bahamas? Offshore? With the global jurisdiction and universal scope of US law, I presume? How would you want the "federal officials" to do that? Maybe US should "liberate" Bahamas?
Please don't laugh but, well, I have already tried to learn Malbolge, only to fail miserably. I couldn't write even a single program! Can you believe it? Needless to say, my first reaction was the hatred towards Ben Olmstead, blinding, unimaginable hatred, but after some time I decided that violence is not an answer to the problem which is obviously intellectual in nature, so I gave up my plans and got over it. I still curse the year 1998, though.
/* Global vote tallies */
int KerryVotes=0;
int BushVotes=0;
Just hope that more than 65535 people don't vote for the same candidate.
Now, what are the chances that the code is being run on a 17-bit platform?
At first I thought it was a typo and I wanted to answer: "Even lower than chances of running on a 16-bit platform." And then I understood. That was truly brilliant. Bravo.
I have finally finished my code example! It is written in Perl instead of C so I won't send it to the contest, but I think it will nicely demonstrate many very important aspects of code obfuscation and subtle errors in the program control flow which can unexpectedly change at run time. I'm sorry that it took so long, it was a lot of work, mostly testing to make it portable, but I think it was worth it. Here it is:
#!/usr/bin/perl use Acme::Bleach;
(I hope Slashdot will not mess with the whitespace because it is significant just like in Python -- see: perldoc Acme::Bleach by Damian Conway and Proletext by Brad Templeton.)
try to make a point and the only thing people notice is the syntax errors... only on slashdot
Indeed. Everywhere else normal people would just get the point presented in the form of a C program, but not the nerds on Slashdot! But seriously, I was sure that all of the errors in your code was just meant to be examples of real errors that might change the election outcome:
gorevotes = 1; instead of gorevotes += 1; to make gorevotes always less than or equal to one, and using +=1 instead of ++ only to make the =1 mistake less visible
comparing canidate to "Nater" instead of "Nader" to make real Nader's votes not counted
the second bushvotes += 1; instead of nadervotes += 1; to count Nader's votes as votes for Bush
using bushvotes += 10; instead of bushvotes += 1; to multiply votes for Bush by ten
using if(strcmp(canidate,"Bush")) instead of if(!strcmp(canidate,"Bush")) supposedly forgetting that strcmp returns 0 false value on a match and true otherwise, to invert the vote counts and count votes not for any given candidate as votes for him
using canidate instead of candidate variable, which might have a different value
while not an error per se, not using curly brackets in conditionals might introduce unexpected subtleties in the control flow in more complex code with deceptive indentation
All in all, not counting the Perlish elsif there are no syntax errors, while every single logic error might be used on purpose in a vote-counting code to change the election outcome while being hard to spot in a large and complicated spaghetti code. Did I really miss something?
Actually, I was very surprised reading all of the posts fixing the bugs in your code. "Weren't such bugs the whole point of a contest writing 'C code that appears correct but does the wrong thing when counting votes' after all," I thought to myself? [emphasis added]
But now I am even more surprised! Were those really unintentional errors? Because when I first read your comment I though: "What a brilliant example with so many subtle errors in every single statement!" Have I really overestimated the brilliance of your code? I do really hope that I have not, because it was surely one of the best examples posted so far, the foolish down-moderation notwithstanding.
Was I completely wrong? Doubtful. Was I fooled? I don't think so. Am I stupid? Highly unlikely. So what's wrong?
C code that appears correct but does the wrong thing when counting votes.
Does it have to be a C code? In my opinion C is not nearly obfuscatable enough. What about BF or Unlambda? Or, better yet, Lingua Romana Perligata? Now when I'm thinking about it, I think PASM might be perfect for such a task, if only-- I know! Acme DWIM or Bleach compiled directly into PASM! With JIT!! Dear God, that would be so cool!!! But wait, they want C code, right... Wait a minute, Perl is written in C! So is Parrot! And they can be embedded in a C program! Sweet Heavens! What an idea!!!1 Gotta go.
The IBM developerWorks Web site is currently under maintenance.
Please try again later.
Thank you.
Wow... We slashdotted IBM! But to the point: I wonder what is your experience. What is better for system recovery? Standard Knoppix which is a general purpose desktop system meant to be an impressive demonstration tool but lacking many security programs, or some specialised versions like Knoppix STD or Local Area Security which have more tools but are kind of "script kiddie friendly" and look very unprofessional with their Martix themes, leet-speak, "proving no localhost is safe" slogans etc. making them look more like intrusion than recovery tools? Or maybe Morphix is the answer thanks to its ease of customisation and apt-getting new packages on the fly? Do you have any Real World(TM) experience?
This so called "two party system" exists only because of people with such an attitude, who cannot grasp a confusing concept of a choice more complex than that between Coke and Pepsi.
No, it exists because we have a voting system where the conservatives are so afraid the democrats will win, and the liberals so afraid the republicans win that they'll vote "safe" instead of "wasting their vote"
In every voting system people might be afraid that someone who they don't like might win, and in every voting system they might vote for his closest rival.
A situation EASILY fixed by approval voting.
And easier still by voting for people you would like to be elected. What a crazy idea!
Although Stewart leans left, he attacked political shows and begged them: 'Stop, stop, stop, stop hurting America.' Is it time to really stop all the political games that both sides play?
And what do you think shouting "Stop, stop, stop, stop hurting America" is if not a political game? That's the whole point of a political debate, isn't it? So no, the answer is clearly "no, it is not." And please stop saying "both sides" when there are much more of them than two.
both adj. One and the other; relating to or being two in conjunction
This so called "two party system" exists only because of people with such an attitude, who cannot grasp a confusing concept of a choice more complex than that between Coke and Pepsi.
BusyBox is a multi-call binary that combines many common Unix
utilities into a single executable. Most people will create a
link to busybox for each function they wish to use, and BusyBox
will act like whatever it was invoked as.
Currently defined functions:
I'm curious, what Echelon can do with Freenet? Or SSH traffic? Or IPSex? Or SSL? Or GPG email? Does it work only on clear-text communication? I suppose not because that would be utterly foolish. With VoIP it's now trivial to have encrypted voice communication all over the world. What can Echelon do about such traffic?
According to Wikipædia: "ECHELON is the largest electronic spy network in history, run by the United States, the UK, Canada, Australia, and New Zealand, capturing telephone calls, faxes and e-mails around the world. ECHELON is estimated to intercept up to 3 billion communications every day." It raises a very serious question: How on Earth do they manage to get 3 billion warrants every day?!
Wow. I am very -- *rolls dice* -- surprised that it's already so long.
Since it's slashdotted, I have a question: could someone please tell me what is that "echelon" thing we are talking about? It seems interesting with those trillion floating point operations and all that but I don't have much time to search for more info right now because I am very busy building a nuclear bomb for Robert Malda, pseudonym CmdrTaco, Commander in Chief of the Slashdot terrorist organisation, and if I don't give it to him before the narcotic transport arrives and he won't be able to assassinate the president on time, then my arse is going to expericence some serious jihad with his weapons of mass destruction, because how else will he be able to overthrow the federal government and start the violent uprising to destroy democracy and bring Islamic fundamentalism to the US? So, could anyone tell me what's that? Thanks.
Amazing indeed... Since when do you need floating point operations for text matching?!
Since "trillion floating point operations per second" seem to have been not nearly powerful enough to spy on us Slashdotters, anyone has a mirror?
I agree wholeheartedly. But sadly Google cannot trust their users to do no evil. As an example let's take this "Google file system." As much as I am usually against frivolous lawsuits, in this case I really hope Google will sue its authors and win. Why? Because this so called "file system" is a classical example of parasite which can only hurt Google giving absolutely nothing in exchange whatsoever. And for what? So its "developers" could have their project posted on Slashdot frontpage? So they could say "look, mom, how 'leet' I am"? I ask you, people, what if one day someone writes a "file system" stealing storage from Slashdot, saving its files in the form of gigabyte first posts filled with goat sex links and literally tons of uuencoded pornography? This is exactly the same, only much worse, because Google has much less intrusive advertisements and no corporate agenda. From every greedy US corporation, Google is unquestionably the closest to being absolutely perfect. And how do we say "thank you"? By stealing their property? By advertising this pathetic thief "file system" on the front page of the most popular website on the north hemisphere? I just wanted to protest and clearly state that I am strongly against it. I hope someone will start a paypal fund to help Google in court. We cannot tolerate such a behaviour. Please keep in mind that Google is not another IBM who didn't see anything wrong in helping Hitler or Cisco who is perfectly comfortable with building the largest machines of censorship and oppression in the history of human kind. Google is trying to do what is best for us. They deserve our gratefulness and, what is even more important, respect. The existence of script kiddies shamefully exploiting Google's superior services for their own miserable advantage is a precedence not only insulting to our intelligence but a one actually harmful for us in the long run, because that could possibly mean the end of fantastic projects from Google, when they eventually stop to think and inevitably say: "Hey, what's the point in making another contest? Why give them so much if they just want to steal from us? Maybe that popup pornography ads and paid search results placement weren't such a bad idea, after all?" I know I certainly would. Sorry for a long rant. I just love Google and I hate people who hurt it. Going back on topic, I think it was a great contest, even though I haven't won anything. Google is great as always. I wish every corporation would act that way.
You're right. Let me write some basic info about Linus:
Linus Torvalds (born December 28, 1969) began the development of Linux, an operating system kernel, and today acts as the project coordinator. Inspired by the teaching system Minix (developed by Andrew Tanenbaum), he felt the need for a capable UNIX operating system that he could run on his home PC. Torvalds did the original development of the Linux kernel primarily in his own time and on his equipment. Torvalds was born in Helsinki, the capital of Finland, as the son of Nils and Anna Torvalds. Both of his parents were campus radicals at the University of Helsinki in the 1960s, his father a Communist who in the mid-1970s spent a year studying in Moscow. This caused embarrassment to Linus at the time since other children would tease him about his father's politics. His family belongs to the Swedish-speaking minority (roughly 6% of Finland's population). Torvalds was named after Linus Pauling. He attended the University of Helsinki from 1988 to 1996, graduating with a masters degree in computer science. Torvalds lived for many years in San Jose, California with his wife Tove (six-time Finnish national Karate champion), whom he first met in fall 1993, his cat Randi (short for Mithrandir, the Elvish name for Gandalf, a wizard in The Lord of the Rings), and his three daughters Patricia Miranda (born December 5, 1996), Daniela Yolanda (born April 16, 1998) and Celeste Amanda (born November 20, 2000). In June 2004, Linus purchased a home in Beaverton, Oregon and enrolled his children in school in that area. He worked for Transmeta Corporation from February 1997 until June 2003, and is now seconded to the Open Source Development Labs, a Beaverton, Oregon based software consortium. Linus and his family recently moved to Portland, Oregon in an effort to be closer to his employer. His personal mascot is a penguin nicknamed Tux, widely adopted by the Linux community as the mascot of Linux. Linus's law, a tenet inspired by Linus and coined by Eric S. Raymond in his paper The Cathedral and the Bazaar, is: "Given enough eyeballs, all bugs are shallow." A deep bug is one which is hard to find, and with many people looking for it, the hope (and so far most experience) is that no bug will be deep. Both men share an open source philosophy, which has been in part (and implicitly) based on this belief. Linus Torvalds Unlike many open source "evangelists", Torvalds keeps a low profile and generally refuses to comment on competing software products, such as Microsoft's commercially dominant Windows operating system. He is neutral enough to even have been criticized by the GNU project, specifically for having worked on proprietary software with Transmeta and for his use and alleged advocacy of Bitkeeper. Nevertheless, Torvalds has occasionally reacted with strong statements to what has been widely perceived as anti-Linux (and anti open source) FUD from proprietary software vendors like Microsoft or SCO. For example, in one e-mail reaction to statements by Microsoft Senior-VP Craig Mundie, who criticized open source software for being non innovative and destructive to intellectual property, Torvalds wrote: "I wonder if Mundie has ever heard of Sir Isaac Newton? He's not only famous for having set the foundations for classical mechanics (and the original theory of gravitation, which is what most people remember, along with the apple tree story), but he is also famous for how he acknowledged the achievement: If I have been able to see further, it was only because I stood on the shoulders of giants ... I'd rather listen to Newton than to Mundie. He may have been dead for almost
three hundred years, but despit
If that was an interview with Ian Murdock we'd already have at least twenty posts saying that Ian is the "ian" in "Debian," all moderated as +5, Informative. Why make an exception for Linus? So let me say it:
It is important to note, yet it is not clearly stated in the article, that Linus is actually what "Linu" in "Linux" stand for! Did anyone know it? (+5, Informative--thankyouverymuch)
That might be funny, and in fact I'm fairly sure it is, but it reminds me of people who were seriously complaining about not enough background info in my last story on Poicephalus release. Can you believe it? Also, if it was an interview with Ian Murdock we'd already have at least twenty posts saying that Ian is the "-ian" in "Debian" moderated +5, Informative. So indeed, why make exception for Linux?
On a global test?
The above program doesn't print "x is false" because its else is in fact paired with if (y) instead of if (x) which the indentation might falsely suggest. In C else is always paired with the immediately preceding if. This is one of the most important yet subtle forms of deceptive control flow which might be used in vote-counting logic.
Not every language has this problem, though. Python solves this "dangling else" problem by making the indentation significant, so else always matches the if above, indented with the same amount of whitespace. Perl on the other hand solves this problem by making curlies mandatory, so there is no if ($x) $a++ but always if ($x) { $a++ } (but there is also an even shorter $a++ if $x). Perl 6 will still have the curlies mandatory but the parentheses will be optional: if $x { $a++ } (with much more interesting improvements, see Synopsis 4: Blocks and Statements: "And there's a new elsunless in Perl 6--except that it's spelled elsif not.")
But getting back to the point, if I was really serious about inserting a backdoor in the voting code I would just make few "mistakes" with buffer overflows with all of the important cheating code hidden safely in my exploit, leaving nothing more in the source code than an ordinary bug, like using gets() or strcpy(). When inspected, it would look completely innocent, like a stupid mistake of a lazy programmer, not like an evil backdoor of someone planning to change the election outcome.
pth@pus14:20:~/c/test$ cat ifelse.c
./ifelse
#include <stdio.h>
int main() {
int x = 0;
int y = 1;
printf("start\n");
if (x)
if (y)
printf("x and y are true\n");
else
printf("x is false\n");
printf("end\n");
return 0;
}
pth@pus14:20:~/c/test$ gcc ifelse.c -o ifelse
pth@pus14:20:~/c/test$
start
end
pth@pus14:20:~/c/test$ gcc ifelse.c -o ifelse -Wall
ifelse.c: In function `main':
ifelse.c:10: warning: suggest explicit braces to avoid ambiguous `else'
pth@pus14:20:~/c/test$
Well, yes. Certainly. That was actually my first example. I only used the euphemism "BF" instead of this vulgar profanity, so this misunderstanding is, well, understandable.
Enact stringent privacy rules? For the US? On Bahamas? Offshore? With the global jurisdiction and universal scope of US law, I presume? How would you want the "federal officials" to do that? Maybe US should "liberate" Bahamas?
I have two tools not to track but to solve the election problems:
Novel idea, isn't it?
Please don't laugh but, well, I have already tried to learn Malbolge, only to fail miserably. I couldn't write even a single program! Can you believe it? Needless to say, my first reaction was the hatred towards Ben Olmstead, blinding, unimaginable hatred, but after some time I decided that violence is not an answer to the problem which is obviously intellectual in nature, so I gave up my plans and got over it. I still curse the year 1998, though.
Now, what are the chances that the code is being run on a 17-bit platform?
At first I thought it was a typo and I wanted to answer: "Even lower than chances of running on a 16-bit platform." And then I understood. That was truly brilliant. Bravo.
I have finally finished my code example! It is written in Perl instead of C so I won't send it to the contest, but I think it will nicely demonstrate many very important aspects of code obfuscation and subtle errors in the program control flow which can unexpectedly change at run time. I'm sorry that it took so long, it was a lot of work, mostly testing to make it portable, but I think it was worth it. Here it is:
(I hope Slashdot will not mess with the whitespace because it is significant just like in Python -- see: perldoc Acme::Bleach by Damian Conway and Proletext by Brad Templeton.)
Comments welcome.
try to make a point and the only thing people notice is the syntax errors... only on slashdot
Indeed. Everywhere else normal people would just get the point presented in the form of a C program, but not the nerds on Slashdot! But seriously, I was sure that all of the errors in your code was just meant to be examples of real errors that might change the election outcome:
All in all, not counting the Perlish elsif there are no syntax errors, while every single logic error might be used on purpose in a vote-counting code to change the election outcome while being hard to spot in a large and complicated spaghetti code. Did I really miss something?
Actually, I was very surprised reading all of the posts fixing the bugs in your code. "Weren't such bugs the whole point of a contest writing 'C code that appears correct but does the wrong thing when counting votes' after all," I thought to myself? [emphasis added]
But now I am even more surprised! Were those really unintentional errors? Because when I first read your comment I though: "What a brilliant example with so many subtle errors in every single statement!" Have I really overestimated the brilliance of your code? I do really hope that I have not, because it was surely one of the best examples posted so far, the foolish down-moderation notwithstanding.
Was I completely wrong? Doubtful. Was I fooled? I don't think so. Am I stupid? Highly unlikely. So what's wrong?
C code that appears correct but does the wrong thing when counting votes.
Does it have to be a C code? In my opinion C is not nearly obfuscatable enough. What about BF or Unlambda? Or, better yet, Lingua Romana Perligata? Now when I'm thinking about it, I think PASM might be perfect for such a task, if only-- I know! Acme DWIM or Bleach compiled directly into PASM! With JIT!! Dear God, that would be so cool!!! But wait, they want C code, right... Wait a minute, Perl is written in C! So is Parrot! And they can be embedded in a C program! Sweet Heavens! What an idea!!!1 Gotta go.
Wow... We slashdotted IBM! But to the point: I wonder what is your experience. What is better for system recovery? Standard Knoppix which is a general purpose desktop system meant to be an impressive demonstration tool but lacking many security programs, or some specialised versions like Knoppix STD or Local Area Security which have more tools but are kind of "script kiddie friendly" and look very unprofessional with their Martix themes, leet-speak, "proving no localhost is safe" slogans etc. making them look more like intrusion than recovery tools? Or maybe Morphix is the answer thanks to its ease of customisation and apt-getting new packages on the fly? Do you have any Real World(TM) experience?
In every voting system people might be afraid that someone who they don't like might win, and in every voting system they might vote for his closest rival.
And easier still by voting for people you would like to be elected. What a crazy idea!
And what do you think shouting "Stop, stop, stop, stop hurting America" is if not a political game? That's the whole point of a political debate, isn't it? So no, the answer is clearly "no, it is not." And please stop saying "both sides" when there are much more of them than two.
both adj.
One and the other; relating to or being two in conjunction
This so called "two party system" exists only because of people with such an attitude, who cannot grasp a confusing concept of a choice more complex than that between Coke and Pepsi.
I can see that by "not learning anything" you mean also spelling. It's "Everyone loses again."
$ ./busybox
BusyBox v1.00 (2004.10.13-04:49+0000) multi-call binary
Usage: busybox [function] [arguments]...
or: [function] [arguments]...
BusyBox is a multi-call binary that combines many common Unix
utilities into a single executable. Most people will create a
link to busybox for each function they wish to use, and BusyBox
will act like whatever it was invoked as.
Currently defined functions:
[, addgroup, adduser, adjtimex, ar, arping, ash, awk, basename, bunzip2,
busybox, bzcat, cal, cat, chgrp, chmod, chown, chroot, chvt, clear, cmp,
cp, cpio, crond, crontab, cut, date, dc, dd, deallocvt, delgroup, deluser,
devfsd, df, dirname, dmesg, dos2unix, dpkg, dpkg-deb, du, dumpkmap,
dumpleases, echo, egrep, env, expr, false, fbset, fdflush, fdformat, fdisk,
fgrep, find, fold, free, freeramdisk, fsck.minix, ftpget, ftpput, getopt,
getty, grep, gunzip, gzip, halt, hdparm, head, hexdump, hostid, hostname,
httpd, hush, hwclock, id, ifconfig, ifdown, ifup, inetd, init, insmod,
install, ip, ipaddr, ipcalc, iplink, iproute, iptunnel, kill, killall,
klogd, lash, last, length, linuxrc, ln, loadfont, loadkmap, logger, login,
logname, logread, losetup, ls, lsmod, makedevs, md5sum, mesg, mkdir,
mkfifo, mkfs.minix, mknod, mkswap, mktemp, modprobe, more, mount, msh, mt,
mv, nameif, nc, netstat, nslookup, od, openvt, passwd, patch, pidof, ping,
ping6, pipe_progress, pivot_root, poweroff, printf, ps, pwd, rdate,
readlink, realpath, reboot, renice, reset, rm, rmdir, rmmod, route, rpm,
rpm2cpio, run-parts, rx, sed, seq, setkeycodes, sha1sum, sleep, sort,
start-stop-daemon, strings, stty, su, sulogin, swapoff, swapon, sync,
sysctl, syslogd, tail, tar, tee, telnet, telnetd, test, tftp, time, top,
touch, tr, traceroute, true, tty, udhcpc, udhcpd, umount, uname,
uncompress, uniq, unix2dos, unzip, uptime, usleep, uudecode, uuencode,
vconfig, vi, vlock, watch, watchdog, wc, wget, which, who, whoami, xargs,
yes, zcat
$ _
No perl?