> Push code review advice from @sigmavirus24
The code already had `host = ri.netloc.split(':')[0]` before that.
The actual root issue is urlparse doesn't split the host, user, pass and port and trying to do it manually is very error prone:
urllib.parse.urlparse('http://example.com:@evil.com:8080/')
ParseResult(scheme='http', netloc='example.com:@evil.com:8080', path='/', params='', query='', fragment='')
Compare this with php: parse_url ('http://example.com:@evil.com:8080/')
[
"scheme" => "http",
"host" => "evil.com",
"port" => 8080,
"user" => "example.com",
"pass" => "",
"path" => "/",
]
With raw video input, I think the assumption "most pixels change little (or not at all) between consecutive frames, creating a sparse difference matrix ideal for this approach." would break down. For a very clean signal (low-noise sensor, brightly lit scene), maybe it'd work, but most real-world signals will have noise > 1 LSB, so I'd expect the lower bits to be changing at least half the time.
Sending the video through a compression and decompression cycle first will tend to remove that noise, creating an artificially static video where that assumption holds up.
Some say coffee is good for you (in moderation), some say it's bad for you.
Some say certain alcoholic drinks are good for you (in moderation), some say no amount of alcohol is good.
Some say some artificial sweeteners have benefits, some say all of them are toxic.
Some think fruit juices are good for you, because fruit. Some (most) say they're bad for you.
Some say fruit smoothies are good for you, because the fiber content outweighs the downside of fructose/natural sugars. But some say all fruit sugar is bad for you.
The only thing that we seem to agree on, is that any sort of beverage containing sucrose is bad for you. But maybe I missed some thread where sucrose in moderation actually has health benefits.
I guess I'll stick to drinking water. But I'm sure there's a reason why that's bad for me.
Arc AGI is the main reason why I don't trust static bench marks.
If you don't have an essentially infinite set to draw your validation data from then a large enough model will memorize it as part of its developer teams KPIs.
Forget all these fancy benchmarks. If you want to saturate any model today give it a string and a grammar and ask it to generate the string from the grammar. I've had _every_ model fail this on regular grammars with strings of more than 4 characters long.
LLMs are the solution to natural language, which is a huge deal. They aren't the solution to reasoning which is still best solved with what used to be called symbolic AI before it started working, e.g. sat solvers.
Sounds like a use-case for property testing: https://en.wikipedia.org/wiki/Software_testing#Property_test...
HTTP, for example, can go into Zig's standard library, whereas C or Rust cannot do that. This helps control package explosion.