But there are engineers, physicists and mathematicians with good programming (and computer science) skills, and I was referring to those. The kind of people who wouldn't know what the dragon book is and don't read RFCs, but have a solid understanding of data structures, algorithms, modelling and good programming practice.
Well if they haven't seen the dragon book hopefully they won't ever have to design (or implement compilers/translators/interpreters for) any control languages, scripting languages or indeed anything that requires parsing. And of course without knowledge of AI let's hope they never have to implement anything like, oh say, heuristics or fuzzy logic. Of course some instruction in assembler/machine language and firmware development wouldn't hurt either.
Add in the things you did mention and, assuming you meant to include computational theory when you said algorithms, you have something approximating a full CS degree.
Now it is possible for say a mathematician to pick that up on his own - I've known one or two that have but they essentially stopped being practising mathematicians and became fulltime CS people. BTW this comment is coming from someone who started out as a physics student and ended up with advanced degrees in both math and CS.
There are some areas where the typical CS majors excel. Business programming is one of those. They're also fine for a lot of the industrial code out there.
I'm sure the CS degree holders of the world appreciate your generousity.
But given the choice, I prefer to leave mission critical scientific code to scientists (engineers, applied mathematicians and physicists).
These would be the same people who crashed a probe into Mars because they didn't sucessfully convert between metric and imperial units? Etcetera, etcetera.
CS guys would be our world's general purpose CPUs, and engineers would be the DSPs -- it's another instance of choosing the right tool for the right job.[What happened to the scientists? oh well.]
And the right tool for the job is someone trained for the job not someone who picked it up on the fly.
Given a need for software/firmware in a mission critical science application you have three choices:
1. Hire a science person trained in the area and hire a CS person and have them work together.
2. Hire a science person who has somehow picked up some level of programming ability to do everything.
3. Hire a CS person who has somehow picked up some level of science ability to do everything.
The right answer is 1 and you have chosen one of the other two.
The website you linked to is a somewhat different story than what I was told years ago (by someone who had already been a P.Eng. for decades) but is not necessarily in conflict with the version I heard as there is no description on the website as to why the particular symbol chosen was an iron ring.
Trust me that isn't what you want. I have seen a lot of code written by physicists, chemists, mathematicians and various and sundry other people who are experts in their own fields. For the most part its all crap that ends up costing them an enormous lot of time (theirs, when they have to try and use what they've written for the next N years) and money (theirs, when and if they decide to have it fixed).
In Canada all traditional engineers wear an iron ring - can't remember which finger. The story I was told was that in the very early 20th century a bridge was being built in Quebec and, long story short, due to engineering errors it collapsed killing masny people. The townspeople took some of the metal from the collapsed bridge and made rings out of it for the engineers responsible. After that it was adopted as a tradition that all engineering grads get iron rings to remind them of the responsibility they carry.
Saying that both sides "have lied" and so "the truth is somewhere in between" somehow puts paid industry propagandists on the same credibility level as professional climate research scientists.
That's a basic feature of propaganda... it doesn't matter whether what "they" say is true or not. If it is repeated often enough it does its job - make it difficult or impossible for the average person to know the truth. Political movements/groups of all stripes do this quite effectively and deliberately. The popularity of such techniques is really doing a lot of damage that extends well beyond the domains in which they are applied.
It seems to me that there are three problems: the users, the providers (design, implementation etc.) and the bean counters.
Good software/UI designers are incredibly valuable. The entire design process is make or break for the ultimate success of a project - although that may not be aparent until years later - but is often given short shrift. Ans I'm utterly convinced that 1. you cannot get a good design from someone who is not skilled at programming, and 2. being skilled at programming does not make you a good designer. But I see lots of "designers" who have no experience in creating complex software and lots of software people who think they can design but have no idea how a typical user interacts with systems.
Of course users "just want something that works"... for a while. Then the definition of "works" starts to change and things like "could it do this?", "can that be easier?" and "why can't I just..." start to be heard. Then either one side or the other is unhappy - the provider side because they have to try and cram changes in that don't really fit or the user side because they don't get what they want (or it costs them more than they want). Sometimes it isn't the users but the marketing guys - same diff.
Of course if it had been built right in the first place then everybody would be relatively happy. After many years it still amazes me how many people, from both sides, simply don't get this. "Never time to do it right, always time to do it over" comes to mind.
Sometimes the users are lazy but often it is simply that they are not being asked the right questions in the first place.
Asking a user "what do you want the program to do?" is a recipe for disaster. A user can't possibly understand the implications for system internals that accompany "make the program do XYZ" nor should they have to... that's what designers are for. Ask them "what do you want to accomplish?", "what do you do now?", "what would you like to accomplish that you can't do now?" and so on... then craft a solution that fulfills that in a manner that is as natural as possible for the user and one that leaves room for graceful expansion in the future.
In the short run it's more expensive than a "something that works" solution but much cheaper in the long run... one of the hardest things is getting whoever holds the purse strings to really believe that.
And yeah, sometimes the users are just too lazy... they don't want to put the effort into thinking about their present and future needs. I always make a point of telling new clients that building a software solution is like building a house... you need to know where all the doors, windows and outlets are going in advance because after it's built it's really expensive, or just not possible, to put a new door in there, or move a wall etc. Without exception they all nod their heads that they understand but there are always some who come along somewhere past the 90% point with "can we put a bay window in here?" followed by "how can it possibly cost that much?".The single most effective tool I've found to help prevent this is to have a substantial minimum charge for changes.
And sometimes a "good" result is just not going to happen because the bean counters won't pay for it, or there isn't time or the goal is simply a short lived solution that doesn't have to be nice as long as it gets the job done.
One of the first times I encountered this was long ago in a PolSci type lecture when the lecturer stated that since no one was capable of true obejctivity she didn't feel the need to try and be objective in representing her beliefs [in class]. I found that idea getting more and more acceptable in academic circles and then in general culture.
It isn't just that more and more people seem to have trouble seeing more than one side to an issue but that they don't want to see more than one side. Groups of people promote only the information which supports what they want even when they know that the information is flawed, incomplete, erroneous etc. etc.
Another way I see this manifesting itself is in my city's daily papers. These aren't rags etc. - they represent the mainstream (supposedly) respectable journalism that most people encounter. Yet as the years have gone by I've noticed that the "news pages" have started containing more and more opinion content and by that I mean that articles purporting to be news articles have the personal opinions of the writers interwoven with the reported facts. Frequently the opinions are expressed in a manner that promotes them being accepted as being facts themselves. It is noticeable enough to me that the wire service stories stand out in contrast.
Another would be the fantastic growth in popularity of situational ethics over the same timespan. I'm sure you can think of all sorts of things that get justified by moral relativism and tortured logic. It's just my opinion but I see that as having grown more and more common over the last few decades. Maybe it's just me but doesn't it also seem that "the ends justify the means" has become a lot more acceptable, even popular, idea over the last three or four decades?
And all the above seems to be more and more generally acceptable to the population at large.
In terms of a society that promotes science (and imho reasonable behavior in general) we should be teaching people to appreciate Truth(tm) as a goal that may be unattainable but for which it is very much worth striving. We should be teaching basic logic to people. We should be teaching people to exercise their powers of observation. We should be teaching people analysis even if only as a general idea. IMHO if we had a society where the aforementioned were valued by society at large then we'd also have a society where science flourished.
It isn't just an educational problem and it isn't limited to the U.S.
Somewhere over the last three or four decades western culture has generally chucked out the window the idea of objectivity. That has been followed by "if I can't be completely objective there is no point in trying to be objective at all", which may be the most dangerous meme of the last few hundred years - although in heavy competition with the ever popular "I have a right to my [ignorant and irrational] opinion".
I have my own thoughts on how this came about but that is irrelevent to this discussion. What is relevent is that the entire concept "science" does not do very well in such an atmosphere.
I am not a torrent expert so my comment was based simply on comments I've seen around the web and the following should be taken with a grain of salt, but I looked again and found several links which imply that there is spoofing of both the trackers and of other clients.
In the last link someone is reporting downloading 5.79GB while only uploading 51.58MB, about a 100:1 ratio. For a little twist the site owner hosting the cheat explains his own rules for earning posting credits and banning for spamming.
http://forum.00de.de/archive/public-leecher-mods /azureus-2500-ddj-shu-hack-220178-beta-t-35387.htm l
http://tech-buzz.net/2006/07/30/spoof-bittorrent -upload-download-ratio/
http://azcvsupdater.sourceforge.net/unsupported. html
http://www.raymond.cc/blog/archives/2006/07/27/h ow-to-cheat-bittorrent-ratio-by-spoofing/
Yes but there are cleints that will let you throttle your upload back to almost nothing while simultaneously reporting large upload speeds to the tracker - so clients aren't necessarily going to be sharing any more than a trivial amount.
Think of inertia as one word name for the law of conservation of momentum. For the momentum of something to change it must be acted upon by something else... if it isn't then its momentum will not change, which is what is usually said to describe inertia.
These are all somewhat fluid concepts... going through school first you learn that photons have no mass... but later on you will learn that photons have momentum... and of course momentum is usually defined as Mass x Velocity...
But there are engineers, physicists and mathematicians with good programming (and computer science) skills, and I was referring to those. The kind of people who wouldn't know what the dragon book is and don't read RFCs, but have a solid understanding of data structures, algorithms, modelling and good programming practice.
Well if they haven't seen the dragon book hopefully they won't ever have to design (or implement compilers/translators/interpreters for) any control languages, scripting languages or indeed anything that requires parsing. And of course without knowledge of AI let's hope they never have to implement anything like, oh say, heuristics or fuzzy logic. Of course some instruction in assembler/machine language and firmware development wouldn't hurt either.
Add in the things you did mention and, assuming you meant to include computational theory when you said algorithms, you have something approximating a full CS degree.
Now it is possible for say a mathematician to pick that up on his own - I've known one or two that have but they essentially stopped being practising mathematicians and became fulltime CS people. BTW this comment is coming from someone who started out as a physics student and ended up with advanced degrees in both math and CS.
There are some areas where the typical CS majors excel. Business programming is one of those. They're also fine for a lot of the industrial code out there.
I'm sure the CS degree holders of the world appreciate your generousity.
But given the choice, I prefer to leave mission critical scientific code to scientists (engineers, applied mathematicians and physicists).
These would be the same people who crashed a probe into Mars because they didn't sucessfully convert between metric and imperial units? Etcetera, etcetera.
CS guys would be our world's general purpose CPUs, and engineers would be the DSPs -- it's another instance of choosing the right tool for the right job.[What happened to the scientists? oh well.]
And the right tool for the job is someone trained for the job not someone who picked it up on the fly. Given a need for software/firmware in a mission critical science application you have three choices:
1. Hire a science person trained in the area and hire a CS person and have them work together.
2. Hire a science person who has somehow picked up some level of programming ability to do everything.
3. Hire a CS person who has somehow picked up some level of science ability to do everything.
The right answer is 1 and you have chosen one of the other two.
The website you linked to is a somewhat different story than what I was told years ago (by someone who had already been a P.Eng. for decades) but is not necessarily in conflict with the version I heard as there is no description on the website as to why the particular symbol chosen was an iron ring.
Trust me that isn't what you want. I have seen a lot of code written by physicists, chemists, mathematicians and various and sundry other people who are experts in their own fields. For the most part its all crap that ends up costing them an enormous lot of time (theirs, when they have to try and use what they've written for the next N years) and money (theirs, when and if they decide to have it fixed).
In Canada all traditional engineers wear an iron ring - can't remember which finger. The story I was told was that in the very early 20th century a bridge was being built in Quebec and, long story short, due to engineering errors it collapsed killing masny people. The townspeople took some of the metal from the collapsed bridge and made rings out of it for the engineers responsible. After that it was adopted as a tradition that all engineering grads get iron rings to remind them of the responsibility they carry.
Saying that both sides "have lied" and so "the truth is somewhere in between" somehow puts paid industry propagandists on the same credibility level as professional climate research scientists.
That's a basic feature of propaganda... it doesn't matter whether what "they" say is true or not. If it is repeated often enough it does its job - make it difficult or impossible for the average person to know the truth. Political movements/groups of all stripes do this quite effectively and deliberately. The popularity of such techniques is really doing a lot of damage that extends well beyond the domains in which they are applied.
It seems to me that there are three problems: the users, the providers (design, implementation etc.) and the bean counters.
Good software/UI designers are incredibly valuable. The entire design process is make or break for the ultimate success of a project - although that may not be aparent until years later - but is often given short shrift. Ans I'm utterly convinced that 1. you cannot get a good design from someone who is not skilled at programming, and 2. being skilled at programming does not make you a good designer. But I see lots of "designers" who have no experience in creating complex software and lots of software people who think they can design but have no idea how a typical user interacts with systems.
Of course users "just want something that works"... for a while. Then the definition of "works" starts to change and things like "could it do this?", "can that be easier?" and "why can't I just..." start to be heard. Then either one side or the other is unhappy - the provider side because they have to try and cram changes in that don't really fit or the user side because they don't get what they want (or it costs them more than they want). Sometimes it isn't the users but the marketing guys - same diff.
Of course if it had been built right in the first place then everybody would be relatively happy. After many years it still amazes me how many people, from both sides, simply don't get this. "Never time to do it right, always time to do it over" comes to mind.
Sometimes the users are lazy but often it is simply that they are not being asked the right questions in the first place.
Asking a user "what do you want the program to do?" is a recipe for disaster. A user can't possibly understand the implications for system internals that accompany "make the program do XYZ" nor should they have to... that's what designers are for. Ask them "what do you want to accomplish?", "what do you do now?", "what would you like to accomplish that you can't do now?" and so on... then craft a solution that fulfills that in a manner that is as natural as possible for the user and one that leaves room for graceful expansion in the future.
In the short run it's more expensive than a "something that works" solution but much cheaper in the long run... one of the hardest things is getting whoever holds the purse strings to really believe that.
And yeah, sometimes the users are just too lazy... they don't want to put the effort into thinking about their present and future needs. I always make a point of telling new clients that building a software solution is like building a house... you need to know where all the doors, windows and outlets are going in advance because after it's built it's really expensive, or just not possible, to put a new door in there, or move a wall etc. Without exception they all nod their heads that they understand but there are always some who come along somewhere past the 90% point with "can we put a bay window in here?" followed by "how can it possibly cost that much?".The single most effective tool I've found to help prevent this is to have a substantial minimum charge for changes.
And sometimes a "good" result is just not going to happen because the bean counters won't pay for it, or there isn't time or the goal is simply a short lived solution that doesn't have to be nice as long as it gets the job done.
One of the first times I encountered this was long ago in a PolSci type lecture when the lecturer stated that since no one was capable of true obejctivity she didn't feel the need to try and be objective in representing her beliefs [in class]. I found that idea getting more and more acceptable in academic circles and then in general culture.
It isn't just that more and more people seem to have trouble seeing more than one side to an issue but that they don't want to see more than one side. Groups of people promote only the information which supports what they want even when they know that the information is flawed, incomplete, erroneous etc. etc.
Another way I see this manifesting itself is in my city's daily papers. These aren't rags etc. - they represent the mainstream (supposedly) respectable journalism that most people encounter. Yet as the years have gone by I've noticed that the "news pages" have started containing more and more opinion content and by that I mean that articles purporting to be news articles have the personal opinions of the writers interwoven with the reported facts. Frequently the opinions are expressed in a manner that promotes them being accepted as being facts themselves. It is noticeable enough to me that the wire service stories stand out in contrast.
Another would be the fantastic growth in popularity of situational ethics over the same timespan. I'm sure you can think of all sorts of things that get justified by moral relativism and tortured logic. It's just my opinion but I see that as having grown more and more common over the last few decades. Maybe it's just me but doesn't it also seem that "the ends justify the means" has become a lot more acceptable, even popular, idea over the last three or four decades?
And all the above seems to be more and more generally acceptable to the population at large.
In terms of a society that promotes science (and imho reasonable behavior in general) we should be teaching people to appreciate Truth(tm) as a goal that may be unattainable but for which it is very much worth striving. We should be teaching basic logic to people. We should be teaching people to exercise their powers of observation. We should be teaching people analysis even if only as a general idea. IMHO if we had a society where the aforementioned were valued by society at large then we'd also have a society where science flourished.
It isn't just an educational problem and it isn't limited to the U.S.
Somewhere over the last three or four decades western culture has generally chucked out the window the idea of objectivity. That has been followed by "if I can't be completely objective there is no point in trying to be objective at all", which may be the most dangerous meme of the last few hundred years - although in heavy competition with the ever popular "I have a right to my [ignorant and irrational] opinion".
I have my own thoughts on how this came about but that is irrelevent to this discussion. What is relevent is that the entire concept "science" does not do very well in such an atmosphere.
Maybe he does, but he'd be better off with Schrödinger's notebook.
t es/1933/schrodinger-bio.html
a t
http://nobelprize.org/nobel_prizes/physics/laurea
http://en.wikipedia.org/wiki/Schr%C3%B6dinger's_c
I am not a torrent expert so my comment was based simply on comments I've seen around the web and the following should be taken with a grain of salt, but I looked again and found several links which imply that there is spoofing of both the trackers and of other clients.
s /azureus-2500-ddj-shu-hack-220178-beta-t-35387.htm l
t -upload-download-ratio/
. html
h ow-to-cheat-bittorrent-ratio-by-spoofing/
In the last link someone is reporting downloading 5.79GB while only uploading 51.58MB, about a 100:1 ratio. For a little twist the site owner hosting the cheat explains his own rules for earning posting credits and banning for spamming.
http://forum.00de.de/archive/public-leecher-mod
http://tech-buzz.net/2006/07/30/spoof-bittorren
http://azcvsupdater.sourceforge.net/unsupported
http://www.raymond.cc/blog/archives/2006/07/27/
Yes but there are cleints that will let you throttle your upload back to almost nothing while simultaneously reporting large upload speeds to the tracker - so clients aren't necessarily going to be sharing any more than a trivial amount.
Think of inertia as one word name for the law of conservation of momentum. For the momentum of something to change it must be acted upon by something else... if it isn't then its momentum will not change, which is what is usually said to describe inertia. These are all somewhat fluid concepts... going through school first you learn that photons have no mass... but later on you will learn that photons have momentum ... and of course momentum is usually defined as Mass x Velocity...