> The answer is that the Raylib DLL is implicitly pulled in by game.dll, but unloading game.dll does not unload the implicitly pulled in Raylib DLL
Was about to comment on this one, this only applies on Windows. So far as my experimentation with Hot Reloading with Odin on Linux went though, on linux that would work differently. It seemed as though there was some kind of reference counter on shared objects, so if your main exe didn't use raylib, it would also get yeeted when you unload the game and all of the state would reset.
So if you really want to make this work on both windows and linux, you'd insert
@require import "vendor:raylib"
_ :: raylib
In the main program and iirc you don't have to do anything else. Actually it was like a year ago the last time I did this, I don't remember what the issue was haha. Pretty sure I ran into a bug with GLFW thread locals but yea. no idea.
What's a CRDT? Yeah... I guess a better start for the article would have been to explain the terminology and what that even is and what is used for. Because I have no idea what I just read
It's what used when multiple people edit a Google doc at the same time. But most source control systems are also based upon these datatypes.
Most distributed systems will have components that correspond to a CRDT. However there is not always awareness of this abstraction and the laws that govern it.
This isn't a bad write up because it's actually focusing on the properties, rather than the utility creating the intuitive understanding that one can not only design such datatypes but also discover them in existing designs.
But i agree that if you never heard of them, this isn't the best introduction, because it doesn't mention use cases or implementations at all.
> It's what used when multiple people edit a Google doc at the same time.
I expect Google Docs is still using Operational Transform, rather than CRDT, which solves a similar set of problems, the former being suited for running off centralized servers and the latter being more suited for distributed scenarios. Though you could still certainly create something Google Docs like with CRDT.
> Didn't they explicitly acquire the people behind CRDT's.
They may well have hired some of the cohort behind early CRDT research. But I don't believe that work was ever directly applied to Google Docs, from what I've read. Google probably has other applications for CRDTs far beyond anything I'd comprehend.
> Wasn't it also part of Google Wave?
The whitepapers and other material I've read all points to OT being used for Google Wave, which was later applied to Google Docs as well.
Which in turn has the same grey box with even more introductory links right under the AI-Slop.
Like
- An interactive intro to CRDTs
- An introduction to state-based CRDTs
- CRDTs for non-academics
- CRDT: The Hard Parts
- Readings in CRDTs
- crdt.tech
I caught a different meaning from this entire sentence. I think the author was alluding to the fact that even if you replace a technology with something "better", at the end it doesn't matter, because Most People will keep using Twitter, Most People will keep using QWERTY layout, count all of your acquaintances, I doubt any of them speak Esperanto.
Well at least the idea comes through, but I don't think it makes sense to argue whether Lua is actually better than JavaScript or not.
Indeed. If one primarily values certain technical aspects, Beta was "better" than VHS. But if one primarily values popularity, profitability or practicality, then VHS was "better". And so on with the other examples.
So when we go back to this:
> Esperanto is certainly not better than English; and I really doubt Lua is better than Javascript
All I get from it is "I personally have a strong opinion about what makes a language 'better'". Nothing wrong with that, but it's independent from the argument made by TFA. Perhaps I misinterpreted.
Was about to comment on this one, this only applies on Windows. So far as my experimentation with Hot Reloading with Odin on Linux went though, on linux that would work differently. It seemed as though there was some kind of reference counter on shared objects, so if your main exe didn't use raylib, it would also get yeeted when you unload the game and all of the state would reset.
So if you really want to make this work on both windows and linux, you'd insert
In the main program and iirc you don't have to do anything else. Actually it was like a year ago the last time I did this, I don't remember what the issue was haha. Pretty sure I ran into a bug with GLFW thread locals but yea. no idea.reply