• 0 Posts
  • 13 Comments
Joined 2 years ago
cake
Cake day: July 1st, 2023

help-circle


  • kionay@lemmy.worldtoProgrammer Humor@programming.devErrors
    link
    fedilink
    English
    arrow-up
    4
    ·
    1 month ago

    I once worked in a program that allowed custom C# scripts to be written into it to add custom functionality. The way it worked under the hood however was that the code written in the text field would be stitched together into a longer file and the whole thing compiled and ran. The developers didn’t want people to have to write or understand boilerplate code like import statements or function declarations so the place you typed into was the body of a function and some UI was used to get the rest of the bits that would create generated code for everything else.

    To add to that there was a section of global code where you could put code explicitly outside of functions if you knew what you were doing. This wouldn’t get code-generation-wrapped into a function, just at the top of the class. It did, however, only run and get runtime checking when one of the functions was ran. And since the program didn’t grasp that the global code error line number should be with respect to the global code block and not the function code block you could get errors on line -54 or whatever since the final generated file landed the global broken code 54 lines before the beginning of the function.

    Not that any of this was told to the user. I only found out because early versions of the app wasn’t compiled with obfuscation so ILSpy let me see how they rigged the thing to work.

    Error on line -54 will probably be what made me the most dumbstruck in all of development.







  • I can only speak from the experience of one app at one company, but data we collected was for troubleshooting. Mainly because customers will email us stuff like “your app doesn’t work!!! Worst company ever!!” And absolutely no identifying information whatsoever. To make matters worse they’ll email with an email that they didn’t give us as a customer so how in the world are we supposed to help‽
    So we collect enough data so whoever in the company might need to help them can actually do so.
    There’s a lot of “this app is impossible to use!!!” That we find out with enough data collection is just them refusing to hit the GIANT button in the middle of the damn screen that would solve their problem. I hate users.
    I believe we answered questions in the Apple and Google stores that says that we collect information and send it to 3rd parties (because analytics platforms are technically 3rd party) but not to sell it. I don’t know if that distinction is clear on the stores though.