Four short links: 2 April 2018
Game Networking, Grep JSON, Voting Ideas, and UIs from Pictures
- Valve’s Networking Code — a basic transport layer for games. The features are: connection-oriented protocol (like TCP)…but message-oriented instead of stream-oriented; mix of reliable and unreliable messages; messages can be larger than underlying MTU, the protocol performs fragmentation and reassembly, and retransmission for reliable; bandwidth estimation based on TCP-friendly rate control (RFC 5348); encryption; AES per packet, Ed25519 crypto for key exchange and cert signatures; the details for shared key derivation and per-packet IV are based on Google QUIC; tools for simulating loss and detailed stats measurement.
- gron — grep JSON from the command line.
- The Problem With Voting — I don’t agree with all of the analysis, but the proposed techniques are interesting. I did like the term “lazy consensus” where consensus is assumed to be the default state (i.e., “default to yes”). The underlying theory is that most proposals are not interesting enough to discuss. But if anyone does object, a consensus seeking process begins. (via Daniel Bachhuber)
- pix2code — open source code that generates Android, iOS, and web source code for a UI from just a photo. It’s not coming for your job any time soon (over 77% of accuracy), but it’s still a nifty idea. (via Two Minute Papers)