In the early and mid 1990s there were a host of big players in the nascent public Internet that played their part in guiding the adventurous early Web users on their way. Many of them such as Netscape or Altavista have fallen by the wayside, while players such as Lycos and Yahoo are still in existence but shadows of their former selves. Some other companies broadened their businesses to become profitable and still exist quietly getting on with whatever they do. An example is Tucows, now a major domain name registrar, who have finally announced the closure of their software library that was such an essential destination in those times.
The company name was originally an acronym: “The Ultimate Collection Of Winsock Software”, started in 1993 by a library employee in Flint, Michigan. As its name suggests it was a collection of mostly shareware Windows software, and the “Winsock” refers to Windows Sockets, the API used by Windows versions of the day for accessing network resources. It seems odd to modern eyes, but connecting a 486 PC running Windows 3.1 to the Internet was something of a complex process without any of the built-in software we take for granted today. Meanwhile the fledgling Linux distributions were only for the extremely tech-savvy or adventurous, so the world of open-source software had yet to make a significant impact on consumer-level devices.
The passing of a Windows shareware library would not normally be a story of interest, but it is the part that Tucows played in providing a reliable software source on the early Web that makes it worthy of note. It’s something of a shock to discover that it had survived into the 2020s, it’s been so long since it was relevant, but if you sat bathed in the glow of a CRT monitor as you waited interminably for your CuteFTP download over your 28.8k modem to finish then you probably have a space for Tucows somewhere in your heart. If you fancy a trip down memory lane, the Internet Archive have a very period-ugly-looking version of the site from 1996.
Slack is either an online collaboration tool, or a religion, depending on who you talk to. Naturally, it’s accessible across all manner of modern platforms, from Windows and MacOS to smartphones. However, some prefer to go further back. At a recent company hackathon, [Yeo Kheng Meng] decided to create a Slack client for Windows 3.1.
Programming for an older OS, in this case, Windows For Workgroups 3.11, requires setting up a viable development environment. Visual C++ 1.52 was pressed into service in this case, being the last version capable of targeting Windows 3.11. The development environment is run on a Windows 2000 virtual machine running on a Mac laptop. This was chosen for its ability to run 16-bit apps, and its Samba compatibility with both Windows 3.11 and Windows 10 and modern Macs.
There were several challenges to face along the way. Old school Windows simply isn’t capable of dealing with HTTPS, necessitating a proxy to handle the exchange of packets with Slack servers. Additionally, memory management was a hassle due to the limits of the 16-bit architecture. Thankfully, an old programming manual from the era was of great help in this regard.
At the end of the hackathon, a usable Slack client was up and running, complete with garish colors from the early Windows era. There’s a few key features missing, such as the ability to resolve user IDs, but overall, the concept works. We’ve seen [Yeo]’s work with this vintage OS before too. Video after the break.
A Perl script runs the show in this case. Screensavers are packed into “units”, which are loaded by the script. A basic Windows 3.1 environment is then configured, and loaded into a specially patched DOSBOX that allows automated demo recording in a headless environment. Once up and running, video is recorded of the desktop and subsequent triggering of the screensaver. After a couple of minutes, the recording is stopped, and FFMPEG is used to transcode the video into a Twitter-suitable format. It’s then a simple job of Tweeting the video using the standard API.
It might be difficult for modern audiences to believe, but at one point Microsoft Windows fit on floppy disks. This was a simpler time, with smaller hard drives, lower resolution displays, and no hacker blogs for you to leave pessimistic comments on. A nearly unrecognizable era, to be sure. But if you’re one of the people who looks back on these days fondly, you might wonder why we don’t see this tiny graphical operating system smashed into modern hardware. After all, SkiFree sure ain’t gonna play itself.
The adventure starts when [redsPL] helped a friend install libreboot and coreboot on a stack of old ThinkPads by using the Raspberry Pi as an SPI flasher, a pastime we’re no strangers to ourselves. Once the somewhat finicky software and hardware environment was up and running, it seemed a waste not to utilize it further. Especially given the fact most firmware replacements only fill a fraction of the X200’s 8 MB chip.
Of course, Windows 3.1 was not designed for modern hardware and no proper drivers exist for much of it. Just getting the display resolution up to 1024×768 (and still with only 256 colors) required patching the original video drivers with ones designed for VMWare. [redsPL] wasn’t able to get the sound hardware working, but at least the PC speaker makes the occasional buzz. The last piece of the puzzle was messing around the zip and xz commands until the disk image was small enough to sneak onto the chip.
It’s been 25 years since Microsoft released Windows for Workgroups 3.11. To take a trip back to the end of the 16-bit era of operating system, [Yeo Kheng Meng] got WFW 3.11 running on a modern Thinkpad.
To make things difficult, a few goals were set for the project. Obviously, this wouldn’t be much fun in a virtual machine, so those were banned. A video driver would be needed, since WFW 3.11 only supports resolutions up to 640×480 in software. Some basic support for sound would be desirable. Finally, TCP/IP networking is possible in WFW 3.11, so networking hardware would allow access modern internet.
[Yeo Kheng Meng] accomplished all of these goals on a 2009 Thinkpad T400 and throughly documented the process. Some interesting hacks were required, including the design of a custom parallel port sound card based on the Covox Speech Thing. Accessing HTTPS web servers required a man-in-the-middle attack to strip SSL, since the SSL support on WFW 3.11 is ancient and blocked by most web servers today.
If you want your own WFW 3.11 laptop, the detailed instructions will get you there. [Yeo Kheng Meng] has also provided the hardware design for the sound card. You can watch a talk on the process after the break.
In the 1970s and 1980s, a lot of us learned to program using good old-fashioned BASIC on machines ranging from Altairs, Commodores, Apple IIs, and the like. Sometime in the 80’s the IBM PC running MSDOS because the de facto standard, but it was still easy enough to launch BASIC and write a simple little program. Of course, there were other programs, some serious like C compilers, some semi-serious like flight simulators, and some pure fun like Wolfenstein 3D.
If you read Hackaday, you’ve probably noticed that a lot of people emulate old computers–including old MSDOS PCs–using a variety of techniques, including Raspberry PI boards running DOSBox or another emulator. Honestly, though, that’s a lot of effort just to run some old software, right? You can load up DOS emulators on your desktop too. That’s a little easier, but you still have to find software. But if you are as lazy as we are, you might want to check out the MSDOS collection at archive.org.