how mature is a compiler when it reaches self compiling capabilities? It looks like this milepost is "compiles itself", but "compiles itself correctly" is still a long time away. This probably means that nearly all the essential features are in the compiler now, but there is a lot of debugging left. When it compiles itself correctly, it will be close to done, but there are probably some features that aren't used by the compiler, and still have to be written and debugged. For instance, I can't see how a SQL database interface, or the ability to create a web page, would be relevant to compilers, but I would certainly want these capabilities in the library before I tossed out all my old programming tools.
Incidentally, self-compiling is a self-test that is only relevant to some languages. Many languages are quite useful in limited fields, but their primary features are not relevant to compilers, and they may lack features that are essential to compilers. It would be possible to write a compiler in BASIC, FORTRAN, or COBOL, but it would be insane to try it. OTOH, some languages were invented solely for writing compilers -- when it compiles itself correctly, it's done, but it's not much interest to anyone except a computer science professor specializing in compilers.
Self-compilation is a pretty good test for C-type compilers, because these are general purpose languages that are appropriate for compilers, among other things. It's a good test in another sense; quite often one of the problems in testing software is determining whether the output of the program is right or not. If you ran a CAD program (say) through the compiler, the compiler-writers could recognize a few gross errors (won't compile, won't run, erases the data file when you hit Save), but couldn't tell whether or not the finer nuances came out right. But they definitely know what a _compiler_ should do.
and interrupt all the (probably quite justified for many other reasons) hysteria against the RIAA and the gov't officials they own, but:
Stamped ID codes on the CD's are nothing new. Book, magazine, and newspaper publishers always identify themselves in their publications. Look down at the bottom of the table of contents in most magazines -- there's the publisher's name and address, among other information. A book will have the publisher's name on the title page, much more information on the reverse side of that page, and an ID # somewhere on the cover. This isn't some sinister plot to extend their monopoly on printed material, or for the gov't to control printing, but rather it's just good for business. You want more copies of that book or article -- here's where you go to buy them legally...
OTOH, the RIAA's belief that those ID codes will prevent piracy seems rather too naive for a business that routinely deals with rap singers and comes out of the deal with most of the money and no bullet holes. I'm sure the pirates will get the message from this Ukrainian action -- when you counterfeit CD's, also counterfeit some legitimate mfg's ID #...
To carry on your car analogy -- yes, OOP is good for modeling the interactions between cars, but first you have to model _one_ car. And this, depending on the level of detail you are looking for, may be simultaneously too simple and too calculation-intensive to fit well into a general purpose OO language. (Simula is a special case -- since it has the required math built-in, it might be competitive.)
To get to something like the problems he was concerned with, let's say you drill down until you need a complete simulation of the air/fuel mixture flow through the intake manifold. "Objects" are irrelevant at this point, all you are concerned with now are many little chunks of gas ("cells"), represented by numbers in a big multi-dimensional array, and related by a massive set of partial differential equations. There are going to be billions or even trillions of floating point operations, taking minutes to hours to complete no matter how efficiently programmed.
You need a language in which you can easily input those equations, and which will very, very quickly go through all the calculations on each cell in that array. FORTRAN excels at this sort of calculation, basically because the language is so unsophisticated that the compiler can do great optimizations. The one issue is that FORTRAN natively understands only basic algebra. The calculus and the process of turning a continuous set of equations into discrete cells of air and steps in time has to be programmed in; there are libraries you can call, but you've got to understand how to pick the right library function and to translate the problem for it.
The second choice is to go to a specialized simulation language like Simula, where the compiler understands discrete integration operations, so you feed in the equations and the geometry and it picks a method of solving it. It might not be the best method, but there's a pretty good chance you'll get usable results without doing a whole lot of work yourself. It's unlikely to run anywhere near as fast as a properly tuned FORTRAN program, but you'll usually get the first-run results much quicker than the FORTRAN could be written. But if you need to try 10,00 different configurations, and FORTRAN runs each one in 2 minutes while other languages take 3 or 4 minutes each...
>>If an individual had systematically poisoned a river running through a town we would call it Terrorism and imprison or execute that person.
As would be the case if they were an organisation.
>>When a corporation like Monsanto does the same thing, we call it business, and most likely we will simply fine the corporation for a minuscule percentage of their wealth, and let them continue these practices.
But someone forming a corporation primarily for terrorism, e.g. Al Queda Inc, would probably not get protection. Even if they also enguaged in legitimate business
If I understand you, you are saying that it's OK to poison the public for profit but not for politics. Are you a mob lawyer by any chance? Or is the difference between Monsanto and the Mafia that those poor Sicilians didn't incorporate?
Fuel cells are already sold for giant UPS's. Mostly they are used in office buildings where the noise of a gas turbine or piston-engine generator would be difficult to muffle. So far they cost considerably more, so if you needed backup power for a factory where noise and a little smoke was OK, you'd probably get a turbo- or motor-generator.
But if I had the money, I'd certainly like to put a fuel cell in my basement. The waste heat could heat the house. Now if I could wangle a connection to the gas well in my neighbor's back yard... (One of the really strange things about living in the country in Michigan is that we've got pipelines for raw, unfiltered, high pressure methane crossing our land, but have to buy propane for our gas appliances.)
I doubt that efficiency is the biggest concern here. If it's actually 150KW (not 150MW), then as someone else pointed out it's only making $10 worth of electricity an hour, so it won't even pay for one man to stay on site.
However, fuel cells are quiet and relatively pollution free. They turn on and off instantly. They shouldn't _need_ anyone on site to keep them running. So a fuel cell can be in a residential neighborhood or right on site for industry and office buildings, providing an instant-on assist to the grid when peak power is needed, backup power the rest of the time, and also heating the building(s).
I mostly want opinions on whether cracking a science satellite would be worth the time.
Let's say some nation (**cough**Iraq) gets tired of American spy satellites watching it. I hope these satellites have pretty secure command authentication. So instead, they take over the steering of other unprotected satellites and try to run them into the spysats. Even if they miss, your experiment schedule is ruined.
If you are depending solely on security through obscurity, cracking it is going to be much easier than getting a shoe full of plastic explosive onto an airliner... Just a few random ideas: (1) Record a few thousand transmissions, and what the satellite does after receiving them. Hire an out of work Russian mathematician to correlate them and reverse engineer the protocol. Heck, I once had to reverse engineer a communications protocol because the developer hadn't completed the documentation; it's not that hard. (2) Get a spy on the payroll. American science researchers love to hire foreign kids with no idea of American pay scales. (3) Go dumpster diving. Chances are you or your customers are printing out command sequences to be checked, and then tossing the printouts in the dumpster.
So you really should be using a cryptographically secure authentication scheme. As it transmits a command, your computer adds a timestamp, computes a hash of the command, timestamp, and a secret key, and appends that; the satellite checks the timestamp is reasonable (within a second or two), then also computes the hash and checks it. If you can keep that one number secret, you are secure as far as taking over the satellite goes.
Can someone effectively execute a DOS attack by uplinking to the satellite with a powerful signal
It's certainly possible, and it's called "jamming". This costs a lot for plain random troublemaking; it takes a steerable dish and a fairly high powered transmitter, with a big electric bill. It seems rather unlikely someone with that budget would spend it just to mess up a science experiment. But unless considerable effort goes into protecting a satellite, jamming it would be small potatoes for a military operation.
There are some substantial (but very secretive) defense contractors making radio and radar jammers for the US military. To jam a satellite using a fixed command frequency, you just point a dish at it and transmit at the same frequency with at least as much power as the actual command center. (I mean power delivered to the satellite antenna -- that's a product of the actual power and the transmitter dish's directionality.) The two signals basically add together, so if the jammer just sends a non-varying signal it's quite likely that the receiver will still be able to pick the commands off the top. But just about anything that varies without too much predictability will do for a jamming signal -- white noise, classical music, Slim Pickens yodeling, Howard Stern...
The most common method of defeating jamming is to change the frequency. Every so often, computers on the ground and in the satellite compute a psuedo-random number, and change to that frequency. It's easy to do that once or more a second, and the jammer is not going to be able to find the new frequency fast enough. (Assuming the number sequence is secure, against both espionage and cryptographic reverse-engineering.) However, if they _really_ want to knock you off the air, it's possible to transmit a very high powered broad-band signal to jam all the channels at once. If there are 1,000 possible channels, the jammer has to be 1,000 times as powerful. Do that to a US military satellite, and I think you will knock it out for a while, but: (1) in a few minutes the satellite orbit will take it out of view from your dish; (2) unless you're a nuclear power, eventually they'll get permission to send a cruise missile into your ground station; (3) That much broadband power will mess up other communications as well, and get other countries mad at you. There are stories that the Soviets used to play a little with our satellites and vice-versa, but nothing serious because both sides had too much to lose...
Another protection against jamming is to use a very directional receiving antenna, so any jammer would have to be on territory you control. This also substantially reduces the required transmitter strength. The problem is keeping that receiver dish pointed at home. In a satellite, you would have to also have an omnidirectional backup antenna, to use to re-gain control if the satellite tumbles. This makes it more complex and expensive than frequency-hopping.
I don't know much about the PowerPC, but IIRC it is indeed supposed to be "a little less hungry for power". Pentiums are RISC CPU's with a front-end instruction translator so they can _simulate_ a 486, 386, 286, and 8088. Naturally that takes a few more transistors and generates more heat than a pure RISC CPU...
Anyhow, an interrupt vector for overheating isn't a lot of good unless a reasonably fast response is guaranteed by the OS. Maybe Mac and *nix OS's can handle this, but Windows isn't good at fast shutdowns. It tells the various applications to shut themselves down, then waits. Sometimes forever. If your word processor wants to ask you about saving the document before shutting down, in normal times that's a good thing, but (1) Windows may neglect to bring that dialogue box to the top where you can see and respond to it, and (2) Windows has no mechanism to force it to time-out and do a default action if you never respond, or if the CPU is going to fry in one more second and there isn't time to wait for you. And if you are running MS Outlook, it probably has to write all the e-mail you ever sent and received to disk in one gigantic file, and that certainly is going to take too long... (There are probably other reasons shutdown hangs also, like it shut down some service while other applications still need it to complete their shut down.)
Another issue is how fast the thing is overheating. If the fan died or airflow is obstructed, but a great big metal heatsink is properly attached, it's going to take several minutes for the chip and heatsink to overheat to damaging temperatures. So there's enough time for an orderly shutdown, if the OS is capable of ensuring that it proceeds. But if the thermal grease isn't there, the CPU may be heating up all by itself, and it takes only a few seconds to fry it. Non-realtime OS's (just about all desktop and server OS's) probably aren't going to react fast enough. Realtime OS's can guarantee a response in a few milliseconds, but the best they could do would be a sudden shutdown without saving data; when you have 64MB of RAM, there's bound to be too much to save... So you might as well make the overtemp shutdown a hardware function.
In the 1970's, there were mainframe OS's that could shut down in case of power failures within 1/120th of a second, and come back up with everything running just fine when power came on. They had core memory, which (if you were careful about the circuit design and shielding) would hold data with power out. So all the OS had to do was to reserve a block of memory to save registers, and then reload from there when turned back on and off they went.
It was Linux (KDE), but this is probably hardware, not OS related. AFAIK, shutdowns due to thermal thresholds being exceeded are done by the hardware alone, with no input to the OS. (This does give you a shutdown without proper preparation by the OS, requiring a file system check when started up again, but if your box waited for Windoze shutdown the CPU would fry for sure...) Or does anyone know different?
The newest Intel CPU's will detect overheating and either shut themselves down (P3) or throttle back the clock rate (P4); it's not an OS function. Athlons have a built-in temperature sensor, but depend on motherboard circuitry to act when the temperature rises. And until quite recently (when a hobbyist magazine demonstrated Athlons melting down when the heatsink fell off), the circuitry recommended by AMD didn't react quickly enough to save a chip that wasn't thermally connected to a heatsink. (At least not where 800MHz+ systems are concerned; older, slower CPU's just didn't heat up that fast.)
What is meant by this is that replacing the thermal pad with thermal compund is optional. That must be what he meant, but it isn't what Tuan said. That's just common sense. It's common sense if you're an experienced technician. Kids and software geeks wouldn't necessarily know it. And that article really wasn't aimed at people that would know things like why you need a thermal compound or pad -- just give me a parts list on one page, rather than forcing me to fetch many pages from a very slow server just so Tuan could chatter on and on, and put in pictures of everything including the freakin power supply!
By the way, properly applied paste is better than a pad -- but it takes some rather messy work, so if a pad is available and good enough...
There are two problems with barter, or using drugs, liquor, diamonds, or whatever as "street currency":
1. Transporting the stuff. Booze is heavy, cigarettes are bulky, and if the local tax stamps are missing you can get busted for having them. Worse than that, you can get 25 years just for possessing a few hundred dollars worth of drugs.
2. Verifying the quality. If you are trading for stuff on the street, you just have to to trust your supplier, and his supplier's suppliers, and none of them are all that trustworthy.
I've never heard of a counterfitter beaching currency before, either
It's apparently normal procedure in the US, where the paper itself is one of the biggest anti-counterfeiting measures -- and all bills are the same size and color, and the paper is woven so the bills hold up pretty well to accidental trips through the washing machine, as long as you aren't using too strong of bleach. Unfortunately, that also means the paper survives intentional bleaching, and it isn't necessary to get all the color bleached out, just the parts that identify the denomination...
Almost right. An etched copper coil (or more likely aluminum, it's cheaper) can form the antenna, and also a small capacitor/inductor circuit to restrict the response to a narrow band of frequencies, but it can't store serial numbers. The cheapest way by far to do electronic serial numbers is to use a small IC containing the PROM plus interface circuitry. That does have to be connected to either several inches of wire (for the simplest antenna) or to an etched coil (for a more versatile antenna circuit). If you want to read it from several feet away, you probably must have the etched circuit, but the simple wire is enough to read it from a bill inserted into the machine, in a known orientation.
I think antitheft tags use the etched circuit alone. This will echo a signal from a scanner several feet away to tell that a not-paid-for item is walking out the door. The tags aren't unique, but it's not necessary to know _which_ item. If anti-counterfeiting was the sole concern, etched circuits would be nearly as good as a chip-based circuit, and a whole lot cheaper. Each denomination would be tuned differently (so if you bleached a 1 Euro bill and re-printed it as a 100, the scanner would still see it as a 1). Scanners would start at about $50. The biggest counterfeiting threat lately has not been the few "professionals" (they get caught), but thousands of amateurs who get past that bad time before payday by a little work with a color scanner and printer -- it's not real good, but it will get past anyone who doesn't look too close or take time to really feel the paper, or hold it up to the light to check for watermarks and special threads woven in -- so there's about 1% chance a minimum wage clerk or a busy bartender will catch a funny 20 in the US. Any sort of RFID would stop these amateurs.
Professional counterfeiters are rare and usually spend most of their lives in prison because anyone who can etch printing plates, print the money, and sell it, and doesn't take those skills to a legitimate job is either nuts or extraordinarily greedy. So they'll build the business up until the distribution end gets too big, someone gets caught, and turns in others. It might take the T-men a few years, but they persist until the printer is doing 10 to 20, if he's lucky and whatever mobsters are involved don't make sure he won't be around to testify against them.
With or without chips, RFID wouldn't entirely put the pros out of business, but it would make things harder for most of them. Some already have "connections" wherever the paper for currency is made, and since the antenna, and chip if any, have to be added to the papermaking process, they'll get the RFID's too, but probably at double the cost. Those who somehow treat commercially available paper to make it pass for currency paper would be out of business until they figured out how to make the RFID, take two pieces of very thin paper, bond it together with the antenna inside, and still somehow make it look and feel right -- sounds like years of work to me... And if there are any that make their own currency paper, now they have to learn _another_ skill.
AC left out one critical phrase from that definition of terrorism:
terrorism: The unlawful use or threatened use of force or violence, not authorized by a government, by a person or an organized group against people or property with the intention of intimidating or coercing societies or governments, often for ideological or political reasons.
That is, it's violent crime for political reasons. And note that with this definition, any laws against terrorism are redundant -- blowing up buildings is already illegal, blowing up buildings with people in them is more illegal (murder), etc. You don't need anti-terrorist laws, you just need effective enforcement of the usual laws, including doing something about other nations which shelter conspiracies to commit crimes in your nation. So when politicians rush out to pass more laws, ask whether they are (1) pandering to popular hysteria by passing unneeded laws, or (2) extending the power of government to meddle with political groups, thereby making it even harder to get the incumbents unelected...
Of course, by that definition, nonviolent crimes such as computer exploits are certainly not terrorism. When someone calls a non-violent crime, or a non-crime, "terrorism", I rather suspect that he belongs to group 2 above. But this sort of re-definition just pushes us closer to the most cynical definition of "terrorism": individuals or non-governmental groups doing what governments do.
After all, the FBI apparently now has a trojan program that insinuates itself into your system, records your keystrokes, and sends them your passwords. And if they can't directly get to the target system itself, want to bet they won't embed that in a virus to feed to any vulnerable machine on your local net? But they aren't terrorists -- because they're the gov't...
Thanks. Sounds like you know this stuff better than I do. (I bailed out of physics and into engineering 25 years ago...) I would guess that a major reason for doing this experiment in interplanetary space is to avoid much of the interference that ground-based equipment is subject to. But now that I started to think about just how tiny an effect they are looking for, I wonder -- wouldn't a truck driving by the receiving antenna cause it to bounce up and down a little, giving a periodic doppler effect? So you've got to record on several widely separated antennas and compare the results...
Could you comment on one bit of arithmetic in the article? "Cassini's speed relative to Earth... will typically be about what it would take to zip from New York to Chicago in five minutes. In contrast, this experiment could detect any change in speed so small it would lengthen or shorten that trip by a mere fraction of a second." One second in 5 * 60 = 300 is 0.33%, so I suspect this is off by several orders of magnitude (unless you think a fraction of a microsecond and a fraction of a second are equivalent).
could other factors cause apparent--or real--shifts in relative velocity? For example: mini planets, large asteroids, or lopsided planets...
If they see a doppler shift, it's a real velocity change. Electronics designed to transmit and measure frequency are remarkably accurate and stable, so unless NASA didn't bother to put a good oscillator into the transmitter, any measured shift will be real. The only other thing that could cause an apparent shift would be a warped gravity field between the probe and Earth; if there's anything undetected out there capable of that, it would be much bigger news than detecting gravity waves...
A large asteroid near the flight path could change the velocity, but I would expect the experiment design to distinguish that effect from the gravity waves they are looking for. The larger asteroids, and anything else big enough to be gravitationally significant inside the orbit of Neptune, are easily visible in moderate-sized telescopes on Earth, so they are pretty sure they have all been identified and their gravitational contribution already calculated. (These long missions would always miss the target if NASA wasn't pretty good at those calculations.) But if there is something they missed, the effect on the probe speed would be a single cycle, like speeding up as the probe approached and slowing down as it went past. If there's a velocity change that lasts more than one cycle, a gravity wave is about the only explanation. Also, an asteroid would change the direction of the probe's orbit as well as the speed. This can't be measured to the same accuracy as a doppler shift, so it might take quite a while to detect the change, but eventually they would see that the probe is slightly off course.
Finally, "lopsided planets": Earth is slightly irregular in shape and density, causing a measurable effect on satellites in low orbit. Presumably other planets are similar, and the irregularities have not been well mapped. But once you are out a bit from the planet, this effect is no longer measurable. All the nit-picking measurements astronomers took on the Moon over several centuries never showed that Earth was anything but spherical, nor did close observation of other planets' moons ever show irregularities, so it isn't going to affect something much farther away from any planet than the Moon is from Earth.
dillon cited the single German dialect (out of dozens) enforced by schools in Germany. It's not just Germany. Linguistic imperialism is far more common than linguistic freedom. In France, the government has forced the Parisian dialect on the rest of the nation. In England, they don't care how the peasants and servants talk, but I believe Eton and the other high-priced schools have been teaching the entire upper-class a particular and highly distinctive accent for a couple of centuries. In China for at least 2800 years, anyone wanting a role in government had better speak the Mandarin dialect; Cantonese is tolerated in south China, but that's just one other dialect out of at least dozens that once existed.
From what I've heard, voice recognition is fairly good at this point -- the one remaining problem is that human speech isn't all that clear. ("Humorist" would not be a viable career choice otherwise.) If you read a list of random words aloud in your normal speaking voice (not taking care to separate words and talk clearly), chances are most people would mis-identify a quarter to half of them. Read normal sentences aloud, and the error rate of humans who understand the topic is pretty low -- because usually there are many ways the words could be interpreted, but only one way they fit together into a sensible sentence. But there are always some misunderstandings of spoken speech, because now and then there is another coincidental interpretation that seems even better.
Voice recognition systems are actually pretty good at identifying the words. Where they fail is at deciding which of the various possible interpretations of a sentence make sense -- since machine understanding of a typed-in English sentence is still hit or mostly miss, the machine is not going to get enough help interpreting ambiguous sounds from the context of the sentence...
So you aren't going to be able to dictate to your Palm Pilot and get a business letter that you can mail without proofreading and revision. But a human stenographer can't do that either, unless she understands quite a lot about the subject and has experience with how _you_ want the letters to come out. But there was a time when most businessmen thought it worthwhile to pay the wages of a stenographer even though they had to revise every letter and send it back to be re-typed. It beat banging on the old typewriter yourself... I think the best voice recognition now is roughly equivalent to a stupid stenographer; it should do grammar better and spell perfectly, but get the wrong word more often. It's not for me (imagine trying to dictate C code!), but if you aren't willing to lug around a full-size keyboard, or haven't become good at typing, it is quite likely that it will be faster to dictate to a voice machine and then do the needed corrections than to type a document into a palmtop.
As for why print journalists fixate on voice recognition, that's obvious. There was a time when they'd take notes on a little pad, then race to a typewriter -- now that they have laptops, they can add back strain from lugging around the 'puter and many sets of batteries to the older occupational diseases of writers cramp and carpal tunnel. And they still have to run around finding someplace to set the laptop. So say "voice recognition" and they're all dreaming about being able to just find a quiet corner and talk into a palmtop. And let the editors do the re-write, they will anyhow!
Did that use to be an automatic redirect? When I've looked at it, I get a single page with one sentence containing a couple of hyperlinks -- the one saying fuckgeneralmotors going to you know where. Doesn't look like any sort of corporate web site, and there's lots of room for another sentence. But maybe rev 1.0 was different... Not that you can ask for an injunction on the basis of rev 1.0 when it's been replaced by rev 2.0.
When the average person typed fuckgeneralmotors.com and Ford's website popped up, they would have assumed that the domain name was registered by Ford
If the average person is an idiot, yes... IMO, Ford could quite reasonably have asked 2600 to add something like "This website is in no way associated with any automobile manufacturer" to the page, or face a slander suit. But Ford did not ask for that, and the grounds claimed for the injunction were trademark law, not slander. Nor can you ask for an injunction (a prior restraint on speech) in connection with slander.
how mature is a compiler when it reaches self compiling capabilities? It looks like this milepost is "compiles itself", but "compiles itself correctly" is still a long time away. This probably means that nearly all the essential features are in the compiler now, but there is a lot of debugging left. When it compiles itself correctly, it will be close to done, but there are probably some features that aren't used by the compiler, and still have to be written and debugged. For instance, I can't see how a SQL database interface, or the ability to create a web page, would be relevant to compilers, but I would certainly want these capabilities in the library before I tossed out all my old programming tools.
Incidentally, self-compiling is a self-test that is only relevant to some languages. Many languages are quite useful in limited fields, but their primary features are not relevant to compilers, and they may lack features that are essential to compilers. It would be possible to write a compiler in BASIC, FORTRAN, or COBOL, but it would be insane to try it. OTOH, some languages were invented solely for writing compilers -- when it compiles itself correctly, it's done, but it's not much interest to anyone except a computer science professor specializing in compilers.
Self-compilation is a pretty good test for C-type compilers, because these are general purpose languages that are appropriate for compilers, among other things. It's a good test in another sense; quite often one of the problems in testing software is determining whether the output of the program is right or not. If you ran a CAD program (say) through the compiler, the compiler-writers could recognize a few gross errors (won't compile, won't run, erases the data file when you hit Save), but couldn't tell whether or not the finer nuances came out right. But they definitely know what a _compiler_ should do.
Yes, I missed that point.
and interrupt all the (probably quite justified for many other reasons) hysteria against the RIAA and the gov't officials they own, but:
Stamped ID codes on the CD's are nothing new. Book, magazine, and newspaper publishers always identify themselves in their publications. Look down at the bottom of the table of contents in most magazines -- there's the publisher's name and address, among other information. A book will have the publisher's name on the title page, much more information on the reverse side of that page, and an ID # somewhere on the cover. This isn't some sinister plot to extend their monopoly on printed material, or for the gov't to control printing, but rather it's just good for business. You want more copies of that book or article -- here's where you go to buy them legally...
OTOH, the RIAA's belief that those ID codes will prevent piracy seems rather too naive for a business that routinely deals with rap singers and comes out of the deal with most of the money and no bullet holes. I'm sure the pirates will get the message from this Ukrainian action -- when you counterfeit CD's, also counterfeit some legitimate mfg's ID #...
To carry on your car analogy -- yes, OOP is good for modeling the interactions between cars, but first you have to model _one_ car. And this, depending on the level of detail you are looking for, may be simultaneously too simple and too calculation-intensive to fit well into a general purpose OO language. (Simula is a special case -- since it has the required math built-in, it might be competitive.)
To get to something like the problems he was concerned with, let's say you drill down until you need a complete simulation of the air/fuel mixture flow through the intake manifold. "Objects" are irrelevant at this point, all you are concerned with now are many little chunks of gas ("cells"), represented by numbers in a big multi-dimensional array, and related by a massive set of partial differential equations. There are going to be billions or even trillions of floating point operations, taking minutes to hours to complete no matter how efficiently programmed.
You need a language in which you can easily input those equations, and which will very, very quickly go through all the calculations on each cell in that array. FORTRAN excels at this sort of calculation, basically because the language is so unsophisticated that the compiler can do great optimizations. The one issue is that FORTRAN natively understands only basic algebra. The calculus and the process of turning a continuous set of equations into discrete cells of air and steps in time has to be programmed in; there are libraries you can call, but you've got to understand how to pick the right library function and to translate the problem for it.
The second choice is to go to a specialized simulation language like Simula, where the compiler understands discrete integration operations, so you feed in the equations and the geometry and it picks a method of solving it. It might not be the best method, but there's a pretty good chance you'll get usable results without doing a whole lot of work yourself. It's unlikely to run anywhere near as fast as a properly tuned FORTRAN program, but you'll usually get the first-run results much quicker than the FORTRAN could be written. But if you need to try 10,00 different configurations, and FORTRAN runs each one in 2 minutes while other languages take 3 or 4 minutes each...
>>If an individual had systematically poisoned a river running through a town we would call it Terrorism and imprison or execute that person.
As would be the case if they were an organisation.
>>When a corporation like Monsanto does the same thing, we call it business, and most likely we will simply fine the corporation for a minuscule percentage of their wealth, and let them continue these practices.
But someone forming a corporation primarily for terrorism, e.g. Al Queda Inc, would probably not get protection. Even if they also enguaged in legitimate business
If I understand you, you are saying that it's OK to poison the public for profit but not for politics. Are you a mob lawyer by any chance? Or is the difference between Monsanto and the Mafia that those poor Sicilians didn't incorporate?
Fuel cells are already sold for giant UPS's. Mostly they are used in office buildings where the noise of a gas turbine or piston-engine generator would be difficult to muffle. So far they cost considerably more, so if you needed backup power for a factory where noise and a little smoke was OK, you'd probably get a turbo- or motor-generator.
But if I had the money, I'd certainly like to put a fuel cell in my basement. The waste heat could heat the house. Now if I could wangle a connection to the gas well in my neighbor's back yard... (One of the really strange things about living in the country in Michigan is that we've got pipelines for raw, unfiltered, high pressure methane crossing our land, but have to buy propane for our gas appliances.)
I doubt that efficiency is the biggest concern here. If it's actually 150KW (not 150MW), then as someone else pointed out it's only making $10 worth of electricity an hour, so it won't even pay for one man to stay on site.
However, fuel cells are quiet and relatively pollution free. They turn on and off instantly. They shouldn't _need_ anyone on site to keep them running. So a fuel cell can be in a residential neighborhood or right on site for industry and office buildings, providing an instant-on assist to the grid when peak power is needed, backup power the rest of the time, and also heating the building(s).
I mostly want opinions on whether cracking a science satellite would be worth the time.
Let's say some nation (**cough**Iraq) gets tired of American spy satellites watching it. I hope these satellites have pretty secure command authentication. So instead, they take over the steering of other unprotected satellites and try to run them into the spysats. Even if they miss, your experiment schedule is ruined.
If you are depending solely on security through obscurity, cracking it is going to be much easier than getting a shoe full of plastic explosive onto an airliner... Just a few random ideas: (1) Record a few thousand transmissions, and what the satellite does after receiving them. Hire an out of work Russian mathematician to correlate them and reverse engineer the protocol. Heck, I once had to reverse engineer a communications protocol because the developer hadn't completed the documentation; it's not that hard. (2) Get a spy on the payroll. American science researchers love to hire foreign kids with no idea of American pay scales. (3) Go dumpster diving. Chances are you or your customers are printing out command sequences to be checked, and then tossing the printouts in the dumpster.
So you really should be using a cryptographically secure authentication scheme. As it transmits a command, your computer adds a timestamp, computes a hash of the command, timestamp, and a secret key, and appends that; the satellite checks the timestamp is reasonable (within a second or two), then also computes the hash and checks it. If you can keep that one number secret, you are secure as far as taking over the satellite goes.
Can someone effectively execute a DOS attack by uplinking to the satellite with a powerful signal
It's certainly possible, and it's called "jamming". This costs a lot for plain random troublemaking; it takes a steerable dish and a fairly high powered transmitter, with a big electric bill. It seems rather unlikely someone with that budget would spend it just to mess up a science experiment. But unless considerable effort goes into protecting a satellite, jamming it would be small potatoes for a military operation.
There are some substantial (but very secretive) defense contractors making radio and radar jammers for the US military. To jam a satellite using a fixed command frequency, you just point a dish at it and transmit at the same frequency with at least as much power as the actual command center. (I mean power delivered to the satellite antenna -- that's a product of the actual power and the transmitter dish's directionality.) The two signals basically add together, so if the jammer just sends a non-varying signal it's quite likely that the receiver will still be able to pick the commands off the top. But just about anything that varies without too much predictability will do for a jamming signal -- white noise, classical music, Slim Pickens yodeling, Howard Stern...
The most common method of defeating jamming is to change the frequency. Every so often, computers on the ground and in the satellite compute a psuedo-random number, and change to that frequency. It's easy to do that once or more a second, and the jammer is not going to be able to find the new frequency fast enough. (Assuming the number sequence is secure, against both espionage and cryptographic reverse-engineering.) However, if they _really_ want to knock you off the air, it's possible to transmit a very high powered broad-band signal to jam all the channels at once. If there are 1,000 possible channels, the jammer has to be 1,000 times as powerful. Do that to a US military satellite, and I think you will knock it out for a while, but: (1) in a few minutes the satellite orbit will take it out of view from your dish; (2) unless you're a nuclear power, eventually they'll get permission to send a cruise missile into your ground station; (3) That much broadband power will mess up other communications as well, and get other countries mad at you. There are stories that the Soviets used to play a little with our satellites and vice-versa, but nothing serious because both sides had too much to lose...
Another protection against jamming is to use a very directional receiving antenna, so any jammer would have to be on territory you control. This also substantially reduces the required transmitter strength. The problem is keeping that receiver dish pointed at home. In a satellite, you would have to also have an omnidirectional backup antenna, to use to re-gain control if the satellite tumbles. This makes it more complex and expensive than frequency-hopping.
I don't know much about the PowerPC, but IIRC it is indeed supposed to be "a little less hungry for power". Pentiums are RISC CPU's with a front-end instruction translator so they can _simulate_ a 486, 386, 286, and 8088. Naturally that takes a few more transistors and generates more heat than a pure RISC CPU...
Anyhow, an interrupt vector for overheating isn't a lot of good unless a reasonably fast response is guaranteed by the OS. Maybe Mac and *nix OS's can handle this, but Windows isn't good at fast shutdowns. It tells the various applications to shut themselves down, then waits. Sometimes forever. If your word processor wants to ask you about saving the document before shutting down, in normal times that's a good thing, but (1) Windows may neglect to bring that dialogue box to the top where you can see and respond to it, and (2) Windows has no mechanism to force it to time-out and do a default action if you never respond, or if the CPU is going to fry in one more second and there isn't time to wait for you. And if you are running MS Outlook, it probably has to write all the e-mail you ever sent and received to disk in one gigantic file, and that certainly is going to take too long... (There are probably other reasons shutdown hangs also, like it shut down some service while other applications still need it to complete their shut down.)
Another issue is how fast the thing is overheating. If the fan died or airflow is obstructed, but a great big metal heatsink is properly attached, it's going to take several minutes for the chip and heatsink to overheat to damaging temperatures. So there's enough time for an orderly shutdown, if the OS is capable of ensuring that it proceeds. But if the thermal grease isn't there, the CPU may be heating up all by itself, and it takes only a few seconds to fry it. Non-realtime OS's (just about all desktop and server OS's) probably aren't going to react fast enough. Realtime OS's can guarantee a response in a few milliseconds, but the best they could do would be a sudden shutdown without saving data; when you have 64MB of RAM, there's bound to be too much to save... So you might as well make the overtemp shutdown a hardware function.
In the 1970's, there were mainframe OS's that could shut down in case of power failures within 1/120th of a second, and come back up with everything running just fine when power came on. They had core memory, which (if you were careful about the circuit design and shielding) would hold data with power out. So all the OS had to do was to reserve a block of memory to save registers, and then reload from there when turned back on and off they went.
so that part about never having sex again is not entirely true.
It was Linux (KDE), but this is probably hardware, not OS related. AFAIK, shutdowns due to thermal thresholds being exceeded are done by the hardware alone, with no input to the OS. (This does give you a shutdown without proper preparation by the OS, requiring a file system check when started up again, but if your box waited for Windoze shutdown the CPU would fry for sure...) Or does anyone know different?
The newest Intel CPU's will detect overheating and either shut themselves down (P3) or throttle back the clock rate (P4); it's not an OS function. Athlons have a built-in temperature sensor, but depend on motherboard circuitry to act when the temperature rises. And until quite recently (when a hobbyist magazine demonstrated Athlons melting down when the heatsink fell off), the circuitry recommended by AMD didn't react quickly enough to save a chip that wasn't thermally connected to a heatsink. (At least not where 800MHz+ systems are concerned; older, slower CPU's just didn't heat up that fast.)
What is meant by this is that replacing the thermal pad with thermal compund is optional. That must be what he meant, but it isn't what Tuan said. That's just common sense. It's common sense if you're an experienced technician. Kids and software geeks wouldn't necessarily know it. And that article really wasn't aimed at people that would know things like why you need a thermal compound or pad -- just give me a parts list on one page, rather than forcing me to fetch many pages from a very slow server just so Tuan could chatter on and on, and put in pictures of everything including the freakin power supply!
By the way, properly applied paste is better than a pad -- but it takes some rather messy work, so if a pad is available and good enough...
There are two problems with barter, or using drugs, liquor, diamonds, or whatever as "street currency":
1. Transporting the stuff. Booze is heavy, cigarettes are bulky, and if the local tax stamps are missing you can get busted for having them. Worse than that, you can get 25 years just for possessing a few hundred dollars worth of drugs.
2. Verifying the quality. If you are trading for stuff on the street, you just have to to trust your supplier, and his supplier's suppliers, and none of them are all that trustworthy.
Nicely reasoned. But what ever gave you the idea I'm a Democrat or a supporter of "hate crime" legislation?
I've never heard of a counterfitter beaching currency before, either
It's apparently normal procedure in the US, where the paper itself is one of the biggest anti-counterfeiting measures -- and all bills are the same size and color, and the paper is woven so the bills hold up pretty well to accidental trips through the washing machine, as long as you aren't using too strong of bleach. Unfortunately, that also means the paper survives intentional bleaching, and it isn't necessary to get all the color bleached out, just the parts that identify the denomination...
Almost right. An etched copper coil (or more likely aluminum, it's cheaper) can form the antenna, and also a small capacitor/inductor circuit to restrict the response to a narrow band of frequencies, but it can't store serial numbers. The cheapest way by far to do electronic serial numbers is to use a small IC containing the PROM plus interface circuitry. That does have to be connected to either several inches of wire (for the simplest antenna) or to an etched coil (for a more versatile antenna circuit). If you want to read it from several feet away, you probably must have the etched circuit, but the simple wire is enough to read it from a bill inserted into the machine, in a known orientation.
I think antitheft tags use the etched circuit alone. This will echo a signal from a scanner several feet away to tell that a not-paid-for item is walking out the door. The tags aren't unique, but it's not necessary to know _which_ item. If anti-counterfeiting was the sole concern, etched circuits would be nearly as good as a chip-based circuit, and a whole lot cheaper. Each denomination would be tuned differently (so if you bleached a 1 Euro bill and re-printed it as a 100, the scanner would still see it as a 1). Scanners would start at about $50. The biggest counterfeiting threat lately has not been the few "professionals" (they get caught), but thousands of amateurs who get past that bad time before payday by a little work with a color scanner and printer -- it's not real good, but it will get past anyone who doesn't look too close or take time to really feel the paper, or hold it up to the light to check for watermarks and special threads woven in -- so there's about 1% chance a minimum wage clerk or a busy bartender will catch a funny 20 in the US. Any sort of RFID would stop these amateurs.
Professional counterfeiters are rare and usually spend most of their lives in prison because anyone who can etch printing plates, print the money, and sell it, and doesn't take those skills to a legitimate job is either nuts or extraordinarily greedy. So they'll build the business up until the distribution end gets too big, someone gets caught, and turns in others. It might take the T-men a few years, but they persist until the printer is doing 10 to 20, if he's lucky and whatever mobsters are involved don't make sure he won't be around to testify against them.
With or without chips, RFID wouldn't entirely put the pros out of business, but it would make things harder for most of them. Some already have "connections" wherever the paper for currency is made, and since the antenna, and chip if any, have to be added to the papermaking process, they'll get the RFID's too, but probably at double the cost. Those who somehow treat commercially available paper to make it pass for currency paper would be out of business until they figured out how to make the RFID, take two pieces of very thin paper, bond it together with the antenna inside, and still somehow make it look and feel right -- sounds like years of work to me... And if there are any that make their own currency paper, now they have to learn _another_ skill.
AC left out one critical phrase from that definition of terrorism:
terrorism: The unlawful use or threatened use of force or violence, not authorized by a government, by a person or an organized group against people or property with the intention of intimidating or coercing societies or governments, often for ideological or political reasons.
That is, it's violent crime for political reasons. And note that with this definition, any laws against terrorism are redundant -- blowing up buildings is already illegal, blowing up buildings with people in them is more illegal (murder), etc. You don't need anti-terrorist laws, you just need effective enforcement of the usual laws, including doing something about other nations which shelter conspiracies to commit crimes in your nation. So when politicians rush out to pass more laws, ask whether they are (1) pandering to popular hysteria by passing unneeded laws, or (2) extending the power of government to meddle with political groups, thereby making it even harder to get the incumbents unelected...
Of course, by that definition, nonviolent crimes such as computer exploits are certainly not terrorism. When someone calls a non-violent crime, or a non-crime, "terrorism", I rather suspect that he belongs to group 2 above. But this sort of re-definition just pushes us closer to the most cynical definition of "terrorism": individuals or non-governmental groups doing what governments do.
After all, the FBI apparently now has a trojan program that insinuates itself into your system, records your keystrokes, and sends them your passwords. And if they can't directly get to the target system itself, want to bet they won't embed that in a virus to feed to any vulnerable machine on your local net? But they aren't terrorists -- because they're the gov't...
Thanks. Sounds like you know this stuff better than I do. (I bailed out of physics and into engineering 25 years ago...) I would guess that a major reason for doing this experiment in interplanetary space is to avoid much of the interference that ground-based equipment is subject to. But now that I started to think about just how tiny an effect they are looking for, I wonder -- wouldn't a truck driving by the receiving antenna cause it to bounce up and down a little, giving a periodic doppler effect? So you've got to record on several widely separated antennas and compare the results...
... will typically be about what it would take to zip from New York to Chicago in five minutes. In contrast, this experiment could detect any change in speed so small it would lengthen or shorten that trip by a mere fraction of a second." One second in 5 * 60 = 300 is 0.33%, so I suspect this is off by several orders of magnitude (unless you think a fraction of a microsecond and a fraction of a second are equivalent).
Could you comment on one bit of arithmetic in the article? "Cassini's speed relative to Earth
could other factors cause apparent--or real--shifts in relative velocity? For example: mini planets, large asteroids, or lopsided planets...
If they see a doppler shift, it's a real velocity change. Electronics designed to transmit and measure frequency are remarkably accurate and stable, so unless NASA didn't bother to put a good oscillator into the transmitter, any measured shift will be real. The only other thing that could cause an apparent shift would be a warped gravity field between the probe and Earth; if there's anything undetected out there capable of that, it would be much bigger news than detecting gravity waves...
A large asteroid near the flight path could change the velocity, but I would expect the experiment design to distinguish that effect from the gravity waves they are looking for. The larger asteroids, and anything else big enough to be gravitationally significant inside the orbit of Neptune, are easily visible in moderate-sized telescopes on Earth, so they are pretty sure they have all been identified and their gravitational contribution already calculated. (These long missions would always miss the target if NASA wasn't pretty good at those calculations.) But if there is something they missed, the effect on the probe speed would be a single cycle, like speeding up as the probe approached and slowing down as it went past. If there's a velocity change that lasts more than one cycle, a gravity wave is about the only explanation. Also, an asteroid would change the direction of the probe's orbit as well as the speed. This can't be measured to the same accuracy as a doppler shift, so it might take quite a while to detect the change, but eventually they would see that the probe is slightly off course.
Finally, "lopsided planets": Earth is slightly irregular in shape and density, causing a measurable effect on satellites in low orbit. Presumably other planets are similar, and the irregularities have not been well mapped. But once you are out a bit from the planet, this effect is no longer measurable. All the nit-picking measurements astronomers took on the Moon over several centuries never showed that Earth was anything but spherical, nor did close observation of other planets' moons ever show irregularities, so it isn't going to affect something much farther away from any planet than the Moon is from Earth.
force everyone to correctly speak the same
dillon cited the single German dialect (out of dozens) enforced by schools in Germany. It's not just Germany. Linguistic imperialism is far more common than linguistic freedom. In France, the government has forced the Parisian dialect on the rest of the nation. In England, they don't care how the peasants and servants talk, but I believe Eton and the other high-priced schools have been teaching the entire upper-class a particular and highly distinctive accent for a couple of centuries. In China for at least 2800 years, anyone wanting a role in government had better speak the Mandarin dialect; Cantonese is tolerated in south China, but that's just one other dialect out of at least dozens that once existed.
From what I've heard, voice recognition is fairly good at this point -- the one remaining problem is that human speech isn't all that clear. ("Humorist" would not be a viable career choice otherwise.) If you read a list of random words aloud in your normal speaking voice (not taking care to separate words and talk clearly), chances are most people would mis-identify a quarter to half of them. Read normal sentences aloud, and the error rate of humans who understand the topic is pretty low -- because usually there are many ways the words could be interpreted, but only one way they fit together into a sensible sentence. But there are always some misunderstandings of spoken speech, because now and then there is another coincidental interpretation that seems even better.
Voice recognition systems are actually pretty good at identifying the words. Where they fail is at deciding which of the various possible interpretations of a sentence make sense -- since machine understanding of a typed-in English sentence is still hit or mostly miss, the machine is not going to get enough help interpreting ambiguous sounds from the context of the sentence...
So you aren't going to be able to dictate to your Palm Pilot and get a business letter that you can mail without proofreading and revision. But a human stenographer can't do that either, unless she understands quite a lot about the subject and has experience with how _you_ want the letters to come out. But there was a time when most businessmen thought it worthwhile to pay the wages of a stenographer even though they had to revise every letter and send it back to be re-typed. It beat banging on the old typewriter yourself... I think the best voice recognition now is roughly equivalent to a stupid stenographer; it should do grammar better and spell perfectly, but get the wrong word more often. It's not for me (imagine trying to dictate C code!), but if you aren't willing to lug around a full-size keyboard, or haven't become good at typing, it is quite likely that it will be faster to dictate to a voice machine and then do the needed corrections than to type a document into a palmtop.
As for why print journalists fixate on voice recognition, that's obvious. There was a time when they'd take notes on a little pad, then race to a typewriter -- now that they have laptops, they can add back strain from lugging around the 'puter and many sets of batteries to the older occupational diseases of writers cramp and carpal tunnel. And they still have to run around finding someplace to set the laptop. So say "voice recognition" and they're all dreaming about being able to just find a quiet corner and talk into a palmtop. And let the editors do the re-write, they will anyhow!
Did that use to be an automatic redirect? When I've looked at it, I get a single page with one sentence containing a couple of hyperlinks -- the one saying fuckgeneralmotors going to you know where. Doesn't look like any sort of corporate web site, and there's lots of room for another sentence. But maybe rev 1.0 was different... Not that you can ask for an injunction on the basis of rev 1.0 when it's been replaced by rev 2.0.
When the average person typed fuckgeneralmotors.com and Ford's website popped up, they would have assumed that the domain name was registered by Ford
If the average person is an idiot, yes... IMO, Ford could quite reasonably have asked 2600 to add something like "This website is in no way associated with any automobile manufacturer" to the page, or face a slander suit. But Ford did not ask for that, and the grounds claimed for the injunction were trademark law, not slander. Nor can you ask for an injunction (a prior restraint on speech) in connection with slander.
No, I've seen cases where they _knew_ who it was and didn't do anything effective.