|
a fun thing with github issues is you can easily write github action workflows that interact with them
|
# ? Feb 26, 2022 19:32 |
|
|
# ? May 21, 2024 02:47 |
|
Plorkyeran posted:The "file a ticket and maybe we'll schedule it next quarter" approach to dealing with bugs is pretty garbage and the focus on shipping features on schedule over fixing bugs asap is a big part of why software is so awful, but even when working on small self-contained things I've accumulated a list of bugs to fix while in the process of fixing the first bug I found plenty of times. Pretty much this. If you've never ran into "oh look, I fixed the bug and also found 3 more bugs and 2 pieces of ??!!!??" while programming, I have to question your existence.
|
# ? Feb 26, 2022 19:57 |
|
Most of the bugs I fix these days are the result of somebody fixing a "simple" bug ~3 years ago.
|
# ? Feb 26, 2022 21:15 |
|
Ola posted:A dumb question: Isn't there huge amounts of user friendly tooling that makes C easy and safe by now? Arduino is a relatively user-friendly C environment, but they do that by piling on the macros and libraries so you're writing just the business logic.
|
# ? Feb 26, 2022 21:19 |
|
I'm insulted by the mere suggestion that there are bugs in my code those are load-bearing surprise features
|
# ? Feb 26, 2022 21:47 |
|
Most bugs I have encountered with backend code is usually: - Not checking/dealing with return values. - Not checking string lengths or min/max values. - Not sanitizing inputs from the front end. - No type checking. - Ignoring warnings from the IDE, compiler, or static analysis tools. - Trying to manage your own memory. - Not managing memory properly (if in C.) - Not writing unit/integration tests to ensure future changes don’t screw up what you already wrote. It’s all basic things that take a bit of effort to do, and many MANY programmers just don’t care enough to do.
|
# ? Feb 26, 2022 21:54 |
|
most bugs i've found in backend code are: an interaction between two features does not work in the way that anyone expects or performance
|
# ? Feb 27, 2022 00:58 |
|
There is definitely a class of bugs where it's easier to make a one-line change to fix them than to report it in an issue tracker. I don't see them very often in our production code because people tend to find and fix them in their own code before even making a pull request in the first place. If the original twittor's experience is such that they think those are the only sort of bugs that exist ... that says quite a lot, I think.
|
# ? Feb 27, 2022 01:42 |
|
redleader posted:
Back end for one of the largest car listing site is so poorly written that it could not make an API to provide real time statistics on advertising spend and other usage statistics that would return in under 30 seconds. Multiple other departments wanted this for new products and pricing for current and prospective customers and they just deflected for a year until admitting the performance wasn’t there. When I left it was a 4 hour overnight job to generate the stats and just do metered advertising spend calculations once per day so if someone runs out of spend in the morning they get the rest of the day free.
|
# ? Feb 27, 2022 02:11 |
|
Jabor posted:There is definitely a class of bugs where it's easier to make a one-line change to fix them than to report it in an issue tracker. I don't see them very often in our production code because people tend to find and fix them in their own code before even making a pull request in the first place. I think there is definitely something to be said about fixing bugs that are both low effort and low impact quickly, since otherwise they just languish forever behind more important stuff that needs week-long debugging sessions that would probably be helped by switching gears for a bit anyway.
|
# ? Feb 27, 2022 02:55 |
|
BigPaddy posted:Back end for one of the largest car listing site is so poorly written that it could not make an API to provide real time statistics on advertising spend and other usage statistics that would return in under 30 seconds. Multiple other departments wanted this for new products and pricing for current and prospective customers and they just deflected for a year until admitting the performance wasn’t there. When I left it was a 4 hour overnight job to generate the stats and just do metered advertising spend calculations once per day so if someone runs out of spend in the morning they get the rest of the day free. most people say things like "2 seconds is way too long for a call to the backend". we say "as long as it's not timing out within the default 30s command timeout" we have also occasionally mused about increasing the timeout to a minute
|
# ? Feb 27, 2022 03:38 |
|
redleader posted:writing bugs in the first place? pathetic. unprofessional https://twitter.com/allenholub/status/1497486961015078912
|
# ? Feb 28, 2022 13:07 |
|
Along the same lines as “you don’t need a bug tracker” is “don’t put any effort into error handling, just prevent the errors.” I’m a bit more sympathetic to this one.
|
# ? Feb 28, 2022 14:01 |
|
https://twitter.com/hillelogram/status/1497727910073012229
|
# ? Feb 28, 2022 14:09 |
|
smackfu posted:Along the same lines as “you don’t need a bug tracker” is “don’t put any effort into error handling, just prevent the errors.” I’m a bit more sympathetic to this one. one time i got a bug report where the suggested fix involved solving the halting problem.
|
# ? Feb 28, 2022 15:08 |
|
Bruegels Fuckbooks posted:one time i got a bug report where the suggested fix involved solving the halting problem. And you put it in the tracker instead of just fixing it...
|
# ? Feb 28, 2022 15:19 |
|
No all software bugs are programming bugs. Sometimes the customer report a bug like "I asked this screen to print a PDF". Where he did not asked that, or even suggested. The customer only now realize that he needs a PDF of that screen, and his mind confused something else, and by the magic of wishfull thinking he now believe he asked for that. Thats a bug of proyect analisis or management, or any other layer than programming. Sometimes that type of bug result on somebody from management talk with the customer and sometimes the customer say "Ha, is true, I did not asked for that, but maybe you guys can make it anyway?, I will pay for it" Some error can be a preference or a enhancement. Some operation takes longer than expected in production. The customer report the lack of a spinning circle has a error. Had the operation take 0.1 seconds, nobody would asked for it. Maybe even people tried to stress test that, but was fast in the testing enviroment, but the production enviroment is some cheap hosting with old software.
|
# ? Feb 28, 2022 15:48 |
|
WTF is a "Thought Leader?"
|
# ? Feb 28, 2022 16:37 |
|
Armauk posted:WTF is a "Thought Leader?" I am if you read my poasts
|
# ? Feb 28, 2022 16:37 |
|
Armauk posted:WTF is a "Thought Leader?" The person who gives upper management stupid ideas about how software development works
|
# ? Feb 28, 2022 16:37 |
|
Armauk posted:WTF is a "Thought Leader?"
|
# ? Feb 28, 2022 16:38 |
|
Armauk posted:WTF is a "Thought Leader?" You remember the old joke where Wile E. Coyote had business cards that listed his title as "Genius?" It's like that, but sad.
|
# ? Feb 28, 2022 16:59 |
|
Armauk posted:WTF is a "Thought Leader?" It's like "influencer" but dressed up to sound more respectable.
|
# ? Feb 28, 2022 17:55 |
|
Volte posted:It means their thoughts do not follow
|
# ? Feb 28, 2022 18:09 |
|
Armauk posted:WTF is a "Thought Leader?" A literal translation to German would be "Gedankenführer" lol, we Don't Use That Word anymore. By analogy to "Gedankenexperiment", it is somebody who only thinks he is a leader.
|
# ? Feb 28, 2022 18:13 |
|
You can't help it if someone else calls you a thought leader but anyone who uses that title themselves is beyond redemption.
|
# ? Feb 28, 2022 18:25 |
|
ultrafilter posted:It's like "influencer" but dressed up to sound more respectable. “Do as I say not as I do”
|
# ? Feb 28, 2022 18:27 |
|
Armauk posted:WTF is a "Thought Leader?" The kind of person who calls themselves a thought leader with no sense of self awareness.
|
# ? Mar 1, 2022 07:09 |
|
Ola posted:A dumb question: Isn't there huge amounts of user friendly tooling that makes C easy and safe by now? My understanding is that "user friendly tooling that makes C easy and safe" refers to every programming language that came after C since they are all built with C and you are not meant to ever actually use C.
|
# ? Mar 1, 2022 11:11 |
|
Nolgthorn posted:My understanding is that "user friendly tooling that makes C easy and safe" refers to every programming language that came after C since they are all built with C and you are not meant to ever actually use C. User friendliness kind of run against the point of C, anyway. Like you could build a string handling library in C that do things for you, like concat strings, check limits (so you never read outside of the string). But to do so you will pay tradeoffs, and there will be complexity hiding in the corners. Also such a library would not be supported by any other library, so if you want to pass a string to other library, you need to convert it to pass something the other function can handle. You expect. ->getStringPointer() to be fast, and you find it causes a huge slowdown because force a 80 remallocs. !?. You has been concatenating string, and instead of really reallocating a huge memory area for these strings, the library created a linked list of texts. And now that it pass to other library, the other library expect a flat memory with the whole string, so that stuff need to be reallocated. So you wanted user friendliness, but now you are creating special cases, and you have lost control of whats going on, stuff are happening in a surprising way, theres friction between this library and other libraries so maybe you are actually lossing user friendliness in the borders. Since you are lossing friendliness only in the borders, maybe you can add another library for file managing that also support that kind of string. Great, one less border. And another library.. and another. At some point it would be easier, if you want that kind of userfriendliness, to use something like Python that already work like that from the box. The point of C is to be simple enough the programmer know what the language is doing his backs, and to be portable assembler. Userfriendliness normally is achieved by hidding implementation details and that is against the point of C. I don't program in C daily, so I don't know, but I imagine theres all types of user friendly libraries. Sockets, string handling, memory management, ...is just these only make sense if are 90% of your program. Otherwise your whole codebase will be code with special cases and friction. imho
|
# ? Mar 1, 2022 13:56 |
|
Tei posted:The point of C is to be simple enough the programmer know what the language is doing his backs, and to be portable assembler. Userfriendliness normally is achieved by hidding implementation details and that is against the point of C. How does undefined behaviour fit into this viewpoint? It seems to be basically impossible for people to write ~dozens of lines of C without invoking meaningful undefined behaviour, at which point you've relinquished any claim to know what's going to happen. And that includes parts of the language that are relevant to a beginner, not weird stuff. It sure feels like hiding implementation details (perhaps in a different way than you meant).
|
# ? Mar 1, 2022 16:42 |
|
pokeyman posted:How does undefined behaviour fit into this viewpoint? It seems to be basically impossible for people to write ~dozens of lines of C without invoking meaningful undefined behaviour, at which point you've relinquished any claim to know what's going to happen. And that includes parts of the language that are relevant to a beginner, not weird stuff. It sure feels like hiding implementation details (perhaps in a different way than you meant). There would be fewer issues there if the standard used machine defined instead of undefined in a bunch of places. But yeah.
|
# ? Mar 1, 2022 16:46 |
|
There's been plenty of attempts over the years to fix the "problems" with C, but everyone has different definitions of "user friendliness" and many of them suffer from scope creep, and all of them suffer from not being popular enough to fully supplant C. Personally I think the status-quo is fine where the vast majority of application software is written in languages that are higher-level than (but still interoperate with) C, including Java, C#, Python/Ruby/whatever. Which leaves most remaining C programming to systems programming disciplines (kernel, small-scope libraries, small-scope utilities, etc.).
|
# ? Mar 1, 2022 16:57 |
|
ExcessBLarg! posted:There's been plenty of attempts over the years to fix the "problems" with C, but everyone has different definitions of "user friendliness" and many of them suffer from scope creep, and all of them suffer from not being popular enough to fully supplant C. You neglected to mention C++. Talking about scope creep...
|
# ? Mar 1, 2022 16:57 |
|
Foot-gun creep
|
# ? Mar 1, 2022 17:07 |
|
pokeyman posted:How does undefined behaviour fit into this viewpoint? It seems to be basically impossible for people to write ~dozens of lines of C without invoking meaningful undefined behaviour, at which point you've relinquished any claim to know what's going to happen. And that includes parts of the language that are relevant to a beginner, not weird stuff. It sure feels like hiding implementation details (perhaps in a different way than you meant). These are outside the toolbox. You are going to build whatever using the tools inside the toolbox and undefined behaviors are whatever. You simply stay away from them. If you code depend on a undefined behavior, your code is kind of crap, even if your binary works. I remember a compiler problem while using a "Watcom C" that it produced a binary where a printf was executed in different order than in the code when using optimization options. But other than that time, I never have to think about the role of the compiler into turning my code into a binary. Maybe I have not written enough C code.
|
# ? Mar 1, 2022 17:38 |
|
Absurd Alhazred posted:You neglected to mention C++. Talking about scope creep...
|
# ? Mar 1, 2022 19:12 |
|
ExcessBLarg! posted:Yes, well, I think everyone acknowledges that C++ doesn't exist to solve C's safety problems, and in practice tends to add to them. Just because for every problem of C's it solves it creates 20 others doesn't mean... okay, never mind.
|
# ? Mar 1, 2022 19:16 |
|
Tei posted:These are outside the toolbox. You are going to build whatever using the tools inside the toolbox and undefined behaviors are whatever. You simply stay away from them. If you code depend on a undefined behavior, your code is kind of crap, even if your binary works. I agree on both counts but I, at least, find it very difficult to stay away from them because they're absolutely everywhere.
|
# ? Mar 1, 2022 19:47 |
|
|
# ? May 21, 2024 02:47 |
|
Tei posted:undefined behaviors are whatever. You simply stay away from them. If you code depend on a undefined behavior, your code is kind of crap, even if your binary works.
|
# ? Mar 1, 2022 19:58 |