So this was part written by ChatGPT ?
With reference to another Reg story today, I wonder if ChatGPT could help write a browser that doesn't track you ?
An anonymous developer has created a ChatGPT client for Windows 3.1, because some people like to keep one foot firmly in the past even as they explore the future. WinGPT was written in C, using the standard Windows API and compiled with Open Watcom v2. It runs on any 16-bit or 32-bit version of Windows from Windows 3.1 onward …
"True to form, ChatGPT gave two confident-but-incorrect answers, first telling the developer to use a kind of status bar control from a later version of Windows and then inventing the name of a "very enticing" but "very non-existent" Windows 3.1 UI library that could accomplish the same task."
We all laugh at Clippy, right, but has anyone noticed how many goddamn websites have gone and reimplemented it?
“I see you’re on the prescription refill page. Can I help you with that?”
“I see you’re tracking your package status. Can I help you with that?”
I’ve tried asking a few of them to turn themselves off, but they pretend to not know what I’m talking about.
I think most of us curse the memory of Clippy, and curse again at all those fucking websites and their chatbots. (Most particularly, for me, how they obscure part of the viewport. Get your goddamned useless crap off my screen, web developers.)
Clippy was the most annoying avatar for a published API.
Both sides of the API were published: you could design your own avatar, and publish your own content. (That annoying wiggle was apparently quite eye-catching when paired with an attractive photo-realistic character.) ChatGPT does seem like a natural/native match.
It's actually an interesting question if an anthropomorphic UI would be more or less irritating when paired with deeper, more helpful content. Cortana is being retired: perhaps people really don't want their computers to be "helpful" at all: does anybody really like "helpful" people? Or do we all just find helpful people as annoying as Clippy?
I have an opinion: really top-level professional waiters and servants are noted for their invisibility. I think perhaps what we are waiting for is not ChatGPT, but ReticentGPT,
It is suggesting you share photos by mailing them on a CD.
Was that actually possible back in the Windows 3.11 era? A computer that could read CDs was certainly possible then, but writable drives cost silly money and were only really viable for things like recording studios, and most of them were still using tape. Also you needed 650MB of free disk space on your hard drive, and that was very much a challenge well into the Windows 95-98 era.
I was definitely burning CDROMs at work back on Win3.11. rarely worked first time as I recall as most CD writers had little or no buffer, so data had to come off the hard disk at just the right rate, for about an hour or so. You certainly didn't use the PC for anything else in that time in case it interrupted the data. Even the screensaver coming on would sometime knacker the process.
Ah, those were the days.
Kodak PhotoCD, launched just before Win 3.1 IIRC
Take your photos/prints down to the local copyshop/film developer - or be really sure that you wanted to share all the shots on a new roll of film and tick the box on the yellow envelope that came with the film. Postal orders or cheques enclosed for payment or write your account number in the space provided.
There was a 6x CDR by Philips, the CDD2600, which I seem to remember was the first of the 'cheaper' CD-R drives. I had one of those around 96-97.
It may have been one of the first to not require a caddy. All I know is you didn't use the 6x mode if you wanted the discs to be readable.
I can date this with some exactness.
In July 1992, I quit my day job and started work on astronomical software (a star charting and desktop planetarium program). In spring 1993, I took the ~200 MByte hard drive out of my computer and visited a friend at his workplace; we burned the software and data onto CDs. I think the burner was well in the thousands of dollars range (readers were much cheaper). I sent the recorded CD off to be stamped onto CD-ROMs. I repeated the process a few months later for version 2.0.
In summer 1994, I had my own CD burner (a pizza-box sized peripheral) and used it to burn the master copy for version 3.0. It was a slow device and not something most people had, but they were out there, with Win95 a year away.
There's an "evil" version of Eliza called Azile: https://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/areas/classics/eliza/azile/0.html. You ask it questions and it finds creative ways to insult you. Needs a classic Mac (or an emulator) to run.
The medium is the message with this one: the dev wrote that he or she "was surprised that the set of standard controls available to use by any program with Windows 3.1 is incredibly limited" and didn't allow the inclusion of a status bar.
I think this is the most interesting comment in the whole article.
As someone who wrote UI software around that time, it's a sunken icon at the bottom of the screen that you write some text into. Not sure it needs a UI library really.
But then back then that's how it was done, we didn't have access to the internet and it's vast easily downloadable library of components so the default tended to be 'write something that looks correct'.
Anything that requires an internet connection or a network connection to a standalone ChatGPT machine is not "running on", it is just an input-output terminal to ChatGPT. In that way a 50+ years old serial terminal can be "is running ChatGPT".
Please stop saying "runs on", when it is simply not true!
You’re being unnecessarily pedantic, which I’ll grant you is usually a strength around these parts.
The article doesn’t say “developer writes ChatGPT for Windows 3.1”. It says “writes ChatGPT client”. Which is exactly what he’s done. If he’d written a browser for Windows 3.1, would you be objecting to the achievement on the grounds that all the websites it visits are clearly not running on the local OS?
Pedantry is a fine thing, but please, where appropriate.
I’m not the one who downvoted you, btw.
The article *was* clear that it was discussing a client rather than ChatGPT itself.
But even so, focusing on OP's misguided pedantry distracts from the more relevant point.
Namely how big a deal the client software itself is if- as I got the impression while reading the article- it's little more than a dedicated telnet/ssh-style terminal?
I mean, maybe I'm missing something, and certainly the article doesn't suggest that ChatGPT itself is running under Windows 3.1. But if not, I don't see that a text-based terminal application should be that big a deal in itself, whether or not the server itself it's connecting to is running the Important Software du jour.
I like to see publishers writing their software to work with an OS no later than really necessary. I've been looking at some updates for software I have and it will require me to buy a brand new machine, peripherals, learn the new OS and hopefully all of my mail/bookmarks/settings will transfer over even though I haven't been faithfully updating every time something new is on offer. Buying a new computer every year isn't something I'd like since many of my computers are several years old and work just fine so there's no point.
<quotr>didn't allow the inclusion of a status bar. A little time using ChatGPT* yielded pointers to a UI library that included a workaround.</quote>
This must have been written by some
young middle-aged punk who only knows WinForms or WPF. You don't need a UI LIBRARY to have status bar!!! You register a window class with
hbrBackground = COLOR_BTNFACE + 1, then a few
WM_PAINT is received by
WndProc(), select fonts, use
DrawText(). Why do you need a library???? Go fix your shit and resubmit when you know what you are doing.
==========> Looking for Charles Petzold, Programming Windows 3.1 in the pocket.
*Why am I not surprised that ChatGPT yielded shit for brains?
"This must have been written by..."
This! That was how it was done, alright. As I recall, child windows in the main window's client area for toolbars and status bar etc., handling wm_paint to draw the content. Hmm, or were they outside the client area? I vaguely recall you could adjust the size of the main window's client area, but I can't remember if that was only for MDI windows. That's going to bug me now, might have to find my copy of petzold.
Mind you, I mostly used Object Windows Library rather than calling the API directly. I recently looked around to see if there was a modern variant of OWL for free Pascal - there isn't :( I have this slightly masochistic urge to go back to coding the old fashioned way.
Go fix your shit and resubmit when you know what you are doing.
Youth of today..... DO NOT LISTEN TO THIS PERSON.
The Windows API can change you in many ways.
Even if you can forget it, they say you can never truly erase the madness from your soul.
Take the comment above: "You register a window class with
hbrBackground = COLOR_BTNFACE + 1, then a few
+1? To a Win16 coder that probably makes some kind of sense, it's probably even been typed instinctively, from muscle memory. You can't undo that kind of damage.
That 'look' in Ballmer's eyes, his odd stage persona, or the way Bill Gates is slowly deflating. These men have stared directly at the Windows API for too long, they've seen one too many HWNDs. There's no going back from that shit....
You have been warned.
Why use those windowing functions. Simply draw your own lines and write your own font renderer to put text in there. Hard-code the pixel counts, but make it easy to recompile it for higher resolutions by having flags to the makefile. After all, it's not like anyone might benefit from standardization, including you or other developers of the code. Ignore libraries, standards, and practices; they will only make things more organized and maintainable and you wouldn't want that.
In an ideal world the windows API would've been so shite.
It's kind of the OS or UIs job to provide a good set of standard controls, along with a decent style guide that defines the conventions for common things.
Otherwise you end up with lots of third party ones and a mish-mash of competing UI styles... see X for a good example of this.
Also, the balance between what to write and what to import is a delicate one. Every 3rd party library you import brings in more third party code that has to be kept up to date. But then again, re-inventing the wheel is a waste of your time. Standards and 'best practices' aside, that meme about modern developers importing the internet didn't come from nowhere.
I had experience of this at work, some working code was replaced, as someone didn't like the code and there was a 'standard library' that 'everyone uses' that did the same thing. The problem was, the replacement code that used this library worked in almost, but not exactly the same way. 3 months later we had a really obscure bug in live that turned out to be related to this change.
So we expended not only a developer or 2s effort to change and implement the library, we also added an extra dependency which we now have to track and keep up to date and then another developer lost half a day having to rapidly fix the live issue it caused. All to replace some working code that didn't have this issue because we 'weren't using the standard library'.
If people are interested, this can be tested by using PCem VM. Current version is 17. You'll have to find the roms for the BIOS for the computers your self, but they are out there on a development website free to download. This allows you to run Windows 3.11. I don't know about network access though. Because dial-up is quite dead today.