I have about 20 different projects sitting on my harddrive that I haven't released to anyone because I don't think they are useful to anyone but me. I wouldn't want to foist bad unusable code on Freshmeat just to say "me too"
Too bad that you don't release them. How do you know that no one else would find them useful?
You've got a large company with about 15 significant competitors. You have developed an in-house piece of software "Y" to run all aspects of a new (and highly competitve) line of business. The software has extreme use value, but no sale value.
Well, to your company's programmers this software is open source. After all, your company can get access to the source to fix and improve things.
You don't want to release the software to the public, because it contains trade secrets. That's fine.
In actual world, many trade secrets are not worth keeping, because others have already thought and implemented similar things. In addition, there maybe parts of the internal system that could be released and be useful, without any secrets being given away.
One additional advantage for a company to release code as open source is that it can create a pool of programmers familiar with your software. This makes it easier to hire new people.
First, who's got wallpaper on their desk? no one. Now, what about windows that disappear when you close them? no again. And windows of any sort on your desktop? nope What about windows that obscure what's behind them, rather than reveal it. That doesn't make sense.
There are more fundamental problems with computers for newbie users. Just the concept of files and the idea that you need to save things is bizzare. After all, when you modify a paper document with you pencil you don't have to save it in some drawer before the changes are permanent.
A newbie computer user is confused when a program says "Document modified, do you want to save?".
I will make a bold statement however. The author brushed on the topic some. I don't think Opensource software can create anything new.
Hmm...as far as I know the Web was developed in an open source mode, after all it would be pointless to hoard sources for the only web server.
What about Beowulf clusters, PVM, MPI? All these were developed in an open source fashion and did not exist before
The number of programmers using/developing Open Source software will soon outstrip any commercial enterprise (think of China for instance, or India, do you think these people have money to buy WinNT licenses?).
So far the open source developers bought you the Web and the Internet, just wait few more years and you'll be amazed...
You are right. The equations that describe smooth flows are only approximations of reality.
But this just remakes my point. Since our model is faulty, even for movement of air, no matter how much computing power we throw at the problem the results will not get much better.
I disagree. Advances in supercomputing allow a scientist to simulate ever more complex phenomenon. Supercomputing is rarely about instant results. Many simulations can take up years and months of supercomputer time. Any increase in computaional power is spent on increasing the complexity of the simulation, and not on reducing simulation time.
Yes, but to program a simulation you need to start with a mathematical model of the phenomena. If you don't understand the phenomena well enough to have a mathematical model, you can't write a simulation.
In that respect weather is easy. We know the physics of air - i.e. it gets hot it goes up.
Perhaps supercomputing could do to ethnic and regional warfare what it does to weather: warn us about where it's likely to occur. Is political unrest - Rawanda, Kosovo - cyclical or predicable in some cases, like crime has been found to be?
First of all computers don't help that much in weather prediction. Weather is an inherently chaotic phenomena - a sneeze by Jon Katz can lead to a hurricane in Japan. The apparent success of short term weather forecasting comes from information gained from satelites. Just for a moth keep track of the five day forcast and see how often it is right!
Before you can solve a problem using a computer you need to know how to solve the problem. Here is an analogy: if you don't know how to get somewhere, getting a faster car will not help you get there.
Well, if you want kids to use computers to type their homework there are much better WP than MS Word. For example my kids use YeahWrite (which is either free or $20 shareware for an extended version).
But the best way to learn about computers is to program them. Even if it is within a constrained environment like LOGO or maybe SmallTalk.
I also think the schools should teach Web/Internet stuff, since the Internet will be around 10 years from now. I'm not so sure about MS.
An ideal High School level computer course would be to let kids loose in a room with some older computer parts (you know 486s and p90s) and few Linux CDs.
Are computer skills only relevant for computer programmers? Do people in the work place use computers without needing or having to program them? The answers no and yes.
Valid point, but teaching Word or Excel only in junior high school is a complete waste of time. These kids will start working in about 10 years. Do you think that Word and Excel skills will really be relevant then?
I don't propose duplicating the environment. I just propose using it.:-)
Hellen Keller is a good example. The sense of touch, smell and body (i.e. you know where your toes are) are enough for a human to develop language. But without the enviroment to experience she would have never become "intelligent".
For example, Godel's theorem states that there are some mathematical propositions that can neither be proved nor disproved in any given logic system (ie, using some algorithm to show they follow from the axioms). But humans can intuitively recognize the truth of some of these propositions. This implies that human consciousness consists of more than a mere algorithm.
For a counter-argument to this you should read "Godel, Escher, Bach" by Hofstader.
You could turn the argument around and say that given a large number the computer can "intuitively" see that it is a prime, but a human is unable to perceive it. So people are less intelligent than computers.
Having said that, I believe that idea of stong AI is wrong. It just doesn't make sense to speak of intelligent algorithms disembodied from environment.
Intelligence/conciousness come from the interaction of an entity with it's environment (see "Conciousness Explained" by Dennet for instance), perception is essencial, so I believe the future of AI lies in robotics.
AI is not going to come around as individual, complex, human-like minds. Not like anything we can understand, either. It will be alien.
This point has been made numerous times by Stanislaw Lem in his books (eg. "Golem XIV", "His Master's Voice") and stories. Some going back to early sixties.
The future of AI lays in Neural Networks. In the emergent behavior of a complex system of miniscule processing units. Not necessarily machines, but conceptual processing units - acting together.
Since a neural network can be simulated by a Turing Machine, it doesn't really offer any new way to compute things.
I think that the future of AI is in robotics. You cannot have intelligence disembodied from the environment.
...richie
P.S. I thought my code had bugs, when it really was emergent behavior.;-)
I'm telling you, it's time to found a new country somewhere, where we don't have to put up with this crap. There's a lot of room for an artificial island in the Pacific... I vote we go there.
Does a new country need to have physical territory? Why not start a Geek Republic and we'll all be immigrants....
You don't see very many bridges designed by unlicensed engineers now, do you?
Actually it is not the qualifications of the designer that are important but the quality of the design. I really doesn't matter who produced the design, as long as it satisfies the safety standards.
For example, I can do electrical wiring in my house, but for it to be "legal" an electrical inspector has to sign it off.
Another example is in aircraft design. Many people are designing and building their own airplanes (check out http://www.eaa.org) but before they can obtain an airworthiness certificate they need to show that the airplane was built according to the standard practices, that the design was verified to be airworthy etc.
So what we need is a way to verify the quality of the code. The best way to do this today is code reviews. So open source is the way to go.
...richie
I'm glad it won't happen...
on
Why Kids Kill
·
· Score: 1
Right, like God killing all Egyptian newborns in a single night.
Ahem... I believe it was all first born sons. This particular scene in the movie "Prince of Egypt" gave my seven year old daughter the hee-bee-jeebies.
If we have developers work with GPL'd software, are they now intellectually "contaminated" and if so does that mean that they are now useless (legally) to move back to prorpietary products like AIX? I mean, what if said programmer accidentally bases some proprietary code off of what he learned from GPL'd code?
Unless the developer cuts and pastes from GPL-ed code into proprietary code, I don't see why this should be a problem.
Maybe I'm wrong, but perhaps the lawyers have too much time on their hands...
On the other hand, if a piece of software is a good idea and has broad appeal, the hacker community will likely put together an OSS version within a couple of years anyway.
I think you are right. In today's world if you come up with a really neat idea for software that everyone wants (eg. WWW browser), and then try to sell it one or both of these things will happen:
M$ will copy your software, perhaps announcing it first, so no one wil buy yours.
Some programmer will write an OSS of the same thing.
So the bottom line you might as well GPL your software - at least M$ will not take it.
You could ask why no one has yet OSS-ed MSOffice? Perhaps, it's because no one really wants to use it. They just have too...:-)
I have no idea how someone's ability to write "printoct" means they can help me with my carrier class switch (hint, if we need to print octals there are library functions for it).
The test was just a step in a process of interviewing. The ability to write such a function tells us little, but the inability to write one after having gotten a CS diploma tells a lot.
...richie
P.S. Last time I used this test about 10 years ago and at the time I was working for a bank.
The person who was tested was given a Pascal or a C manual to look things up. The test was just one of the things we gave to potential applicants, especially ones that just came out of college.
Another problem on the test was to write a routine to find an item to a linked list. Even more college graduates failed this one.
Have you looked at www.webpagesthatsuck.com? Or read the book? Or read Jakob Nielsen's pages on Web writing and usability? How about all of Donald Norman books?:-)
The original test was in Pascal and then later we added C. The intention was for the person to write a routine like you did, and we also gave a hint with the explanation of the "mod" operation (i.e. N mod 8 gives the lowest order octal digit).
There is a very clever recursive solution, but any routine that had a loop got a partial credit.
BTW, the test taker was given a Pascal (or C) manual.
Too bad that you don't release them. How do you know that no one else would find them useful?
Well, to your company's programmers this software is open source. After all, your company can get access to the source to fix and improve things.
You don't want to release the software to the public, because it contains trade secrets. That's fine.
In actual world, many trade secrets are not worth keeping, because others have already thought and implemented similar things. In addition, there maybe parts of the internal system that could be released and be useful, without any secrets being given away.
One additional advantage for a company to release code as open source is that it can create a pool of programmers familiar with your software. This makes it easier to hire new people.
There are more fundamental problems with computers for newbie users. Just the concept of files and the idea that you need to save things is bizzare. After all, when you modify a paper document with you pencil you don't have to save it in some drawer before the changes are permanent.
A newbie computer user is confused when a program says "Document modified, do you want to save?".
Hmm...as far as I know the Web was developed in an open source mode, after all it would be pointless to hoard sources for the only web server.
What about Beowulf clusters, PVM, MPI? All these were developed in an open source fashion and did not exist before
The number of programmers using/developing Open Source software will soon outstrip any commercial enterprise (think of China for instance, or India, do you think these people have money to buy WinNT licenses?).
So far the open source developers bought you the Web and the Internet, just wait few more years and you'll be amazed...
You've got it backwards. Religious beliefs are memes.
But this just remakes my point. Since our model is faulty, even for movement of air, no matter how much computing power we throw at the problem the results will not get much better.
Yes, but to program a simulation you need to start with a mathematical model of the phenomena. If you don't understand the phenomena well enough to have a mathematical model, you can't write a simulation.
In that respect weather is easy. We know the physics of air - i.e. it gets hot it goes up.
He says for example:
Perhaps supercomputing could do to ethnic and regional warfare what it does to weather: warn us about where it's likely to occur. Is political unrest - Rawanda, Kosovo - cyclical or predicable in some cases, like crime has been found to be?
First of all computers don't help that much in weather prediction. Weather is an inherently chaotic phenomena - a sneeze by Jon Katz can lead to a hurricane in Japan. The apparent success of short term weather forecasting comes from information gained from satelites. Just for a moth keep track of the five day forcast and see how often it is right!
Before you can solve a problem using a computer you need to know how to solve the problem. Here is an analogy: if you don't know how to get somewhere, getting a faster car will not help you get there.
But the best way to learn about computers is to program them. Even if it is within a constrained environment like LOGO or maybe SmallTalk.
I also think the schools should teach Web/Internet stuff, since the Internet will be around 10 years from now. I'm not so sure about MS.
An ideal High School level computer course would be to let kids loose in a room with some older computer parts (you know 486s and p90s) and few Linux CDs.
Valid point, but teaching Word or Excel only in junior high school is a complete waste of time. These kids will start working in about 10 years. Do you think that Word and Excel skills will really be relevant then?
Hellen Keller is a good example. The sense of touch, smell and body (i.e. you know where your toes are) are enough for a human to develop language. But without the enviroment to experience she would have never become "intelligent".
For a counter-argument to this you should read "Godel, Escher, Bach" by Hofstader.
You could turn the argument around and say that given a large number the computer can "intuitively" see that it is a prime, but a human is unable to perceive it. So people are less intelligent than computers.
Having said that, I believe that idea of stong AI is wrong. It just doesn't make sense to speak of intelligent algorithms disembodied from environment.
Intelligence/conciousness come from the interaction of an entity with it's environment (see "Conciousness Explained" by Dennet for instance), perception is essencial, so I believe the future of AI lies in robotics.
This point has been made numerous times by Stanislaw Lem in his books (eg. "Golem XIV", "His Master's Voice") and stories. Some going back to early sixties.
The future of AI lays in Neural Networks. In the emergent behavior of a complex system of miniscule processing units. Not necessarily machines, but conceptual processing units - acting together.
Since a neural network can be simulated by a Turing Machine, it doesn't really offer any new way to compute things.
I think that the future of AI is in robotics. You cannot have intelligence disembodied from the environment.
P.S. I thought my code had bugs, when it really was emergent behavior. ;-)
Does a new country need to have physical territory? Why not start a Geek Republic and we'll all be immigrants....
Actually it is not the qualifications of the designer that are important but the quality of the design. I really doesn't matter who produced the design, as long as it satisfies the safety standards.
For example, I can do electrical wiring in my house, but for it to be "legal" an electrical inspector has to sign it off.
Another example is in aircraft design. Many people are designing and building their own airplanes (check out http://www.eaa.org) but before they can obtain an airworthiness certificate they need to show that the airplane was built according to the standard practices, that the design was verified to be airworthy etc.
So what we need is a way to verify the quality of the code. The best way to do this today is code reviews. So open source is the way to go.
Ahem... I believe it was all first born sons. This particular scene in the movie "Prince of Egypt" gave my seven year old daughter the hee-bee-jeebies.
(this was a big city HS in Brooklyn, NY)
Unless the developer cuts and pastes from GPL-ed code into proprietary code, I don't see why this should be a problem.
Maybe I'm wrong, but perhaps the lawyers have too much time on their hands...
I think you are right. In today's world if you come up with a really neat idea for software that everyone wants (eg. WWW browser), and then try to sell it one or both of these things will happen:
So the bottom line you might as well GPL your software - at least M$ will not take it.
You could ask why no one has yet OSS-ed MSOffice? Perhaps, it's because no one really wants to use it. They just have too... :-)
The test was just a step in a process of interviewing. The ability to write such a function tells us little, but the inability to write one after having gotten a CS diploma tells a lot.
P.S. Last time I used this test about 10 years ago and at the time I was working for a bank.
Another problem on the test was to write a routine to find an item to a linked list. Even more college graduates failed this one.
Hmm... I majored in math, minor CS and music. Currently reading for fun: "Practice of Programming" and "War and Peace".
I suspect that you are misjudging Slashdot posters.
P.S. My degree is in math.
There is a very clever recursive solution, but any routine that had a loop got a partial credit.
BTW, the test taker was given a Pascal (or C) manual.