First, they're round, with the active surface uniform around the tube. So only a
fraction of the active surface is doing much. Unless they can make active surface
far cheaper than anybody else, this is a lose.
The claimed advantage of this approach is supposed to be that the units can be
mounted flat to the roof. But you can do that with flat solar panels; it just
costs you about 30% of the output because you're not getting max sun input per unit area. Solyndra is paying a bigger oblique penalty than that; they're probably losing 60% over a flat
panel pointed roughly at the sun.
Their web site has no numbers on prices, costs, efficiency, output per unit area, or third party test results. That's a bad sign.
I've done work like that. But it was a long time ago, back in the early 1980s. It took over an hour on a VAX 11/780 to verify a few hundred lines of code. (See the example auto engine control program that starts on page 55; this was funded by the Ford Motor Company.) Today, it would take under a second.
Proof of correctness systems are quite feasible, but a pain to use. They also tend to be developed by people who are in love with the formalism, which can be a problem for programmers.
Formal specifications are hard to write and harder to verify, which is the real problem. However, automatically grinding through code and finding all potential overflow and subscript errors is quite practical. We were doing that in 1984. You get about 95% of the checks verified automatically, and then have to provide additional information to get the rest of them satisfied. That's where the human effort goes. If you can formalize the concept of "bad stuff that should never happen", which is something NSA tries hard to do with "mandatory security policies", you have a hope of verifying it.
There have been some impressive proof efforts over the years. There's been quite a bit of effort
devoted to proof of correctness for hardware at the VHDL level. Boyer and Moore did a proof of correctness for AMD's FPU after Intel had the famous Pentium divide bug.
What really set back the field was the replacement of Pascal by C. Pascal has well-defined semantics that can be formalized. C, and C++, do not. That's why I got out of the field.
There was some nice work on Modula verification at DEC in the 1990s, but it died with DEC.
Some of the same people went to Microsoft and built a verifier for a dialect of C#. There's been some work at Rational over the years. But it's never gone mainstream.
It's an interesting capability, but rather specialized.
What DARPA apparently wants is an aircraft with modest underwater capability, just enough to
submerge to snorkel depth. It's intended to carry a Navy SEAL team. (They use the term "operators",
which includes a range of special-ops people, but if it's an open-ocean job, they'll probably be SEALs.)
SEALs already have various rubber boats and mini-subs, and those can be deployed from helicopters, existing submarines, and surface craft. So why the need for this specialized craft?
It would have to be for a place where the U.S. Navy couldn't operate offshore, even with submarines. Now where would that be? The Black Sea and the Caspian Sea are probably the only such bodies of water of military interest. The Black Sea is considered a "Russian lake"; no US vessel is going to get through the Bosphorus. The Caspian Sea is inland, and borders on northern Iran, but isn't a useful route for an special-forces attack on Iran.
But the Black Sea port of Poti, in Georgia, is of current military interest. During the war in South Ossetta, the Russians took over Poti and the road/rail links to Gori, so that they'd have an escape/supply route in case somebody took out the Roki Tunnel, their only other access route. (Read, or see, "A Bridge Too Far", for what happens to an armored assault force out at the end of a long, thin string the enemy can cut.) If Russia wants to move into Georgia in force, they'll need sea access at Poti, or somewhere along the Black Sea coast. The US might want to do something about that, something short of full-scale military confrontation with Russia.
I have real doubts about the bailout "working". The underlying problems with the financial system are more fundamental. We have a sizable chunk of the financial system based on the assumption that real interest rates (after inflation) will remain negative.
Currently, US dollar inflation is around 5.4%. (9% to 11% if you use classical numbers, computed the way inflation was calculated prior to the 1980s.) Normally, the Fed funds rate is just above inflation, LIBOR and the prime rate run around 2% above inflation, and mortgages run about 6% above it. For the past year, the Fed has been flooding the financial system with cheap money, at 2%, in a failing attempt to avoid a recession. LIBOR is 3.88%. So we're currently in a situation where key real interest rates are well below inflation. LIBOR, in real terms, is about -1.5%. This is very unusual historically.
The problem is that 1) negative real interest rates can't last for long without producing runaway inflation; the money has to come from somewhere, and 2) there are sectors of the financial system that
are addicted to those low, low rates. Last week, LIBOR briefly hit 6.88%, businesses were screaming "credit crunch", and AT&T and GE were having difficulties rolling over their commercial paper. (GE Credit borrowed short and lent long, which is a bet on low interest rates.)
The mortgage portion of the economy is heavily dependent on those low interest rates.
A mortgage really should cost a good borrower about 11.5% right now; 6% as the cost of the mortgage, and 5.4% for inflation. The "bailout" is all about keeping those interest rates artificially low. For a while longer.
Probably not that much longer. Expect a "credit crunch" in 2009 as financial reality reasserts itself.
There's nothing wrong with a credit crunch. It just means that businesses have to
finance more with equity and less with debt. (Because interest on debt is deductible
by business borrowers, there's a systemic bias towards financing with debt.)
Consumer credit rates, other than for autos, are already at credit-crunch levels.
(Stop in at your local "payday loan" outlet and ask them what their APR is.)
And besides, we might see worthwhile interest rates on savings accounts.
What's "normal?" 3% real interest on savings accounts, 6% on loans, and the median house costs 2.5 years median income. That multiplier got up to over 4 in the US nationally, and over 10 in some markets. That was two years ago; now those numbers are lower, but not low enough.
When bubbles burst, they burst all the way. Tokyo residential real estate dropped over 90% when their bubble burst in 1989, and never went that high again.
It might be helpful to run your programs through one of the more advanced Python compilers, like Shed Skin or PyPy, if and when they get converted to Python 3.0. They have implicit type analysis, and if you get data from "read" and apply a string operation without conversion, they will usually report that as a compile-time error. So you may get to find most or all of the errors up front. CPython, being a naive interpreter, will happily compile code that will always raise an exception at run time.
From What's new in Python 3.0:
The str and bytes types cannot be mixed; you must always explicitly convert between them, using the str.encode() (str -> bytes) or bytes.decode() (bytes -> str) methods.
That's the right way to do it, but I agree that as a retrofit to existing code, it's a headache.
Worse, it's a problem that's detected at run time, not compile time, at least with the CPython implementation.
Many essential third party libraries need to be converted for Python 3.0. I need M2Crypto (SSL support) and MySQLdb (MySQL support), neither of which is ready for Python 3.0, and neither of which has been updated in the last year or so.
My guess is that it will be three years before stock mainstream Linux distros come with Python 3.0 and a set of libraries that work with it.
The problem is that there are three kinds of string-like objects in Python: UTF-16 strings, ASCII strings, and uninterpreted arrays of 8-bit bytes. Python 2.5 sort of supports all 3, with "array of bytes" the least well supported. Since this is a language without declarations, the semantics of this gets messy.
The most common problem was that functions like ".read()" yielded strings, not arrays of bytes. This follows C standard library semantics, but is a bad fit to Python. In 3.0, ".read()" yields an array of bytes, not a string. If the data read is to be converted to a string, "decode" is required. That's the right answer.
This is consistent with modern thinking about data representation. Consider SQL, which makes a similar distinction between "TEXT" and "BLOB".
A conventional gaming device or client must exhibit total immunity to human body
electrostatic discharges on all player-exposed areas. For purposes of this standard, a human
body discharge is considered to be an electrical potential of not greater than 20,000 volts DC
discharged through a network with a series resistance of 150 to 1500 ohms shunted by a
capacitance of 100 to 150 picofarads. The device must withstand this discharge repeated at one second
intervals. The power source for this human body equivalent is a high-impedance source
such that, in effect, the energy available for a given discharge is limited to that contained in the
shunt capacitor.
A gaming device may exhibit temporary disruption when subjected to electrostatic
discharges of 20,000 to 27,000 volts DC through a network with a series resistance of 150 to 1500 ohms shunted by a capacitance of 100 to 150 picofarads, but must exhibit a capacity to
recover and complete an interrupted play without loss or corruption of any stored or displayed
information and without component failure.
Gaming device power supply filtering must be sufficient to prevent disruption of the device
by repeated switching on and off of the AC power. The device must not exhibit disruption when a
1 microfarad capacitor, charged to plus or minus 680 volts DC is discharged between the hot and
neutral AC supply lines, at any phase from zero to 360 degrees, with a repetition rate of 30 times
per second.
In other words, short of firing a Taser at the thing, you can't interfere with a slot machine with static electricity. (And if you did fire a Taser at the thing, alarms would go off.)
Well, there's the Tesla, with 200 mile range on a charge. The price, at $100,000+, is excessive, although not by supercar standards. The energy density of batteries is
at last good enough. Price, though...
I've seen a Tesla being driven on the road past my house. It was a rather dirty car, so it was actually being used. I live in the northern part of Silicon Valley, near the Tesla
dealership, and am on a scenic route to Woodside, so it's not that surprising to see an exotic. The number of Teslas on the road is still under 100, though.
Google has become a key enabler in spams and scams, because it's so easy to create GMail accounts in bulk. Many sites block email addresses from Hotmail and AOL, because they're mostly either spammers or losers.
GMail once had a better reputation, because it was launched as an "exclusive" service. But we're getting close to the point where probably time to start blocking GMail addresses too.
Want to see a GMail scammer in action right now? Read this.
It's time to get rid of swapping. Serious real-time OSs don't swap, and more of
what's being done on the desktop today has at least soft real-time constraints, like
playing music, videos, animations, games, audio, etc.
With QNX, running as a desktop system, there's a bar at the lower right of the screen showing how much memory is in use. If it reaches the right, you can't load any more
programs, and requests by existing programs for more memory will be rejected. This doesn't crash the OS; the system is well-behaved in an out-of-memory state, and executing programs will continue to chug away as long as they don't demand more memory. There's no reason Linux couldn't be made to work that way. Applications need to be reworked to behave better in out-of-memory situations, though.
(Actually, QNX does have swapping support, but it's only used for a few programs, like compilers, which are inherently batch operations.)
First of all, C# is a Java competitor, not a C/C++ competitor. It has an underlying layer of middleware, garbage collection, and just-in-time compilation, like Java.
It exists because Microsoft didn't like developers using a Sun-developed standard.
Something was needed for business application developers that wasn't as hard as C/C++, and was closely tied to a Microsoft platform. That's C#.
We still don't have a good replacement for C or C++. The big problems with C are 1) the language doesn't know how big arrays are (the cause of most of the buffer overflows in the world), 2) the language has no clue about concurrency or locking (the cause of most of the race conditions in the world). Those aren't fundamental problems of a low-level language; Ada and Modula 3 addressed both problems.
C++ doesn't fix either of those problems; it just papers them over with a layer of templated wallpaper. The mold underneath keeps seeping through the wallpaper. C++ has hiding without safety, the only major language in that space.
The original article has some interesting points. It had never occurred to me that a programming language should be designed to support command completion. Personally, I think an environment that displays the parameters of a function when you start to type a call is more useful.
Unless your "cloud" provider offers a service level guarantee with teeth, is contractually obligated to continue to provide the service for some period of time, and has sound financial fundamentals, this is risky.
I think we'll see a big shutdown of money-losing web services over the next year.
Nero is notorious for installing processes you don't want that run all the time.
I bought the DVD writer program (the commercial product, not the free version) and, even though I turned off
everything else, it installed an "indexing service" and a "backup service", which started up at boot time. I wouldn't trust a product from them. You don't know that it's doing.
(By the way, what's a reliable Windows non-Vista product for writing DVDs of both data and video formats. I don't need "ripping", but want to transcode some of my old animation.avi files to DVD.)
The problem is that this is a crypto box without a "zeroize" button.
A VPN device is, among other things, a crypto unit. Real crypto units are very explicit
about key control. Sometimes, the key is in a removable and easy-to-destroy form. On units with internal key storage, there's a guarded "zeroize" button that clears all keys to zero.
Cisco didn't provide either a "zeroize" button or a removable key. So there's no easy way to scrub the thing before selling it, or to be sure it was scrubbed.
From the papter:
"The resulting model is an
automaton that represents the legitimate order of system
calls that an application may issue. This automaton is
then enforced by Korset's monitoring agent, which is
built into the Linux kernel, by simulating every emitted
system call."
This is not likely to work for scriptable applications (Apache, Java-based servers, etc.) The order of calls is determined by the script, not the underlying executable.
Even that can be screwed up. Knowledge Revolution, makers of Working Model, a kind of CAD system with a physics engine, once shipped me a program with that kind of DRM. Unfortunately, the manual was just slightly out of sync with the program; if the program wanted a page number more than halfway through the manual, it wouldn't work. It often took a few tries to get the program to run, retrying until the page number that came up was in the first half of the manual.
Actually, I'm surprised that Microsoft doesn't support some standard Windows DRM system based on their Trusted Computing Platform technology.
For game developers, the realistic solution is to either develop for consoles, or develop multiplayer versions that require a server account.
Tao apparently really is the head of the Temple University physics department. He is the author of "Electrorheological Fluids: Mechanisms, Properties, Technology, and Applications", which is relevant, because electrorheological fluids are ones where the viscosity and shear stress change when an electric field is applied. This effect is sometimes used for specialized clutches; attempts to make robot muscles using it have been tried, which is why I know about it.
So he ought to know something about viscosity changes in an electric field.
This is his second attempt to come up with a mainstream application for this marginally useful physical effect. The last one, in 2006, was a scheme for treating crude oil to reduce viscosity for pumping. Tests indicated it required more energy to reduce the viscosity than it saved in pumping.
This effect only works on liquids which carry along particles of a different substance; it won't do anything for a homogeneous pure liquid. So it's unlikely to do anything for gasoline. Diesel, maybe; #2 diesel fuel is a mixture of a broad range of hydrocarbons.
There's a whole industry selling Diesel fuel treatment additives. Unlike gasoline additives, which are mostly bogus, Diesel additives sometimes have some value, because there are various impurities which can appear in Diesel fuel and cause trouble. Also, since many large Diesel fuel users store fuel for long periods, deterioration in storage is a problem, and so there's a real role for additives there.
Because Diesel fuel is so variable, any tests involving it have to be coupled with lab tests to find out what was in the batch of fuel being tested. Was that done here?
The Solyndra tubes have me puzzled.
First, they're round, with the active surface uniform around the tube. So only a fraction of the active surface is doing much. Unless they can make active surface far cheaper than anybody else, this is a lose.
The claimed advantage of this approach is supposed to be that the units can be mounted flat to the roof. But you can do that with flat solar panels; it just costs you about 30% of the output because you're not getting max sun input per unit area. Solyndra is paying a bigger oblique penalty than that; they're probably losing 60% over a flat panel pointed roughly at the sun.
Their web site has no numbers on prices, costs, efficiency, output per unit area, or third party test results. That's a bad sign.
I've done work like that. But it was a long time ago, back in the early 1980s. It took over an hour on a VAX 11/780 to verify a few hundred lines of code. (See the example auto engine control program that starts on page 55; this was funded by the Ford Motor Company.) Today, it would take under a second.
Proof of correctness systems are quite feasible, but a pain to use. They also tend to be developed by people who are in love with the formalism, which can be a problem for programmers. Formal specifications are hard to write and harder to verify, which is the real problem. However, automatically grinding through code and finding all potential overflow and subscript errors is quite practical. We were doing that in 1984. You get about 95% of the checks verified automatically, and then have to provide additional information to get the rest of them satisfied. That's where the human effort goes. If you can formalize the concept of "bad stuff that should never happen", which is something NSA tries hard to do with "mandatory security policies", you have a hope of verifying it.
There have been some impressive proof efforts over the years. There's been quite a bit of effort devoted to proof of correctness for hardware at the VHDL level. Boyer and Moore did a proof of correctness for AMD's FPU after Intel had the famous Pentium divide bug.
What really set back the field was the replacement of Pascal by C. Pascal has well-defined semantics that can be formalized. C, and C++, do not. That's why I got out of the field.
There was some nice work on Modula verification at DEC in the 1990s, but it died with DEC. Some of the same people went to Microsoft and built a verifier for a dialect of C#. There's been some work at Rational over the years. But it's never gone mainstream.
It's an interesting capability, but rather specialized.
What DARPA apparently wants is an aircraft with modest underwater capability, just enough to submerge to snorkel depth. It's intended to carry a Navy SEAL team. (They use the term "operators", which includes a range of special-ops people, but if it's an open-ocean job, they'll probably be SEALs.)
SEALs already have various rubber boats and mini-subs, and those can be deployed from helicopters, existing submarines, and surface craft. So why the need for this specialized craft?
It would have to be for a place where the U.S. Navy couldn't operate offshore, even with submarines. Now where would that be? The Black Sea and the Caspian Sea are probably the only such bodies of water of military interest. The Black Sea is considered a "Russian lake"; no US vessel is going to get through the Bosphorus. The Caspian Sea is inland, and borders on northern Iran, but isn't a useful route for an special-forces attack on Iran.
But the Black Sea port of Poti, in Georgia, is of current military interest. During the war in South Ossetta, the Russians took over Poti and the road/rail links to Gori, so that they'd have an escape/supply route in case somebody took out the Roki Tunnel, their only other access route. (Read, or see, "A Bridge Too Far", for what happens to an armored assault force out at the end of a long, thin string the enemy can cut.) If Russia wants to move into Georgia in force, they'll need sea access at Poti, or somewhere along the Black Sea coast. The US might want to do something about that, something short of full-scale military confrontation with Russia.
So that's what this is good for.
Well, let's see how "professional journalism" is doing over at the National Inquirer. Today's headlines:
"Got Gossip? We'll pay big bucks. Click or email us. Click here."
If one of the astronauts wants to play chess by mail, that's fine. But this is just a PR stunt.
I have real doubts about the bailout "working". The underlying problems with the financial system are more fundamental. We have a sizable chunk of the financial system based on the assumption that real interest rates (after inflation) will remain negative.
Currently, US dollar inflation is around 5.4%. (9% to 11% if you use classical numbers, computed the way inflation was calculated prior to the 1980s.) Normally, the Fed funds rate is just above inflation, LIBOR and the prime rate run around 2% above inflation, and mortgages run about 6% above it. For the past year, the Fed has been flooding the financial system with cheap money, at 2%, in a failing attempt to avoid a recession. LIBOR is 3.88%. So we're currently in a situation where key real interest rates are well below inflation. LIBOR, in real terms, is about -1.5%. This is very unusual historically.
The problem is that 1) negative real interest rates can't last for long without producing runaway inflation; the money has to come from somewhere, and 2) there are sectors of the financial system that are addicted to those low, low rates. Last week, LIBOR briefly hit 6.88%, businesses were screaming "credit crunch", and AT&T and GE were having difficulties rolling over their commercial paper. (GE Credit borrowed short and lent long, which is a bet on low interest rates.)
The mortgage portion of the economy is heavily dependent on those low interest rates. A mortgage really should cost a good borrower about 11.5% right now; 6% as the cost of the mortgage, and 5.4% for inflation. The "bailout" is all about keeping those interest rates artificially low. For a while longer.
Probably not that much longer. Expect a "credit crunch" in 2009 as financial reality reasserts itself.
There's nothing wrong with a credit crunch. It just means that businesses have to finance more with equity and less with debt. (Because interest on debt is deductible by business borrowers, there's a systemic bias towards financing with debt.) Consumer credit rates, other than for autos, are already at credit-crunch levels. (Stop in at your local "payday loan" outlet and ask them what their APR is.) And besides, we might see worthwhile interest rates on savings accounts.
What's "normal?" 3% real interest on savings accounts, 6% on loans, and the median house costs 2.5 years median income. That multiplier got up to over 4 in the US nationally, and over 10 in some markets. That was two years ago; now those numbers are lower, but not low enough.
When bubbles burst, they burst all the way. Tokyo residential real estate dropped over 90% when their bubble burst in 1989, and never went that high again.
We told you this would happen. You didn't listen. Now suffer the consequences.
It might be helpful to run your programs through one of the more advanced Python compilers, like Shed Skin or PyPy, if and when they get converted to Python 3.0. They have implicit type analysis, and if you get data from "read" and apply a string operation without conversion, they will usually report that as a compile-time error. So you may get to find most or all of the errors up front. CPython, being a naive interpreter, will happily compile code that will always raise an exception at run time.
From What's new in Python 3.0: The str and bytes types cannot be mixed; you must always explicitly convert between them, using the str.encode() (str -> bytes) or bytes.decode() (bytes -> str) methods.
That's the right way to do it, but I agree that as a retrofit to existing code, it's a headache.
Worse, it's a problem that's detected at run time, not compile time, at least with the CPython implementation.
Many essential third party libraries need to be converted for Python 3.0. I need M2Crypto (SSL support) and MySQLdb (MySQL support), neither of which is ready for Python 3.0, and neither of which has been updated in the last year or so.
My guess is that it will be three years before stock mainstream Linux distros come with Python 3.0 and a set of libraries that work with it.
The problem is that there are three kinds of string-like objects in Python: UTF-16 strings, ASCII strings, and uninterpreted arrays of 8-bit bytes. Python 2.5 sort of supports all 3, with "array of bytes" the least well supported. Since this is a language without declarations, the semantics of this gets messy.
The most common problem was that functions like ".read()" yielded strings, not arrays of bytes. This follows C standard library semantics, but is a bad fit to Python. In 3.0, ".read()" yields an array of bytes, not a string. If the data read is to be converted to a string, "decode" is required. That's the right answer.
This is consistent with modern thinking about data representation. Consider SQL, which makes a similar distinction between "TEXT" and "BLOB".
What next, cars from Speed Racer?
(None of the cars from the movie actually work. The ones that aren't entirely CG don't have engines.)
The Nevada Gaming Commission has been there and done that. Here are their standards for immunity to static electricity for slot machines. Every slot machine in Nevada meets these standards. (Yes, they test.)
1.020 Electrical interference immunity.
In other words, short of firing a Taser at the thing, you can't interfere with a slot machine with static electricity. (And if you did fire a Taser at the thing, alarms would go off.)
Well, there's the Tesla, with 200 mile range on a charge. The price, at $100,000+, is excessive, although not by supercar standards. The energy density of batteries is at last good enough. Price, though...
I've seen a Tesla being driven on the road past my house. It was a rather dirty car, so it was actually being used. I live in the northern part of Silicon Valley, near the Tesla dealership, and am on a scenic route to Woodside, so it's not that surprising to see an exotic. The number of Teslas on the road is still under 100, though.
Google has become a key enabler in spams and scams, because it's so easy to create GMail accounts in bulk. Many sites block email addresses from Hotmail and AOL, because they're mostly either spammers or losers. GMail once had a better reputation, because it was launched as an "exclusive" service. But we're getting close to the point where probably time to start blocking GMail addresses too.
Want to see a GMail scammer in action right now? Read this.
It's time to get rid of swapping. Serious real-time OSs don't swap, and more of what's being done on the desktop today has at least soft real-time constraints, like playing music, videos, animations, games, audio, etc.
With QNX, running as a desktop system, there's a bar at the lower right of the screen showing how much memory is in use. If it reaches the right, you can't load any more programs, and requests by existing programs for more memory will be rejected. This doesn't crash the OS; the system is well-behaved in an out-of-memory state, and executing programs will continue to chug away as long as they don't demand more memory. There's no reason Linux couldn't be made to work that way. Applications need to be reworked to behave better in out-of-memory situations, though.
(Actually, QNX does have swapping support, but it's only used for a few programs, like compilers, which are inherently batch operations.)
First of all, C# is a Java competitor, not a C/C++ competitor. It has an underlying layer of middleware, garbage collection, and just-in-time compilation, like Java. It exists because Microsoft didn't like developers using a Sun-developed standard. Something was needed for business application developers that wasn't as hard as C/C++, and was closely tied to a Microsoft platform. That's C#.
We still don't have a good replacement for C or C++. The big problems with C are 1) the language doesn't know how big arrays are (the cause of most of the buffer overflows in the world), 2) the language has no clue about concurrency or locking (the cause of most of the race conditions in the world). Those aren't fundamental problems of a low-level language; Ada and Modula 3 addressed both problems.
C++ doesn't fix either of those problems; it just papers them over with a layer of templated wallpaper. The mold underneath keeps seeping through the wallpaper. C++ has hiding without safety, the only major language in that space.
The original article has some interesting points. It had never occurred to me that a programming language should be designed to support command completion. Personally, I think an environment that displays the parameters of a function when you start to type a call is more useful.
Unless your "cloud" provider offers a service level guarantee with teeth, is contractually obligated to continue to provide the service for some period of time, and has sound financial fundamentals, this is risky.
I think we'll see a big shutdown of money-losing web services over the next year.
Both Nero-Backup and the Indexing service (Nero Scout) can both be disabled on install using the custom install...
Unfortunately, they still load and run when "disabled"; you can see the processes. They ust don't do much. At least, one hopes they don't do much.
Nero is notorious for installing processes you don't want that run all the time. I bought the DVD writer program (the commercial product, not the free version) and, even though I turned off everything else, it installed an "indexing service" and a "backup service", which started up at boot time. I wouldn't trust a product from them. You don't know that it's doing.
(By the way, what's a reliable Windows non-Vista product for writing DVDs of both data and video formats. I don't need "ripping", but want to transcode some of my old animation .avi files to DVD.)
The problem is that this is a crypto box without a "zeroize" button.
A VPN device is, among other things, a crypto unit. Real crypto units are very explicit about key control. Sometimes, the key is in a removable and easy-to-destroy form. On units with internal key storage, there's a guarded "zeroize" button that clears all keys to zero.
Cisco didn't provide either a "zeroize" button or a removable key. So there's no easy way to scrub the thing before selling it, or to be sure it was scrubbed.
I always thought Walden College ("America's safety school") was something made up for Doonesbury.
From the papter: "The resulting model is an automaton that represents the legitimate order of system calls that an application may issue. This automaton is then enforced by Korset's monitoring agent, which is built into the Linux kernel, by simulating every emitted system call."
This is not likely to work for scriptable applications (Apache, Java-based servers, etc.) The order of calls is determined by the script, not the underlying executable.
Remember that approach to DRM?
Even that can be screwed up. Knowledge Revolution, makers of Working Model, a kind of CAD system with a physics engine, once shipped me a program with that kind of DRM. Unfortunately, the manual was just slightly out of sync with the program; if the program wanted a page number more than halfway through the manual, it wouldn't work. It often took a few tries to get the program to run, retrying until the page number that came up was in the first half of the manual.
Actually, I'm surprised that Microsoft doesn't support some standard Windows DRM system based on their Trusted Computing Platform technology.
For game developers, the realistic solution is to either develop for consoles, or develop multiplayer versions that require a server account.
Here's the patent policy of Stanford University. This has worked out very well for Stanford.
Tao apparently really is the head of the Temple University physics department. He is the author of "Electrorheological Fluids: Mechanisms, Properties, Technology, and Applications", which is relevant, because electrorheological fluids are ones where the viscosity and shear stress change when an electric field is applied. This effect is sometimes used for specialized clutches; attempts to make robot muscles using it have been tried, which is why I know about it. So he ought to know something about viscosity changes in an electric field.
This is his second attempt to come up with a mainstream application for this marginally useful physical effect. The last one, in 2006, was a scheme for treating crude oil to reduce viscosity for pumping. Tests indicated it required more energy to reduce the viscosity than it saved in pumping.
This effect only works on liquids which carry along particles of a different substance; it won't do anything for a homogeneous pure liquid. So it's unlikely to do anything for gasoline. Diesel, maybe; #2 diesel fuel is a mixture of a broad range of hydrocarbons.
There's a whole industry selling Diesel fuel treatment additives. Unlike gasoline additives, which are mostly bogus, Diesel additives sometimes have some value, because there are various impurities which can appear in Diesel fuel and cause trouble. Also, since many large Diesel fuel users store fuel for long periods, deterioration in storage is a problem, and so there's a real role for additives there.
Because Diesel fuel is so variable, any tests involving it have to be coupled with lab tests to find out what was in the batch of fuel being tested. Was that done here?