Most active commenters
  • capableweb(3)
  • asadlionpk(3)

←back to thread

3883 points kuroguro | 17 comments | | HN request time: 0.808s | source | bottom
1. capableweb ◴[] No.26296659[source]
> the problems shouldn’t take more than a day for a single dev to solve

It bothers me that so many of us developers are annoyed by managers saying stupid stuff like "shouldn't be too hard" about things they don't understand, but then other developers walk into the same trap.

Yes, it looks simple at the surface. It most likely isn't. The problem is not that it looks simple, the problem is that you assume it is simple, probably because you don't have the full context.

replies(4): >>26296675 #>>26296687 #>>26296709 #>>26296737 #
2. asadlionpk ◴[] No.26296675[source]
The person posted a PoC that works. Surely they have context now?
replies(2): >>26296683 #>>26301682 #
3. capableweb ◴[] No.26296683[source]
That's very true, and the PoC works for that person. It's not that easy in real-life development though, you can't just switch out the JSON parser and call it a day. Lots of testing has to be done and you have to go through all the previous changes to make sure you're not missing what the previous maintainers did to fix some one-in-a-million issues.

I'm not saying it's impossible for this to be as easy as the author claims it to be. I'm just saying that it might not actually be that easy in reality, if you're on the inside.

replies(4): >>26296745 #>>26296746 #>>26297122 #>>26297316 #
4. stevemk14ebr ◴[] No.26296687[source]
it _is_ simple, as evident by the article if you read it in full
replies(1): >>26296694 #
5. capableweb ◴[] No.26296694[source]
I _did_ read it. Did I miss the part where Rockstar confessed it was a really easy issue to fix and they apologised or what's your point?
replies(1): >>26296796 #
6. blt ◴[] No.26296709[source]
I agree "shouldn't be too hard" should be avoided, but in this case the developers should fix it even if it is hard.
replies(1): >>26296908 #
7. bspammer ◴[] No.26296737[source]
I hope you at least agree this isn't a bug that should go unfixed for 7 years.
8. jhncls ◴[] No.26296745{3}[source]
You seem to be hinting to Chesterton's fence [0].

[0]: https://fs.blog/2020/03/chestertons-fence/

replies(2): >>26296941 #>>26297749 #
9. asadlionpk ◴[] No.26296746{3}[source]
But you do understand the ROI of this relatively simple fix?
replies(1): >>26298265 #
10. stevemk14ebr ◴[] No.26296796{3}[source]
'Yes, it looks simple at the surface. It most likely isn't' my point is the issue is simple, as the article proves.
11. cma ◴[] No.26296908[source]
Back of the envelope (and if the same problem applies to consoles in addition to PC), the fix would save 30+ human waking lifetimes per year.
12. resonantjacket5 ◴[] No.26296941{4}[source]
Accept in this case I don't really see why you'd want a naive o(n^2) parser when it isn't needed. Well besides for slow loading times.
13. segmondy ◴[] No.26297122{3}[source]
Let's say that JSON parser is used in so many other places and we are afraid of regression. Guess what? We can make a new one. Let's call it newImprovedJsonParser(). Use that only at this spot, and you have fixed the issue without breaking other parts. You can then replace the other's once you vet that they are compatible.
14. toast0 ◴[] No.26297316{3}[source]
OK, don't switch out the JSON parser. Just patch in the caching strlen before parsing the json, and set it back to normal strlen after; and fiddle with the hashmap stuff.
15. asadlionpk ◴[] No.26297749{4}[source]
Thanks for sharing this, didn't have a name for this scenario.
16. rvnx ◴[] No.26298265{4}[source]
At such big amount of scale of revenues, I'm sure that GTA Online has feature flags that can act as canary deploys or A/B tests groups.

Deploy one hacked version (with the dirty fix / hack for this case) to one group, deploy the standard version to another group, measure the ROI and the crash-rate.

If the results are similar, then you validate permanently the fix and live happily after.

6 minutes to 1 minutes 10 is massive, it will even bring new players to join the game (I don't like to play GTA Online, though it's a great game, just because of loading times).

17. fctorial ◴[] No.26301682[source]
This bug might be one of a two bug pair that cancel each other. Not very uncommon.