Currently the "real world" has a lot more demand for the second group than the first, but that doesn't make either view more valid than the other. I think the proper thing to do is for colleges to split their Computer Science departments into two entities that give separate degrees. The first, being more properly a science, would retain the name Computer Science, while the other, being more of an Engineering discipline, would be given the name Software Engineering. Then students can choose for themselves which group they belong to. If I'm not mistaken a number of colleges already do that.
My guess is that splitting the degrees would just lengthen the degree for software engineers as they add on the extra courses to a full CS curriculum. I would hate to see core CS classes pulled from a 4 year software engineering degree in the name of expediency.
I don't know if it's at all related, but some people have a bump on the back of their head, and I've read before that those with the bump are generally more intelligent than those without. It has a name, can't remember, but I think it was some German word. I'm sure some slashdotter out there will be able to expand on this...
Disproof by anecdote: I have a bump on the back of my head but I don't know what it's called.
Nope. I just have to modify the CountVotes() method. That's where the important magic occurs anyhow.
But the CheckVoteAgainstCertificate() will always return the right answer.
The issue is that someone could change this code without anybody really noticing. It's not near as obvious as having two guards standing by a ballot box.
How do guards keep the manual vote counters from adjusting the final tally? The problem with changing the final vote tally in the cryptographic version is that the tally also has to be certified *before* the candidates and election officials get to inspect random votes. This means that at some point some of the values in the database must be wrong, e.g. either the value that the voter selected is misrepresented, or the final tally is not equal to the sum of all the individual votes. By spot checking a random selection of votes, the probability that a significant number of votes can be illegally modified quickly drops to zero after the square root of the number of votes have been spot checked. The more votes that are illegally modified, the easier it is to catch. In fact, since usually at least one tenth of a percentage point would need to be stolen votes, this implies that the probability of stealing the vote without being caught is 0.999^N, where the number of randomly checked votes, N, only needs to be 10000 or more to get at least a 99.99% certainty that the vote was valid, or rather that it wasn't swayed more than a tenth of a percentage point. Obviously it doesn't make sense to misrepresent the total count of the votes because the votes themselves are open to inspection in a randomly ordered list not associated with individual ballots, but still verifiable because of the commitments.
As long as the votes are stored in a computer, they can be easily manipulated at various points in the chain. Sure digital data can be very secure. In banking we make sure everything adds up correctly. But that's because if it's not, you are going to get a phone call from one of the two people involved in the transaction. "Why is there $600 less in my checking account?"
Actually, they can't be modified without invalidating the commitments generated *before* the election. As far as I can tell the commitments are secure HMACs (keyed hashes) of the initial data tables before the election to ensure that the permutation for the top and bottom ballot pieces are not changed afterward. The only place where data manipulation can occur is at the point where the voter chooses P3 in the system. If this value is recorded incorrectly, it must be detected by the voter looking the vote up online. The key insight is that with each additional voter checking his or her result online, the probability of being able to change a vote undetected drops exponentially, eventually becoming zero if more voters check their vote than n-k, where n is the total number of voters and k is the number of modified votes.
Just because you can verify your vote was counted correctly, says nothing about the anonymous abstainers (who typically outnumber voters by 3:1) in whose name votes may have been falsely cast by the cheating party but who by definition aren't going to check anything.
One possible solution is to photograph every voter after they vote. Require one photograph for every vote counted. This makes it obvious if someone is voting multiple times, which is necessary for ballot stuffing. No relationship between the ballot and photograph need exist, which would mean turning off timestamping on any cameras and ensuring that photographs do not include any clues as to when or how the voter voted, except an obvious sign that notes which election and district the photograph was taken in.
For each ballot, generate a cryptographically secure random nonce and store it at the election office for each ballot, indexed by the ballot's serial number. Generate the hash of D_4 || NONCE for each ballot and cryptographically sign it, then print it on the ballot. The secret nonce is required to prevent bruce forcing of the hash by enumerating the (small) set of values that D_4 could take. The signatures for all ballots should also be made available before the election to prove that all ballots were generated correctly, e.g. that any invalid ballot can be detected after the fact. The nonces, along with the D_4 values remain secret unless a ballot is challenged. This could probably even prevent the necessity to print twice as many ballots as necessary.
Your 'friend' has already screwed up. ( sorry to put it that baldly, but he has ) He was hired to deal with security issues, not legal ones. He never should have discussed client notification with them. When he starts expressing opinions about that, he is way outside of what he contracted to do. He may not have recognized this breach of manners, but, I assure you, they have.
Yes, everyone has a specific job to do and must not express any sentiment not directly related to that job. Shut up and keep shoveling bodies into the ovens.
People wonder how corporations can get away with so much these days...
jpeg compression is nontrivial. The guy(s) that came up with it should be able to make a living off their hard work.
JPEG compression is trivial. Split the file into 8x8 blocks, line the pixels up diagonally and take the DCT. Divide each value of the DCT by a value from the quantization matrix (which forces high frequency information into small ranges), and then compress with a huffman tree. It's definitely more trivial than, say, vorbis or theora. It's not even the state of the art in image compression anymore. 25 year patents are absolutely stupid.
As someone who has lived in "the cradle of liberty" for quite some time, it wouldn't surprise me if they started jamming.
The airlines can jam just as effectively, but my guess is that the airlines generally have much more pull than any individual airport. As far as I know, the airlines are the customers and rent gates at the airports, so conflict between them will probably just go in favor of the airlines.
Unfortunately, the airlines will probably just start charging for wireless internet like they charge for airplane food. They just want to undercut the airports first.
I think things like pay, benefits, location, etc. matter far more to the vast majority of techies than merely "working on a prominent website." After all, in today's world, prominent websites come and go in a matter of months.
As someone pointed out before, people trying to hire the top 90% or 95% of employees had better be willing to provide salaries and benefits in the top 90% to 95% as well.
So, you're saying that if I spend a year of my free time creating a fantasy game, complete with a new and unique world with its own history, events, species, characters, etc., and release that game for retail download from my website, according to you I have no right whatsoever to complain if someone else simply copies my work and tries to sell it themselves?
If there were no copyright laws, there wouldn't be any incentive for someone else to "steal" your work and sell it. In fact, they'd just save you money by paying the bandwidth bills for distributing your work. So, how could you be compensated for your work? You could create an open environment where other artists were free to add content to your game for you to enjoy, or you could just ask for donations from people who liked it. Freeloaders may be prevalent, but as the Internet and cassette tapes have proved, freeloaders will *always* be freeloaders. The percentage of would-be freeloaders who buy things simply because of copyright law is vanishingly small. There are plenty of honest people who will support the artists they like, and they would pay for it based on social mores, not copyright law. As long as there is healthy respect for artists (and NOT the distribution middlemen currently selling content), there will be plenty of money for artists.
The thing is, no one is going to care whether an address comes up green or white. If they ever start caring, no one is going to buy the cheap certificates anyway. This is just a mandated price increase by Verisign, or a moot point. Why not just stick CAcert's root certificate in Firefox and be done with it?
Why is this so hard to understand? You do not have the right to defame others simply because you believe yourself to be anonymous on the Internet. Not only are you not anonymous, but the legal system can most assuredly find you and exact penalties for misbehavior. And, frankly, it's about time the legal system catch up and bust a few folks who have been abusing message boards for fraudulent purposes, irresponsible anonymous claims, or even just sick kicks.
Note to self: When performing ad hominen attacks, *always* word them as failures of proof. "I have no evidence that this person is not a fraud and I have no reason to trust them" is just as damaging but very different from saying "This person is a fraud, and can't be trusted." By putting the burdon of proving their innocence on the victim, any argument can be made to sound both reasonable and stronger than any possible defense. Never say someone is lying, just imply very strongly that there is no proof that they are telling the truth, and qualify all beliefs as such without making absolute statements. Now I can go into politics!
Chemical weapons are essentially only useful on human targets. Bombs are at least able to destroy infrastruture and equipment.
There are numerous anti-personnel bombs. Basically any cluster munition with fragmentation into small shrapnel is only useful against human targets. Poking little holes in machinery rarely does much long term damage. The fuel air bombs the U.S. dropped on Afghanistan caves were directed primarily at human targets as well. Don't forget that war is still primarily about removing the human adversary since it's often the easiest to remove and the most effective. Destroying infrastructure is often a secondary goal when fighting guerilla warriors because they don't need much of the infrastructure, but the remaining civilians do.
The best way that search could get better in my opinion is to introduce some kind of filtering on the type of organisation that produces the pages you are searching for. Google already does a bit of this with Google Scholar. But we need something far more general, and more to the point, a facility for excluding results of particular types, e.g. blogs, sites trying to sell something,...?
Two words: "-buy -blog"
Modify to suit your every exclusion need. Perhaps Google could just add an option to the preferences to add a list of exclusions to every search or something.
What makes you think that Microsoft doesn't intend for people to not be able to swap motherboards? I would imagine that it is fully intentional. Prove me wrong. Keep in mind that any "consequences" that come with Microsoft's new anti-piracy scheme are probably well known by Microsoft and acceptable problems. That's what beta testing for this long is for.
The way I see it, they're screwed anyway. You want to pirate your copy of Windows? Just run it in VMWare. You can clone off a thousand copies without Windows being able to tell any difference between the systems. This anti-piracy feature will just push piracy into the virtual machine layer and annoy people running it on physical hardware. Look for VMWare to be bought or threatened into implementing DRM of some sort in the near future.
Hmm, my guess is that the white noise generator is practically worthless between the panes. The first pane will reflect a certain percentage of the laser, and the second pane will reflect another percentage of the laser. Subtract the two reflected signals, adjusting for the distance between the panes and the reflectance percentages, and the result will be the difference between sound on the inside and outside of the window minus the white noise. What might actually work is to attach a separate white noise generator to each plane to introduce echoes and interference that would be more difficult to filter out. In the end, given enough lasers and processing power my guess is that any white noise generation could be defeated. The trick is to always sample the white noise as close as possible to the generator, before it has been distorted, and then cancel it out at the point where the strongest "hidden" signal is available, but IANAS (I am not a spy).
Re:QoS (Quality of Service or crap for customers?)
on
IPv6 Essentials
·
· Score: 2, Interesting
However, VoIP services such as those offered by Time Warner, Comcast, and actual ISPs CAN be prioritized because the MTA in the customer's home gets it's own IP address, and we know all traffic from that block of addresses is VoIP, and thus gets priority!
Just a question, since you're on the inside. How feasible would it be to allow the customer to specify, say, 1% to 5% of their total bandwidth as QoS packets by setting the QoS flags in the IP header? That way they could use any service they wanted, whether it be Skype, bittorrent, email, or ssh and have their packets delivered faster. By only giving them a fraction of their total bandwidth available for QoS, you prevent download hogs from wasting QoS traffic for other users and avoid having to set up QoS specifically for each customer's application. The other idea I've had was to simply base QoS on the average amount of traffic from a given subscriber, so that a customer using VoIP, email, ssh, etc. would only use a small amount of bandwidth and thus have a higher priority than someone sucking down torrents as fast as they can.
For preventing buffer overflows, you will have to prove that some value being used as an array index is an integer in the range from 0 to the size of the buffer minus 1. In this case, the problem is to prove that the result is an integer in the range 1 to 1.
Generally, proofs for this are expressed as loop invariants inside of functions, and as predicates on the entry and exits of functions. If a function takes an array index as a parameter, there is a predicate that 0<=i<n, and it is the responsibility of the caller to prove this condition. If an array index is returned, the function must prove 0<=i<n before it returns. This can usually be done at compile/proof time, but if necessary dynamic runtime checks can be added to simplify the proofs. Proving that the 3n+1 problem halts or not is quite different from proving memory-safe array access.
Most type systems aren't expressive enough for these kinds of proofs, and those that are suffer from the halting problem. Either way, type checking doesn't cut it.
That depends on the proof system, I suppose. Proofs in LF for instance are always decidable via typechecking of the proof itself, so if a proof can be represented in a logic using LF, the halting problem will not hinder proof checking. LF can encode second order logic just fine, so I don't think there are any big limitations on what algorithms can be proved. Generating a proof may prove difficult or impossible for certain algorithms, but that is strictly due to our limited knowledge, not a limit in the logical framework.
Anyone can come up with a list of algorithms for which the answer to all inputs is unknown, of which the 3n+1 problem is one (so far). Even though we can't prove that the algorithm halts we can still prove that it's well typed, which in practical terms is much more important because it prevents buffer overflows and any number of other programming errors. In addition, we can also prove that the algorithm actually does solve the 3n+1 problem and not some similar but slightly different one. For instance, if you weren't using a LISP variant the algorithm would have to handle numbers larger than machine integers appropriately, especially because inputs within the machine integer range can easily grow much larger over the course of the algorithm.
Most software today only uses algorithms that halt with known time and space complexity, which makes software verification tractible in practice. The problem is that most programmers do not have the necessary training and experience to write proofs for complex programs, and are unable to simplify their programs into small provable functions and modules. Modern operating systems also impose a lower bound on the usefulness of correctness proofs because they have not been proved correct. Even if an operating system was proved correct, all the underlying hardware would need formal verification, and even then there would only be a statistical guarantee of correctness due to random uncorrectable hardware errors. At least it's always possible to increase the reliability of hardware with redundancy and error correcting techniques, but software needs to be formally verified at some point.
At best there'll be no response, but should they then pick up on our everyday TV the likely response is surely some form of uncrewed planet buster. I know I'd prefer not to leave a hornets nest like humanity brewing in any corner of my galaxy. No intelligence with a self-preservation process would.
If our planet is any indication, there is a very brief period where relatively simple intelligence exists with the ability to communicate across great distances and before superintelligence arises. Even if the singularity doesn't hit for 100 or 200 more years, that's still just 200 or 300 years that civilizations would be anywhere near equal in intelligence and capabilities. For two civilizations light years apart to synchronize their progress is highly unlikely. Either we're broadcasting at fish and plants, or the superintelligence that receives our messages either already knows about us or doesn't care.
Actually, quite the opposite. Considering that the IP industries are particularly inefficient in their production as protected entities, the economy as a whole _gains_ from the failure to enforce their monopoly priviliges.
Ah, but things like "the economy as a whole" don't actually exist, and the government certainly does not consider the good of "the economy" when it makes decisions. What the government really wants is low inflation rates, high tax rates, and high net income to apply the tax rate to. It's much more efficient for the government if money is shoveled through a few rich hands who pay their taxes on it and/or have it for lobbying purposes than if the money circulates in small local economies with little tax revenue skimmed off the top. Black markets and tax evaders have always been the bane of governments despite their obvious market efficiencies. You also have to remember that the government is composed primarily of upper middle class to filthy rich individuals who have a vested interest in the status quo of money flowing up the economy to the top.
Translation: The numbers made up by the industries are completely irrelvant, IP is merely a method of redistributing wealth to achieve a specific purpose, similar to taxes, and as such the only interesting measure is wether a) the money actually goes to it's intended recipient and b) wether it's an efficient use of resources.
The music and movie industries are basically acting like drug lords whose customers have suddenly figured out how to grow their own drugs safely and cheaply, even to the point of harassing and threatening their own customers and fighting anyone else who tries to sell on their turf. They've spent decades hooking everyone on their product, and they're used to the cushy income. It's a rather apt analogy, if I do say so myself. The only difference is that what they're doing is technically legal.
Why oh why won't Intel spend their research dollars on something useful, like a bus architecture that can actually keep up with present performance levels?
Maybe because 80 cores would have enough shared cache memory to do just about anything you'd need to do at high speed? Even at current 1M/core cache levels, 80MB of cache is more than a lot of programs use overall, and with increasing transistor density each core will probably have 4MB to 16MB of SRAM at L1 speeds. Not only that, but getting 80 cores to talk to each other and the peripherals will almost certainly require a better bus anyway.
It's my opinion that it's actually in our best interest to make sure that we either merge with AI, or that benevolent AI "take over" before our selfish monkey-brain fucks everything up with the increasingly powerful tech at our disposal.
Creating Friendly AI is a very interesting read on what kind of AI to build in order to avoid all the sci-fi problems associated with AIs run amok. The author doesn't say this, but I think the whole problem with the relationship between AI and humans boils down to whether Kant was right and you can build a "perfectly" rational being that will respect humanity in principle and not simply because we told it to do so when we built it.
Currently the "real world" has a lot more demand for the second group than the first, but that doesn't make either view more valid than the other. I think the proper thing to do is for colleges to split their Computer Science departments into two entities that give separate degrees. The first, being more properly a science, would retain the name Computer Science, while the other, being more of an Engineering discipline, would be given the name Software Engineering. Then students can choose for themselves which group they belong to. If I'm not mistaken a number of colleges already do that.
My guess is that splitting the degrees would just lengthen the degree for software engineers as they add on the extra courses to a full CS curriculum. I would hate to see core CS classes pulled from a 4 year software engineering degree in the name of expediency.
I don't know if it's at all related, but some people have a bump on the back of their head, and I've read before that those with the bump are generally more intelligent than those without. It has a name, can't remember, but I think it was some German word. I'm sure some slashdotter out there will be able to expand on this...
Disproof by anecdote: I have a bump on the back of my head but I don't know what it's called.
Nope. I just have to modify the CountVotes() method. That's where the important magic occurs anyhow.
But the CheckVoteAgainstCertificate() will always return the right answer.
The issue is that someone could change this code without anybody really noticing. It's not near as obvious as having two guards standing by a ballot box.
How do guards keep the manual vote counters from adjusting the final tally? The problem with changing the final vote tally in the cryptographic version is that the tally also has to be certified *before* the candidates and election officials get to inspect random votes. This means that at some point some of the values in the database must be wrong, e.g. either the value that the voter selected is misrepresented, or the final tally is not equal to the sum of all the individual votes. By spot checking a random selection of votes, the probability that a significant number of votes can be illegally modified quickly drops to zero after the square root of the number of votes have been spot checked. The more votes that are illegally modified, the easier it is to catch. In fact, since usually at least one tenth of a percentage point would need to be stolen votes, this implies that the probability of stealing the vote without being caught is 0.999^N, where the number of randomly checked votes, N, only needs to be 10000 or more to get at least a 99.99% certainty that the vote was valid, or rather that it wasn't swayed more than a tenth of a percentage point. Obviously it doesn't make sense to misrepresent the total count of the votes because the votes themselves are open to inspection in a randomly ordered list not associated with individual ballots, but still verifiable because of the commitments.
As long as the votes are stored in a computer, they can be easily manipulated at various points in the chain. Sure digital data can be very secure. In banking we make sure everything adds up correctly. But that's because if it's not, you are going to get a phone call from one of the two people involved in the transaction. "Why is there $600 less in my checking account?"
Actually, they can't be modified without invalidating the commitments generated *before* the election. As far as I can tell the commitments are secure HMACs (keyed hashes) of the initial data tables before the election to ensure that the permutation for the top and bottom ballot pieces are not changed afterward. The only place where data manipulation can occur is at the point where the voter chooses P3 in the system. If this value is recorded incorrectly, it must be detected by the voter looking the vote up online. The key insight is that with each additional voter checking his or her result online, the probability of being able to change a vote undetected drops exponentially, eventually becoming zero if more voters check their vote than n-k, where n is the total number of voters and k is the number of modified votes.
Just because you can verify your vote was counted correctly, says nothing about the anonymous abstainers (who typically outnumber voters by 3:1) in whose name votes may have been falsely cast by the cheating party but who by definition aren't going to check anything.
One possible solution is to photograph every voter after they vote. Require one photograph for every vote counted. This makes it obvious if someone is voting multiple times, which is necessary for ballot stuffing. No relationship between the ballot and photograph need exist, which would mean turning off timestamping on any cameras and ensuring that photographs do not include any clues as to when or how the voter voted, except an obvious sign that notes which election and district the photograph was taken in.
For each ballot, generate a cryptographically secure random nonce and store it at the election office for each ballot, indexed by the ballot's serial number. Generate the hash of D_4 || NONCE for each ballot and cryptographically sign it, then print it on the ballot. The secret nonce is required to prevent bruce forcing of the hash by enumerating the (small) set of values that D_4 could take. The signatures for all ballots should also be made available before the election to prove that all ballots were generated correctly, e.g. that any invalid ballot can be detected after the fact. The nonces, along with the D_4 values remain secret unless a ballot is challenged. This could probably even prevent the necessity to print twice as many ballots as necessary.
Your 'friend' has already screwed up. ( sorry to put it that baldly, but he has ) He was hired to deal with security issues, not legal ones. He never should have discussed client notification with them. When he starts expressing opinions about that, he is way outside of what he contracted to do. He may not have recognized this breach of manners, but, I assure you, they have.
Yes, everyone has a specific job to do and must not express any sentiment not directly related to that job. Shut up and keep shoveling bodies into the ovens.
People wonder how corporations can get away with so much these days...
jpeg compression is nontrivial. The guy(s) that came up with it should be able to make a living off their hard work.
JPEG compression is trivial. Split the file into 8x8 blocks, line the pixels up diagonally and take the DCT. Divide each value of the DCT by a value from the quantization matrix (which forces high frequency information into small ranges), and then compress with a huffman tree. It's definitely more trivial than, say, vorbis or theora. It's not even the state of the art in image compression anymore. 25 year patents are absolutely stupid.
As someone who has lived in "the cradle of liberty" for quite some time, it wouldn't surprise me if they started jamming.
The airlines can jam just as effectively, but my guess is that the airlines generally have much more pull than any individual airport. As far as I know, the airlines are the customers and rent gates at the airports, so conflict between them will probably just go in favor of the airlines.
Unfortunately, the airlines will probably just start charging for wireless internet like they charge for airplane food. They just want to undercut the airports first.
I think things like pay, benefits, location, etc. matter far more to the vast majority of techies than merely "working on a prominent website." After all, in today's world, prominent websites come and go in a matter of months.
As someone pointed out before, people trying to hire the top 90% or 95% of employees had better be willing to provide salaries and benefits in the top 90% to 95% as well.
So, you're saying that if I spend a year of my free time creating a fantasy game, complete with a new and unique world with its own history, events, species, characters, etc., and release that game for retail download from my website, according to you I have no right whatsoever to complain if someone else simply copies my work and tries to sell it themselves?
If there were no copyright laws, there wouldn't be any incentive for someone else to "steal" your work and sell it. In fact, they'd just save you money by paying the bandwidth bills for distributing your work. So, how could you be compensated for your work? You could create an open environment where other artists were free to add content to your game for you to enjoy, or you could just ask for donations from people who liked it. Freeloaders may be prevalent, but as the Internet and cassette tapes have proved, freeloaders will *always* be freeloaders. The percentage of would-be freeloaders who buy things simply because of copyright law is vanishingly small. There are plenty of honest people who will support the artists they like, and they would pay for it based on social mores, not copyright law. As long as there is healthy respect for artists (and NOT the distribution middlemen currently selling content), there will be plenty of money for artists.
The thing is, no one is going to care whether an address comes up green or white. If they ever start caring, no one is going to buy the cheap certificates anyway. This is just a mandated price increase by Verisign, or a moot point. Why not just stick CAcert's root certificate in Firefox and be done with it?
I hear there are some good arrangements to be had for people in your situation.
Why is this so hard to understand? You do not have the right to defame others simply because you believe yourself to be anonymous on the Internet. Not only are you not anonymous, but the legal system can most assuredly find you and exact penalties for misbehavior. And, frankly, it's about time the legal system catch up and bust a few folks who have been abusing message boards for fraudulent purposes, irresponsible anonymous claims, or even just sick kicks.
Note to self: When performing ad hominen attacks, *always* word them as failures of proof. "I have no evidence that this person is not a fraud and I have no reason to trust them" is just as damaging but very different from saying "This person is a fraud, and can't be trusted." By putting the burdon of proving their innocence on the victim, any argument can be made to sound both reasonable and stronger than any possible defense. Never say someone is lying, just imply very strongly that there is no proof that they are telling the truth, and qualify all beliefs as such without making absolute statements. Now I can go into politics!
Chemical weapons are essentially only useful on human targets. Bombs are at least able to destroy infrastruture and equipment.
There are numerous anti-personnel bombs. Basically any cluster munition with fragmentation into small shrapnel is only useful against human targets. Poking little holes in machinery rarely does much long term damage. The fuel air bombs the U.S. dropped on Afghanistan caves were directed primarily at human targets as well. Don't forget that war is still primarily about removing the human adversary since it's often the easiest to remove and the most effective. Destroying infrastructure is often a secondary goal when fighting guerilla warriors because they don't need much of the infrastructure, but the remaining civilians do.
The best way that search could get better in my opinion is to introduce some kind of filtering on the type of organisation that produces the pages you are searching for. Google already does a bit of this with Google Scholar. But we need something far more general, and more to the point, a facility for excluding results of particular types, e.g. blogs, sites trying to sell something, ...?
Two words: "-buy -blog"
Modify to suit your every exclusion need. Perhaps Google could just add an option to the preferences to add a list of exclusions to every search or something.
What makes you think that Microsoft doesn't intend for people to not be able to swap motherboards? I would imagine that it is fully intentional. Prove me wrong. Keep in mind that any "consequences" that come with Microsoft's new anti-piracy scheme are probably well known by Microsoft and acceptable problems. That's what beta testing for this long is for.
The way I see it, they're screwed anyway. You want to pirate your copy of Windows? Just run it in VMWare. You can clone off a thousand copies without Windows being able to tell any difference between the systems. This anti-piracy feature will just push piracy into the virtual machine layer and annoy people running it on physical hardware. Look for VMWare to be bought or threatened into implementing DRM of some sort in the near future.
Hmm, my guess is that the white noise generator is practically worthless between the panes. The first pane will reflect a certain percentage of the laser, and the second pane will reflect another percentage of the laser. Subtract the two reflected signals, adjusting for the distance between the panes and the reflectance percentages, and the result will be the difference between sound on the inside and outside of the window minus the white noise. What might actually work is to attach a separate white noise generator to each plane to introduce echoes and interference that would be more difficult to filter out. In the end, given enough lasers and processing power my guess is that any white noise generation could be defeated. The trick is to always sample the white noise as close as possible to the generator, before it has been distorted, and then cancel it out at the point where the strongest "hidden" signal is available, but IANAS (I am not a spy).
However, VoIP services such as those offered by Time Warner, Comcast, and actual ISPs CAN be prioritized because the MTA in the customer's home gets it's own IP address, and we know all traffic from that block of addresses is VoIP, and thus gets priority!
Just a question, since you're on the inside. How feasible would it be to allow the customer to specify, say, 1% to 5% of their total bandwidth as QoS packets by setting the QoS flags in the IP header? That way they could use any service they wanted, whether it be Skype, bittorrent, email, or ssh and have their packets delivered faster. By only giving them a fraction of their total bandwidth available for QoS, you prevent download hogs from wasting QoS traffic for other users and avoid having to set up QoS specifically for each customer's application. The other idea I've had was to simply base QoS on the average amount of traffic from a given subscriber, so that a customer using VoIP, email, ssh, etc. would only use a small amount of bandwidth and thus have a higher priority than someone sucking down torrents as fast as they can.
For preventing buffer overflows, you will have to prove that some value being used as an array index is an integer in the range from 0 to the size of the buffer minus 1. In this case, the problem is to prove that the result is an integer in the range 1 to 1.
Generally, proofs for this are expressed as loop invariants inside of functions, and as predicates on the entry and exits of functions. If a function takes an array index as a parameter, there is a predicate that 0<=i<n, and it is the responsibility of the caller to prove this condition. If an array index is returned, the function must prove 0<=i<n before it returns. This can usually be done at compile/proof time, but if necessary dynamic runtime checks can be added to simplify the proofs. Proving that the 3n+1 problem halts or not is quite different from proving memory-safe array access.
Most type systems aren't expressive enough for these kinds of proofs, and those that are suffer from the halting problem. Either way, type checking doesn't cut it.
That depends on the proof system, I suppose. Proofs in LF for instance are always decidable via typechecking of the proof itself, so if a proof can be represented in a logic using LF, the halting problem will not hinder proof checking. LF can encode second order logic just fine, so I don't think there are any big limitations on what algorithms can be proved. Generating a proof may prove difficult or impossible for certain algorithms, but that is strictly due to our limited knowledge, not a limit in the logical framework.
Anyone can come up with a list of algorithms for which the answer to all inputs is unknown, of which the 3n+1 problem is one (so far). Even though we can't prove that the algorithm halts we can still prove that it's well typed, which in practical terms is much more important because it prevents buffer overflows and any number of other programming errors. In addition, we can also prove that the algorithm actually does solve the 3n+1 problem and not some similar but slightly different one. For instance, if you weren't using a LISP variant the algorithm would have to handle numbers larger than machine integers appropriately, especially because inputs within the machine integer range can easily grow much larger over the course of the algorithm.
Most software today only uses algorithms that halt with known time and space complexity, which makes software verification tractible in practice. The problem is that most programmers do not have the necessary training and experience to write proofs for complex programs, and are unable to simplify their programs into small provable functions and modules. Modern operating systems also impose a lower bound on the usefulness of correctness proofs because they have not been proved correct. Even if an operating system was proved correct, all the underlying hardware would need formal verification, and even then there would only be a statistical guarantee of correctness due to random uncorrectable hardware errors. At least it's always possible to increase the reliability of hardware with redundancy and error correcting techniques, but software needs to be formally verified at some point.
At best there'll be no response, but should they then pick up on our everyday TV the likely response is surely some form of uncrewed planet buster. I know I'd prefer not to leave a hornets nest like humanity brewing in any corner of my galaxy. No intelligence with a self-preservation process would.
If our planet is any indication, there is a very brief period where relatively simple intelligence exists with the ability to communicate across great distances and before superintelligence arises. Even if the singularity doesn't hit for 100 or 200 more years, that's still just 200 or 300 years that civilizations would be anywhere near equal in intelligence and capabilities. For two civilizations light years apart to synchronize their progress is highly unlikely. Either we're broadcasting at fish and plants, or the superintelligence that receives our messages either already knows about us or doesn't care.
Actually, quite the opposite. Considering that the IP industries are particularly inefficient in their production as protected entities, the economy as a whole _gains_ from the failure to enforce their monopoly priviliges.
Ah, but things like "the economy as a whole" don't actually exist, and the government certainly does not consider the good of "the economy" when it makes decisions. What the government really wants is low inflation rates, high tax rates, and high net income to apply the tax rate to. It's much more efficient for the government if money is shoveled through a few rich hands who pay their taxes on it and/or have it for lobbying purposes than if the money circulates in small local economies with little tax revenue skimmed off the top. Black markets and tax evaders have always been the bane of governments despite their obvious market efficiencies. You also have to remember that the government is composed primarily of upper middle class to filthy rich individuals who have a vested interest in the status quo of money flowing up the economy to the top.
Translation: The numbers made up by the industries are completely irrelvant, IP is merely a method of redistributing wealth to achieve a specific purpose, similar to taxes, and as such the only interesting measure is wether a) the money actually goes to it's intended recipient and b) wether it's an efficient use of resources.
The music and movie industries are basically acting like drug lords whose customers have suddenly figured out how to grow their own drugs safely and cheaply, even to the point of harassing and threatening their own customers and fighting anyone else who tries to sell on their turf. They've spent decades hooking everyone on their product, and they're used to the cushy income. It's a rather apt analogy, if I do say so myself. The only difference is that what they're doing is technically legal.
Why oh why won't Intel spend their research dollars on something useful, like a bus architecture that can actually keep up with present performance levels?
Maybe because 80 cores would have enough shared cache memory to do just about anything you'd need to do at high speed? Even at current 1M/core cache levels, 80MB of cache is more than a lot of programs use overall, and with increasing transistor density each core will probably have 4MB to 16MB of SRAM at L1 speeds. Not only that, but getting 80 cores to talk to each other and the peripherals will almost certainly require a better bus anyway.
It's my opinion that it's actually in our best interest to make sure that we either merge with AI, or that benevolent AI "take over" before our selfish monkey-brain fucks everything up with the increasingly powerful tech at our disposal.
Creating Friendly AI is a very interesting read on what kind of AI to build in order to avoid all the sci-fi problems associated with AIs run amok. The author doesn't say this, but I think the whole problem with the relationship between AI and humans boils down to whether Kant was right and you can build a "perfectly" rational being that will respect humanity in principle and not simply because we told it to do so when we built it.