11 ms·
Oh man, this article reminds me of an article that was a parody of some horrid business logic. Something like this: a "genius" programmer was somehow, for some
by jancsika 2y ago
Oh man, this article reminds me of an article that was a parody of some horrid business logic.
Something like this: a "genius" programmer was somehow, for some reason using svn commits as a method dispatcher. Commit ids were sprinkled throughout the codebase. A new hire broke the entire system by adding comments, and comments weren't compatible the bespoke svn method dispatcher.
Does anybody remember this article? I really want to read it again.
- carderne 2y agoThe Inner JSON Effect. Most recent HN discussion of it: https://news.ycombinator.com/item?id=40923258 https://news.ycombinator.com/item?id=40923258
- dang 2y agoThanks! Also: The Inner JSON Effect (2016) - https://news.ycombinator.com/item?id=35964931 https://news.ycombinator.com/item?id=35964931 - May 2023 (11 comments) The Inner Json Effect - https://news.ycombinator.com/item?id=12185727 https://news.ycombinator.com/item?id=12185727 - July 2016 (142 comments)
- ivanjermakov 2y agoTom is a genius! https://thedailywtf.com/articles/the-inner-json-effect https://thedailywtf.com/articles/the-inner-json-effect
- jancsika 2y agoYes! Has anyone tried implementing it? If not I'm going to give it a shot. :)
- masklinn 2y agoIt'd be way easier (and actually not completely insane, though still far from sane) in git: you'd store the functions in blobs instead of misusing svn commits. It'd probably be a lot faster too as Git is fairly good at giving you object content. Admittedly the GC would be an issue, but I think that would be fixable: instead of a `functions` key in a json, link all the functions in a tree object, the link that tree object from a commit that way you have the author for free. And then the class name can be a ref' in a bespoke namespace. Well that's the issue that it's not necessarily clear what commits go together to compose the system, so might actually be better to replace the ref' per class by a tree for the entire thing, with each class being a commit entry, and an other commit capping the entire thing. Of course git will not understand what's happening as commit entries in trees are normally for submodules but that's fine, git is just used as a data store here.