"the DiscoTute will create new journals for the purpose (same as the homeopathy whackjobs do"
I think this is a bit of "the pot calling the kettle black". Some of the current mainstream evolutionary journals (the journal Evolution, for instance), started because a group of authors/editors didn't feel that their views were being taken seriously by other scholars, so they merely created a new journal that they published in. This isn't too unusual. It is true that the quacks do it. It is also true that everyone else does, too.
A friend of mine (Norbert Smith) was well-published in the scientific literature. He researched the regulatory changes that alligators use to dive deep underwater. The BBC even did a documentary on his research. When it came out that he was a creationist, they fired him. It isn't about peer review, research money, or anything like that. There is open discrimination against non-Darwinian opinions.
Recently, an *astronomer* was denied employment because of his views on *evolution*. The position had nothing to do with biology, or even astrobiology, but because they didn't like his views on evolution.
I don't think that the reason for reduced overhead should be entirely attributed to digitalized medical records. You also have to remember that one of the main problems that medical companies don't do this already is liability problems created by HIPPA. Likewise, insurance is a nightmare to work with. These will both continue to be true whether or not records are digitalized.
One problem few people think about with regards to health care is that the U.S. is such a diverse society, you have a lot of different types of needs. In countries with a monoculture, it is much easier to have low overhead and have a one-size-fits-all way of doing things. Also, in other countries, privacy is not so much of an issue. Here, for some reason beyond my understanding, medical records have become almost the equivalent of classified documents in terms of how they are protected. This has probably cost us much more money than whether or not the records are digital.
I think it is _possible_ we could save money with digitization, but not the amount suggested by this post. On the other hand, based on previous experience with medical IT, I think it's possible it could actually lose money in the long run, especially if "being digital" becomes more important than actually solving the communication problem.
I haven't found thread safety to be too much of an issue. Sure, it would be nice for some things, but generally it is not an issue.
As for administration, I know a lot of people like things like Mongrel and the sorts, but I've found that admin'ing busy websites is fairly simple using Apache + mod_fcgid (NOT mod_fastcgi). I think few people are aware of this option, but it works quite well.
As for scalability, most of the issues I've had with scaling were solved by either (a) writing better queries, or (b) doing better caching. ActiveRecord can lull people to sleep as far as database access goes, and it is not uncommon for people to forget the underlying database costs of what they are doing. However, ActiveRecord has a lot of nice things (like:include) which can make advanced queries fairly painless, and speed up your app a lot. In addition, having a database that works well with advanced SQL features like subselects (for instance, Postgres) can make many of Rails's supposed scalability issues go away.
In addition, there is the question of "exploited by whom". For instance, let's say that there is a bug which allows one Postgres user to do queries on the table of another Postgres user. Should it be fixed? Sure. Is it a big problem? Not unless you're on a shared virtual hosting platform. And even then, its somewhat mitigated because the only people who have access to it are paying customers (i.e. their identity is known).
A "security bug" does not mean "hax0rs are going to own you", but it may mean something like, "if someone who you trusted enough to give permissions to your box were going to try to screw you, they could do it in this way".
So, even if it is exploitable doesn't mean that it is necessarily exploitable in a way that would leave people vulnerable to strangers.
"There is a class of mathematically provable software languages, and you might be able to say with surety that programs in them are secure."
I don't think this is the case. The problem is that most people think "secure" is a binary principle - it's there or its not. But in reality "secure" deals as much with expected interactions as it does with any hard principles. A mathematically provable software language will only prove that the software meets a certain specification. The problem is that the specification may itself contain bugs or be insecure. Also, it may be perfectly secure in one context, and perfectly insecure in another (for instance, if they assumed incorrectly which other parts of the system could be trusted).
"if you're a development shop that sells application based on Microsoft Windows, you can apply to become an MS Partner, which costs around 1500 US$ per year, and gives you all the licenses you might want (for internal production use)"
Right. But remember that clients don't care where the costs come from. So every instance in which the client has to pay more money for running the apps in production actually comes out of what they would otherwise be paying us.
"Back in 2004, Office Communication Server 2007 wasn't released, but right now it's a full blown voip solution from Microsoft (which works pretty well, and integrates nicely). It isn't expensive either, at around 1000US$ per Server, and around 20US$ per CAL."
That's nice, but that would have doubled the cost of the end result, and I'm going to guess it probably cost even more for the hardware required to run on (we have asterisk running on our cheapest desktop machine, and it runs our offices great).
Also, the thing I also forgot to mention is managing licenses. First of all, isn't this knowledge you have about Microsoft's licensing schemes totally artificial? I mean, the reason you have to remember it at all is just to make Microsoft more profitable. It doesn't help you as a developer, it just (as most MS products do) adds more roadblocks. Not only do I have to understand the coding, I have to understand the internal licensing structure of Microsoft. Not only do I have to buy more licenses, I have to keep track of them! Companies not only have to allocate resources for development, but they have to allocate resources to make sure they are "compliant". The company I work for went through, before I joined, a compliance test in which they paid someone money to make sure that they had all the right licenses. Now, the cost isn't nearly as important as the time and mental brain-power wasted trying to keep track of all of that stuff.
That's the primary reason I use Linux -- there are literally no worries about that sort of thing. I can use my Ruby-on-Rails production stack on any OS there is -- Windows included (as I mentioned, I've had only bad experiences with the.NET development environment, and, just so you'll know MS isn't the only one on my hit list, even worse experiences with J2EE/JSF). I can wake up in the morning, decide to reformat two machines with the latest version of CentOS, install PostgreSQL instead of MySQL, run a domain server, and deploy all sorts of applications, without even thinking about who I need to pay, how much I owe them, and whether or not I'm breaking the law by doing so. I can have the solution deployed before I could even get started in the morass of Windows issues.
"just wanted to show you that the stuff isn't as expensive as you're trying to make it"
You are probably correct that the prices I listed are not the cheapest way to get at the stuff. But as I said that's yet another issue. Having to keep in mind all of the licensing requirements and which ways I can best license something is one less brain cell I can devote to actually solving a problem. But, as I also mentioned, the prices mentioned above are only the list prices, and the amount of support time involved in them makes the MS and even poorer choice.
In addition, if I remember correctly, becoming a Partner is quite a bit more than the $1500 charge you mention. You also have to get all of your staff certified in various MS products. How much do those certifications cost?
In addition, I can't even log into the MS Partner website with Firefox. Which would be a big hurdle. We do a lot of development on the Macs even if we deploy to other OS's (including Windows). Again, just another MS issue. I don't need to develop on a Linux box to deploy on Linux. I use Netbeans for development, and it is happy anywhere, and I can deploy anywhere. Again, with MS it is just another roadblock on the way to delivering a solution.
What's really sad is that I know a lot of Windows developers, and they are so familiar with the roadblocks they think it is part of the development process! Arghhhh!!!
"Wrong Linux requires more because Linux has more tweaks and settings on how admins want it."
Only if they were required for basic function would that be considered "more administration". In fact, usually this means less administration because you can set up Linux in a way that suits your environment faster than Windows, which rarely-if-at-all will be able to do so. If you're willing to live with the Windows feature subset, then you definitely don't have any more administration to do. But in that case you are probably hemoraging money in the time your users have to work around the computer setup.
"Wrong Windows is easier updated."
What's hard about yum and the autoupdate services?
"And with Linux you need it as well, unless you are a Linux expert."
If the people handling internet-facing boxes are non-experts, then you are a likely candidate to be 0wned.
"And in that case your salary is higher (or should be) than most Windows administrators"
Not where I live. In fact, everywhere I've lived a Windows admin for a small company makes about 20% more than a Linux admin.
"With Linux in theory you have the ability to fix it yourself."
But it's not just you. It's you and a whole slew of interested parties. In addition, you don't have to wait for it to become MS's priority. If it is your priority, you can always hire someone to do it for you.
In most of your answers I'm sensing that you are forgetting that computers are supposed to serve a purpose - that's their whole reason for existing. Don't worry, most MS people I know think this way. They view computers as simply a cost of doing business, and therefore are worried only about the cheapest way to setup computers for everyone in the office. Most Linux people on the other hand are usually trying to accomplish something on computers. So yes, it is cheaper to have an idiot MS administrator baby-sit machines that are used by office workers to play solitaire or host their porn. But when you have actual business requirements that need to be fulfilled, with Linux you can just do it, while with Windows you have to go through the toll-booths hoping that the features you need won't be held for ransom at the end of the trail.
"And if you do fix it yourself, you are taking away time that you should be using for administration tasks."
Here's the whole problem - in Windows, your business is just plain screwed. You don't seem to be calculating that into your cost calculations. How much does it cost for your business to be screwed?
"No there are not sever licenses. But as illustrated in your previous points your increased salary (should be) does make up quite nicely for the "no license" fees."
I'm curious why a competent Linux admin should make more money than a competent Windows admin. Competent admins all earn their keep, while all incompetent ones should find other work.
Let me go through what my company did in one year with Linux on the server (this was in 2004):
This assumes an existing single company server of either Win or Linux.
Groupware: Linux price: $0.00
Estimated MS price:
hardware: $2,000 (MS best practice is to use own server for this)
software: $5,104 (2000 server + exchange + CALs)
Development/Deployment for Web Apps (web+database): Linux price:
hardware: $800.00 for server
software: $0.00 Estimated MS Price: $14,196 - $29,196 (MSDN + SQL Server + Win2k*2)
hardware: $1600.00 for servers
Domain management (authentication+resource administration): Linux price: $0 Estimated MS Price:
hardware: $2,000
software: $1,500
Telephone PBX server: Linux solution:
hardware: $1600 (including phones)
software: $0.00 Windows solution:
not available. Most proprietary solutions were about $10k
So, how many admins does it take to do all this? We
"It is quite an experience witnessing that evolution can and does go "uphill", and getting the deep insight into how and why it does."
It depends on what you mean by "uphill". Better results? Sure. But it does not generate complex structures. For instance, in circuit design, evolutionary algorithms can for the most part program feed-forward but not feed-back circuits.
There have been very few experiments done with evolutionary algorithms on Universal Turing Machines. The biggest set of experiments is Avida, but the algorithms that Avida can program are only the ones that do not make use of the features that make it a Universal Turing Machine.
"Selectable variations do need to be reasonably continuous in the 'vicinity' sense above. Evolution can only traverse a sequence of selectable variations with reasonable mutation-count distance to reach each successive selectable variation."
Yes, that is precisely my point.
"Evolution does not require "outcomes of genetic variations [to] be largely predictable", other than predictably having a higher search value than random search"
What I meant by predictability is that it has to lie at least close to the vicinity of function of its predecessors. If it is scattered all around, then natural selection won't be able to find it. You would be back at the point of trying to produce something from nothing.
"Virtually all instances of Turing machines completely predictable."
Universal Turing Machines are not. Hence, the halting problem. If you know a solution to the halting problem (which would be required for you to predict the result of a Universal Turing Machine), let me know.
"Evolution cheerfully kills off any individual it dislikes."
Yes. But the issue is generating ones it likes. It does no good in evolutionary terms for an environmental change to kill off everyone. Evolution will cheerfully make the entire planet extinct. The question is, what keeps this from happening? My contention is that the changes are informationally directed ahead of time, not after-the-fact directed by natural selection, and that in fact after-the-fact direction by natural selection is unable to produce such structures.
"As I mentioned above mutations and recombinations of functional DNA are almost infinitely biased towards functional results compared to random DNA strings."
I agree. But also, as has been shown over and over in modern biochemistry, the changes themselves within the DNA are also biased. See for instance Caporale's "Molecular Strategies in Biological Evolution". In fact, Caporale in a number of papers has reviewed the very biased nature of mutation towards beneficial changes, from tandem repeats to phase-variable genes.
"it would select for DNA that was most highly biased towards biologically sensible mutation and recombination."
This is very true. But before these are selected for, they have to be _produced_. As I mentioned in my post, this just moves design around, it does not get rid of it. You can't skirt the question of how such features would be produced. These are _very_ narrow targets, which are _useless_ until they are able to be deployed. So here you actually are back to having to produce function from random strings, because you can't select them in the intermediates.
This is research I'm actively pursuing (which is why you probably haven't heard about it before:])
Basically it is this:
1) Natural Selection requires that, at least for the most part, variations are more continuous than they are discontinuous. If this were true, the outcomes of genetic variations would be largely predictable 2) In order to do anything interesting with data, one needs a Turing machine 3) Universal Turing machines are, by their nature, are unpredictable (hence the halting problem). If the behavior of a Turing machine was continuous and predictable, it is either (a) not universal, or (b) not doing anything interesting 4) Therefore, as a mechanism, natural selection is unable to deal with any fundamental, core system (i.e. one that is interesting enough to require a Universal Turing Machine), because the unpredictable nature of the results of variation on a Universal Turing Machine preclude natural selection.
#4 needs to be quantified, and that is the part I'm currently stuck on. I'm thinking it relates to cyclomatic complexity, but a lot of the details are messy, especially since in this case the number of lines of code within each cycle contributes to the difficulty of evolution.
The only way I see around this general argument is to say that the cell contains general heuristics to guide it through the messy landscape of mutation, but that in itself requires a complex informational process, so it's simply moving design around, not getting rid of it.
Of course, all of this is simply an instance of the more general No Free Lunch theorems - simply pointing out why natural selection can't violate the NFL principle.
As for the positive aspect of design, finding solutions to problems that are beyond computational capability is one of the hallmarks of intelligent agents.
Also, just to point out, "with these each time debunked by somebody else actually showing that this upward slope could occur (and usually showing that it does occur in nature, in the form of previous forms still existing.)"
Using the argument that the "previous forms still exist" is actually circular reasoning. It works only by making two assumptions:
1) That the "previous" form actually is previous and not separate (think of the number of core loops throughout computer science that look nearly identical but all have independent origin) 2) Even if one did evolve from the other, there is the implied assumption that the _mechanism_ for the evolution from the old to the new was natural selection. In the specific case of Behe, he actually agrees that all of these sorts of structures are evolutionarily related. What he does not agree with, and in fact has not been shown (and I think the nature of Universal Turing Machines will eventually demonstrate why it can't be shown) is that natural selection is the mechanism which produces these changes.
In fact, most of the larger-scale changes we see in organisms are highly specified. Genomes are highly biased to produce changes that are at least biologically sensible. The mutations, contrary to what many Darwinists want people to think, are not random in the sense of being non-teleological, though many are statistically random.
By the way, in the above post, I didn't mean to imply that non-Universal machines can't perform any computation at all, but rather that they can't perform any arbitrary computation that you throw at it. So please read "any computation" as "any arbitrary computable computation" in the above post.
A system is "Universal" if it can, given infinite memory and an appropriate program, compute any computable function. A previous system even more simple than this one, Rule 110, was proven to be Universal by one of Wolfram's associates (Wolfram had the idea that it might be, Matthew Cook discovered the proof). However, a Universal Turing machine has some extra requirements with regards to the implementation. So this is the simplest Universal Turing Machine.
If you already know programming, then here's how to think of it:
A Turing machine is a programming language. A Universal Turing machine is a language that is sufficiently flexible enough to perform any computation (including emulate any other Turing machine - i.e. language) A Non-Universal Turing machine is a language that is built to do a specific purpose well, but does not have enough flexibility to perform any computation.
For computer programmers, nearly every general-purpose language we deal with on a daily basis is Turing-complete. An example of a non-Turing Complete language might be a configuration file. It has a language, you may even be able to do some basic scripting in it, but unless it is built out of a general-purpose language you cannot perform any computation in it.
What they think it is useful for is to help us to make nanomachines easier. If we can construct a Turing machine with simpler parts, we can have a compiler that can pick up the slack in making the program.
On another note, Wolfram takes these tiny Turing machines as reason to not believe that people have souls, while I on the other hand take these to indicate that life must be designed, but that has to do more with the general properties of Turing machines rather than the size of them.
"And people are expecting these things to be able to be used a productive business tool."
Actually, they aren't. The iPhones are only for personal use. My boss has one, and he had to argue with the customer service person for about twenty minutes to convince her that she could send the bill to a business address. He had to swear up and down that this was not a business phone, and that he was merely sending the bill there for personal convenience.
This is actually the cheapest (by far) way to get access to IBM's new Cell BE processor. It also doesn't trash the gameplaying aspect of the PS3 -- PS3s actually come with dual-boot capability built-in.
So, if you're interested in learning to program IBM's new chip design, this is the best way to do it. It not only has a dual-core PowerPC element, but eight independent vector processors attached, with a radical new architecture (because of manufacturing decisions by Sony as well as implementation decisions, you may have access to as few as 6, but in any case, there's lots of processing elements in there).
Then there is always the Geek factor, which can never be underestimated.
So... wild speculation (that such mechanisms could come from a Darwinian process) trumps experimental data (that such non-Darwinian mechanisms are the observable beneficial change agents) every time? At what point do speculations have to cash out for real evidence?
The evidence, as it currently stands, is that beneficial changes are the result of specific mechanisms to produce such changes.
While one could speculate that they originated from non-directional mechanisms, without a mathematical model or observational data, you are just blindly speculating. Which is more scientific, to go with the facts as they are, or to say "my theory is true based on things we have never observed to be possible"?
"What distinguishes the Darwinian interpretations from a Creationist or ID one is that they immediately suggests additional testable hypotheses."
Yes, the Creationist ones to suggest additional testable hypotheses:)
The problem with Darwinism is that it is based around the idea that mutation cannot be directed. As Dembski has pointed out, the existance of mechanisms (or, as you say, constraints) that reliably produce beneficial mutations is evidence of design.
What creationists and ID'ers have said for quite some time now is that, in a complex environment, if you continually get beneficial changes, there must be some mechanism (or, as you say, constraints) that is guiding the process towards such changes. And we are continually finding new ones.
For example, it has recently been shown that there are specific parts of a gene which are changeable under stress. When single-stranded DNA forms stem-loop structures, the loop is essentially a replaceable component, while the stem is static one.
A testable hypothesis put forth by Todd Wood (a YEC) is that transposons will be found to be activators of specific genes in response to specific stresses. This has turned out to be true, as demonstrated by Barry Hall.
The existance of contingency loci are another evidence of ID-over-Darwinism. You have a clear separation between the dynamic (contingency loci) and the static (maintenance genes).
For it to happen in such a short time, it would have to be directed. It also wasn't just a single frameshift, but transposable elements and point mutations as well, in addition to another gene changing in concert.
The base sequences of these genes were examined and a common characteristic was found: a long stretch of sequence without chain-terminating base triplets, defined as a nonstop frame (NSF), is being maintained on the antisense strand. Moreover, a certain coding frame is open for both the sense and the antisense sequences, while the other frames have many stop codons. The probability of the presence of these NSFs on the antisense strand of a gene is very small (0.0001-0.0018). In addition, another gene for nylon oligomer degradation was found to have a NSF on its antisense strand, and this gene is phylogenically independent of the nylB genes. Therefore, the presence of these NSFs is very rare and improbable. Even if the common ancestral gene of the nylB family was originally endowed with a NSF on its antisense strand, the probability of this original NSF persisting in one of its descendants of today is only 0.007. Unless an unknown force was maintaining the NSF, it would have quickly disappeared by random emergences of chain terminators. Therefore, the presence of such rare NSFs on all three antisense strands of the nylB gene family suggests that there is some special mechanism for protecting these NSFs from mutations that generate the stop codons. Such a mechanism may enable NSFs to evolve into new functional genes and hence seems to be a basic mechanism for the birth of new enzymes.
This is an ID or Creationist view of evolution, not a neo-Darwinistic one.
"the DiscoTute will create new journals for the purpose (same as the homeopathy whackjobs do"
I think this is a bit of "the pot calling the kettle black". Some of the current mainstream evolutionary journals (the journal Evolution, for instance), started because a group of authors/editors didn't feel that their views were being taken seriously by other scholars, so they merely created a new journal that they published in. This isn't too unusual. It is true that the quacks do it. It is also true that everyone else does, too.
A friend of mine (Norbert Smith) was well-published in the scientific literature. He researched the regulatory changes that alligators use to dive deep underwater. The BBC even did a documentary on his research. When it came out that he was a creationist, they fired him. It isn't about peer review, research money, or anything like that. There is open discrimination against non-Darwinian opinions.
Recently, an *astronomer* was denied employment because of his views on *evolution*. The position had nothing to do with biology, or even astrobiology, but because they didn't like his views on evolution.
I don't think that the reason for reduced overhead should be entirely attributed to digitalized medical records. You also have to remember that one of the main problems that medical companies don't do this already is liability problems created by HIPPA. Likewise, insurance is a nightmare to work with. These will both continue to be true whether or not records are digitalized.
One problem few people think about with regards to health care is that the U.S. is such a diverse society, you have a lot of different types of needs. In countries with a monoculture, it is much easier to have low overhead and have a one-size-fits-all way of doing things. Also, in other countries, privacy is not so much of an issue. Here, for some reason beyond my understanding, medical records have become almost the equivalent of classified documents in terms of how they are protected. This has probably cost us much more money than whether or not the records are digital.
I think it is _possible_ we could save money with digitization, but not the amount suggested by this post. On the other hand, based on previous experience with medical IT, I think it's possible it could actually lose money in the long run, especially if "being digital" becomes more important than actually solving the communication problem.
This is more for those who are serious about programming, but if they are, find it here.
Just to be pedantic, it has been recently shown that identical twins do not share the exact same DNA.
I haven't found thread safety to be too much of an issue. Sure, it would be nice for some things, but generally it is not an issue.
:include) which can make advanced queries fairly painless, and speed up your app a lot. In addition, having a database that works well with advanced SQL features like subselects (for instance, Postgres) can make many of Rails's supposed scalability issues go away.
As for administration, I know a lot of people like things like Mongrel and the sorts, but I've found that admin'ing busy websites is fairly simple using Apache + mod_fcgid (NOT mod_fastcgi). I think few people are aware of this option, but it works quite well.
As for scalability, most of the issues I've had with scaling were solved by either (a) writing better queries, or (b) doing better caching. ActiveRecord can lull people to sleep as far as database access goes, and it is not uncommon for people to forget the underlying database costs of what they are doing. However, ActiveRecord has a lot of nice things (like
32-bit x86 is not scary at all (16-bit x86 is fairly scary). You can get started with my book.
"I don't think the concept is easier or harder in any particular language, but Scheme and LISP have a bit nicer syntax for recursive functions"
More importantly, scheme is tail-recursive, which means you can write loops recursively and not suffer stack overflows.
For more on recursive programming, see here
In addition, there is the question of "exploited by whom". For instance, let's say that there is a bug which allows one Postgres user to do queries on the table of another Postgres user. Should it be fixed? Sure. Is it a big problem? Not unless you're on a shared virtual hosting platform. And even then, its somewhat mitigated because the only people who have access to it are paying customers (i.e. their identity is known).
A "security bug" does not mean "hax0rs are going to own you", but it may mean something like, "if someone who you trusted enough to give permissions to your box were going to try to screw you, they could do it in this way".
So, even if it is exploitable doesn't mean that it is necessarily exploitable in a way that would leave people vulnerable to strangers.
"There is a class of mathematically provable software languages, and you might be able to say with surety that programs in them are secure."
I don't think this is the case. The problem is that most people think "secure" is a binary principle - it's there or its not. But in reality "secure" deals as much with expected interactions as it does with any hard principles. A mathematically provable software language will only prove that the software meets a certain specification. The problem is that the specification may itself contain bugs or be insecure. Also, it may be perfectly secure in one context, and perfectly insecure in another (for instance, if they assumed incorrectly which other parts of the system could be trusted).
"if you're a development shop that sells application based on Microsoft Windows, you can apply to become an MS Partner, which costs around 1500 US$ per year, and gives you all the licenses you might want (for internal production use)"
.NET development environment, and, just so you'll know MS isn't the only one on my hit list, even worse experiences with J2EE/JSF). I can wake up in the morning, decide to reformat two machines with the latest version of CentOS, install PostgreSQL instead of MySQL, run a domain server, and deploy all sorts of applications, without even thinking about who I need to pay, how much I owe them, and whether or not I'm breaking the law by doing so. I can have the solution deployed before I could even get started in the morass of Windows issues.
Right. But remember that clients don't care where the costs come from. So every instance in which the client has to pay more money for running the apps in production actually comes out of what they would otherwise be paying us.
"Back in 2004, Office Communication Server 2007 wasn't released, but right now it's a full blown voip solution from Microsoft (which works pretty well, and integrates nicely). It isn't expensive either, at around 1000US$ per Server, and around 20US$ per CAL."
That's nice, but that would have doubled the cost of the end result, and I'm going to guess it probably cost even more for the hardware required to run on (we have asterisk running on our cheapest desktop machine, and it runs our offices great).
Also, the thing I also forgot to mention is managing licenses. First of all, isn't this knowledge you have about Microsoft's licensing schemes totally artificial? I mean, the reason you have to remember it at all is just to make Microsoft more profitable. It doesn't help you as a developer, it just (as most MS products do) adds more roadblocks. Not only do I have to understand the coding, I have to understand the internal licensing structure of Microsoft. Not only do I have to buy more licenses, I have to keep track of them! Companies not only have to allocate resources for development, but they have to allocate resources to make sure they are "compliant". The company I work for went through, before I joined, a compliance test in which they paid someone money to make sure that they had all the right licenses. Now, the cost isn't nearly as important as the time and mental brain-power wasted trying to keep track of all of that stuff.
That's the primary reason I use Linux -- there are literally no worries about that sort of thing. I can use my Ruby-on-Rails production stack on any OS there is -- Windows included (as I mentioned, I've had only bad experiences with the
"just wanted to show you that the stuff isn't as expensive as you're trying to make it"
You are probably correct that the prices I listed are not the cheapest way to get at the stuff. But as I said that's yet another issue. Having to keep in mind all of the licensing requirements and which ways I can best license something is one less brain cell I can devote to actually solving a problem. But, as I also mentioned, the prices mentioned above are only the list prices, and the amount of support time involved in them makes the MS and even poorer choice.
In addition, if I remember correctly, becoming a Partner is quite a bit more than the $1500 charge you mention. You also have to get all of your staff certified in various MS products. How much do those certifications cost?
In addition, I can't even log into the MS Partner website with Firefox. Which would be a big hurdle. We do a lot of development on the Macs even if we deploy to other OS's (including Windows). Again, just another MS issue. I don't need to develop on a Linux box to deploy on Linux. I use Netbeans for development, and it is happy anywhere, and I can deploy anywhere. Again, with MS it is just another roadblock on the way to delivering a solution.
What's really sad is that I know a lot of Windows developers, and they are so familiar with the roadblocks they think it is part of the development process! Arghhhh!!!
"Wrong Linux requires more because Linux has more tweaks and settings on how admins want it."
Only if they were required for basic function would that be considered "more administration". In fact, usually this means less administration because you can set up Linux in a way that suits your environment faster than Windows, which rarely-if-at-all will be able to do so. If you're willing to live with the Windows feature subset, then you definitely don't have any more administration to do. But in that case you are probably hemoraging money in the time your users have to work around the computer setup.
"Wrong Windows is easier updated."
What's hard about yum and the autoupdate services?
"And with Linux you need it as well, unless you are a Linux expert."
If the people handling internet-facing boxes are non-experts, then you are a likely candidate to be 0wned.
"And in that case your salary is higher (or should be) than most Windows administrators"
Not where I live. In fact, everywhere I've lived a Windows admin for a small company makes about 20% more than a Linux admin.
"With Linux in theory you have the ability to fix it yourself."
But it's not just you. It's you and a whole slew of interested parties. In addition, you don't have to wait for it to become MS's priority. If it is your priority, you can always hire someone to do it for you.
In most of your answers I'm sensing that you are forgetting that computers are supposed to serve a purpose - that's their whole reason for existing. Don't worry, most MS people I know think this way. They view computers as simply a cost of doing business, and therefore are worried only about the cheapest way to setup computers for everyone in the office. Most Linux people on the other hand are usually trying to accomplish something on computers. So yes, it is cheaper to have an idiot MS administrator baby-sit machines that are used by office workers to play solitaire or host their porn. But when you have actual business requirements that need to be fulfilled, with Linux you can just do it, while with Windows you have to go through the toll-booths hoping that the features you need won't be held for ransom at the end of the trail.
"And if you do fix it yourself, you are taking away time that you should be using for administration tasks."
Here's the whole problem - in Windows, your business is just plain screwed. You don't seem to be calculating that into your cost calculations. How much does it cost for your business to be screwed?
"No there are not sever licenses. But as illustrated in your previous points your increased salary (should be) does make up quite nicely for the "no license" fees."
I'm curious why a competent Linux admin should make more money than a competent Windows admin. Competent admins all earn their keep, while all incompetent ones should find other work.
Let me go through what my company did in one year with Linux on the server (this was in 2004):
This assumes an existing single company server of either Win or Linux.
Groupware:
Linux price: $0.00
Estimated MS price:
hardware: $2,000 (MS best practice is to use own server for this)
software: $5,104 (2000 server + exchange + CALs)
Development/Deployment for Web Apps (web+database):
Linux price:
hardware: $800.00 for server
software: $0.00
Estimated MS Price: $14,196 - $29,196 (MSDN + SQL Server + Win2k*2)
hardware: $1600.00 for servers
Domain management (authentication+resource administration):
Linux price: $0
Estimated MS Price:
hardware: $2,000
software: $1,500
Telephone PBX server:
Linux solution:
hardware: $1600 (including phones)
software: $0.00
Windows solution:
not available. Most proprietary solutions were about $10k
So, how many admins does it take to do all this? We
"It is quite an experience witnessing that evolution can and does go "uphill", and getting the deep insight into how and why it does."
It depends on what you mean by "uphill". Better results? Sure. But it does not generate complex structures. For instance, in circuit design, evolutionary algorithms can for the most part program feed-forward but not feed-back circuits.
There have been very few experiments done with evolutionary algorithms on Universal Turing Machines. The biggest set of experiments is Avida, but the algorithms that Avida can program are only the ones that do not make use of the features that make it a Universal Turing Machine.
"Selectable variations do need to be reasonably continuous in the 'vicinity' sense above. Evolution can only traverse a sequence of selectable variations with reasonable mutation-count distance to reach each successive selectable variation."
Yes, that is precisely my point.
"Evolution does not require "outcomes of genetic variations [to] be largely predictable", other than predictably having a higher search value than random search"
What I meant by predictability is that it has to lie at least close to the vicinity of function of its predecessors. If it is scattered all around, then natural selection won't be able to find it. You would be back at the point of trying to produce something from nothing.
"Virtually all instances of Turing machines completely predictable."
Universal Turing Machines are not. Hence, the halting problem. If you know a solution to the halting problem (which would be required for you to predict the result of a Universal Turing Machine), let me know.
"Evolution cheerfully kills off any individual it dislikes."
Yes. But the issue is generating ones it likes. It does no good in evolutionary terms for an environmental change to kill off everyone. Evolution will cheerfully make the entire planet extinct. The question is, what keeps this from happening? My contention is that the changes are informationally directed ahead of time, not after-the-fact directed by natural selection, and that in fact after-the-fact direction by natural selection is unable to produce such structures.
"As I mentioned above mutations and recombinations of functional DNA are almost infinitely biased towards functional results compared to random DNA strings."
I agree. But also, as has been shown over and over in modern biochemistry, the changes themselves within the DNA are also biased. See for instance Caporale's "Molecular Strategies in Biological Evolution". In fact, Caporale in a number of papers has reviewed the very biased nature of mutation towards beneficial changes, from tandem repeats to phase-variable genes.
"it would select for DNA that was most highly biased towards biologically sensible mutation and recombination."
This is very true. But before these are selected for, they have to be _produced_. As I mentioned in my post, this just moves design around, it does not get rid of it. You can't skirt the question of how such features would be produced. These are _very_ narrow targets, which are _useless_ until they are able to be deployed. So here you actually are back to having to produce function from random strings, because you can't select them in the intermediates.
This is research I'm actively pursuing (which is why you probably haven't heard about it before :])
Basically it is this:
1) Natural Selection requires that, at least for the most part, variations are more continuous than they are discontinuous. If this were true, the outcomes of genetic variations would be largely predictable
2) In order to do anything interesting with data, one needs a Turing machine
3) Universal Turing machines are, by their nature, are unpredictable (hence the halting problem). If the behavior of a Turing machine was continuous and predictable, it is either (a) not universal, or (b) not doing anything interesting
4) Therefore, as a mechanism, natural selection is unable to deal with any fundamental, core system (i.e. one that is interesting enough to require a Universal Turing Machine), because the unpredictable nature of the results of variation on a Universal Turing Machine preclude natural selection.
#4 needs to be quantified, and that is the part I'm currently stuck on. I'm thinking it relates to cyclomatic complexity, but a lot of the details are messy, especially since in this case the number of lines of code within each cycle contributes to the difficulty of evolution.
The only way I see around this general argument is to say that the cell contains general heuristics to guide it through the messy landscape of mutation, but that in itself requires a complex informational process, so it's simply moving design around, not getting rid of it.
Of course, all of this is simply an instance of the more general No Free Lunch theorems - simply pointing out why natural selection can't violate the NFL principle.
As for the positive aspect of design, finding solutions to problems that are beyond computational capability is one of the hallmarks of intelligent agents.
Also, just to point out, "with these each time debunked by somebody else actually showing that this upward slope could occur (and usually showing that it does occur in nature, in the form of previous forms still existing.)"
Using the argument that the "previous forms still exist" is actually circular reasoning. It works only by making two assumptions:
1) That the "previous" form actually is previous and not separate (think of the number of core loops throughout computer science that look nearly identical but all have independent origin)
2) Even if one did evolve from the other, there is the implied assumption that the _mechanism_ for the evolution from the old to the new was natural selection. In the specific case of Behe, he actually agrees that all of these sorts of structures are evolutionarily related. What he does not agree with, and in fact has not been shown (and I think the nature of Universal Turing Machines will eventually demonstrate why it can't be shown) is that natural selection is the mechanism which produces these changes.
In fact, most of the larger-scale changes we see in organisms are highly specified. Genomes are highly biased to produce changes that are at least biologically sensible. The mutations, contrary to what many Darwinists want people to think, are not random in the sense of being non-teleological, though many are statistically random.
By the way, in the above post, I didn't mean to imply that non-Universal machines can't perform any computation at all, but rather that they can't perform any arbitrary computation that you throw at it. So please read "any computation" as "any arbitrary computable computation" in the above post.
A system is "Universal" if it can, given infinite memory and an appropriate program, compute any computable function. A previous system even more simple than this one, Rule 110, was proven to be Universal by one of Wolfram's associates (Wolfram had the idea that it might be, Matthew Cook discovered the proof). However, a Universal Turing machine has some extra requirements with regards to the implementation. So this is the simplest Universal Turing Machine.
If you already know programming, then here's how to think of it:
A Turing machine is a programming language.
A Universal Turing machine is a language that is sufficiently flexible enough to perform any computation (including emulate any other Turing machine - i.e. language)
A Non-Universal Turing machine is a language that is built to do a specific purpose well, but does not have enough flexibility to perform any computation.
For computer programmers, nearly every general-purpose language we deal with on a daily basis is Turing-complete. An example of a non-Turing Complete language might be a configuration file. It has a language, you may even be able to do some basic scripting in it, but unless it is built out of a general-purpose language you cannot perform any computation in it.
What they think it is useful for is to help us to make nanomachines easier. If we can construct a Turing machine with simpler parts, we can have a compiler that can pick up the slack in making the program.
On another note, Wolfram takes these tiny Turing machines as reason to not believe that people have souls, while I on the other hand take these to indicate that life must be designed, but that has to do more with the general properties of Turing machines rather than the size of them.
"And people are expecting these things to be able to be used a productive business tool."
Actually, they aren't. The iPhones are only for personal use. My boss has one, and he had to argue with the customer service person for about twenty minutes to convince her that she could send the bill to a business address. He had to swear up and down that this was not a business phone, and that he was merely sending the bill there for personal convenience.
As far as I'm aware, while there is an addon CD available for Fedora for the PS3, it is not an officially-supported part of Fedora.
In addition, Sony hired YDL (actually TerraSoft) specifically to do this port, so the YDL developers have better support potential.
I would stick with YDL on the PS3 simply because they actually have a commitment to the platform.
Basically, Sony's system allows you the following partition options:
1) Give it all to the game os
2) Give 10G to the game os and the rest to the other os
3) Give 10G to the other os and the rest to the game os
I believe those are the same options no matter what size drive you have.
This is actually the cheapest (by far) way to get access to IBM's new Cell BE processor. It also doesn't trash the gameplaying aspect of the PS3 -- PS3s actually come with dual-boot capability built-in.
So, if you're interested in learning to program IBM's new chip design, this is the best way to do it. It not only has a dual-core PowerPC element, but eight independent vector processors attached, with a radical new architecture (because of manufacturing decisions by Sony as well as implementation decisions, you may have access to as few as 6, but in any case, there's lots of processing elements in there).
Then there is always the Geek factor, which can never be underestimated.
And everyone goes home happy and vulnerable!
I love corporate america.
So... wild speculation (that such mechanisms could come from a Darwinian process) trumps experimental data (that such non-Darwinian mechanisms are the observable beneficial change agents) every time? At what point do speculations have to cash out for real evidence?
The evidence, as it currently stands, is that beneficial changes are the result of specific mechanisms to produce such changes.
While one could speculate that they originated from non-directional mechanisms, without a mathematical model or observational data, you are just blindly speculating. Which is more scientific, to go with the facts as they are, or to say "my theory is true based on things we have never observed to be possible"?
"What distinguishes the Darwinian interpretations from a Creationist or ID one is that they immediately suggests additional testable hypotheses."
:)
Yes, the Creationist ones to suggest additional testable hypotheses
The problem with Darwinism is that it is based around the idea that mutation cannot be directed. As Dembski has pointed out, the existance of mechanisms (or, as you say, constraints) that reliably produce beneficial mutations is evidence of design.
What creationists and ID'ers have said for quite some time now is that, in a complex environment, if you continually get beneficial changes, there must be some mechanism (or, as you say, constraints) that is guiding the process towards such changes. And we are continually finding new ones.
For example, it has recently been shown that there are specific parts of a gene which are changeable under stress. When single-stranded DNA forms stem-loop structures, the loop is essentially a replaceable component, while the stem is static one.
A testable hypothesis put forth by Todd Wood (a YEC) is that transposons will be found to be activators of specific genes in response to specific stresses. This has turned out to be true, as demonstrated by Barry Hall.
The existance of contingency loci are another evidence of ID-over-Darwinism. You have a clear separation between the dynamic (contingency loci) and the static (maintenance genes).
That was mine, too! I especially enjoyed using cassette tapes to store my files.
The real interesting part was the particular properties of the allele which made it amenable to this sort of change, leading some to postulate that this stretch of DNA was designed to evolve in specific ways.
This is an ID or Creationist view of evolution, not a neo-Darwinistic one.