you ever think about how the standard cartoon bomb (a large blue or black sphere with a big fuse coming out the top) is essentially the "save icon" of destruction, because 1) it's symbolic meaning is widely understood, and 2) it's an anachronism that is widely recognized only for its symbolic meaning as its real life counterpart is long obsolete?
ok I got another recording of the thing finally. This was recorded on a faster computer than my laptop, so unfortunately it doesn't have the really cool long convergence artifact thing going on. I really hate what the video encoding is doing here, but such is life.
@aeva very nice. with TAA, you could apply more post-filtering and make the noise disappear entirely. but what's the complexity so far? how do you draw it?
Once again: folks should probably consider switching to Firefox. Especially if you, I don't know, rely on ad-blocking to navigate our glutted-as-shit modern internet, for instance?
it's odd how many programs i use lately have this weird thing where they start up, and then after a second or so they "reboot". am i the only one noticing this?
the facebook app on android did it first.
then i noticed it in SDL2 after the window has been set up, when i request the render surface.
now vscode did it after i opened the console.
it's a quite irritating trend. and it feels weird, like the phone clicking right after you begin a call.
Hypothetically, the simplest perfectly parallel program requiring no operations or instructions at all is a look-up table. The bigger the table, the larger input and output can be. A table of 2^(N+M) bits maps a 2^N bit index to a 2^M bit value.
The main jobs are then figuring out
(1) how to populate the table
(2) what storage format to use
(3) how to access it randomly
(4) how to verify the table
Above description is a problem shaped in the form of a solution, i.e. an abstraction. This LUT as an abstraction has these combined benefits over other abstractions:
It is an algebraic object
There are no other dichotomies or types
Program and data are the same
It has a canonical rectangular shape of fixed size
Reordering problems in programming are interesting: Your output doesn't have the same order as your input.
(A) You read in the input sequentially, your opening move is fopen(). The output order differs. Sometimes it's almost parallel, but then flipped here and there (read-ahead). sometimes it's completely backwards. Every time you use some form of buffering to make up for that - in severe cases, this buffer becomes a polymorphic data structure.
The problem with us humans is that we can't help thinking in anything but one dimension, one foot in front of the other, when work is concerned. And hence our programming models keep looking like (A). Our texts are 1D. Our graph topology is visited in 1D. Very often, input structures are deliberately shaped for serial processing - like humans read. And once they're shaped for parallel processing, they become difficult to manage. I wonder if we're not hitting some hard cognitive wall here.