No, but I have conjecture and anecdotes. Those are types of statistics.
Back when XP came out, I distinctly remember disrespecting people at work who went out to buy it. But many of them were thrilled with it, mostly for the "user-land" applications. One guy told me he was excited because it had CD burning built in to the OS and had actually got a CD burner bundled with his purchase. Another was excited by the prospect of XP's driver backoff (which, incidentally, does the same thing I did in 2000 for years...copies the current hardware profile before making a change).
At that point I realized that the world of commodity computing and the world of consumer computing were completely unrelated. True, they had spent more money that I did for the same results. But they also spent a few hundred hours less time researching them. Many of these people don't go home and browse slashdot for three hours a night, and instead fuck their wives, go bowling, etc.
Why should you be skeptical of advertising merely because products get better over time?
There are plenty of REAL reasons to dislike advertising (such as the fact that it caters to the least common denominater, is overly self important and rarely tells you what you REALLY need to know when evaluating a product or service, instead misleading you with empty statistics such as how popular something is or how many awards it's gotten in advertiser supported magazines). But you can't blame ADVERTISERS for the fact that, someday, a better product may be made. Their job is to inform you of the product that exists RIGHT NOW -- and if the 1973 Corvair was the best Corvair ever made, they're be right to say so, even though it's an extremely shitty car.
Is this a rip off? I dunno. If I need to buy a car, I don't really care that a better one will be available in ten years. I might like to know which is the best car right now. And certainly, since I'm going to be test driving it, I'll be in a prime position to judge for myself whether the car is sufficiently "ultimate" to meet my exacting standards.
Personally, I don't think it's possible for a company to rip you off. People rip themselves off by placing impractical expectations on products with minimal research. Advertisers merely take advantage of that; they make things out to be useful, because they're trying to sell you something. Sneaky, yes, but I don't know why you feel the need to take their word at face value when you KNOW they'd benefit by not telling you the defects.
But I guess in a world where people believe that the world is less than ten thousand years old because some guy who died SIX thousand years ago says a ghost told him that, you can't expect a whole lot of logic. After all, if people can base their whole worldview on wild, unsubstantiated claims, how do you think they're going to evaluate what brand of facial tissue to purchase?
I've noticed that the key to being a proponent of XP is to ignore MOST of the tenets of XP. AS a whole, it's a stupid philosophy, but it has ideas that are quite brilliant. Pairs coding is one of them; it's especially effective when both of you are learning something for the first time. Establishing a contact who will actually use the software is good, too...my boss thought I was crazy when I asked to personally gather requirements for my last app, as opposed to having a product manager do it, like the other guys did. But my project has been very well received and has had no enhancement requests yet...and it only took about 6 hours of time to meet with three customers.
On the other hand, the guy I used to work with was at least a 20 year veteran who was my complete opposite. Whereas I wanted to innovate and make the program intuitive and pretty, he wanted somebody to tell him exactly what to do and wanted to do it whether it worked or didn't. Whereas I believed source control to be a tool to maintain a semi-official development release that was stable and working, he believed in checking in all source code, even if it included stuff that didn't work. Whereas I believe that mistakes are made and should be forgiven, he took every fat finger as a sign of incompetence. And while I believed that the code base was OURS since we all contributed to it, he believed that once you wrote something it was YOURS and nobody else could touch it. Which is amazingly stupid, since it implies that I would have to have him stop what he was doing to fix any problem I found in his APIs, which I wasn't about to do even though he had no trouble pressuring me to add things into MY code that helped him.
Needless to say, what little pairs programming we did has caused me to swear off of it forever. It was something like You were very lucky.
Why wouldn't it be? Back in the day, 8 man teams were stringing together different pieces of hardware with software. Now, we're stringing together difference pieces of software to create software packages. The complexity hasn't changed...because as software became abstracted, people began expecting more of it for their software dollar. In 1964, all people expected from an operating system was file operations and maybe some time slicing. Now, an OS better have a robust suite of networking tools and an MP3 player if it intends to compete. This is why so many people upgraded to XP, despite it being a mere evolutionary improvement over Windows 2000. It absorbed into the OS functions had previously been the auspice of the third party, and in doing so, (theoretically) streamlined them.
It's no different than any other consumer market. Cars come with standard options that were top end ten years ago. What's top end now is pretty far removed from "just being a car," stuff like DVD navigation systems, radar nightvision and dynamic suspension systems. In another ten years, some of these will be standard on all cars, and what's top-of-the-line will be something that seems obscene and unnecessary to us right now.
It's government. People who have power also have friends and they're going to try to help them out because that's human nature. The result is graft. But I'll take $2.25 billion in school graft that MAY have put internet into the hands of kids over $100 billion in reach around contracts to private industry rebuild a country we fucking broke in the first place, or $400+ billion in defense contracts that indemnify the contractors, allowing them to build shoddy merchandise and still get paid regularly for the length of the contract.
If I needed an automatic 3d laptop, I'd have to say that's a damned good price. Companies regularly charge $10k plus for 3d screens alone...this is the whole lappy for a third of that.
However, I don't need an automatic 3d laptop, and my Powerbook is too expensive at half that. So, it's all in perception.
Incidentally, after seeing some of the Liebermann laptops, this isn't even all that expensive.
Wow, look at all the different ways you can access a command line interface! My question is, where's the article on how to start fires with two sticks? Where's the article on different shapes for the wheel? And how about Domesticating the Dog in a Nutshell?
Seriously, I think it's really quite sad that the CLI is still around twenty years after the Macintosh showed it wasn't necessary. I think it's even more sad that MY Macintosh HAS a CLI. There is no reason why visual scripting has to be apocryphal, hard to write, and less powerful than piping text into other text using text switches on text files.
If you look in to how many people actually settle idiotic lawsuits like you are suggesting, versus how many have won countersuits, you will be pleasantly surprised at how ineffective these patents are. Patents, to be enforcable, must be extremely precise and the type of infringement must also be blatant. If you patent "a way to think up language," and I create English, your lawsuit will probably be thrown out.
The whole reason we have a system of checks and balances in this country is that sometimes, the checks don't work. Luckily, the balances are there to pick up the pieces.
The semi colon only signifies the end of an independent clause; since a clause in computing includes things NOT demarcated by semi colons, such as the start of an iteration, it's only a MOSTLY good idea.
Not so logical -- a CR/LF pair ALWAYS translates into a new line. On systems where vertical presentation height is limited (say, on my widescreen laptop) it may be preferrable to perform more than one statement per line to get more actual code on the screen. This isn't to be overused, of course...but it you add the same thing to five differen variables, a+=1;b+=1;c+=1;d+=1;e+=1; is a pretty handy way to do it.
Ah, so then the section of the brain that permits the complex symbolic associations that lead to the adoption of language is just a biochemical version of OpenFirmware. Brilliant!
Well, the problem is that the semi-colon is a completely arbitrary choice. And like all arbitrary choices, the only reason to continue using it is tradition. Since most of the people creating new languages are doing so to stir up tradition and do something in a way, a lot of the time the semicolon hits the cutting room floor for purely symbolic, rebellious reasons. The computer science equivalent of growing your hair out or piercing your eyebrow.
This is how we end up with completely inscruitable languages like Visual Basic. BASIC was designed to not look like a programming language and instead look like an English sentance. When we removed the line numbers, the end of a line signified the end of a statement. Of course, adding object oriented syntax to Basic made it even more apocryphal, and we ended up with the mess we have today. We can't change it, because if we did than older stuff wouldn't work. Besides, if you want to use VB with a better syntax, you can just use C# (which is either C++ without the hassles of memory management, pointers or header files or Java without the hassles of explicit declaration of exception handling, separate Get and Set methods for properties, or cross platform execution).
It's a pretty good language, really. Sort of esoteric and the syntax can be inscruitable at times, but you can really get some shit accomplished with it.
Like I said, it's nothing Javadocs can't do, I find the XML-like reference a bit more intuitive, but what's great is the granularity of this context. If I have this:
///<summary> /// Foo ///</summary> ///<param name="charlie">bar</param> ///<return&g t;A reference to Foobar</return> public Object AppendFoo(Object bar) ...
the code complete tooltip shows the summary field (foo) when you highlight the method's name, the param description (bar) when you open the parenthesis to start writing the call, and it displays the value returned "A reference to Foobar" when you mouseover the object call itself. Thus, you have all the contextual information pertaining to the method right in front of you AS you are coding without a huge scroll to read through. 95% of the time, this contextual information is enough for me to figure out how a new object works without having to go to the docs at all.
You can also add comments to individual enumerated values in an enum. Want to know what SYSTYPES.XCORSYS really means, or what its scalar value is? Put it in the docs.
Look, I've written somewhat complex projects in both Open Source and Windows. I'll take Windows any day of the week. Any time I have looked at the source of of a program, it was because either the program didn't work, or wasn't well documented. In short, because the program was half assed. I have never pined for the ability to read the source of the SQL Server JDBC driver, because I have never called a method and had it return true when it obviously didn't do anything. I suspect even if that did happen, I would not open the source to find that the entire method had been commented out by somebody who had started to refactor it, and then gave up.
Testing, documenting and repairing JDBC drivers is not what I do. I write client-server apps. I don't know a whole lot about driver configurations or socket communications, because I am more concerned with the structure of the data moving down the pipe than the structure of the pipe itself. You may want to view datapaths end to end and put debug code in the middle of a perfectly fine API call, but I'd rather concentrate on something I cared about and leave fixing the API to somebody who got paid to do eactly that.
And it's not like I'm not a connsumate do it yourselfer. I rebuild cars in my spare time. The reason I have so much spare time is that I don't have to fix the framework I'm writing on...
Right. That's one of the reasons I prefer working with Microsoft products where I can (basically whenever the OS is guaranteed to be Windows) -- Microsoft's docs are really, really good and the community is very friendly towards stupid questions. Frequently I'll find open source projects that don't even tell you how to compile the latest version correctly, let alone tell you the syntax of everything or the proper order of initialization.
Sun's pretty good, too...before.NET, Javadocs were the shit. But Microsoft takes it a step beyond and integrated documentation of methods with their code completion system as well as with the inline documentation of methods in C# comments (use three slashes instead of two and you enter XML documentation mode which is slightly more intuitive than javadocs). I can add a new method to our data layer and not have to announce what it does to the rest of the team...which saves some email time.
Oh, and I like Apple's development docs, because they're always in nice detailed PDF files full of errata, examples, war stories, and explanations of Why It Is Like This.
It may have been part of the trial, I don't remember. But if it was, it was a stupid part of it. API "helper" sites have delved so deep into the poking of Windows code that some of them know what's going on better than Microsoft coders themselves. A lot of whiz kids program on the Windows platform, didn't you know, and these guys love to hack as much as any Lunix user. They post their results and tools for exploiting them to websites and newsgroups...the AllApi network was what I used back when I was learning VB; it was tight.
There are tons of "hidden" and undocumented parts of the API, but generally they are hidden or undocumented for a reason. Some are deprecated. Some don't really work universally or have obscure side effects. Some are just so inscruitable and dangerous you should know what you're doing before you poke at them. In.NET, for example, there are a lot of methods marked as "unbrowsable," so they don't show up in the API docs nor in the code complete window. In my experience, calling these methods generally leads to trouble or just doesn't work. So, aside from a few that relate to scroll wheel activity, I stay away from them. After all, I hope someday to move our projects to MONO and the fewer obscure methods and P/Invoke calls I make, the better.
If I remember, the claim was that these hidden methods made programs run faster. That's not entirely true...they may have sped up certain operations, but at the expense of reliability. Microsoft doesn't have to worry about reliability in these methods, because if something doesn't work they can just have the team in charge of that method secure their shit. That's a bit harder for the rest of us...so it's best we steer clear. I suppose it's cheating not to let us use nitros in our engines, but I'd rather keep my head gasket attached to the block, you know?
No, what it will usher in is a new wave of whining when companies go with some proprietary method of mesh compression instead of whatever compression is eventually developed by the Ogg team.
I'm not a system admin. If I were, I might occasionally have to invent a problem so I look important. Instead, I am a programmer who also administrates 25 machines in a small company. Two years, two hours a month, no viruses whatsoever and hardly any spam. When a new patch comes out, we install it IMMEDIATELY on two machines: the development server, and the machine of the smartest tech support guy. If problems don't show up in a day or so of hard use, we push them out to the rest of the company, a process which takes about ten minutes since everybody knows how to use automatic updates.
I am well aware of some of Microsoft's long standing vulnerabilities, such as buffer overflows with bitmaps in IE 5. You will notice that none of them have yet been used to any non-trivial effect by virus writers. This is because they are entirely academic. A virus which requires you to jump through hoops with obscure software will not spread and therefore it's worthless. I don't care. I don't understand why you do, either. You could break into my house if you broke a window. I don't consider my windows an "unpatched vulnerability."
No, but I have conjecture and anecdotes. Those are types of statistics.
Back when XP came out, I distinctly remember disrespecting people at work who went out to buy it. But many of them were thrilled with it, mostly for the "user-land" applications. One guy told me he was excited because it had CD burning built in to the OS and had actually got a CD burner bundled with his purchase. Another was excited by the prospect of XP's driver backoff (which, incidentally, does the same thing I did in 2000 for years...copies the current hardware profile before making a change).
At that point I realized that the world of commodity computing and the world of consumer computing were completely unrelated. True, they had spent more money that I did for the same results. But they also spent a few hundred hours less time researching them. Many of these people don't go home and browse slashdot for three hours a night, and instead fuck their wives, go bowling, etc.
Why should you be skeptical of advertising merely because products get better over time?
There are plenty of REAL reasons to dislike advertising (such as the fact that it caters to the least common denominater, is overly self important and rarely tells you what you REALLY need to know when evaluating a product or service, instead misleading you with empty statistics such as how popular something is or how many awards it's gotten in advertiser supported magazines). But you can't blame ADVERTISERS for the fact that, someday, a better product may be made. Their job is to inform you of the product that exists RIGHT NOW -- and if the 1973 Corvair was the best Corvair ever made, they're be right to say so, even though it's an extremely shitty car.
Is this a rip off? I dunno. If I need to buy a car, I don't really care that a better one will be available in ten years. I might like to know which is the best car right now. And certainly, since I'm going to be test driving it, I'll be in a prime position to judge for myself whether the car is sufficiently "ultimate" to meet my exacting standards.
Personally, I don't think it's possible for a company to rip you off. People rip themselves off by placing impractical expectations on products with minimal research. Advertisers merely take advantage of that; they make things out to be useful, because they're trying to sell you something. Sneaky, yes, but I don't know why you feel the need to take their word at face value when you KNOW they'd benefit by not telling you the defects.
But I guess in a world where people believe that the world is less than ten thousand years old because some guy who died SIX thousand years ago says a ghost told him that, you can't expect a whole lot of logic. After all, if people can base their whole worldview on wild, unsubstantiated claims, how do you think they're going to evaluate what brand of facial tissue to purchase?
Option 2:
Rip it using iTunes on a Mac. That's how I got MINE on my iPod. It seems the copy protection doesn't fool iTunes nor my Superdrive.
I've noticed that the key to being a proponent of XP is to ignore MOST of the tenets of XP. AS a whole, it's a stupid philosophy, but it has ideas that are quite brilliant. Pairs coding is one of them; it's especially effective when both of you are learning something for the first time. Establishing a contact who will actually use the software is good, too...my boss thought I was crazy when I asked to personally gather requirements for my last app, as opposed to having a product manager do it, like the other guys did. But my project has been very well received and has had no enhancement requests yet...and it only took about 6 hours of time to meet with three customers.
On the other hand, the guy I used to work with was at least a 20 year veteran who was my complete opposite. Whereas I wanted to innovate and make the program intuitive and pretty, he wanted somebody to tell him exactly what to do and wanted to do it whether it worked or didn't. Whereas I believed source control to be a tool to maintain a semi-official development release that was stable and working, he believed in checking in all source code, even if it included stuff that didn't work. Whereas I believe that mistakes are made and should be forgiven, he took every fat finger as a sign of incompetence. And while I believed that the code base was OURS since we all contributed to it, he believed that once you wrote something it was YOURS and nobody else could touch it. Which is amazingly stupid, since it implies that I would have to have him stop what he was doing to fix any problem I found in his APIs, which I wasn't about to do even though he had no trouble pressuring me to add things into MY code that helped him.
Needless to say, what little pairs programming we did has caused me to swear off of it forever. It was something like You were very lucky.
Incidentally, the Second System Effect definitely still applies, although it should be renamed to "The Second API effect."
Version 1.2 of my current API is virtually unusable, and I'm embarrassed that I didn't catch myself in the middle of said effect.
Why wouldn't it be? Back in the day, 8 man teams were stringing together different pieces of hardware with software. Now, we're stringing together difference pieces of software to create software packages. The complexity hasn't changed...because as software became abstracted, people began expecting more of it for their software dollar. In 1964, all people expected from an operating system was file operations and maybe some time slicing. Now, an OS better have a robust suite of networking tools and an MP3 player if it intends to compete. This is why so many people upgraded to XP, despite it being a mere evolutionary improvement over Windows 2000. It absorbed into the OS functions had previously been the auspice of the third party, and in doing so, (theoretically) streamlined them.
It's no different than any other consumer market. Cars come with standard options that were top end ten years ago. What's top end now is pretty far removed from "just being a car," stuff like DVD navigation systems, radar nightvision and dynamic suspension systems. In another ten years, some of these will be standard on all cars, and what's top-of-the-line will be something that seems obscene and unnecessary to us right now.
It's government. People who have power also have friends and they're going to try to help them out because that's human nature. The result is graft. But I'll take $2.25 billion in school graft that MAY have put internet into the hands of kids over $100 billion in reach around contracts to private industry rebuild a country we fucking broke in the first place, or $400+ billion in defense contracts that indemnify the contractors, allowing them to build shoddy merchandise and still get paid regularly for the length of the contract.
If I needed an automatic 3d laptop, I'd have to say that's a damned good price. Companies regularly charge $10k plus for 3d screens alone...this is the whole lappy for a third of that.
However, I don't need an automatic 3d laptop, and my Powerbook is too expensive at half that. So, it's all in perception.
Incidentally, after seeing some of the Liebermann laptops, this isn't even all that expensive.
Well, back in the 17th century, a country called "Britain" issued commands to their infrastructure in English and damn near took over the world.
Wow, look at all the different ways you can access a command line interface! My question is, where's the article on how to start fires with two sticks? Where's the article on different shapes for the wheel? And how about Domesticating the Dog in a Nutshell?
Seriously, I think it's really quite sad that the CLI is still around twenty years after the Macintosh showed it wasn't necessary. I think it's even more sad that MY Macintosh HAS a CLI. There is no reason why visual scripting has to be apocryphal, hard to write, and less powerful than piping text into other text using text switches on text files.
It would look like non-obfuscated Perl code.
If you look in to how many people actually settle idiotic lawsuits like you are suggesting, versus how many have won countersuits, you will be pleasantly surprised at how ineffective these patents are. Patents, to be enforcable, must be extremely precise and the type of infringement must also be blatant. If you patent "a way to think up language," and I create English, your lawsuit will probably be thrown out.
The whole reason we have a system of checks and balances in this country is that sometimes, the checks don't work. Luckily, the balances are there to pick up the pieces.
The semi colon only signifies the end of an independent clause; since a clause in computing includes things NOT demarcated by semi colons, such as the start of an iteration, it's only a MOSTLY good idea.
Not so logical -- a CR/LF pair ALWAYS translates into a new line. On systems where vertical presentation height is limited (say, on my widescreen laptop) it may be preferrable to perform more than one statement per line to get more actual code on the screen. This isn't to be overused, of course...but it you add the same thing to five differen variables, a+=1;b+=1;c+=1;d+=1;e+=1; is a pretty handy way to do it.
Ah, so then the section of the brain that permits the complex symbolic associations that lead to the adoption of language is just a biochemical version of OpenFirmware. Brilliant!
Well, the problem is that the semi-colon is a completely arbitrary choice. And like all arbitrary choices, the only reason to continue using it is tradition. Since most of the people creating new languages are doing so to stir up tradition and do something in a way, a lot of the time the semicolon hits the cutting room floor for purely symbolic, rebellious reasons. The computer science equivalent of growing your hair out or piercing your eyebrow.
This is how we end up with completely inscruitable languages like Visual Basic. BASIC was designed to not look like a programming language and instead look like an English sentance. When we removed the line numbers, the end of a line signified the end of a statement. Of course, adding object oriented syntax to Basic made it even more apocryphal, and we ended up with the mess we have today. We can't change it, because if we did than older stuff wouldn't work. Besides, if you want to use VB with a better syntax, you can just use C# (which is either C++ without the hassles of memory management, pointers or header files or Java without the hassles of explicit declaration of exception handling, separate Get and Set methods for properties, or cross platform execution).
They also mixed Logo II, which introduced swatchs of BASIC into Logo itself (even the line numbers!)
It was loading animal sprites and making them dance in Logo II that taught me how to program at the age of 8.
Oh what, you mean like ENGLISH?
It's a pretty good language, really. Sort of esoteric and the syntax can be inscruitable at times, but you can really get some shit accomplished with it.
You can also add comments to individual enumerated values in an enum. Want to know what SYSTYPES.XCORSYS really means, or what its scalar value is? Put it in the docs.
Look, I've written somewhat complex projects in both Open Source and Windows. I'll take Windows any day of the week. Any time I have looked at the source of of a program, it was because either the program didn't work, or wasn't well documented. In short, because the program was half assed. I have never pined for the ability to read the source of the SQL Server JDBC driver, because I have never called a method and had it return true when it obviously didn't do anything. I suspect even if that did happen, I would not open the source to find that the entire method had been commented out by somebody who had started to refactor it, and then gave up.
Testing, documenting and repairing JDBC drivers is not what I do. I write client-server apps. I don't know a whole lot about driver configurations or socket communications, because I am more concerned with the structure of the data moving down the pipe than the structure of the pipe itself. You may want to view datapaths end to end and put debug code in the middle of a perfectly fine API call, but I'd rather concentrate on something I cared about and leave fixing the API to somebody who got paid to do eactly that.
And it's not like I'm not a connsumate do it yourselfer. I rebuild cars in my spare time. The reason I have so much spare time is that I don't have to fix the framework I'm writing on...
Right. That's one of the reasons I prefer working with Microsoft products where I can (basically whenever the OS is guaranteed to be Windows) -- Microsoft's docs are really, really good and the community is very friendly towards stupid questions. Frequently I'll find open source projects that don't even tell you how to compile the latest version correctly, let alone tell you the syntax of everything or the proper order of initialization.
.NET, Javadocs were the shit. But Microsoft takes it a step beyond and integrated documentation of methods with their code completion system as well as with the inline documentation of methods in C# comments
Sun's pretty good, too...before
(use three slashes instead of two and you enter XML documentation mode which is slightly more intuitive than javadocs). I can add a new method to our data layer and not have to announce what it does to the rest of the team...which saves some email time.
Oh, and I like Apple's development docs, because they're always in nice detailed PDF files full of errata, examples, war stories, and explanations of Why It Is Like This.
It may have been part of the trial, I don't remember. But if it was, it was a stupid part of it. API "helper" sites have delved so deep into the poking of Windows code that some of them know what's going on better than Microsoft coders themselves. A lot of whiz kids program on the Windows platform, didn't you know, and these guys love to hack as much as any Lunix user. They post their results and tools for exploiting them to websites and newsgroups...the AllApi network was what I used back when I was learning VB; it was tight.
.NET, for example, there are a lot of methods marked as "unbrowsable," so they don't show up in the API docs nor in the code complete window. In my experience, calling these methods generally leads to trouble or just doesn't work. So, aside from a few that relate to scroll wheel activity, I stay away from them. After all, I hope someday to move our projects to MONO and the fewer obscure methods and P/Invoke calls I make, the better.
There are tons of "hidden" and undocumented parts of the API, but generally they are hidden or undocumented for a reason. Some are deprecated. Some don't really work universally or have obscure side effects. Some are just so inscruitable and dangerous you should know what you're doing before you poke at them. In
If I remember, the claim was that these hidden methods made programs run faster. That's not entirely true...they may have sped up certain operations, but at the expense of reliability. Microsoft doesn't have to worry about reliability in these methods, because if something doesn't work they can just have the team in charge of that method secure their shit. That's a bit harder for the rest of us...so it's best we steer clear. I suppose it's cheating not to let us use nitros in our engines, but I'd rather keep my head gasket attached to the block, you know?
No, what it will usher in is a new wave of whining when companies go with some proprietary method of mesh compression instead of whatever compression is eventually developed by the Ogg team.
I'm not a system admin. If I were, I might occasionally have to invent a problem so I look important. Instead, I am a programmer who also administrates 25 machines in a small company. Two years, two hours a month, no viruses whatsoever and hardly any spam. When a new patch comes out, we install it IMMEDIATELY on two machines: the development server, and the machine of the smartest tech support guy. If problems don't show up in a day or so of hard use, we push them out to the rest of the company, a process which takes about ten minutes since everybody knows how to use automatic updates.
I am well aware of some of Microsoft's long standing vulnerabilities, such as buffer overflows with bitmaps in IE 5. You will notice that none of them have yet been used to any non-trivial effect by virus writers. This is because they are entirely academic. A virus which requires you to jump through hoops with obscure software will not spread and therefore it's worthless. I don't care. I don't understand why you do, either. You could break into my house if you broke a window. I don't consider my windows an "unpatched vulnerability."