Imagine how secure your data would be if nobody knew where it was except you
Reminds me of of the US raid on Tehran. The special-warfare troopers were out in the middle of the desert, in a spot so remote nobody would be there looking for them... and they got discovered by a busload of people who stumbled across the area by virtue of getting lost.
Moral of the story: security through obscurity doesn't work. It's a numbers game, a calculated risk, and the risk involved is far higher than other more proactive forms of security.
Would you be willing to do all your online banking if your bank told you, "We don't bother to encrypt your financial records or firewall our system from malicious hackers--but don't worry! All the data is kept on a URL so obscure nobody will ever come across it!"
At Americanwicca.com, we make sure that our site is utterly secure by refusing to release details.
Speaking as a cryptographic engineer, I find this amazingly hilarious.:) Guess what--you just did release a detail. Namely, you said that your site's entire security is based around your refusal to release details. That means that you've just announced to the world:
"We think our site is utterly secure"
"We don't use any security measures to speak of"
"There's something we consider important at that site, otherwise we wouldn't feel the need for utter security"
To this utter naievete, your typical malicious attacker would respond with:
(convulsions of apopletic laughter--no site is "utterly secure")
"Sounds like an easy mark"
"Geez, they've got something they think is important AND they don't use any security except the general lack of knowledge of their site? What was the name of that place again?
... In other words, you're being just plain silly.
What's more than this is you're also lying.
At Americanwicca.com, we make sure that our site is utterly secure by refusing to release details.
No, you make sure your site is secure by locking down ports 21 and 23 for starters (telnet and mail). I know this because I just tried to telnet into them to see if they were open. So if security-through-obscurity is so darned good, why do you need to take the additional step of locking down your ports?
The answer is: because security through obscurity is a failed policy. Always has been, always will be. Locking down ports, on the other hand, is a smart and proactive policy.
The Constitution says nothing about the duration of copyrights and patents, except to say that they must be for "limited times". Originally, the term was well under 20 years, but that was a term set by Congress, not by the Constitution.
The United States was founded on a principle of intellectual property
In all the times I've read The Federalist Papers, I have yet to find a single passage that suggests intellectual property is one of the cornerstones of the Constitution. Would you please be so kind as to point out which essay it is that I've been missing?
It is a protected right by grant of the US Constitution
Laughably false. The intellectual-property provisions of the Constitution say that Congress may grant legal protections to IP. Contrast this to the Bill of Rights, which are phrased as absolute contructs--Congress shall not, will not, must not, cannot, etc.
That single word, may, says that IP is not a right. Period.
That is the only lawful, moral and ethical way to cause them financial harm
According to your morality, perhaps. But as Trent Castanaveras explained in The Long Run, there are really only a few ways to make someone change their behavior. You can persuade them; you can bribe them; you can threaten them; or you can steal from them.
Some people can't be persuaded; they're too blinded by their passions, their ideology, whatever, to listen to the sweet voice of Reason. Some people can't be bribed; they just don't put much emphasis on money, or they're already so wealthy that whatever you can offer them is insignificant. Some people can't be threatened; either they don't care about the pain, or they're so much stronger than you that you can't threaten them. But theft... theft is something which people must respond to. It's a Darwinian thing, hard-coded into our genes. The more resources we lose, the less fit we are to continue existence, thus, every creature seeks to minimize its loss of resources.
So when you're faced with an adversary who is doing something wrong, something which is affecting your own interests adversely, and you feel that things need to, must, change... well. Considering that the MPAA/RIAA doesn't listen to reason (look at the 2600 suit), we can't bribe them (they're already rich), we can't threaten them with legal action (they can afford lawyers, we can't), what other form of persuasion is left to us besides theft?
Not reckless theft. Not blind theft. Theft of the right things, in the right ways, at the right time. If the MPAA wants to enforce CSS, great; we circulate DeCSS and encourage people to rip copies of their CSS-scrambled movies. But if we were also to encourage people to rip copies of movies which are not CSS-scrambled (for instance, American Pie), then we would be sending the wrong message. If we respect the idea of IP ownership for technologies which respect us, and we openly subvert technologies which do not respect us, that sends a strong and clear message--if you respect us, this all will stop.
Illegal copying of CSS-scrambled and non-CSS scrambled movies would be punishment, nothing more. People don't respond well to punishment. Illegal copying of CSS-scrambled movies is negative reinforcement--"don't do this, do the other thing instead". Negative reinforcement works a lot better than punishment.
You are a parasite
And you're a blithering idiot for believing that IP is a Constitutionally-protected right.
All depends on your perspective. I know some mathematicians (largely older ones) who still stew over Goedel, because they feel that he broke the beauty and truth of mathematics. I know a great many QMech students (typically younger ones, who haven't quite wrapped their brains around the impossibilities of it) who find cats that are both dead and alive to be counterintuitive and contrafactual.
That being said, correct, neither example breaks their discipline (as in proving it wrong); both examples do break their discipline, though, in the context of shattering people's preconceptions of what can and cannot occur as a result of that theory.
As I said--when reality and theory conflict, smart money is on reality.
The theiving cartoon bear is not someone I'd have thought of as good quoting material, but maybe that's just me...
Yogi Berra, not Yogi Bear. Sometime baseball player, sometime commentator, and full-time professional mangler of the English language. He's the one who came up with such profundities as "nobody ever goes [to that nightclub] anymore, it's too crowded". When a colleague asked him what time it was, he asked "You mean right now?"
Perhaps most famously, when a reporter asked him how he comes up with all these great quotes, he answered with "I really didn't say all those things I said."
When his son, Dale Berra, was asked if he was going to continue his father's tradition of philosophically mangling the language, Dale Berra answered that "... the similarities between my father and me are really quite different".
Etc. Yogi Bear, the Hanna-Barbara cartoon, was inspired largely by Yogi Berra.
(If you couldn't tell, I'm a fan of Yogi Berra. Now, on to the rest of your email.)
Because if black holes existed then we'd end up with singularities at their centre which would violate physical laws by producing infinite discontinuities.
1. Find me a law which forbids infinite discontinuities. I've never been able to find one that says it can't happen. Philosophically, I find myself thinking that discontinuities are strongly implied by the nature of the cosmos.
2. Which laws do we end up violating if black holes exist? The cosmos is incapable of breaking its own laws--it can only break what laws we attempt to enforce upon it.
Any theory which breaks itself cannot be a valid theory outside of esoteric mathematical journals.
Never heard of quantum mechanics, have you? Schroedinger's Cat is a brilliant example of quantum mechanics breaking itself. Or, in mathematics, there's Goedel's Incompleteness Theorem, which broke all of mathematics in half and left mathematicians scurrying to pick up the pieces.
An essential part of any theory is falsifiability--that is to say, can this theory be proven wrong? Can this theory break itself? For relativity, it can be demonstrated wrong by showing that mass and energy are not equivalent, or that the speed of light is attainable by mass particles.
Already in the cosmos we see tantalizing hints that relativity is not the end-all be-all of the universe. Black holes are one of the places where, if you peer down the rabbit-hole for long enough, you see the inconsistencies in the theory.
But don't let that dissuade you; relativity correctly predicts 99.9% of the visible universe.
It may not be complete, but it's not wrong is it?
Relativity is absolutely wrong.
Look, Newton's physics correctly explained 99.9% of the phenomena of his day, too. Then people started to look at the precession of Mercury and discovered, hey, this doesn't mesh with Sir Isaac. Newtonian mechanics said Mercury would be in one place, and Mercury wasn't, and the difference between the two places was far greater than could be accounted for by observational error.
When theory and reality conflict... stake your money on reality.
Newtonian Mechanics is wrong. Absolutely, utterly, wrong. However, despite the fact that it's unarguably wrong, it's a very useful approximation of the real laws (whatever they are) for anything that's moving slower than 0.1c and isn't in a huge gravity well. But don't go about thinking that Newton is correct, when the reality is Newtonian physics is a mere useful approximation of reality.
Relativity is in the exact same boat. It's far and away better than Newtonian mechanics, but it's still an approximation of reality. In any approximation, there will be things that just aren't quite right.
... once you understand what the principles behind them are. And, of course, we don't understand the principles behind them, in large part because we've never had the opportunity to test our theories in the laboratory, nor the opportunity to see direct evidence of our theories in the heavens.
As Yogi Berra said, "In theory, there is no difference between theory and practice. In practice, there is."
Black holes certainly do follow basic physical laws; they follow much of the same laws that the rest of the cosmos follows. Inside the event horizon of a black hole, the laws of physics still apply just as they do outside the event horizon.
But if we don't know the laws outside the event horizon, it's hardly surprising to find that we can't tell what happens within, is it?
Einstein's theory of relativity is a brilliant stroke of genius, but it is not a complete theory. Forgetting that leads us down a path of scientific hubris, in believing that we've found the One True Law of the Cosmos.
its templatized nature leads to massive code bloat
Please show me a C++ snippet, using the STL, which demonstrates this "massive code bloat". While some C++ compilers are certainly atrocious (Solaris C++ comes to mind), the majority of them make small, fast code.
In the Red Hat 5.x days, C++ compiled to massive size due to an error in how Red Hat was set up--not due to an error in the compiler.
Seriously. Please show me a code snippet, using GCC-2.95 or later, which expands into a large executable. I'd like to see it, and so would the GCC maintainers.
I apologize; I thought that the difference was pretty implicit in what I wrote. To clarify:
Setting a bit: introducing information into a system.
Clearing a bit: erasing information from a system.
Introducing information to a system has no required energy, but the erasure of information does have a minimum energy.
If a byte has the value 0xFF, then in order to change it to 0x00 I have to erase eight bits of information before I can put in my new eight bits. (Note that most computers do the erase-and-overwrite in one step, but thermodynamically, they're two steps.) In other words, I blow eight bits of information away (which requires energy) and put a new octet in (which does not require energy).
Clearing the eight bits requires a minimum amount of energy given by kT (k = 1.38E-23 J/K, and T = 3.2K, the ambient temp of the universe). That's 4.42E-23 Joules per bit cleared.
Setting the bits? 0 Joules.
Again, this is all in the dimly-remembered past of my college physics. So take it with a grain of salt.:)
If I remember my college physics right, the laws of thermodynamics can be summed up as:
You can't win.
You can't break even.
You can't quit the game.
The First Law of Thermodynamics says that entropy never decreases; the Second Law of Thermodynamics says that entropy never remains constant; and the Third Law says that you can't find a process that doesn't involve entropy.
But then again, it's been a long time since my college physics courses.
Zero-energy computation isn't anything new, in theory; we've known what must be done to achieve zero-energy computation for a long time. We just haven't quite been able to figure out how to do it.
In principle, setting a bit requires no expenditure of energy; it's clearing the bits that requires an energy expenditure. So, provided you can figure out a memory design which permits that bits be set and never cleared, you can achieve zero-energy computation.
Note that I'm using "requires" in a very narrow context here. Setting a bit requires no expenditure of energy, but all the computers we have right now expend energy to set bits. That's a limitation of design, not any thermodynamic limitation we're currently aware of.
All of this comes to you courtesy of some long-ago college courses on the physics of computation. I may be misremembering quite a bit.:)
Look, I have a 3rd dan black belt with 16 years of training and I have no illusions about my ability to stand up in hand-to-hand combat with members of the armed forces.
16 years of training versus a few weeks of basic training, only a few days of which covered hand-to-hand.
Hmm. Makes me wonder how badly you've been slacking off for 16 years that some bozo who barely graduated from high school and took a three-day "try not to die in a strategically disadvantageous position" course could wallop your ass.
I have no idea why these gun nuts think that a few hours of practice a week will enable them and a few of their friends to stand up to a US army battalion.
Strange. I seem to recall the British saying the same thing about the Zulus at Isandhlwana; the Soviets saying the same thing about the mujahedeen in Afghanistan; the French Foreign Legion saying the same thing about Ho Chi Minh at Dien Bien Phu; and the American saying the same thing about Ho Chi Minh during Vietnam.
Short answer: history shows that you're amazingly, staggeringly wrong if you think insurgencies are ineffective.
Intel hardware is a commodity; it's cheap, there are lots of peripherals for it, you can buy individual components and build your own box easily, and prices are very low.
AFAIK (which isn't far), PowerPC hardware is mostly proprietary, controlled by Apple, is more expensive, has less variety in peripherals, and you're more or less stuck buying a Macintosh just to get your PC. Not just that, but many components of many PowerPC-based computers have marginal to no support under Linux (USB is marginal, Firewire is nonexistent right now, etc).
Given all this, where is the major win in the PowerPC? Why ought my next purchase for a PC be a PowerPC running LinuxPPC/Yellow Dog/MkLinux?
I'm not trolling here; I'm just uneducated.:) Educate me.
As part of your agreement, you and the company both agreed that the employment was at-will and either party could terminate it at any time for any reason, or no reason at all.
So this company decided to act in accordance with the agreement you struck. Where's the question?
Can they do this? Certainly. After all, you agreed to let them do it.
Is it ethical to do this? Certainly. After all, if it wasn't ethical, you shouldn't have agreed to let them do it.
Where's the question here?
Re:Hope no one here will be next NASA admin
on
Going Up?
·
· Score: 2
Ektanoor, I've seen quite a few of your posts here before, and usually I think you're pretty much on the mark--but here, I've got to say, you're quite wrong.
Do the orbital mechanics. Is it possible to have a tether from past-geosynch orbit down to the Earth, with its center of mass at geosynch? -- Yes, it is. We are aware of no fundamental laws of the cosmos which forbid this. Is it easy to do this? -- Yes, it is, provided that your materials science is suitably advanced. Is our materials science that advanced? -- No, not yet.
Friction really isn't all that much of a problem. Why? Because the most atmospheric friction you get is in the first 75km, and in the first 75km the tether is essentially at rest with respect to the Earth. You don't say "this vase that's sitting on my desk suffers friction losses," do you? No, because friction is associated with movement.
Insofar as propulsion, in case you haven't noticed, we're living on a huge magnet. We're going to have a tether made of electrically-conductive carbon going up to geosynchronous orbit. I don't know about what they taught you in school, but at Cornell they taught me that if you move an electrically-conductive material through a magnetic field, an electric current is induced in the material.
This means that there are megawatts of power available for the taking, entirely as a fringe benefit of having the tether. That electricity can then be used to propel the elevator up the tether.
In short, Ek, I think you're really wrong here. Nothing in physics says this is impossible; in fact, physics says it's easy, given the right materials science.
I'd stay away from TEA; I seem to recall some attacks against it in the literature, but I can't think of them for the life of me right now.
The number one concern you have with a Palm is its limited memory and processor. You don't want an algorithm which requires a lot of overhead or which has extremely slow throughput. Algos like 3DES are out for this reason.
My own two cents says go for Rijndael and/or Blowfish. Blowfish isn't suitable for apps which do key initialization a lot, but you don't sound like you need that.
Either way, you'll be getting a cipher with a lot of cryptanalysis and a fair degree of trust from the cryptographic community.
If you're looking for C source, check GNU Privacy Guard--Blowfish is already in there, and Rijndael should be there soon.
Bjarne Stroustrup's The C++ Programming Language, Third Edition has some chapters at the very end which are about software development and management. Very much worth reading, and it's applicable to just about any programming language or development environment.
First, I think the Free Software community needs to do some serious thinking about what technologies IBM can bring to the table. However, I'm not going to try and answer that question, because I think there's another question that needs to be asked in almost the same breath.
If IBM is willing to cater to our needs, then how can we reciprocate?
The foundation of free software is sharing resources, ideas and solutions--helping the other guy get his job done--building a community out of relationships, not between programs but between people.
If IBM is serious about joining the community (and if any IBMers are reading this, let me say that I really hope you are), then we need to reciprocate their seriousness with seriousness of our own.
We need to seriously ask, what can we give IBM?
I think the more IBM sees a willingness from us to work with them, the more willing IBM will be to work with us.
First, I'm a C++ hacker. So keep in mind that my answer is probably subtly (or blatantly) biased.
The answer(s) to why GNOME is written in OO C is pretty straightforward. There were (and still are) compelling reasons to do it in OO C:
1. STANDARDS CONFORMANCE.
C++ is a convoluted spec with an almost infinite amount of tremendous subtleties. When GNOME was first being devised, C++ had just been standardized and no compiler was anywhere close to standards conformant.
2. WIDESPREAD ADOPTION OF COMPILERS.
Some compilers (Sun's C++, for instance) are hideously broken. Terribly, awfully, ridiculously broken. While gcc is available for most UNIX platforms, the GNOME project didn't want to force people to use gcc to compile GNOME. By using ISO C89, for which all UNIX vendors provide good compilers, it enables GNOME to be compiled and run on platforms without gcc.
3. C IS NO SILLIER THAN C++.
For a long time, C++ was just a preprocessor add-on (see AT&T's cfront C++ `compiler'), which took C++ source code and translated it into OO C. Anything you want to do in C++ you can do in C--maybe not as easily, but you certainly can do it.
... Now, you may read this as me slamming C++ for being baroque, convoluted, etc. I'm not. I don't think there's a good reason today to avoid C++ for OO work, given that gcc is so tantalizingly close to fully conformant. (Sun C++ is still ridiculously broken, as is MS VC++.) But if you want crossplatform, portable code which can be compiled under MS VC++, Sun's compiler tools, GCC and KAI and so on, your choices in languages are severely curtailed.
The losers and poseurs hate Java. The real hackers see Java as just another tool in the toolbox. It's not a tool I have much use for, nor a tool that I'm particularly fond of. But I don't go out of my way to slam Java, either, and more to the point, I don't know a single serious programmer who does.
I consider the One True Language belief to be a childhood disease.
C++ is simply a pain in the ass and it's [sic] OO design is crap.
Please show me how its OO design is crap. Just give me a good, solid example of unadulterated crap in the C++ spec. I've been looking for years and I haven't found any. That's not to say there aren't warts and blemishes on C++; but unlike almost every other language out there, C++ was not designed--it evolved.
There isn't a single feature in C++ which went in just because it was "elegant". Nor is there a single feature in there which was left out to "enhance the purity". C++ was originally C With Classes, when Bjarne was just starting out... and then people gave him feedback, and then people began to mutate Bjarne's C With Classes to fit their own needs.
A lot of people complain that C++ lacks garbage collection. That's a fair criticism; that is one of the warts of the language. What people don't understand is that C++ lacks garbage collection because GC is something that's very hard to implement correctly. C++ lacks a standard thread library for the same reason.
Compare C++'s lack of GC and thread libs to Java. Does Java have GC? Yes, and it's Godawful. Does Java have a thread lib? Yep, but it changed dramatically between 1.0 and 1.1, and even now Java threads still are being tweaked on.
I originally learned OO programming in Eiffel for NeXtStep here and that was coming from learning Pascal for the AP test back in 1996.
I'm happy for you. Now open your mind a little bit and realize that Eiffel is not the be-all end-all of OOP. Nor is Smalltalk, nor is Clu, nor is Simula67.
OOP is a concept, not a concrete reality. Just like a PIII is conceptually a Turing machine, but it doesn't have a paper tape and a symbol scanner. There are dozens of implementations of the OOP concept--I've seen them done in C, in C++, in Java, in LISP (!), in Simula67, in Smalltalk, in Objective C... and all of them have their warts and flaws. But by studying them and realizing where they're flawed and where their flaws are actually stunning successes, I've been able to better grasp the abstract notion of OOP.
If the only thing you study and appreciate in your CompSci career are languages you think are neat, you're going to wind up a well-educated idiot.
Java is NOT bad
Undisputed by every programmer I respect. Of course, just because it's not bad doesn't mean it's good, either. I'd give Java a grade of "painfully mediocre", myself.
Java has the best networking API on the planet
How many networking APIs have you studied? Have you fully grokked the raw power of the UNIX C socket API? Have you seen the beautiful elegance of some of the C++ socket libs out there? What about Perl and its networking abilities? Python? CORBA?
They're all just tools in the toolbox. Use the right tool for the job. If you like the Java networking API, fine; I'm not going to tell you it's bad (because it's not). But if you're going to say Java's API is unquestionably the best, you're going to have to prove it, and I don't think you can.
C++ is crap for OO
You apparently don't know beans about OO, or programming in general, or else you'd know that this statement is false.
Is C++ perfect? God, no, not by a longshot. I beat my head against it frequently. But that doesn't change the fact that for OO, C++ is one of the best languages out there. Not the cleanest, not the most elegant, not the best-designed... just one of the best.
If true OO design philosophies are held so highly by all of the geniuses on Slashdot why do programmers for Linux make EVERYTHING in C and then try to fool themselves into thinking they are actually OO when they are not?
Ever seen GTK+ or GNOME? Both are object-oriented. Written in C, natch. This probably boggles your mind, since you think that C isn't OO. The truth, which all of us real OO programmers know, is that almost any language can be used to write OO code. C++ just provides some syntactic sugar to make it easier.
The kernel is also rife with objects.
Motif is OO C as well.
Maybe if people learned OO programming...
... like you did?
and used decent OO languages...
... like the ones you think are decent?
before trying to do everything in C and half attempts at C++...
Define a "half attempt" at C++, please. I can write procedural code in C++ and have it be perfectly valid C++.
then we would have a better Linux/Unix today.
I think you need to learn a lot about OO, and expose yourself to a lot more languages and paradigms, before you'll be able to sell me on any of this.
I didn't say modern science could make violins that are the equal of a Stradivari, but that approach. Check out Sci Am from a few months ago for an approachable article on the physics and biology of violinmaking--it turns out that, contrary to what violinmakers have thought for years, that the composition of the lacquer has an integral role in how rich a tune the violin presents.
We still don't know why Stradivari sound the way they do. Once we do know, then expect those same techniques to be applied to other violins.
Modern != better. Modern usually means better, but it's not an absolute.
One of the errors which people (particularly engineers) make when designing modern hardware is they think that the rest of the world is as controlled and as precise as the product itself is. If you can specify that "the turbofan in this jet engine is made of a single crystal of pure nickel and built to 0.001mm of accuracy", it's easy to think that it's only going to be used in situations that are equally controlled and controllable.
So the net effect is the engine works great, but the first time a goose gets sucked up the intake, the entire engine is going to shred. (Don't laugh; this happens with surprising frequency nowadays.)
The problem is that operational tolerance comes at a cost in performance. A Soviet-era tank is reliable as the day is long, but it's got crappy performance. When people discover "Wow! With these new manufacturing tolerances, we can make things even better than before," they rarely consider that pushing things to the limits of performance has repercussions on operational tolerances.
Look at UNIX as an example. Quake III under Linux will never have the performance of Quake III under Windows 98. The reason is that, while Linux is a technically superior platform, Linux has large operational tolerances. It's very resistant to crashes because of the way it's designed. However, this fault-tolerant design comes at a price: by separating the 3D libraries from X, by separating X from the kernel, etc., you introduce lots of hidden latencies.
Win98, in the interest of pure gaming performance, lets the machine get down close to the bare metal. But we all know what kind of operational tolerances Win98 has--the first time you get any kind of weirdness, the entire system crashes.
Yeah, I don't know what I was thinking of. I goofed.
Reminds me of of the US raid on Tehran. The special-warfare troopers were out in the middle of the desert, in a spot so remote nobody would be there looking for them... and they got discovered by a busload of people who stumbled across the area by virtue of getting lost.
Moral of the story: security through obscurity doesn't work. It's a numbers game, a calculated risk, and the risk involved is far higher than other more proactive forms of security.
Would you be willing to do all your online banking if your bank told you, "We don't bother to encrypt your financial records or firewall our system from malicious hackers--but don't worry! All the data is kept on a URL so obscure nobody will ever come across it!"
At Americanwicca.com, we make sure that our site is utterly secure by refusing to release details.
Speaking as a cryptographic engineer, I find this amazingly hilarious.
To this utter naievete, your typical malicious attacker would respond with:
... In other words, you're being just plain silly.
What's more than this is you're also lying.
At Americanwicca.com, we make sure that our site is utterly secure by refusing to release details.
No, you make sure your site is secure by locking down ports 21 and 23 for starters (telnet and mail). I know this because I just tried to telnet into them to see if they were open. So if security-through-obscurity is so darned good, why do you need to take the additional step of locking down your ports?
The answer is: because security through obscurity is a failed policy. Always has been, always will be. Locking down ports, on the other hand, is a smart and proactive policy.
The Constitution says nothing about the duration of copyrights and patents, except to say that they must be for "limited times". Originally, the term was well under 20 years, but that was a term set by Congress, not by the Constitution.
The United States was founded on a principle of intellectual property
In all the times I've read The Federalist Papers, I have yet to find a single passage that suggests intellectual property is one of the cornerstones of the Constitution. Would you please be so kind as to point out which essay it is that I've been missing?
It is a protected right by grant of the US Constitution
Laughably false. The intellectual-property provisions of the Constitution say that Congress may grant legal protections to IP. Contrast this to the Bill of Rights, which are phrased as absolute contructs--Congress shall not, will not, must not, cannot, etc.
That single word, may, says that IP is not a right. Period.
That is the only lawful, moral and ethical way to cause them financial harm
According to your morality, perhaps. But as Trent Castanaveras explained in The Long Run, there are really only a few ways to make someone change their behavior. You can persuade them; you can bribe them; you can threaten them; or you can steal from them.
Some people can't be persuaded; they're too blinded by their passions, their ideology, whatever, to listen to the sweet voice of Reason. Some people can't be bribed; they just don't put much emphasis on money, or they're already so wealthy that whatever you can offer them is insignificant. Some people can't be threatened; either they don't care about the pain, or they're so much stronger than you that you can't threaten them. But theft... theft is something which people must respond to. It's a Darwinian thing, hard-coded into our genes. The more resources we lose, the less fit we are to continue existence, thus, every creature seeks to minimize its loss of resources.
So when you're faced with an adversary who is doing something wrong, something which is affecting your own interests adversely, and you feel that things need to, must, change... well. Considering that the MPAA/RIAA doesn't listen to reason (look at the 2600 suit), we can't bribe them (they're already rich), we can't threaten them with legal action (they can afford lawyers, we can't), what other form of persuasion is left to us besides theft?
Not reckless theft. Not blind theft. Theft of the right things, in the right ways, at the right time. If the MPAA wants to enforce CSS, great; we circulate DeCSS and encourage people to rip copies of their CSS-scrambled movies. But if we were also to encourage people to rip copies of movies which are not CSS-scrambled (for instance, American Pie), then we would be sending the wrong message. If we respect the idea of IP ownership for technologies which respect us, and we openly subvert technologies which do not respect us, that sends a strong and clear message--if you respect us, this all will stop.
Illegal copying of CSS-scrambled and non-CSS scrambled movies would be punishment, nothing more. People don't respond well to punishment. Illegal copying of CSS-scrambled movies is negative reinforcement--"don't do this, do the other thing instead". Negative reinforcement works a lot better than punishment.
You are a parasite
And you're a blithering idiot for believing that IP is a Constitutionally-protected right.
All depends on your perspective. I know some mathematicians (largely older ones) who still stew over Goedel, because they feel that he broke the beauty and truth of mathematics. I know a great many QMech students (typically younger ones, who haven't quite wrapped their brains around the impossibilities of it) who find cats that are both dead and alive to be counterintuitive and contrafactual.
That being said, correct, neither example breaks their discipline (as in proving it wrong); both examples do break their discipline, though, in the context of shattering people's preconceptions of what can and cannot occur as a result of that theory.
As I said--when reality and theory conflict, smart money is on reality.
The theiving cartoon bear is not someone I'd have thought of as good quoting material, but maybe that's just me...
Yogi Berra, not Yogi Bear. Sometime baseball player, sometime commentator, and full-time professional mangler of the English language. He's the one who came up with such profundities as "nobody ever goes [to that nightclub] anymore, it's too crowded". When a colleague asked him what time it was, he asked "You mean right now?"
Perhaps most famously, when a reporter asked him how he comes up with all these great quotes, he answered with "I really didn't say all those things I said."
When his son, Dale Berra, was asked if he was going to continue his father's tradition of philosophically mangling the language, Dale Berra answered that "... the similarities between my father and me are really quite different".
Etc. Yogi Bear, the Hanna-Barbara cartoon, was inspired largely by Yogi Berra.
(If you couldn't tell, I'm a fan of Yogi Berra. Now, on to the rest of your email.)
Because if black holes existed then we'd end up with singularities at their centre which would violate physical laws by producing infinite discontinuities.
1. Find me a law which forbids infinite discontinuities. I've never been able to find one that says it can't happen. Philosophically, I find myself thinking that discontinuities are strongly implied by the nature of the cosmos.
2. Which laws do we end up violating if black holes exist? The cosmos is incapable of breaking its own laws--it can only break what laws we attempt to enforce upon it.
Any theory which breaks itself cannot be a valid theory outside of esoteric mathematical journals.
Never heard of quantum mechanics, have you? Schroedinger's Cat is a brilliant example of quantum mechanics breaking itself. Or, in mathematics, there's Goedel's Incompleteness Theorem, which broke all of mathematics in half and left mathematicians scurrying to pick up the pieces.
An essential part of any theory is falsifiability--that is to say, can this theory be proven wrong? Can this theory break itself? For relativity, it can be demonstrated wrong by showing that mass and energy are not equivalent, or that the speed of light is attainable by mass particles.
Already in the cosmos we see tantalizing hints that relativity is not the end-all be-all of the universe. Black holes are one of the places where, if you peer down the rabbit-hole for long enough, you see the inconsistencies in the theory.
But don't let that dissuade you; relativity correctly predicts 99.9% of the visible universe.
It may not be complete, but it's not wrong is it?
Relativity is absolutely wrong.
Look, Newton's physics correctly explained 99.9% of the phenomena of his day, too. Then people started to look at the precession of Mercury and discovered, hey, this doesn't mesh with Sir Isaac. Newtonian mechanics said Mercury would be in one place, and Mercury wasn't, and the difference between the two places was far greater than could be accounted for by observational error.
When theory and reality conflict... stake your money on reality.
Newtonian Mechanics is wrong. Absolutely, utterly, wrong. However, despite the fact that it's unarguably wrong, it's a very useful approximation of the real laws (whatever they are) for anything that's moving slower than 0.1c and isn't in a huge gravity well. But don't go about thinking that Newton is correct, when the reality is Newtonian physics is a mere useful approximation of reality.
Relativity is in the exact same boat. It's far and away better than Newtonian mechanics, but it's still an approximation of reality. In any approximation, there will be things that just aren't quite right.
... once you understand what the principles behind them are. And, of course, we don't understand the principles behind them, in large part because we've never had the opportunity to test our theories in the laboratory, nor the opportunity to see direct evidence of our theories in the heavens.
As Yogi Berra said, "In theory, there is no difference between theory and practice. In practice, there is."
Black holes certainly do follow basic physical laws; they follow much of the same laws that the rest of the cosmos follows. Inside the event horizon of a black hole, the laws of physics still apply just as they do outside the event horizon.
But if we don't know the laws outside the event horizon, it's hardly surprising to find that we can't tell what happens within, is it?
Einstein's theory of relativity is a brilliant stroke of genius, but it is not a complete theory. Forgetting that leads us down a path of scientific hubris, in believing that we've found the One True Law of the Cosmos.
Check out Bruce Schneier's Crypto-Gram of a few months back for examples of how faith in biometrics is misplaced faith, at best.
The mission-critical systems are running on Solaris, last I heard. Windows is used on the space station... for the astronauts' laptops.
There should be a mod of "-1, Just Plain Wrong".
its templatized nature leads to massive code bloat
Please show me a C++ snippet, using the STL, which demonstrates this "massive code bloat". While some C++ compilers are certainly atrocious (Solaris C++ comes to mind), the majority of them make small, fast code.
In the Red Hat 5.x days, C++ compiled to massive size due to an error in how Red Hat was set up--not due to an error in the compiler.
Seriously. Please show me a code snippet, using GCC-2.95 or later, which expands into a large executable. I'd like to see it, and so would the GCC maintainers.
I apologize; I thought that the difference was pretty implicit in what I wrote. To clarify:
:)
Setting a bit: introducing information into a system.
Clearing a bit: erasing information from a system.
Introducing information to a system has no required energy, but the erasure of information does have a minimum energy.
If a byte has the value 0xFF, then in order to change it to 0x00 I have to erase eight bits of information before I can put in my new eight bits. (Note that most computers do the erase-and-overwrite in one step, but thermodynamically, they're two steps.) In other words, I blow eight bits of information away (which requires energy) and put a new octet in (which does not require energy).
Clearing the eight bits requires a minimum amount of energy given by kT (k = 1.38E-23 J/K, and T = 3.2K, the ambient temp of the universe). That's 4.42E-23 Joules per bit cleared.
Setting the bits? 0 Joules.
Again, this is all in the dimly-remembered past of my college physics. So take it with a grain of salt.
The First Law of Thermodynamics says that entropy never decreases; the Second Law of Thermodynamics says that entropy never remains constant; and the Third Law says that you can't find a process that doesn't involve entropy.
But then again, it's been a long time since my college physics courses.
Zero-energy computation isn't anything new, in theory; we've known what must be done to achieve zero-energy computation for a long time. We just haven't quite been able to figure out how to do it.
:)
In principle, setting a bit requires no expenditure of energy; it's clearing the bits that requires an energy expenditure. So, provided you can figure out a memory design which permits that bits be set and never cleared, you can achieve zero-energy computation.
Note that I'm using "requires" in a very narrow context here. Setting a bit requires no expenditure of energy, but all the computers we have right now expend energy to set bits. That's a limitation of design, not any thermodynamic limitation we're currently aware of.
All of this comes to you courtesy of some long-ago college courses on the physics of computation. I may be misremembering quite a bit.
Look, I have a 3rd dan black belt with 16 years of training and I have no illusions about my ability to stand up in hand-to-hand combat with members of the armed forces.
16 years of training versus a few weeks of basic training, only a few days of which covered hand-to-hand.
Hmm. Makes me wonder how badly you've been slacking off for 16 years that some bozo who barely graduated from high school and took a three-day "try not to die in a strategically disadvantageous position" course could wallop your ass.
I have no idea why these gun nuts think that a few hours of practice a week will enable them and a few of their friends to stand up to a US army battalion.
Strange. I seem to recall the British saying the same thing about the Zulus at Isandhlwana; the Soviets saying the same thing about the mujahedeen in Afghanistan; the French Foreign Legion saying the same thing about Ho Chi Minh at Dien Bien Phu; and the American saying the same thing about Ho Chi Minh during Vietnam.
Short answer: history shows that you're amazingly, staggeringly wrong if you think insurgencies are ineffective.
Intel hardware is a commodity; it's cheap, there are lots of peripherals for it, you can buy individual components and build your own box easily, and prices are very low.
:) Educate me.
AFAIK (which isn't far), PowerPC hardware is mostly proprietary, controlled by Apple, is more expensive, has less variety in peripherals, and you're more or less stuck buying a Macintosh just to get your PC. Not just that, but many components of many PowerPC-based computers have marginal to no support under Linux (USB is marginal, Firewire is nonexistent right now, etc).
Given all this, where is the major win in the PowerPC? Why ought my next purchase for a PC be a PowerPC running LinuxPPC/Yellow Dog/MkLinux?
I'm not trolling here; I'm just uneducated.
As part of your agreement, you and the company both agreed that the employment was at-will and either party could terminate it at any time for any reason, or no reason at all.
So this company decided to act in accordance with the agreement you struck. Where's the question?
Can they do this? Certainly. After all, you agreed to let them do it.
Is it ethical to do this? Certainly. After all, if it wasn't ethical, you shouldn't have agreed to let them do it.
Where's the question here?
Ektanoor, I've seen quite a few of your posts here before, and usually I think you're pretty much on the mark--but here, I've got to say, you're quite wrong.
Do the orbital mechanics. Is it possible to have a tether from past-geosynch orbit down to the Earth, with its center of mass at geosynch? -- Yes, it is. We are aware of no fundamental laws of the cosmos which forbid this. Is it easy to do this? -- Yes, it is, provided that your materials science is suitably advanced. Is our materials science that advanced? -- No, not yet.
Friction really isn't all that much of a problem. Why? Because the most atmospheric friction you get is in the first 75km, and in the first 75km the tether is essentially at rest with respect to the Earth. You don't say "this vase that's sitting on my desk suffers friction losses," do you? No, because friction is associated with movement.
Insofar as propulsion, in case you haven't noticed, we're living on a huge magnet. We're going to have a tether made of electrically-conductive carbon going up to geosynchronous orbit. I don't know about what they taught you in school, but at Cornell they taught me that if you move an electrically-conductive material through a magnetic field, an electric current is induced in the material.
This means that there are megawatts of power available for the taking, entirely as a fringe benefit of having the tether. That electricity can then be used to propel the elevator up the tether.
In short, Ek, I think you're really wrong here. Nothing in physics says this is impossible; in fact, physics says it's easy, given the right materials science.
Gee, in this country we don't determine guilt when a case is still on appeal.
Actually, we do. Microsoft is guilty of the offenses charged with, in accordance with the orders and opinions of Judge Jackson.
Appeals do not resolve guilt or innocence. The only thing appeals resolve is whether or not a trial was fair.
Next time, please get the facts right when it comes to appellate arguments.
I'd stay away from TEA; I seem to recall some attacks against it in the literature, but I can't think of them for the life of me right now.
The number one concern you have with a Palm is its limited memory and processor. You don't want an algorithm which requires a lot of overhead or which has extremely slow throughput. Algos like 3DES are out for this reason.
My own two cents says go for Rijndael and/or Blowfish. Blowfish isn't suitable for apps which do key initialization a lot, but you don't sound like you need that.
Either way, you'll be getting a cipher with a lot of cryptanalysis and a fair degree of trust from the cryptographic community.
If you're looking for C source, check GNU Privacy Guard--Blowfish is already in there, and Rijndael should be there soon.
Bjarne Stroustrup's The C++ Programming Language, Third Edition has some chapters at the very end which are about software development and management. Very much worth reading, and it's applicable to just about any programming language or development environment.
First, I think the Free Software community needs to do some serious thinking about what technologies IBM can bring to the table. However, I'm not going to try and answer that question, because I think there's another question that needs to be asked in almost the same breath.
If IBM is willing to cater to our needs, then how can we reciprocate?
The foundation of free software is sharing resources, ideas and solutions--helping the other guy get his job done--building a community out of relationships, not between programs but between people.
If IBM is serious about joining the community (and if any IBMers are reading this, let me say that I really hope you are), then we need to reciprocate their seriousness with seriousness of our own.
We need to seriously ask, what can we give IBM?
I think the more IBM sees a willingness from us to work with them, the more willing IBM will be to work with us.
First, I'm a C++ hacker. So keep in mind that my answer is probably subtly (or blatantly) biased.
The answer(s) to why GNOME is written in OO C is pretty straightforward. There were (and still are) compelling reasons to do it in OO C:
1. STANDARDS CONFORMANCE.
C++ is a convoluted spec with an almost infinite amount of tremendous subtleties. When GNOME was first being devised, C++ had just been standardized and no compiler was anywhere close to standards conformant.
2. WIDESPREAD ADOPTION OF COMPILERS.
Some compilers (Sun's C++, for instance) are hideously broken. Terribly, awfully, ridiculously broken. While gcc is available for most UNIX platforms, the GNOME project didn't want to force people to use gcc to compile GNOME. By using ISO C89, for which all UNIX vendors provide good compilers, it enables GNOME to be compiled and run on platforms without gcc.
3. C IS NO SILLIER THAN C++.
For a long time, C++ was just a preprocessor add-on (see AT&T's cfront C++ `compiler'), which took C++ source code and translated it into OO C. Anything you want to do in C++ you can do in C--maybe not as easily, but you certainly can do it.
... Now, you may read this as me slamming C++ for being baroque, convoluted, etc. I'm not. I don't think there's a good reason today to avoid C++ for OO work, given that gcc is so tantalizingly close to fully conformant. (Sun C++ is still ridiculously broken, as is MS VC++.) But if you want crossplatform, portable code which can be compiled under MS VC++, Sun's compiler tools, GCC and KAI and so on, your choices in languages are severely curtailed.
Why does everyone on Slashdot hate Java so much?
The losers and poseurs hate Java. The real hackers see Java as just another tool in the toolbox. It's not a tool I have much use for, nor a tool that I'm particularly fond of. But I don't go out of my way to slam Java, either, and more to the point, I don't know a single serious programmer who does.
I consider the One True Language belief to be a childhood disease.
C++ is simply a pain in the ass and it's [sic] OO design is crap.
Please show me how its OO design is crap. Just give me a good, solid example of unadulterated crap in the C++ spec. I've been looking for years and I haven't found any. That's not to say there aren't warts and blemishes on C++; but unlike almost every other language out there, C++ was not designed--it evolved.
There isn't a single feature in C++ which went in just because it was "elegant". Nor is there a single feature in there which was left out to "enhance the purity". C++ was originally C With Classes, when Bjarne was just starting out... and then people gave him feedback, and then people began to mutate Bjarne's C With Classes to fit their own needs.
A lot of people complain that C++ lacks garbage collection. That's a fair criticism; that is one of the warts of the language. What people don't understand is that C++ lacks garbage collection because GC is something that's very hard to implement correctly. C++ lacks a standard thread library for the same reason.
Compare C++'s lack of GC and thread libs to Java. Does Java have GC? Yes, and it's Godawful. Does Java have a thread lib? Yep, but it changed dramatically between 1.0 and 1.1, and even now Java threads still are being tweaked on.
I originally learned OO programming in Eiffel for NeXtStep here and that was coming from learning Pascal for the AP test back in 1996.
I'm happy for you. Now open your mind a little bit and realize that Eiffel is not the be-all end-all of OOP. Nor is Smalltalk, nor is Clu, nor is Simula67.
OOP is a concept, not a concrete reality. Just like a PIII is conceptually a Turing machine, but it doesn't have a paper tape and a symbol scanner. There are dozens of implementations of the OOP concept--I've seen them done in C, in C++, in Java, in LISP (!), in Simula67, in Smalltalk, in Objective C... and all of them have their warts and flaws. But by studying them and realizing where they're flawed and where their flaws are actually stunning successes, I've been able to better grasp the abstract notion of OOP.
If the only thing you study and appreciate in your CompSci career are languages you think are neat, you're going to wind up a well-educated idiot.
Java is NOT bad
Undisputed by every programmer I respect. Of course, just because it's not bad doesn't mean it's good, either. I'd give Java a grade of "painfully mediocre", myself.
Java has the best networking API on the planet
How many networking APIs have you studied? Have you fully grokked the raw power of the UNIX C socket API? Have you seen the beautiful elegance of some of the C++ socket libs out there? What about Perl and its networking abilities? Python? CORBA?
They're all just tools in the toolbox. Use the right tool for the job. If you like the Java networking API, fine; I'm not going to tell you it's bad (because it's not). But if you're going to say Java's API is unquestionably the best, you're going to have to prove it, and I don't think you can.
C++ is crap for OO
You apparently don't know beans about OO, or programming in general, or else you'd know that this statement is false.
Is C++ perfect? God, no, not by a longshot. I beat my head against it frequently. But that doesn't change the fact that for OO, C++ is one of the best languages out there. Not the cleanest, not the most elegant, not the best-designed... just one of the best.
If true OO design philosophies are held so highly by all of the geniuses on Slashdot why do programmers for Linux make EVERYTHING in C and then try to fool themselves into thinking they are actually OO when they are not?
Ever seen GTK+ or GNOME? Both are object-oriented. Written in C, natch. This probably boggles your mind, since you think that C isn't OO. The truth, which all of us real OO programmers know, is that almost any language can be used to write OO code. C++ just provides some syntactic sugar to make it easier.
The kernel is also rife with objects.
Motif is OO C as well.
Maybe if people learned OO programming...
... like you did?
and used decent OO languages...
... like the ones you think are decent?
before trying to do everything in C and half attempts at C++...
Define a "half attempt" at C++, please. I can write procedural code in C++ and have it be perfectly valid C++.
then we would have a better Linux/Unix today.
I think you need to learn a lot about OO, and expose yourself to a lot more languages and paradigms, before you'll be able to sell me on any of this.
I didn't say modern science could make violins that are the equal of a Stradivari, but that approach. Check out Sci Am from a few months ago for an approachable article on the physics and biology of violinmaking--it turns out that, contrary to what violinmakers have thought for years, that the composition of the lacquer has an integral role in how rich a tune the violin presents.
We still don't know why Stradivari sound the way they do. Once we do know, then expect those same techniques to be applied to other violins.
Modern != better. Modern usually means better, but it's not an absolute.
One of the errors which people (particularly engineers) make when designing modern hardware is they think that the rest of the world is as controlled and as precise as the product itself is. If you can specify that "the turbofan in this jet engine is made of a single crystal of pure nickel and built to 0.001mm of accuracy", it's easy to think that it's only going to be used in situations that are equally controlled and controllable.
So the net effect is the engine works great, but the first time a goose gets sucked up the intake, the entire engine is going to shred. (Don't laugh; this happens with surprising frequency nowadays.)
The problem is that operational tolerance comes at a cost in performance. A Soviet-era tank is reliable as the day is long, but it's got crappy performance. When people discover "Wow! With these new manufacturing tolerances, we can make things even better than before," they rarely consider that pushing things to the limits of performance has repercussions on operational tolerances.
Look at UNIX as an example. Quake III under Linux will never have the performance of Quake III under Windows 98. The reason is that, while Linux is a technically superior platform, Linux has large operational tolerances. It's very resistant to crashes because of the way it's designed. However, this fault-tolerant design comes at a price: by separating the 3D libraries from X, by separating X from the kernel, etc., you introduce lots of hidden latencies.
Win98, in the interest of pure gaming performance, lets the machine get down close to the bare metal. But we all know what kind of operational tolerances Win98 has--the first time you get any kind of weirdness, the entire system crashes.
Does all this make sense?