Programming duplicated cores is just a very specific case of parallel programming that is being promoted those days because, we are not able to keep making faster chips as we were some years ago.
Parallel programming/machinery is a much broader field, read Turing's papers for a great insight at how different computers could have been. Unfortunately 'Von Newman designs' success stalled the industry in our actual computer architecture that was not designed to do parallel computations.
is not an excess of choice, is an excess of improvisation.
Long story short... now that hardware speed is not easily doubled every few years, the industry has found a 'simple' way to keep pushing the weel, duplicate cores!. Well, it turns out that after decades of ignoring the parallel programming demand from academics now they are trying to push the 'somewath parallel' mess thay are producing.
The problem is 'duplicated cores' != 'parallel programming', that's the problem.
Extending a base class (String,Object,whatever) usually changes the behaviour of the basic toolset, and that's something that all the developers have to be aware, and that's an extra source of problems/work. I prefer to let the basic libs/classes untouched, that way any programmer can know how things are suppoused to work at the 'starting' level.
Also, basic classes such as String or Objects are used in a lot of places, and that means a major probability of unexpected side-effects.
Don't get me wrong, if it's a personal/educational/learning project it is ok to make that kind of changes of the base classes for the sake of simplicity and ease of use/programming, but they don't translate well (in fact they don't translate at all) to a more formal/rigorous/proffesional methodology.
Back in the 386 days, the tan() function returned the wrong sgn if no coprocessor was present. Contacted and confirmed the error they simply ignored such a basic issue, and replied with 'use sin() and cos() functions instead'. Great.
The program crashed because an 'unexpected' NULL value... well what where the conventions used in the project? I mean, it was 'ok' to return a NULL object, or it shoud return an empty string?
Both results are acceptable 'per se', but that kind of things are important at the convention level, it seems for your example that the team doesn't have an established methodology on that kind of things, that was probably the root of the problem (and I could anticipate a few more.. ie: to add a method to a tipically 'base' class as String, should only be allowed under strict circumstances!). Again , methodology is a key factor for code quality.
Complexity of the project does not relate to complexity of the parts, without proper methodology, parts become mingled (your String example) and that's where things start to go wrong.
btw: I make mistakes (only human here), but i am responsable for my mistakes, so no memory leaks on my code, every malloc() had to have a proper (one and only one call to) free(), no excuses.
Memory allocation in C and in C++ is not a 'obvious limitation', sloopy programming IS. Java is not 'better' or 'worst' than C, just use the right tool for the job, and you better learn to use more than one tool if you care for your career.
It's an act of balance, and the problem is not _always_ "sloppy coding". It is the increasing complexity of these apps, combined with user demands which push the development towards low-level development languages.
A memory leak is a programming error, an implementation failure. Complexity is not an excuse for the existance of errors at the implementation level, because can be easily avoided with proper programming methodology.
It is a shame that we assume that a complex application has to have memory leaks! I am sorry but after 30+ years of programming I cannot accept that kind of statements as being 'realistic', they are just 'sad'.
Users don't create memory leaks, only BAD PROGRAMMERS do.
maybe not as beautiful as 'clasic' ones, but algorithms indeed. Something like shapes, you know, 'clasic' algorithms (ie: sort) are somewhat like circles (simple formulaes) but real objects (ie: leafs) are extremely complex formulaes only approximated by fractals and with a lot of 'heuristics' in it.
You may also try Mandriva, it's the second distro most voted in a recent lenovo sponsored poll after Ubuntu. I've been using it for years and it's a great distro, the 2007.1 repositories for 64 bits are really a big bonus.
Yes, that's the question, but the fact is that the trend is to increase share, and with AMD/ATI going open (that is good 3d linux drivers in months), and an scheduler properly tuned (hear this kernel poeple), linux can become a major playing platform, with superb rendiment and customization. IMO that's one of the most strategicaly needed targets for the linux world.
Problems with the GUI? Easy, make it web enabled, you know a little Javascript here a little javascript there... and voila your browser is your friendly graphics program.
One slightly annoying thing is that the current fix involves using sysctl to switch back (at least partially) to the old scheduler mechanism!
Is that's true?
Are we making a 'new' scheduler that under some circumtances reverts to the old one?. If that's true, please why not try to learn a little form the BSD code/people? It seems they already have-it right.
what things are and what's worth, fantastic. The placebo effect is something 'real' but 'homeopaty' is not, 'intelligence' exist but we don't have a clue of what it is, and so on....
I for one perfer to fight the actual science-religion mix with philosphy.
I also RTFA, your resume is quite biased, Zippel is asking Ingo for explanations about his scheduler code, trying to understand how it is suppoused to work, Ingo doesn't care to answer about his code, but implements the Zippel ideas on his own.
The base question si simple, if Zippel (and previously Kon) ideas were ok (they were re-implemented), why Ingo was unable to work with them? IMO Ingo wants to monopolize the part of the kernel under his control, that's sad.
that Ingo takes the work/ideas of others about the scheduler and presents his own implementation without proper reconnaisance or collaboration.
As the main responsable of the kernel, don't you think that something has to be done? At the current state I (as a developer) would not try to contribute to such a personally 'monopolized' project, that's sad.
My opinions are my own, they do not represents the views of my employer.
Lies, pure lies, you are working for MS, plain and simple.
You know, it's nothing new, some others have already take that way (pretending not to work for MS while systematically promoting the MS agenda) they use to be called astroturfers.
The whole thing is a cheap MS PR campaign, I repeat, a cheap MS PR campaign. MS would probably get much better results by paying a clip from the Rolling Stones, but of course it would take some real money.
I' ve been using mandriva on desktops and servers for years, and the progress has been quite noticeable. Frankly the 2007 version is almost as good as it can be (to my needs), not a single problem with repositories (easyurpmi website), 64 bit system/packages without a glitch.
Everyone has his own distro preferences, true, but i feel it's important to support such a great work.
Many posts assumes myths are plain and simple lies (religion/politics/etc).
But there are another reason for myths: The wish to overcome our limited memories. Take the Diluve episode, exist in almost all the big (and not so big) cultures around the world, and in some traditions it is explicitely stated that the history/tale have to be told to transfer the knowledge that something so terrible that descendants will not believe it to be true had really happened.
So our memories are really limited, it's not strange that not literate cultures 'invented' myths as an efficient (time wise) transmission method.
The algorithms looks very similar to the Google's Pagerank. Take edition time as inverse of links to/from, and the whole concept looks very similar. The question is, PageRank was terribly biased once people started to automate cross linking, will this algorithm performs better against biased editors?
Programming duplicated cores is just a very specific case of parallel programming that is being promoted those days because, we are not able to keep making faster chips as we were some years ago.
Parallel programming/machinery is a much broader field, read Turing's papers for a great insight at how different computers could have been. Unfortunately 'Von Newman designs' success stalled the industry in our actual computer architecture that was not designed to do parallel computations.
is not an excess of choice, is an excess of improvisation.
Long story short... now that hardware speed is not easily doubled every few years, the industry has found a 'simple' way to keep pushing the weel, duplicate cores!. Well, it turns out that after decades of ignoring the parallel programming demand from academics now they are trying to push the 'somewath parallel' mess thay are producing.
The problem is 'duplicated cores' != 'parallel programming', that's the problem.
Specious, the restriction is on hardware but it's designed as a way to circumvent the license of an specific piece of software.
Well, that's almost a basic question...
Extending a base class (String,Object,whatever) usually changes the behaviour of the basic toolset, and that's something that all the developers have to be aware, and that's an extra source of problems/work. I prefer to let the basic libs/classes untouched, that way any programmer can know how things are suppoused to work at the 'starting' level.
Also, basic classes such as String or Objects are used in a lot of places, and that means a major probability of unexpected side-effects.
Don't get me wrong, if it's a personal/educational/learning project it is ok to make that kind of changes of the base classes for the sake of simplicity and ease of use/programming, but they don't translate well (in fact they don't translate at all) to a more formal/rigorous/proffesional methodology.
Back in the 386 days, the tan() function returned the wrong sgn if no coprocessor was present. Contacted and confirmed the error they simply ignored such a basic issue, and replied with 'use sin() and cos() functions instead'. Great.
It seems old habits never die!
Problems with NULL values? :)
The program crashed because an 'unexpected' NULL value... well what where the conventions used in the project? I mean, it was 'ok' to return a NULL object, or it shoud return an empty string?
Both results are acceptable 'per se', but that kind of things are important at the convention level, it seems for your example that the team doesn't have an established methodology on that kind of things, that was probably the root of the problem (and I could anticipate a few more.. ie: to add a method to a tipically 'base' class as String, should only be allowed under strict circumstances!). Again , methodology is a key factor for code quality.
Complexity of the project does not relate to complexity of the parts, without proper methodology, parts become mingled (your String example) and that's where things start to go wrong.
btw: I make mistakes (only human here), but i am responsable for my mistakes, so no memory leaks on my code, every malloc() had to have a proper (one and only one call to) free(), no excuses.
Great, now robots will have also three legs.
Memory allocation in C and in C++ is not a 'obvious limitation', sloopy programming IS. Java is not 'better' or 'worst' than C, just use the right tool for the job, and you better learn to use more than one tool if you care for your career.
It's an act of balance, and the problem is not _always_ "sloppy coding". It is the increasing complexity of these apps, combined with user demands which push the development towards low-level development languages.
A memory leak is a programming error, an implementation failure. Complexity is not an excuse for the existance of errors at the implementation level, because can be easily avoided with proper programming methodology.
It is a shame that we assume that a complex application has to have memory leaks! I am sorry but after 30+ years of programming I cannot accept that kind of statements as being 'realistic', they are just 'sad'.
Users don't create memory leaks, only BAD PROGRAMMERS do.
maybe not as beautiful as 'clasic' ones, but algorithms indeed. Something like shapes, you know, 'clasic' algorithms (ie: sort) are somewhat like circles (simple formulaes) but real objects (ie: leafs) are extremely complex formulaes only approximated by fractals and with a lot of 'heuristics' in it.
You may also try Mandriva, it's the second distro most voted in a recent lenovo sponsored poll after Ubuntu. I've been using it for years and it's a great distro, the 2007.1 repositories for 64 bits are really a big bonus.
Yes, that's the question, but the fact is that the trend is to increase share, and with AMD/ATI going open (that is good 3d linux drivers in months), and an scheduler properly tuned (hear this kernel poeple), linux can become a major playing platform, with superb rendiment and customization. IMO that's one of the most strategicaly needed targets for the linux world.
Problems with the GUI? Easy, make it web enabled, you know a little Javascript here a little javascript there... and voila your browser is your friendly graphics program.
Just don't tell this to Google!.
Yes, yes yes just kidding.
One slightly annoying thing is that the current fix involves using sysctl to switch back (at least partially) to the old scheduler mechanism!
Is that's true?
Are we making a 'new' scheduler that under some circumtances reverts to the old one?. If that's true, please why not try to learn a little form the BSD code/people? It seems they already have-it right.
what things are and what's worth, fantastic. The placebo effect is something 'real' but 'homeopaty' is not, 'intelligence' exist but we don't have a clue of what it is, and so on....
I for one perfer to fight the actual science-religion mix with philosphy .
I also RTFA, your resume is quite biased, Zippel is asking Ingo for explanations about his scheduler code, trying to understand how it is suppoused to work, Ingo doesn't care to answer about his code, but implements the Zippel ideas on his own.
The base question si simple, if Zippel (and previously Kon) ideas were ok (they were re-implemented), why Ingo was unable to work with them? IMO Ingo wants to monopolize the part of the kernel under his control, that's sad.
that Ingo takes the work/ideas of others about the scheduler and presents his own implementation without proper reconnaisance or collaboration.
As the main responsable of the kernel, don't you think that something has to be done? At the current state I (as a developer) would not try to contribute to such a personally 'monopolized' project, that's sad.
My opinions are my own, they do not represents the views of my employer.
Lies, pure lies, you are working for MS, plain and simple.
You know, it's nothing new, some others have already take that way (pretending not to work for MS while systematically promoting the MS agenda) they use to be called astroturfers.
The whole thing is a cheap MS PR campaign, I repeat, a cheap MS PR campaign. MS would probably get much better results by paying a clip from the Rolling Stones, but of course it would take some real money.
If one man made-it, another can defeat-it.
But it could be possible for an ultra-xxx to use us as a tool to make it. If you ask: why? a possible answer could be; why not?
I' ve been using mandriva on desktops and servers for years, and the progress has been quite noticeable. Frankly the 2007 version is almost as good as it can be (to my needs), not a single problem with repositories (easyurpmi website), 64 bit system/packages without a glitch.
Everyone has his own distro preferences, true, but i feel it's important to support such a great work.
Fine, yet another easy prediction, MS is very happy with your work and three years from now they will be even happier.
Collaboration with MS? NO THANKS!
I am sorry, but being gentle with the wrong people has only one result, deception.
Here's my bet, in three years that silverxxx thing will be forgotten, and all those linux man/hours will be just wasted.
Many posts assumes myths are plain and simple lies (religion/politics/etc).
But there are another reason for myths: The wish to overcome our limited memories. Take the Diluve episode, exist in almost all the big (and not so big) cultures around the world, and in some traditions it is explicitely stated that the history/tale have to be told to transfer the knowledge that something so terrible that descendants will not believe it to be true had really happened.
So our memories are really limited, it's not strange that not literate cultures 'invented' myths as an efficient (time wise) transmission method.
The algorithms looks very similar to the Google's Pagerank. Take edition time as inverse of links to/from, and the whole concept looks very similar. The question is, PageRank was terribly biased once people started to automate cross linking, will this algorithm performs better against biased editors?
Another hint: Go to Jail.