Really? Really? When did they start doing that!? Given the amount of time they spent establishing the fact that their published APIs were a trap and a route to failure for anyone who might try to compete with them (see Lotus, WordPerfect, et. al), I'm really going to want a citation on that.
You're accusing them, you find evidence that they did it, especially after the application developers have always denied using a secret API. I'm not going to waste time trying to prove someone didn't do something.
You have to ask yourself why are there shortcuts? If applications can be written that can ignore the control established by the operating environment then what hope is there for even a basic level of security and stability
You ever go over the speed limit while driving? Ever take a shortcut through a parking lot? You're ignoring the control established by the operating environment. Just because you can do something, doesn't mean you should.
Windows functions call other windows functions, some are documented, some are not, the documented ones call the undocumented ones.
Here's an example:
Blinking the cursor has a routine called blinkcursor, it blinks the cursor on and off, it does this by calling functions cursoron and cursoroff. Microsoft says 'use blinkcursor to control the cursor blinking' (and they never mention the other functions), but you decide you want it to blink faster or in some pattern, so you look in the kernel and call cursoron and cursoroff directly. MS changes cursoron in the next release of Windows and your app breaks. Who is at fault? MS for not forseeing you calling cursoron directly or you for calling something MS never documented or said to use?
What, all your stuff compiles, links, runs and tests out perfect right after you type it in? You're a better coder than I, Gunga Din. Either that or you're just not ambitious enough. I know, I know, that's not what you meant, but you knew I was being somewhat hyperbolic, too.
Only on Tuesday. Ok, point taken.
Case in point: we had a team that varied from 3 to 8 engineers. Out of those, one guy was pretty much dedicated to puzzling out un- or under-documented API stuff. You know, the troll the usenet archives kind of weird crap. Serial ports in Win95/98/NT4, e.g. Apparently, there was no documented API-correct way to enumerate the installed serial ports on a PC. As I recollect, we went through the registry, attempting to parse out the COM port numbers and addresses. Depending on the windows version, and also on the type of hardware used on the system, this information could be found in one or more locations in the registry. We prioritized these, so if location A contained the info, then we ignored the info in location B, only using B if A didn't exist and so on. I figured that MS just didn't care, they wanted everyone to migrate to USB. Didn't help us and our legacy hardware -- embedded stuff intended to have a lifespan of 5-10 years, maybe more.
FYI: WMI was out in 98, you should have been able to enumerate the ports. But yes, I get the point you're trying to make, sometimes you need to resort to a hack, and hacks break across versions.
Let it go?!?!? It's the sole purpose I have real-time spell-check active!
I'm on Slashdot, I should have expected that answer.
I've basically formed the cranky opinion that MOST developers are idiots (before you guys get mad remember that the word "MOST" leaves room for exceptions, so if you don't do stupid things then you can be in the exception group). I went to school to be a developer myself (got my degree in CompSci), and still write software inhouse, and 99% of what I see done stupidly isn't even any easier to do the stupid way. I mean really how much harder is it to store a hash of a password than the real thing? It's just pure ignorance in most cases.
I have a degree in mainframe COBOL, of all things, but we learned quickly that real development is tough and requires lots of planning. (Flowcharts even!)
I liked being an Admin/Operations Manager, much less stress and I got to override the developers when they wanted to do stupid things.
I would happily use any other app, but Apple is outright insane when it comes to the touch/iphone and they insist on itunes and my wife won't let me jailbreak her ipod to get around it. So Yes, VMWare.
So it isn't that the wine project is fighting a moving target with loads of undocumented quirks that makes getting each successive version of ms office to run incredibly time consuming, but rather that they're not bothering to implement the published apis that ms discloses?
Undocumented quirks or bugs are NOT the same as an undocumented API.
If you have a function that says 'will return 0', but in reality it occasionally returns NULL, then that's a documentation problem or a bug in the function. Yes, it's a pain, an OS is complex. Emulating a complex OS is even more complex. Microsoft is not going to document quirks to improve WINE, and they shouldn't have to. Their only obligation is to try abd provide backwards compatibility via Windows compatibility settings or shims.
And every non ms app breaks due to the use of undocumented apis designed to serve what purpose?
Not every app breaks. In fact, I would say over 90% do not break. It's just that the very public ones, usually the most complex ones, tend to break.
are adobe using hidden system apis, and if they are, why? what necessitates this?
I'm guessing yes, they are. Most likely to try and save time in coding, or to make things look really different or to implement copy protection or some other feature that requires things not be done to standard. Adobe is at fault in those situations if they didn't use the documented Windows API.
Back in the day when I did Windows app development I found that every OS upgrade would break some code. I also found out that 100% of the code breaks were caused by a coding error on our part, not Microsoft.
I won't say that MS doesn't have a break list for their application departments, and I won't say that 100% of MS products follow the APIs exactly, but seriously, trial-and-error? If you're resorting to trial-and-error approaches, there's a major flaw in the app design. I can count on one hand the number of times we went off published APIs in our projects and I didn't like using them at all. (Except that one MFC function to break a string up, that was totally necessary) (j/k)
(On a side note, you put a (sic) in a Slashdot comment typo just so you could quote it? This isn't the NY Times, let it go.)
Except that Microsoft has a history of using back door APIs that are significantly more efficient than the published APIs to accelerate their own applications. No-one should be using those APIs...except for the companies that actually...you know...want to effectively COMPETE with Microsoft.
With the exception of the fact that Microsoft was proven to not use any hidden APIs in app development you're right on the money there.
(Yes, undocumented API's are used in Windows, obviously, since they are native API's to the OS and for use only by the OS, apps have no business calling them)
Repeating rumor from 1995 as a fact doesn't get you any extra points.
I had a Mac classic years ago at work. After having OS9 crash and burn for the 9billionth time, I decided to find a dedicated task that would work reliably for it. After several minutes of thinking, I found out that it was just the right weight to hold the door to the office open.
So, for those of you who think Apple shouldn't be in a business environment, I have proven you wrong.
Yeah, iTunes stays in VMWare, let it crapflood a copy of XP that it can't break out of and my wife gets to use her ipod.
For example: MS locked everyone out of the kernel in Vista x64 and Symantec (and McAfee) had a complete and total fit. Points to MS for not letting them back in, because Vista x64 is much more stable and they can't blame MS for breaking things.
I disagree, iTunes is not a very well behaved app.
Sometimes you need to get a poorly designed app out of the way for the upgrade process or it's going to screw things up or you're going to screw the app up, that's all MS wants to do with this. They didn't stop you from re-installing after the upgrade, they just don't want it there during upgrade.
In my experience, if you have a real, live system and you upgrade Windows, you can expect everything non-MS to break. Critical registry entries get deleted, DLLs go missing, directories get moved and everything goes to hell in a hand-basket.
Exactly, and you want to know why?
Microsoft follows their publised API's and published guidelines. Most other companies DO NOT. They take shortcuts to try and get things done quicker and almost always get it wrong.
If it runs on Vista, it should run on Windows 7, if it breaks, the developer fucked up.
Apple, Real, AOL, Apple, Symantec, Adobe, McAfee, IBM and Apple I'm talking about YOU. Especially Apple, ITunes is an over-engineered crapfest that touches things it shouldn't touch in the OS. (In their defense, they have gotten slightly better lately, but itunes still lives in a dedicated VM on my computer).
It doesn't depend. You don't own or have any right to the light that leaves your property.
Of course it depends, its called a reasonable expectation of privacy.
For example: You don't get to climb a tree across the street and peek in my third floor window. You don't get to aim an IR camera at my house to determine what I'm doing.
If I were to come into your home, that would violate rights. If I were to sit outside, off your property, and watch you with binoculars, that would not violate rights. To stop me from doing the latter would necessarily violate rights.
It depends, are you looking into a place where I can expect privacy?
If so, then sorry, that's not protected. You don't get to peek into my shower from 100 yards away because you have a good binocular set.
If I'm standing on my lawn, at my door, in my yard, etc.. then I don't have any expectations of privacy.
That's pretty poorly worded, can you give an example on how retaining my privacy could violate other rights? Remember, privacy doesn't apply if I commit a crime.
(This is slashdot, use a car in your example if possible)
"We hold these Truths to be self-evident, that all Men are created equal, that they are endowed by their Creator with certain unalienable Rights, that among these are Life, Liberty and the pursuit of Happiness." -Thomas Jefferson, et al, The United States Declaration of Independence
Everyone gets to figure out the creator part themselves, the rest is the underlying basis of the United States.
Note the term "among these", you'll see a repeat of that in the 9th amendment of the constitution.
No, there's tons wrong with their cards, ranging from crappy drivers to actual physical hardware incompatibilities with the sblive cards a few years back that would trash your IDE bus data.
Top that with the fact that they're a pretty scummy company with their dealings going from Aureal to Daniel_K and I think there's a good reason to avoid them.
MS pulled a smackdown on Creative. Creative cards (and drivers, especially drivers! [FU creative]) have been sucking for years.
So, new OS comes out and MS removes all the hooks that 3rd parties have been putting into the Windows sound system, instantly leveling the playing field and removing a major source of Windows instability.
One of the few times MS really did the right thing.
Once every month or so, I raise the household hot water from 120 Degrees F to 180F and flush out the dishwasher. I'm assuming 180F will pretty much kill anything after a few minutes. I'll run the shower at the same time (and steam my clothes, might as well use the steam).
Really? Really? When did they start doing that!? Given the amount of time they spent establishing the fact that their published APIs were a trap and a route to failure for anyone who might try to compete with them (see Lotus, WordPerfect, et. al), I'm really going to want a citation on that.
You're accusing them, you find evidence that they did it, especially after the application developers have always denied using a secret API. I'm not going to waste time trying to prove someone didn't do something.
You have to ask yourself why are there shortcuts? If applications can be written that can ignore the control established by the operating environment then what hope is there for even a basic level of security and stability
You ever go over the speed limit while driving? Ever take a shortcut through a parking lot? You're ignoring the control established by the operating environment. Just because you can do something, doesn't mean you should.
Windows functions call other windows functions, some are documented, some are not, the documented ones call the undocumented ones.
Here's an example:
Blinking the cursor has a routine called blinkcursor, it blinks the cursor on and off, it does this by calling functions cursoron and cursoroff. Microsoft says 'use blinkcursor to control the cursor blinking' (and they never mention the other functions), but you decide you want it to blink faster or in some pattern, so you look in the kernel and call cursoron and cursoroff directly. MS changes cursoron in the next release of Windows and your app breaks. Who is at fault? MS for not forseeing you calling cursoron directly or you for calling something MS never documented or said to use?
What, all your stuff compiles, links, runs and tests out perfect right after you type it in? You're a better coder than I, Gunga Din. Either that or you're just not ambitious enough. I know, I know, that's not what you meant, but you knew I was being somewhat hyperbolic, too.
Only on Tuesday. Ok, point taken.
Case in point: we had a team that varied from 3 to 8 engineers. Out of those, one guy was pretty much dedicated to puzzling out un- or under-documented API stuff. You know, the troll the usenet archives kind of weird crap. Serial ports in Win95/98/NT4, e.g. Apparently, there was no documented API-correct way to enumerate the installed serial ports on a PC. As I recollect, we went through the registry, attempting to parse out the COM port numbers and addresses. Depending on the windows version, and also on the type of hardware used on the system, this information could be found in one or more locations in the registry. We prioritized these, so if location A contained the info, then we ignored the info in location B, only using B if A didn't exist and so on. I figured that MS just didn't care, they wanted everyone to migrate to USB. Didn't help us and our legacy hardware -- embedded stuff intended to have a lifespan of 5-10 years, maybe more.
FYI: WMI was out in 98, you should have been able to enumerate the ports. But yes, I get the point you're trying to make, sometimes you need to resort to a hack, and hacks break across versions.
Let it go?!?!? It's the sole purpose I have real-time spell-check active!
I'm on Slashdot, I should have expected that answer.
I've basically formed the cranky opinion that MOST developers are idiots (before you guys get mad remember that the word "MOST" leaves room for exceptions, so if you don't do stupid things then you can be in the exception group). I went to school to be a developer myself (got my degree in CompSci), and still write software inhouse, and 99% of what I see done stupidly isn't even any easier to do the stupid way. I mean really how much harder is it to store a hash of a password than the real thing? It's just pure ignorance in most cases.
I have a degree in mainframe COBOL, of all things, but we learned quickly that real development is tough and requires lots of planning. (Flowcharts even!)
I liked being an Admin/Operations Manager, much less stress and I got to override the developers when they wanted to do stupid things.
I would happily use any other app, but Apple is outright insane when it comes to the touch/iphone and they insist on itunes and my wife won't let me jailbreak her ipod to get around it. So Yes, VMWare.
So it isn't that the wine project is fighting a moving target with loads of undocumented quirks that makes getting each successive version of ms office to run incredibly time consuming, but rather that they're not bothering to implement the published apis that ms discloses?
Undocumented quirks or bugs are NOT the same as an undocumented API.
If you have a function that says 'will return 0', but in reality it occasionally returns NULL, then that's a documentation problem or a bug in the function. Yes, it's a pain, an OS is complex. Emulating a complex OS is even more complex. Microsoft is not going to document quirks to improve WINE, and they shouldn't have to. Their only obligation is to try abd provide backwards compatibility via Windows compatibility settings or shims.
And every non ms app breaks due to the use of undocumented apis designed to serve what purpose?
Not every app breaks. In fact, I would say over 90% do not break. It's just that the very public ones, usually the most complex ones, tend to break.
are adobe using hidden system apis, and if they are, why? what necessitates this?
I'm guessing yes, they are. Most likely to try and save time in coding, or to make things look really different or to implement copy protection or some other feature that requires things not be done to standard. Adobe is at fault in those situations if they didn't use the documented Windows API.
Back in the day when I did Windows app development I found that every OS upgrade would break some code. I also found out that 100% of the code breaks were caused by a coding error on our part, not Microsoft.
I won't say that MS doesn't have a break list for their application departments, and I won't say that 100% of MS products follow the APIs exactly, but seriously, trial-and-error? If you're resorting to trial-and-error approaches, there's a major flaw in the app design. I can count on one hand the number of times we went off published APIs in our projects and I didn't like using them at all. (Except that one MFC function to break a string up, that was totally necessary) (j/k)
(On a side note, you put a (sic) in a Slashdot comment typo just so you could quote it? This isn't the NY Times, let it go.)
Except that Microsoft has a history of using back door APIs that are significantly more efficient than the published APIs to accelerate their own applications. No-one should be using those APIs...except for the companies that actually...you know...want to effectively COMPETE with Microsoft.
With the exception of the fact that Microsoft was proven to not use any hidden APIs in app development you're right on the money there.
(Yes, undocumented API's are used in Windows, obviously, since they are native API's to the OS and for use only by the OS, apps have no business calling them)
Repeating rumor from 1995 as a fact doesn't get you any extra points.
I had a Mac classic years ago at work. After having OS9 crash and burn for the 9billionth time, I decided to find a dedicated task that would work reliably for it. After several minutes of thinking, I found out that it was just the right weight to hold the door to the office open.
So, for those of you who think Apple shouldn't be in a business environment, I have proven you wrong.
Yeah, iTunes stays in VMWare, let it crapflood a copy of XP that it can't break out of and my wife gets to use her ipod.
And that's the problem.
For example: MS locked everyone out of the kernel in Vista x64 and Symantec (and McAfee) had a complete and total fit. Points to MS for not letting them back in, because Vista x64 is much more stable and they can't blame MS for breaking things.
I disagree, iTunes is not a very well behaved app.
Sometimes you need to get a poorly designed app out of the way for the upgrade process or it's going to screw things up or you're going to screw the app up, that's all MS wants to do with this. They didn't stop you from re-installing after the upgrade, they just don't want it there during upgrade.
In my experience, if you have a real, live system and you upgrade Windows, you can expect everything non-MS to break. Critical registry entries get deleted, DLLs go missing, directories get moved and everything goes to hell in a hand-basket.
Exactly, and you want to know why?
Microsoft follows their publised API's and published guidelines. Most other companies DO NOT. They take shortcuts to try and get things done quicker and almost always get it wrong.
If it runs on Vista, it should run on Windows 7, if it breaks, the developer fucked up.
Apple, Real, AOL, Apple, Symantec, Adobe, McAfee, IBM and Apple I'm talking about YOU. Especially Apple, ITunes is an over-engineered crapfest that touches things it shouldn't touch in the OS. (In their defense, they have gotten slightly better lately, but itunes still lives in a dedicated VM on my computer).
I'm perfectly happy with Jefferson's text.
People can decide if their creator is thier god, natural science, parents, the flying spaghetti monster, the universe, whatever.
However, the rights are endowed, not given or granted, there's a small difference.
Websters defines endowed as to provide with something freely or naturally .
The key word here is naturally, which means your rights are yours as part of being human.
You can interpret how nature was created any way you want to, but it doesn't necessarily mean that there's someone in authority giving rights.
Arguments here never end with 'hmm, I think you proved me wrong'.
Now, that would be a neat feature, admit resolution of a debate or lose karma.
It doesn't depend. You don't own or have any right to the light that leaves your property.
Of course it depends, its called a reasonable expectation of privacy.
For example:
You don't get to climb a tree across the street and peek in my third floor window.
You don't get to aim an IR camera at my house to determine what I'm doing.
If I were to come into your home, that would violate rights. If I were to sit outside, off your property, and watch you with binoculars, that would not violate rights. To stop me from doing the latter would necessarily violate rights.
It depends, are you looking into a place where I can expect privacy?
If so, then sorry, that's not protected. You don't get to peek into my shower from 100 yards away because you have a good binocular set.
If I'm standing on my lawn, at my door, in my yard, etc.. then I don't have any expectations of privacy.
That's pretty poorly worded, can you give an example on how retaining my privacy could violate other rights? Remember, privacy doesn't apply if I commit a crime.
(This is slashdot, use a car in your example if possible)
Of course it is, you have no business into my private life unless I either permit you access to the information or I violate the law.
"We hold these Truths to be self-evident, that all Men are created equal, that they are endowed by their Creator with certain unalienable Rights, that among these are Life, Liberty and the pursuit of Happiness." -Thomas Jefferson, et al, The United States Declaration of Independence
Everyone gets to figure out the creator part themselves, the rest is the underlying basis of the United States.
Note the term "among these", you'll see a repeat of that in the 9th amendment of the constitution.
Privacy is an unalienable right.
Corporations, however, are not, therefore, we can do what we want to them.
No, there's tons wrong with their cards, ranging from crappy drivers to actual physical hardware incompatibilities with the sblive cards a few years back that would trash your IDE bus data.
Top that with the fact that they're a pretty scummy company with their dealings going from Aureal to Daniel_K and I think there's a good reason to avoid them.
MS pulled a smackdown on Creative. Creative cards (and drivers, especially drivers! [FU creative]) have been sucking for years.
So, new OS comes out and MS removes all the hooks that 3rd parties have been putting into the Windows sound system, instantly leveling the playing field and removing a major source of Windows instability.
One of the few times MS really did the right thing.
U.S. government works are automatically public domain. Shouldn't state government materials be the same way?
If the state takes money from the federal government to help produce this stuff, then yes, it should be.
Once every month or so, I raise the household hot water from 120 Degrees F to 180F and flush out the dishwasher. I'm assuming 180F will pretty much kill anything after a few minutes. I'll run the shower at the same time (and steam my clothes, might as well use the steam).
Well, Server 2003 was released a year later and is 5.2, vs XP 5.1 but seriously, I think the stack changes could be backported.