It's not too much of a strech of the imagination to visualise a library that provides 'configuration database' functionality to applications who want it, yet stores settings in xml files in the filesystem.
This gets you the best of both worlds; those who want registry functionality, or a single graphical settings browser can use the database library, and those who prefer file hacking with vi can do that.
This (IM...HO) was a stupid thing to do. Whenever you have an organisation that you want to keep an eye on, you want to create an atmosphere that is conducive to monitoring;
in this case, it would be better to have racists and biggots rally around www.nigger.com than some less obvious name, if only because that way, they are easier to monitor.
European governments have figured this out, at least as it applies to drugs. Pot is tolerated, so the masses congregate around that as the major recreational drug, which makes the goverments job much easier. In countries run by idiots and self-righteous fanatics, where all drugs are equally illegal, there is no such rallying effect, so the government's self-appointed war is that much harder to wage.
In my area, there is no cable modem access. Forcing the only provider to open up would cut into their profits and delay roll out even further. We _need_ monopolies to provide incentive to service providers to make the necessary capital investment. Only after that investment has been recouped does a monopoly become harmfull.
So I'm hoping that the US (or at least Brookline, MA) doesn't follow suit.
Unfortunately, the naive implementation (where naive is defined as something I can dream up in a couple of minutes) is communication bound. The individual computations per node are quite trivial (dot product followed by sigmoid), but you have to tell a lot of other nodes about your results. So you really need specialised hardware to get around that.
This is why the processor sounds trivial -- we;ve only see the computational specs, but the magic is is the compuatation.... I think
The above is all unseasoned speculation. Add condiments to taste.
I had an idea about this: basically, add more ram. Ram is cheap from a power perspective. Instead of buffering 10 measly seconds, buffer the whole song. 4 megs of memory is free these days. Now you can just spin up the drive once every song, suck it all in at the optimum speed (40x?) and then play back at leisure.
Or it could be that the best strategy is to read the CD at a constant bit rate of.12x (1X == 150KB, so 128 Kb ~.128X) -- which would explain the measly 10 seconds anti-skip.
Does anyone with powermanagement skills have an opinion?
I wonder how much influence the fact that we can only focus on one object at a time has on these findings.
I mean, if we can only look at the objects serially (and discriminating whether it has a nick or not i think requires "looking at" rather than "scanning" for one red block in a sea of greens), how do they expect us to process them in parallel?
Garbage Collection researchers (insert informative link here) found marked improvements in GC time when they tuned the youngest generation (in genererational collectors) to be a bit smaller than the cache. Some of the objects were never making it to main memory.
So what about this attack: NSA writes a new DES provider that in addition to performing DES, also emails them all keys used (or something more subtle, but you get the idea). Now sign it with NSA private key, and overwrite the old dll with the compromised one. The previous one was signed by MS, this one by NSA, but both have valid signatures. When an application asks for DES encyption, the compromised one is successfully loaded.
The real question here is of course "Where are you on the internet". The answer is obviously "A student came to Moon and asked...". To be hypotetically concrete:
If I am physically in the US (say on an extended vacation) but telecommute to Sweden to program for a firm that has hired me, pays me, and bills its customers in Sweden, where am I working?
Arguably, I am using up more swedish resources (administration of postal services, social security, and what not) than US (a couple of KB internet bandwidth that I pay for explicitly anyway).
The above case would probably be judged that I was working in sweden because I am employed by a company that is clearly in sweden. Now change the gedanken experiment to have me not employed but rather contracting... oooh! now I'd probably be working in the US.
The problem is that old labour laws (IANAL) are to new labor situations like newtonian physics are to quantum. The old way works fine as long as we don't look at the limiting cases, like one person working at a distance. (I couldn't resist a non-locality pun).
I've looked at some laws and they're full of things like preponderance of evidence, and other vagaries that make no sense when applied to an individual.
The short of it is basically that location is a null issue on the internet, and until governments recognize this, we're going to see one absurdity after another.
it is horrendously expensive; so I understand that alot of hackery it performed to avoid it as much as possible. The renderman architecture with shaders et ali is basically a gigantic framework of heuristic methods to avoid ray tracing if at all possible. Many of these hacks could probly be done in hardware. Hence Professional GFX boards.
Steganography is hiding the _existence_ of a message, as much as its contents.
The important part is that sometimes I don't want to let people know that I have anything to encrypt, much less what the message is.
So if I send you an encrypted message, an eavesdropper will know you and I have a secret and may be able to deduce something from that knowledge alone. By using steganography, I might send you a secret message hidden in a dilbert cartoon. Now the observer only knows that you and I are geeks, which is much less of a suprise.
The problem with steganography is that it needs a big message in which to hide the real secret. (and a message whose certain bits are under my control).
So what you should do is start sending all your mails encrypted. that way when you finally have a secret to share, you won't give that fact away by suddenly shifting to an encrypted message.
luckily, I record all my songs at 100Mhz with 64 bit stereo samples, so I only get a few seconds recording per CD. That works out to just a few millicents tax, which I'll gladly pay once they make a coin small enough.
Your use of the word "kernel" in your response hints that I was unclear. I wasn't referring to Linux@64 bits, but rather the CPU. The comments about 64 bit programs being much larger than 32 bit ones suggests that there are different operating modes for the processor. These are the modes I was referring to.
How expensive is a 32/64 bit mode switch? Is it feasible to compile certain parts of an application to be 64 bit, and others (less memory intensive) to be 32 bit? Is it fast enough so that I can decide bittiness on the procedure level, or should it be at the library level?
(Ignoring for now the complications of passing pointers of different lengths between various parts of the application. There's an interesting type checking problem here- a simplified instance of existential types, I think)
ok, so whilst I was drafting my reply, about 10 bazillion other posters beat me to it. Anyway, just trying to add something nonredundant, I seem to recall that given the difficulty of setting up QCs, the interesting question is not what time class problems are in, but rather what space class:
"How many qubits do you need to factor an n-bit number?" That sort of thing.
Thus from, say, 500 particles you could, in principle, create a quantum system that is a superposition of as many as 2500 states. Each state would be a single list of 500 1's and 0's. Any quantum operation on that system-a particular pulse of radio waves, for instance, whose action was, say, to execute a controlled-NOT operation on the 175th and 176th qubits-would simultaneously operate on all 2500 states. Hence with one machine cycle, one tick of the computer clock, a quantum operation could compute not just on one machine state, as serial computers do, but on 2500 machine states at once! That number, which is approximately equal to a 1 followed by 150 zeros, is far larger than the number of atoms in the known universe. Eventually, of course, observing the system would cause it to collapse into a single quantum state corresponding to a single answer. a single list of 500 1's and 0's -- but that answer would have been derived from the massive parallelism of quantum computing.
This seems like it is setting up a 3-sat problem. 3-sat is the quissisential (sp?) NP complete problem. IT would be neat if QC could solve NP complete problems in P time. Note that all current small-key (as opposed to one time pads) encryptions schemes are in NP .
However, I imagine that I have missed some detail, as I seem to recall that QC doesn't fully implement a nondeterministic turing machine. Very likely, as the previous poster stated, there is a subset of NP problems that are ammenable to QC.
3-SAT would not be one of them, unless all NP complete problems were, which in turn would imply that all NP problems are in QP.
As for Church, the turing machine's power says nothing about efficiency. A QC would still only be able to solve deciable problems (just like a TM), but a lot faster. The holy grail -- the halting problem -- is provably unsolvable.
The SMP part is kinda boring. Yes. The fun is how you have multiple threads on a chip. Imagine that you have a deep pipeline, and there is a stall of some kind (you need a value from memory, f.ex). This would normally mean wasted chance to use the ALU. For a threaded chip, there is a another instruction stream (with it's own decoding pipeline and everything), so instead of stalling, the CPU switches decoding pipelines and keeps the ALUs busy. Eventually this thread will stall, or time out or something, and the other thread gets a chance to run. Cool!
The point is that you replicate everything (I think) but the ALUs (so each thread has its own register file and what not), so context switches are instantaneous. Tera has a (vaporware?) supercomputer that switches after every instruction.
Ok, so you think this seems like a lot of duplicated silicon. Conscider this: Much of the silicon on a chip is devoted to not stalling the pipeline (register renamiming, forwarding, speculation). If stalls become free, we can simplify circutry alot, and crank up the clock speed ALOT (cimpler circuitry => smaller die => higher speed). cool! Double cool! no stalls and faster clock. Think of all the technologies on a chip these days.
Ok, things are not entirely simple (hands up those who thought they were), but that's the gist of it. For example, we'll need hardware support for locks and communication, probably.
So why haven't we seen these chips before, if the news is old? I think some of the previous posters got it right -- its only recently we start getting applications that are almost trivially parallelisable. One poster mentioned communication overhead; by providing annotations that these 10 threads want to be on the same cpu, we can be assured that they'll have very quick interthread communication.
In all my other jobs involving office staff I have never seen professional office staff, just entry level people looking for better work while muddling through this job.
Let me also add that I've not crashed any OS, be it MS/DigitalUnix/Linux for at least 9 months, and I have been using all four (MS=98&NT) rather heavily for development and games and whatnot. So that crap about OSs crashing once a day is just that. Crap.
96k * 16 * 32 = 49152Kb/s = 49 Mb/s. So this is only using half the bandwidth availible. Anyone care to speculate on why it's so conservative?
Johan
It's not too much of a strech of the imagination to visualise a library that provides 'configuration database' functionality to applications who want it, yet stores settings in xml files in the filesystem.
This gets you the best of both worlds; those who want registry functionality, or a single graphical settings browser can use the database library, and those who prefer file hacking with vi can do that.
The two are not exclusive.
Johan
This (IM...HO) was a stupid thing to do. Whenever you have an organisation that you want to keep an eye on, you want to create an atmosphere that is conducive to monitoring;
in this case, it would be better to have racists and biggots rally around www.nigger.com than some less obvious name, if only because that way, they are easier to monitor.
European governments have figured this out, at least as it applies to drugs. Pot is tolerated, so the masses congregate around that as the major recreational drug, which makes the goverments job much easier. In countries run by idiots and self-righteous fanatics, where all drugs are equally illegal, there is no such rallying effect, so the government's self-appointed war is that much harder to wage.
which reminds me. I need to go buy "the prince"
In my area, there is no cable modem access. Forcing the only provider to open up would cut into their profits and delay roll out even further. We _need_ monopolies to provide incentive to service providers to make the necessary capital investment. Only after that investment has been recouped does a monopoly become harmfull.
So I'm hoping that the US (or at least Brookline, MA) doesn't follow suit.
Unfortunately, the naive implementation (where naive is defined as something I can dream up in a couple of minutes) is communication bound. The individual computations per node are quite trivial (dot product followed by sigmoid), but you have to tell a lot of other nodes about your results. So you really need specialised hardware to get around that.
This is why the processor sounds trivial -- we;ve only see the computational specs, but the magic is is the compuatation.... I think
The above is all unseasoned speculation. Add condiments to taste.
IBM's howt o-ish document implies that the linux kernel erroneously does not inform drivers when suspended/resumed.
Anyone with technincal insight care to comment?
whoa!
20 Megawatts from a car battery.
P = UI.
U = 12, so we're looking at roughly 1.8 MegaAmps.
Shit!
This was a great posting. Normally, all we get in commentary is "this is soo cool". Here the poster (vyzar) added a significant nugget of information.
Insights like that are why I read slashdot.
Great!
Why not use MP3 compression on the sound buffer? You could use a low quality setting to fit
a lot of sound into that "10 seconds' worth".
yes -- that's how I got 4MB = one song. Sorry. should have been more clear.
I had an idea about this: basically, add more ram. Ram is cheap from a power perspective. Instead of buffering 10 measly seconds, buffer the whole song. 4 megs of memory is free these days. Now you can just spin up the drive once every song, suck it all in at the optimum speed (40x?) and then play back at leisure.
.12x (1X == 150KB, so 128 Kb ~ .128X) -- which would explain the measly 10 seconds anti-skip.
Or it could be that the best strategy is to read the CD at a constant bit rate of
Does anyone with powermanagement skills have an opinion?
I wonder how much influence the fact that we can only focus on one object at a time has on these findings.
I mean, if we can only look at the objects serially (and discriminating whether it has a nick or not i think requires "looking at" rather than "scanning" for one red block in a sea of greens), how do they expect us to process them in parallel?
Garbage Collection researchers (insert informative link here) found marked improvements in GC time when they tuned the youngest generation (in genererational collectors) to be a bit smaller than the cache. Some of the objects were never making it to main memory.
Now that is cool!
So what about this attack:
NSA writes a new DES provider that in addition to performing DES, also emails them all keys used (or something more subtle, but you get the idea). Now sign it with NSA private key, and overwrite the old dll with the compromised one. The previous one was signed by MS, this one by NSA, but both have valid signatures. When an application asks for DES encyption, the compromised one is successfully loaded.
What am I missing?
The real question here is of course "Where are you on the internet". The answer is obviously "A student came to Moon and asked...". To be hypotetically concrete:
If I am physically in the US (say on an extended vacation) but telecommute to Sweden to program for a firm that has hired me, pays me, and bills its customers in Sweden, where am I working?
Arguably, I am using up more swedish resources (administration of postal services, social security, and what not) than US (a couple of KB internet bandwidth that I pay for explicitly anyway).
The above case would probably be judged that I was working in sweden because I am employed by a company that is clearly in sweden. Now change the gedanken experiment to have me not employed but rather contracting... oooh! now I'd probably be working in the US.
The problem is that old labour laws (IANAL) are to new labor situations like newtonian physics are to quantum. The old way works fine as long as we don't look at the limiting cases, like one person working at a distance. (I couldn't resist a non-locality pun).
I've looked at some laws and they're full of things like preponderance of evidence, and other vagaries that make no sense when applied to an individual.
The short of it is basically that location is a null issue on the internet, and until governments recognize this, we're going to see one absurdity after another.
Ok, I'm getting "arbetsskada". I read that and thought to myself, "Sweet name for a new distribution of linux."
Slap.
re: ray tracing
it is horrendously expensive; so I understand that alot of hackery it performed to avoid it as much as possible. The renderman architecture with shaders et ali is basically a gigantic framework of heuristic methods to avoid ray tracing if at all possible. Many of these hacks could probly be done in hardware. Hence Professional GFX boards.
.. erm. I think. I'm just guessing, really.
Steganography is hiding the _existence_ of a message, as much as its contents.
The important part is that sometimes I don't want to let people know that I have anything to encrypt, much less what the message is.
So if I send you an encrypted message, an eavesdropper will know you and I have a secret and may be able to deduce something from that knowledge alone. By using steganography, I might send you a secret message hidden in a dilbert cartoon. Now the observer only knows that you and I are geeks, which is much less of a suprise.
The problem with steganography is that it needs a big message in which to hide the real secret. (and a message whose certain bits are under my control).
So what you should do is start sending all your mails encrypted. that way when you finally have a secret to share, you won't give that fact away by suddenly shifting to an encrypted message.
eh? ok. today is sunday, and my brain is elsewhere, so ...
but if I crack the server's private key, I get the client-master-key, (from which presumably -write-key is generated) and all the other goodies.
Just crack the server's private key and ALL transactions with that server have been compromised, no?
So what am I missing?
luckily, I record all my songs at 100Mhz with 64 bit stereo samples, so I only get a few seconds recording per CD. That works out to just a few millicents tax, which I'll gladly pay once they make a coin small enough.
Your use of the word "kernel" in your response hints that I was unclear. I wasn't referring to Linux@64 bits, but rather the CPU. The comments about 64 bit programs being much larger than 32 bit ones suggests that there are different operating modes for the processor. These are the modes I was referring to.
Sorry for being cryptic
How expensive is a 32/64 bit mode switch? Is it feasible to compile certain parts of an application to be 64 bit, and others (less memory intensive) to be 32 bit? Is it fast enough so that I can decide bittiness on the procedure level, or should it be at the library level?
(Ignoring for now the complications of passing pointers of different lengths between various parts of the application. There's an interesting type checking problem here- a simplified instance of existential types, I think)
ok, so whilst I was drafting my reply, about 10 bazillion other posters beat me to it. Anyway, just trying to add something nonredundant, I seem to recall that given the difficulty of setting up QCs, the interesting question is not what time class problems are in, but rather what space class:
"How many qubits do you need to factor an n-bit number?" That sort of thing.
This seems like it is setting up a 3-sat problem. 3-sat is the quissisential (sp?) NP complete problem. IT would be neat if QC could solve NP complete problems in P time. Note that all current small-key (as opposed to one time pads) encryptions schemes are in NP .
However, I imagine that I have missed some detail, as I seem to recall that QC doesn't fully implement a nondeterministic turing machine. Very likely, as the previous poster stated, there is a subset of NP problems that are ammenable to QC.
3-SAT would not be one of them, unless all NP complete problems were, which in turn would imply that all NP problems are in QP.
As for Church, the turing machine's power says nothing about efficiency. A QC would still only be able to solve deciable problems (just like a TM), but a lot faster. The holy grail -- the halting problem -- is provably unsolvable.
The SMP part is kinda boring. Yes. The fun is how you have multiple threads on a chip. Imagine that you have a deep pipeline, and there is a stall of some kind (you need a value from memory, f.ex).
This would normally mean wasted chance to use the ALU. For a threaded chip, there is a another instruction stream (with it's own decoding pipeline and everything), so instead of stalling, the CPU switches decoding pipelines and keeps the ALUs busy. Eventually this thread will stall, or time out or something, and the other thread gets a chance to run. Cool!
The point is that you replicate everything (I think) but the ALUs (so each thread has its own register file and what not), so context switches are instantaneous. Tera has a (vaporware?) supercomputer that switches after every instruction.
Ok, so you think this seems like a lot of duplicated silicon. Conscider this: Much of the silicon on a chip is devoted to not stalling the pipeline (register renamiming, forwarding, speculation). If stalls become free, we can simplify circutry alot, and crank up the clock speed ALOT (cimpler circuitry => smaller die => higher speed). cool! Double cool! no stalls and faster clock. Think of all the technologies on a chip these days.
Ok, things are not entirely simple (hands up those who thought they were), but that's the gist of it. For example, we'll need hardware support for locks and communication, probably.
So why haven't we seen these chips before, if the news is old? I think some of the previous posters got it right -- its only recently we start getting applications that are almost trivially parallelisable. One poster mentioned communication overhead; by providing annotations that these 10 threads want to be on the same cpu, we can be assured that they'll have very quick interthread communication.
Johan
Let me also add that I've not crashed any OS, be it MS/DigitalUnix/Linux for at least 9 months, and I have been using all four (MS=98&NT) rather heavily for development and games and whatnot. So that crap about OSs crashing once a day is just that. Crap.