The current software distribution model has several failure modes. A different model is needed with multiple package signers. I wrote an article about it.
Here are some of the possible compromises, from most serious to least serious:
Build host - the machines that compile the source into binary packages are compromised. In this scenario, code can be injected by the malicious party into the package just before it is signed and prepared for distribution. All clients that install the updated packages are affected. A software audit cannot identify the altered packages because the alteration happens after binaries are generated.
Distribution host and Signing key - the machines that host the packages for distribution (web servers) are compromised and the package signing key is compromised. The effect of this is the same as a build host compromise.
Source repository - the machines that host the software source-code are compromised. This allows code to be injected and all clients are affected. However, a software audit can uncover the injected code.
Insider threats - an insider can insert non-obvious security holes into software they are responsible for.
Signing key - the key used to sign the software distribution is compromised. This would allow the malicious party to compromise only specific targeted clients through a "man-in-the-middle" attack and DNS poisoning
We are not talking about the brain here, we are talking about the mind, which is an information construct.
If you have a document on a piece of paper and you copy it, you have two of the same document. If you copy the structure of a brain, you have two of the same mind.
Although I occupy a specific space at any particular time, the specific space occupied is not essential to my identity. If I suddently teleported to the moon, it would still be me.
Sorry to be difficult, but as far as I can see you are asserting your conclusion ("object A prime is not object A") without supporting it.
"Identify includes space/time location" - what is the reason for that? We move through time and space yet maintain our identity. We even replace most of our mass over the years. The only thing that remains (relatively) constant is functionality. You'll have to come up with something more convincing if you want to argue that space/time continuity has any bearing.
I think the copy/move distinction is not a valid one.
Here is a thought experiment. Consider the two possibilities:
1. Take object A in location X, move it to location Y.
2. Take object A, make a copy A'. Put the copy in location Y, destroy object A.
The situations resulting from #1 and #2 are indistinguishable. Are you saying that there is still a difference in outcome? If you are saying that, then you are in effect saying there is something going on other than the physical outcome. That would be cartesian dualism ("soul"), a non-scientific concept.
I think the promise of molecular nano-technology is programmable construction. Self-assembly is nice, but it still gives you a regular structure rather than a programmed structure.
For example, lithography drives the computer industry. There is no way you can create structures on the order of complexity of a silicon chip with pure self-assembly. You need positional control.
An programmable molecular construction platform, which is what I would call an "assembler" would give you the power of lithography on the nano scale.
Also, I wouldn't say that atom-by-atom will never happen. There might be a rich enough set of [reaction + mechanical trajectory] combinations that will work. It's a much more difficult problem, but I would not say "never".
I don't think (at least initially) assemblers will be putting things together atom-by-atom. It's much more likely that they will be fed pre-fabbed molecules.
The advantage of an assembler is that you can put together the feedstock molecules in complex, pre-programmed patterns.
The problem with plain chemistry is that it is very hard to build complex structures to spec, such as circuits.
Here is a sample application:
Let's say that you have two kinds of building blocks, one conducting and one not. Each building block is to be placed on a surface and bond to its four neighbors. Basically you want to build a circuit board based on a specified 2-D raster. The building blocks can be mass produced using normal chemistry.
The building blocks can bond to each-other (north, south, east, west) and to the surface. If you just throw them together, you will get a random pattern. Chemistry did its work, but you got a random, non-functional circuit.
Now, let's say you have an "assembler" that can be fed these two blocks in a programmable fashion. The assembler also has 2-D positional control with a 1nm resolution. And let's say that the blocks are 5x5nm. You will then be able to place each conducting or non-conducting block at its programmed position. And you can do so without a significant chance of the wrong block getting attached at each raster point.
The addition of position control (the assembler) gives you the ability to create complex, programmed "polymers" at one level above the basic building blocks.
Now let's say that you have 10 or 100 types of building blocks. The dimensions and connecting edges are compatible, but the functions are different. The assembler lets you arrange these in programmed patterns. With the right blocks, you can create machines, computers, etc...
I think Drexler set himself up for criticism by sometimes talking about atom-by-atom construction. This is a much harder problem than the building-block scheme.
You say: This can't be ignored- you'll have to tailor the process chemically to use these necessary interactions, like nature does it, and not exclusively mechanically as Drexler proposes.
But Drexler does say that the process will be chemically tailored. He's talking about a combination of chemical and mechanical (positional) engineering.
So, do you agree that using both chemical and mechanical engineering, we can construct a rich set of molecularly precise objects? (not any object, but a rich enough set to construct computers, robots, etc.)
If you take something on faith (a set of axioms), it should be the simplest set of axioms possible. This is related to Occam's Razor principle.
God is a complex/undefined thing, and therefore it is a bad choice. "Every possible universe exists" is a very simple axiom, and therefore is much more attractive by a long-shot.
Re:What is an example that can't run in parallel?
on
Forget Moore's Law?
·
· Score: 1
If your application will benefit from parallelization, then use my modification of the algorithm. Or maybe such a modification should be standardized. Call it MD5p.
Re:Don't read too much into Googles response ...
on
Forget Moore's Law?
·
· Score: 1
You just showed that each auction can be comfortably handled by one processor.
So if you distribute the auctions between processors, you can parallelize the whole thing. You can route to a processor by looking at the auction number. Mirroring is not required and you get linear speedup.
The search can be parallelized by mirroring the indexes per machine. They are not even updated in real-time, so not too much communication overhead.
I'm not doubting that eBay has a high load. But it's all parallelizable.
eBay has no global real-time data dependencies. Actually, I know of no web application that does.
Moore's law is driven by the incremental improvements we can do to manufacturing and design processes. These incremental improvements are driven by the improvements in tools, which are driven by the previous hardware improvements.
Improvements, by their nature are multiplicative. i.e., you can improve a process by x% due to an improvement in a tool.
That the percentage is pretty much fixed probably results from the fact that this is all based on geometry, and that geometry is scale independent. The scale independence means that the improvement step sizes (expressed in %) when feature size is 100 micron are the same as when the feature size is 10 micron.
Actually, the percentage improvement (per unit of time) is slowly increasing, because more people and resources are brought into the industry.
Re:What is an example that can't run in parallel?
on
Forget Moore's Law?
·
· Score: 1
Physical simulations cannot be parallelized in time, but they can be parallelized in space.
For example, see here for a description of a parallel weather simulation algorithm.
Re:What is an example that can't run in parallel?
on
Forget Moore's Law?
·
· Score: 1
I have a theory that all *interesting* algorithms are parallelizable. E.g.: neural-nets / AI, information services (web sites), physical simulations.
Re:What is an example that can't run in parallel?
on
Forget Moore's Law?
·
· Score: 1
But you can divide your input into a number of streams and send the streams to different procs. It does require a modification to the algorithm, but is very doable.
Re:What is an example that can't run in parallel?
on
Forget Moore's Law?
·
· Score: 1
You can modify the MD5 algorithm (or any hash algorithm) so that it is parallelizable. Divide the file into a large number of chunks, e.g. 1024. Then compute the MD5 of the chunks in parallel. For example, if you have 16 procs, each proc gets 64 parts.
Then concatenate the MD5 results into another string (of length 128/8*1024 = 16384 bytes) and compute the MD5 of that. This step takes a negligible amount of time compare with the first step.
Yes, we were already using it for backup. Past tense indeed! We're switching to another storage company within a week.
It's not that Engineers do things in a strange way on purpose. It's that engineers are strange.
I tried sending messages to and from accounts on other servers, and nothing gets through.
It doesn't look like Google's Jabber server interoperates with other servers. So although it's using the Jabber protocol, it's a closed system.
"mind" and "information construct" are not scientific concepts? Well, then we don't have any common ground for this discussion.
Have a nice day.
We are not talking about the brain here, we are talking about the mind, which is an information construct.
If you have a document on a piece of paper and you copy it, you have two of the same document. If you copy the structure of a brain, you have two of the same mind.
Although I occupy a specific space at any particular time, the specific space occupied is not essential to my identity. If I suddently teleported to the moon, it would still be me.
Sorry to be difficult, but as far as I can see you are asserting your conclusion ("object A prime is not object A") without supporting it.
"Identify includes space/time location" - what is the reason for that? We move through time and space yet maintain our identity. We even replace most of our mass over the years. The only thing that remains (relatively) constant is functionality. You'll have to come up with something more convincing if you want to argue that space/time continuity has any bearing.
I think the copy/move distinction is not a valid one.
Here is a thought experiment. Consider the two possibilities:
1. Take object A in location X, move it to location Y.
2. Take object A, make a copy A'. Put the copy in location Y, destroy object A.
The situations resulting from #1 and #2 are indistinguishable. Are you saying that there is still a difference in outcome? If you are saying that, then you are in effect saying there is something going on other than the physical outcome. That would be cartesian dualism ("soul"), a non-scientific concept.
I think the promise of molecular nano-technology is programmable construction. Self-assembly is nice, but it still gives you a regular structure rather than a programmed structure.
For example, lithography drives the computer industry. There is no way you can create structures on the order of complexity of a silicon chip with pure self-assembly. You need positional control.
An programmable molecular construction platform, which is what I would call an "assembler" would give you the power of lithography on the nano scale.
Also, I wouldn't say that atom-by-atom will never happen. There might be a rich enough set of [reaction + mechanical trajectory] combinations that will work. It's a much more difficult problem, but I would not say "never".
I believe the plan was to pre-fab molecules with suitable properties, not atoms.
The advantage of an assembler is that you can put together the feedstock molecules in complex, pre-programmed patterns.
The problem with plain chemistry is that it is very hard to build complex structures to spec, such as circuits.
Here is a sample application:
Let's say that you have two kinds of building blocks, one conducting and one not. Each building block is to be placed on a surface and bond to its four neighbors. Basically you want to build a circuit board based on a specified 2-D raster. The building blocks can be mass produced using normal chemistry.
The building blocks can bond to each-other (north, south, east, west) and to the surface. If you just throw them together, you will get a random pattern. Chemistry did its work, but you got a random, non-functional circuit.
Now, let's say you have an "assembler" that can be fed these two blocks in a programmable fashion. The assembler also has 2-D positional control with a 1nm resolution. And let's say that the blocks are 5x5nm. You will then be able to place each conducting or non-conducting block at its programmed position. And you can do so without a significant chance of the wrong block getting attached at each raster point.
The addition of position control (the assembler) gives you the ability to create complex, programmed "polymers" at one level above the basic building blocks.
Now let's say that you have 10 or 100 types of building blocks. The dimensions and connecting edges are compatible, but the functions are different. The assembler lets you arrange these in programmed patterns. With the right blocks, you can create machines, computers, etc...
I think Drexler set himself up for criticism by sometimes talking about atom-by-atom construction. This is a much harder problem than the building-block scheme.
You say: This can't be ignored- you'll have to tailor the process chemically to use these necessary interactions, like nature does it, and not exclusively mechanically as Drexler proposes.
But Drexler does say that the process will be chemically tailored. He's talking about a combination of chemical and mechanical (positional) engineering.
So, do you agree that using both chemical and mechanical engineering, we can construct a rich set of molecularly precise objects? (not any object, but a rich enough set to construct computers, robots, etc.)
Err... 19 tons is much less than how much *one* US family generates in garbage.
We should create a patch to BIND et al that looks up randomly generated hostnames and adds returned IPs to the blocked list.
Then your mother should sue the spyware company. I don't see how u-Haul has standing to sue anybody in this case.
And we certainly don't want content providers dictating what software runs on our computers (shades of DMCA).
That's exactly the point. Every universe that can exist, exists. The substrate is irrelevant.
If you take something on faith (a set of axioms), it should be the simplest set of axioms possible. This is related to Occam's Razor principle.
God is a complex/undefined thing, and therefore it is a bad choice. "Every possible universe exists" is a very simple axiom, and therefore is much more attractive by a long-shot.
If your application will benefit from parallelization, then use my modification of the algorithm. Or maybe such a modification should be standardized. Call it MD5p.
You just showed that each auction can be comfortably handled by one processor.
So if you distribute the auctions between processors, you can parallelize the whole thing. You can route to a processor by looking at the auction number. Mirroring is not required and you get linear speedup.
The search can be parallelized by mirroring the indexes per machine. They are not even updated in real-time, so not too much communication overhead.
I'm not doubting that eBay has a high load. But it's all parallelizable.
eBay has no global real-time data dependencies. Actually, I know of no web application that does.
Moore's law is driven by the incremental improvements we can do to manufacturing and design processes. These incremental improvements are driven by the improvements in tools, which are driven by the previous hardware improvements.
Improvements, by their nature are multiplicative. i.e., you can improve a process by x% due to an improvement in a tool.
That the percentage is pretty much fixed probably results from the fact that this is all based on geometry, and that geometry is scale independent. The scale independence means that the improvement step sizes (expressed in %) when feature size is 100 micron are the same as when the feature size is 10 micron.
Actually, the percentage improvement (per unit of time) is slowly increasing, because more people and resources are brought into the industry.
Physical simulations cannot be parallelized in time, but they can be parallelized in space.
For example, see here for a description of a parallel weather simulation algorithm.
I have a theory that all *interesting* algorithms are parallelizable. E.g.: neural-nets / AI, information services (web sites), physical simulations.
But you can divide your input into a number of streams and send the streams to different procs. It does require a modification to the algorithm, but is very doable.
You can modify the MD5 algorithm (or any hash algorithm) so that it is parallelizable. Divide the file into a large number of chunks, e.g. 1024. Then compute the MD5 of the chunks in parallel. For example, if you have 16 procs, each proc gets 64 parts.
Then concatenate the MD5 results into another string (of length 128/8*1024 = 16384 bytes) and compute the MD5 of that. This step takes a negligible amount of time compare with the first step.
You get a fully linear speedup.