Welcome back my friends to the show that never ends
We're so glad you could attend
Come inside! Come inside!
There behind a glass is a real blade of grass
Be careful as you pass.
Move along! Move along!
Do you trust the US gov't with that kind of control over your family?
The USA is the only country in the developed world without nationalised health care. Appropriately, the US government is the only government in the developed world that I wouldn't trust with that kind of control.
Incidentally, not every nationalised health care system is like the British NHS. In Australia, for example, you basically pick which doctor/pharmacy/hospital you want and get a fixed amount of money back from the government. Doctors get to charge what they want. Some doctors charge only what the government gives you, and therefore are effectively free. Others charge more, and so you have to pay some money. And, of course, you are free to buy extra health insurance if you want.
In all cases, the government doesn't make the choices. You do.
...and as a slashdotter, you are associated with the long-haired commie hippy freaks who pirate movies, launch DDOS attacks against SCO, want Bill Gates quartered and want copyright law to be disbanded.
See the problem?
In the case of fundamentalist Baptists, there are a lot more of them around than will ever issue a press release or lobby a midwest school board. You should not judge them by their loudest "members".
Perhaps even more to the point: using correct spelling, grammar and punctuation is courtesy, plain and simple. Not bothering about them means you are not bothering about whether or not your audience understands you or not.
The argument that spelling doesn't matter is also the argument that asking callers to wait in a queue is fine, and when they get to a human being, it's okay if the person they want to speak to is only in on Thursdays, and would they mind calling back then? It's the same argument that you should carry a national identity card because it would make the government's job of indexing information about you that much easier for them. The argument is: I'm lazy and couldn't be stuffed, therefore you should take responsibility for every issue that comes up when dealing with me.
Every day, people, government offices and corporations offload more and more inconvenience and responsibility onto other people. And it's bloody rude.
On the contrary, the parent was parodying the thoughts of many people in priveleged positions. Or, at the very least, merely stating a fact without condoning it.
The public domain argument is less strong than the fair use argument. DRM, plus the laws which prevent you from circumventing it, lets companies restrict you from doing things that you have the legal right to do. That's evil.
On the contrary, thinking like a terrorist for a moment, hijacking one of these flights would be a splendid idea. Not to use the spacecraft as a weapon, but rather to be close to guaranteed that your hostages are rich, important people.
3000+ dead people is a statistic. Warren Buffet held hostage is a story.
Yet I actually love C++ now, even though I hated it at first.
This is a very common sentiment. I used to make exactly the same statements about how horrible C++ was that everyone else does. And then I actually used it to write something nontrivial.
(Even more shockingly, I knew Haskell before I grew to like C++. I must be a heretic.)
Having said that, there is a special kind of pain involved with maintaining old C++ code. By "old", I mean pre-ISO, pre-Boost style C++. Especially if it had to be compilable by MSVC6.
In fact, I'm so sold on modern C++ that I find Qt clunky these days.
(Disclaimer for the comprehension-impaired: Despite the fact that Qt has no better alternatives, it's still clunky by modern standards.)
Basically, what he wants is possible today using OSes like BeOS and QNX. When this stuff becomes important, Linux will adapt, just as it has started to with the low-latency patches.
Having said that, what Bob Metcalfe doesn't realise is that the kind of dream OS that he's after is difficult to realise on the Intel architecture. All server/workstation CPUs which have been designed from scratch in the last 20 years have had support for cheap address space switching, such as tagged TLBs which don't require flushing etc. The IA32, for which multitasking OSes were an afterthought, does not. Instead, the IA32 solution is to throw more resources (cache, prefetch etc) at the problem. The upshot is that if you write a modern kind of operating system for an IA32 chip, real-time applications go better but traditional batch/server/enterprise applications go worse. And this still makes up the bulk of the workload.
(The dramatic irony of all this is that the argument also holds for Metcalfe's baby: Ethernet. Until virtual circuit-type loads are more common than datagrams, it'll always be better to make Ethernet faster than move to ATM.)
So while we use 20-year-old CPUs and run 20-year-old workloads on them, we must also use 20-year-old operating systems.
Famously, Pixar's first film Luxo Jr is based on the same principle. They set up the armature, and then did a global optimisation process to minimise the energy expended for the lamps to hop around.
(BTW, for the would-be pedants present: André & Wally B was not technically a Pixar film, since it was made while everyone was still at Lucasfilm.)
* It's a framework, not a library.
Which means that all the standard stuff you would write more than once is done for you. The idea is that you only have to code the parts of your app that are different from a an empty appliation that does nothing.
I agree that Qt is a fine choice if you want to write an application that differs in a small way from an empty application that does nothing.:-)
Let me rephrase less flippantly: Qt is a fine choice if you want to write an application which is almost all GUI. Any time you need to add nontrivial non-GUI functionality, it doesn't play nice.
The reason is that it takes over your program. If everyone wrote their libraries as frameworks, then you would never be able to integrate two or more libraries. Qt is the one that's not playing nice.
I don't know about you, but the only parts of my app which are different from an empty application that does nothing is the stuff inside main(), and the stuff that it calls.
Contrary to popular belief, it's not difficult to write something which does pretty much what you want, but is expressed as a library, not a framework. Frameworks are for OO purists, mostly because there is no other option. C++ is a multi-paradigm language, not an OO language.
It's not exception-safe.
By defualt it is built witout EH due to overhead. You can build it with EH turned on, and it is fine.
That's not what I mean by "exception-safe".
I've seen the Qt source code. It's full of this:
QLabel *label = new QLabel;
QScrollBar *scrollBar = new QScrollBar;
If the second allocation fails (which, according to the C++ standard, happens by throwing std::bad_alloc), the first allocation leaks. That is not exception-safe.
This is not a question of purity, it's a question of correctness and interoperability. If a well-behaving exception-throwing third-party library throws an exception, it should not cause Qt to leak. If it does, Qt is broken.
Really? I was under the inmpression that (at least in Qt v4.x) STL and QT iterators can be used interchangeably, and STL support can be compiled in as an option.
I believe that's true of the containers now, finally, but IIRC it's still not true of stream I/O and strings.
For the record, my complaint here is not that Qt is poor quality. My complaint is that it is a relic of an era of C++ which no longer exists. The really unfortunate part is that Qt doesn't really have much competition: It's still the best GUI toolkit for C++. This makes the situation all the worse, because it interferes so badly with modern C++ code.
From an Australian legal perspective, you might have a point that if this fair use act was passed after the amended copyright act (which it will be!) it trumps the anticircumvention provisions: If you are engaged in an act of fair use, you might be in the clear.
Qt, however, has one major drawback: It was designed in an era when C++ was a different beast than it is today. And as a result, it's hard to use today.
In particular:
It's a framework, not a library.
It's not exception-safe.
It duplicates a lot of functionality which is standard C++ (e.g. extensible arrays, strings), and as a result, doesn't interact well with libraries which do use the standard. (One Qt developer told me once that Qt is "an alternative to the STL". Translation: "You can either write standard C++, or you can write Qt.")
In summary, it's great if all you want to write is Qt code. As soon as you want any other library as well (e.g. actual functionality), you end up writing so much glue code that your actual application gets obscured. MFC, anyone?
It depends on the market, I think. For example: Most people need email, and in the absence of information to the contrary, KMail would be easier to find than Evolution. But I would think that everyone who uses Linux and needs to use something like it knows what GIMP means.
After all, what's more intuitive: "3D Studio Max" or "Maya"? One says what it does. But everyone who is in the market for such a product knows about both, and has a pretty good idea why you would choose one over the other.
Hey! We're not satirical! The Earth really is pentagonal, and Ohio really doesn't exist!
Mr Teapot says: "WARNING: This post does not exist."
Yeah, here's what I thought of first:
...then you should check out John Torjo's most excellent win32gui library. Not only do GUIs and generics mix, C++ can be a RAD language.
...Woz. Or possibly John Gilmore.
The USA is the only country in the developed world without nationalised health care. Appropriately, the US government is the only government in the developed world that I wouldn't trust with that kind of control.
Incidentally, not every nationalised health care system is like the British NHS. In Australia, for example, you basically pick which doctor/pharmacy/hospital you want and get a fixed amount of money back from the government. Doctors get to charge what they want. Some doctors charge only what the government gives you, and therefore are effectively free. Others charge more, and so you have to pay some money. And, of course, you are free to buy extra health insurance if you want.
In all cases, the government doesn't make the choices. You do.
It's brainy science stuff that normal people like you wouldn't understand.
...and as a slashdotter, you are associated with the long-haired commie hippy freaks who pirate movies, launch DDOS attacks against SCO, want Bill Gates quartered and want copyright law to be disbanded.
See the problem?
In the case of fundamentalist Baptists, there are a lot more of them around than will ever issue a press release or lobby a midwest school board. You should not judge them by their loudest "members".
A similar analogy is: Would you rather create another Eliza clone, or would you rather create true AI?
I hear you. I once tried to find out the answer to the age-old Monty Python question. Do not google for "speed swallow".
Yes, you did. Or possibly you went to the same school as Alanis Morissette.
Perhaps even more to the point: using correct spelling, grammar and punctuation is courtesy, plain and simple. Not bothering about them means you are not bothering about whether or not your audience understands you or not.
The argument that spelling doesn't matter is also the argument that asking callers to wait in a queue is fine, and when they get to a human being, it's okay if the person they want to speak to is only in on Thursdays, and would they mind calling back then? It's the same argument that you should carry a national identity card because it would make the government's job of indexing information about you that much easier for them. The argument is: I'm lazy and couldn't be stuffed, therefore you should take responsibility for every issue that comes up when dealing with me.
Every day, people, government offices and corporations offload more and more inconvenience and responsibility onto other people. And it's bloody rude.
Yes, I am a fan of Lynne Truss. So?
...I will be releasing a beta of Pseudonym.OS real soon now.
On the contrary, the parent was parodying the thoughts of many people in priveleged positions. Or, at the very least, merely stating a fact without condoning it.
The question was whether or not DRM was evil. How legal it is doesn't enter into it.
The public domain argument is less strong than the fair use argument. DRM, plus the laws which prevent you from circumventing it, lets companies restrict you from doing things that you have the legal right to do. That's evil.
On the contrary, thinking like a terrorist for a moment, hijacking one of these flights would be a splendid idea. Not to use the spacecraft as a weapon, but rather to be close to guaranteed that your hostages are rich, important people.
3000+ dead people is a statistic. Warren Buffet held hostage is a story.
This is a very common sentiment. I used to make exactly the same statements about how horrible C++ was that everyone else does. And then I actually used it to write something nontrivial.
(Even more shockingly, I knew Haskell before I grew to like C++. I must be a heretic.)
Having said that, there is a special kind of pain involved with maintaining old C++ code. By "old", I mean pre-ISO, pre-Boost style C++. Especially if it had to be compilable by MSVC6.
In fact, I'm so sold on modern C++ that I find Qt clunky these days.
(Disclaimer for the comprehension-impaired: Despite the fact that Qt has no better alternatives, it's still clunky by modern standards.)
Basically, what he wants is possible today using OSes like BeOS and QNX. When this stuff becomes important, Linux will adapt, just as it has started to with the low-latency patches.
Having said that, what Bob Metcalfe doesn't realise is that the kind of dream OS that he's after is difficult to realise on the Intel architecture. All server/workstation CPUs which have been designed from scratch in the last 20 years have had support for cheap address space switching, such as tagged TLBs which don't require flushing etc. The IA32, for which multitasking OSes were an afterthought, does not. Instead, the IA32 solution is to throw more resources (cache, prefetch etc) at the problem. The upshot is that if you write a modern kind of operating system for an IA32 chip, real-time applications go better but traditional batch/server/enterprise applications go worse. And this still makes up the bulk of the workload.
(The dramatic irony of all this is that the argument also holds for Metcalfe's baby: Ethernet. Until virtual circuit-type loads are more common than datagrams, it'll always be better to make Ethernet faster than move to ATM.)
So while we use 20-year-old CPUs and run 20-year-old workloads on them, we must also use 20-year-old operating systems.
Famously, Pixar's first film Luxo Jr is based on the same principle. They set up the armature, and then did a global optimisation process to minimise the energy expended for the lamps to hop around.
(BTW, for the would-be pedants present: André & Wally B was not technically a Pixar film, since it was made while everyone was still at Lucasfilm.)
I agree that Qt is a fine choice if you want to write an application that differs in a small way from an empty application that does nothing. :-)
Let me rephrase less flippantly: Qt is a fine choice if you want to write an application which is almost all GUI. Any time you need to add nontrivial non-GUI functionality, it doesn't play nice.
The reason is that it takes over your program. If everyone wrote their libraries as frameworks, then you would never be able to integrate two or more libraries. Qt is the one that's not playing nice.
I don't know about you, but the only parts of my app which are different from an empty application that does nothing is the stuff inside main(), and the stuff that it calls.
Contrary to popular belief, it's not difficult to write something which does pretty much what you want, but is expressed as a library, not a framework. Frameworks are for OO purists, mostly because there is no other option. C++ is a multi-paradigm language, not an OO language.
That's not what I mean by "exception-safe".
I've seen the Qt source code. It's full of this:
If the second allocation fails (which, according to the C++ standard, happens by throwing std::bad_alloc), the first allocation leaks. That is not exception-safe.
This is not a question of purity, it's a question of correctness and interoperability. If a well-behaving exception-throwing third-party library throws an exception, it should not cause Qt to leak. If it does, Qt is broken.
I believe that's true of the containers now, finally, but IIRC it's still not true of stream I/O and strings.
For the record, my complaint here is not that Qt is poor quality. My complaint is that it is a relic of an era of C++ which no longer exists. The really unfortunate part is that Qt doesn't really have much competition: It's still the best GUI toolkit for C++. This makes the situation all the worse, because it interferes so badly with modern C++ code.
From an Australian legal perspective, you might have a point that if this fair use act was passed after the amended copyright act (which it will be!) it trumps the anticircumvention provisions: If you are engaged in an act of fair use, you might be in the clear.
Qt, however, has one major drawback: It was designed in an era when C++ was a different beast than it is today. And as a result, it's hard to use today.
In particular:
In summary, it's great if all you want to write is Qt code. As soon as you want any other library as well (e.g. actual functionality), you end up writing so much glue code that your actual application gets obscured. MFC, anyone?
It depends on the market, I think. For example: Most people need email, and in the absence of information to the contrary, KMail would be easier to find than Evolution. But I would think that everyone who uses Linux and needs to use something like it knows what GIMP means.
After all, what's more intuitive: "3D Studio Max" or "Maya"? One says what it does. But everyone who is in the market for such a product knows about both, and has a pretty good idea why you would choose one over the other.
My vote is for the Einstein field equation. Briefly stated: the curvature of spacetime is proportional to its mass/energy content. Very pretty.
Hail Eris!