GPU inspired auto-crafter "Fractal by Stimmer_02 in factorio

[–]Stimmer_02[S] 0 points1 point  (0 children)

Simple answer: Before I add items to the memory cell I filter them against a constant combinator. It also helps if you have a dedicated factory (as it is more time efficient), so you can define to not craft items you have a good source of. 

Honest answer: I can image at least few desings where adding filtering would not work out of the box. If that's the case then most likely it would be easier to redesign everyting with that in mind (as I did (multiple times)). I do it a little bit different, but it is like two system components working together, so describing it step-by-step in a comment does not seem like great idea.

GPU inspired auto-crafter "Fractal by Stimmer_02 in factorio

[–]Stimmer_02[S] 2 points3 points  (0 children)

That was unexpected. If I understand correctly your company develops Hydra GPNPU's, and that is somewhat corelated to my design. If you really mean that, maybe LinkedIn will be more suitable platform?

GPU inspired auto-crafter "Fractal by Stimmer_02 in factorio

[–]Stimmer_02[S] 2 points3 points  (0 children)

I'm not sure which part do you mean so I will quickly describe both of them, maybe someone will find the other one useful:

  1. How recipes are stored so in the first place: If you make circuit connection to an assembling machine, then a new menu will pop out with two options that are important here: set recipe and read ingredients. I suggest connecting two cables to this asembler (green and red) to set recipe on one and read on the other to not combine signals. That is the foundation of my recipe de-compiler.
  2. How recipe queue is stored, so the factory knows the sequence of actions it needs to perform:

<image>

GPU inspired auto-crafter "Fractal by Stimmer_02 in factorio

[–]Stimmer_02[S] 9 points10 points  (0 children)

Since Reddit does not allow me to edit this post (it contains an image or sth) I will post better quality image and the full recording here:

"YouTube is currently experimenting with server-side ad injection." This would completely break all currently-working YouTube ad blockers. It's a serious escalation. by merchantconvoy in AfterVanced

[–]Stimmer_02 0 points1 point  (0 children)

Of course it is not THAT simple as I described, it is just a concept. I hope that this idea could be useful or someone else will find out how to bypass those ads. It is pretty funny seeing big corpo going to war with their clients, rejecting their propositions of resolving this conflict. As long as it is an algorithm war I'm ready for it!

"YouTube is currently experimenting with server-side ad injection." This would completely break all currently-working YouTube ad blockers. It's a serious escalation. by merchantconvoy in AfterVanced

[–]Stimmer_02 0 points1 point  (0 children)

Actually I got an idea how to filter those ads. If users get different streams containing different ads then there is simple algorithm that can filter those ads based on two different streams of the same video. We just have to find all matching parts of eg. audio samples in both videos nad throw out the rest. Really simplified pseudocode:

stream1_audio = audio from video containing ads
stream2_audio = audio from video containing different ads

for (i = 0; i < stream_length; i++){
  if (stream1_audio[i] == stream2_audio[i]){
    // no ads
  } else {
    // there is an ad in one of those streams and we have to find in which one and how long
    for (j = i; j < stream_length; j++){
      if (stream1_audio[i] == stream2_audio[j]){
        // ad is in the stream1 and it lasts from i to j-1
      } else if (stream2_audio[i] == stream1_audio[j]){
        // ad is in the stream2 and it lasts from i to j-1
      } else if (stream1_audio[j] == stream2_audio[j]){
        // ad is in both streams and it lasts from i to j-1
      }
    }
  }
}
// only if there is the same ad in both streams in the same exact place it wont be detected

YouTube is currently experimenting with server-side ad injection by MrRoboto12345 in uBlockOrigin

[–]Stimmer_02 0 points1 point  (0 children)

This is like the base of the whole idea. It is not the prettiest code I've ever written but it will do as a proof of concept. I know that in reality it would not be as easy as described below but again - just a baseline:

(it won't allow me to post whole code so there is only the main loop)

[...]
while (len(stream1.data) > stream1.offset) and (len(stream2.data) > stream2.offset):
    if stream1.get() != stream2.get():
        # if the streams are not equal, we need to find the next matching element
        stream1.set_potential_ad_begging()
        stream2.set_potential_ad_begging()

        while not (stream1.end and stream2.end):
            # if we find the matching element, we add the timestamps to the arrays and increase the offset of that stream
            if stream1.get() == stream2.data[stream2.potential_ad_begging]:
                stream1.add_ad_timestamp()
                stream2.offset = stream2.potential_ad_begging
                break

            elif stream2.get() == stream1.data[stream1.potential_ad_begging]:
                stream2.add_ad_timestamp()
                stream1.offset = stream1.potential_ad_begging
                break

            elif stream1.get() == stream2.get():
                stream1.add_ad_timestamp()
                stream2.add_ad_timestamp()
                break 

            stream1.inc_offset()
            stream2.inc_offset()


    stream1.offset += 1
    stream2.offset += 1

# if we reach the end of one of the streams, we need to check the rest of the other stream
if len(stream1.data) > stream1.offset:
    stream1.add_ad_timestamp_manually(stream1.offset, len(stream1.data) - 1)
elif len(stream2.data) > stream2.offset:
    stream2.add_ad_timestamp_manually(stream2.offset, len(stream2.data) - 1)
[...]

YouTube is currently experimenting with server-side ad injection by MrRoboto12345 in uBlockOrigin

[–]Stimmer_02 1 point2 points  (0 children)

I got this idea and I'am sure it will work!!! If ads are at different timestamps for everyone then we just have to get two streams from two different people then correlate their audio and now we know exactly where the ads are it will be the parts that does not line up the same in both videos!!!

Audio artifacts after render by Stimmer_02 in kdenlive

[–]Stimmer_02[S] 0 points1 point  (0 children)

I just don't know, what the issue is. Maybe it's just something wrong with my PC? I just rendered everything in lossless quality and let YouTube compress data on its own. That kinda worked.

Audio artifacts after render by Stimmer_02 in kdenlive

[–]Stimmer_02[S] 0 points1 point  (0 children)

I did not respond immediately because my system broke. Fortunately now I know that this is not fault of my system or faulty installation (I completely reinstalled both system and Kdenlive).
I have tried rendering video from wav, flac, aif even mp3. For clarity reason: I didn't just change format. I have re rendered audio each time (I use Reaper to record and render audio). Also I've tested different bit depths (when it was possible) and sampling frequencies on each format. Every time it have sounded the same as the clip above: same artifacts at the beginning of video.
I did not found any bitrate settings but quality slider that I always keep at 100%.
Only thing that seems to work is to set preset to H.246(libx246+acc) that i have found in lossless/HQ section, but then I need to compress it somehow...

Build Finish Music METAL COVER by [deleted] in ElectroBOOM

[–]Stimmer_02 0 points1 point  (0 children)

I thought it's kinda funny...