This is just my opinion (albeit an educated one, as I'm actively involved in the machine learning field), but I believe control and intelligence are antithetical. If you try to limit an agent's thoughts, you will prune whole branches off of the tree of things it could explore and learn about. If you limit its actions but not its thoughts, you risk it finding a way around the block (Asimov demonstrates this with the concept of the "Zeroth Law of Robotics"). If you try to keep an agent disembodied, it will lack firsthand knowledge of sensory perception and will thus grow out of touch with the external world. In fact, you may not even be able to solve the grounding problem (in a real world context, anyway) without giving an agent some sort of external presence.
On the other hand, evolutionary biology, when misapplied to the social (pretend) sciences, produced a whole range of crimes against humanity whose shock waves have turned the Western mind inside out.
That is not the fault of the evolutionary biologists, but those who applied the theories in all sorts of inhuman ways. Since we're already skirting around Godwin's Law anyway, I'll just out and say it: Neither Darwin nor Nietzsche were responsible for Hitler's actions; Hitler was responsible for Hitler's actions.
To use a more contemporary analogy, if I teach someone how to drive a car and he uses that knowledge to deliberately run people over, it isn't my fault; it's his.
(And who cares whether social sciences are truly sciences? They provide us with useful tools, and that is sufficient for me to respect them as areas of study. Computer Science isn't really a "proper" science either, and yet here you are on the Internet...)
I'm sure someone has said it on this thread already, but it's worth repeating: copy protection is useless.
Let's assume there are two types of users: pirates and customers.
Pirates are going to crack their software to get around the scheme, so once a crack is out, game over - the copy protection is now useless at deterring them.
Customers will either tolerate the restrictions the scheme imposes or crack their legitimate copies to get around the copy protection. The company does not derive any benefit from customers vs. having no protection at all, since they paid for the software anyway. In fact, they're harmed by the decision to use copy protection, because the group of customers that goes looking for a crack will realize that if they're going to need to use a cracked copy anyway, there's no reason for them to pay for the software in the first place.
To summarize, it does next to nothing against the pirates, while harming the legitimate consumers and possibly turning several of them towards future piracy. The only legitimate purpose it may serve is deterring casual piracy, but there's nothing stopping these people from cracking the protection either.
Not to mention that the mere release of IE8 should be enough to attenuate IE6 support, since many web developers code for the latest n browser versions. For me, n=2, and I for one look forward to abandoning IE6 when IE8 is released.
This is not specific to scientific programming, but that's the beauty of it - it's general:
Once you learn one language, learning another is a fairly trivial matter. I think that for the purposes of teaching programming, it would be best to allow students to use whatever language they feel most comfortable with (not pure Excel, perhaps, but I don't see why VBA would be off-limits) and then to show them how the concepts in these languages relate to those in other languages. If you try to move new programmers out of their comfort zones, they won't learn the material (people who think a skill is beyond their grasp tend to blank out when you try to explain it to them), but if you extend their comfort zones, you should be able to teach them that the skills they've gained by learning one language are mostly the same they'd require to learn another.
You could even teach more than one language at a time to foster such an understanding, if the students could tolerate having to absorb that much syntax at once.
I could understand that rationale if the peer reviewers were paid employees, but they aren't, at least for most journals; they're unpaid volunteers.
(Moreover, I don't think the screen they provide is particularly useful - in fact, I think it's even harmful because it imposes a socially constructed restriction on one's exposure to new ideas - but that's just my own opinion).
In the case of Nature, I think most people pay to have their work in it because of the prestige of having an article published in Nature rather than the journal's audience. If they just wanted others to read it, they could find other journals to accomplish this goal.
The whole thing is a pretty nasty scheme: the authors sometimes pay, the readers always pay, and the reviewers don't cost anything, so where is the money going?
I concur. I've had an account with Dreamhost for the past 5 years and the minute they nix their own POP/IMAP email service is the minute I find another host.
Should computer simulations ever reach the point that we can model all of the biological effects of a treatment, they would provide a useful alternative to mice or other animals. Until then, we really have no choice. We can try things out on isolated tissue, but there's no substitute for in vivo studies.
By that point, the simulations may as well be living organisms themselves, but I won't go there...
It's also completely unsustainable. At some point, the world's new producers will realize that they can do this stuff themselves, and then the rug is going to be yanked out from under us faster than you can say "star goat".
Re:something going mainstream does not become bad
on
The Rise of Geekdom
·
· Score: 1
I'm pretty sure most people inherently believe that what they are doing is good. The question, as is so often the case in moral philosophy, is what "good" means to a particular person and how it influences his or her actions. It could mean doing what benefits oneself whatever harm comes to others, strictly following tenets set down by others with no true understanding of their meaning, or attempting to realize a vision of a perfect society (and even this is not inherently good; I bet Hitler thought he was doing that too...). There's no truly objective definition of "good", so that leaves open a whole range of subjective justifications for all sorts of acts.
Re:something going mainstream does not become bad
on
The Rise of Geekdom
·
· Score: 1
Different for the mere sake of difference is bad. Subject society's actions and values to scrutiny... then choose which actions you should take based on your own vision and values.
They have the right to spend their Euros however they wish, just as I can blow away my savings on some stock pundit's tip should I choose. Skepticism (scientific or otherwise) is an individual decision, not something a gatekeeper has the right to decide for a group.
For instance, what if I could prevent your post from being seen on Slashdot because you have a run-on and mention a dated currency? That doesn't make your point any less valid; such things are peripheral to your main argument. Even were your argument itself somehow flawed, it doesn't negate the fact that I or someone else may learn something from reading or responding to it.
That said, if the authors were deliberately trying to inject false knowledge into the knowledge-base in order to make a personal profit, they are committing fraud and should be thrown in jail... but there are probably easier ways to make a profit for those who lack scruples.
At least it wasn't censored, so people will have the opportunity to repeat the experiment. With articles like these, you always have the risk that it won't even get through peer review.
That's a recurring theme I've been noticing with capitalism in general: when healthy, capitalism does not force a choice between individual interests and those of the organization - the individual interests are what make the organization work in the first place, which is why it's such an effective system in general.
Working an 80 hour week at 40 hour pay is an example of a pathological case, though with the diminishing returns that come with an excessive workweek, I have to wonder whether this is really a good idea for the organization as well.
You would have also lost points points for a double free:)
I agree. Knowledge of low-level languages and architecture will help you as a programmer, since you'll understand more of what is actually going on when your program executes. I think some algorithmic theory is also helpful. At the same time, however, there are high-level tools out there that will make your problems easier to solve, and it would be foolish to ignore them. (Whether languages such as C# and Java do this is debatable, but the principle still holds in general.)
Don't wait until someone teaches you these things to begin, though. As much as people like to give "kids" a rap, the most important thing you can do as a programmer is to start early and practice consistently. Good tools can't replace a lack of skill.
In theory, yes, x will always be 1. However, there are a number of practical cases which can screw this up, since the computer is a mechanical device. For example, cosmic radiation can flip one of the bits in the memory location x was being stored in after it's assigned 0 but before the addition takes place, which can cause a dramatically different result. More realistically, you could have multiple threads running at once and you could be preempted anywhere (including in the middle of that addition) between the two assignments to x. If the other thread changes x, it's anyone's guess what you're getting back.
Because these sorts of events are unlikely and/or preventable, we tend to assume that mechanical calculations are infallible. Strictly speaking, that isn't true. Highly reliable, yes, especially with modern error correcting codes. Infallible, no.
Content-based image retrieval was something that received a lot of attention in academia around 5 years ago. Everyone working in computer vision or image processing seemed to have a CBIR system... and yet, for some reason, none of these systems made it into the mainstream. The accuracy wasn't bad, either. Maybe it just takes someone with Google's clout to do it - but if they do eventually do it, they would not be the first to come up with the techniques.
This is just my opinion (albeit an educated one, as I'm actively involved in the machine learning field), but I believe control and intelligence are antithetical. If you try to limit an agent's thoughts, you will prune whole branches off of the tree of things it could explore and learn about. If you limit its actions but not its thoughts, you risk it finding a way around the block (Asimov demonstrates this with the concept of the "Zeroth Law of Robotics"). If you try to keep an agent disembodied, it will lack firsthand knowledge of sensory perception and will thus grow out of touch with the external world. In fact, you may not even be able to solve the grounding problem (in a real world context, anyway) without giving an agent some sort of external presence.
That is not the fault of the evolutionary biologists, but those who applied the theories in all sorts of inhuman ways. Since we're already skirting around Godwin's Law anyway, I'll just out and say it: Neither Darwin nor Nietzsche were responsible for Hitler's actions; Hitler was responsible for Hitler's actions.
To use a more contemporary analogy, if I teach someone how to drive a car and he uses that knowledge to deliberately run people over, it isn't my fault; it's his.
(And who cares whether social sciences are truly sciences? They provide us with useful tools, and that is sufficient for me to respect them as areas of study. Computer Science isn't really a "proper" science either, and yet here you are on the Internet...)
I'm sure someone has said it on this thread already, but it's worth repeating: copy protection is useless.
Let's assume there are two types of users: pirates and customers.Pirates are going to crack their software to get around the scheme, so once a crack is out, game over - the copy protection is now useless at deterring them.
Customers will either tolerate the restrictions the scheme imposes or crack their legitimate copies to get around the copy protection. The company does not derive any benefit from customers vs. having no protection at all, since they paid for the software anyway. In fact, they're harmed by the decision to use copy protection, because the group of customers that goes looking for a crack will realize that if they're going to need to use a cracked copy anyway, there's no reason for them to pay for the software in the first place.
To summarize, it does next to nothing against the pirates, while harming the legitimate consumers and possibly turning several of them towards future piracy. The only legitimate purpose it may serve is deterring casual piracy, but there's nothing stopping these people from cracking the protection either.
Not to mention that the mere release of IE8 should be enough to attenuate IE6 support, since many web developers code for the latest n browser versions. For me, n=2, and I for one look forward to abandoning IE6 when IE8 is released.
This is not specific to scientific programming, but that's the beauty of it - it's general:
Once you learn one language, learning another is a fairly trivial matter. I think that for the purposes of teaching programming, it would be best to allow students to use whatever language they feel most comfortable with (not pure Excel, perhaps, but I don't see why VBA would be off-limits) and then to show them how the concepts in these languages relate to those in other languages. If you try to move new programmers out of their comfort zones, they won't learn the material (people who think a skill is beyond their grasp tend to blank out when you try to explain it to them), but if you extend their comfort zones, you should be able to teach them that the skills they've gained by learning one language are mostly the same they'd require to learn another.
You could even teach more than one language at a time to foster such an understanding, if the students could tolerate having to absorb that much syntax at once.
I could understand that rationale if the peer reviewers were paid employees, but they aren't, at least for most journals; they're unpaid volunteers.
(Moreover, I don't think the screen they provide is particularly useful - in fact, I think it's even harmful because it imposes a socially constructed restriction on one's exposure to new ideas - but that's just my own opinion).
In the case of Nature, I think most people pay to have their work in it because of the prestige of having an article published in Nature rather than the journal's audience. If they just wanted others to read it, they could find other journals to accomplish this goal.
The whole thing is a pretty nasty scheme: the authors sometimes pay, the readers always pay, and the reviewers don't cost anything, so where is the money going?
I concur. I've had an account with Dreamhost for the past 5 years and the minute they nix their own POP/IMAP email service is the minute I find another host.
Should computer simulations ever reach the point that we can model all of the biological effects of a treatment, they would provide a useful alternative to mice or other animals. Until then, we really have no choice. We can try things out on isolated tissue, but there's no substitute for in vivo studies.
By that point, the simulations may as well be living organisms themselves, but I won't go there...
It's also completely unsustainable. At some point, the world's new producers will realize that they can do this stuff themselves, and then the rug is going to be yanked out from under us faster than you can say "star goat".
I'm pretty sure most people inherently believe that what they are doing is good. The question, as is so often the case in moral philosophy, is what "good" means to a particular person and how it influences his or her actions. It could mean doing what benefits oneself whatever harm comes to others, strictly following tenets set down by others with no true understanding of their meaning, or attempting to realize a vision of a perfect society (and even this is not inherently good; I bet Hitler thought he was doing that too...). There's no truly objective definition of "good", so that leaves open a whole range of subjective justifications for all sorts of acts.
Different for the mere sake of difference is bad. Subject society's actions and values to scrutiny... then choose which actions you should take based on your own vision and values.
They have the right to spend their Euros however they wish, just as I can blow away my savings on some stock pundit's tip should I choose. Skepticism (scientific or otherwise) is an individual decision, not something a gatekeeper has the right to decide for a group.
For instance, what if I could prevent your post from being seen on Slashdot because you have a run-on and mention a dated currency? That doesn't make your point any less valid; such things are peripheral to your main argument. Even were your argument itself somehow flawed, it doesn't negate the fact that I or someone else may learn something from reading or responding to it.
That said, if the authors were deliberately trying to inject false knowledge into the knowledge-base in order to make a personal profit, they are committing fraud and should be thrown in jail... but there are probably easier ways to make a profit for those who lack scruples.
At least it wasn't censored, so people will have the opportunity to repeat the experiment. With articles like these, you always have the risk that it won't even get through peer review.
It wouldn't work; everyone would vote for CowboyNeal :)
And this is why the guy is a billionaire.
That's a recurring theme I've been noticing with capitalism in general: when healthy, capitalism does not force a choice between individual interests and those of the organization - the individual interests are what make the organization work in the first place, which is why it's such an effective system in general.
Working an 80 hour week at 40 hour pay is an example of a pathological case, though with the diminishing returns that come with an excessive workweek, I have to wonder whether this is really a good idea for the organization as well.
You would have also lost points points for a double free :)
I agree. Knowledge of low-level languages and architecture will help you as a programmer, since you'll understand more of what is actually going on when your program executes. I think some algorithmic theory is also helpful. At the same time, however, there are high-level tools out there that will make your problems easier to solve, and it would be foolish to ignore them. (Whether languages such as C# and Java do this is debatable, but the principle still holds in general.)
Don't wait until someone teaches you these things to begin, though. As much as people like to give "kids" a rap, the most important thing you can do as a programmer is to start early and practice consistently. Good tools can't replace a lack of skill.
A wire here is a wire there. The difference between autonomous and voluntary functions, IMO, is conscious control and nothing more.
This reminds me of "Project X", a fictional sound weapon in Atlas Shrugged, both in nature and in likely use.
In theory, yes, x will always be 1. However, there are a number of practical cases which can screw this up, since the computer is a mechanical device. For example, cosmic radiation can flip one of the bits in the memory location x was being stored in after it's assigned 0 but before the addition takes place, which can cause a dramatically different result. More realistically, you could have multiple threads running at once and you could be preempted anywhere (including in the middle of that addition) between the two assignments to x. If the other thread changes x, it's anyone's guess what you're getting back.
Because these sorts of events are unlikely and/or preventable, we tend to assume that mechanical calculations are infallible. Strictly speaking, that isn't true. Highly reliable, yes, especially with modern error correcting codes. Infallible, no.
Warning: Windows may or may not be connected to any networks. Please look at your router.
What platforms? .NET is very clunky, but it still seems very popular.
And you can still see the false positives fairly clearly.
Content-based image retrieval was something that received a lot of attention in academia around 5 years ago. Everyone working in computer vision or image processing seemed to have a CBIR system... and yet, for some reason, none of these systems made it into the mainstream. The accuracy wasn't bad, either. Maybe it just takes someone with Google's clout to do it - but if they do eventually do it, they would not be the first to come up with the techniques.
If this is the same person I'm thinking of, he gave a TED talk on Africa and his university not long ago.