The.NET framework runs on top of win32 in a virtual machine environment. In fact one can still do win32 calls inside.NET and one must frequently do so in practice.
1- Actually there is a free accelerated driver for all the ATI cards out there. There is an excellent non-free driver for all the NVidia, and that solves 99% of your problems.
2- Actually, I'm typing this on OS/X right now and I find it really shitty compared to linux. Sure, as long as you stay within the neat boundaries of what OS/X does well, then everything is hunky-dory. However soon enough one encounters some kind of mysterious limit, and all of the sudden it's either the 25$ shareware (at best), command-line galore or no solution at all. You could hit this sort of thing by plugging in a random USB webcam for example, a TV tuner or even an external firewire DVD writer. On linux I've always been able to solve my problems eventually, with less and less effort as the distributions improved.
The fact is my Linux box is currently more capable than my Apple notebook even though the latter is supposed to be able to run a larger variety of software.
3- Access-like GUI database now available in OOo 2.0 (check it out) ; video editor : kino, cinelerra ; DTP : Scribus (Macworld described it recently as better than Pages) ; OCR : Kooka, gocr ; DVD authoring : try this.
Best thing about all of these softwares : they run on windows too. You can try them in your favourite default environment and see if they match your needs.
In my opinion eventually F/OSS will at at least match commercial offerings in most instances like it does with firefox right now. Office is next and I'm sure Microsoft is at least slightly worried. We'll have a population inversion. Most bog-standard software will be free (like O/S, browsers, office suites and utilities). There will be commercial software available for niche markets. Hardware and software makers will try to DRM everything but it won't work. There is enough commercial interest in Linux right now that one of these outfit will bring forth a huge lawsuit and force things to remain open.
Most large F/OSS projets record and maintain Use cases. The prime examples are KDE and Gnome, but this is also true of the Gimp for example.
I'm a OSS developer of a small project with at most 100 active users, and I have a directory full of Use cases. I also have a long list of features my users have requested. I try to be polite and understanding but I also explain that I have a full time job and a family and this work cannot take priority.
Most OSS projects were developed for a limited set of users, most of whom are the very developers of the project. The resulting software is thus very specific to the needs of a tiny community.
I think my situation is fairly typical. Most real OSS developers are not out to impress anyone, let alone bully or ignore users. They are simply people wo developed a solution to their own problem and shared the result in the hope it would be useful.
Now the user community can be annoying at times, requesting totally unreasonable features, and expecting them to become available at their earliest convenience. When these are not met they are prone to calling developers "unprofessional". Personally I find this a little irritating.
We could move forward if those users who think up a great new feature for a particular piece of software would come up with their own professionnaly written "use case" and submit those to the developers. Users who wave their hands in the air and expect great new features to pop up are bound to be disappointed.
Pedantic reply: actually Gibraltar is still part of the UK, but cannot be described as even remotely cold (it's the at the southernmost tip of Spain for the geographically challenged).
You sound like an Intel representative from 2 years ago. Notice how the Intel market share has eroded since that time ?
For x86_64, substitute "64-bit" with "twice as many registers" and code that runs 30% faster, and you might start seeing the attraction.
SSE-optimized code makes only sense for floating point code, and you can run that code unchanged on x86_64 as well. What's your point?
Also laptops will be coming standard with 4GB of RAM within the next 2-3 years, guaranteed, as this will be a de-facto requirement for Vista by then. 64-bit is the inevitable short-term future, even Intel says so, since all its new CPUs including laptop's from 2007 onward will be 64-bit.
I for one am not buying a new laptop that doesn't have a 64-bit CPU. I don't care about Microsoft, I've been running 64-bit OS/Ses since 1995 or so.
C++ is annoying in its design I agree, but I still wouldn't say it's "flawed". Stroustrup and the whole ISO committee essentially strove to add modern language features to C without sacrifying its essential quality, which is pure speed and lack of overhead. In this regard I'd say he succeeded brilliantly. The downside is that C++ is not pretty and very hard to learn. On the plus sides, with a good mastery of C++ it is possible to never ever use pointers yet not rely on VM for bounds checking and the like.
Essentially there is only one other language that can compete with C++ on features and speed, and that's Ada. All the other attempts relying on one form of VM or another are simply not in the same ballpark.
Unfortunately for Ada there is a lack of support for it in both the OSS community and the proprietary world, except in the defence/nuclear/aeronautics industries.
Exactly how is making OS/X available on random PCs debasing the work of thousands of Apple employees and the millions of customers that support them?
That hacking job is nothing but a hacking job. No one in their right mind would be running this hacked version of OS/X on their "production" PC. Like you say probably nothing would work correctly, let alone well. It's there as a fun projet, nothing more, and if nothing else it works beautifully as an advertisement for Apple.
This hacking job was done because it can be done. Like Mt Everest it's there as a mountain to be climbed. It makes OS/X visible on perhaps a few thousand more desktops, of those a few percent might become actual Apple customers, so it's nothing other than pure profit for Apple.
By the way you are making it look like it's a trivial and immoral thing to do, and it's not. Perhaps hacking OS/X in this way is not easily justifiable, but for the record Steve Wosniak, the other co-founder of Apple, started his geek life as a phone phreaker, so I doubt he would have anything to say against this undertaking, and without him the other Steve would be nowhere in sight today, certainly not at the helm of Apple.
Furthermore hacking can be morally justifiable. For example I believe the cracking of CSS for DVDs was and still is justifiable. For a start I would not have bought a single DVD had it not been possible for me to watch DVDs on Linux, or to watch the DVDs I've bought all over the world whenever and wherever I well damn please on my nice little iBook.
Unless you run a highly virtualized environment with pointers all over the place (like with Java) the pointer size issue doesn't drag you down that much. Changing the pointer size for arrays doesn't change the size of the data those point to.
OTOH, like you pointed out, x86_64 comes with double the number of registers, and that means about 15-30% faster code just because of that fact.
Perhaps this is a matter of semantics, but those are design choices, not errors.
To me a design error is something that wasn't foreseen when designing a system. Here, upward compatibility with C is an explicit design goal of C++, so it's not an error. The rest that you list are not errors either :
Long STL-related errors is a feature of the compiler, not the language. Some compilers other than vc++ and g++ have shorter errors strings. Anyway, with practice these errors are actually useful.
std::string cannot copy themselves to straight char* because that would make them modifiable in-place. This is forbidden because std::string have copy-on-write semantics, i.e. many strings can share the same pointer, and this is all managed by the C++ object layer. The in-place modificiation of a std::string could easily lead to many strings being modified invisibly and this is not desirable. This would be a genuine design error!
Hence you must make your own copy manually if you want to convert it to char*, for this you must use the std:string.copy() method. In my copy of Stroustrup 3rd ed, it's on chapter 20, page 590, with a couple of workarounds.
The lack of checks on arrays and vectors boundary is a design choice, following the C paradigm of "trusting the programmer". Some compilers including forks of gcc allow boundary checking to be turned on.
Anyway, one can disagree with these choices, I frequently do, but at least Stroustrup took the time to justify them (in his book "The design and evolution of C++") and they are consistent.
Marching cube is the granddaddy of implicit isosurface extraction algorithms, but its precision is only first order. It's usually enough for what I do, which is typically medical image segmentation. The main problem with MC is the non-preservation of topology in some instances.
There are many ways to extract isosurfaces but AFAIK most are derived one way or the other from Marching Cubes, so the patent would probably still apply. Feel free to educate me though.
At the same time lung cancer in men is finally decreasing, thanks to public policy on smoking. Melanoma is among those cancers that have an over 90% survival rate.
Also more people are getting cancer later in life because they live longer. Fewer people are dying of cardio-vascular related diseases now than in the 80s. If one is not dying of a heart attack at 45, one is increasing one's chance of getting cancer.
In the last 40 years or so, average survival rates of all cancers have grown from about 25% to about 60%. Some cancers have an over 90% survival rate.
I leave you to decide whether this constitutes progress.
Progress in the biological sciences is enormous and constant, but the translation from scientific understanding to treatment & prevention is slow, because it needs to be as close to 100% safe as possible. There are about half a dozen known treatments against the HIV virus that work on monkeys and cats, but few would dare try them in their own bodies.
Compared to biology, electronics is so simple that it is child's play.
Actually, AFAIK the implementation of a patented technology is not per se an infringing use of the patent. On the contrary, patents are there, or at least were there initially, to make implementation of known technology easier (they are meant to make something "patent").
As well, software patents are not valid in Europe, amongst other locales.
Thus, the FFMPEG implementation in that light is not infringing. However *actually using* the FFMPEG library in the US for anything other than research would be. Only people who hold a license to the disputed patent would be allowed to use the FFMPEG library for anything.
As illustrations of this point, see the VTK, which embeds patented technology such as the Marching Cube algorithm. When compiling the VTK, one can decide to include such pieces of software or not, depending on whether one is a licensee. See also various X11 antialiasing libraries which include code for a hinting interpreter, which is patented and labelled as such in the code. Most distributions turn it off, but it is there and can be enabled in jurisdictions for which the patent is not valid or if one holds a license for example.
OTOH, at the time of the LZW patent Unisys was actively harassing open source implementations of the algorithm, such as with the libtiff library, on the basis that mere distribution of code was usage. This behaviour never got challenged in court.
Actually it's easy to wear out flash ram in certain conditions. One write every second for 70 years is only 2 billion writes.
If you use a flashdisk as a swap partition, and the swap algorithm is not taking care to spread the writing all over the media, with only moderate usage your swap disk can be gone in a few months.
However syncing your ipod no matter how often will not wear out the flash RAM, for sure.
Even if it's labelled a crime it's not necessarily wrong. RMS keeps arguing this point over and over again, for example here, and as the parent is writing it was certainly a matter of debate at the time whether software could be copyrighted at all.
Simply put morality and the law are two separate issues. Even justice and the law are separate issues. Need I bring Martin Luther King Junior in here?
> And what if other people don't want to live in a mommy society > that attempts to child-proof the world?
At my wife's work, in a packaging plant, a contractor was one day crushed to death by a cold water pipe that fell on him from 20 feet high. The enquiry showed that the plant met most safety standards but that one water pipe had been installed clumsily. The McD story is the same. If you don't do things carefully and thoughtfully people get hurt needlessly.
It's not about child-proofing the world, it's about avoiding accidents that can reasonably be avoided. This is not the 19th century anymore.
I really think the McD spill story could have happened to you personally in spite of your best care. One moment inattention and that's it, especially if one does ever so slightly underestimate what near-boiling water can do to one's skin. I also really think that if you had had to spend a week in hospital getting skin grafts in the groin area you too would have been thinking about sueing somebody, if only to pay for the care, exactly as this woman did.
Now think about this. Indeed McD was serving very hot coffee for business reasons, to cater for people who really like very hot coffee. Now this lawsuit didn't prevent them from continuing on. Someone got burned really bad due to this coffee, they lost 2 days of coffee sale, that's not so bad in the grand scheme of things. If so very few people really got burned so infrequently by their coffee like you posit, McD could have decided to meet the cost of retribution, and in particular continue to settle cases of people burned by their coffee.
But no, McD themselves realized that their coffee really was too hot and dangerous and they lowered its temperature. You are blaming some kind of faceless system for mothering everybody when in fact this is not what happened. The good old market and the rule of law made this arbitration possible.
Exactly what other kind of system would have worked better in your opinion ? I'm interested to hear.
Nice ad hominem, JCR, are you running out of cogent argument ?
> So, rather than take responsibility for your own clumsiness, you decided to blame the > vendor? Well, that may have worked for you as an ego-saving strategy, but it seems rather > less than honest to me.
Sorry, where did I blame the vendor? I went to the bathroom and put my hand under cold water like one is supposed to do, and McD was never even aware of the problem. What would you have done?
I just wrote that I wasn't surprised at the verdict given my own experience. I've spillt hot beverages on myself more than once both at home and in restaurants. Sometimes other people spillt their own beverages on me. Perhaps I'm more clumsy than others or unlucky in that respect, I don't know but I've never made a fuss.
The one that burnt most was McD, by a long shot. It suggests to me that McD's coffee was hotter than necessary to the point of being dangerous, exactly what this lawsuit found.
I didn't feel particularly vindicated, just not surprised. Is that so hard to understand?
Upside down coffee drinking is not reasonable, and well nigh on impossible.
It is however reasonable to expect that some people will spill some coffee on themselves, even when seated. This can happen any number of ways through no fault of their own, for example when another customer stands up and moves about, or during normal operation of the coffee cup, e.g. when lifting the cup top, and as a matter of fact it happens all the time and cannot be easily prevented.
It is unreasonable to accept relatively frequent 3rd degree burns due to coffee spills. They cost too much to society and it's impossible to expect people not to spill their coffee. As a matter of fact there was ample evidence that (a) people were spilling their coffee left right and center, (b) the coffee was too hot, (c) as a result of both these facts people were being sent to the hospital by the hundreds *and* (d) McD knew about these very well.
The best solution is to stop the hazard at its source, clearly here the scalding coffee.
One needs boiling water to *make* coffee or tea, one doesn't need near boiling temperature coffee for drinking. One can make coffee that is too hot to drink except carefully and slowly yet is not scalding. As a matter of fact many, if not most restaurants manage that feat quite well.
Perhaps you did come to a different conclusion than mine because you didn't get burned by McD's coffee around 1991 or so, as I did. My very mild but painful burn arose through lifting (with difficulty) the thin cup top as I was seated at a table at some McD restaurant, and not realizing the cup was very full, and dropping about 5-10% of the content of cup on my left hand.
That hurt a great deal. I felt stupid but also annoyed at McD for serving coffee that plainly didn't need to be that hot. No one can drink coffee at around 180F or so. Obviously I had been at many restaurants besides McD before and I had never been served, it seems, coffee that hot. Hence when the lawsuit was announced I wasn't in the least surprised at the decision.
As for tea I agree with you. You need boiling water to make tea. Most sensible restaurants will make tea for you at the coffee machine on the business side of the counter. McD's current business model doesn't allow for this level of service, but it doesn't mean one can't get good tea made in this country.
Personally I'm not in favour of abortion, I'm not religious but I really don't like the idea. However I'm also a father of one and soon two, and I know now that taking care of kids requires time, dedication, love and money. They definitely grow on you but it helps wanting them in the first place.
If a woman falls pregnant due to some mistake, e.g. a leaky condom or an uncaring partner and doesn't want the extreme troubles to care for unwanted kids, if only during the 9 months of the pregnancy, then I support her right to have an abortion early in the pregnancy. Why is that ?
Most people who voice their anti-abortion views don't know what carrying an unwanted child means. It's way more than just annoying. Those who recommend adoption as a substitute are not being realistic. Falling pregnant for a young poor girl can devastate her life. It is not unlikely that she will seek any avenue, both legal and illegal, to get rid of the foetus if she really wants to. For all sorts of reasons I'd rather that the abortion be safe and legal.
The whole idea about safe and legal abortion in the first trimester is that by week 12 or so, the future mother definitely knows she's pregnant, has had time to make her mind about whether she wants the baby or not, and most likely very few people have noticed she might be pregnant. It's not about whether the foetus is alive, conscious or whatever.
All these people with high and lofty ideas about "the right of the foetus supercedes that of the mother exactly at such and such moment" are never left with dealing with the consequences of their decisions.
At the end of the day, if abortion becomes illegal, someone must deal with the consequences of pregnant women dying at backstreet abortionist like they've done since the dawn of time ; someone must take good care of the unwanted kids that do get born. I observe that through history it's never the churches with the moral high ground, the state with the means and the law on their side or the men responsible who foot the financial and emotional bill. It always falls on the mother, and that's not fair.
Let those unthinking ones who say she has to pay because she was stupid be very thankful that their own next stupid mistake doesn't carry a lifelong penalty.
Hi JCR, usually I like what you write, but this time you are not correct. Are you against insulation around live electric wires as well?
The whole point of the lawsuit was that McDonalds was found to have coffee much hotter than the _industry average_, and that this attitude was dangerous (go read the text referenced earlier). It is impossible to *drink* the coffee at the temperature McD was selling it. They had plenty of warning, they did nothing.
700 complaints is much much less than the number of persons who actually got burned by McD's coffee. I know I was, I certainly didn't complain. I didn't think it was that dangerous, but when I learned of the case, I wasn't surprised or shocked.
MD serve coffee at drive thrus, they must expect people will drink it in cars, they must provide safe food and drinks, it's as simple as that.
You can make coffee as hot as you want in your own home. At a restaurant, you can't, even less if you are serving millions of coffees a day. The whole point of a civilised society is to make reasonable compromises for everybody. It sucks for you that McD won't serve as hot a coffee as you'd like, but you can always go somewhere else.
However, the next time an elderly lady or a young man spills a McD's coffee on their lap they won't go to the hospital, and that's a net saving to you too, because this could be *you*. In spite of all your best care everyone makes mistakes, and one would be a fool to think that they are immune.
You got that backward, or you must be a time traveller from about 1994 or so.
Most hardware companies today, in the x86 world, actually *are* happy to provide drivers or docs, or simply don't go out of their way to obfuscate protocols & designs. As a result Linux and the BSDs work quite well on the vast vast majority of the PC hardware out there. This has gotten to the point where on a random desktop PC out there one has far fewer difficulties in getting Linux to make all the hardware available in the box than Windows XP. This has been my consistent experience for several years now. Try it some day. This is fast becoming even true of laptops, and this is most definitely true of hardware that is only a few years old.
The few companies that don't pursue a Linux-friendly policy are simply slowly but consistenly being driven out of the market or forced to change their attitude. Look at what happened to ATI.
One only starts having real difficulties outside the straight x86 world, for example trying to get Linux to run well on an Apple Laptop is difficult. It mostly works, but for example Wifi won't, and this is indeed due to a company that has a Linux unfriendly attitude (Broadcomm). However even they have closed-source drivers for their x86-compatible hardware.
Yes I speak from experience, I can give you any number of instances where I tried to install Windows on some PC only to find out that there were no longer any available driver for such and such part of the machine (a modem, an ethernet adapter, the USB driver etc), when Linux had no qualms.
The .NET framework runs on top of win32 in a virtual machine environment. In fact one can still do win32 calls inside .NET and one must frequently do so in practice.
Replies :
1- Actually there is a free accelerated driver for all the ATI cards out there. There is an excellent non-free driver for all the NVidia, and that solves 99% of your problems.
2- Actually, I'm typing this on OS/X right now and I find it really shitty compared to linux. Sure, as long as you stay within the neat boundaries of what OS/X does well, then everything is hunky-dory. However soon enough one encounters some kind of mysterious limit, and all of the sudden it's either the 25$ shareware (at best), command-line galore or no solution at all. You could hit this sort of thing by plugging in a random USB webcam for example, a TV tuner or even an external firewire DVD writer. On linux I've always been able to solve my problems eventually, with less and less effort as the distributions improved.
The fact is my Linux box is currently more capable than my Apple notebook even though the latter is supposed to be able to run a larger variety of software.
3- Access-like GUI database now available in OOo 2.0 (check it out) ; video editor : kino, cinelerra ; DTP : Scribus (Macworld described it recently as better than Pages) ; OCR : Kooka, gocr ; DVD authoring : try this.
Best thing about all of these softwares : they run on windows too. You can try them in your favourite default environment and see if they match your needs.
In my opinion eventually F/OSS will at at least match commercial offerings in most instances like it does with firefox right now. Office is next and I'm sure Microsoft is at least slightly worried. We'll have a population inversion. Most bog-standard software will be free (like O/S, browsers, office suites and utilities). There will be commercial software available for niche markets. Hardware and software makers will try to DRM everything but it won't work. There is enough commercial interest in Linux right now that one of these outfit will bring forth a huge lawsuit and force things to remain open.
This is so untrue that it's not funny.
Most large F/OSS projets record and maintain Use cases. The prime examples are KDE and Gnome, but this is also true of the Gimp for example.
I'm a OSS developer of a small project with at most 100 active users, and I have a directory full of Use cases. I also have a long list of features my users have requested. I try to be polite and understanding but I also explain that I have a full time job and a family and this work cannot take priority.
Most OSS projects were developed for a limited set of users, most of whom are the very developers of the project. The resulting software is thus very specific to the needs of a tiny community.
I think my situation is fairly typical. Most real OSS developers are not out to impress anyone, let alone bully or ignore users. They are simply people wo developed a solution to their own problem and shared the result in the hope it would be useful.
Now the user community can be annoying at times, requesting totally unreasonable features, and expecting them to become available at their earliest convenience. When these are not met they are prone to calling developers "unprofessional". Personally I find this a little irritating.
We could move forward if those users who think up a great new feature for a particular piece of software would come up with their own professionnaly written "use case" and submit those to the developers. Users who wave their hands in the air and expect great new features to pop up are bound to be disappointed.
Best.
And .Net runs on top of what, in your opinion?
Pedantic reply: actually Gibraltar is still part of the UK, but cannot be described as even remotely cold (it's the at the southernmost tip of Spain for the geographically challenged).
Perhaps you meant the British Isles ?
You sound like an Intel representative from 2 years ago. Notice how the Intel market share has eroded since that time ?
For x86_64, substitute "64-bit" with "twice as many registers" and code that runs 30% faster, and you might start seeing the attraction.
SSE-optimized code makes only sense for floating point code, and you can run that code unchanged on x86_64 as well. What's your point?
Also laptops will be coming standard with 4GB of RAM within the next 2-3 years, guaranteed, as this will be a de-facto requirement for Vista by then. 64-bit is the inevitable short-term future, even Intel says so, since all its new CPUs including laptop's from 2007 onward will be 64-bit.
I for one am not buying a new laptop that doesn't have a 64-bit CPU. I don't care about Microsoft, I've been running 64-bit OS/Ses since 1995 or so.
Sorry about the "flaw" vs "error".
C++ is annoying in its design I agree, but I still wouldn't say it's "flawed". Stroustrup and the whole ISO committee essentially strove to add modern language features to C without sacrifying its essential quality, which is pure speed and lack of overhead. In this regard I'd say he succeeded brilliantly. The downside is that C++ is not pretty and very hard to learn. On the plus sides, with a good mastery of C++ it is possible to never ever use pointers yet not rely on VM for bounds checking and the like.
Essentially there is only one other language that can compete with C++ on features and speed, and that's Ada. All the other attempts relying on one form of VM or another are simply not in the same ballpark.
Unfortunately for Ada there is a lack of support for it in both the OSS community and the proprietary world, except in the defence/nuclear/aeronautics industries.
Oh man what a killjoy you are,
Exactly how is making OS/X available on random PCs debasing the work of thousands of Apple employees and the millions of customers that support them?
That hacking job is nothing but a hacking job. No one in their right mind would be running this hacked version of OS/X on their "production" PC. Like you say probably nothing would work correctly, let alone well. It's there as a fun projet, nothing more, and if nothing else it works beautifully as an advertisement for Apple.
This hacking job was done because it can be done. Like Mt Everest it's there as a mountain to be climbed. It makes OS/X visible on perhaps a few thousand more desktops, of those a few percent might become actual Apple customers, so it's nothing other than pure profit for Apple.
By the way you are making it look like it's a trivial and immoral thing to do, and it's not. Perhaps hacking OS/X in this way is not easily justifiable, but for the record Steve Wosniak, the other co-founder of Apple, started his geek life as a phone phreaker, so I doubt he would have anything to say against this undertaking, and without him the other Steve would be nowhere in sight today, certainly not at the helm of Apple.
Furthermore hacking can be morally justifiable. For example I believe the cracking of CSS for DVDs was and still is justifiable. For a start I would not have bought a single DVD had it not been possible for me to watch DVDs on Linux, or to watch the DVDs I've bought all over the world whenever and wherever I well damn please on my nice little iBook.
Unless you run a highly virtualized environment with pointers all over the place (like with Java) the pointer size issue doesn't drag you down that much. Changing the pointer size for arrays doesn't change the size of the data those point to.
OTOH, like you pointed out, x86_64 comes with double the number of registers, and that means about 15-30% faster code just because of that fact.
Perhaps this is a matter of semantics, but those are design choices, not errors.
To me a design error is something that wasn't foreseen when designing a system. Here, upward compatibility with C is an explicit design goal of C++, so it's not an error. The rest that you list are not errors either :
Long STL-related errors is a feature of the compiler, not the language. Some compilers other than vc++ and g++ have shorter errors strings. Anyway, with practice these errors are actually useful.
std::string cannot copy themselves to straight char* because that would make them modifiable in-place. This is forbidden because std::string have copy-on-write semantics, i.e. many strings can share the same pointer, and this is all managed by the C++ object layer. The in-place modificiation of a std::string could easily lead to many strings being modified invisibly and this is not desirable. This would be a genuine design error!
Hence you must make your own copy manually if you want to convert it to char*, for this you must use the std:string.copy() method. In my copy of Stroustrup 3rd ed, it's on chapter 20, page 590, with a couple of workarounds.
The lack of checks on arrays and vectors boundary is a design choice, following the C paradigm of "trusting the programmer". Some compilers including forks of gcc allow boundary checking to be turned on.
Anyway, one can disagree with these choices, I frequently do, but at least Stroustrup took the time to justify them (in his book "The design and evolution of C++") and they are consistent.
You mean like templates and the whole generic programing stuff?
Marching cube is the granddaddy of implicit isosurface extraction algorithms, but its precision is only first order. It's usually enough for what I do, which is typically medical image segmentation. The main problem with MC is the non-preservation of topology in some instances.
It may be shite but it is very popular.
There are many ways to extract isosurfaces but AFAIK most are derived one way or the other from Marching Cubes, so the patent would probably still apply. Feel free to educate me though.
At the same time lung cancer in men is finally decreasing, thanks to public policy on smoking. Melanoma is among those cancers that have an over 90% survival rate.
Also more people are getting cancer later in life because they live longer. Fewer people are dying of cardio-vascular related diseases now than in the 80s. If one is not dying of a heart attack at 45, one is increasing one's chance of getting cancer.
In the last 40 years or so, average survival rates of all cancers have grown from about 25% to about 60%. Some cancers have an over 90% survival rate.
I leave you to decide whether this constitutes progress.
Progress in the biological sciences is enormous and constant, but the translation from scientific understanding to treatment & prevention is slow, because it needs to be as close to 100% safe as possible. There are about half a dozen known treatments against the HIV virus that work on monkeys and cats, but few would dare try them in their own bodies.
Compared to biology, electronics is so simple that it is child's play.
Actually, AFAIK the implementation of a patented technology is not per se an infringing use of the patent. On the contrary, patents are there, or at least were there initially, to make implementation of known technology easier (they are meant to make something "patent").
As well, software patents are not valid in Europe, amongst other locales.
Thus, the FFMPEG implementation in that light is not infringing. However *actually using* the FFMPEG library in the US for anything other than research would be. Only people who hold a license to the disputed patent would be allowed to use the FFMPEG library for anything.
As illustrations of this point, see the VTK, which embeds patented technology such as the Marching Cube algorithm. When compiling the VTK, one can decide to include such pieces of software or not, depending on whether one is a licensee. See also various X11 antialiasing libraries which include code for a hinting interpreter, which is patented and labelled as such in the code. Most distributions turn it off, but it is there and can be enabled in jurisdictions for which the patent is not valid or if one holds a license for example.
OTOH, at the time of the LZW patent Unisys was actively harassing open source implementations of the algorithm, such as with the libtiff library, on the basis that mere distribution of code was usage. This behaviour never got challenged in court.
Actually it's easy to wear out flash ram in certain conditions. One write every second for 70 years is only 2 billion writes.
If you use a flashdisk as a swap partition, and the swap algorithm is not taking care to spread the writing all over the media, with only moderate usage your swap disk can be gone in a few months.
However syncing your ipod no matter how often will not wear out the flash RAM, for sure.
Absolutely,
Even if it's labelled a crime it's not necessarily wrong. RMS keeps arguing this point over and over again, for example here, and as the parent is writing it was certainly a matter of debate at the time whether software could be copyrighted at all.
Simply put morality and the law are two separate issues. Even justice and the law are separate issues. Need I bring Martin Luther King Junior in here?
I think I'll call you JCR-Uberman from now on :-)
> And what if other people don't want to live in a mommy society
> that attempts to child-proof the world?
At my wife's work, in a packaging plant, a contractor was one day crushed to death by a cold water pipe that fell on him from 20 feet high. The enquiry showed that the plant met most safety standards but that one water pipe had been installed clumsily. The McD story is the same. If you don't do things carefully and thoughtfully people get hurt needlessly.
It's not about child-proofing the world, it's about avoiding accidents that can reasonably be avoided. This is not the 19th century anymore.
I really think the McD spill story could have happened to you personally in spite of your best care. One moment inattention and that's it, especially if one does ever so slightly underestimate what near-boiling water can do to one's skin. I also really think that if you had had to spend a week in hospital getting skin grafts in the groin area you too would have been thinking about sueing somebody, if only to pay for the care, exactly as this woman did.
Now think about this. Indeed McD was serving very hot coffee for business reasons, to cater for people who really like very hot coffee. Now this lawsuit didn't prevent them from continuing on. Someone got burned really bad due to this coffee, they lost 2 days of coffee sale, that's not so bad in the grand scheme of things. If so very few people really got burned so infrequently by their coffee like you posit, McD could have decided to meet the cost of retribution, and in particular continue to settle cases of people burned by their coffee.
But no, McD themselves realized that their coffee really was too hot and dangerous and they lowered its temperature. You are blaming some kind of faceless system for mothering everybody when in fact this is not what happened. The good old market and the rule of law made this arbitration possible.
Exactly what other kind of system would have worked better in your opinion ? I'm interested to hear.
Cheers.
Nice ad hominem, JCR, are you running out of cogent argument ?
> So, rather than take responsibility for your own clumsiness, you decided to blame the
> vendor? Well, that may have worked for you as an ego-saving strategy, but it seems rather
> less than honest to me.
Sorry, where did I blame the vendor? I went to the bathroom and put my hand under cold water like one is supposed to do, and McD was never even aware of the problem. What would you have done?
I just wrote that I wasn't surprised at the verdict given my own experience. I've spillt hot beverages on myself more than once both at home and in restaurants. Sometimes other people spillt their own beverages on me. Perhaps I'm more clumsy than others or unlucky in that respect, I don't know but I've never made a fuss.
The one that burnt most was McD, by a long shot. It suggests to me that McD's coffee was hotter than necessary to the point of being dangerous, exactly what this lawsuit found.
I didn't feel particularly vindicated, just not surprised. Is that so hard to understand?
Upside down coffee drinking is not reasonable, and well nigh on impossible.
It is however reasonable to expect that some people will spill some coffee on themselves, even when seated. This can happen any number of ways through no fault of their own, for example when another customer stands up and moves about, or during normal operation of the coffee cup, e.g. when lifting the cup top, and as a matter of fact it happens all the time and cannot be easily prevented.
It is unreasonable to accept relatively frequent 3rd degree burns due to coffee spills. They cost too much to society and it's impossible to expect people not to spill their coffee. As a matter of fact there was ample evidence that (a) people were spilling their coffee left right and center, (b) the coffee was too hot, (c) as a result of both these facts people were being sent to the hospital by the hundreds *and* (d) McD knew about these very well.
The best solution is to stop the hazard at its source, clearly here the scalding coffee.
One needs boiling water to *make* coffee or tea, one doesn't need near boiling temperature coffee for drinking. One can make coffee that is too hot to drink except carefully and slowly yet is not scalding. As a matter of fact many, if not most restaurants manage that feat quite well.
Perhaps you did come to a different conclusion than mine because you didn't get burned by McD's coffee around 1991 or so, as I did. My very mild but painful burn arose through lifting (with difficulty) the thin cup top as I was seated at a table at some McD restaurant, and not realizing the cup was very full, and dropping about 5-10% of the content of cup on my left hand.
That hurt a great deal. I felt stupid but also annoyed at McD for serving coffee that plainly didn't need to be that hot. No one can drink coffee at around 180F or so. Obviously I had been at many restaurants besides McD before and I had never been served, it seems, coffee that hot. Hence when the lawsuit was announced I wasn't in the least surprised at the decision.
As for tea I agree with you. You need boiling water to make tea. Most sensible restaurants will make tea for you at the coffee machine on the business side of the counter. McD's current business model doesn't allow for this level of service, but it doesn't mean one can't get good tea made in this country.
Let's be realistic and learn from history.
Personally I'm not in favour of abortion, I'm not religious but I really don't like the idea. However I'm also a father of one and soon two, and I know now that taking care of kids requires time, dedication, love and money. They definitely grow on you but it helps wanting them in the first place.
If a woman falls pregnant due to some mistake, e.g. a leaky condom or an uncaring partner and doesn't want the extreme troubles to care for unwanted kids, if only during the 9 months of the pregnancy, then I support her right to have an abortion early in the pregnancy. Why is that ?
Most people who voice their anti-abortion views don't know what carrying an unwanted child means. It's way more than just annoying. Those who recommend adoption as a substitute are not being realistic. Falling pregnant for a young poor girl can devastate her life. It is not unlikely that she will seek any avenue, both legal and illegal, to get rid of the foetus if she really wants to. For all sorts of reasons I'd rather that the abortion be safe and legal.
The whole idea about safe and legal abortion in the first trimester is that by week 12 or so, the future mother definitely knows she's pregnant, has had time to make her mind about whether she wants the baby or not, and most likely very few people have noticed she might be pregnant. It's not about whether the foetus is alive, conscious or whatever.
All these people with high and lofty ideas about "the right of the foetus supercedes that of the mother exactly at such and such moment" are never left with dealing with the consequences of their decisions.
At the end of the day, if abortion becomes illegal, someone must deal with the consequences of pregnant women dying at backstreet abortionist like they've done since the dawn of time ; someone must take good care of the unwanted kids that do get born. I observe that through history it's never the churches with the moral high ground, the state with the means and the law on their side or the men responsible who foot the financial and emotional bill. It always falls on the mother, and that's not fair.
Let those unthinking ones who say she has to pay because she was stupid be very thankful that their own next stupid mistake doesn't carry a lifelong penalty.
Hi JCR, usually I like what you write, but this time you are not correct. Are you against insulation around live electric wires as well?
The whole point of the lawsuit was that McDonalds was found to have coffee much hotter than the _industry average_, and that this attitude was dangerous (go read the text referenced earlier). It is impossible to *drink* the coffee at the temperature McD was selling it. They had plenty of warning, they did nothing.
700 complaints is much much less than the number of persons who actually got burned by McD's coffee. I know I was, I certainly didn't complain. I didn't think it was that dangerous, but when I learned of the case, I wasn't surprised or shocked.
MD serve coffee at drive thrus, they must expect people will drink it in cars, they must provide safe food and drinks, it's as simple as that.
You can make coffee as hot as you want in your own home. At a restaurant, you can't, even less if you are serving millions of coffees a day. The whole point of a civilised society is to make reasonable compromises for everybody. It sucks for you that McD won't serve as hot a coffee as you'd like, but you can always go somewhere else.
However, the next time an elderly lady or a young man spills a McD's coffee on their lap they won't go to the hospital, and that's a net saving to you too, because this could be *you*. In spite of all your best care everyone makes mistakes, and one would be a fool to think that they are immune.
You got that backward, or you must be a time traveller from about 1994 or so.
Most hardware companies today, in the x86 world, actually *are* happy to provide drivers or docs, or simply don't go out of their way to obfuscate protocols & designs. As a result Linux and the BSDs work quite well on the vast vast majority of the PC hardware out there. This has gotten to the point where on a random desktop PC out there one has far fewer difficulties in getting Linux to make all the hardware available in the box than Windows XP. This has been my consistent experience for several years now. Try it some day. This is fast becoming even true of laptops, and this is most definitely true of hardware that is only a few years old.
The few companies that don't pursue a Linux-friendly policy are simply slowly but consistenly being driven out of the market or forced to change their attitude. Look at what happened to ATI.
One only starts having real difficulties outside the straight x86 world, for example trying to get Linux to run well on an Apple Laptop is difficult. It mostly works, but for example Wifi won't, and this is indeed due to a company that has a Linux unfriendly attitude (Broadcomm). However even they have closed-source drivers for their x86-compatible hardware.
Yes I speak from experience, I can give you any number of instances where I tried to install Windows on some PC only to find out that there were no longer any available driver for such and such part of the machine (a modem, an ethernet adapter, the USB driver etc), when Linux had no qualms.