I think a nicer way to go would be making a JS frontend for IRC, which is how Twitch chat works. IRC has stood the test of time, building around that would let people connect to chat using whatever IRC client they want and not be limited to just whatever frontend(s) we provide, more readily enable the use of bots, allow BNCs, etc.
To be clear, I'm not proposing we replace IRC. You're right in that IRC has withstood the test of time.
I'm suggesting this more as a potentially fun simple small project to start increasing the amount of web development skills around here. If someone wants to take the code and run off to build some crazy hair brained scheme, they're more than welcome, though I have no plans on using this project to replace IRC. It's also why I don't want to use pre-built code.
As for having a JavaScript frontend that interfaces with IRC, I don't believe that's possible without going through a custom server. One of the aspects of WebSockets, is you have no control over the wire representation of your data. This is for security reasons. The browser will send each packet XORed with a random mask (included in the header of the packet), which the server must undo before processing the data. This value changes with each packet, using a secure random number generator, to ensure the server doesn't communicate the mask back to the client and have the client trivially undo the masking. This is specifically to prevent browser traffic from impersonating traffic for other protocols. Remember browsers are running untrusted code from over the internet, so the implications of being able to write an IRC client in the browser would be great.
Basically what I'm saying is, any IRC like JavaScript frontend, will need to communicate with a custom server, perhaps written using Rails (or Node, or whatever). Whether the server then interfaces with IRC is a separate question.
I'd be more interested in the pathfinding stuff as you know, but you also know I'm mostly just interested in procrastination.
I included that one for a reason.
Now would you like to schedule a time to procrastinate, or perhaps procrastinate about procrastinating?
Actually, I'm available this Sunday 3 Sep at Midnight GMT - 4 Sep 3AM GMT
That's 4 Sep 9am - noon my time, so that would work for me. I made a note on my calendar to be on IRC at that time.
My first choice would be removing windows.h from the Archive code. If we get far enough, then working on a Linux build either through a makefile or a fresh Linux project. I currently do not have access to a Linux OS so if the pair had Linux it would be helpful! However it might take the full time to get windows.h out of the CLM code, so no big deal if we just work Windows for the session. I would tend to test code changes using the OP2Archive program since it has a working EXTRACT and CREATE command.
Agreed, removing windows.h from the Archive code is a priority. I was taking a look at my old VolDecompress project last night, testing some changes in a Windows VM. I figured I'd start there since, well, it was my old project and I'm most familiar with it. Plus I wouldn't be stepping on your toes if you were doing active development on your project. I should probably switch over to your project though. At the very least, changes should be directly applicable to what you're doing. Perhaps following a set of small changes, using Git, could be a good way to become familiar with that version control system.
I think once we have the windows.h stuff removed, then we can switch to developing on Linux. I can host for that. That might be a future session though.
The Google Test stuff could be interesting. For now I'm considering that a problem for a future session.