There is an interesting technical reason why its a challenge (and they can't just swap in a supported library):
> What makes the “simulate inputs” approach work is that the engine takes utmost care to keep calculations identical on each client. This is not trivial because you still have to work with things that naturally differ on each client, such as mouse position or which units are selected - this is called the unsynced state. On top of that, there can be hardware differences that have to be worked around to get identical results - the huge effort involved is one of the reasons why Recoil is not available outside x86-64.
Data oriented in clojure slang means modeling things in data structures like hashmaps and clojure sets as opposed to defining classes and types. The language encourages you to do it and provides a lot of built-in functions to work with them.
So it must have tools save, manipulate and visualize conveniently (pretty printing, folding etc) the values of vars that contain nested maps, sequences, sets, etc.
Existing clojure IDEs like CIDER for emacs or Calva for VSCode do that too, and it is a must have to have a nice experience with the language
Indeed! I went back just to mention it owes its incredible UX to the transient package, I am going to look up more uses for it. Do recommend more if you can, please!
I think Emacs still does all of this; the argument the author makes is that it is "arcane", it just uses conventions he is not used to. It is however fully self-documented and interactive.
For me the best textual interface I've ever used remains Magit in Emacs: https://magit.vc/ I wish more of Emacs was like it.
I actually use emacs as my git clients even when I'm using a different IDE for whatever reason.
How quickly does your laptop start? I like this idea a lot, I am now going down the rabbithole of finding which distributions boot the fastest (I remember this mattered a lot to linux users about 20 years ago)
Contractually binding SLAs are usually not worth sewing someone over. And in fact the vendor may drop you making things worse if you insist on getting them.
So in many places they are routinely measured very conveniently for the vendor, or even completely ignored. Or the credits or whatever compensation mechanism is just complicated enought that you don't get money. Or worst case for the vendor they return up to 20% of the cost of the contract.. for the month in which the incident happened.
> What makes the “simulate inputs” approach work is that the engine takes utmost care to keep calculations identical on each client. This is not trivial because you still have to work with things that naturally differ on each client, such as mouse position or which units are selected - this is called the unsynced state. On top of that, there can be hardware differences that have to be worked around to get identical results - the huge effort involved is one of the reasons why Recoil is not available outside x86-64.
https://recoilengine.org/articles/netcode-overview/