Skip the 50,000 foot view and proceed directly to "what does this do and how can it be done better"? While your post has many good and clearly expressed ideas, I'm not quite sure where you're driving at right here. The question "how can this be done better" can be asked at each node in the call graph, and the question is very broad.
To ask this question near the root, for architectural purposes, I think what you want is exactly the 50 kilofoot view. There's of course utility in asking the same question closer to the leaves, but I think it's a mistake to overlook the big perspective in favour of going low-level.
The article highlights a principle which we all know (either explicitly or implicitly): we are highly vision-oriented creatures; visual perception is (relatively) easy for us. A quick convincer: coloured and neatly indented code is easier to read than monochromatic unindented code, right? So perception of colour and position is faster than that of symbols and their relationships.
The methods in the article plays right into this: by viewing the code zoomed out greatly, one can readily see the density of code, and get a visual "fingerprint" of each chunk. By coupling printout position to satisfaction with the printed code, one can readily see which piece of code needs the most work.
Interesting additions: adding colour to each class and method based on how memory they allocate (or how many objects they construct); or colouring functions relating to their position in the call graph, or their in-degree.
Wired has an <a>article</a> Not fixed. The again, we don't read articles around here;)
on the national fusion centers in the US, which were created to aid intelligence-sharing in the fight against terrorism How much terrorism has happened recently? Hasn't enough resources been put into fighting it?
but are increasingly being used to look at other sorts of crimes. Hmm... is this perhaps part of a "we're tough on crime" bullet to put on the election checklist? Or possibly a way to hand more power to the law enforcement?
Does anyone else here see the obvious double-standard that we've created for ourselves? You seem to be suggesting that we should apply the argument "not wanting to show => having something to hide" to Sequoia, thereby lending that argument credibility. I really think this is a bad idea.
What you instead should be arguing is that citizens have a legitimate right to privacy (fourth amendment and all that). The government doesn't have a right to conduct its jobs in secrecy; the citizens have to keep government power in check. Similarly, the citizenry has to be able to trust the election results; for that to happen, review of the election process (including vote counting) has to happen.
You're using TRUE, despite the fact that c++ and c99 both define "true".
You're comparing a boolean-valued variable to TRUE, instead of doing the inverse comparison (!=) with false (or zero). Or just testing the boolean.
You're using an assignment as a subexpression, which is potentialy confusing.
You're post-incrementing vote, potentially introducing a new temporary object (if this is C++). Always preincrement.
the name corruptCampaignContribs is highly misleading; this is true if the vote counters, not the campaign contributors, are corrupt (and have been bought).
So there, even that simple algorithm is easy to get wrong. The right way to write it is of course:
I always thought the geek humor was supposed to be
i) complex; it has to be somewhat sophisticated and intricate; highly technical in-jokes are preferred ii) negative; someone's folly or misfortune is always fun to mock. 0.70710678118654...) rational; it's good to be ha-ha only serious and make you think in the same go as it makes you laugh. 0.0078749969978123844...) computable; there has to be some algorithm which produces jokes. Here on slashdot, you use a bayesian filter to figure out if the post or story you want to respond to is best served by Soviet Russia, Car Analogy, I for one, ???-profit, but-does-it-run-linux or Imagine-a-Beowulf-cluster-of-those?
They don't need to inspect the packets to identify them as p2p
Uhh, yes, they do Uhh, no, they don't, actually. There are things besides the data that give away encrypted protocols. Parameters previously used: {mean,variance} of {client-to-server,server-to-client} {packet size, interpacket time gap} and the (Shannon) entropy [1]. You could probably also look at the port numbers, how often the TCP PSH flag is used, and how many connections with similar parameters have already been made.
Comcast VP> The congressional policy and agency practice of relying on the marketplace instead of regulation to maximize consumer welfare has been proven by experience (including the Comcast customer experience) to be enormously successful The Comcast VP says reliance on the marketplace maximizes consumer welfare. As a dual, I would expect consumers to say that reliance on the marketplace maximizes Comcast VP welfare;) (Due, of course, to the marketplace being utterly broken, as you mentioned).
So put a fucking paper shredder next to the exit! It's not that fucking hard! But then you still have the option of keeping the receipt, which means Tony will still want to see it. The only way for you not to have the option of keeping the receipt is if you never have it in the first place.
It really exposes something fascinating about the development process: Code is written based on certain assumptions and a working theory of how the code will function once put into use, but the only way to really know how well it works is to hand it over to the ultimate judge of code correctness--the computer--by running the code. If it works, case closed.
Please don't ever again offer your great insight into software development process. If everything was stuffed into the kernel (or other software projects) once it compiles and runs, we would drown in [bad] code. [...] Before anything is released, people have to LOOK AT THE CODE and make sure that the source gives them a reason to think, it will run correctly when used with interfaces that it is supposed to utilize or provide.
It's clear to me that your parent doesn't suggest "it compiles; ship it". Successful compilation and execution is a necessary, not sufficient, condition for code to be considered shippable (:=? correct). That is, "shipped implies verified in testing".
Also, isn't it reasonable to assume that the part where you LOOK AT THE CODE is the part where you form a working theory of how the code will function? I think that's what P meant. Once you've looked at the code, you then proceed to testing.
Say you want to argue that the parent's proposition is wrong. This means code is shipped without being verified in testing. Do you propose we don't test our code, or do you propose we ship code that fails our test suite? Or have I missed a third option?
Mature code that has been declared good years ago seemingly breaks.
Userspace code -- ANY CODE THAT CONTAINS SIGNAL HANDLERS -- compiled by a new compiler will not work correctly.
It seems to me that you agree with your parent. Code breaks when built with the new compiler and ran against a faulty kernel.
Disclaimer: I have not studied law. I'm not a lawyer. In particular I'm not your lawyer. This is not legal advice.
Let's have a look at what Sequoia is saying:
As you have likely read in the news media, certain New Jersey election officials have stated that they plan to send to you one or more Sequoia Advantage voting machines for analysis. At least they got that one right:p
I want to make you aware that if the County does so, it violates their established Sequoia licensing Agreement for use of the voting system. Emphasis added. It NJ who's bound by (and is or is not in breach of) the license, not Felten and Appel.
Sequoia has also retained counsel to stop any infringement of our intellectual properties, including any non-compliant analysis. Presumably Felten and Appel have not agreed to the Sequoia licensing agreement, so they wouldn't be in breach of contract by analysing any software. Also, I predict they will have strong case arguing that their use of Sequoia software is Fair Use, of either the scholar or research variety.
We will also take appropriate steps to protect against any publication of Sequoia software, its behavior, reports regarding same or any other infringement of our intellectual property. Any reports written by Sequoia will have the copyright belonging to Sequoia. Any report written by anyone else is copyrighted by that someone else. The only thing I can imagine that would change this is if the license agreement of the software stated that the copyrights of any such report written by not-Sequoia is automatically turned over to Sequoia.
Please, please, Sequoia - suing over this is exactly the right course of action for you. Nice. I see you want to invoke the Streisand effect of Sequoia. However, I don't think it will be effective, and here's why: it will give Sequoia negative publicity, but only here on slashdot. Also, even if it did spread to the masses, what do you think the masses would do? Anything? Heck, in the US, only half[1] of the eligible voters actually vote! If they don't care about presidency, why should one believe they would care about which company the state buys voting machines from?
However, I think Felten and Appel could influence some decision-makers by going to them personally and explain why third party review is a good thing and why they shouldn't put the engine of democracy into the hands of someone who prevents the governed people from understanding what is done with it. In particular, I believe that Felten would be well-equipped to do so, as he's got an understanding of both technology and public policy; also, he's a good speaker[2].
I could make an ironic remark about how I really don't like people who tinker with their shiny new gadgets, and how I seriously think that all Apple customers believe that Apple products have no flaws and truly buy into the Reality Distortion Field Kool-Aid of Steve Jobs. But I'll probably just get modded -1 broken-irony-detector again, so I won't say anything that can construed to mean that I genuinely hold the view expressed a sentence back.
What's the timeline on something like this? According to the license, when you redistribute the code, or a derivative work, you have to either:
a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) <not applicable to Verizon>
Sure, but in turn two I can play Ashnod's Altar; then you play drugies, and in turn three I play Fecundity, sac my elves, play saproling cluster, get unbounded mana as I cycle through my deck (which is pseudo-infinite due to my Serra Avatar), and mill you with my whetstone.
You can't transfer 100Gbps by putting hard disk in your backpack.. the "ps" is PER SECOND. You're confusing things. I'm talking about the slope of the secant going between the points at the start and end of the transfer. You are, I assume, talking about the (lack of) variation of the bit rate during the transfer.
My point is that bit rate and latency are orthogonal. Imagine that Mr. ISP divides time into successive intervals (0, 1] each lasting one second. At the time 1, he sends every packet you gave him during that interval, up to your allowed bit rate. Packages sent at time 0.00001 will have almost a full second delay. Now imagine he transfers each packet instantaneously (again, up to your allowed bit rate).
You get the same bit rate (measured in bits PER SECOND) in both scenarios, yet significantly higher latency in one versus the other.
Packets will not "sit in queue" Thank you. Now I can just laugh at you and move on:D
Shame on the hackers! How dare they! They are evil people for breaking the security of the almighty Jobs! Oh, and shame on Jobs, we expect your products to be secure. Wait, Apple are imperfect? [Head asplodes].
it's now "known" to about half a billion more people than it had been. But I did look at it. In sixth grade, I did a report on nuclear power, and had a nice diagram explaining the chain reactions taking place, and understood that if you don't keep the chain reactions under control, the power plants goes boom. Back then I realised that I could put the stuff in a box, drop it from the sky, set the chain reactions off, and deliberately not control them.
For those of you who don't RTFA (yeah, that's you!), here are some interesting points:
The Internet provider organizations have, however, judged it possible to disconnect specific users [...] if they are identified as particularly flagrant transgressors in cooperation with copyright-related organizations. We all know how inexact the RIAA and MPAA members are in determining infringers. Why should we expect the Japanese to be different?
the measure would become the first countermeasure against Winny-using rights-violators Notice the slant? They label Winny users as rights-violators. "Those people are rights-violators. They are bad people. If someone violated your rights, you would want something done about it, right?"
most of the files exchanged using the software [are] believed to be illegal copies. Notice the word most. Not all. The ISPs will have to distinguish between legal and illegal to make a correct decision. Whether they'll do that or not, time will tell. Perhaps we can use history as a guess?
Also, aside question: how can a copy be illegal? I get that it can be illegal to create and to posses, but how can the copy itself be illegal? If it's made on a USB stick and then thrown out (ownership of the copy has ceased), the copy by virtue of not having changed is still illegal. Who do you sue, the USB stick?
(I figure they mean illegally possessed copies, but imprecise language like this bugs me a bit.)
Two years ago, a major Internet provider tried to introduce a measure to disconnect users from the Internet whenever the company detected the use of Winny or other file-sharing software.
However, the provider abandoned the idea after receiving a warning from the Internal Affairs and Communications Ministry that such an approach was regarded as Internet snooping and might violate the right to privacy in communications.
According to the new agreement, copyright organizations would notify providers of Internet protocol addresses used by those who repeatedly make copies illegally, using special detection software. I can't imagine how "special detection software" might reliable determine whether copyright infringement is going on without looking at the transmitted data. Isn't it then obvious that the copyright organizations are doing "Internet snooping and might violate the right to privacy in communications"?
I don't know about you, but I've actually had an operating system ;)
To ask this question near the root, for architectural purposes, I think what you want is exactly the 50 kilofoot view. There's of course utility in asking the same question closer to the leaves, but I think it's a mistake to overlook the big perspective in favour of going low-level.
The article highlights a principle which we all know (either explicitly or implicitly): we are highly vision-oriented creatures; visual perception is (relatively) easy for us. A quick convincer: coloured and neatly indented code is easier to read than monochromatic unindented code, right? So perception of colour and position is faster than that of symbols and their relationships.
The methods in the article plays right into this: by viewing the code zoomed out greatly, one can readily see the density of code, and get a visual "fingerprint" of each chunk. By coupling printout position to satisfaction with the printed code, one can readily see which piece of code needs the most work.
Interesting additions: adding colour to each class and method based on how memory they allocate (or how many objects they construct); or colouring functions relating to their position in the call graph, or their in-degree.
Just some things to ponder...
What you instead should be arguing is that citizens have a legitimate right to privacy (fourth amendment and all that). The government doesn't have a right to conduct its jobs in secrecy; the citizens have to keep government power in check. Similarly, the citizenry has to be able to trust the election results; for that to happen, review of the election process (including vote counting) has to happen.
- You're using TRUE, despite the fact that c++ and c99 both define "true".
- You're comparing a boolean-valued variable to TRUE, instead of doing the inverse comparison (!=) with false (or zero). Or just testing the boolean.
- You're using an assignment as a subexpression, which is potentialy confusing.
- You're post-incrementing vote, potentially introducing a new temporary object (if this is C++). Always preincrement.
- the name corruptCampaignContribs is highly misleading; this is true if the vote counters, not the campaign contributors, are corrupt (and have been bought).
So there, even that simple algorithm is easy to get wrong. The right way to write it is of course:- yes, definitely
- no, not at all
- CowboyNeal
</tongue-in-cheek>I always thought the geek humor was supposed to be
i) complex; it has to be somewhat sophisticated and intricate; highly technical in-jokes are preferred
ii) negative; someone's folly or misfortune is always fun to mock.
0.70710678118654...) rational; it's good to be ha-ha only serious and make you think in the same go as it makes you laugh.
0.0078749969978123844...) computable; there has to be some algorithm which produces jokes. Here on slashdot, you use a bayesian filter to figure out if the post or story you want to respond to is best served by Soviet Russia, Car Analogy, I for one, ???-profit, but-does-it-run-linux or Imagine-a-Beowulf-cluster-of-those?
Uhh, yes, they do Uhh, no, they don't, actually. There are things besides the data that give away encrypted protocols. Parameters previously used: {mean,variance} of {client-to-server,server-to-client} {packet size, interpacket time gap} and the (Shannon) entropy [1]. You could probably also look at the port numbers, how often the TCP PSH flag is used, and how many connections with similar parameters have already been made.
[1] http://www.shmoocon.org/2007/presentations.html and (mp4 warning) Encrypted Protocol Identification
Quickie: couldn't that be handled by auctioning off the maintenance work to a bidder in a competitive market?
It's clear to me that your parent doesn't suggest "it compiles; ship it". Successful compilation and execution is a necessary, not sufficient, condition for code to be considered shippable (:=? correct). That is, "shipped implies verified in testing".
Also, isn't it reasonable to assume that the part where you LOOK AT THE CODE is the part where you form a working theory of how the code will function? I think that's what P meant. Once you've looked at the code, you then proceed to testing.
Say you want to argue that the parent's proposition is wrong. This means code is shipped without being verified in testing. Do you propose we don't test our code, or do you propose we ship code that fails our test suite? Or have I missed a third option?
It seems to me that you agree with your parent. Code breaks when built with the new compiler and ran against a faulty kernel.
Let's have a look at what Sequoia is saying: As you have likely read in the news media, certain New Jersey election officials have stated that they plan to send to you one or more Sequoia Advantage voting machines for analysis. At least they got that one right
However, I think Felten and Appel could influence some decision-makers by going to them personally and explain why third party review is a good thing and why they shouldn't put the engine of democracy into the hands of someone who prevents the governed people from understanding what is done with it. In particular, I believe that Felten would be well-equipped to do so, as he's got an understanding of both technology and public policy; also, he's a good speaker[2].
[1] http://www.infoplease.com/ipa/A0781453.html
[2] http://www.usenix.org/events/sec06/tech/mp3/felten.mp3
Flamebait?
I could make an ironic remark about how I really don't like people who tinker with their shiny new gadgets, and how I seriously think that all Apple customers believe that Apple products have no flaws and truly buy into the Reality Distortion Field Kool-Aid of Steve Jobs. But I'll probably just get modded -1 broken-irony-detector again, so I won't say anything that can construed to mean that I genuinely hold the view expressed a sentence back.
Oh, and hey; kudos to the fin' fo'ks who did it.
As for what hypothetical court orders would say, I do not know. I am not a lawyer, in particular not yours, and this is not legal advice.
Sure, but in turn two I can play Ashnod's Altar; then you play drugies, and in turn three I play Fecundity, sac my elves, play saproling cluster, get unbounded mana as I cycle through my deck (which is pseudo-infinite due to my Serra Avatar), and mill you with my whetstone.
You lose!
My point is that bit rate and latency are orthogonal. Imagine that Mr. ISP divides time into successive intervals (0, 1] each lasting one second. At the time 1, he sends every packet you gave him during that interval, up to your allowed bit rate. Packages sent at time 0.00001 will have almost a full second delay. Now imagine he transfers each packet instantaneously (again, up to your allowed bit rate).
You get the same bit rate (measured in bits PER SECOND) in both scenarios, yet significantly higher latency in one versus the other. Packets will not "sit in queue" Thank you. Now I can just laugh at you and move on
Llanowar Elves ;)
Shame on the hackers! How dare they! They are evil people for breaking the security of the almighty Jobs! Oh, and shame on Jobs, we expect your products to be secure. Wait, Apple are imperfect? [Head asplodes].
Well, I for one welcome our new laser-guided missil^W^H robots.
Just something to worry about
Also, aside question: how can a copy be illegal? I get that it can be illegal to create and to posses, but how can the copy itself be illegal? If it's made on a USB stick and then thrown out (ownership of the copy has ceased), the copy by virtue of not having changed is still illegal. Who do you sue, the USB stick?
(I figure they mean illegally possessed copies, but imprecise language like this bugs me a bit.) Two years ago, a major Internet provider tried to introduce a measure to disconnect users from the Internet whenever the company detected the use of Winny or other file-sharing software.
However, the provider abandoned the idea after receiving a warning from the Internal Affairs and Communications Ministry that such an approach was regarded as Internet snooping and might violate the right to privacy in communications.
According to the new agreement, copyright organizations would notify providers of Internet protocol addresses used by those who repeatedly make copies illegally, using special detection software. I can't imagine how "special detection software" might reliable determine whether copyright infringement is going on without looking at the transmitted data. Isn't it then obvious that the copyright organizations are doing "Internet snooping and might violate the right to privacy in communications"?