Editing 2797: Actual Progress
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 10: | Line 10: | ||
==Explanation== | ==Explanation== | ||
+ | {{incomplete|Created by a CONFUSED RESEARCHER - Please change this comment when editing this page. Do NOT delete this tag too soon.}} | ||
An edge case is a situation, often in software engineering but also in other domains, that is rare and may need special handling and does not perform the way most of the situations do. | An edge case is a situation, often in software engineering but also in other domains, that is rare and may need special handling and does not perform the way most of the situations do. | ||
Line 15: | Line 16: | ||
At the start of tackling a complex problem, somebody may come up with a simplified interpretation of it, see it as simple, and implement and even deploy a system that uses their interpretation. These partial (incorrect) and ingeniously useful solutions are called heuristics in software engineering. If the developer is unaware that their formation of the problem is incorrect, they may happily dive into edge cases hoping to hash them out and resolve them, only to uncover that the very underpinnings of their possibly-live system are based on false perceptions or logic and then often even be at a loss as to how it is working at all. | At the start of tackling a complex problem, somebody may come up with a simplified interpretation of it, see it as simple, and implement and even deploy a system that uses their interpretation. These partial (incorrect) and ingeniously useful solutions are called heuristics in software engineering. If the developer is unaware that their formation of the problem is incorrect, they may happily dive into edge cases hoping to hash them out and resolve them, only to uncover that the very underpinnings of their possibly-live system are based on false perceptions or logic and then often even be at a loss as to how it is working at all. | ||
− | + | At this point it may be the case that the developer is actually working on a cutting-edge research challenge, unaware that this is the case, and the problem space they have to grapple with is one the largest minds in the world have still not solved. (there’s an xkcd from long ago where a naive boss asks an engineer to perform a simple task and the engineer gives a short timespan, and then the naive boss asks the engineer to perform a novel research task, and the engineer asks for a research team a long timespan, that could be cited here) Before the easy accessibility of research papers it was much less obvious when or when not this was happening. And today, when many historically very hard problems have many more well-known solutions, and many of the very hard problems that have been intractable in the past are demonstrating aggressive progress that anyone can step in and review, the situation is quite different and much more tangible. | |
− | + | Another quite common software engineering situation in which the situation in the comic can happen is when working with a codebase that has been rushed to market without organizing and modeling its underlying concepts well: “spaghetti code”. At first one may think they can enter the software and simply patch a fix, but past similar patches have made the parts needlessly intertwined and baked any heuristics in in an unmaintainable way. | |
− | + | ==Transcript== | |
+ | {{incomplete transcript|Do NOT delete this tag too soon.}} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
:[Cueball is sitting on an office chair at a desk and has his hand on a laptop. Ponytail is standing behind him.] | :[Cueball is sitting on an office chair at a desk and has his hand on a laptop. Ponytail is standing behind him.] | ||
:Cueball: When I started this morning, there were a few edge cases I was confused about. | :Cueball: When I started this morning, there were a few edge cases I was confused about. | ||
:[Panel of just Cueball sitting on the office chair.] | :[Panel of just Cueball sitting on the office chair.] | ||
− | :Cueball: But now | + | :Cueball: But now after a full day of research, |
:[Same scene as in the first panel, but Cueball has his hand on his lap.] | :[Same scene as in the first panel, but Cueball has his hand on his lap.] |