MTQQ, CoAP, rUDP, Ipv6, FS, HGV, KISS, VPN

  • Studied MTQQ defined in OSASIS Standard MTQQ v3.1.1 MTQQ-SN for Sensor Networks and CoAP / RFC7252. MQTT @ Wikipedia and of course CoAP @ Wikipedia. Without forgetting security and encryption DTLS. I liked all the details in the documents, yet of course as expected most parts of the documentation was totally obvious and expected. Yet another protocol, where cookies, session handling, pings, and keep-alive are implemented. Pub-sub, QoS definitions. All the standard stuff. Topic names. Maybe most interesting part was the QoS levels stuff, yet it's also exactly what you would assume. CoAP Message ID usage is standard, with duplicate detection. Basic exponential back-off, with slight randomization and limited number of re-transmissions. Optional response caching and freshness model with proxy support. Get, Post, Put, Delete.
  • Protocol is quite complex, but I guess that's just to make it as simple as possible for end applications. It's always a good trade-off question, if protocol should be simple, and apps using it complex, or the other way around. Make the protocol stack complex, and make it really easy for developers to work with it.
  • Finally very nice summary article: MQTT and CoAP, IoT Protocols
  • OpenBazaar 1.0 used rUDP for it's data transport
  • Got again frustrated by the fact that exFAT in Linux doesn't support sparse files. Full allocation of files filled with zeros takes lot of time, as well as consumes SSD / Flash write cycles for nothing.
  • Configured a few Linux servers to use 6in4, for full IPv6 connectivity with local Kuusitunneli.fi relay. I think every computer should have IPv6 connectivity, if that's missing, something is inherently broken. It's good to remind your self about networking stuff every now and then. If you're not doing too often networking configurations on Linux and iptables, etc, adding routing and stuff. It can be quite tedious to get stuff configured right and exactly as you want it to be. In Finland we've also still got Teredo gateway, in case you're stuck with networks which do not allow IPv6 encapsulation.
  • Ultra Defrag has been somehow always kind of bad. Now it felt really bad. I had to use Auslogics Defrag, which is bit questionable, if it's malware or not? Anyway, it defragged exFAT drives very nicely. Even if fragmentation wouldn't be a problem when reading stuff, when writing stuff, fragmented free space can still make write speeds absolutely ridiculously slow. Yet the question remains, if it was a good idea to use 4K clusters? Maybe it was, because with that specific drive, I've got tens of thousands of small files. It would be totally different story, if the drive would just have a few dozens of large files. Generally if individual file (write9 access isn't required, it's better idea to compress bunch of small files into one large archive. Programis like 7-zip with solid compresion, will do that very efficiently.
  • Extents vs Tail Packing. Extents are a way to more efficiently handle large numbers of small clusters. And tail packing is a solution where "sub block" sized data, is stored in single block from multiple files. Basically both are just improving 'disk utilization' and reducing wasted space in 'empty cluster / block ends', but using very different approach.
  • Checked out most resent articles about Hypersonic Glide Vehicles (HGV). These will make weapons more accurate and way harder to defend against.
  • About KISS design. Everyone should have learned from Roman Empire, that complexity got it's cost. If you can keep thing simpler, those are cheaper to operate and maintain.
  • Does anyone know why Cisco and many other VPN clients require connecting twice before the connection becomes functional? Me and many others have noticed this behavior and wondered about it. But nobody seems to know why.

2019-04-21