No, xor won't work. Consider the case where the values for a bit in the three different inputs are 1, 1, and 0. 1 xor 1 is 0, and 0 xor 0 is 0, so ((a XOR b) XOR c) or any other way of xoring them together gives you 0, not 1. What you really want is a three way function that is true if at least two of its inputs are true. That would be something like a bitwise ((a AND b) OR (a AND c) OR (b AND c)). There's probably a cleverer way of doing it, but I can't think of it off the top of my head.
I'm inclined to think that programming- or at least the vast majority of programming- is craft rather than art. The essential difference is that art is itended as a form of communication with others, while craft is primarily functional. In programming, the functional necessity of the job at hand tends to overwhelm the expression of the programmer.
Wait a second. Are you suggesting that Amazon.com is a good place to sell books? That's amazing. If you didn't know better, you'd think that the site was designed to do just that.
This creates a dilemma - if you are a CA taxpayer who made any out-of-state purchases (mail, telephone, online), you probably owe CA use tax. But most people I know put "0" on this line - and thus committed fraud when they signed the declaration line at the end of their tax form.
I don't know about you, but I did my very best to put an accurate number on that line because I always do my best to be honest when doing my taxes. Putting a "0" on that line because you can't be bothered to be honest is just as wrong as lying about anything else on your taxes.
If I buy something from another state and have it shipped to me, I agree that it probably is an undue burden to force the vendor to collect taxes or me to pay after the fact.
I'm not at all sure that's true either way. Most online stores already have to calculate sales tax for in-state customers, so it doesn't seem like an enormous leap for them to have to calculate it for their out-of-state customers, too. This is exactly the kind of thing that should be built in to common e-commerce apps.
Even requiring customers to calculate their own use taxes after the fact isn't unreasonably difficult. Since California has started cracking down (and I've started ordering more goods over the net) I've been doing this every year with my income taxes. It's simply a matter of saving my invoice emails every time I buy something, printing them out, and adding up the totals. It takes me maybe one hour at tax time, and certainly isn't an enormous burden.
since the mac came out, and even before, apple has been using revenue from hardware sales to support os development. if millions of home users stampede to emachines discount boxes for their os x platform then, apple's real source of revenue will dissappear.
I don't think that's really true. Balancing the possible loss of hardware profits is the potential gain of enormous software profits. Think about how many people right now are incredibly frustrated with Windows viruses and spyware. Many of those people would be eager to shell out good money for a highly functional, good looking OS that doesn't suffer from those problems, and Apple is in a perfect position to sell it to them. Apple has a real chance to increase their OS market share by an order of magnitude, and the potential profits from that are far greater than any loss of hardware revenue they'd be likely to suffer.
I think that the real problem is that Microsoft would crush Apple like a bug if they tried. Any OS is only as good as the applications it runs, and OSX still depends heavily on Microsoft applications like Office. Microsoft has only to let the release of Office for OSXi slip indefinitely to destroy its market. It doesn't even matter that Microsoft would easily lose Apple's inevitable anti-trust suit, since both sides know that the company would be long dead before any final judgment. Apple will never go head to head with Windows as long as Microsoft is holding a gun to their head.
And here's the definition of terrorism. Think "direct action activism".
So which of these exactly do you consider to be part of legitimate "direct action activism"? As far as I can see, all of those things are exactly the kinds of things that we would normally associate with terrorism- hijacking, kidnapping for political reasons, attacking high government officials, assassination, and use of weapons of mass destruction. The only thing on that list that might even possibly be considered legitimate is an attack causing substantial damage to property under (V)(a), and at best that's at the very edge of legitimate activism.
I think you mean Pu-239 since 92% of that by atom percent is "weapons grade."
Nope, he got it essentially correct. 238U won't sustain a chain reaction, but it will fission if it's hit by a high energy neutron. Because D-D and D-T fusion produce large numbers of neutrons, this means that 238U placed near the fusion part of the bomb will undergo fast fission and add to the bomb's yield. Since the fusion tamper needs to be made of a dense, high atomic number material anyway, using Uranium for the tamper increases the yield essentially for free. The only reasons not to use Uranium for the tamper are to reduce fallout (since the fast fission produces lots of secondary radioactives) or to maximize the amount of fast neutron radiation that the bomb produces (which is the principle behind the "neutron" bomb). Some bomb designs apparently use moderately enriched Uranium rather than natural or depleted Uranium because it helps the yield, but AFAIK none of them use 239Pu for this.
Also throw in the fact that you must get the Plutonium-240 out of the PU-239, or it will prematurely detonate and all you're left with is a fizzle, not a true bomb.
It appears that the effect of 240Pu has been overstated. The Nuclear Weapon Archive (in section 6.2.2.10, discussing reactor grade plutonium as a weapons material) suggests that the designation of low 240Pu plutonium as "weapons grade" reflects primarily economic concerns rather than strict weapons designs ones. It reports that a Fat Man design using reactor grade Pu (~24% 240Pu) would still have a likely yield of about 0.5 kt. That's obviously quite a reduction from the actual yield, but it would still be capable of causing catastrophic damage in a terrorist attack. A more sophisticated implosion design could boost the yield by as much as an order of magnitude, and fusion boosting (which is admittedly quite sophisticated and likely to be beyond the "crude" terrorist bomb) would essentially eliminate predetonation as a problem.
Sorry, but that site isn't even close to "everything you might need to know" about building a Bomb. That's more like the 5 minute capsule summary. If you really want to know everything about building a Bomb but don't want to get a security clearance, the best place to look is Carey Sublette's Nuclear Weapon Archive. It's amazing just how much non-classified information it contains.
Is it just me, or do the numbers not add up? On the one hand, this:
Currently, about one-third of software used is illegally made copies.... Worldwide revenue loss due to software piracy was estimated at $33 billion for 2004.
seems to suggest that the worldwide market is about $100 billion dollars per year. On the other hand, this:
But within five years, that number could boom to two-thirds, with the value of pirated software nearing US$200 billion.
says that they're expecting it to be worth about $300 billion in just five years. Are they really suggesting that the worldwide market is going to triple that quickly? There are really only two things that could cause the market value to grow that fast: increased hardware sales or increased prices. I don't see Intel or AMD planning on tripling sales over the next five years, so I have to assume that most of that growth is expected to come from massively increased prices. Is it any wonder that piracy would be likely to grow, too?
Java 1.5, which isn't available on many platforms for which Python, Perl, C++, Ruby, Objective-C, and C are all available?
For all that Sun talks about "Write once, run anywhere", Java (or at least the very latest, greatest version of Java, which is what the OO.o authors are being criticized for using) has poor cross-platform support. If you want to run on, say, Linux for PPC, FreeBSD, OpenVMS, or a whole host of other systems that have excellent support for many other languages, you're out of luck. Sun whould be more honest to say "Write once, run where we let you."
Its a programming language... As long as the code is open source, then why not use it?
It doesn't do any good to have open source software if it requires a closed source VM to run. You're still at the mercy of whoever controls the VM. If they decide to pull your license (as Sun did to FreeBSD) then you're no longer allowed to use your own software. You can't build Free Software on a non-Free foundation.
Do you care if someone hears you discussing the newest Family Guy episode at the office, or hears you say "Hi" to your coworkers? No. So why should you be concerned if you're transmitting SYN/ACK or a comment to Slashdot in a relatively clear manner?
That depends on how paranoid you are. If most of your messages are unencrypted, then the few encrypted ones stand out. Selective encryption is like putting a big sign on the encrypted messages telling eavesdroppers that they're worth listening to. If you encrypt everything (and run in through a good anonymizer proxy), then somebody who wants to monitor you has to decrpyt all your Family Guy discussions to find your few subversive messages. If you're really worried about security, you might want to keep up a high backround level of meaningless messages, which would both increase a listener's decryption load and help to foil attempts at traffic analysis.
Unless that final paycheque is big, BIG bucks - walk out the door and don't come back.
Before doing that, it would probably be wise to double check to see if the boss even has the power to withhold the pay. I know that at my workplace the boss isn't directly involved in writing paychecks, so he would need to jump through some hoops to get the check withheld. If the OP's employer works the same way, a quick trip to HR could nullify the boss's threats quite easily.
then, in the body of the method anytime i do something that i feel isn't completely obvious, i put a 1 or 2 liner infront of, i.e. "we have to do this because zergs are sensitive"
I find that this is particularly important when making bug fixes and dealing with corner cases. Those are things that you didn't consider when first coding, so somebody who looks at the code for the first time and is thinking only of the obvious cases is likely to think that they're superfluous. If you don't include a comment explaining the strange case you're dealing with, some future maintainer is a lot more likely to tear out your carefully crafted bug fix because he doesn't see the point of it.
Comments are especially helpful when you're parsing a complicated piece of data, like text files that are supposed to be human readable. That kind of work can be essentially all special cases, so it needs more documentation. I like to include example data in my comments because it makes the code much easier to follow.
Oh, man, how old are you ?:D It's from Guns'n'Roses' Civil War, "what we've got here is failure to communicate, some men you just can't reach" and so on.
And how old are you? Guns'n'Roses took the quote from that all-time classic movie, Cool Hand Luke.
But CA isn't just saying that they want Linus to work on a specific area. They're saying that they want him to give up working on other areas in order to devote all of his attention to their interests. As long as CA is only paying a fraction of his salary- and as far as I can tell it's a quite small fraction- they should only have the right to dictate what he does with a fraction of his time.
The one thing I've never liked about the GPL was that it gave the same rights to a for-profit business as to a fellow hobbyist. I'm more than glad to share my code with a fellow, who like me, is coding for the love of it. I'm a bit less happy to share with someone who just sees my uncompensated work as a way for him to parasite off it.
But how about sharing it with a multinational company that is able to throw massive resources into helping you to develop your program? If you shut out all companies you shut out the freeloaders, but you also shut out companies that would otherwise be helping your project. The Linux kernel isn't mostly the work of hobbyists, and it hasn't been for a long time. For many years Linus worked for Transmeta, who hired him in part because they wanted to use Linux with their chips, and now he works for OSDL, which is funded by big corporate Linux users. Alan Cox works for Red Hat. Marcello Tostatti works for Conectiva (now Mandriva or whatever they're calling it). The list goes on and on.
And then there are the direct corporate code contributions. SGI has contributed XFS and a lot of work on NUMA. IBM has contributed a boatload of code including JFS, NUMA, and RCU, and they've tried to contribut more things that were eventually passed up because others came up with better solutions. Namesys developed ReiserFS. Many vendors have contributed drivers for their hardware. The Linux kernel wouldn't be nearly what it is today if those companies hadn't been contributing.
The key thing to understand is that freeloaders don't actually cost anything, except for the bandwidth they use for downloads, but contributors help to build the software. It's smart to let anyone use the software because then anyone can be a contributor. Help from the IBMs and Red Hats of the corporate world more than pays for all the freeloaders.
My concern, though, is that Linux, while acceptable now, will take the bloat route that KDE and GNOME have.
That seems unlikely. Embedded Linux is a big deal, and embedded systems are far more squeezed for memory than even quite old desktop systems. That keeps pressure on Linus and Co. to keep the compiled kernel (though not the sources) from getting too bloated. If you read summaries of the LKML (like Kernel Traffic) you'll find that there is a set of developers who are constantly looking for ways of trimming fat out of the kernel. There's also some pressure from the high performance end, since a slow, bloated kernel will steal memory and processor cycles from running applications. Between those two groups, there's enough pressure that we can reasonably hope for the kernel itself to resist excessive bloat.
Which is exactly what Andrew Morton said. I think that the underlying issue is a human resources one. CA wants Linus and Andrew to spend all of their time working on "Enterprise" features and none of it on things like improving Linux's real-time performance and integrating drivers for non-server hardware. I think that they're being selfish and unreasonable, but that seems to be par for the course for CA.
I suspect that classified drives are still destroyed much more thoroughly than this.
I'll bet that a little bit of thermite would do the job nicely. Or is that reserved for destroying everything in a hurry while your position is being overrun?
They're actually very handy in a lab environment. At my work there's a computer that's for taking pictures of gels that have been stained with Ethidium Bromide, a very nasty mutagen. (Ethidium Bromide binds to DNA, which makes it both useful and dangerous.) We got one of those washable keyboards so that we could clean it after people contaminated it. I wouldn't be surprised if they're also used in environments were radioactive contamination is a worry.
Or implementing it in hardware so that you can do it with a single opcode.
No, xor won't work. Consider the case where the values for a bit in the three different inputs are 1, 1, and 0. 1 xor 1 is 0, and 0 xor 0 is 0, so ((a XOR b) XOR c) or any other way of xoring them together gives you 0, not 1. What you really want is a three way function that is true if at least two of its inputs are true. That would be something like a bitwise ((a AND b) OR (a AND c) OR (b AND c)). There's probably a cleverer way of doing it, but I can't think of it off the top of my head.
I'm inclined to think that programming- or at least the vast majority of programming- is craft rather than art. The essential difference is that art is itended as a form of communication with others, while craft is primarily functional. In programming, the functional necessity of the job at hand tends to overwhelm the expression of the programmer.
Wait a second. Are you suggesting that Amazon.com is a good place to sell books? That's amazing. If you didn't know better, you'd think that the site was designed to do just that.
I don't know about you, but I did my very best to put an accurate number on that line because I always do my best to be honest when doing my taxes. Putting a "0" on that line because you can't be bothered to be honest is just as wrong as lying about anything else on your taxes.
I'm not at all sure that's true either way. Most online stores already have to calculate sales tax for in-state customers, so it doesn't seem like an enormous leap for them to have to calculate it for their out-of-state customers, too. This is exactly the kind of thing that should be built in to common e-commerce apps.
Even requiring customers to calculate their own use taxes after the fact isn't unreasonably difficult. Since California has started cracking down (and I've started ordering more goods over the net) I've been doing this every year with my income taxes. It's simply a matter of saving my invoice emails every time I buy something, printing them out, and adding up the totals. It takes me maybe one hour at tax time, and certainly isn't an enormous burden.
I don't think that's really true. Balancing the possible loss of hardware profits is the potential gain of enormous software profits. Think about how many people right now are incredibly frustrated with Windows viruses and spyware. Many of those people would be eager to shell out good money for a highly functional, good looking OS that doesn't suffer from those problems, and Apple is in a perfect position to sell it to them. Apple has a real chance to increase their OS market share by an order of magnitude, and the potential profits from that are far greater than any loss of hardware revenue they'd be likely to suffer.
I think that the real problem is that Microsoft would crush Apple like a bug if they tried. Any OS is only as good as the applications it runs, and OSX still depends heavily on Microsoft applications like Office. Microsoft has only to let the release of Office for OSXi slip indefinitely to destroy its market. It doesn't even matter that Microsoft would easily lose Apple's inevitable anti-trust suit, since both sides know that the company would be long dead before any final judgment. Apple will never go head to head with Windows as long as Microsoft is holding a gun to their head.
So which of these exactly do you consider to be part of legitimate "direct action activism"? As far as I can see, all of those things are exactly the kinds of things that we would normally associate with terrorism- hijacking, kidnapping for political reasons, attacking high government officials, assassination, and use of weapons of mass destruction. The only thing on that list that might even possibly be considered legitimate is an attack causing substantial damage to property under (V)(a), and at best that's at the very edge of legitimate activism.
Duh. Somebody poured hot grits down them. Every /.er should know that.
Nope, he got it essentially correct. 238U won't sustain a chain reaction, but it will fission if it's hit by a high energy neutron. Because D-D and D-T fusion produce large numbers of neutrons, this means that 238U placed near the fusion part of the bomb will undergo fast fission and add to the bomb's yield. Since the fusion tamper needs to be made of a dense, high atomic number material anyway, using Uranium for the tamper increases the yield essentially for free. The only reasons not to use Uranium for the tamper are to reduce fallout (since the fast fission produces lots of secondary radioactives) or to maximize the amount of fast neutron radiation that the bomb produces (which is the principle behind the "neutron" bomb). Some bomb designs apparently use moderately enriched Uranium rather than natural or depleted Uranium because it helps the yield, but AFAIK none of them use 239Pu for this.
It appears that the effect of 240Pu has been overstated. The Nuclear Weapon Archive (in section 6.2.2.10, discussing reactor grade plutonium as a weapons material) suggests that the designation of low 240Pu plutonium as "weapons grade" reflects primarily economic concerns rather than strict weapons designs ones. It reports that a Fat Man design using reactor grade Pu (~24% 240Pu) would still have a likely yield of about 0.5 kt. That's obviously quite a reduction from the actual yield, but it would still be capable of causing catastrophic damage in a terrorist attack. A more sophisticated implosion design could boost the yield by as much as an order of magnitude, and fusion boosting (which is admittedly quite sophisticated and likely to be beyond the "crude" terrorist bomb) would essentially eliminate predetonation as a problem.
Sorry, but that site isn't even close to "everything you might need to know" about building a Bomb. That's more like the 5 minute capsule summary. If you really want to know everything about building a Bomb but don't want to get a security clearance, the best place to look is Carey Sublette's Nuclear Weapon Archive. It's amazing just how much non-classified information it contains.
Is it just me, or do the numbers not add up? On the one hand, this:
seems to suggest that the worldwide market is about $100 billion dollars per year. On the other hand, this:
says that they're expecting it to be worth about $300 billion in just five years. Are they really suggesting that the worldwide market is going to triple that quickly? There are really only two things that could cause the market value to grow that fast: increased hardware sales or increased prices. I don't see Intel or AMD planning on tripling sales over the next five years, so I have to assume that most of that growth is expected to come from massively increased prices. Is it any wonder that piracy would be likely to grow, too?
You forgot to mention:
For all that Sun talks about "Write once, run anywhere", Java (or at least the very latest, greatest version of Java, which is what the OO.o authors are being criticized for using) has poor cross-platform support. If you want to run on, say, Linux for PPC, FreeBSD, OpenVMS, or a whole host of other systems that have excellent support for many other languages, you're out of luck. Sun whould be more honest to say "Write once, run where we let you."
It doesn't do any good to have open source software if it requires a closed source VM to run. You're still at the mercy of whoever controls the VM. If they decide to pull your license (as Sun did to FreeBSD) then you're no longer allowed to use your own software. You can't build Free Software on a non-Free foundation.
That depends on how paranoid you are. If most of your messages are unencrypted, then the few encrypted ones stand out. Selective encryption is like putting a big sign on the encrypted messages telling eavesdroppers that they're worth listening to. If you encrypt everything (and run in through a good anonymizer proxy), then somebody who wants to monitor you has to decrpyt all your Family Guy discussions to find your few subversive messages. If you're really worried about security, you might want to keep up a high backround level of meaningless messages, which would both increase a listener's decryption load and help to foil attempts at traffic analysis.
Before doing that, it would probably be wise to double check to see if the boss even has the power to withhold the pay. I know that at my workplace the boss isn't directly involved in writing paychecks, so he would need to jump through some hoops to get the check withheld. If the OP's employer works the same way, a quick trip to HR could nullify the boss's threats quite easily.
I find that this is particularly important when making bug fixes and dealing with corner cases. Those are things that you didn't consider when first coding, so somebody who looks at the code for the first time and is thinking only of the obvious cases is likely to think that they're superfluous. If you don't include a comment explaining the strange case you're dealing with, some future maintainer is a lot more likely to tear out your carefully crafted bug fix because he doesn't see the point of it.
Comments are especially helpful when you're parsing a complicated piece of data, like text files that are supposed to be human readable. That kind of work can be essentially all special cases, so it needs more documentation. I like to include example data in my comments because it makes the code much easier to follow.
And how old are you? Guns'n'Roses took the quote from that all-time classic movie, Cool Hand Luke.
But CA isn't just saying that they want Linus to work on a specific area. They're saying that they want him to give up working on other areas in order to devote all of his attention to their interests. As long as CA is only paying a fraction of his salary- and as far as I can tell it's a quite small fraction- they should only have the right to dictate what he does with a fraction of his time.
But how about sharing it with a multinational company that is able to throw massive resources into helping you to develop your program? If you shut out all companies you shut out the freeloaders, but you also shut out companies that would otherwise be helping your project. The Linux kernel isn't mostly the work of hobbyists, and it hasn't been for a long time. For many years Linus worked for Transmeta, who hired him in part because they wanted to use Linux with their chips, and now he works for OSDL, which is funded by big corporate Linux users. Alan Cox works for Red Hat. Marcello Tostatti works for Conectiva (now Mandriva or whatever they're calling it). The list goes on and on.
And then there are the direct corporate code contributions. SGI has contributed XFS and a lot of work on NUMA. IBM has contributed a boatload of code including JFS, NUMA, and RCU, and they've tried to contribut more things that were eventually passed up because others came up with better solutions. Namesys developed ReiserFS. Many vendors have contributed drivers for their hardware. The Linux kernel wouldn't be nearly what it is today if those companies hadn't been contributing.
The key thing to understand is that freeloaders don't actually cost anything, except for the bandwidth they use for downloads, but contributors help to build the software. It's smart to let anyone use the software because then anyone can be a contributor. Help from the IBMs and Red Hats of the corporate world more than pays for all the freeloaders.
That seems unlikely. Embedded Linux is a big deal, and embedded systems are far more squeezed for memory than even quite old desktop systems. That keeps pressure on Linus and Co. to keep the compiled kernel (though not the sources) from getting too bloated. If you read summaries of the LKML (like Kernel Traffic) you'll find that there is a set of developers who are constantly looking for ways of trimming fat out of the kernel. There's also some pressure from the high performance end, since a slow, bloated kernel will steal memory and processor cycles from running applications. Between those two groups, there's enough pressure that we can reasonably hope for the kernel itself to resist excessive bloat.
Which is exactly what Andrew Morton said. I think that the underlying issue is a human resources one. CA wants Linus and Andrew to spend all of their time working on "Enterprise" features and none of it on things like improving Linux's real-time performance and integrating drivers for non-server hardware. I think that they're being selfish and unreasonable, but that seems to be par for the course for CA.
I'll bet that a little bit of thermite would do the job nicely. Or is that reserved for destroying everything in a hurry while your position is being overrun?
They're actually very handy in a lab environment. At my work there's a computer that's for taking pictures of gels that have been stained with Ethidium Bromide, a very nasty mutagen. (Ethidium Bromide binds to DNA, which makes it both useful and dangerous.) We got one of those washable keyboards so that we could clean it after people contaminated it. I wouldn't be surprised if they're also used in environments were radioactive contamination is a worry.