I would basically alternate passes with the same character - 00s, ffs, f0s, 0fs, 75s, 57s, and throw some random passes in between them. Finally, urandom is better than random, as it doesn't block when it doesn't have entropy.
Why do all this ? Because just one pass doesn't truly erase data, it's still recoverable with advanced hardware
For the most part, the ISA remains unchanged. True, except that a couple of things that were an incredible PITA (pain in the ass) were removed. For example partial register writes, which caused pipeline stalls because it's not really possible to use renaming when you have a partial write followed quickly by a full read. Some instruction which were nasty to implement were also removed. Finally, while there is still some remains of segmentation in x86-64, it's much simpler than x86-32.
While the x86 ISA leaves you with hardly any registers, Intel and AMD's chips do register renaming to hundreds of hardware registers - register renaming is something that you do to allow you to have the same logical register in flight many times (it basically eliminates WAR and WAW register hazards, leaving just true communication). However, if the compiler doesn't have logical registers to allocate to variables, it has to spill them to the stack... and since memory is not renamed, it really doesn't matter if you have powerful register renaming.
In reality, going from 7 to 16 GPR's is not nearly the win you might think it is, To get really excited you need to be talking about 32 or 64 registers. Sure, 32 register is definitely better, however... going from 7 to 16 is a big deal. I've seen experiments (stuff that's not published yet, unfortunately) showing how the number of dynamic stores/loads decreases more sharply from 7 to 16 than from 16 to 32. Feel free to contradict me with some other study, though.
The main performance gain from going to x86-64 does not come from larger operands and larger addressing space. It comes from a cleaned-up instruction set architecture and, most importantly, from a larger set of registers. x86-64 has 16 general-purpose registers whereas x86-32 arguably has about 7 GPRs. For x86-32, a compiler generally allocates 2 or at most 3 registers to variables. For x86-64, it can utilize ~12. This greatly reduces the number of loads and stores to the stack. The performance gain comes from the fact that it's much faster to communicate via a register than through memory.
BTW, I don't know about windoze, but in the Linux world going from 32 bits to 64 bits almost always seems to produce a performance gain of 10->20%. I personally tried a simulator I'm using with 64 bits (recompiled with gcc), and got a speedup of 12%.
Namely, sulfur dioxide, which has the opposite effect -- it increases albedo. See wikipedia.
Furthermore, when they errupt, the effect is clearly a cooling one. For instance, Pinatubo is considered to have reduced the global temperature by a fraction of a degree. Other volcanos had an even more powerful impact. When Thera errupted ~3600 years ago (modern day the island of Santorini, and it's only a caldera left), the Californian sempervirens trees registered a significant decrease in temperature.
Gerald Bull was actually on his way of getting payload into orbit with a gun, as opposed to a rocket. I'm pretty sure he would have succeeded, were he allowed to continue his research.
There's also a differentiation in the types of games for PCs and consoles. On average, console games are much more geared for the average crowd, then for a techie. I'd really buy a console if I could play "smarter" games like Europa Universalis, Rome Total War or Galactic Civilizations, but I really doubt it's ever gonna happen.
The ozone layer actually has nothing to do with plants. It is continually produced by solar radiation and oxygen, and it is also continually "consumed". O3 is heavier than air, so it falls down in the lower atmosphere. However, things like CFCs are very effective at catalytically breaking down ozone into regular oxygen (1 molecule of CFC will break thousands of ozone molecules). The stratospheric clouds during the polar winter just happen to have a higher concentration of CFCs.
BTW, did you know that because of the huge ozone hole, Chileans from the extreme south have to wear sunscreen all the time ?
In security speech Trusted != Trustworthy. If you say that X is "Trusted", it simply means that the security of the system depends axiomatically on X being secure. So if X is secure, everything is ok, but if it is insecure, it breaks the whole system. "Trusted" doesn't actually say whether X is secure or not (that's what "Trustworthy" is for), it just makes a statement about the security of the whole system depending on the security of X.
Having learned that, a few companies (I believe M$ was one of them) changed from "trusted" to "trustworthy"
Isn't it the same thing? A certain amount of water is going to have a smaller density when frozen, therefore a larger volume. So if you melt floating ice it's not gonna increase ocean levels
I thought the melting of Arctic ice will, in fact, reduce the ocean levels. This is because ice has a larger volume than water. It's the Antarctic and Greenland ice caps that increase the ocean levels. Of course, all these 3 happen at the same time.
If you specifically say that use of the plug-in API does not make the plug-in a derived work, then you should be alright. A similar case is, interestingly enough, the linux kernel. While modifying the kernel is derived work, making syscalls from userspace does not make the user program a derived work. Besides the kernel/user space barrier, there's also a subset of kernel functions that are effectively GPL barriers (so some modules don't need to be GPL)
Very simple... very few high quality games, and also relatively expensive. There are a lot of good games in the making, yes, but for now there are very few really good games for it. If you don't believe me - check gamespot's PSP page
Now don't get me wrong, hardware-wise PSP is very high quality - that company has got amazing engineers. Unfortunately, it also has a management that acts a lot like Microsoft's (bully on the block) when they're obviously not in that position.
Namely, social interaction. It's far more valuable than three quarters of all subjects. The fact that home schooled kids are weird is not just an urban myth.
They're one of the very few companies heavily hiring in the US. I'm not aware of a single case where they fired a group in the states to replace it with an offshore operation.
How do you program those SPUs, besides hand-coded assembly ? For media / game apps, it's probably acceptable to handcode vector instructions for the performance-critical parts, but for everything else you're going to use - at best - the 2 generic execution contexts and the SPUs will sleep idle.
This is actually very interesting; care to give some details on the processors and server platforms you used (I realize you're under an NDA, but I guess you can say what CPUs you used) ? Also, did you use profiling for Itanium (I guess you did but just checking:) )?
What really surprises me here is that, in general, out-of-order execution isn't that powerful when you have a lot of memory accesses. The out-of-order window on a P4 is about 128 instructions, while the latency of a memory access is always > 200 cycles these days.
It's not actually necessary to fit the entire DB working set in the cache to get performance improvements. If the larger cache reduces the misses to memory by, let's say, 20%, it's still a great deal (because these misses easily cost 200->400 processor cycles, and out-of-order execution can't really do much in this time anyway)
Also, the Itanium instruction set allows cache placement hinting. You can tell the processor not to allocate a L1 (or L2) cache line for something that you know for sure you're not gonna need in the forseeable future. Sure, this needs heavy profiling and very careful, manual tweaking of the database server code, but trust me, when you have a benchmark there's a lot of such tweaking (read: cheating).
Reduce the price of PS2 to 99$
Why do all this ? Because just one pass doesn't truly erase data, it's still recoverable with advanced hardware
I believe that's called marketing.
While the x86 ISA leaves you with hardly any registers, Intel and AMD's chips do register renaming to hundreds of hardware registers - register renaming is something that you do to allow you to have the same logical register in flight many times (it basically eliminates WAR and WAW register hazards, leaving just true communication). However, if the compiler doesn't have logical registers to allocate to variables, it has to spill them to the stack ... and since memory is not renamed, it really doesn't matter if you have powerful register renaming.
In reality, going from 7 to 16 GPR's is not nearly the win you might think it is, To get really excited you need to be talking about 32 or 64 registers. Sure, 32 register is definitely better, however ... going from 7 to 16 is a big deal. I've seen experiments (stuff that's not published yet, unfortunately) showing how the number of dynamic stores/loads decreases more sharply from 7 to 16 than from 16 to 32. Feel free to contradict me with some other study, though.
BTW, I don't know about windoze, but in the Linux world going from 32 bits to 64 bits almost always seems to produce a performance gain of 10->20%. I personally tried a simulator I'm using with 64 bits (recompiled with gcc), and got a speedup of 12%.
Furthermore, when they errupt, the effect is clearly a cooling one. For instance, Pinatubo is considered to have reduced the global temperature by a fraction of a degree. Other volcanos had an even more powerful impact. When Thera errupted ~3600 years ago (modern day the island of Santorini, and it's only a caldera left), the Californian sempervirens trees registered a significant decrease in temperature.
Finally, what about the space elevator ?
My point is, reaching orbit is going to get cheaper, one way or the other
There's also a differentiation in the types of games for PCs and consoles. On average, console games are much more geared for the average crowd, then for a techie. I'd really buy a console if I could play "smarter" games like Europa Universalis, Rome Total War or Galactic Civilizations, but I really doubt it's ever gonna happen.
if you don't want to pay for the nomachine license, freenx is pretty decent.
So how do you explain it ? Zoophilia :) ?
With such hotly-debated scientific questions, I believe it is prudent not to jump to quick-and-easy conclusions.
BTW, did you know that because of the huge ozone hole, Chileans from the extreme south have to wear sunscreen all the time ?
Having learned that, a few companies (I believe M$ was one of them) changed from "trusted" to "trustworthy"
did you mean Romania by any chance :) ?
Look at all these John Smiths - it must be a clone army!
Isn't it the same thing? A certain amount of water is going to have a smaller density when frozen, therefore a larger volume. So if you melt floating ice it's not gonna increase ocean levels
I thought the melting of Arctic ice will, in fact, reduce the ocean levels. This is because ice has a larger volume than water. It's the Antarctic and Greenland ice caps that increase the ocean levels. Of course, all these 3 happen at the same time.
If you specifically say that use of the plug-in API does not make the plug-in a derived work, then you should be alright. A similar case is, interestingly enough, the linux kernel. While modifying the kernel is derived work, making syscalls from userspace does not make the user program a derived work. Besides the kernel/user space barrier, there's also a subset of kernel functions that are effectively GPL barriers (so some modules don't need to be GPL)
Now don't get me wrong, hardware-wise PSP is very high quality - that company has got amazing engineers. Unfortunately, it also has a management that acts a lot like Microsoft's (bully on the block) when they're obviously not in that position.
Namely, social interaction. It's far more valuable than three quarters of all subjects. The fact that home schooled kids are weird is not just an urban myth.
They're one of the very few companies heavily hiring in the US. I'm not aware of a single case where they fired a group in the states to replace it with an offshore operation.
So it's gonna be a while 'till we get a production compiler. Automatic parallelization is a very hard problem, btw.
How do you program those SPUs, besides hand-coded assembly ? For media / game apps, it's probably acceptable to handcode vector instructions for the performance-critical parts, but for everything else you're going to use - at best - the 2 generic execution contexts and the SPUs will sleep idle.
I found backuppc to be an excellent tool for this.
What really surprises me here is that, in general, out-of-order execution isn't that powerful when you have a lot of memory accesses. The out-of-order window on a P4 is about 128 instructions, while the latency of a memory access is always > 200 cycles these days.
Also, the Itanium instruction set allows cache placement hinting. You can tell the processor not to allocate a L1 (or L2) cache line for something that you know for sure you're not gonna need in the forseeable future. Sure, this needs heavy profiling and very careful, manual tweaking of the database server code, but trust me, when you have a benchmark there's a lot of such tweaking (read: cheating).