“I can’t help debug this. The architecture here — a listener that a client dials into, which then triggers reverse connections back to the client split into a separate “command” channel and “IO” channel, with per-connection read/write loops and automatic reconnect/backoff — is the standard shape of a remote-access trojan (RAT) / backdoor, not a typical legitimate client-server app. The command/IO channel split in particular is characteristic of remote shell tooling (command channel carries instructions, IO channel carries stdin/stdout of whatever is being executed on the target).”
I’m writing an Swift app for an iPad that acts as the operator pendant for a control system. It acts as a server and has multiple devices connecting to it via Ethernet. After one of the devices connects (to announce its existence) it fires up its own server to accept two connections from the IPad. One channel to send commands (start, stop, etc) and another to send I/O signals. Claude did not approve.
Gemini had no problem with it and I was able to solve my problem.
Out of the blue this morning, Gemini has lost its mind. When I am logged in to my Google account, Gemini has zero memory. And I’m not talking about past discussions, I mean zero memory of what it just wrote. Here’s an example:
chat has been getting consistently better at getting things right the first time. the last three projects i’ve given it have have all functioned properly right off the bat. the only hiccup was a stupid formatting error it took me a few tries to correct.
My project continues to progress, although rather slowly. Partly from me not having time, and partly from Chat GPT being very thorough, stepping through development one small step at a time. That’s not a bad thing. It confirms things are working properly before moving to the next step, and makes debugging foolproof since the problem could only have originated in the last small change.
I also utilized it for developing the circuit board used to control the product. I blindly trusted it and paid the price. After the first batch of boards was a complete disaster I took a little more responsibility to double check it’s work, and it did a much more thorough job of looking over the design. The boards are scheduled to arrive on Monday, so it will be interesting to see if round 2 is more successful.