though I think the efficiency advantages of allowing "undefined behavior" are overblown
[Note: I think you mean "implementation-defined" rather than "undefined."]
It depends on how you define "overblown." Such advantages will never outperform an algorithmic improvement, but then no compiler transformation will do so. Implementation-defined behavior is critical for transformations like expression reassociation, partial redundancy elimination, instruction scheduling and many others. The order of expression evaluation, for example, has to be implementation-defined to allow all of these transformations or at least to improve their efficiency.
The ABI also has to be implementation-defined because each platform has its own calling convention, linker limitations and a host of other niggly details you really don't want to have to worry about. Trust me.:)
Hopefully this isn't just yet another nail in the coffin for Debian...
Huh? Where did that come from? Progeny has nothing to do with Debian proper. The distribution is alive and well, with enthusiastic developers and a growing userbase.
I find it telling that a volunteer-run organization is competing with and winning "customers" from the likes of Red Hat, Mandrake and SuSE.
I'm NOT the one who sees them as mutually exclusive. Our 'officials' are the ones. who do.
Apologies if I came across as caustic or otherwise ill-tempered. I was beginning to despair after reading post after post bemoaning the lack of intellectual goodness in our population.
The goal of my post is to point out (to the general Slashdot crowd, not you personally) that Britney Spears and Fox NFL Sunday are bits of
information no more dangerous (and quite probably less dangerous) than, for example, information about security holes in Linux. Knowing about and enjoying these things does not necessarily mean one has turned off the brain.
I could just as easily argue that engineers who discuss the intricacies of the priority inversion problem all day are a sad group who are missing big and significant aspects of life such as culture, philosophy and history. Clearly this is false on face, as is the assumption that attending church services is a dangerous submission to dictatorial power.
Read a little Medieval history; the Church (the also the state) caused the Dark Ages! It burned books, burned heretics, and controlled information.
Sorry? The Church caused the Dark Ages? Funny, I thought that was due to the sacking of Rome. Certainly the Church is not without fault during this period and many others, but to say it caused the Dark Ages is a stretch.
Irish heretics preserved the old works, which allowed the Renaissance and Enlightenment to happen.
Yes the Irish preserved much knowledge, but don't forget contributions of people such as Thomas Aquinas who brought much of the knowledge preserved in the East (often by Islamic scholars) back to the Western Church. It was controversial, but not heretical.
Not coincidentally, the power and influence of the Church dropped and Western Civilization was reborn and the enlightenment and science progressed.
Hold on. Elightenment and science progressed because people had access to better reproduction and distribution methods. The Church didn't suddenly go away, allowing the scales to fall from the eyes of the populous. In fact, the Reformation, a wholly faith-based (no pun intended) movement, resulted in a great deal more emphasis placed on scholarship in the Roman Church.
To say that the Church is somehow afraid of and opposed to knowledge is ludicrous given the many scholastic figures in its ranks. Yes, yes, yes human fear stupidty sometimes ruled the day and people such as Galileo paid for it (though he was not entirely without responsibility). But that is human nature. Such things happen in our world today without any help from religious doctrine.
Scientists of the 19th century were driven by creation passages in Genesis which instruct mankind to be stewards of the Earth. Ironically, these very passages lead Darwin to his theory of evolution. God does have a sense of humor.:)
All a person REALLY needs in life is McDonalds, Music, Movies, Sports and Religous Dogma.
It is dangerous to give people Education, Information and Freedom.
Why do you see these things as mutually exclusive? It saddens me that we members of the so-called "intelligensia" are so limited in our outlook. If we were a little more informed about the world we live in, perhaps we'd be a lot more tolerant of it.
Amen to that! I find it incredibly funny that a system created by folks who decry internet filters is built on the same flawed assumptions.
I agree with others who've said the +1 bonus should go away or at least be disabled by default. I'm sick of turning that thing off all the time. I want my posts to stand on their own merit, not on that of past posts.
Why are karma points tracked anyway? Is it used for anything besides the +1 bonus and moderator priviledges? Why do we need to see a number?
Like others, I want the option to set point values for moderation categories.
We want to destroy them, we know we may lose some more blood in the process, but by God, we're going to do it.
By God? I don't think so. I certainly don't want casualties in a far-off land and I don't think God does, either.
There is no such thing as unsullied goodness my friend, because the assessment of 'goodness' can only be made from the subjective view. All 'goodness' is qualified by the observer, and then reported as such.
This view is untrue and is a source of many of our (U.S.) political problems around the world. The moment we start telling ourselves that we can define our own goodness is the moment we lose legitimacy.
Let's say you have N active processes that are using X. Then, for every event, you must search a table of at least N entries to see which process that event is to go to.
This is one parallelizable step.
I'm not sure how the process table is implemented in X, but unless it's a straight array, doing it in hardware is going to be complex/expensive (lots of comparators, etc.). Then there's the issue of having a limited number of hardware entries. If it is a straight indexed array, why do it in hardware?:)
I agree that in principle this could be parallelized in a straightforward manner. I still question whether there will be a significant performance gain, however.
Since a microprocessor can only deal with one thing at a time, what you have is the following:
Process fires event
X receives event
X directs event
Process receives event
Not too bad, you might think. But each of these requires a context switch, and those aren't cheap.
Now, when you start throwing in GNOME stuff, it gets worse, as you have to bury your way through Gnome's libraries, the lower-level libraries, gtk/glib to Xlib, or vice versa. Again, each of these requires a context switch.
I'll grant you that certain types of application combinations can behave badly, but I think people in general are overly concerned about context-switch time. A colleague of mine did a study using parallelism (SMP) to improve the user experience of GUI systems. Indeed, performance improved significantly for "interesting" combinations like running an MP3 player in the background. However, only a few applications needed improvement because most events occurred under the human "perception threshold," even with the additional MP3 load.
Incidentally, a more interesting outcome of this work was that the high speed of today's GUI's and processors allows one to save an enormous amount of power by simply slowing things down. The user experience is not degraded in any way. Think Crusoe taken to the next level.
In any case, complex custom hardware such as you proposed wasn't needed. An extra CPU did the trick just fine. One could probably get away with a "dumb" slave CPU. Personally, I think it would be a waste of resources given that your eye really won't notice the difference most of the time.
As or DRI, I believe that requires kernel stuff, and there's not much kernel stuff there, yet. Once there's a decent set of drivers there, it might be meaningful.
I absolutely agree that DRI is in its infancy. But I believe it is the correct approach, providing performance at the bottleneck while maintaining (relative) simplicity.
I like the control over memory structures. If I know I'm only going to need at most 500 instances of a particular object, I can statically malloc 500 structs and maintain freelists.
This is easily done with std-style allocators. You can even plug them into STL objects and use your custom allocator everywhere. There need be no overhead from new or delete. You can either override these operators for your classes or allocate using std-style allocators.
It's much more straightforward to use C in an object oriented manner
I find that extremely difficult to believe. C++ isn't all about OO, anyway. Generic programming plays a much larger role now, to the point that experts stress templates and specialization over inheritance.
then you have the ability to tweak your critical performance points.
Which one also has in C++ or any other language.
Once you know how to do it, it's just as easy as C++, maybe not as pretty and with more characters, but I spend most of my time in design, not typing, anyway.
Even if C is just as easy (which I seriously doubt), doesn't it make more sense to use a tool designed for the job (C++) than learn how to shoehorn another tool in addition to actually doing the job?
By having everything (or as near to everything as physically possible) on silicon, you turn what is basically a serial stream of operations into one ultra-gigantic parallel process.
Where is this parallelism? Sure there is a lot in the actual rendering routines, but beyond that you are going to be hard-pressed to find much at all.
When you reach this point, there is no need for an "optimized" X server, as there's really no need for the computer to have any GUI code on it at all. All you'd do is generate X calls, and have the hardware take over from there.
We have this. It's called DRI. It operates at the appropriate level of abstraction.
What it would mean is that your engineers sit down and Get It Right.
Given the difficulties we have getting software to work correctly, do you honestly think hardware would be easier? Or even just as easy? Today's hardware only works because the specs are orders of magnitude simpler than even a mildly complex software system.
Implementing in hardware shouldn't be too bad. Since software equates to hardware, you should be able to simply treat the software as a "macro" of the hardware definition. This would give you a version 0.0.0, which your engineers can then run through VLSI emulators to turn into a 1.0.0 product.
So you want to use an HDL for this along with a synthesis tool? For synthesis to work, one has to either design a fairly simple piece of hardware or write relatively low-level HDL. In the worst case the designer will essentially write out the netlist. Not to mention the inefficiencies introduced by synthesis. Full-custom design is usually much more efficient, but also much harder to do.
But that doesn't make any sense at all to me. You won't use C++ because it includes optional features you don't like? Ok, you can argue that if you strip out all the C++ features you essentially have C. That's not quite true. You have C with better type safety.
The features of C++ were added for a reason. I can't imagine not using templates and the STL these days.
The low-level nature of C/C++ is certainly a valid criticism in some domains. As always, one should use the right tool for the job.
Re:A bit of thought on the evolution of the GNOME.
on
Gnome 2.0 Alpha 1 Released
·
· Score: 2, Insightful
Gnome is GPL. QT *is not*. (consider commercial implications as well).
This is clearly false. Qt-free is very much GPL'd. I don't know what commercial implications you are talking about. There is absolutely nothing in the Qt license to prevent it from being ported to Windows. The only commercial implication I can think of is that the application compiled against it must be licensed under the GPL. But that doesn't seem to be a concern for you.
Quite the opposite, in fact: I don't use C++ precisely because I know more about it than you.
I don't mean to start a language war (too late, I guess!), but what exactly do you know that makes you hesitate to use C++? I can think of valid reasons not to use this-or-that feature, but to dump the whole language seems extreme.
Insightful? I've never questioned the drug-using habits of moderators before, but there's a first time for everything.:)
"But hardware != software", I hear some cry. Well, sorry to break it to you, but software is simply a simulation of hardware. There is nothing that you can do in software that you can't do in hardware. Faster.
While it's true that hardware and software are essentially the same thing (a favorite rant of mine, BTW), it's not true that hardware is necessarily "better" than software, even in the speed department.
Picture this - a graphics card that has a pure hardware implementation of XFree86 4.1, Gnome 2, and (just for the hell of it) KDE 2.2 as well. Nothing on the computer, the graphics is done entirely in silicon.
If we look at this proposal from a perspective of practicality, it clearly falls down. Hardware is incredibly difficult to debug and change. That is the beauty of software. The fact that complex computer architectures are implemented in terms of software (microcode) only points to this flexibility.
To address your speed claims, I point you to HP's Dynamo project. Dynamo is a dynamic translator for PA-RISC binaries. It is a software system that translates PA-RISC instructions to PA-RISC instructions at run-time. That doesn't seem to make much sense until you realize that the translation includes optimizations that can only be done at run-time. Binaries actually run faster under Dynamo than in native execution mode. By putting in a layer of software, HP was able to increase system speed.
One cannot do this in hardware because metal and silicon is fixed and FPGA's are too slow. Yes, people are researching reconfigurabler hardware, but that is for very specialized applications like DSP's, applications that are already used to boost graphics performance today.
A final observation: hardware gets much of its speed from parallelism. A ripple-carry adder runs much more slowly than a carry-lookahead adder. While certainly running at the speed of light (yeah, yeah, give or take) helps, parallelism (pipelining, O-O-O execution) is what got us the machine speeds we see today.
Parallelism is really, really hard to extract at the instruction level. Theoretically, it's there, but damned if I know how to get at it. Certainly lots of graphics routines have loads of parallelism. But guess what? We already have hardware to exploit it!
This would free up much of the computer's RAM, unload much of the heavier cycle devourers, and produce one of the fastest GUIs on the planet.
Modern GUI's really don't need to be much faster than they are now. We all like high framerates in our pretty games, but those are very specific applications. In fact, good hardware solutions already exist for them. I don't see RAM consumption as a problem, considering that X runs just fine on the iPAQ with room to spare. I have no idea what software you are running, but the CPU usage of graphics code is not even close to the largest consumer of cycles on my machine.
We already have good graphics hardware. Moving the X/GNOME/KDE control into hardware would gain almost nothing.
Can anyone tell me what they're up to in the 'real' ones? I want to start watching those but I don't know where exactly they're at (Season 3 somewhere?)
The re-runs are just starting season two. The current run is in middle/late season three.
The look & feel of the alien muppets beats the living daylights out of the "Nose Of The Day Department" who seems to do Star Trek.
Amen.
Plotwise, it's ok. The first season did have quite a few "Standard SciFi Plot #42" episodes, and
While it's true that some basic plots resemble time-honored themes, it's usually the case that some odd twist is thrown in to mix things up.
some corny stuff (Scorpius? I mean... come on...),
Little do you know...:). Scorpius is one of my favorite baddie characters of all time. It's not that he's pure evil. That would be uninteresting. It's that he actually has motiviation and reasoning behind what he does. The season three scenes showing him "behind the scenes" are almost, sick as it is, touching. The viewer really starts to understand his struggle.
but I still like it. The characters are a lot more real than in Trek.
Because they change. This is especially true in season three where all sorts of crap hits the fan.
It's still not Babylon 5, but hey.
Yes, and thank goodness. B5 had a great story arc, no question. But the writing in individual episodes was at times atrocious. JMS is a storyteller, not a writer. He puts in far, far too much exposition. Farscape avoids nearly all of that and is better for it. Farscape often presents great drama, but never, ever takes itself too seriously.
Inti might have changed that, but It is a lot more unfinished than even GTK--.
The problem I have with Inti is that it is almost completely undocumented. Lots of code got written, none of it was documented and now it languishes unfinished as the origial author (Havoc, I think) went on to other projects.
I also question Inti's rejection of STL support. While it certainly doesn't have to integrate with every whiz-bang STL feature, I can certainly imagine uses for STL-compatible iterators and algorithm support.
Considering that, there are a lot of people who are afraid to try Qt because of bad experiences with C++. I know I did, but it was really a pleasure to use!
Agreed. My hesitation is not with the language, it's with the tools. I know it's irrational, but I really find the moc annoying. It's one more dependency to deal with in Makefiles. I know KDE has special support to handle all of this, but I want to develop a project relatively indepently of any specific infrastructure. I don't want to have to integrate with a special build system. Plus special keywords mess up emacs highlight and indent.:)
But maybe these are just the rants of a stubborn old codger.:)
Glad to hear the canvas has an interface. It was in fact Gtk--/Gnome-- that I investigated. It seems a little dishonest of Miguel to imply that full bidnings exist for all these languages. I know for a fact that full C++ bindings didn't exist a few months ago and Gnome developers were making such statements even then.
If Gtk--/Gnome-- have been fleshed out further, that is fabulous. I'll take another look when I get started on the project (any year now...:)).
Problem is, KDE doesn't have anything equivalent to the Gnome Canvas.
One good thing to come out of the Gnome C++ bindings is libsigc++: signals and slots done within the language. To be fair to the Qt guys, at the time most compilers didn't have support to do what libsigc++ does and they were forced to use a workaround.
On the one hand we have Gnome with an incomplete C++ API and on the other we have KDE with a non-ideal signalling mechanism.
Our APIs are available to most programming languages on Unix (Perl, Python, Scheme, C++, Objective-C, Ada).
Y'know, I hear this all the time, but it just ain't true. The C++ support for Gnome is horrendous. It's been a few months since I've last looked, though. Has it improved at all?
As an example, I'd like to use the canvas in a project I'm planning but there wasn't any C++ interface when last I looked.
The problem is there since everyone's morals are different (some are more similar to other's) who's should I accept as the authority on what is moral? You, Green, Hitler, Bin Laden, my parents, my cube mate, my pastor, the man on the park bench? Who?
Coming from my background of faith, it seems to me you're asking the wrong question. You rightly point out that human beings are flawed and it is questionable to accept the teachings of this or that person as absolute truth.
That is why prayer and reflection play such central roles. One has to think long and hard about these things and not more than once humble oneself to the possibility that someone else might be right.
'Course, now we're wandering into the Scripture vs. Tradition debate.:)
In your orig text, in which you were arguing the absoluteness of morality, you said:
There is never any justification for the murder of innocents.
While I agree with the statement, I did not write it. I have to credit beagle for that particular insight.
just what "murder" defines is a whole other arguement
Actually, it's central to the argument. Murder implies intent.
To argue that something is absolute then turn around and say "well, in some cases its not quite as bad as others" does not do your cause justice.
Does JWT fall short of the ideal? Yes! No one, not even Church leaders, will disagree with that. But there is a recognition that intent plays a large role in what we do. I'm not arguing that JWT gets us off scot free. On the contrary, it must be invoked only as a last resort and implies some very specific restrictions on what is allowed. Even then, still, we must face the consequences.
Now, as for the arguement that there are moral absolutes, we are going to come to a standstill (since I now realize this argument is based on faith, something that is unprovable).
No argument there.
To you, the absolutes are framed by your beliefs. To me (and many, many others) their morals are framed by thier beliefs (or lack thereof). To you, you are right and they are wrong. To them, they are right and you are wrong. Which is precicely why I say how the concepts of "right" and "wrong" are relative.
I would say, rather, that what we believe or what we wish to believe is relative. There is Good and there is Evil. Much Evil exists because of our own ignorance. I'm not claiming to hold the answers to what is right and wrong. I am a flawed human being struggling to understand the world, just like everyone else. But I do believe there is an ideal we strive for.
Then again, maybe there is an absolute "right" and "wrong." Whatever I say is "right" is "right." Whatever I say is "wrong" is "wrong." Anyone who thinks differently than I is deluding themselves:)
I know you say this in jest, but I have seen too many comments that use this caricature of religion and/or faith to discredit those with whom some disagree. Unfortunately, as a wise man once told me, religion often gets in the way of faith and such caricatures unfortunately all too often ring true. But please understand that the majority of faithful people don't hold such nacissistic views. They arrive at their conclusions through much education, thought, prayer, humilty and even anguish.
God does.
Which God? (a loaded question I know...I'm not trying to be glib here... I assume you mean the one true God who is very real to you).
Just to set the record straight, I am a member of the Roman (ugh, I can't stand that qualifier!) Catholic Church.
Regardless of whether we come to a shared conclusion or not, the exercise is very useful and I thank you and all the others who have helped me think things through a little more and come to some better understanding, however small that may be.
[Note: I think you mean "implementation-defined" rather than "undefined."]
It depends on how you define "overblown." Such advantages will never outperform an algorithmic improvement, but then no compiler transformation will do so. Implementation-defined behavior is critical for transformations like expression reassociation, partial redundancy elimination, instruction scheduling and many others. The order of expression evaluation, for example, has to be implementation-defined to allow all of these transformations or at least to improve their efficiency.
The ABI also has to be implementation-defined because each platform has its own calling convention, linker limitations and a host of other niggly details you really don't want to have to worry about. Trust me. :)
I find it telling that a volunteer-run organization is competing with and winning "customers" from the likes of Red Hat, Mandrake and SuSE.
The goal of my post is to point out (to the general Slashdot crowd, not you personally) that Britney Spears and Fox NFL Sunday are bits of information no more dangerous (and quite probably less dangerous) than, for example, information about security holes in Linux. Knowing about and enjoying these things does not necessarily mean one has turned off the brain.
I could just as easily argue that engineers who discuss the intricacies of the priority inversion problem all day are a sad group who are missing big and significant aspects of life such as culture, philosophy and history. Clearly this is false on face, as is the assumption that attending church services is a dangerous submission to dictatorial power.
Sorry? The Church caused the Dark Ages? Funny, I thought that was due to the sacking of Rome. Certainly the Church is not without fault during this period and many others, but to say it caused the Dark Ages is a stretch.
Yes the Irish preserved much knowledge, but don't forget contributions of people such as Thomas Aquinas who brought much of the knowledge preserved in the East (often by Islamic scholars) back to the Western Church. It was controversial, but not heretical.
Hold on. Elightenment and science progressed because people had access to better reproduction and distribution methods. The Church didn't suddenly go away, allowing the scales to fall from the eyes of the populous. In fact, the Reformation, a wholly faith-based (no pun intended) movement, resulted in a great deal more emphasis placed on scholarship in the Roman Church.
To say that the Church is somehow afraid of and opposed to knowledge is ludicrous given the many scholastic figures in its ranks. Yes, yes, yes human fear stupidty sometimes ruled the day and people such as Galileo paid for it (though he was not entirely without responsibility). But that is human nature. Such things happen in our world today without any help from religious doctrine.
Scientists of the 19th century were driven by creation passages in Genesis which instruct mankind to be stewards of the Earth. Ironically, these very passages lead Darwin to his theory of evolution. God does have a sense of humor. :)
Why do you see these things as mutually exclusive? It saddens me that we members of the so-called "intelligensia" are so limited in our outlook. If we were a little more informed about the world we live in, perhaps we'd be a lot more tolerant of it.
Amen to that! I find it incredibly funny that a system created by folks who decry internet filters is built on the same flawed assumptions.
I agree with others who've said the +1 bonus should go away or at least be disabled by default. I'm sick of turning that thing off all the time. I want my posts to stand on their own merit, not on that of past posts.
Why are karma points tracked anyway? Is it used for anything besides the +1 bonus and moderator priviledges? Why do we need to see a number?
Like others, I want the option to set point values for moderation categories.
By God? I don't think so. I certainly don't want casualties in a far-off land and I don't think God does, either.
This view is untrue and is a source of many of our (U.S.) political problems around the world. The moment we start telling ourselves that we can define our own goodness is the moment we lose legitimacy.
I'm not sure how the process table is implemented in X, but unless it's a straight array, doing it in hardware is going to be complex/expensive (lots of comparators, etc.). Then there's the issue of having a limited number of hardware entries. If it is a straight indexed array, why do it in hardware? :)
I agree that in principle this could be parallelized in a straightforward manner. I still question whether there will be a significant performance gain, however.
I'll grant you that certain types of application combinations can behave badly, but I think people in general are overly concerned about context-switch time. A colleague of mine did a study using parallelism (SMP) to improve the user experience of GUI systems. Indeed, performance improved significantly for "interesting" combinations like running an MP3 player in the background. However, only a few applications needed improvement because most events occurred under the human "perception threshold," even with the additional MP3 load.
Incidentally, a more interesting outcome of this work was that the high speed of today's GUI's and processors allows one to save an enormous amount of power by simply slowing things down. The user experience is not degraded in any way. Think Crusoe taken to the next level.
In any case, complex custom hardware such as you proposed wasn't needed. An extra CPU did the trick just fine. One could probably get away with a "dumb" slave CPU. Personally, I think it would be a waste of resources given that your eye really won't notice the difference most of the time.
I absolutely agree that DRI is in its infancy. But I believe it is the correct approach, providing performance at the bottleneck while maintaining (relative) simplicity.
This is easily done with std-style allocators. You can even plug them into STL objects and use your custom allocator everywhere. There need be no overhead from new or delete. You can either override these operators for your classes or allocate using std-style allocators.
I find that extremely difficult to believe. C++ isn't all about OO, anyway. Generic programming plays a much larger role now, to the point that experts stress templates and specialization over inheritance.
Which one also has in C++ or any other language.
Even if C is just as easy (which I seriously doubt), doesn't it make more sense to use a tool designed for the job (C++) than learn how to shoehorn another tool in addition to actually doing the job?
Where is this parallelism? Sure there is a lot in the actual rendering routines, but beyond that you are going to be hard-pressed to find much at all.
We have this. It's called DRI. It operates at the appropriate level of abstraction.
Given the difficulties we have getting software to work correctly, do you honestly think hardware would be easier? Or even just as easy? Today's hardware only works because the specs are orders of magnitude simpler than even a mildly complex software system.
So you want to use an HDL for this along with a synthesis tool? For synthesis to work, one has to either design a fairly simple piece of hardware or write relatively low-level HDL. In the worst case the designer will essentially write out the netlist. Not to mention the inefficiencies introduced by synthesis. Full-custom design is usually much more efficient, but also much harder to do.
But what exactly don't you like about C++? I'm really interested to hear specific gripes, examples, etc.
The features of C++ were added for a reason. I can't imagine not using templates and the STL these days.
The low-level nature of C/C++ is certainly a valid criticism in some domains. As always, one should use the right tool for the job.
This is clearly false. Qt-free is very much GPL'd. I don't know what commercial implications you are talking about. There is absolutely nothing in the Qt license to prevent it from being ported to Windows. The only commercial implication I can think of is that the application compiled against it must be licensed under the GPL. But that doesn't seem to be a concern for you.
I don't mean to start a language war (too late, I guess!), but what exactly do you know that makes you hesitate to use C++? I can think of valid reasons not to use this-or-that feature, but to dump the whole language seems extreme.
I'm honestly curious to hear your opinions.
While it's true that hardware and software are essentially the same thing (a favorite rant of mine, BTW), it's not true that hardware is necessarily "better" than software, even in the speed department.
If we look at this proposal from a perspective of practicality, it clearly falls down. Hardware is incredibly difficult to debug and change. That is the beauty of software. The fact that complex computer architectures are implemented in terms of software (microcode) only points to this flexibility.
To address your speed claims, I point you to HP's Dynamo project. Dynamo is a dynamic translator for PA-RISC binaries. It is a software system that translates PA-RISC instructions to PA-RISC instructions at run-time. That doesn't seem to make much sense until you realize that the translation includes optimizations that can only be done at run-time. Binaries actually run faster under Dynamo than in native execution mode. By putting in a layer of software, HP was able to increase system speed.
One cannot do this in hardware because metal and silicon is fixed and FPGA's are too slow. Yes, people are researching reconfigurabler hardware, but that is for very specialized applications like DSP's, applications that are already used to boost graphics performance today.
A final observation: hardware gets much of its speed from parallelism. A ripple-carry adder runs much more slowly than a carry-lookahead adder. While certainly running at the speed of light (yeah, yeah, give or take) helps, parallelism (pipelining, O-O-O execution) is what got us the machine speeds we see today.
Parallelism is really, really hard to extract at the instruction level. Theoretically, it's there, but damned if I know how to get at it. Certainly lots of graphics routines have loads of parallelism. But guess what? We already have hardware to exploit it!
Modern GUI's really don't need to be much faster than they are now. We all like high framerates in our pretty games, but those are very specific applications. In fact, good hardware solutions already exist for them. I don't see RAM consumption as a problem, considering that X runs just fine on the iPAQ with room to spare. I have no idea what software you are running, but the CPU usage of graphics code is not even close to the largest consumer of cycles on my machine.
We already have good graphics hardware. Moving the X/GNOME/KDE control into hardware would gain almost nothing.
The re-runs are just starting season two. The current run is in middle/late season three.
Amen.
While it's true that some basic plots resemble time-honored themes, it's usually the case that some odd twist is thrown in to mix things up.
Little do you know...:). Scorpius is one of my favorite baddie characters of all time. It's not that he's pure evil. That would be uninteresting. It's that he actually has motiviation and reasoning behind what he does. The season three scenes showing him "behind the scenes" are almost, sick as it is, touching. The viewer really starts to understand his struggle.
Because they change. This is especially true in season three where all sorts of crap hits the fan.
Yes, and thank goodness. B5 had a great story arc, no question. But the writing in individual episodes was at times atrocious. JMS is a storyteller, not a writer. He puts in far, far too much exposition. Farscape avoids nearly all of that and is better for it. Farscape often presents great drama, but never, ever takes itself too seriously.
What's not portable about libsigc++? It uses std C++. Don't make the mistake of blaming broken compilers for non-portability.
Ah, good. I didn't know about that one. Thanks!
The problem I have with Inti is that it is almost completely undocumented. Lots of code got written, none of it was documented and now it languishes unfinished as the origial author (Havoc, I think) went on to other projects.
I also question Inti's rejection of STL support. While it certainly doesn't have to integrate with every whiz-bang STL feature, I can certainly imagine uses for STL-compatible iterators and algorithm support.
Agreed. My hesitation is not with the language, it's with the tools. I know it's irrational, but I really find the moc annoying. It's one more dependency to deal with in Makefiles. I know KDE has special support to handle all of this, but I want to develop a project relatively indepently of any specific infrastructure. I don't want to have to integrate with a special build system. Plus special keywords mess up emacs highlight and indent. :)
But maybe these are just the rants of a stubborn old codger. :)
If Gtk--/Gnome-- have been fleshed out further, that is fabulous. I'll take another look when I get started on the project (any year now... :)).
One good thing to come out of the Gnome C++ bindings is libsigc++: signals and slots done within the language. To be fair to the Qt guys, at the time most compilers didn't have support to do what libsigc++ does and they were forced to use a workaround.
On the one hand we have Gnome with an incomplete C++ API and on the other we have KDE with a non-ideal signalling mechanism.
Y'know, I hear this all the time, but it just ain't true. The C++ support for Gnome is horrendous. It's been a few months since I've last looked, though. Has it improved at all?
As an example, I'd like to use the canvas in a project I'm planning but there wasn't any C++ interface when last I looked.
Coming from my background of faith, it seems to me you're asking the wrong question. You rightly point out that human beings are flawed and it is questionable to accept the teachings of this or that person as absolute truth.
That is why prayer and reflection play such central roles. One has to think long and hard about these things and not more than once humble oneself to the possibility that someone else might be right.
'Course, now we're wandering into the Scripture vs. Tradition debate. :)
While I agree with the statement, I did not write it. I have to credit beagle for that particular insight.
Actually, it's central to the argument. Murder implies intent.
Does JWT fall short of the ideal? Yes! No one, not even Church leaders, will disagree with that. But there is a recognition that intent plays a large role in what we do. I'm not arguing that JWT gets us off scot free. On the contrary, it must be invoked only as a last resort and implies some very specific restrictions on what is allowed. Even then, still, we must face the consequences.
No argument there.
I would say, rather, that what we believe or what we wish to believe is relative. There is Good and there is Evil. Much Evil exists because of our own ignorance. I'm not claiming to hold the answers to what is right and wrong. I am a flawed human being struggling to understand the world, just like everyone else. But I do believe there is an ideal we strive for.
I know you say this in jest, but I have seen too many comments that use this caricature of religion and/or faith to discredit those with whom some disagree. Unfortunately, as a wise man once told me, religion often gets in the way of faith and such caricatures unfortunately all too often ring true. But please understand that the majority of faithful people don't hold such nacissistic views. They arrive at their conclusions through much education, thought, prayer, humilty and even anguish.
Just to set the record straight, I am a member of the Roman (ugh, I can't stand that qualifier!) Catholic Church.
Regardless of whether we come to a shared conclusion or not, the exercise is very useful and I thank you and all the others who have helped me think things through a little more and come to some better understanding, however small that may be.