4 ms·
> 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
by capableweb 6y ago
> 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.
- asadlionpk 6y agoThe person posted a PoC that works. Surely they have context now?
- capableweb 6y agoThat'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.
- jhncls 6y agoYou seem to be hinting to Chesterton's fence [0]. [0]: https://fs.blog/2020/03/chestertons-fence/ https://fs.blog/2020/03/chestertons-fence/
- resonantjacket5 6y agoAccept 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.
- asadlionpk 6y agoThanks for sharing this, didn't have a name for this scenario.
- asadlionpk 6y agoBut you do understand the ROI of this relatively simple fix?
- rvnx 6y agoAt 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).
- segmondy 6y agoLet'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.
- toast0 6y agoOK, 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.
- fctorial 6y agoThis bug might be one of a two bug pair that cancel each other. Not very uncommon.
- stevemk14ebr 6y agoit _is_ simple, as evident by the article if you read it in full
- capableweb 6y agoI _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?
- stevemk14ebr 6y ago'Yes, it looks simple at the surface. It most likely isn't' my point is the issue is simple, as the article proves.
- blt 6y agoI agree "shouldn't be too hard" should be avoided, but in this case the developers should fix it even if it is hard.
- cma 6y agoBack 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.
- bspammer 6y agoI hope you at least agree this isn't a bug that should go unfixed for 7 years.