Just to nitpick the first point, ARC apps run inside the NaCl sandbox so there's no potential for harming the strong security model in ChromeOS
HN user
4thjuly
Although it makes it much more comfortable to wear.
As others have said this is really a source control problem but still there's a workaround. Just copy the production dll and use .Net Reflector (or similar) to decompile it back in to C#. Make your edits, recompile and upload.
I wasn't involved so don't know first hand but suspect the gory details were discussed by everyone in the working group. http://lists.w3.org/Archives/Public/www-style/. Or were you being sarcastic? ;)
That's why I put 'private' in quotes. Given a decent debugger, nothing is strictly private but then it's a meaningless distinction. Perhaps there's a better term for APIs you can technically call but will get your app kicked out of the store for TOS violation? I think 'private' makes sense but I'm happy to use whatever term you think is reasonable.
As for 'internal OS DLLs' I think it's subjective as to whether those APIs have any use outside of OS components (and indeed what constitutes an 'OS component'). I happen to think there's some really useful stuff in there. Anyway, I only brought it up to highlight that there are some things Microsoft has decided we can't use for whatever reason. Again, I think it's reasonable to consider them 'private', non-public, internal. I'm not saying any of this is good\bad or that they shouldn't have the right to do this sort of thing. Just that it exists.
As for AARD, technically it did 'ship' as the code was included in Win3.1 but was benign thanks to a runtime flag. Even in beta form it highlights that this sort of thing, relying on undocumented behavior, has been used at Microsoft for a very long time. Perhaps it's an insignificant example but it did cost them close to $300M in a settlement so seemed pretty relevant to me.
Anyway, I shall leave it to other readers to decide if any of this constitutes evidence of so-called private APIs by Microsoft.
Thanks.
For recent examples I was thinking specifically about the Windows.Networking.NetworkOperators APIs and such. These APIs are 'private' to network operators. If you try to use them from a regular app then you'll be kicked out of the store.
Or search msdn for "This API is not intended to be used directly from your code" for examples of other APIs that are 'private' to Microsoft and will similarly get you booted.
Going back in time, there were (still are) a great many dlls and services in Windows with unnamed exports and not available to the general public (eg win32k, csrss, milcore etc).
Go back to the dark ages and as others have already mentioned there's the famous AARD example that used undocumented DOS data structures to distinguish MS-DOS from other variants.
Like I said, nothing new.
Exactly, Microsoft already does something similar by reserving some of their APIs for their own use. There are others that are available to some (eg the carriers) but nobody else.
It's nothing new, they have had so-called 'private' APIs since the early days of Windows.