Собрался недавно допилить бэкенд libvirt для NixOps. Мама дорогая. Почему всё, что делает красношапка, такое NIH-говно? Они для libvirt придумали свой особенный бинарный RPC-протокол. В который пихают текстовый XML. Такое впечатление, что у разработчиков левое полушарие не ведает, что делает правое. В бинарном протоколе всё до предела сжато, даже вызываемый метод кодируется одним int32. Старая школа, ёпта. В этот метод пихается огромная XML-портянка. «Nobody ever got fired for choosing XML.» Зачем нам REST, ZeroMQ, MsgPack-RPC? У нас нет времени, чтобы сношаться с ними. Лучше нахерачим свой несовместимый протокол. Даже у Microsoft Azure, блджад, обычное пролетарское REST API. Даже ублюдский Amazon EC2 работает через обычное простое HTTP. Но красношапке, блджад, надо, чтобы впереди планеты всей. Им только ядро и GCC пилить удаётся вменяемо. Всё остальное, к чему прикасаются, обращается в ссаный понос. Начиная с fontconfig на XML. Далее сраный DBUS, переусложнённый хуже корбы и соапа. Потом... продолжите сами. Сраный микрософт от линукса, блджад. Сдохните, суки, и околейте. Спасибо, наболело.