And while you're spending your time figuring out why something that isn't broken works, he is coding something that you aren't coding at all.
I've worked with guys like this before. It's more like while he's heedlessly off coding the next thing, I'm trying to figure out yet another piece of his prolific yet unmaintainable code in order to do my job, or debugging yet another stack overflow that is caused by his code but crashes mine, because he didn't understand it well enough to consider a corner case. He may have gotten his part "done" faster, but it's still delaying the release. I've also worked with guys who get just as confused, just as often when they don't understand how they managed to hack something together, so they ask a colleague to take a second look at it. Guess which one most people would rather work with?
You mean other than failing to realize almost everyone places their firewalls between their LAN and the Internet, not between individual nodes on a LAN?
the assert would only fire if the right test case was constructed
Yes, but most test groups are full of highly skilled hackers who pore through the source code so they can create carefully crafted buffer overflow strings for their test cases....okay, can't even type that with a straight face.
This is an over-simplification, but take a look at the cognitive domain of Bloom's Taxonomy. It lays out 6 "levels" of learning: knowledge, comprehension, application, analysis, synthesis, and evaluation. The reason universities require classes like calculus and liberal studies for a computer science degree is they strengthen your abilities in the higher aspects of learning: analysis, synthesis, and evaluation. 2 year degree programs focus primarily on knowledge, comprehension, and application.
Does this mean those with 2 year degrees can't be competent, even exceptional programmers? Not at all. Most day to day programming work doesn't require more than application, with a little into analysis for debugging. Additionally, those with 2 year degrees are often better than university graduates in those areas for a specific toolset, because they've spent more focused effort on it. These are the people we all know with encyclopedic knowledge of APIs. They know every little detail of the standard libraries they use. They know every little compiler quirk along with its workaround. They often code faster than university graduates because they don't have to look as much up.
Ironically, it requires good evaluation skills to see the value of the top three levels of learning. The things you learn in calculus or anthropology don't help much in just applying knowledge of a specific toolset to a specific set of requirements, which is what we spend most of our time doing, but it does help tremendously in the ability to answer questions like, "Would google's new programming language be a better fit than what we're currently using for our next major project?" or "Is this the best way to implement this algorithm?" It's also beneficial when you have to teach yourself a new technology that wasn't covered in school.
Of course, there is significant overlap between the two groups, because schooling is only one factor in one's education, but that's the general difference.
I've never understood the hostility behind comments like this. What skin is it off your nose?
Even advanced users can benefit from features like these, especially if they are customizable and substitutable. Computers are supposed to automate tasks like that. Just one example: I used to have a complex system of folders to organize my email. I could find things easily, but it also required consistent effort to maintain. Now, with gmail, I can still find things just as easily, but the effort of maintaining that ease is handled for me. I may have the skills to operate a computer from the silicon on up, but that doesn't mean I don't appreciate not having to use them.
There is a contract. It's called the terms of service. By using the site you agree to that contract. The content is protected by copyright and nothing else gives you the right to download a copy for viewing on your computer. This is well-established law. You may not like the law. You may not like the contract. You may not agree with the means of entering into it. The contract may be very loosely enforced. That doesn't change your legal obligation. If you don't like it, you are perfectly within your rights to dispatch a lawyer to negotiate an individual terms of service contract that is more to your liking. You have a good chance of succeeding too, but not at the same price you're getting now. If you really believed your argument, and weren't just trying to justify your behavior, you would do just that.
one could reasonably ask why xsane should need elevated privileges
It's not really elevated privileges as much as specific privileges. It's very simple to set up a user who can scan images, but not install software, for example. It just happens that elevating your privileges using sudo is the easiest way to grant all the specific privileges.
At any rate, scanner use in Linux is mostly as you describe, with most normal users having non-admin access to them by default. I believe the exceptions are generally in the hardware that isn't identified automatically as a scanner, for whatever reason.
You're looking at it from the point of view of "what's the point of limiting access to a scanner?" That misses the big picture. The Linux/Unix way is first to set safe defaults for all devices, and then to carve out narrow exceptions. When the security policy fails, we want it to fail safe. In other words, access isn't being denied because scanner access is necessarily a security hazard, but because access to devices in general is. It's a deliberate trade off of ease of installation for security.
That's actually a good question. I can imagine Microsoft engineers asking the same question and concluding that people think sudo is a good thing, so automatic user friendly sudo everywhere is by extension a good thing. That belies a fundamental misunderstanding of what makes sudo good.
The answer is not in sudo's capabilities, but in how sudo is typically used as one tool in the context of an overall security policy. There are a select few applications that automatically prompt for privilege elevation, and those applications are carefully monitored, do the least amount possible with increased privileges, and the application developers know those apps will be run with administrator privileges and design and are held accountable for security accordingly.
There are other applications that are much easier to run with root privileges. Take xsane (scanning software) as an example. It doesn't automatically prompt for privilege elevation. It will give you a permission denied message. If you run it with sudo, it pops up a big scary warning saying proceed at your own risk. That's because in order to scan files, you need read and write access to one device, not god-like power over the entire system, and if you ask on the forums, you will be told precisely how to give xsane just the permissions it needs, and no more. If one were to be implemented, people would want the Linux version of the software in this Microsoft patent to do the same thing, not prompt for a password that opens up a ton more potential security holes.
Knowing when to use something less powerful instead of sudo is an important, pervasive, and ongoing conscious part of the "Linux sudo model." That's how it's different.
Wow. Parent and grandparent both modded insightful and both completely off base. Where to start?
Current UAVs have about 1/5th the maximum speed of current fighter jets and are purposely designed to be less maneuverable. This is to keep it as close to straight and level as possible even with problems like a sudden gust of wind. I'd be surprised if they ever momentarily pull much more than 2-3 Gs, much less a sustained > 10 Gs. The argument for UAVs has nothing to do with G forces or pilot response times or mass hysteria. They are smaller, cheaper both to purchase and operate, and safer. Most of the "piloting" consists of telling it to go to a certain set of coordinates and send back what it sees. Link latency always gets better, and the exact number is probably classified, but was initially on the order of several seconds. There is still a strong case for human fighter pilots given current technology, and there will be for the foreseeable future.
As for mass hysteria over armed flying drones, we got over that sometime between the Apollo program and the end of the cold war. While not completely immune to failure, drones cannot autonomously designate and destroy targets, and if contact is lost with human operators, there are "Return to Base" failsafes that kick in.
Self-discipline with the "what" isn't nearly as important as self-discipline with the "how much." For example, my wife comes home with a bag of double stuff oreos, one of my favorite treats. The question in my mind isn't whether I can have any or not, it's how much I can have. The answer is very rarely zero. If the answer is low for that day, like one cookie, then my next question is if it's worth it. If it's the last thing I'll be able to eat all day, and I still have a few hours to go, I'll probably decide to get something more filling like yogurt, fruit, or popcorn. That's a relatively easy decision to make because I'm choosing a better alternative to feeling hungry the rest of the day, rather than just choosing to give something up. I know if I plan a little ahead, I can easily arrange to have more than one oreo tomorrow. Other times, I just put it off until after my stomach is full, because then it's easier to eat just one. Putting it off isn't hard when you know it's only for a set and relatively short period of time.
What doesn't work is vowing to never eat chocolate again, then beating yourself up when you "slip." Eating one oreo is orders of magnitude easier than eating none, if you decide to do so beforehand and plan a good time for it. Mindless eating isn't a problem, mindlessly deciding what to eat is. Figure out how many chips are okay and only put that many by your computer, then forget about it.
Yes, I've lost nearly 100 pounds this way, eating reasonable portions of chocolate pretty much every day, and only exercising once a week or so. It can be done.
Well, it kind of is both. A whole lot of hardware is supported on Linux, and more is supported all the time. However, there's a certain set of hardware that is so poorly supported that long time Linux users never buy it, much like a windows user wouldn't buy hardware from a company that stopped releasing new drivers before Vista came out. Word spreads through the grapevine to avoid it, so you do, and eventually you sort of forget why you avoid it.
So a long time windows user tries out Linux with some (to us) bizarre hardware and we say, "Who uses that anymore? Oh yeah, long time windows users." Because we've naturally gravitated toward better supported hardware over the course of several years, and because actual improvements in hardware support together with our experience make it easier and easier to do so, our perception is that hardware support is better than it really is.
That phenomenon isn't limited to Linux users, by the way. I know a lot of Windows users who buy new printers and scanners whenever they buy a new computer because of driver issues, but think driver support is better than it is because everything currently on the shelf works great together.
Good question. I think my experience is typical. I started out with the most popular distribution at the time. For me that was Red Hat. Nowadays, it would probably be Ubuntu. There are good reasons why the most popular distro is the most popular distro. That makes it an excellent place to start.
As you work with that first distro, you find yourself dealing with certain issues. You see forum posts on slashdot, reviews on linux.com, or elsewhere that claim another distro handles your particular issues better, so the next time you would upgrade, you try the other distro out instead. Repeat ad infinitum.
I switched to Mandrake (now Mandriva) because I heard they had better driver support for desktop configurations. Then I found I was compiling a lot of stuff by hand to get the latest and greatest and solve dependency issues, so I tried out linuxfromscratch to give myself complete control and thoroughly learn Linux. I started seeing a bunch of slashdot posts that said gentoo provided the benefits of compiling your own, but automated much of the tediousness, so I tried gentoo, and actually stuck with it several years. Then I wanted a more user friendly distro with quick, easy maintenance that my wife could keep up with without my intervention on her laptop, so I tried Ubuntu, which I've stuck with for a couple years. Lately, I've been missing gentoo's lean minimalist approach and rolling releases, and have been seeing a lot of slashdot posts that praise arch linux as a good minimalist distro without all the self-compiling of gentoo, so I've downloaded that to give it a try, but still intend to keep Ubuntu on 2 of my 3 computers at home. I've tried other distros for short periods of time, but never made it more than a day or two past installation.
My point is that you don't really know what you want in a Linux distro without trying them out, but that doesn't mean you have to try every one out there in the course of your first month using Linux. I'm on my fifth distro in over ten years, about to try my sixth, and am slowly zeroing in on my exact needs. That doesn't mean I haven't been happy in general with whatever my current distro is, just that there are always tweaks possible to make it a little bit better.
I find it interesting that I landed on newbie-friendly Ubuntu after more hardcore choices like linuxfromscratch and gentoo, but I honestly don't think I would appreciate Ubuntu as much without trying the others first, and my previous experience helps me iron out the few rough edges Ubuntu has. For example, my nvidia drivers failed to upgrade seamlessly with the Karmic upgrade, but it was no problem at all for me to fix because I spent so many years doing things like that completely manually.
What to say about a bug that's disabled by default in the vast majority of Linux distributions, that was found before an exploit was in the wild, is already patched, and that the main reason people enable is to let them run windows applications? Ah gee, I don't know, I guess you got us there.
Linux distros tend to ride the bleeding edge, and therefore come bug ridden as a unintended feature.
It's possible to make extremely stable Linux distros, just not very popular. Users end up trying all sorts of hacks they don't really understand to get the latest feature in their favorite app, so distros evolved to the current balance. There's a fundamental trade off between stability and new features, and by voting with their distro choices, Linux users have made their voices clear that in general they stand farther toward the latter end of the continuum than Windows users. That doesn't mean users who crave stability don't have good options, just that stability isn't always the overriding goal.
Many people were running Windows 7 BETA stably and many are indeed RC full time even now, I can't say I've ever had the same experience, ever, with a major linux distro beta or release canidate.
Funny, I was thinking I can't say I've ever had the same experience with a Windows beta. Of course, I can honestly say that even though I've never actually run a Windows beta:-)
I guess I'm the one person whose experience actually improved with the karmic beta. I upgraded a month early in the hope of fixing a specific X bug and it has been a great improvement for me. I did have a problem with my nvidia driver upgrading, but I knew how to fix it. Worked so great on my desktop that I upgraded my laptop early too and it upgraded without a hitch.
I have an idea. Why don't they release LTS versions every two years, but support them for, say, three years on the desktop and five on the server, so you can take your time upgrading? Oh wait, that's what they already do. It's posts like these that I can never figure out if the poster is clueless or deliberately trying to mislead people. Or option 3: hubris leads him to see himself in the "bleeding edge" group of users, but he is frustrated at his inability to actually maintain a stable system with bleeding edge applications, so he lashes out at the people who know what they're doing but are "holding out" on him, relegating him to stable, albeit slightly outdated software.
OEMs use the LTS versions. My wife has one, precisely because she doesn't want her computer's OS reconfigured every 6 months, even though the other computers in the house are. Do you think she cares about what version of openoffice.org it runs, as long as security updates are current? You realize the newest MS office was released a full year before the last Ubuntu LTS release? I still haven't seen Office 2007 in person. Everyone I know with office uses 2003 or earlier, including my own workplace. That's 6 years old. You might want to rethink your conception of "most non-techie users."
I'd like something akin to Windows 2000 so I could right click a folder, share it and set the security from there.
Uh, am I missing something? I don't have any windows machines on my network to test against, but I could have sworn I'd seen something like you describe, and sure enough, right-clicking on a folder gives a "sharing options" choice, which lets me share it and set the security from there, prompting me to install the "Windows networks sharing service" since I haven't used it before. Connecting to a windows share likewise looks to be as easy as the Places->connect to server menu.
Shows what little you know about software piracy. It's the BSA that sues you for downloading Linux torrents. Well, I suppose those conga drums when you log in could be considered a recorded performance.
Yeah, he should really update his hard disk drivers so they will come out of sleep mode correctly. Who's responsible for those again? And a hardware problem that just happened to manifest the exact day he installed 7!? Even you must have a hard time believing that one.
I wouldn't have to look to find a slashdot comment saying how it's linux's fault they don't have better vendor driver support because they don't provide a stable abi like windows. Can't have it both ways, people. Either windows has a stable driver abi, or problems like the above are caused by bad drivers that just accidentally happened to work perfectly in previous versions of windows.
Don't confuse the OS with the apps. There's no reason you couldn't port flash or iTunes or the latest features of Word to Windows 3.1, especially a Windows 3.1 running on modern hardware. Obviously you'd need some new drivers, and certain things like memory addressing would be more difficult, but still doable.
Windows 7 and Windows XP both BSOD for the same reason: bad drivers. That is not a fault of the OS itself.
The fact that the driver is broken is not the fault of the OS itself. The OS so easily and frequently allowing broken drivers to take down the entire system ungracefully? You bet I'll blame the OS.
You have some interesting ideas. I especially liked the one about web interaction in pictures folders, then I thought, "I could probably do that in an evening or two with a nautilus script." My next thought was, "If I've thought of it, someone else has probably already done it." Sure enough, a quick google search turned up some ideas that I could get running with a half hour's work. Not trying to be a Linux fanboi here, I'm sure someone more familiar with windows could come up with a similar windows solution fairly quickly.
That brings up the question of if it's so easy, why isn't it in there already by default? I think it boils down to the theory that one man's feature is another man's bloat. How do you enable it for the heavy social networking users without wasting disk space or cpu cycles for everyone else?
My ideal operating system would come with a least common denominator configuration, with easily discoverable, installable, and migratable customizations, and some common profiles for those customizations. For example, social networker, gamer, office worker, photographer, laptop, administrator, and developer could all be profiles that would enable certain common customizations frequently used by those classes of users or systems.
I'm thinking along the lines of the firefox model, but system-wide. I have around 30 customizations installed to firefox, and may be the only person in the world to have that exact combination. It's just the way I like it, but someone else would find the ability to view exif tags on photos or easily use vi to edit posts to be completely useless, even wasteful.
The trick then becomes how to make the user aware of these customizations without inundating them with information. I like the greasefire model here. Yet another site is slashdotted, and I think to myself, "I wish there were a better way of opening a mirror." I right-click on an icon in the corner, and bring up a list of 46 scripts, of which the top-ranked one automatically adds links to a few well-known mirrors, which I can enable with a couple more clicks.As a user, I have no idea how that list of scripts got there, but the information is right there when I need it.
Extending that model to the entire system, imagine I have gimp open and facebook open in a web browser, then I right-click on an image in nautilus. I'd like to see an option to bring up a ranked list of nautilus customizations related to facebook or gimp or images in general. I could then choose one that lets me upload to a facebook photo album with a right-click, and one that lets me use the exif tags to rotate images to the correct orientation. If I don't have facebook currently up, I can search for it from the same interface. I don't know or care how those suggestions came to me, as long as the ones other users like me find most useful are ranked near the top. And users who aren't like me aren't going to be spammed with options to rotate images or upload to facebook every time they right-click on an image.
Gotta love these "if corporations weren't so greedy, they'd make more money" posts.
For the economically impaired, let's do the math. You're talking pricing at one fourth or one fifth the current cost. Microsoft estimates worldwide piracy at 35%, meaning approximately 1 pirated copy for every 2 licensed copies. To be revenue neutral, your pricing structure would have to result in 8 or 10 additional copies being purchased for every 2 currently licensed copies. Converting every single pirated copy in the world, even in countries like China where the government doesn't care, would only get you 10-12% of the way, and we know that's not going to happen. Around 36 million people bought a non-OEM version of vista last year. That means you're assuming 126 to 162 million additional people every year who didn't find it compelling enough to pirate it or pay the current price, but would buy it at your reduced price. Not an easy order to fill.
Not to put too fine a point on it, but my first thought upon reading your comment is that you never really "switched" in the first place, so you didn't really "switch back." I have no doubt you gave it a fair try, but I see way too many people try a system for a short time, then complain that the user experience doesn't feel right compared to an interface they've become accustomed to over more than a decade of use.
So you used someone else's money to atone for you not paying for something? Do you even hear yourself? Do you honestly think no one ever gets a job using Matlab if they didn't have the benefit of pirating it in college, and that there is no way to learn about the special toolboxes without pirating them first? It's not like a company that successful would think of letting people try out something that expensive before agreeing to purchase it. The rationalizations I see on this topic never cease to astound me.
And while you're spending your time figuring out why something that isn't broken works, he is coding something that you aren't coding at all.
I've worked with guys like this before. It's more like while he's heedlessly off coding the next thing, I'm trying to figure out yet another piece of his prolific yet unmaintainable code in order to do my job, or debugging yet another stack overflow that is caused by his code but crashes mine, because he didn't understand it well enough to consider a corner case. He may have gotten his part "done" faster, but it's still delaying the release. I've also worked with guys who get just as confused, just as often when they don't understand how they managed to hack something together, so they ask a colleague to take a second look at it. Guess which one most people would rather work with?
...but what about home users?
What, you don't have an IT staff at home?
what other "details" are equally mangled?
You mean other than failing to realize almost everyone places their firewalls between their LAN and the Internet, not between individual nodes on a LAN?
the assert would only fire if the right test case was constructed
Yes, but most test groups are full of highly skilled hackers who pore through the source code so they can create carefully crafted buffer overflow strings for their test cases....okay, can't even type that with a straight face.
This is an over-simplification, but take a look at the cognitive domain of Bloom's Taxonomy. It lays out 6 "levels" of learning: knowledge, comprehension, application, analysis, synthesis, and evaluation. The reason universities require classes like calculus and liberal studies for a computer science degree is they strengthen your abilities in the higher aspects of learning: analysis, synthesis, and evaluation. 2 year degree programs focus primarily on knowledge, comprehension, and application.
Does this mean those with 2 year degrees can't be competent, even exceptional programmers? Not at all. Most day to day programming work doesn't require more than application, with a little into analysis for debugging. Additionally, those with 2 year degrees are often better than university graduates in those areas for a specific toolset, because they've spent more focused effort on it. These are the people we all know with encyclopedic knowledge of APIs. They know every little detail of the standard libraries they use. They know every little compiler quirk along with its workaround. They often code faster than university graduates because they don't have to look as much up.
Ironically, it requires good evaluation skills to see the value of the top three levels of learning. The things you learn in calculus or anthropology don't help much in just applying knowledge of a specific toolset to a specific set of requirements, which is what we spend most of our time doing, but it does help tremendously in the ability to answer questions like, "Would google's new programming language be a better fit than what we're currently using for our next major project?" or "Is this the best way to implement this algorithm?" It's also beneficial when you have to teach yourself a new technology that wasn't covered in school.
Of course, there is significant overlap between the two groups, because schooling is only one factor in one's education, but that's the general difference.
I've never understood the hostility behind comments like this. What skin is it off your nose?
Even advanced users can benefit from features like these, especially if they are customizable and substitutable. Computers are supposed to automate tasks like that. Just one example: I used to have a complex system of folders to organize my email. I could find things easily, but it also required consistent effort to maintain. Now, with gmail, I can still find things just as easily, but the effort of maintaining that ease is handled for me. I may have the skills to operate a computer from the silicon on up, but that doesn't mean I don't appreciate not having to use them.
There is a contract. It's called the terms of service. By using the site you agree to that contract. The content is protected by copyright and nothing else gives you the right to download a copy for viewing on your computer. This is well-established law. You may not like the law. You may not like the contract. You may not agree with the means of entering into it. The contract may be very loosely enforced. That doesn't change your legal obligation. If you don't like it, you are perfectly within your rights to dispatch a lawyer to negotiate an individual terms of service contract that is more to your liking. You have a good chance of succeeding too, but not at the same price you're getting now. If you really believed your argument, and weren't just trying to justify your behavior, you would do just that.
one could reasonably ask why xsane should need elevated privileges
It's not really elevated privileges as much as specific privileges. It's very simple to set up a user who can scan images, but not install software, for example. It just happens that elevating your privileges using sudo is the easiest way to grant all the specific privileges.
At any rate, scanner use in Linux is mostly as you describe, with most normal users having non-admin access to them by default. I believe the exceptions are generally in the hardware that isn't identified automatically as a scanner, for whatever reason.
You're looking at it from the point of view of "what's the point of limiting access to a scanner?" That misses the big picture. The Linux/Unix way is first to set safe defaults for all devices, and then to carve out narrow exceptions. When the security policy fails, we want it to fail safe. In other words, access isn't being denied because scanner access is necessarily a security hazard, but because access to devices in general is. It's a deliberate trade off of ease of installation for security.
How is this different from the Linux sudo model
That's actually a good question. I can imagine Microsoft engineers asking the same question and concluding that people think sudo is a good thing, so automatic user friendly sudo everywhere is by extension a good thing. That belies a fundamental misunderstanding of what makes sudo good.
The answer is not in sudo's capabilities, but in how sudo is typically used as one tool in the context of an overall security policy. There are a select few applications that automatically prompt for privilege elevation, and those applications are carefully monitored, do the least amount possible with increased privileges, and the application developers know those apps will be run with administrator privileges and design and are held accountable for security accordingly.
There are other applications that are much easier to run with root privileges. Take xsane (scanning software) as an example. It doesn't automatically prompt for privilege elevation. It will give you a permission denied message. If you run it with sudo, it pops up a big scary warning saying proceed at your own risk. That's because in order to scan files, you need read and write access to one device, not god-like power over the entire system, and if you ask on the forums, you will be told precisely how to give xsane just the permissions it needs, and no more. If one were to be implemented, people would want the Linux version of the software in this Microsoft patent to do the same thing, not prompt for a password that opens up a ton more potential security holes.
Knowing when to use something less powerful instead of sudo is an important, pervasive, and ongoing conscious part of the "Linux sudo model." That's how it's different.
Wow. Parent and grandparent both modded insightful and both completely off base. Where to start?
Current UAVs have about 1/5th the maximum speed of current fighter jets and are purposely designed to be less maneuverable. This is to keep it as close to straight and level as possible even with problems like a sudden gust of wind. I'd be surprised if they ever momentarily pull much more than 2-3 Gs, much less a sustained > 10 Gs. The argument for UAVs has nothing to do with G forces or pilot response times or mass hysteria. They are smaller, cheaper both to purchase and operate, and safer. Most of the "piloting" consists of telling it to go to a certain set of coordinates and send back what it sees. Link latency always gets better, and the exact number is probably classified, but was initially on the order of several seconds. There is still a strong case for human fighter pilots given current technology, and there will be for the foreseeable future.
As for mass hysteria over armed flying drones, we got over that sometime between the Apollo program and the end of the cold war. While not completely immune to failure, drones cannot autonomously designate and destroy targets, and if contact is lost with human operators, there are "Return to Base" failsafes that kick in.
Self-discipline with the "what" isn't nearly as important as self-discipline with the "how much." For example, my wife comes home with a bag of double stuff oreos, one of my favorite treats. The question in my mind isn't whether I can have any or not, it's how much I can have. The answer is very rarely zero. If the answer is low for that day, like one cookie, then my next question is if it's worth it. If it's the last thing I'll be able to eat all day, and I still have a few hours to go, I'll probably decide to get something more filling like yogurt, fruit, or popcorn. That's a relatively easy decision to make because I'm choosing a better alternative to feeling hungry the rest of the day, rather than just choosing to give something up. I know if I plan a little ahead, I can easily arrange to have more than one oreo tomorrow. Other times, I just put it off until after my stomach is full, because then it's easier to eat just one. Putting it off isn't hard when you know it's only for a set and relatively short period of time.
What doesn't work is vowing to never eat chocolate again, then beating yourself up when you "slip." Eating one oreo is orders of magnitude easier than eating none, if you decide to do so beforehand and plan a good time for it. Mindless eating isn't a problem, mindlessly deciding what to eat is. Figure out how many chips are okay and only put that many by your computer, then forget about it.
Yes, I've lost nearly 100 pounds this way, eating reasonable portions of chocolate pretty much every day, and only exercising once a week or so. It can be done.
Well, it kind of is both. A whole lot of hardware is supported on Linux, and more is supported all the time. However, there's a certain set of hardware that is so poorly supported that long time Linux users never buy it, much like a windows user wouldn't buy hardware from a company that stopped releasing new drivers before Vista came out. Word spreads through the grapevine to avoid it, so you do, and eventually you sort of forget why you avoid it.
So a long time windows user tries out Linux with some (to us) bizarre hardware and we say, "Who uses that anymore? Oh yeah, long time windows users." Because we've naturally gravitated toward better supported hardware over the course of several years, and because actual improvements in hardware support together with our experience make it easier and easier to do so, our perception is that hardware support is better than it really is.
That phenomenon isn't limited to Linux users, by the way. I know a lot of Windows users who buy new printers and scanners whenever they buy a new computer because of driver issues, but think driver support is better than it is because everything currently on the shelf works great together.
Good question. I think my experience is typical. I started out with the most popular distribution at the time. For me that was Red Hat. Nowadays, it would probably be Ubuntu. There are good reasons why the most popular distro is the most popular distro. That makes it an excellent place to start.
As you work with that first distro, you find yourself dealing with certain issues. You see forum posts on slashdot, reviews on linux.com, or elsewhere that claim another distro handles your particular issues better, so the next time you would upgrade, you try the other distro out instead. Repeat ad infinitum.
I switched to Mandrake (now Mandriva) because I heard they had better driver support for desktop configurations. Then I found I was compiling a lot of stuff by hand to get the latest and greatest and solve dependency issues, so I tried out linuxfromscratch to give myself complete control and thoroughly learn Linux. I started seeing a bunch of slashdot posts that said gentoo provided the benefits of compiling your own, but automated much of the tediousness, so I tried gentoo, and actually stuck with it several years. Then I wanted a more user friendly distro with quick, easy maintenance that my wife could keep up with without my intervention on her laptop, so I tried Ubuntu, which I've stuck with for a couple years. Lately, I've been missing gentoo's lean minimalist approach and rolling releases, and have been seeing a lot of slashdot posts that praise arch linux as a good minimalist distro without all the self-compiling of gentoo, so I've downloaded that to give it a try, but still intend to keep Ubuntu on 2 of my 3 computers at home. I've tried other distros for short periods of time, but never made it more than a day or two past installation.
My point is that you don't really know what you want in a Linux distro without trying them out, but that doesn't mean you have to try every one out there in the course of your first month using Linux. I'm on my fifth distro in over ten years, about to try my sixth, and am slowly zeroing in on my exact needs. That doesn't mean I haven't been happy in general with whatever my current distro is, just that there are always tweaks possible to make it a little bit better.
I find it interesting that I landed on newbie-friendly Ubuntu after more hardcore choices like linuxfromscratch and gentoo, but I honestly don't think I would appreciate Ubuntu as much without trying the others first, and my previous experience helps me iron out the few rough edges Ubuntu has. For example, my nvidia drivers failed to upgrade seamlessly with the Karmic upgrade, but it was no problem at all for me to fix because I spent so many years doing things like that completely manually.
So, anti-Windows people? Whatcha say now? ;-)
What to say about a bug that's disabled by default in the vast majority of Linux distributions, that was found before an exploit was in the wild, is already patched, and that the main reason people enable is to let them run windows applications? Ah gee, I don't know, I guess you got us there.
Linux distros tend to ride the bleeding edge, and therefore come bug ridden as a unintended feature.
It's possible to make extremely stable Linux distros, just not very popular. Users end up trying all sorts of hacks they don't really understand to get the latest feature in their favorite app, so distros evolved to the current balance. There's a fundamental trade off between stability and new features, and by voting with their distro choices, Linux users have made their voices clear that in general they stand farther toward the latter end of the continuum than Windows users. That doesn't mean users who crave stability don't have good options, just that stability isn't always the overriding goal.
Many people were running Windows 7 BETA stably and many are indeed RC full time even now, I can't say I've ever had the same experience, ever, with a major linux distro beta or release canidate.
Funny, I was thinking I can't say I've ever had the same experience with a Windows beta. Of course, I can honestly say that even though I've never actually run a Windows beta :-)
I guess I'm the one person whose experience actually improved with the karmic beta. I upgraded a month early in the hope of fixing a specific X bug and it has been a great improvement for me. I did have a problem with my nvidia driver upgrading, but I knew how to fix it. Worked so great on my desktop that I upgraded my laptop early too and it upgraded without a hitch.
I have an idea. Why don't they release LTS versions every two years, but support them for, say, three years on the desktop and five on the server, so you can take your time upgrading? Oh wait, that's what they already do. It's posts like these that I can never figure out if the poster is clueless or deliberately trying to mislead people. Or option 3: hubris leads him to see himself in the "bleeding edge" group of users, but he is frustrated at his inability to actually maintain a stable system with bleeding edge applications, so he lashes out at the people who know what they're doing but are "holding out" on him, relegating him to stable, albeit slightly outdated software.
OEMs use the LTS versions. My wife has one, precisely because she doesn't want her computer's OS reconfigured every 6 months, even though the other computers in the house are. Do you think she cares about what version of openoffice.org it runs, as long as security updates are current? You realize the newest MS office was released a full year before the last Ubuntu LTS release? I still haven't seen Office 2007 in person. Everyone I know with office uses 2003 or earlier, including my own workplace. That's 6 years old. You might want to rethink your conception of "most non-techie users."
Uh, am I missing something? I don't have any windows machines on my network to test against, but I could have sworn I'd seen something like you describe, and sure enough, right-clicking on a folder gives a "sharing options" choice, which lets me share it and set the security from there, prompting me to install the "Windows networks sharing service" since I haven't used it before. Connecting to a windows share likewise looks to be as easy as the Places->connect to server menu.
Shows what little you know about software piracy. It's the BSA that sues you for downloading Linux torrents. Well, I suppose those conga drums when you log in could be considered a recorded performance.
Yeah, he should really update his hard disk drivers so they will come out of sleep mode correctly. Who's responsible for those again? And a hardware problem that just happened to manifest the exact day he installed 7!? Even you must have a hard time believing that one.
I wouldn't have to look to find a slashdot comment saying how it's linux's fault they don't have better vendor driver support because they don't provide a stable abi like windows. Can't have it both ways, people. Either windows has a stable driver abi, or problems like the above are caused by bad drivers that just accidentally happened to work perfectly in previous versions of windows.
Don't confuse the OS with the apps. There's no reason you couldn't port flash or iTunes or the latest features of Word to Windows 3.1, especially a Windows 3.1 running on modern hardware. Obviously you'd need some new drivers, and certain things like memory addressing would be more difficult, but still doable.
The fact that the driver is broken is not the fault of the OS itself. The OS so easily and frequently allowing broken drivers to take down the entire system ungracefully? You bet I'll blame the OS.
You have some interesting ideas. I especially liked the one about web interaction in pictures folders, then I thought, "I could probably do that in an evening or two with a nautilus script." My next thought was, "If I've thought of it, someone else has probably already done it." Sure enough, a quick google search turned up some ideas that I could get running with a half hour's work. Not trying to be a Linux fanboi here, I'm sure someone more familiar with windows could come up with a similar windows solution fairly quickly.
That brings up the question of if it's so easy, why isn't it in there already by default? I think it boils down to the theory that one man's feature is another man's bloat. How do you enable it for the heavy social networking users without wasting disk space or cpu cycles for everyone else?
My ideal operating system would come with a least common denominator configuration, with easily discoverable, installable, and migratable customizations, and some common profiles for those customizations. For example, social networker, gamer, office worker, photographer, laptop, administrator, and developer could all be profiles that would enable certain common customizations frequently used by those classes of users or systems.
I'm thinking along the lines of the firefox model, but system-wide. I have around 30 customizations installed to firefox, and may be the only person in the world to have that exact combination. It's just the way I like it, but someone else would find the ability to view exif tags on photos or easily use vi to edit posts to be completely useless, even wasteful.
The trick then becomes how to make the user aware of these customizations without inundating them with information. I like the greasefire model here. Yet another site is slashdotted, and I think to myself, "I wish there were a better way of opening a mirror." I right-click on an icon in the corner, and bring up a list of 46 scripts, of which the top-ranked one automatically adds links to a few well-known mirrors, which I can enable with a couple more clicks.As a user, I have no idea how that list of scripts got there, but the information is right there when I need it.
Extending that model to the entire system, imagine I have gimp open and facebook open in a web browser, then I right-click on an image in nautilus. I'd like to see an option to bring up a ranked list of nautilus customizations related to facebook or gimp or images in general. I could then choose one that lets me upload to a facebook photo album with a right-click, and one that lets me use the exif tags to rotate images to the correct orientation. If I don't have facebook currently up, I can search for it from the same interface. I don't know or care how those suggestions came to me, as long as the ones other users like me find most useful are ranked near the top. And users who aren't like me aren't going to be spammed with options to rotate images or upload to facebook every time they right-click on an image.
Gotta love these "if corporations weren't so greedy, they'd make more money" posts.
For the economically impaired, let's do the math. You're talking pricing at one fourth or one fifth the current cost. Microsoft estimates worldwide piracy at 35%, meaning approximately 1 pirated copy for every 2 licensed copies. To be revenue neutral, your pricing structure would have to result in 8 or 10 additional copies being purchased for every 2 currently licensed copies. Converting every single pirated copy in the world, even in countries like China where the government doesn't care, would only get you 10-12% of the way, and we know that's not going to happen. Around 36 million people bought a non-OEM version of vista last year. That means you're assuming 126 to 162 million additional people every year who didn't find it compelling enough to pirate it or pay the current price, but would buy it at your reduced price. Not an easy order to fill.
Not to put too fine a point on it, but my first thought upon reading your comment is that you never really "switched" in the first place, so you didn't really "switch back." I have no doubt you gave it a fair try, but I see way too many people try a system for a short time, then complain that the user experience doesn't feel right compared to an interface they've become accustomed to over more than a decade of use.
So you used someone else's money to atone for you not paying for something? Do you even hear yourself? Do you honestly think no one ever gets a job using Matlab if they didn't have the benefit of pirating it in college, and that there is no way to learn about the special toolboxes without pirating them first? It's not like a company that successful would think of letting people try out something that expensive before agreeing to purchase it. The rationalizations I see on this topic never cease to astound me.