There are many anti-trust exhibits and other articles on the MS OS/2 2.0 fiasco and how it went from the original SDK released at the end of 1989 to "Microsoft Munchkins" and other unethical attacks that was worse than the Joint Development Agreement between IBM and Microsoft (where they worked on OS/2 together) ever was. This fiasco is part of why it took 10 years after Intel introduced the 386 before 32-bit programming became popular.
But one of my favorite is PX00307, about the decision that turned 32-bit OS/2 into a fiasco in the first place. One of the red signs is that the problems of the "32-bit Windows extenders" was not even mentioned, such as no preemptive multitasking and no memory protection! Win9x fixed some but not all of the problems. For example, the Win16Mutex was used as a global mutex to simulate the Win16 cooperative multitasking system. This mutex was taken every time a 16-bit thunk was entered and was global to the system, and even most Win32 apps sometimes thunk to 16-bit (for example when calling USER32) or took the mutex for other reasons. And notice neither Gordon Letwin (the architect of OS/2) or Dave Cutler (the architect of NT) was in the To list, another red sign. Now, OS/2 had a sync input queue that made the preemptive multitasking much less useful, but that was much easier to fix and IBM fixed it in a FixPak for Warp 3.
But that is not my favorite problem with Win9x. My favorite is how Caldera used it's dependence on DOS to continue DR's lawsuit against MS, even having projects like "WinBolt" to prove it. And of course even before then, there was Windows 3.1's infamous AARD code. And guess what, OS/2 never depended on DOS. It was designed from the beginning as a full OS!
Monday, December 31, 2012
Thursday, July 12, 2012
Why the "HTML5" buzzword is a misnomer
WHATWG now consider HTML a living standard now. One reason is because no browser has perfectly matched any HTML version. In fact each browser implements "HTML5" features at its own pace. For example, <canvas> dates back to 2005, before the HTML5 term was commonly used. Even IE8 supports some features considered part of "HTML5", such as localStorage. Thus, whether a browser supports "HTML5" is almost meaningless, nor whether a page uses "HTML5". Individual features matter.
Friday, July 1, 2011
The hotfix KB972582 and how it fixes the empty dialog you see when opening "Organize Favorites" in Windows Explorer in XP when IE8 is installed
The KB article itself: http://support.microsoft.com/kb/972582
The download link: http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=972582
If you are wonder what does the title "You receive an empty dialog box when you run the "Rundll32.exe shdocvw.dll, DoOrganizeFavDlg" command on a computer that is running Windows XP or Windows Server 2003 if Internet Explorer 8 is installed" have to do with it, DoOrganizeFavDlg is the export called by BROWSEUI when clicking Tools->Organize Favorites. An update to XP SP2 and Server 2003 SP1 shipped with IE7/8 for these OSes (and incorporated into later service packs of course) updated SHDOCVW and some other related DLLs to add a wrapper to some functions that detected the availablity of IEFRAME and jumped to the IEFRAME version if it existed. IEFRAME was introduced in IE7, and it was key to separating Explorer's UI from IE's UI. Unfortunately the original wrapper for DoOrganizeFavDlg incorrectly always jumped to the original SHDOCVW version making it useless (a one-instruction mistake). This hotfix fixes that. However it does not fix the case where you show the Favorites sidebar using the menus in Explorer then you click Organize..., because in this case SHDOCVW itself calls the internal version of DoOrganizeFavDlg bypassing the wrapper. I know all this because I debugged this issue using IDA and WinDbg.
BTW, on "To resolve this problem, install the most recent cumulative security update for Windows Internet Explorer.", what this really mean is that you can solve this problem by installing the latest cumulative security update for IE6 before you install IE8 (or uninstall IE7 and IE8) to get the updated SHDOCVW.
The download link: http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=972582
If you are wonder what does the title "You receive an empty dialog box when you run the "Rundll32.exe shdocvw.dll, DoOrganizeFavDlg" command on a computer that is running Windows XP or Windows Server 2003 if Internet Explorer 8 is installed" have to do with it, DoOrganizeFavDlg is the export called by BROWSEUI when clicking Tools->Organize Favorites. An update to XP SP2 and Server 2003 SP1 shipped with IE7/8 for these OSes (and incorporated into later service packs of course) updated SHDOCVW and some other related DLLs to add a wrapper to some functions that detected the availablity of IEFRAME and jumped to the IEFRAME version if it existed. IEFRAME was introduced in IE7, and it was key to separating Explorer's UI from IE's UI. Unfortunately the original wrapper for DoOrganizeFavDlg incorrectly always jumped to the original SHDOCVW version making it useless (a one-instruction mistake). This hotfix fixes that. However it does not fix the case where you show the Favorites sidebar using the menus in Explorer then you click Organize..., because in this case SHDOCVW itself calls the internal version of DoOrganizeFavDlg bypassing the wrapper. I know all this because I debugged this issue using IDA and WinDbg.
BTW, on "To resolve this problem, install the most recent cumulative security update for Windows Internet Explorer.", what this really mean is that you can solve this problem by installing the latest cumulative security update for IE6 before you install IE8 (or uninstall IE7 and IE8) to get the updated SHDOCVW.
Monday, June 13, 2011
The history of CSS - part 1
Back in October 1994, the first draft of "Cascading HTML Style Sheets" was released. Around the same time, what was then called Mosaic Communication Corp. released Netscape 0.9, with new tags and attributes including CENTER and FONT tags.
In December 1994, Netscape 1.0 was released. By March 1995, Arena and emacs-w3 was supporting the then-drafts of CSS. In April 1995, Netscape 1.1 was released introducing more new elements. By August 1995, Netscape 1.2 was released and Netscape has gained a monopoly in web browsers. Other browsers (including early MSIE) had to copy the new elements Netscape introduced. And Netscape did not support CSS and had no plans to do so. In fact, Netscape with it's monopoly effectively killed HTML 3.0 which Arena and emacs-w3 also supported, preventing it from becoming a standard and forcing W3C to create HTML 3.2 instead.
In December 1994, Netscape 1.0 was released. By March 1995, Arena and emacs-w3 was supporting the then-drafts of CSS. In April 1995, Netscape 1.1 was released introducing more new elements. By August 1995, Netscape 1.2 was released and Netscape has gained a monopoly in web browsers. Other browsers (including early MSIE) had to copy the new elements Netscape introduced. And Netscape did not support CSS and had no plans to do so. In fact, Netscape with it's monopoly effectively killed HTML 3.0 which Arena and emacs-w3 also supported, preventing it from becoming a standard and forcing W3C to create HTML 3.2 instead.
Friday, January 7, 2011
A weakness in the key descriptor version 1 used in TKIP mode of WPA/WPA2 (802.11i)
From Section 8.5.2 of the 802.11-2007 standard:
"Key Descriptor Version 1: ARC4 is used to encrypt the Key Data field using the KEK field from the derived PTK. No padding shall be used. The encryption key is generated by concatenating the EAPOL-Key IV field and the KEK. The first 256 octets of the ARC4 key stream shall be discarded following ARC4 stream cipher initialization with the KEK, and encryption begins using the 257th key stream octet."
In theory, this is vulnerable to the attack described in A Practical Attack on the Fixed RC4 in the WEP Mode. Also New Form of Permutation Bias and Secret Key Leakage in Keystream Bytes of RC4 has more biases in the 256th and 257th keystream bytes. Note however that in order to get 50000 keystreams, 50000 group key handshakes using the same KEK must be captured, and these happen less often than the actual data encryption.
Thursday, July 8, 2010
Artificial Scarcity - Bibliography
- http://en.wikipedia.org/wiki/Open_Letter_to_Hobbyists
- http://en.wikipedia.org/wiki/Audio_Home_Recording_Act
- http://en.wikipedia.org/wiki/Digital_Audio_Tape
- http://en.wikipedia.org/wiki/Altair_8800
- http://en.wikipedia.org/wiki/Richard_Stallman
- http://www.gnu.org/gnu/thegnuproject.html
- http://oreilly.com/openbook/freedom/index.html
- http://en.wikipedia.org/wiki/Sony_BMG_CD_copy_protection_scandal
- http://blogs.technet.com/b/markrussinovich/archive/2005/10/31/sony-rootkits-and-digital-rights-management-gone-too-far.aspx
- http://arstechnica.com/microsoft/news/2008/04/drm-sucks-redux-microsoft-to-nuke-msn-music-drm-keys.ars
- http://arstechnica.com/old/content/2008/07/drm-still-sucks-yahoo-music-going-dark-taking-keys-with-it.ars
- http://en.wikipedia.org/wiki/Media_Key_Block
- http://www.cs.cmu.edu/~dst/DeCSS/FrankStevenson/analysis.html
- http://digital-law-online.info/lpdi1.0/treatise17.html
- http://arstechnica.com/tech-policy/news/2010/04/acta-is-here.ars
- http://en.wikipedia.org/wiki/Digital_Millennium_Copyright_Act
- http://www.wipo.int/treaties/en/ip/wct/trtdocs_wo033.html
- http://lwn.net/Articles/227642/
- http://kotaku.com/5016515/a-history-of-copy-protection
- http://www.eff.org/deeplinks/2010/06/judge-orders-user-friendly-notices-does-targeted
Tuesday, June 29, 2010
Artificial Scarcity - Intellectual Property
Intellectual property is a term often used for a category of law used to create artificial scarcity, such as copyright, patent, or trademark laws. To understand the term, you must understand that real property is fundamentally scarce by it's nature. Intellectual property laws are laws that create artificial scarcity out of copyable goods or ideas by making copying by anyone other than the owner illegal, thus making them more like real property, hence why it is called "intellectual" property. A derogatory term for this is "intellectual monopoly", so-called because it grants a monopoly on copying. One problems with this term is overgeneralization as mentioned by the FSF.
Subscribe to:
Posts (Atom)