Everything is fake now. I want a technology which works with a raw film scans, not even compressing them to JPEG, which is a 1st step in loosing the details BTW. Motion detection, key frames, delta frames - fine. But with a lossless video. On a Blu Ray off course, i don't care much about streaming.
A 4K/24p film encoded with Apple ProRes 4444 XQ (not even ProRes RAW) is 716 GB per hour, so you would need to swap a total of 30 Blu-ray discs once every 4 minutes in order to watch a 2 hour movie.
I wonder how much you'd get with such a technology... truly uncompressed 4K video you're talking about something on the order of a few terabytes for a 90-minute movie, so way way bigger than the biggest 4K Blu-ray discs. Lossless compression would get you under that number, but far enough to matter?
Of course it can be done! It wouldn't be as general purpose as the Java decompiler in C because the C decompiler would have to know about the CPU architecture of the executable code (just as the Java decompiler has to know about JVM opcodes).
Looks good, but Erlang gen_srv, supervisor analogs needs to be created, along with the standard Erlang messaging logic around it, for this project to be useful.
could you dive into the gen_srv a bit more? From what I understand about erlang the value prop is already enormous, what extra does gen_srv add? It seems like people who Erlang understand this intuitively so I haven't really been able to find it explicitly explained anywhere
`gen_server` is an abstraction over the a client sending a `request` that a server services to produce a `response` to be sent to the client.
The `gen_server` implementation takes care of things like timeouts, servers terminating before a response is produced as well as maintaining the server state.
I'll add to this that the "abstraction" component of this description is key and the use-case for a gen_server is far more broad than what you might expect in say a networking or web context.
You would use them for instance when you need to group behavioral units with a defined interface, even if you don't require any explicit networking.
This is a bit reductive and wrong in some ways but think of gen_server modules and instances as "sort of" like classes/objects. You "send messages/requests" instead of "calling methods," but the spirit is essentially the same -- it's a way of modeling the world with code
Appreciate all sibling comments, they encouraged me to dig further. Read Joe Armstrong's book "Pragmatic Erlang" and the section on gen_server was nothing short of breathtaking. What great and terrible power!!!