Just because the distributors get to suffer from linux's "we don't offer stable software anymore" attitude, doesn't mean its ok. And believe it or not, you sometimes have to upgrade kernels to get new features, or drivers, so even ordinary users do in fact get screwed by this. Regardless of who their audience is, they should have some basic standards to produce stable software.
My point is don't slam the guy for calling linux an OS and then try to dismiss his point because you "don't know what OS he means", when you are the one that's confused. He was right, he was referring to linux correctly, as a kernel, with no standards of quality or stability.
I use openbsd on my laptop, and everything I use works fine, and without having to do anything to get it working. The only things that don't work are the winmodem obviously, and firewire which openbsd doesn't support. But laptops that require ACPI and don't have APM, or have hardware with no docs can be a problem.
For what its worth, I always thought it would be worth putting a BSD userland on top of a linux kernel. The fact that debian does the opposite has always seemed really bizzare to me.
OpenBSD strives for security and freedom, much more so than the other BSDs. And if Theo couldn't get along with anyone, he'd be the only developer wouldn't he?
He is talking about linux, the kernel. USB2.0 support has nothing to do with distros, its drivers in the kernel, that get stuck in there when they compile, and lead to lockups and crashes. You don't even get stable and unstable kernels with linux anymore, its just all unstable.
Yes, I mean man vs info vs various other random formats. With BSDs, you get a whole OS: kernel, libraries and userland, all made by the same people, all documented consistantly (as man pages). With linux distros you get a kernel by some people, and libraries and userland utilities from various different groups of people. Command line options and documentation are wildly inconsistant, both in quality and accuracy, as well as format.
Gnu utils aren't as good because they are bloated with dozens of useless command line options that don't need to exist, and that are non-standard and non-portable, thus leading to linux people making bizzare shell scripts that only work on linux. Their documentation is sub-par at best, and nonexistant at worst. They also have had a suprisingly large number of security problems, in simple commands.
"There is a large amount of people taking the savings to line their own pockets. Is that really surprising? People aren't all warm and fluffy. Most people are selfish, greedy bastards."
No, its not suprising, its the whole point I was making. Duh?
Society and consumers benefit very little from companies offshoring and using other methods to cut costs. They don't reduce the price of their goods when they do this, they just pocket more profits. Shareholders and executives of huge multinational corporations benefit from offshoring, the countries getting the work benefit, but don't try to pretend the people losing their jobs and being forced into lower paying unskilled jobs are benefitting from this.
If you know that dragonflybsd is still under giant lock for lots of stuff, maybe you shouldn't be posting that people should use it instead of freebsd to get away from giant locks?
Until dragonflybsd actually has a stable release, quit pretending its an option.
One of the nicest things about the BSDs is that they have good userlands, instead of the horrible mess of GNU crap that you get stuck with on linux. And the userland utilities all have real documentation, and in the same format even!
Its web.mit.edu dude, get real. There is no need to copy and paste the article here. And even when there is a need, you'll notice people do it AC to not be karma whores.
Who cares? Guess what happens when I go through a proxy that changes or removes my useragent string? That has nothing to do with the normal browser behaviour. If you select report as IE in opera, it still says opera in the string. By your same logic you can't detect opera client side either because I can alter my opera to be named whatever I feel like.
That's correct, you shouldn't care. CSS exists to alter the look of a site. Unsupported CSS is ignored. All you should do is make the site correctly, and don't abuse CSS to format things incorrectly (sticking text under images if I changed my font size). If I am using an outdated browser, things may not look right. Oh well, that's what I get for using an outdated browser. At least I can still access the information, regardless of wether or not it looks precisely the way it did on your machine.
And I shouldn't care what improvements happen between versions of the same browser in case someone is using an older one
No, you shouldn't. HTML and CSS are standards. Write to the standard, this is simple and easy. Do not compensate for broken browsers, you can never get every obscure bug in every obscure browser, and older browsers simply don't support much of any CSS at all. None of this matters as its purely presentation.
Just because you don't think knowing the browser version is important doesn't mean that everyone thinks the way you do. Plenty of people care enough about it enough that there are plenty of client side version detectors out there
http://www.mozilla.org/docs/web-developer/sniffer/ browser_type.html
Its not about caring, its about being misguided. The web is full of sites that don't work because someone "cared" so much that they customized the site for the browsers they know of, and in doing so fucked over the people using browsers they don't know about. Code to standard, degrade gracefully, it really is that simple. This not only makes web design far easier and saves your hair, but it works better than your misguided method of breaking your site for browsers you don't know about, or that have been altered.
Perhaps, before calling us all idiots, you may want to offer an alternate solution that works.
I did, do your job correctly. Your job is creating markup to format information, and CSS to style it. If the styling is not supported, it does not matter, the formatting and information still works. The web is not print, you cannot and will not ever be able to ensure that your site looks the same for everyone, so quit trying. Just make it *accessable* to everyone, and let the people who use up to date browsers have nice styling, and the people who don't have less nice styling.
It would be nice if I could do this, but the unfortunate reality is that CSS does not work this way.
Ecmascript does, and its the only case where you need to care. If something isn't supported in CSS, it will be ignored, and doesn't matter at all. Unsupported ecmascript may pop up error notices on the browser if its not set to hide those errors.
Unfortunately, CSS capabilities are not testable from script in any browser. You can only rely on the browser version to determine what is or is not available. Getting it wrong might result in a minor cosmetic problem or a browser crash, or maybe a hang. It is cleaner instead to base CSS on the browser version.
You are not supposed to compensate for broken browsers. You cannot compensate for them because you do not know all the browsers, all their versions, and what they do and do not do, and how close to correct they do things. Write correct html, css and ecmascript, and test for ecmascript functionality instead of assuming its there just because you think I am using a particular browser version, when you actually have no way to know what I am using and what I have changed.
"... all get screwed if they don't pretend to be IE or netscape". Identifying as mozilla is pretending to be netscape, and the fact that several browsers do this by default proves my point that they get screwed if they don't do it.
Pro-IE websites are rare. They are usually just websites written by incomp etant morons who assume there are 2 browsers, IE and netscape. So IE works, firefox/mozilla/netscape work, and opera, konq, safari, omniweb, dillo, etc, etc all get screwed if they don't pretend to be IE or netscape. That's why so many user agents are mozilla/version even if they have nothing at all to do with mozilla or netscape.
You can detect opera on the server just fine, even when its set to report as IE, it still tacks opera on the end. And no, you don't need to test for browser or version ever, for any reason, period. Idiots doing this are the entire problem. You should test "does this feature I want to use work", not test what you think the browser might be, and then assume you are right, and then assume you know what that browser can and cannot do, despite users being able to change that.
Nobody is expecting people to have computers comparable to fort knox. They are expecting them to have computers comparable to a house with a locked door. There are literally thousands of assholes out there running old, known exploitable windows/IE/outlook versions, who refuse to upgrade. When told that they can get hacked their response is "so, I have nothing important on my computer anways". Locking your door isn't hard, and that's all we expect from you, don't pretend we're asking for anything more.
No, its not actually. It has more mindshare, and hence more binary-only, proprietary software. That's it. There's no design involved there, and it has nothing to do with technical aspects. Or did you want to point out some specific technical flaws in the BSDs that the linux "if it kinda works its good enough" development model has solved?
It would be the FUD where he says there's a huge nunber of things that BSDs cannot do and linux can because of their focus on quality instead of doing things "good enough" like linux.
Theo didn't call linux users losers either, try reading the article. Linus did however spread FUD about the BSDs just recently, linux does not have any sort of moral high ground here.
He, like many people, does not use linux as his primary OS. He is just nice enough to make software that works on linux. He relied on an API that is not supposed to be changed. Do you honestly expect him to spend all his time searching changelogs of various operating systems checking to see if the developers are changing stable APIs on him? If you are going to alter the API, it would be reasonable to email people who write important software that relies on that API. And there is no reason to change the API, linux developers simply do not consider keeping an API stable to be important.
He does cdrecord, not xcdroast. And he does use open standards, that's why it works on several unix OSs. Just because linux developers make some random change does not mean its magically an "open standard", its non-standard, linux-specific behaviour. Linux making random stupid changes and not informing people who use the now altered API is entirely the fault of linux developers. If you don't like it, use an OS that doesn't do this, or complain to the linux developers who created the problem.
NetBSD kicked him out because they thought him being mean to users would scare away their userbase. OpenBSD long ago surpassed NetBSD for number of users, so maybe speaking your mind isn't the worst thing in the world huh?
OpenBSD was pretty obscure, despite everyone using openssh. As Theo has been more and more provocative, openbsd has gotten more and more publicity. The number of people using OpenBSD is WAY up in the last few years. Believe it or not, any publicity really is good publicity, and alot of people use products based on the product, not the person who made it, so people find out about openbsd because of this stuff, and then ignore this stuff and use openbsd because its good.
Just because the distributors get to suffer from linux's "we don't offer stable software anymore" attitude, doesn't mean its ok. And believe it or not, you sometimes have to upgrade kernels to get new features, or drivers, so even ordinary users do in fact get screwed by this. Regardless of who their audience is, they should have some basic standards to produce stable software.
My point is don't slam the guy for calling linux an OS and then try to dismiss his point because you "don't know what OS he means", when you are the one that's confused. He was right, he was referring to linux correctly, as a kernel, with no standards of quality or stability.
I use openbsd on my laptop, and everything I use works fine, and without having to do anything to get it working. The only things that don't work are the winmodem obviously, and firewire which openbsd doesn't support. But laptops that require ACPI and don't have APM, or have hardware with no docs can be a problem.
For what its worth, I always thought it would be worth putting a BSD userland on top of a linux kernel. The fact that debian does the opposite has always seemed really bizzare to me.
OpenBSD strives for security and freedom, much more so than the other BSDs. And if Theo couldn't get along with anyone, he'd be the only developer wouldn't he?
He is talking about linux, the kernel. USB2.0 support has nothing to do with distros, its drivers in the kernel, that get stuck in there when they compile, and lead to lockups and crashes. You don't even get stable and unstable kernels with linux anymore, its just all unstable.
Yes, I mean man vs info vs various other random formats. With BSDs, you get a whole OS: kernel, libraries and userland, all made by the same people, all documented consistantly (as man pages). With linux distros you get a kernel by some people, and libraries and userland utilities from various different groups of people. Command line options and documentation are wildly inconsistant, both in quality and accuracy, as well as format.
Gnu utils aren't as good because they are bloated with dozens of useless command line options that don't need to exist, and that are non-standard and non-portable, thus leading to linux people making bizzare shell scripts that only work on linux. Their documentation is sub-par at best, and nonexistant at worst. They also have had a suprisingly large number of security problems, in simple commands.
"There is a large amount of people taking the savings to line their own pockets. Is that really surprising? People aren't all warm and fluffy. Most people are selfish, greedy bastards."
No, its not suprising, its the whole point I was making. Duh?
Society and consumers benefit very little from companies offshoring and using other methods to cut costs. They don't reduce the price of their goods when they do this, they just pocket more profits. Shareholders and executives of huge multinational corporations benefit from offshoring, the countries getting the work benefit, but don't try to pretend the people losing their jobs and being forced into lower paying unskilled jobs are benefitting from this.
Nothing in your post has anything to do with what I said, or the topic at hand. Maybe you should try reading this thread again?
If you know that dragonflybsd is still under giant lock for lots of stuff, maybe you shouldn't be posting that people should use it instead of freebsd to get away from giant locks?
Until dragonflybsd actually has a stable release, quit pretending its an option.
One of the nicest things about the BSDs is that they have good userlands, instead of the horrible mess of GNU crap that you get stuck with on linux. And the userland utilities all have real documentation, and in the same format even!
Its web.mit.edu dude, get real. There is no need to copy and paste the article here. And even when there is a need, you'll notice people do it AC to not be karma whores.
The article works fine, this is not informative at all, its redundant.
Oh? Perhaps you can tell me what happens when you set an entry in ua.ini to 4 or 5? http://www.scss.com.au/family/andrew/opera/browser ids
Who cares? Guess what happens when I go through a proxy that changes or removes my useragent string? That has nothing to do with the normal browser behaviour. If you select report as IE in opera, it still says opera in the string. By your same logic you can't detect opera client side either because I can alter my opera to be named whatever I feel like.
So I guess I shouldn't care that earlier versions of Opera don't support certain CSS parsing behavior http://centricle.com/ref/css/filters/?whitebg
That's correct, you shouldn't care. CSS exists to alter the look of a site. Unsupported CSS is ignored. All you should do is make the site correctly, and don't abuse CSS to format things incorrectly (sticking text under images if I changed my font size). If I am using an outdated browser, things may not look right. Oh well, that's what I get for using an outdated browser. At least I can still access the information, regardless of wether or not it looks precisely the way it did on your machine.
And I shouldn't care what improvements happen between versions of the same browser in case someone is using an older one
No, you shouldn't. HTML and CSS are standards. Write to the standard, this is simple and easy. Do not compensate for broken browsers, you can never get every obscure bug in every obscure browser, and older browsers simply don't support much of any CSS at all. None of this matters as its purely presentation.
Just because you don't think knowing the browser version is important doesn't mean that everyone thinks the way you do. Plenty of people care enough about it enough that there are plenty of client side version detectors out there http://www.mozilla.org/docs/web-developer/sniffer/ browser_type.html
Its not about caring, its about being misguided. The web is full of sites that don't work because someone "cared" so much that they customized the site for the browsers they know of, and in doing so fucked over the people using browsers they don't know about. Code to standard, degrade gracefully, it really is that simple. This not only makes web design far easier and saves your hair, but it works better than your misguided method of breaking your site for browsers you don't know about, or that have been altered.
Perhaps, before calling us all idiots, you may want to offer an alternate solution that works.
I did, do your job correctly. Your job is creating markup to format information, and CSS to style it. If the styling is not supported, it does not matter, the formatting and information still works. The web is not print, you cannot and will not ever be able to ensure that your site looks the same for everyone, so quit trying. Just make it *accessable* to everyone, and let the people who use up to date browsers have nice styling, and the people who don't have less nice styling.
It would be nice if I could do this, but the unfortunate reality is that CSS does not work this way.
Ecmascript does, and its the only case where you need to care. If something isn't supported in CSS, it will be ignored, and doesn't matter at all. Unsupported ecmascript may pop up error notices on the browser if its not set to hide those errors.
Unfortunately, CSS capabilities are not testable from script in any browser. You can only rely on the browser version to determine what is or is not available. Getting it wrong might result in a minor cosmetic problem or a browser crash, or maybe a hang. It is cleaner instead to base CSS on the browser version.
You will always get it wrong f
You are not supposed to compensate for broken browsers. You cannot compensate for them because you do not know all the browsers, all their versions, and what they do and do not do, and how close to correct they do things. Write correct html, css and ecmascript, and test for ecmascript functionality instead of assuming its there just because you think I am using a particular browser version, when you actually have no way to know what I am using and what I have changed.
"... all get screwed if they don't pretend to be IE or netscape". Identifying as mozilla is pretending to be netscape, and the fact that several browsers do this by default proves my point that they get screwed if they don't do it.
Pro-IE websites are rare. They are usually just websites written by incomp etant morons who assume there are 2 browsers, IE and netscape. So IE works, firefox/mozilla/netscape work, and opera, konq, safari, omniweb, dillo, etc, etc all get screwed if they don't pretend to be IE or netscape. That's why so many user agents are mozilla/version even if they have nothing at all to do with mozilla or netscape.
You can detect opera on the server just fine, even when its set to report as IE, it still tacks opera on the end. And no, you don't need to test for browser or version ever, for any reason, period. Idiots doing this are the entire problem. You should test "does this feature I want to use work", not test what you think the browser might be, and then assume you are right, and then assume you know what that browser can and cannot do, despite users being able to change that.
Nobody is expecting people to have computers comparable to fort knox. They are expecting them to have computers comparable to a house with a locked door. There are literally thousands of assholes out there running old, known exploitable windows/IE/outlook versions, who refuse to upgrade. When told that they can get hacked their response is "so, I have nothing important on my computer anways". Locking your door isn't hard, and that's all we expect from you, don't pretend we're asking for anything more.
No, its not actually. It has more mindshare, and hence more binary-only, proprietary software. That's it. There's no design involved there, and it has nothing to do with technical aspects. Or did you want to point out some specific technical flaws in the BSDs that the linux "if it kinda works its good enough" development model has solved?
It would be the FUD where he says there's a huge nunber of things that BSDs cannot do and linux can because of their focus on quality instead of doing things "good enough" like linux.
Theo didn't call linux users losers either, try reading the article. Linus did however spread FUD about the BSDs just recently, linux does not have any sort of moral high ground here.
He, like many people, does not use linux as his primary OS. He is just nice enough to make software that works on linux. He relied on an API that is not supposed to be changed. Do you honestly expect him to spend all his time searching changelogs of various operating systems checking to see if the developers are changing stable APIs on him? If you are going to alter the API, it would be reasonable to email people who write important software that relies on that API. And there is no reason to change the API, linux developers simply do not consider keeping an API stable to be important.
He does cdrecord, not xcdroast. And he does use open standards, that's why it works on several unix OSs. Just because linux developers make some random change does not mean its magically an "open standard", its non-standard, linux-specific behaviour. Linux making random stupid changes and not informing people who use the now altered API is entirely the fault of linux developers. If you don't like it, use an OS that doesn't do this, or complain to the linux developers who created the problem.
NetBSD kicked him out because they thought him being mean to users would scare away their userbase. OpenBSD long ago surpassed NetBSD for number of users, so maybe speaking your mind isn't the worst thing in the world huh?
OpenBSD was pretty obscure, despite everyone using openssh. As Theo has been more and more provocative, openbsd has gotten more and more publicity. The number of people using OpenBSD is WAY up in the last few years. Believe it or not, any publicity really is good publicity, and alot of people use products based on the product, not the person who made it, so people find out about openbsd because of this stuff, and then ignore this stuff and use openbsd because its good.