Re:To give Corel the benefit of the doubt...
on
Corel Linux FAQ
·
· Score: 1
As for them not opening their application source code, maybe their claim to not owning all the IP in those products is honest. Is there some evidence to the contrary?
Here are the copyrights from my copy of WP Office 8. Sorry about how long this is, but I think it's important that the hard-core OSSers see how the proprietary end of things works. Very few companies own the entire source to their own applications.
This software is the property of Corel Corporation and Corel Corporation Limited and is protected by copyright. Any reproduction in whole or in part is strictly prohibited.
Corel, WordPerfect, Presentations, Quattro, Paradox, CorelCENTRAL, InfoCentral and TextArt are either trademarks or registered trademarks of Corel Corporation or Corel Corporation Limited.
Redistributable portions of Microsoft MSVC and MFC are copyright of Microsoft Corporation. Microsoft, MS-DOS, Excel and Windows are registered trademarks of Microsoft Corporation.
Adobe, Adobe Type Manager, Adobe Illustrator 88, Adobe Illustrator 3.0, PageMaker, PostScript and Encapsulated PostScript are either trademarks or registered trademarks of Adobe Systems, Inc.
The TWAIN Toolkit is distributed as is. The developer and the distributors of the TWAIN Toolkit expressly disclaim all implied, express or statutory warranties including, without limitation, the implied warranties of merchantability, non-infringement of third party rights and fitness for a particular purpose. Neither the developers nor the distributors will be liable for damages, whether direct, indirect, special, incidental, or consequential, as a result of the reproduction, modification, distribution or other use of the TWAIN Toolkit.
MathType Equation Editor is a trademark of Design Science Inc. Equation Editor(TM), a special version of Design Science's MathType(TM), is customized for use with Corel Applications. If you work a lot with equations, you may find that the extended version of Equation Editor called MathType is better suited to your needs. For further information on MathType contact Design Science Inc., 4028 Broadway, Long Beach, CA 90803, Phone: 800-827-0685, Fax: 310-433-6969, Internet: mtsales@mathtype.com
Not all of the above-referenced components are included in all versions of the software.
As you can see, there are over twenty different corporations from whom they have licensed software for WP Suite 8. They cannot release this code without agreements from all of these entities.
Mike --
Re:Good Open Source Citizens
on
Corel Linux FAQ
·
· Score: 1
Windows already has a web browser
I believe he was referring to Win95 OSR1, which (believe it or not) really comes with no Web browser. It was released before MS's Internet turnaround in 1995.
Not to be picky, but the 1701D's sister ship is the Yamato. It's named after a certain Japanese person. In addition, there is the USS Galaxy, for which the class is named. They left the other 3 ships in this class unnamed for future writers.
And for reference, the episode title is Contagion.
Then I install Windows. (Time wasted 15 minutes, I assume)
Actually, if you buy the upgrade, all you get is a non-bootable CD. You have to have a boot floppy with DOS drivers for your CD-ROM drive, MSCDEX, FDISK, and format on it. You have to manually FDISK, reboot, and format the hard drive. (Remember, this is without documentation. That four-color glossy that comes with Win98 is pretty worthless.) Then you have to boot off that floppy after having figured out the command syntax for your CD-ROM driver (and reacquainting yourself with DEVICE= in CONFIG.SYS) and the syntax for MSCDEX. Finally, you have to change to [CD-ROM Drive]:\win98 and type `setup'. You also must have copies of install floppies for Win95 or Win 3.x -- Setup prompts for them and will not continue without them. Then you get to answer a few questions (and type in your CD Key -- 25 alphanumerics!) and wait for an hour or so. After a couple of reboots, you get to the 640x480 desktop and get to deal with the beauty that is the Display control panel and attempt to install usable drivers for your video card.
All told, this takes about two hours. If you buy the Full version of Win98, you get a boot floppy with generic CD-ROM drivers, but still no instructions on FDISK or FORMAT. And people say Linux is too difficult to install.
Well, Mandrake seems to take the latest RedHat and fix any concerning bugs or oddities and apply the updates from updates.redhat.com. Overall, I'm extremely impressed by Mandrake 5.3...I ordered a RH 6.0 CD from CheapBytes, but I have not installed it given the various complaints about it I have heard. I will probably buy and install Mandrake, though.
It says he has a three-picture deal. It does not specify that those three pictures are all Star Wars movies. He could be playing Helen Hunt's son in some sappy flick next year, you know.
Not all of the TIs are Z80s. The TI-81, -83, 85 (my favorite calculator ever), and -86 are Z80s. They have an assembler shell called ZShell that is quite cool. The TI-92 (and therefore -89) are based on a Motorola 68000. Their assembly shell is called Fargo.
The reason Lynx can't view it is that it is framed, and there is no way to break out of the frame. Here's a straight copy.
Creating a UNIX Application Using the Win32 API
Nancy Winnick Cluts
Microsoft Corporation
November 1998
Summary: Details the cross-platform development of Microsoft® Internet Explorer 4.0 for UNIX using the Microsoft Win32® API. (4 printed pages)
Introduction Yes, you read that correctly. I said that you can create a UNIX application using the Win32 application programming interface (API). And I have proof. Internet Explorer 4.0 for UNIX was written using the Win32 API. I bet you'd like to know how the team pulled that one off. (I know I did!) If you are interested in the details, read on.
At TechEd in New Orleans, LA, in June 1998, Digvijay Chauhan, Development Manager of the Internet Explorer UNIX team, outlined the cross-platform issues in Internet Explorer 4.0 (for a full list of cross-platform issues, search for my article "Internet Explorer Runs Cross-Platform" on the MSDN Online Web Workshop site at http://msdn.microsoft.com/workshop/) as well as how to use the Win32 API for cross-platform development. This article is based on the second part of his presentation: Win32 development on Unix. Another session, titled "Targeting Unix & Windows Platforms with a Single Code Base: A Case Study" (IOP05) was given at the Professional Developers Conference in Denver.
Win32 API on UNIX--A Case Study Imagine that you are on a development team and you are told that you need to develop a browser using the Win32 API and deliver it on both the Win32 and Unix (Solaris) platforms. In order to do this, you need to take into consideration the user interface differences as well as how you are going to actually code the application. X-Windows has a different user interface than Windows. With the pace of the software industry, you do not have the luxury of spending a lot of time and resources on this project--you must get this browser to market rapidly. You also must be sure the Unix version has the same rendering fidelity as the Win32 version. Finally, you must incorporate the Unix look. That's the challenge that the Internet Explorer UNIX team faced and met.
The targeted time frame was 2-3 months after the Win32 version shipped. The team consisted of approximately 50 people. There were about 600 Win32 functions that were used by Internet Explorer. There wasn't time to start from scratch and create their own Win32 layer for Unix, so they looked at vendors that already had such a layer, and tools available. They found two such vendors: Bristol and Mainsoft. Throughout this project, there were some issues the team had to solve, including differences in focus, the Component Object Model (COM), the registry, performance, fonts, UI issues, and portability.
Focus The biggest area of trouble (read: bugs) had to do with focus. On X-Windows, the user can configure the workstation for multiple Window Manager modes and each Window Manager supports multiple modes. This leads to some interesting differences in the use of focus on Unix versus Win32. On a Win32-based platform, when the user clicks the mouse once on a window, that window gains the focus. On X-Windows, you can configure your system such that the focus follows the mouse. That is, when you move the mouse to a window, the focus automatically moves to that window. The workstation can also be set up to support auto raise focus--when the window gets the focus it is automatically put in the foreground. X-Windows also supports the single-click to focus scheme that Win32 supports. The Internet Explorer Unix team had to make sure the browser they created also supported these different forms of focus.
Modality In Microsoft Windows®, it is common for developers to create modal windows. A modal window is a window that, when it has the focus, does not let any other window within the application get the focus until the window is dismissed. For example, if you click the View menu on Internet Explorer and choose Internet Options, you will bring up a window that stays in focus until it is dismissed--if you click the Internet Explorer main window, you will hear a ding and the window will not come into the foreground. Windows developers create modal windows through the use of the GetMessage, TranslateMessage, and DispatchMessage functions in a loop. X-Windows employs a Window Manager that must be told, via hints, whether a window is modal or not. Unfortunately, this information is only read once, when the window is shown. The solution to this difference was to use a new window style hint to tell the Window Manager the window modality prior to the window being shown.
COM Internet Explorer relies heavily on the Component Object Model (COM) in order to function. In fact, any of the window items you see that are outside of the client area of the screen (for example, the rebar, the dialog boxes, and so on) are all COM objects. They use COM to communicate between the browser and the other COM objects. One important portability problem faced by the team involved using C code to access COM object methods directly via virtual table (known as a vtable) structure pointers. The vtable layout is compiler-specific. As a result, the layout of the pointers is different on Solaris. The solution was to replace the C code accessing COM objects with C++ code.
Registry On Windows, the registry is used to store and access information such as user preferences. Most Windows applications read these values from the registry in order to persist data from session to session. In Unix, a user can log on to his workstation and use his home directory from any machine with all of his settings preserved. Because the registry resides on only one machine, this is problematic. The team had to figure out how to share registry information across machines.
Another registry-related issue is synchronization of registry settings across processes. Okay, that's a complex sentence. In real terms: Microsoft Internet Explorer and Microsoft Outlook® Express share registry settings. If you change a registry setting in Internet Explorer, Outlook Express immediately reflects the changes.
The solution was to keep the registry in a location that is shared by all workstations, leveraging a single home directory. This way, different processes, regardless of machine, can be in synch.
Performance The Internet Explorer Unix team created some simple and effective in-house performance tools to analyze performance bottlenecks and solve them. One tool wrapped all of the Win32 APIs in order to log the calls to the APIs as well as determine which thread called the API. This information was used to identify frequently used APIs and determine which should be optimized (the ones that were used often) and which were taking the most time.
Another tool was created to analyze heap space. This was done by mapping the memory allocation functions (malloc, realloc, and so on) along with thread identifiers. They were then able to identify resource hogs (image copy was a big one) and where they could group allocations in order to maximize performance.
In order to help in the debugging process, they created a program that modified exception-handling code to determine (via a stack trace) what caused Internet Explorer to crash. This was particularly helpful in determining if the testers had found a new bug or one that already existed, albeit in a new user scenario.
The final tool that was created was a quick and dirty profiler. This profiler would suspend all threads in a process, sample the program counter, and map the symbols to get a running count of where the application was spending most of its time. Here again, the team could go back and optimize that code.
Fonts There are a few exceptions to font support using Internet Explorer 4.0 on UNIX. Some fonts are simply not available on Unix. In general, Windows fonts will be mapped to those available on a particular Unix server. The Verdana, Arial, and Sans Serif fonts are mapped to the Helvetica font. The Marlett font is not supported on UNIX at all. Internet Explorer 4.0 Unix maps fonts to an equal or smaller point size. In addition, X-based servers can have different configurations and different font installations. As a result, it was necessary to map fonts for specific font installations on the server. Internet Explorer 4.x shipped some prebuilt font caches for standard server configurations. For nonstandard configurations, a font cache is built the first time the browser starts; however, this proved to cause a slowdown in startup. As a result, Internet Explorer 5.0 has changed to an alternate design.
Interface Issues The Windows interface is different from the look you get when you run X-Windows-based Motif or common desktop environment (CDE) applications. The Internet Explorer Unix team had to take into consideration the different appearance for their version of the browser. Some of the interface issues that the team had to address were:
A person running Unix is accustomed to using the + and + key combinations to position the cursor at the beginning or end of a line respectively.
Tab completion is also an expectation of the X-Windows user. Tab completion was implemented at the application level by the team.
The middle mouse button is also supported under X-Windows for copy-and-paste functionality.
Selected text is automatically copied to the Clipboard and available to be pasted into another application.
Menus stay dropped down after they've been clicked, even after the mouse moves away from the menu.
Common dialog boxes look different. For example, the CDE File Open common dialog box and scroll bar widgets are different from their Windows counterparts. Based on user feedback, the Internet Explorer team decided to stick with the Windows 3.1 File dialog boxes and the CDE widgets for scroll bars.
Multiple workspaces are supported by the Window Manager.
Additional system menus are supported under CDE.
CDE integration--including CDE color changes dynamically reflected in the application--required additional work.
Coding Issues--Portability Problems When it got down to coding, there were some interesting issues that the team had to solve, including:
The WCHAR is 4 bytes in most UNIX compilers and 2 bytes in Microsoft Visual C++®. As a result, there were many coding bugs found that assumed the size of a WCHAR was 2 bytes.
Global variables in Win32 dynamic-link libraries (DLLs) are visible across processes, so it is important that developers are careful that these globals do not conflict with any variables within the Unix shared libraries.
Win32 developers have come to rely on Win32 Structured Exception Handling (SEH) in their applications. Unix does not inherently support this. With the help of the Internet Explorer team, Mainsoft now includes fairly complete support for SEH in their Win32 layer.
Visual C++ makes use of keywords for alignment, such as unaligned. The Unix team had to write macros to do alignment.
Compilers for Unix do not support nameless nested structures.
Summary All of this was a lot of work and the Internet Explorer Unix team learned a lot from it. In the future, they plan to use a common code base between their Win32 and Unix versions so that a change in one will automatically be reflected in the other. They are planning to use the Apoge compiler (http://www.apogee.com/) for this common code base. They also plan to incorporate the feedback they get on interface issues. In the meantime, you now know that you, too, can develop your Unix application on Win32. The Internet Explorer team did it and so can you.
I guess I was significantly luckier than I thought. My high school was a magnet Sci-Tech-Math program and therefore had an excellent computer system. We had three labs for the computer classes -- One with 30 LC IIs and LaserWriters, one with 30 RS/6000s (AIX 3.2.5, I think) and two Lexmark printers, and one with 30 IBM PCs (Pentiums with NT). These labs were across the hall from the 4000 square-foot research lab. In addition to the labs themselves, each classroom had at least 10 computers, mostly Performas, and the Media Lab had about 20 Quadras and a couple of Amigas (the Video Toasters, mainly). They taught us computer basics in the LC II lab; FORTRAN, Pascal, C, and C++ in the AIX lab (I have fond memories of xlc and xlC); and Pascal (AP CompSci) in the PC lab.
All of these computers were Netwared together by the world's least competent CNE and connected to the Internet by him as well. Fortunately, most of us were competent enough to fix things when he broke them.
The best benefit of the computer science classes is thinking and problem-solving skills, which are sadly lacking these days. Cutting them is a fatal mistake -- it reminds me of the state of our music programs. Music helps with spatial reasoning and math, but it's always cut first. However, they never touch the sports programs. grrrrr....
That apostrophe thing is (surprise!) Word's fault. Office uses so-called `smart quotes' that are in non-standard positions in the character maps. When you save it as RTF, Word doesn't replace them with true apostrophes, so they are lost if you read them in any other editor. The intent is to get people like you to believe that it is the fault of the other editor.
Of course, WordPerfect uses `smart quotes' too, but when you save it outside the format used by WP 6/7/8/9, it converts them to regular quotes. Also, it can be told to use straight quotes after numbers instead of the curly quotes, which Word cannot do.
Well, according to my Webster's Encyclopedic Unabridged Dictionary of the English Language, the 10th (v.t., to estimate or determine the cost of) and 11th (v.i., to estimate or determine costs, as of manufacturing something) have past forms as "costed". Perhaps if you hung around cost accountants (such as my mom), you would hear such phrases as, "What, the widget production process? I costed that yesterday". I am probably sure that Rob did not mean "costed" in this manner, but it is in fact a word.
To load the SBLive! driver on another kernel, use "insmod -f sblive.o". The '-f' forces the load. I'm using it with 2.2.7 without a problem. Except with ksound and esound, of course. If they'd release this as open, I'm sure it could be fixed.
You lived in Orlando? I feel for you. It's always like 3,000 degrees with a hot wind. And it's boring as hell. And it's responsible for the Backstreet Boys and N'Sync. I have friends who went to UCF (they call it U Can't Finish for a reason) for a single semester before they came home to Tampa Bay to go to USF because they nearly died of boredom and apathy while in Orlando. What a hellish little town in the middle of nowhere. Ugh.
Sorry for the anti-Orlando rant, but I've been to Miami, Jacksonville, Tampa Bay, the Keys, and Orlando; the only one that doesn't fit is Orlando. It's like it's in another state, but only 90 miles away.
So, starting sometime in July, they're going to filter some protocols, maybe POP, maybe telnet, but they haven't decided what to filter yet. Hmm...the first thing I did on my Linux boxen was to turn off any protocols that I didn't use and to set up ipchains to filter the rest. I also set Samba not to listen to the outside world, but only to my 192.168.0.* C network. And I'm new at this.
Typical government: A network that is several years old finally gets the consultant once-over and the committee decides to form a committee to look into what to do.
give it 5 years, yo be seeing house that has active wall paper. yikes....
I've always wanted active wallpaper. I think that a nice blue/black gradient on the walls and a starfield overhead would be most soothing. But no, I have to settle for purple walls and a dark teal ceiling. Paint is so limiting.
Um, sorry to burst your little troll-bubble, but Netcraft says it's running Apache 1.3.6 on Slowlaris. That is odd for a company that makes and sells those nifty little NetWinders. Perhaps they're too busy providing 'value-added solutions' for your 'enterprise networks'.
Finally, please, please, if you're going to use MS Word, turn off "smart quotes"! Those non-ISO standard characters are displayed as question marks by those of us using non-windoze browsers, and they are really distracting!
I'm using IE5 in Win98, and they show up as question marks here too...IE5 actually uses ISO 8859-1 or ANSI 1259(? -- the Windows charset, but I'm not sure about the number), so the quotes don't work outside of Office. Consistency's for losers, I guess.
You get the downloadable version of WP with the LSL CD. You can get that for free from Corel. And Cheapbytes is shipping it tomorrow! The LSL version is coming May 7th, which is Friday. And most importantly, it's cheaper from Cheapbytes ($1.99 + $5.00 S/H) than from the LSL.
Right now, windows isv's price their office suites to be price competetive with MS Office. MS pretty much gets to pick the price they want to charge. If MS had to price Office competively, then Corel and Lotus (if they haven't completely dropped SmartSuite by then) would follow suit.
But right now, WP8 Suite Standard edition is only $299.99 and WP8 Suite Pro edition is $359.99. I know that seems like a lot, but MS Office 97 Standard is $499.99 and Office 97 Pro is $599.99. The point I'm making is that Office is extremely expensive compared to WP and it still sells better...And trust me, it's not due to superiority. The reason (I think) is MS's market power:
Gateway: "Would you mind if we were to bundle WP8?"
Microsoft: "Not at all. But we'll have to increase your Win98 license fee to make up for the lost Office sales."
As for them not opening their application source code, maybe their claim to not owning all the IP in those products is honest. Is there some evidence to the contrary?
Here are the copyrights from my copy of WP Office 8. Sorry about how long this is, but I think it's important that the hard-core OSSers see how the proprietary end of things works. Very few companies own the entire source to their own applications.
Copyright © 1997 COREL CORPORATION and COREL CORPORATION LIMITED. All rights reserved.
Corel WordPerfect Suite 8--Academic
This software is the property of Corel Corporation and Corel Corporation Limited and is protected by copyright. Any reproduction in whole or in part is strictly prohibited.
Corel, WordPerfect, Presentations, Quattro, Paradox, CorelCENTRAL, InfoCentral and TextArt are either trademarks or registered trademarks of Corel Corporation or Corel Corporation Limited.
International CorrectSpell(TM) English spelling correction system © 1994 by INSO Corporation. All rights reserved. Adapted from word list supplied by Houghton Mifflin Company. Based upon The American Heritage® Dictionary. Reproduction or disassembly of embodied algorithms or database prohibited.
Deluxe English US Electronic Thesaurus and Deluxe English UK Electronic Thesaurus © 1994 by INSO Corporation. Adapted from the Oxford Thesaurus © 1991 by Oxford University Press and from Roget's II: The New Thesaurus © 1980 by Houghton Mifflin Company. All rights reserved.
Database Engine developed by Creasoft, S.A., Brussels, Belgium.
International Hyphenator licensed INSO Corporation. Copyright © 1994 by INSO Corporation. All rights reserved. Reproduction or disassembly of embodied computer programs or algorithms prohibited.
Redistributable portions of Microsoft MSVC and MFC are copyright of Microsoft Corporation. Microsoft, MS-DOS, Excel and Windows are registered trademarks of Microsoft Corporation.
Netscape Navigator logos, Netscape Navigator, Netscape Communicator and Netscape are trademarks or registered trademarks of Netscape Communications Corporation. Copyright© 1997, Netscape Communications Corporation. All rights reserved.
Some of the templates in Corel Quattro Pro were developed by KMT Software, Inc. 1997.
Envoy, Grammatik and NetWare © Novell, Inc. 1994. Novell, Grammatik, and NetWare are registered trademarks of Novell, Inc. Envoy, Novell Directory Services, IntranetWare, and NetWare Client are trademarks of Novell, Inc.
ImageStream(TM) Graphics and Presentations filters Copyright © 1991-1997 INSO Corporation. All rights reserved. ImageStream Graphics Filters is a registered trademark of INSO Corporation.
Portions of this software are copyrighted by INTERSOLV, Inc. 1991-1996.
Outside In® Viewer Technology © 1992-1997 INSO Corporation.
NexCard(TM) Universal Address Book, Copyright© 1994-1997 by Nexal Corporation, All Rights Reserved. NexCard is a trademark of Nexal Corporation.
Slide Transition Technology © 1997 Strata Incorporated.
Bitstream TrueDoc Imaging Technology © Bitstream Incorporated. All rights reserved. Bitstream is a registered trademark and TrueDoc is a trademark of Bitstream Incorporated.
All Avery product code numbers are trademarks of the Avery Dennison Corporation.
Some fonts copyright © Bitstream, Inc. All rights reserved.
Some fonts supplied by URW ++ GmbH.
Includes ITC licensed fonts.
PostScript interpreter software copyright © Pipeline Associates, Inc. All rights reserved.
TrueType Rasterizer, Portions Copyright © 1989 Bitstream Incorporated.
Portions Copyright © 1988-1990 Apple Computer Incorporated. All rights reserved.
Adobe, Adobe Type Manager, Adobe Illustrator 88, Adobe Illustrator 3.0, PageMaker, PostScript and Encapsulated PostScript are either trademarks or registered trademarks of Adobe Systems, Inc.
Portions copyright © 1994-1997 Alien Skin Software, LLC. All rights reserved.
Portions Copyright © 1996 MetaTools, Inc. All rights reserved. MetaTools is a registered trademark of MetaTools, Inc.
The TWAIN Toolkit is distributed as is. The developer and the distributors of the TWAIN Toolkit expressly disclaim all implied, express or statutory warranties including, without limitation, the implied warranties of merchantability, non-infringement of third party rights and fitness for a particular purpose. Neither the developers nor the distributors will be liable for damages, whether direct, indirect, special, incidental, or consequential, as a result of the reproduction, modification, distribution or other use of the TWAIN Toolkit.
MathType Equation Editor is a trademark of Design Science Inc. Equation Editor(TM), a special version of Design Science's MathType(TM), is customized for use with Corel Applications. If you work a lot with equations, you may find that the extended version of Equation Editor called MathType is better suited to your needs. For further information on MathType contact Design Science Inc., 4028 Broadway, Long Beach, CA 90803, Phone: 800-827-0685, Fax: 310-433-6969, Internet: mtsales@mathtype.com
Not all of the above-referenced components are included in all versions of the software.As you can see, there are over twenty different corporations from whom they have licensed software for WP Suite 8. They cannot release this code without agreements from all of these entities.
Mike
--
Windows already has a web browser
I believe he was referring to Win95 OSR1, which (believe it or not) really comes with no Web browser. It was released before MS's Internet turnaround in 1995.
Mike
--
Not to be picky, but the 1701D's sister ship is the Yamato. It's named after a certain Japanese person. In addition, there is the USS Galaxy, for which the class is named. They left the other 3 ships in this class unnamed for future writers.
And for reference, the episode title is Contagion.
Mike
--
Then I install Windows. (Time wasted 15 minutes, I assume)
Actually, if you buy the upgrade, all you get is a non-bootable CD. You have to have a boot floppy with DOS drivers for your CD-ROM drive, MSCDEX, FDISK, and format on it. You have to manually FDISK, reboot, and format the hard drive. (Remember, this is without documentation. That four-color glossy that comes with Win98 is pretty worthless.) Then you have to boot off that floppy after having figured out the command syntax for your CD-ROM driver (and reacquainting yourself with DEVICE= in CONFIG.SYS) and the syntax for MSCDEX. Finally, you have to change to [CD-ROM Drive]:\win98 and type `setup'. You also must have copies of install floppies for Win95 or Win 3.x -- Setup prompts for them and will not continue without them. Then you get to answer a few questions (and type in your CD Key -- 25 alphanumerics!) and wait for an hour or so. After a couple of reboots, you get to the 640x480 desktop and get to deal with the beauty that is the Display control panel and attempt to install usable drivers for your video card.
All told, this takes about two hours. If you buy the Full version of Win98, you get a boot floppy with generic CD-ROM drivers, but still no instructions on FDISK or FORMAT. And people say Linux is too difficult to install.
Mike
--
Mike
--
Mike
--
Mike
--
Mike
--
I didn't know the TI machines were Z-80 based!
Not all of the TIs are Z80s. The TI-81, -83, 85 (my favorite calculator ever), and -86 are Z80s. They have an assembler shell called ZShell that is quite cool. The TI-92 (and therefore -89) are based on a Motorola 68000. Their assembly shell is called Fargo.
Mike
--
The reason Lynx can't view it is that it is framed, and there is no way to break out of the frame. Here's a straight copy.
Creating a UNIX Application Using the Win32 API
Nancy Winnick Cluts
Microsoft Corporation
November 1998
Summary: Details the cross-platform development of Microsoft® Internet Explorer 4.0 for UNIX using the Microsoft Win32® API. (4 printed pages)
Introduction
Yes, you read that correctly. I said that you can create a UNIX application using the Win32 application programming interface (API). And I have proof. Internet Explorer 4.0 for UNIX was written using the Win32 API. I bet you'd like to know how the team pulled that one off. (I know I did!) If you are interested in the details, read on.
At TechEd in New Orleans, LA, in June 1998, Digvijay Chauhan, Development Manager of the Internet Explorer UNIX team, outlined the cross-platform issues in Internet Explorer 4.0 (for a full list of cross-platform issues, search for my article "Internet Explorer Runs Cross-Platform" on the MSDN Online Web Workshop site at http://msdn.microsoft.com/workshop/) as well as how to use the Win32 API for cross-platform development. This article is based on the second part of his presentation: Win32 development on Unix. Another session, titled "Targeting Unix & Windows Platforms with a Single Code Base: A Case Study" (IOP05) was given at the Professional Developers Conference in Denver.
Win32 API on UNIX--A Case Study
Imagine that you are on a development team and you are told that you need to develop a browser using the Win32 API and deliver it on both the Win32 and Unix (Solaris) platforms. In order to do this, you need to take into consideration the user interface differences as well as how you are going to actually code the application. X-Windows has a different user interface than Windows. With the pace of the software industry, you do not have the luxury of spending a lot of time and resources on this project--you must get this browser to market rapidly. You also must be sure the Unix version has the same rendering fidelity as the Win32 version. Finally, you must incorporate the Unix look. That's the challenge that the Internet Explorer UNIX team faced and met.
The targeted time frame was 2-3 months after the Win32 version shipped. The team consisted of approximately 50 people. There were about 600 Win32 functions that were used by Internet Explorer. There wasn't time to start from scratch and create their own Win32 layer for Unix, so they looked at vendors that already had such a layer, and tools available. They found two such vendors: Bristol and Mainsoft. Throughout this project, there were some issues the team had to solve, including differences in focus, the Component Object Model (COM), the registry, performance, fonts, UI issues, and portability.
Focus
The biggest area of trouble (read: bugs) had to do with focus. On X-Windows, the user can configure the workstation for multiple Window Manager modes and each Window Manager supports multiple modes. This leads to some interesting differences in the use of focus on Unix versus Win32. On a Win32-based platform, when the user clicks the mouse once on a window, that window gains the focus. On X-Windows, you can configure your system such that the focus follows the mouse. That is, when you move the mouse to a window, the focus automatically moves to that window. The workstation can also be set up to support auto raise focus--when the window gets the focus it is automatically put in the foreground. X-Windows also supports the single-click to focus scheme that Win32 supports. The Internet Explorer Unix team had to make sure the browser they created also supported these different forms of focus.
Modality
In Microsoft Windows®, it is common for developers to create modal windows. A modal window is a window that, when it has the focus, does not let any other window within the application get the focus until the window is dismissed. For example, if you click the View menu on Internet Explorer and choose Internet Options, you will bring up a window that stays in focus until it is dismissed--if you click the Internet Explorer main window, you will hear a ding and the window will not come into the foreground. Windows developers create modal windows through the use of the GetMessage, TranslateMessage, and DispatchMessage functions in a loop. X-Windows employs a Window Manager that must be told, via hints, whether a window is modal or not. Unfortunately, this information is only read once, when the window is shown. The solution to this difference was to use a new window style hint to tell the Window Manager the window modality prior to the window being shown.
COM
Internet Explorer relies heavily on the Component Object Model (COM) in order to function. In fact, any of the window items you see that are outside of the client area of the screen (for example, the rebar, the dialog boxes, and so on) are all COM objects. They use COM to communicate between the browser and the other COM objects. One important portability problem faced by the team involved using C code to access COM object methods directly via virtual table (known as a vtable) structure pointers. The vtable layout is compiler-specific. As a result, the layout of the pointers is different on Solaris. The solution was to replace the C code accessing COM objects with C++ code.
Registry
On Windows, the registry is used to store and access information such as user preferences. Most Windows applications read these values from the registry in order to persist data from session to session. In Unix, a user can log on to his workstation and use his home directory from any machine with all of his settings preserved. Because the registry resides on only one machine, this is problematic. The team had to figure out how to share registry information across machines.
Another registry-related issue is synchronization of registry settings across processes. Okay, that's a complex sentence. In real terms: Microsoft Internet Explorer and Microsoft Outlook® Express share registry settings. If you change a registry setting in Internet Explorer, Outlook Express immediately reflects the changes.
The solution was to keep the registry in a location that is shared by all workstations, leveraging a single home directory. This way, different processes, regardless of machine, can be in synch.
Performance
The Internet Explorer Unix team created some simple and effective in-house performance tools to analyze performance bottlenecks and solve them. One tool wrapped all of the Win32 APIs in order to log the calls to the APIs as well as determine which thread called the API. This information was used to identify frequently used APIs and determine which should be optimized (the ones that were used often) and which were taking the most time.
Another tool was created to analyze heap space. This was done by mapping the memory allocation functions (malloc, realloc, and so on) along with thread identifiers. They were then able to identify resource hogs (image copy was a big one) and where they could group allocations in order to maximize performance.
In order to help in the debugging process, they created a program that modified exception-handling code to determine (via a stack trace) what caused Internet Explorer to crash. This was particularly helpful in determining if the testers had found a new bug or one that already existed, albeit in a new user scenario.
The final tool that was created was a quick and dirty profiler. This profiler would suspend all threads in a process, sample the program counter, and map the symbols to get a running count of where the application was spending most of its time. Here again, the team could go back and optimize that code.
Fonts
There are a few exceptions to font support using Internet Explorer 4.0 on UNIX. Some fonts are simply not available on Unix. In general, Windows fonts will be mapped to those available on a particular Unix server. The Verdana, Arial, and Sans Serif fonts are mapped to the Helvetica font. The Marlett font is not supported on UNIX at all. Internet Explorer 4.0 Unix maps fonts to an equal or smaller point size. In addition, X-based servers can have different configurations and different font installations. As a result, it was necessary to map fonts for specific font installations on the server. Internet Explorer 4.x shipped some prebuilt font caches for standard server configurations. For nonstandard configurations, a font cache is built the first time the browser starts; however, this proved to cause a slowdown in startup. As a result, Internet Explorer 5.0 has changed to an alternate design.
Interface Issues
The Windows interface is different from the look you get when you run X-Windows-based Motif or common desktop environment (CDE) applications. The Internet Explorer Unix team had to take into consideration the different appearance for their version of the browser. Some of the interface issues that the team had to address were:
A person running Unix is accustomed to using the + and + key combinations to position the cursor at the beginning or end of a line respectively.
Tab completion is also an expectation of the X-Windows user. Tab completion was implemented at the application level by the team.
The middle mouse button is also supported under X-Windows for copy-and-paste functionality.
Selected text is automatically copied to the Clipboard and available to be pasted into another application.
Menus stay dropped down after they've been clicked, even after the mouse moves away from the menu.
Common dialog boxes look different. For example, the CDE File Open common dialog box and scroll bar widgets are different from their Windows counterparts. Based on user feedback, the Internet Explorer team decided to stick with the Windows 3.1 File dialog boxes and the CDE widgets for scroll bars.
Multiple workspaces are supported by the Window Manager.
Additional system menus are supported under CDE.
CDE integration--including CDE color changes dynamically reflected in the application--required additional work.
Coding Issues--Portability Problems
When it got down to coding, there were some interesting issues that the team had to solve, including:
The WCHAR is 4 bytes in most UNIX compilers and 2 bytes in Microsoft Visual C++®. As a result, there were many coding bugs found that assumed the size of a WCHAR was 2 bytes.
Global variables in Win32 dynamic-link libraries (DLLs) are visible across processes, so it is important that developers are careful that these globals do not conflict with any variables within the Unix shared libraries.
Win32 developers have come to rely on Win32 Structured Exception Handling (SEH) in their applications. Unix does not inherently support this. With the help of the Internet Explorer team, Mainsoft now includes fairly complete support for SEH in their Win32 layer.
Visual C++ makes use of keywords for alignment, such as unaligned. The Unix team had to write macros to do alignment.
Compilers for Unix do not support nameless nested structures.
Summary
All of this was a lot of work and the Internet Explorer Unix team learned a lot from it. In the future, they plan to use a common code base between their Win32 and Unix versions so that a change in one will automatically be reflected in the other. They are planning to use the Apoge compiler (http://www.apogee.com/) for this common code base. They also plan to incorporate the feedback they get on interface issues. In the meantime, you now know that you, too, can develop your Unix application on Win32. The Internet Explorer team did it and so can you.
© 1999 Microsoft Corporation. All rights reserved. Terms of use.
Mike
--
Mike
--
I guess I was significantly luckier than I thought. My high school was a magnet Sci-Tech-Math program and therefore had an excellent computer system. We had three labs for the computer classes -- One with 30 LC IIs and LaserWriters, one with 30 RS/6000s (AIX 3.2.5, I think) and two Lexmark printers, and one with 30 IBM PCs (Pentiums with NT). These labs were across the hall from the 4000 square-foot research lab. In addition to the labs themselves, each classroom had at least 10 computers, mostly Performas, and the Media Lab had about 20 Quadras and a couple of Amigas (the Video Toasters, mainly). They taught us computer basics in the LC II lab; FORTRAN, Pascal, C, and C++ in the AIX lab (I have fond memories of xlc and xlC); and Pascal (AP CompSci) in the PC lab.
All of these computers were Netwared together by the world's least competent CNE and connected to the Internet by him as well. Fortunately, most of us were competent enough to fix things when he broke them.
The best benefit of the computer science classes is thinking and problem-solving skills, which are sadly lacking these days. Cutting them is a fatal mistake -- it reminds me of the state of our music programs. Music helps with spatial reasoning and math, but it's always cut first. However, they never touch the sports programs. grrrrr....
Mike
--
That apostrophe thing is (surprise!) Word's fault. Office uses so-called `smart quotes' that are in non-standard positions in the character maps. When you save it as RTF, Word doesn't replace them with true apostrophes, so they are lost if you read them in any other editor. The intent is to get people like you to believe that it is the fault of the other editor.
Of course, WordPerfect uses `smart quotes' too, but when you save it outside the format used by WP 6/7/8/9, it converts them to regular quotes. Also, it can be told to use straight quotes after numbers instead of the curly quotes, which Word cannot do.
Mike
--
Mike
--
There's no such word as "costed."
Well, according to my Webster's Encyclopedic Unabridged Dictionary of the English Language, the 10th (v.t., to estimate or determine the cost of) and 11th (v.i., to estimate or determine costs, as of manufacturing something) have past forms as "costed". Perhaps if you hung around cost accountants (such as my mom), you would hear such phrases as, "What, the widget production process? I costed that yesterday". I am probably sure that Rob did not mean "costed" in this manner, but it is in fact a word.
Mike
--
Mike
--
You lived in Orlando? I feel for you. It's always like 3,000 degrees with a hot wind. And it's boring as hell. And it's responsible for the Backstreet Boys and N'Sync. I have friends who went to UCF (they call it U Can't Finish for a reason) for a single semester before they came home to Tampa Bay to go to USF because they nearly died of boredom and apathy while in Orlando. What a hellish little town in the middle of nowhere. Ugh.
Sorry for the anti-Orlando rant, but I've been to Miami, Jacksonville, Tampa Bay, the Keys, and Orlando; the only one that doesn't fit is Orlando. It's like it's in another state, but only 90 miles away.
Mike
--
So, starting sometime in July, they're going to filter some protocols, maybe POP, maybe telnet, but they haven't decided what to filter yet. Hmm...the first thing I did on my Linux boxen was to turn off any protocols that I didn't use and to set up ipchains to filter the rest. I also set Samba not to listen to the outside world, but only to my 192.168.0.* C network. And I'm new at this.
Typical government: A network that is several years old finally gets the consultant once-over and the committee decides to form a committee to look into what to do.
Mike
--
give it 5 years, yo be seeing house that has active wall paper. yikes....
I've always wanted active wallpaper. I think that a nice blue/black gradient on the walls and a starfield overhead would be most soothing. But no, I have to settle for purple walls and a dark teal ceiling. Paint is so limiting.
Mike
--
Mike
--
Nice post...just wanna insert an MS jab here
Finally, please, please, if you're going to use MS Word, turn off "smart quotes"! Those non-ISO standard characters are displayed as question marks by those of us using non-windoze browsers, and they are really distracting!
I'm using IE5 in Win98, and they show up as question marks here too...IE5 actually uses ISO 8859-1 or ANSI 1259(? -- the Windows charset, but I'm not sure about the number), so the quotes don't work outside of Office. Consistency's for losers, I guess.
Mike
--
Mike
--
Right now, windows isv's price their office suites to be price competetive with MS Office. MS pretty much gets to pick the price they want to charge. If MS had to price Office competively, then Corel and Lotus (if they haven't completely dropped SmartSuite by then) would follow suit.
But right now, WP8 Suite Standard edition is only $299.99 and WP8 Suite Pro edition is $359.99. I know that seems like a lot, but MS Office 97 Standard is $499.99 and Office 97 Pro is $599.99. The point I'm making is that Office is extremely expensive compared to WP and it still sells better...And trust me, it's not due to superiority. The reason (I think) is MS's market power:
Gateway: "Would you mind if we were to bundle WP8?"
Microsoft: "Not at all. But we'll have to increase your Win98 license fee to make up for the lost Office sales."
Gateway: "We'll just stay with Office."
Microsoft: --like Mr. Burns-- "Excellent."
Mike
--
Mike
--
Usually, the RH install program says
So, yes, there is an upgrade procedure.
Mike
--