Windows CE (WinCE) is actually a fork from NT, not from Windows '9x. It's portable, pure 32-bit, and Unicode-only (no ASCII), all of which definitely do NOT apply to '9x/ME.
Sure, but both times when the user base in my area's made my Road Runner hookup slow, they've upgraded the connection. I get faster downloads now than I did 18 months ago when I was almost the first person in the area with RR.
I regularly get 150-200k/second download speeds on my Road Runner connection. I signed up for ADSL to try it out, and not only did it take 6 hours on 2 different days to get set up, it had major reliability problems after that. And the provider only gives out internal PCI cards from Efficient Networks which only work with Windows 9x - no NT/2000, no MacOS, and definitely no Linux/BSD. Most cable modem services use an external modem with a standard 10Base-T connector.
I think you know which of the 2 connections is getting cancelled and which one I'm keeping:)
Media Player 6.4 already plays many formats (including WMA audio) under WINE. Video is a bit of a stickler because of some tricky semi-documented DirectDraw features, but it's coming. And progress is happening on QuickTime Player too - one Wine developer has it playing videos now but hasn't submitted his patches back yet.
Wine already runs Office '97, Internet Explorer 5.01, and Media Player 6.4 to varying-but-generally-usable degrees. So the developers don't *need* MS help, but it would be nice...
At the risk of starting a political argument, I'll point out the Democrats aren't squeaky-clean either. Tipper Gore invented the Parental Advisory stickers that now infest most prerecorded music, and Joe Lieberman wants to federally ban violent/sexy video games, movies, and TV shows. *sigh*
Kaplan all but admitted that the case is beyond his scope to do anything interesting. I'm looking forward to the real action, either in the appeal(s) or in Congress (anyone contacted Senator Hatch about this, since he seems clueful about fair use and moreover has the power to make it stick?).
Skins/XUL have brought about the best usability advance to date in Mozilla - the ability to turn on the "Netscape Classic" look n' feel. I know it's goofy, but Moz just "feels" better when it looks like 4.x. It even crashes less than 4.x on the recent Linux nightlies. For all those who tried M16 or the NS 6 Preview and think Mozilla sucks, do try out the latest nightly and turn on the 4.x skin. It's a whole other experience.
Skins are NOT a solution to user interface design - instead they make the problem worse. The entire point of a GUI is that *all your applications look and act the same way*. This is the true problem with Unix desktops right now - they often look terrific but are utterly unusable by anyone because even basic things like scroll bars work differently between different apps (or the same app with different skins). Enlightenment is the most obvious example of this, but it's far from Raster and Mandrake's fault - they just followed the trend to it's awful conclusion.
People bitch and whine that KDE and GNOME look "ugly" or "plain" and act like Windows or MacOS. That's *GOOD*. Damn it, it's *GREAT!*. It means that those people trained on 98% of the desktop machines in the world can operate *IX without being retrained. It means that all of us who are forced work on Windows at work and choose Linux/BSD/etc at home don't have a paradigm shift twice a day. It means that if I download a new KDE or GNOME app and install it, I already know how to operate it's widgets (if not it's features).
Bowie, whose wallpaper I love and use, tried to make a car analogy. Analogy this: Almost every car on the planet, from Kia to McLaren, has the same basic controls in the same places that work the same way. Skinning is making it possible for people to build the equivalent of cars with the brakes controlled by a wheel in the trunk, toggle switches in the glovebox for acceleration, and steering with a trackpad on the floor. In other words, it may well look great and stylish, but I sure as hell don't wanna be sharing the freeway with someone trying to operate such a thing.
Skinning works best in the Winamp/XMMS case, where the controls are always in the same place and work the same way, but you can customize what they look like (this is a much better car analogy). I'm fine with that - if my XMMS has AmpMan LCD as the skin and yours has Pioneer ReplicAmp both of us can operate each other's XMMS without any undue pain. Just like it is with cars.
DVD is a purely digital format. The discs are not "PAL" or "NTSC", nor do they contain sync pulses or any other analog-isms. When you decode the video, you get 720x480 24 bit raw frames.
Macrovision is "added on" by the player, according to some bits on the disc (discs can switch Macrovision on and off individually - it's not global to the player). All DVD-CCA licensed players *must* have Macrovision encoding on any composite/S-Video/component outputs. This includes PC-based decoder cards, which is why the makers of those cards refuse to give specs out to free/open source software developers. Once you have specs it would be trivial to defeat the added Macrovision even in Windows, and we can't have that.
- Linux is not yet a proven market in most companies' minds, and a Wine/WineLib port allows them to "test the waters" for a full Qt or GTK or whatever port. This is Deneba's Canvas strategy - if there is substantial interest as a WineLib app they'll commit manpower to do a full native port. If not, they're out a couple engineer's time for about 3 months. That's not bad at all considering:-)
- Many Windows programs are old-but-profitable codebases which have never seen the light of a non-Windows API. (There are obvious exceptions: Canvas also was available for MacOS, Photoshop's been seen on IRIX, and so on). For stuff like that WineLib makes an excellent crutch or scaffolding to get things working on Linux and then strip off the Windowsisms. I ported a large MFC-based application in just that way a few months back. I got it working as WineLib, then gradually converted it to all native Linux calls and a Qt/KDE user interface.
The main reason is that apps sometimes pull weird tricks for specific OS versions. The command line winver switch in Wine doesn't actually change the behavior of anything, it just changes what value the GetVersion() APIs return to Windows apps. The best example of this is Internet Explorer 5.0. When running on Win95, it uses the well-documented (if gross) VxD calls to allocate and manage memory blocks. When running on Win98, the identical binary uses some undocumented features that Wine doesn't support yet. Result: -winver win95 displays pictures on web pages, -winver win98 doesn't:-)
As an aside, this sort of thing is basically a symptom of the fact that MS is now held hostage by their own massive installed base. Before you laugh, read on;-) It *doesn't matter* what APIs they add/change in Win2000, because all software for the next several years (including Office) will still need to run on MS operating systems all the way back to Win95. This is great for Wine, since it lets it catch up with MS while Windows is essentially stuck in a rut.
MS got away with "out-innovating" OS/2 on APIs in the early 90s because Windows 3.0 and 3.1 were just starting to take off, so there was no legacy software to worry about breaking. But as early as Win95 they started doing things like not fixing documented bugs in APIs because it would break existing application software.
It's actually funny to think about - their own monopoly is strangling them:-)
WineLib is getting to be very well-proven indeed. In addition to the port you've heard of (Canvas), there's a whole slew of others in progress covering everything from text editors to CAD packages. Deneba's success with Canvas pretty much opened the floodgates based on traffic on the mailing list and news group, and personally I think it's all good:-)
As for NT, the reasoning is much as you say. It's both *far* cleaner than Win9x (no 16-bit code, no VxDs running wild in kernel mode) and generally far better documented. Plus, MS's stated goal is to eventually merge all their OSes onto a NT/2000 based kernel. It hasn't happened yet (Windows ME, shipping this fall, is still DOS-based) and there are rumors of ANOTHER DOS-based Windows after WinME, but if you believe MS it will eventually.
Counterstrike runs right now on Wine if you have a 3dfx board (for GLIDE) or an NVIDIA or other XFree 4.x DRI supported board for OpenGL. There are some glitches, but you can work around most of 'em and the framerate's fast and furious:)
This page has full details: http://eg4l.sourceforge.net/ehl/
The Wine team is certainly interested in adding CPU emulation at some point, but a lot of other things need to be cleaned up first. There's some promising early work going on now with using WineLib to compile Windows programs on SPARC Solaris, and that will only help future portability.
If anyone out there would like to code instead of whine;-) getting WineLib running on LinuxPPC and the like would be an important step - not only would it allow people like Corel to easily release e.g. LinuxPPC versions of their stuff, but it would make things work much nicer when CPU emulation finally happens.
For well over a year now Wine has had a correct, nice looking logo which you can view on www.winehq.com yet Slashdot insists on using the ugly, insulting, modified Windows logo.
I hate to get bent over something this trivial, but somebody's gotta.
-Ian, wine-developer, but probably not speaking for all of 'em.
Sony makes little to no money off of their hardware (in the case of Playstation 2, it reportedly costs more than double the retail price to manufacture!). Their money is made off Playstation software, and things like bleem! and Virtual Game Station only *expand* the market for that software. I'm surprised Sony hasn't attempted to create an "officially licensed" emulator, as some software companies have. (Activision, Williams, and Konami all sell discs with their older games running on emulators).
There is some good commercial software for Linux where the Open Source equivalents simply don't stack up. For instance, nobody's writing a programmers' editor with full BRIEF keymap compatibility, color syntax highlighting, and all the other "modern" features you'd expect. (KDevelop comes close but ruins it by forcing you to use the default M$ Visual Studio keymap with no possibility of change. I've used BRIEF-style editors (both BRIEF itself and now CodeWright) for 6 years at work and I ain't switching now;-) Free software authors like to push skins - how about USEFUL customization options instead?
So, my solution was to pay (a lot of) money for CRISP. It's not ideal, but it does have all the neat features I enjoy from CodeWright at work and so it makes me more productive when I'm using Linux. That in itself is worth every penny.
There are other needs in the marketplace. KOffice is gonna be good, but I don't think the average user wants to put up with a FrameMaker style word processor. Heck, I've used FrameMaker and I'm pretty sure I don't:-) So that immediately opens up a market for more traditional (read MS Office-like) programs like Corel's.
SpeedStep isn't as interesting, since when the CPU's running full bore it can still go up to 18 watts (check the article on The Register).
Transmeta has what is truly an interesting and novel approach - they're marrying the by now well-proven dynamic recompilation technology that powers Executor, PSEmuPro, UltraHLE, and many other game and computer emulators with a CPU that can uniquely support it, use very little power, and scale very quickly since there's no serious complexity.
Beyond the obvious benefits, this means that the coolness of a processor can be decoupled from "yeah, but does it run Office?". You can now build a processor with all the geek-coolness of the PowerPC and Alpha, and actually sell it;-) Regardless of if you call it by the name Ardi gave it when they invented it (dynamic recompilation) or the name Transmeta had to use to get VC funding ("Code Morphing"), it's neat stuff.
Rumors of Wine's slowness are greatly exaggerated. The latest version plays Half-Life and Counterstrike at high frame rates on my TNT2 card with the latest NVIDIA drivers:-)
I'm not a big fan of her music, but she's either got one hell of a speechwriter or she's waaaay smarter than she's let on for the past 8 years. The Neal Stephenson quote only cemented it.
Specifically, the well-known Independant JPEG Group libjpeg, which requires a credit (it's under an old-style BSD license with the advertising clause).
And as for how "integrated" IE really is, check it out under Wine.
Windows CE (WinCE) is actually a fork from NT, not from Windows '9x. It's portable, pure 32-bit, and Unicode-only (no ASCII), all of which definitely do NOT apply to '9x/ME.
Sure, but both times when the user base in my area's made my Road Runner hookup slow, they've upgraded the connection. I get faster downloads now than I did 18 months ago when I was almost the first person in the area with RR.
I regularly get 150-200k/second download speeds on my Road Runner connection. I signed up for ADSL to try it out, and not only did it take 6 hours on 2 different days to get set up, it had major reliability problems after that. And the provider only gives out internal PCI cards from Efficient Networks which only work with Windows 9x - no NT/2000, no MacOS, and definitely no Linux/BSD. Most cable modem services use an external modem with a standard 10Base-T connector.
:)
I think you know which of the 2 connections is getting cancelled and which one I'm keeping
Actually, MAME's run all the games described here for years - you can get all the tech info here right out of the source.
Media Player 6.4 already plays many formats (including WMA audio) under WINE. Video is a bit of a stickler because of some tricky semi-documented DirectDraw features, but it's coming. And progress is happening on QuickTime Player too - one Wine developer has it playing videos now but hasn't submitted his patches back yet.
Wine already runs Office '97, Internet Explorer 5.01, and Media Player 6.4 to varying-but-generally-usable degrees. So the developers don't *need* MS help, but it would be nice...
At the risk of starting a political argument, I'll point out the Democrats aren't squeaky-clean either. Tipper Gore invented the Parental Advisory stickers that now infest most prerecorded music, and Joe Lieberman wants to federally ban violent/sexy video games, movies, and TV shows. *sigh*
Kaplan all but admitted that the case is beyond his scope to do anything interesting. I'm looking forward to the real action, either in the appeal(s) or in Congress (anyone contacted Senator Hatch about this, since he seems clueful about fair use and moreover has the power to make it stick?).
He seems to be adding the Redhat number to the LINUX (all) number to get his "122" figure. That means the Redhat bugs are being counted twice.
All this is well-covered over on LinuxToday, btw.
Skins/XUL have brought about the best usability advance to date in Mozilla - the ability to turn on the "Netscape Classic" look n' feel. I know it's goofy, but Moz just "feels" better when it looks like 4.x. It even crashes less than 4.x on the recent Linux nightlies. For all those who tried M16 or the NS 6 Preview and think Mozilla sucks, do try out the latest nightly and turn on the 4.x skin. It's a whole other experience.
Skins are NOT a solution to user interface design - instead they make the problem worse. The entire point of a GUI is that *all your applications look and act the same way*. This is the true problem with Unix desktops right now - they often look terrific but are utterly unusable by anyone because even basic things like scroll bars work differently between different apps (or the same app with different skins). Enlightenment is the most obvious example of this, but it's far from Raster and Mandrake's fault - they just followed the trend to it's awful conclusion.
People bitch and whine that KDE and GNOME look "ugly" or "plain" and act like Windows or MacOS. That's *GOOD*. Damn it, it's *GREAT!*. It means that those people trained on 98% of the desktop machines in the world can operate *IX without being retrained. It means that all of us who are forced work on Windows at work and choose Linux/BSD/etc at home don't have a paradigm shift twice a day. It means that if I download a new KDE or GNOME app and install it, I already know how to operate it's widgets (if not it's features).
Bowie, whose wallpaper I love and use, tried to make a car analogy. Analogy this: Almost every car on the planet, from Kia to McLaren, has the same basic controls in the same places that work the same way. Skinning is making it possible for people to build the equivalent of cars with the brakes controlled by a wheel in the trunk, toggle switches in the glovebox for acceleration, and steering with a trackpad on the floor. In other words, it may well look great and stylish, but I sure as hell don't wanna be sharing the freeway with someone trying to operate such a thing.
Skinning works best in the Winamp/XMMS case, where the controls are always in the same place and work the same way, but you can customize what they look like (this is a much better car analogy). I'm fine with that - if my XMMS has AmpMan LCD as the skin and yours has Pioneer ReplicAmp both of us can operate each other's XMMS without any undue pain. Just like it is with cars.
DVD is a purely digital format. The discs are not "PAL" or "NTSC", nor do they contain sync pulses or any other analog-isms. When you decode the video, you get 720x480 24 bit raw frames.
Macrovision is "added on" by the player, according to some bits on the disc (discs can switch Macrovision on and off individually - it's not global to the player). All DVD-CCA licensed players *must* have Macrovision encoding on any composite/S-Video/component outputs. This includes PC-based decoder cards, which is why the makers of those cards refuse to give specs out to free/open source software developers. Once you have specs it would be trivial to defeat the added Macrovision even in Windows, and we can't have that.
Two reasons I can think of:
:-)
- Linux is not yet a proven market in most companies' minds, and a Wine/WineLib port allows them to "test the waters" for a full Qt or GTK or whatever port. This is Deneba's Canvas strategy - if there is substantial interest as a WineLib app they'll commit manpower to do a full native port. If not, they're out a couple engineer's time for about 3 months. That's not bad at all considering
- Many Windows programs are old-but-profitable codebases which have never seen the light of a non-Windows API. (There are obvious exceptions: Canvas also was available for MacOS, Photoshop's been seen on IRIX, and so on). For stuff like that WineLib makes an excellent crutch or scaffolding to get things working on Linux and then strip off the Windowsisms. I ported a large MFC-based application in just that way a few months back. I got it working as WineLib, then gradually converted it to all native Linux calls and a Qt/KDE user interface.
The main reason is that apps sometimes pull weird tricks for specific OS versions. The command line winver switch in Wine doesn't actually change the behavior of anything, it just changes what value the GetVersion() APIs return to Windows apps. The best example of this is Internet Explorer 5.0. When running on Win95, it uses the well-documented (if gross) VxD calls to allocate and manage memory blocks. When running on Win98, the identical binary uses some undocumented features that Wine doesn't support yet. Result: -winver win95 displays pictures on web pages, -winver win98 doesn't :-)
;-) It *doesn't matter* what APIs they add/change in Win2000, because all software for the next several years (including Office) will still need to run on MS operating systems all the way back to Win95. This is great for Wine, since it lets it catch up with MS while Windows is essentially stuck in a rut.
:-)
As an aside, this sort of thing is basically a symptom of the fact that MS is now held hostage by their own massive installed base. Before you laugh, read on
MS got away with "out-innovating" OS/2 on APIs in the early 90s because Windows 3.0 and 3.1 were just starting to take off, so there was no legacy software to worry about breaking. But as early as Win95 they started doing things like not fixing documented bugs in APIs because it would break existing application software.
It's actually funny to think about - their own monopoly is strangling them
WineLib is getting to be very well-proven indeed. In addition to the port you've heard of (Canvas), there's a whole slew of others in progress covering everything from text editors to CAD packages. Deneba's success with Canvas pretty much opened the floodgates based on traffic on the mailing list and news group, and personally I think it's all good :-)
As for NT, the reasoning is much as you say. It's both *far* cleaner than Win9x (no 16-bit code, no VxDs running wild in kernel mode) and generally far better documented. Plus, MS's stated goal is to eventually merge all their OSes onto a NT/2000 based kernel. It hasn't happened yet (Windows ME, shipping this fall, is still DOS-based) and there are rumors of ANOTHER DOS-based Windows after WinME, but if you believe MS it will eventually.
Counterstrike runs right now on Wine if you have a 3dfx board (for GLIDE) or an NVIDIA or other XFree 4.x DRI supported board for OpenGL. There are some glitches, but you can work around most of 'em and the framerate's fast and furious :)
This page has full details:
http://eg4l.sourceforge.net/ehl/
The Wine team is certainly interested in adding CPU emulation at some point, but a lot of other things need to be cleaned up first. There's some promising early work going on now with using WineLib to compile Windows programs on SPARC Solaris, and that will only help future portability.
;-) getting WineLib running on LinuxPPC and the like would be an important step - not only would it allow people like Corel to easily release e.g. LinuxPPC versions of their stuff, but it would make things work much nicer when CPU emulation finally happens.
If anyone out there would like to code instead of whine
For well over a year now Wine has had a correct, nice looking logo which you can view on www.winehq.com yet Slashdot insists on using the ugly, insulting, modified Windows logo.
I hate to get bent over something this trivial, but somebody's gotta.
-Ian, wine-developer, but probably not speaking for all of 'em.
Sony makes little to no money off of their hardware (in the case of Playstation 2, it reportedly costs more than double the retail price to manufacture!). Their money is made off Playstation software, and things like bleem! and Virtual Game Station only *expand* the market for that software. I'm surprised Sony hasn't attempted to create an "officially licensed" emulator, as some software companies have. (Activision, Williams, and Konami all sell discs with their older games running on emulators).
There is some good commercial software for Linux where the Open Source equivalents simply don't stack up. For instance, nobody's writing a programmers' editor with full BRIEF keymap compatibility, color syntax highlighting, and all the other "modern" features you'd expect. (KDevelop comes close but ruins it by forcing you to use the default M$ Visual Studio keymap with no possibility of change. I've used BRIEF-style editors (both BRIEF itself and now CodeWright) for 6 years at work and I ain't switching now ;-) Free software authors like to push skins - how about USEFUL customization options instead?
:-) So that immediately opens up a market for more traditional (read MS Office-like) programs like Corel's.
So, my solution was to pay (a lot of) money for CRISP. It's not ideal, but it does have all the neat features I enjoy from CodeWright at work and so it makes me more productive when I'm using Linux. That in itself is worth every penny.
There are other needs in the marketplace. KOffice is gonna be good, but I don't think the average user wants to put up with a FrameMaker style word processor. Heck, I've used FrameMaker and I'm pretty sure I don't
SpeedStep isn't as interesting, since when the CPU's running full bore it can still go up to 18 watts (check the article on The Register).
;-) Regardless of if you call it by the name Ardi gave it when they invented it (dynamic recompilation) or the name Transmeta had to use to get VC funding ("Code Morphing"), it's neat stuff.
Transmeta has what is truly an interesting and novel approach - they're marrying the by now well-proven dynamic recompilation technology that powers Executor, PSEmuPro, UltraHLE, and many other game and computer emulators with a CPU that can uniquely support it, use very little power, and scale very quickly since there's no serious complexity.
Beyond the obvious benefits, this means that the coolness of a processor can be decoupled from "yeah, but does it run Office?". You can now build a processor with all the geek-coolness of the PowerPC and Alpha, and actually sell it
Rumors of Wine's slowness are greatly exaggerated. The latest version plays Half-Life and Counterstrike at high frame rates on my TNT2 card with the latest NVIDIA drivers :-)
It runs several other Microsoft-brand games anyway (Total Annihilation, anyone? :)
I'm not a big fan of her music, but she's either got one hell of a speechwriter or she's waaaay smarter than she's let on for the past 8 years. The Neal Stephenson quote only cemented it.
Specifically, the well-known Independant JPEG Group libjpeg, which requires a credit (it's under an old-style BSD license with the advertising clause).
And as for how "integrated" IE really is, check it out under Wine.