HNHacker News
TopNewBestAskShowJobs

dialupdotnet

138 karma · joined February 20, 2022

submissionscomments
dialupdotnet··on Show HN: WinGPT – AI assistant for Windows 3.1
That's a great idea. Please do give it a try!
dialupdotnet··on Show HN: WinGPT – AI assistant for Windows 3.1
Yep! I'm using JSMN (https://github.com/zserge/jsmn), which is a streaming parser that visits each token sequentially, so there's only one copy of each JSON response in memory. I also avoid allocating new intermediate memory whenever possible; for example, to unescape backslashes in the JSON strings, I use a destructive loop that moves the non-backslash characters forward in memory, and truncates the string by moving the null terminator earlier in the string. Not something I'd imagine doing in most environments today, but as you said, it saves a bit of space at the expense of CPU time :)

  void DestructivelyUnescapeStr(LPSTR lpInput) {
    int offset = 0;
    int i = 0;
    while (lpInput[i] != '\0') {
      if (lpInput[i] == '\\') {
        offset++;
      } else {
        lpInput[i - offset] = lpInput[i];
      }
      i++;
    }
    lpInput[i - offset] = '\0';
  }
dialupdotnet··on Show HN: WinGPT – AI assistant for Windows 3.1
Good idea :) Clippy is Office 97 and later though, so I'll need to make a version that fits in with the Windows 95/98 (or even Windows Me) look!
dialupdotnet··on Show HN: WinGPT – AI assistant for Windows 3.1
Thanks! :)
dialupdotnet··on Show HN: WinGPT – AI assistant for Windows 3.1
Yep, I've hardcoded a "system" message that tells ChatGPT to answer in the present tense as if it's 1992, and to make no reference to the current year. It does still slip up and mention the year as mitchdoogle experienced, but it's pretty good most of the time - even with complex questions like asking how many countries there are in NATO.