Weirdly enough my uncle actually knew the guy who wrote Trumpet Winsock.
He says he got burnt by piracy fairly badly: computer magazines were including the full version of his app on their cover disks all over the world, ISPs were handing his app to their customers, and his company was too small to stop them.
yep. I'm still around. I live a quiet existence in not so sunny Hobart, Tasmania. Most unusual request - still thinking about it. Donations willingly accepted - just trying to think what kind of cool thing to provide in return for the generous donations.
When I was studying Computing at Tas Uni back in the mid 00s, they still mentioned Trumpet Winsock as their big success story. You should be proud of the impression you've left.
(Though now I think about it, were they annoyed at the commercialisation of a piece of research? Being a Uni, probably. Either way, you've left an impression!)
> just trying to think what kind of cool thing to provide in return for the generous donations.
It seems to me that people are donating because you've earned it. If you really feel a need to give back, perhaps the gift of education would be better. W. Richard Stephen's TCP/IP Illustrated is a great book, but looking long in the tooth these days. I'm sure you've forgotten more about TCP/IP than most of us have learned, but perhaps a book on TCP/IP by a guy that wrote a stack would be a good start?
I contacted Peter and he got back to me. He seems to have settled well with how the cards fell and didn't seem worried about being compensated for things long past.
However, if any of you figure out some grand gesture to show appreciation please count me in. To me, he helped the web get started... An unsung hero. :)
Well there was a fantastic feature of trumpet that windows lacked: If you had to reboot your computer (lol windows), the modem would remain connected, and trumpet could be re-enabled when the computer launched, you would be back up and running with internet, having not had to re-dial. Windows never did that, if you rebooted it was another phone call.
As far as Peter and Trumpet Software, they were based out of Hobart - After Windows implemented a default TCP/IP stack, much of his core business disappeared, they mucked around with building their own operating system for a while, turned Trumpet into an ISP, and in the end, his wife took him for most of what he had. Messy divorce/bankruptcy. Poor guy, he created a piece of software that I used for many years. For a long time, the trumpet implementation was better than the MS implementation, I still used it even when windows had built in PPP facilities.
Bought my first PC, an IBM 486DX-100. Preloaded Win95 display drivers were failing, so after a quick call to IBM I was instructed to download the newer drivers from the IBM Support BBS. After installing the drivers and a reboot, "Starting Windows95 For The First Time..." became my vision of terror. I remember watching the sliding bar on the bottom hoping that it wouldn't stop moving for too long.
The support tech I dealt with was super helpful but was confused by the mounting calls on the issue so after a few days he investigated and found that the BBS files were infected with the Monkey.3 MBR virus. The cool thing was that he called me directly and let me know the source of the problem and apologized on behalf of IBM.
I had Ethernet in my dorm room for a year with Windows 3.11 for Workgroups and never did get it to connect to the interweb. (I had some pretty clever helpers from the Harvard Computer Society, too. Nobody could figure it out.) One of my greatest days as a computer user was the day I installed Windows 95 and got Internet Explorer to load playboy.com—oh, and also fas.harvard.edu. :-)
(Of course, all good things must come to and end, and after Windows 98 was through I switched to Linux/Firefox and then to OS X/Firefox/Chrome.)
The original version of Sim City was written for windows 3.x and included a bug that read memory that had been freed to the system. It worked in windows 3.x, even though it shouldn't, because that particular range of memory wasn't being used for anything else until the program was terminated.
In beta versions of windows 95 Sim City didn't work because the operating system allocated memory differently, and Sim City would crash as expected because of the bug in the program. Amazingly, in the final version of Win95 the original Sim City worked. Microsoft engineers had actually tested backwards compatibility with Sim city, located the bug, and worked around it in their sourcecode.
Now that's serious dedication to backwards compatibility.
There's a blog run by Raymond Chen, one of the engineers on the backwards compat team, which is about backwards compat and other arcane aspects of Windows:
The part about millions of people sending millions of checks to companies really hit me. Why are Americans still using checks? I haven't seen one in more than a decade.
I also remember that there was a version of <unnamed product> that rather than sending LVM_GETITEMTEXT would just read the ansi characters corresponding to the selected item during LVN_ITEMCHANGED off of a random location in the stack frame that they had "noticed" held the value. Of course, this eventually changed to a unicode string internally and broke WinZip... so the code that fired off this event would convert the unicode string to ansi and store a pointer in the stack.
I recall being very confused when I encountered this code many years after it had been implemented and had to spend a lot of time tracking through bug databases before discovering why the listview implementation was doing that.
I found it amusing how you avoided to mention the name initially only to lapse (I'm assuming it wasn't intentional) and inadvertently say it was WinZip later on.
Whoops! Yeah, I'd had WinZip in there originally, then I couldn't remember if this particular story had already come out. I've been gone from MSFT for a long time, but it was generally considered bad form when I was there to call out specific products publicly for their bad code.
but it was generally considered bad form when I was there to call out specific products publicly for their bad code
In a way, don't you think that by not allowing customers to know just how bad the code in the software they buy is, you're encouraging more of it?
If there are advantages to producing quick-and-dirty code that violates platform programming guidelines (some would call this sort of sloppy programming "Getting Work Done"), and there are no consequences (Microsoft knows how bad the code is but Winzip's customers don't), doesn't this exert a subtle market pressure that works against good developers who take the time and make the effort to do things right?
Backward-compatibility for cases such as this can lead to arcane and more complex code within the OS, to difficulty with adding enhancements and creating fixes in the future, and creates larger target areas for folks that are attempting security attacks, and more complex testing.
Bug-for-bug application compatibility is not without costs.
Nitpick: the original version of SimCity was released for DOS before Windows 3.0 came out.
I never knew that MS went so far out of their way to fix a bug for a single game though - it seems that they were much more dedicated to backward-compatibility then than they are now.
Similar issues came up for a lot of apps in the move to XP, and they wound up implementing a 'shimming engine' that would modify behavior of system calls for different apps to provied bug-for-bug compatibility.
When people wonder why Windows is so big and seemingly complex, and why it still uses stupid things like a registry, this is why. Microsoft deserves accolades for maintaining compatibility on this scale, while still working on just about any combination of hardware under the sun. I'm sure they would have loved to be able to do what Apple did with OSX, but there are things you can pull off with 3% market share that are completely out of the question with 95%.
To be fair, the original OS X was pretty backwards compatible--they ran OS 9 stuff in a virtual environment much like Windows 7 runs its older stuff. The Intel transition is the first time that Apple has been so lax about backwards compatibility. They dropped Classic on Intel Macs and they're about to drop PowerPC compatibility. It's a shame--I have OS 9 Games I would love to run on my MacBook Pro. Not to mention all the old programs I wrote.
Right, but Apple didn't have to worry about the thousands of corporate clients running Enterprise software that relied upon some specific API calls to handle billions of dollars in business. When Apple says, "too bad, upgrade", their customers mostly just do so. If Microsoft were to take that approach, they'd lose billions in revenue.
My point, however, wasn't really that OSX isn't backward-compatible, but rather that I'm sure there aren't many engineers at Microsoft who wouldn't love to throw out the whole Windows paradigm and build something new and better from scratch. Hell, I bet BillG himself would have loved to Embrace, Extend, and Extinguish *nix. I think people have a tendency to view Windows' rather bloated codebase and adherence to outdated architecture as a failure of imagination on the part of its programmers, whereas it's really just a practicality necessitated by their user base.
I'm sure there aren't many engineers at Microsoft who wouldn't love to throw out the whole Windows paradigm and build something new and better from scratch.
Windows 95, 98 and Me are evolutions of the Windows 3.1 codebase, and then mercifully died. NT begat Windows 2000, XP, Vista, 7
You can see that they changed a lot of OS internals for the better (writing C++ code on win 3.1 it's trivial to lock up the whole OS, NT didn't have that issue), and then worked hard for compatibility.
While that's certainly true, the differences between NT 4.0 and 98 weren't particularly huge. NT was certainly the better OS, and it's good that they decided to adopt it, but it wasn't really a paradigm shift, and Windows applications were still cross-compatible.
My intention isn't to say that Microsoft hasn't made significant positive changes over the years, but rather that Windows would be a vastly superior operating system if the same people responsible for it currently were able to start from scratch. Say what you will about Microsoft, they still have some incredible engineering talent.
Can someone help me understand the Vista upgrade? For many users the “clean install” (where it deleted everything prior to upgrading) was the only option available.
Impressive, but I have to wonder how many compromises had to be made, and advancements abandoned, to keep apps like Reversi and Dosshell all the way up through Win7...
It's what their client base demands. It's part of their success. Think how many internal tools are relying on compatibility since they would be too expensive to rewrite. (I'm looking at you VB6)
There is a lot of people with the "if it works, don't touch it" mentality. MS would have sold a lot less if they had broke backwards compatibility.
It took me some years to internalize the benefits of "if it works, don't touch it", and I currently apply to a lot of home maintenance problems, which are outside my area of expertise.
A lot I imagine, which I think makes their decisions around WP7 and breaking backwards compatibility even more surprising (although I do agree with it).
I think it's one of those decisions where no matter what choice is made someone will complain about it.
* He mentions there is no multi tasking in dosshell. I'm not 100% sure about MS-DOS 5.0, but in ver 6.0 you could switch between tasks in dosshell [EDIT: this is also true for version 5.0, you can see the option at 1:13 in his video]. To switch tasks you need to first enable it through the "Options" menu ("Enable Task Swapper") and then you can either switch tasks by the all too familiar Alt+Tab or pressing Ctrl+Esc to bring up an ancient Task Manager (then titled "Active Task List").
* I may be mistaken, but in later service packs Win2000 had much better DOS emulation... Just mentioning it because he did test XP SP2 and later versions of Win2000 may have handled Doom2 better.
This video got me to dig out my old DOS book to make sure I remember correctly... ah, the memories :) Very interesting to see many dialogs we all know from Windows even in DOS (i.e. the Run and Associate File extension dialogs in dosshell)
In MS-DOS you could terminate a program, but make 64K of its memory resident. And then you could program a time interrupt handler to wake it up and do stuff periodically.
Microsoft first introduced Windows 1.0 on November 20, 1985. Since the introduction of Windows the operating system has dominated personal computers ever since.
Not to be pedantic, but I don't seem to recall Windows "dominating" anything until version 3.1 came out. At that time, you still had a lot of software running in text mode, or firing up its own graphical environment from DOS. Berkeley Softworks' GeoWorks was out, then, too, and looking like pretty decent competition at the time. Windows' ultimate dominance may have been inevitable, but I don't recall it looking that way before '92.
> Try running a 16-bit application on Windows x64...
There's no reason for this to fail: dosemu runs 16-bit code on 64-bit Linux systems just fine. You just need to do full hardware emulation which, at this point, is neither difficult nor prohibitively resource-intensive.
There's actually a very specific reason for it to fail. There's an unfixable bug in the way that the Windows emulates 16-bit BIOS calls in the 8086 mode monitor. This is specific to Microsoft's implementation and is (if I remember correctly) an architectural issue (and not the only one). The options are rewrite an emulator or ditch 16-bit support in 64-bit.
I'm not saying that this is the only reason, but it is one. Emulation/Virtualisation is different, but gets the support requirement off Microsoft's books.
There's an even more specific reason. There is no 16bit support in 64bit Windows. It's probably the biggest backwards compat kill they did for 64bit Windows.
Me was not that much of an upgrade. It got rid of the MS-DOS mode. While it did change a few stuff and added a few features (new shell derived from Win2000, better ACPI/WDM/USB support, System Restore, etc...), it was still based on the 9x codebase which was unreliable and had many limitations.
I'd actually have liked to see him to install more applications, perhaps Microsoft Office (circa 1990) and upgraded them as he went along too. I wonder if you can do Office for Windows -> Office 2010 as well.
I never used the upgrade option. I'd always get a new hard drive with my upgrade (to get OEM price) and install clean, usually using the original hard drive as a slave. The next cycle that hard drive would become an archive on the new slave.
I have backed up files from 1996 on my home desktop.
I tried the upgrade-option exactly once. I can't remember whether it preserved my background color. But I do remember that all sorts of drivers got screwed, software installs would fail with obscure error messages, and it generally was nothing but problems until I finally wiped and re-installed.
I upgraded from NT4 -> 2000 -> XP without any major issues. AFAICT it was mostly just a file replacement process.
The DOSWin to NT upgrade path always seemed pretty flaky though. The demonstration cheated a bit by using a vanilla VMWare config; an actual PC would be loaded with crappy vendor drivers and startup software which complicated any upgrade.
Upgrading from the NT line to further along the NT line wasn't much of a problem IIRC. Upgrading from '95 to '98 to 2000 probably would be, if you'd actually used the machine. Registry rot from years of use would hinder this process.
The idea of a well-used registry from Win95 being still used in a 2000 or XP machine makes me shiver in horror.
I always did the upgrades once to see how they worked out but I would usually just go fresh install shortly after. (It's what I do now with Ubuntu upgrades). With the exception of Windows XP, and only because I had one of those disks that would only do an upgrade.
There might have been a way around that at the time but a fresh 98 install with XP on top was clean enough for the one or two times I did it.
He applauds MS for continually supporting their legacy software... my opinion is that such legacy support is what continually hampers their rapid development
When it comes to viability as an infrastructure for business, downwards compatibility clearly trumps rapid development. The same can be seen with Java: having all the shiny, fashionable features the tech geek blogs are abuzz with may be nice... but having old, boring, clunky, uncool software that your business depends on continue to work is far, far more valuable.
I think this is an important point that most people forget. Most developers may be interested in doing the latest and greatest thing, but unless it can add value to an organization, then it is worthless.
You can take a G3 from Mac OS 7.1.2 (version which added PowerPC support) all the way to 10.4, which would take you from 1997 to 2005. I haven't done it, but I've read that getting 10.4 requires some finagling to achieve, so the last supported install you could do would be 10.3.9
Wonder if you could upgrade them, and then just rip out the hard drive and move it to another box. Wondering if 10.4 would be ok with one moment having a PPC and another moment having an intel processor.
If at OS X you take your previous computer and attach it in target disk mode or something (I'm not a Mac person) will it do anything with the old OS, perhaps use settings or allow apps to run under emulation or such.
Such quirks are partly what would make such things interesting.
Not in itself. The interesting bit would be playing with different UI's and testing backwards compatibility of settings and apps. Such as the OP video does between upgrades.
I wouldn't mind seeing the same video idea with Ubuntu. Somehow I don't think it will be long before a copycat does this :)
Some say it's probably due to the installer copying lots of things around, combined with slow IO on the VM plus the installer assuming reads are going to be slow (the source being slow CDs or floppies).
I have a VB3 (or VB4) application which uploads samples to my hardware sampler over MIDI. But it doesn't work on XP, only 95/98. So there's a counter example to it being totally backward compatible.
It feels so nostalgic. I started using the Computer even since Windows 95 was launched. I first tried installing the Windows 98 on my PC. Man, I really appreciate this guy's patience.
Plus -- and this is the important thing -- PPP worked much, much better than 3.1 + trumpet winsock.
Some time around 98SE I was dual booting into BeOS, which was so damn fast it wasn't funny. But it wasn't to be.
And I remember browbeating Red Hat 3 into connecting to the internet as well.