They shouldn't have had a problem with Vista drivers, because they should have designed it to be compatible with 2000/XP drivers. The only thing I can think of is their desire to implement "secure audio/video path" junk that is of no benefit to the user.
Um, you do realize that Vista is pushing a bunch of driver code out into user space, right? Which means that there's basically no way to keep it compatible with existing driver code? At least without requiring substantial changes to some drivers.
That kinda implies that the barrier for Linux drivers is the lack of devs willing to sign an NDA. AFAIK, that's not often the case. In fact, from what I remember hearing, there have been quite a few developers willing to sign an NDA in order to get documentation -- but manufacturers just don't want the help of the OSS community.
The problem is that those devs would still be releasing code under the GPL. Sure, they wouldn't be releasing the specs as presented by the manufacturer, but I would guess that good, maintainable driver code would be almost as good anyway to any competitors wanting to reverse engineer their product.
The sort of NDAs manufactures usually would want is probably basically entirely incompatible with OSS.
But MS wouldn't have this problem: code wouldn't be released, so only MS would see the drivers. I would say that is why MS would have the upper hand in those negotiations.
The problem with that statement is that "major release" has basically ceased to have meaning for Linux. 2.6 was first released five years ago, and there's no 2.7 or 2.8 in planning.
(And in case you're wondering, no, the kernel APIs aren't stable from 2.6.x to 2.6.x+1, at least for generic kernel modules. Maybe the subset that most device drivers usually are, but I've written a kernel module that I needed to make fairly substantial changes to when I upgraded a couple point releases.)
Isn't Microsoft supposed to be the poster child for things like this? "You can't get drivers on Linux because of NDAs, etc." If you _can_ get NDAs and you _are_ filthy rich, and would like to make a superior product, go out and DO IT. Not whine and beg.
MS at least could do it if HW vendors would cooperate, which many would. But at the same time it's not like MS could just dump money into this and have it be sustainable; maintaining drivers for all the HW out there they want to support would be an enormous effort.
Making a wild guess, I wouldn't be surprised if it'd double the cost of Windows. (I seem to remember driver code being at least about half of the size of the Linux kernel, so this guess isn't completely out there.) HW would be cheaper, but basically people who buy little and/or common hardware would be subsidizing the cost of driver development for people who got more exotic hardware. I think it makes far more sense to tie the cost of developing the driver with the HW that it's for.
Also remember the "you create a device, you write the driver, we change the API, we beg you to update all your drivers to the latest beta API, with all nifty DRMs and UACs."
There's a new version of Windows issued what, every 3 years on average? (At least now that 9x and NT have converged.) Let's see, NT 4 was late '96, 2000 was 2000, XP was 2001, Vista was very late 2006 or very early 2007. 4 versions in 10 years, so just over 3 years is about right. (Windows 7 is scheduled for late 2009 or early 2010, which is about another 3 years.) The driver model changes even less frequently. (E.g. my impression is that you can use basically the same code for 2000 and XP.)
Not only that, but the changes for Vista were largely rather for the better, with MS trying to push most drivers out into userspace (where they can't cause bluescreens).
Contrast this situation to Linux, which almost has a stated goal to NOT have a stable driver API. This works fine for them, but if what you want is a stable kernel interface Windows is about as stable as you're going to get.
No, but they do have the power to write drivers themselves (carrot)...
What? MS would have the same problem as Linux does, just to a lesser degree. HW manufactures would have to provide specs to MS, something they haven't done for Linux. The only saving grace would be that MS would be capable of signing an NDA with them.
Microsoft is only in this mess because they've been pawning that responsibility off on OEMs for years.
"You create a device, you write the driver" seems like a perfectly reasonable policy to me, at least for manufactures that don't open their specs to all.
Just as a warning, I've had to use ssh -Y instead of -X before. The failures produced basically no error message (in fact it may be that the X window just went away) so there was no clear cause; if you run into this, you could try -Y instead. Read the man page first.
'locate' is a much faster way to find files, unless they've only been recently created, and as long as the machine is on 24/7.
And as long as your home directory is mounted when updatedb is run, and indexes it, etc.
For instance, locate is useless on my school/work computer because my home directory is on a network FS that doesn't get indexed. It's very frustrating because I basically have to use find for anything I want to see.
On dos you can rename fairly intuitively, "ren *.txt *.text". On Linux, you're likely to hurt yourself and/or your files (most likely in a different order) if you try that.
There's another example that comes up fairly often for me that is substantially easier with the Windows, which is you want to search all, say, *.c files in the current directory or a subdirectory. (Ignore that you could sort of do this particular example with tags.) With the Windows way, it would be easy: grep --recursive "class Foo" *.c. (I always spell out --recursive 'cause it seems that some programs use -r and others -R, and I can never be bothered to figure out which way it is.)
With zsh, it's also sometimes easy: grep "class Foo" **/*.c. (Incidentally, ** patterns are probably the single biggest reason I use zsh.) There are two problems with this. First, you need to be using zsh, which is far from the common choice. It's often not even installed. Second, it's extremely easy to run into a "too many arguments" thing because of it.
With a relatively recent version of grep, it's also pretty easy: grep --include "*.c" --recursive "class Foo".. The command is starting to get a little long, and --include (and the converse, --exclude) must be spelled out. You also need a new enough version of grep. Your home system probably has it, but I think it hasn't been long since I didn't on my school/work computer. (I'm a grad student, it's not clear which of those it is.;-)) Finally, this is fairly specific to grep: they had to implement the --include and --exclude flags themselves. Most other programs wouldn't understand that.
If you don't have a new enough version of grep, don't have or want to use zsh, or have too many files for **/*.c to work, you have to revert to some incantation of find paired with grep. I actually don't know how to do this right, and have to look it up every time. find . -name "*.c" | xargs grep "class Foo" doesn't work, because then you have no idea what file the hits are in. (If provided only one argument it won't print the file name, and xargs will call it a bunch of times with one argument each time.) This means that, since I can never remember what the switch is, I have to open up grep's man page to find out that what I really need is -H. So the command line becomes find . -name "*.c" | xargs grep "class Foo" -H. To behave better in the face of filenames with spaces or special characters, even that is really not what you want, and you have to expand it further to find . -name "*.c" -print0 | xargs -0 grep "class Foo" -H. For something that on Windows would be grep "class Foo" *.c.
Don't get me wrong, the Unix way is better, more predictable, and more flexible; I just wanted to point out how strong the Windows benefit can be, even beyond the other "rename" example.
It's not nearly as useful or intuitive as the UNIX tab completion,...
I wouldn't say that; I suspect that you think so just because you're used to the Unix way. I've used both a lot, and I don't think that one is notably better than the other. On the whole, I would say that the Windows one actually wins out in terms of speed overall for me because if one of the first couple hits is what you want you can type rather less than you can on Linux, but never by much; by contrast, it occasionally loses very badly (if I don't type enough and it starts tab completing a ton of crap I don't want).
I think the Unix way is better, but only by a little bit (so I disagree with the "nearly" part), and don't see any reason why it should be more or less intuitive.
This could be something with my settings or shell (zsh), but I had to have the first part of that be history 0, otherwise history just prints 15 or so events.
That is pretty cool if largely useless though. Thanks.;-) (Mine are cd, ls, make, scons, svn, emacs, cat, cvs, rm, less.)
Along that line are pushd and popd. pushd <dir> changes to the specified directory and pushes it onto a stack of directories; popd changes to the directory at the top of the stack and removes it. There are commands for manipulating the directory stack but I don't know or use them.
With zsh, and I think with Bash as well, you can setopt AUTO_PUSHD and setopt PUSHD_SILENT and then cd behaves like pushd.
(Both of these commands, along with cd -, work in the Windows command interpreter too.)
I dunno about you, but I've found a fair percentage of these packages won't cut very easily with standard scissors, sometimes even if you are just trying to cut through a single layer of plastic, let alone the edges where the sides are welded together. I've even basically broken a pair of scissors trying to cut the damn things. I go for my utility knife or diagonal cutters any more.
Amazon's motive here seems like a good one, but there is no way I'm going to order items shipped in easily-identifiable, easily-opened packaging. TFA explicitly states that the mailed packages will have the standard Amazon brown box, possibly also with the vendor's name.
Many people already regard apple as the new MS bastards.
Looking just at their actions, Apple makes MS look pretty saintly, and you can imagine how hard that is to do. Only reason that it isn't like that in terms of effect is the number of machines MS has.
You might want to look into that a bit further. First, from the article that blog quoted, I think the blog is wrong about it being unconstitutional. It's just against state law -- CA law. Second, even by "state law" the article meant "constitution", the decision only applies within CA, which has stronger pro-worker laws than just about anywhere else in the US. IBM is suing in NY. So this decision probably means almost jack squat for this case.
Judging from this FAQ, "versions newer than Vista" includes Vista. In fact, even that is not a strict bound, as all versions of Server 2003 SP1 also support GPT.
(At least that's my reading. I had no idea what GPT was before this, so I could be wrong.)
Has it not occurred to you that perhaps it's because they're told from an early age that sex is bad and guns are good, and so therefore want to experiment with the taboo?
Youth is all about rebellion. Tell kids that they shouldn't do something is a surefire way to get them to want to do it.
This is dumb.
1) I definitely haven't been told that guns are good for my childhood. I've definitely been told that murder is bad. I don't want to murder. Why are people having sex to rebel but not murder to rebel?
2) People want to sex because it's helluva fun, not because it's taboo.
I'm not going to say that you're totally off base, because the forbidden aspect certainly contributes a little. It may be a noticeable factor in people saying "hey, want to try sex?" but I can almost guarantee it's almost a non-element in people continuing to have sex.
Except that, at least for me, 95% of the time it buzzes at me it's not in preface to getting a call, and I guess just part of some periodic checkin or something.
As it is, it drives me bonkers and is one of my bigger reasons for hating cell phones. Before I put my old crappy phone through the washer, I was known to throw it across the room when it would do that, both because of annoyance and because I needed to get it 10 or 15 feet away from any amplified speakers and I was too lazy to get up. If I'm wearing headphones it's also caused me to rip the headphones off my ears to avoid going deaf because it's too loud.
Yeah, but look what's happening with modern TVs. Many new TVs take a second or two to change channels, and it seems to be getting worse. I don't know what it is about them, because my decade-old TV changes almost instantly.
Advance in some ways, regress in others (even if they are less important).
Have you done any Windows Mobile programming? I ask because I'm also in the market for a phone now, and one of the desirables is programmability, though for a hobbiest stance instead of commercial. WM is appealing because, by my understanding, you can use almost the same APIs (.Net) as developing for Windows, and, with Windows Forms support in Mono, Linux too. How true is this? Is it reasonable to think that you could make a program that would run on the phone and a desktop that shares almost all code?
(In my particular case, a web program is basically right out for what I'm thinking.)
They shouldn't have had a problem with Vista drivers, because they should have designed it to be compatible with 2000/XP drivers. The only thing I can think of is their desire to implement "secure audio/video path" junk that is of no benefit to the user.
Um, you do realize that Vista is pushing a bunch of driver code out into user space, right? Which means that there's basically no way to keep it compatible with existing driver code? At least without requiring substantial changes to some drivers.
That kinda implies that the barrier for Linux drivers is the lack of devs willing to sign an NDA. AFAIK, that's not often the case. In fact, from what I remember hearing, there have been quite a few developers willing to sign an NDA in order to get documentation -- but manufacturers just don't want the help of the OSS community.
The problem is that those devs would still be releasing code under the GPL. Sure, they wouldn't be releasing the specs as presented by the manufacturer, but I would guess that good, maintainable driver code would be almost as good anyway to any competitors wanting to reverse engineer their product.
The sort of NDAs manufactures usually would want is probably basically entirely incompatible with OSS.
But MS wouldn't have this problem: code wouldn't be released, so only MS would see the drivers. I would say that is why MS would have the upper hand in those negotiations.
The problem with that statement is that "major release" has basically ceased to have meaning for Linux. 2.6 was first released five years ago, and there's no 2.7 or 2.8 in planning.
(And in case you're wondering, no, the kernel APIs aren't stable from 2.6.x to 2.6.x+1, at least for generic kernel modules. Maybe the subset that most device drivers usually are, but I've written a kernel module that I needed to make fairly substantial changes to when I upgraded a couple point releases.)
Isn't Microsoft supposed to be the poster child for things like this? "You can't get drivers on Linux because of NDAs, etc." If you _can_ get NDAs and you _are_ filthy rich, and would like to make a superior product, go out and DO IT. Not whine and beg.
MS at least could do it if HW vendors would cooperate, which many would. But at the same time it's not like MS could just dump money into this and have it be sustainable; maintaining drivers for all the HW out there they want to support would be an enormous effort.
Making a wild guess, I wouldn't be surprised if it'd double the cost of Windows. (I seem to remember driver code being at least about half of the size of the Linux kernel, so this guess isn't completely out there.) HW would be cheaper, but basically people who buy little and/or common hardware would be subsidizing the cost of driver development for people who got more exotic hardware. I think it makes far more sense to tie the cost of developing the driver with the HW that it's for.
Also remember the "you create a device, you write the driver, we change the API, we beg you to update all your drivers to the latest beta API, with all nifty DRMs and UACs."
There's a new version of Windows issued what, every 3 years on average? (At least now that 9x and NT have converged.) Let's see, NT 4 was late '96, 2000 was 2000, XP was 2001, Vista was very late 2006 or very early 2007. 4 versions in 10 years, so just over 3 years is about right. (Windows 7 is scheduled for late 2009 or early 2010, which is about another 3 years.) The driver model changes even less frequently. (E.g. my impression is that you can use basically the same code for 2000 and XP.)
Not only that, but the changes for Vista were largely rather for the better, with MS trying to push most drivers out into userspace (where they can't cause bluescreens).
Contrast this situation to Linux, which almost has a stated goal to NOT have a stable driver API. This works fine for them, but if what you want is a stable kernel interface Windows is about as stable as you're going to get.
No, but they do have the power to write drivers themselves (carrot)...
What? MS would have the same problem as Linux does, just to a lesser degree. HW manufactures would have to provide specs to MS, something they haven't done for Linux. The only saving grace would be that MS would be capable of signing an NDA with them.
Microsoft is only in this mess because they've been pawning that responsibility off on OEMs for years.
"You create a device, you write the driver" seems like a perfectly reasonable policy to me, at least for manufactures that don't open their specs to all.
Oops, my bad. I tested (read: had my friend test) pushd and popd, but not cd -.
Just as a warning, I've had to use ssh -Y instead of -X before. The failures produced basically no error message (in fact it may be that the X window just went away) so there was no clear cause; if you run into this, you could try -Y instead. Read the man page first.
'locate' is a much faster way to find files, unless they've only been recently created, and as long as the machine is on 24/7.
And as long as your home directory is mounted when updatedb is run, and indexes it, etc.
For instance, locate is useless on my school/work computer because my home directory is on a network FS that doesn't get indexed. It's very frustrating because I basically have to use find for anything I want to see.
On dos you can rename fairly intuitively, "ren *.txt *.text". On Linux, you're likely to hurt yourself and/or your files (most likely in a different order) if you try that.
There's another example that comes up fairly often for me that is substantially easier with the Windows, which is you want to search all, say, *.c files in the current directory or a subdirectory. (Ignore that you could sort of do this particular example with tags.) With the Windows way, it would be easy: grep --recursive "class Foo" *.c. (I always spell out --recursive 'cause it seems that some programs use -r and others -R, and I can never be bothered to figure out which way it is.)
With zsh, it's also sometimes easy: grep "class Foo" **/*.c. (Incidentally, ** patterns are probably the single biggest reason I use zsh.) There are two problems with this. First, you need to be using zsh, which is far from the common choice. It's often not even installed. Second, it's extremely easy to run into a "too many arguments" thing because of it.
With a relatively recent version of grep, it's also pretty easy: grep --include "*.c" --recursive "class Foo" .. The command is starting to get a little long, and --include (and the converse, --exclude) must be spelled out. You also need a new enough version of grep. Your home system probably has it, but I think it hasn't been long since I didn't on my school/work computer. (I'm a grad student, it's not clear which of those it is. ;-)) Finally, this is fairly specific to grep: they had to implement the --include and --exclude flags themselves. Most other programs wouldn't understand that.
If you don't have a new enough version of grep, don't have or want to use zsh, or have too many files for **/*.c to work, you have to revert to some incantation of find paired with grep. I actually don't know how to do this right, and have to look it up every time. find . -name "*.c" | xargs grep "class Foo" doesn't work, because then you have no idea what file the hits are in. (If provided only one argument it won't print the file name, and xargs will call it a bunch of times with one argument each time.) This means that, since I can never remember what the switch is, I have to open up grep's man page to find out that what I really need is -H. So the command line becomes find . -name "*.c" | xargs grep "class Foo" -H. To behave better in the face of filenames with spaces or special characters, even that is really not what you want, and you have to expand it further to find . -name "*.c" -print0 | xargs -0 grep "class Foo" -H. For something that on Windows would be grep "class Foo" *.c.
Don't get me wrong, the Unix way is better, more predictable, and more flexible; I just wanted to point out how strong the Windows benefit can be, even beyond the other "rename" example.
It's not nearly as useful or intuitive as the UNIX tab completion, ...
I wouldn't say that; I suspect that you think so just because you're used to the Unix way. I've used both a lot, and I don't think that one is notably better than the other. On the whole, I would say that the Windows one actually wins out in terms of speed overall for me because if one of the first couple hits is what you want you can type rather less than you can on Linux, but never by much; by contrast, it occasionally loses very badly (if I don't type enough and it starts tab completing a ton of crap I don't want).
I think the Unix way is better, but only by a little bit (so I disagree with the "nearly" part), and don't see any reason why it should be more or less intuitive.
This could be something with my settings or shell (zsh), but I had to have the first part of that be history 0, otherwise history just prints 15 or so events.
That is pretty cool if largely useless though. Thanks. ;-) (Mine are cd, ls, make, scons, svn, emacs, cat, cvs, rm, less.)
sshfs is truly pimp, but both deserve mention; AFAIK sshfs can't be used on a system where you don't have root that doesn't have FUSE installed.
Along that line are pushd and popd. pushd <dir> changes to the specified directory and pushes it onto a stack of directories; popd changes to the directory at the top of the stack and removes it. There are commands for manipulating the directory stack but I don't know or use them.
With zsh, and I think with Bash as well, you can setopt AUTO_PUSHD and setopt PUSHD_SILENT and then cd behaves like pushd.
(Both of these commands, along with cd -, work in the Windows command interpreter too.)
How many people are injured every day by packaging?
According to this article, about 200,000 in 2001. (That's about 550/day.)
Colbert had a great but brief segment a while back (0:55).
I dunno about you, but I've found a fair percentage of these packages won't cut very easily with standard scissors, sometimes even if you are just trying to cut through a single layer of plastic, let alone the edges where the sides are welded together. I've even basically broken a pair of scissors trying to cut the damn things. I go for my utility knife or diagonal cutters any more.
Amazon's motive here seems like a good one, but there is no way I'm going to order items shipped in easily-identifiable, easily-opened packaging.
TFA explicitly states that the mailed packages will have the standard Amazon brown box, possibly also with the vendor's name.
Scissors don't work for a lot of this stuff. I've actually broken a pair trying to open something in this hard plastic crap.
Many people already regard apple as the new MS bastards.
Looking just at their actions, Apple makes MS look pretty saintly, and you can imagine how hard that is to do. Only reason that it isn't like that in terms of effect is the number of machines MS has.
You might want to look into that a bit further. First, from the article that blog quoted, I think the blog is wrong about it being unconstitutional. It's just against state law -- CA law. Second, even by "state law" the article meant "constitution", the decision only applies within CA, which has stronger pro-worker laws than just about anywhere else in the US. IBM is suing in NY. So this decision probably means almost jack squat for this case.
Judging from this FAQ, "versions newer than Vista" includes Vista. In fact, even that is not a strict bound, as all versions of Server 2003 SP1 also support GPT.
(At least that's my reading. I had no idea what GPT was before this, so I could be wrong.)
Has it not occurred to you that perhaps it's because they're told from an early age that sex is bad and guns are good, and so therefore want to experiment with the taboo?
Youth is all about rebellion. Tell kids that they shouldn't do something is a surefire way to get them to want to do it.
This is dumb.
1) I definitely haven't been told that guns are good for my childhood. I've definitely been told that murder is bad. I don't want to murder. Why are people having sex to rebel but not murder to rebel?
2) People want to sex because it's helluva fun, not because it's taboo.
I'm not going to say that you're totally off base, because the forbidden aspect certainly contributes a little. It may be a noticeable factor in people saying "hey, want to try sex?" but I can almost guarantee it's almost a non-element in people continuing to have sex.
Except that, at least for me, 95% of the time it buzzes at me it's not in preface to getting a call, and I guess just part of some periodic checkin or something.
As it is, it drives me bonkers and is one of my bigger reasons for hating cell phones. Before I put my old crappy phone through the washer, I was known to throw it across the room when it would do that, both because of annoyance and because I needed to get it 10 or 15 feet away from any amplified speakers and I was too lazy to get up. If I'm wearing headphones it's also caused me to rip the headphones off my ears to avoid going deaf because it's too loud.
I despise this interference.
Why does windows let AIM install itself as a startup program without having the damn UAC complain that this is a protected area?
Presumably because it's not a protected area, any more than your .bashrc script is on Linux.
Though actually I wonder what effect putting an ACL on that registry key to prevent writing would have...
...but my TV will start in a second or two
Yeah, but look what's happening with modern TVs. Many new TVs take a second or two to change channels, and it seems to be getting worse. I don't know what it is about them, because my decade-old TV changes almost instantly.
Advance in some ways, regress in others (even if they are less important).
Have you done any Windows Mobile programming? I ask because I'm also in the market for a phone now, and one of the desirables is programmability, though for a hobbiest stance instead of commercial. WM is appealing because, by my understanding, you can use almost the same APIs (.Net) as developing for Windows, and, with Windows Forms support in Mono, Linux too. How true is this? Is it reasonable to think that you could make a program that would run on the phone and a desktop that shares almost all code?
(In my particular case, a web program is basically right out for what I'm thinking.)