<feed xmlns='http://www.w3.org/2005/Atom'>
<title>xK/xP/.gitignore, branch v2.1.0</title>
<subtitle>IRC daemon, bot, TUI client and its web frontend</subtitle>
<id>http://cgit.janouch.name/xK/atom?h=v2.1.0</id>
<link rel='self' href='http://cgit.janouch.name/xK/atom?h=v2.1.0'/>
<link rel='alternate' type='text/html' href='http://cgit.janouch.name/xK/'/>
<updated>2022-09-15T22:51:11Z</updated>
<entry>
<title>xP: use the binary protocol for incoming events</title>
<updated>2022-09-15T22:51:11Z</updated>
<author>
<name>Přemysl Eric Janouch</name>
<email>p@janouch.name</email>
</author>
<published>2022-09-15T20:45:14Z</published>
<link rel='alternate' type='text/html' href='http://cgit.janouch.name/xK/commit/?id=6f39aa66156f53b27e3b9cfe8457fc2f64129e56'/>
<id>urn:sha1:6f39aa66156f53b27e3b9cfe8457fc2f64129e56</id>
<content type='text'>
And batch event messages together as much as possible.

JSON has proven itself to be really slow
(for example, encoding/json.Marshaler is a slow interface),
and browsers have significant overhead per WS message.

Commands are still sent as JSON, sending them in binary
would be a laborious rewrite without measurable merits.

The xP server now only prints debug output when requested,
because that was another source of major slowdowns.
</content>
</entry>
<entry>
<title>Start X11 and web frontends for xC</title>
<updated>2022-09-05T12:26:00Z</updated>
<author>
<name>Přemysl Eric Janouch</name>
<email>p@janouch.name</email>
</author>
<published>2022-08-08T02:39:20Z</published>
<link rel='alternate' type='text/html' href='http://cgit.janouch.name/xK/commit/?id=1639235a48dbed75c2563c9a497b41c31a2a1bae'/>
<id>urn:sha1:1639235a48dbed75c2563c9a497b41c31a2a1bae</id>
<content type='text'>
For this, we needed a wire protocol.  After surveying available options,
it was decided to implement an XDR-like protocol code generator
in portable AWK.  It now has two backends, per each of:

 - xF, the X11 frontend, is in C, and is meant to be the primary
   user interface in the future.

 - xP, the web frontend, relies on a protocol proxy written in Go,
   and is meant for use on-the-go (no pun intended).

They are very much work-in-progress proofs of concept right now,
and the relay protocol is certain to change.
</content>
</entry>
</feed>
