5 ms·
When I interview developers, I like to ask them about their favorite bug. I want to hear a story. Most people have a good one. It's usually intermittent, hard t
by koliber 10y ago
When I interview developers, I like to ask them about their favorite bug. I want to hear a story. Most people have a good one. It's usually intermittent, hard to track down, and takes a long time to solve. It becomes a developer's nemesis, taking on an identity. The relief, when it gets solved, is huge. Good developers tend to talk about such bugs with passion.
This story is a beautiful example of such a story. Great read, great bug, great analysis!
- usrusr 10y agoTough one. I know exactly what you mean, I know I have been "there" many times, but I surely would not be able to retrieve any of those stories from memory even if my life depended on it. We seem to condition ourselves to quickly forget the excitement because even the most epic bughunt will tend make you lonely if accidentally used for conversation in polite society.
- toxik 10y agoI think this goes for a lot of niche hobbies; a bike nerd might not be able to casually converse about that time his gears stopped working properly in the middle of a race, but to another bike nerd it would be a hilarious story! The same for us programmers, it's hard to relate to for non-programmers. Perhaps also why it's important that your friends share your interests.
- voidifremoved 10y agoOne of my personal favourites. Years ago I worked on a stock control system for a popular clothes retailer. Where previously store managers had to spend hours on the phone ringing the depots to see what was in stock and reordering popular lines, now they could fill in orders an they would be emailed to the depots in machine readable format, with the order balanced across multiple depots depending on availability of stock. After the system had been in operation for a year or so, managers started to complain that some orders weren’t turning up. After a bit of digging it only seemed to affect one particular depot, but I couldn’t initially see a common factor between the orders. It had nothing to do with the size of the mail, or the originating store. I could tell from the logs the emails were being formatted and supposedly sent to the depot, yet they never translated into orders. The system would silently fail after we’d handed the email to the depot with no obvious reason why. So I wrote a quick script to collect all the orders for a day from all the stores and compile a list of all product lines that were present in the orders that went missing, but not present in the orders that succeeded, just to see if there was a pattern. This turned up a few dozen items and after a quick visual scan of the product descriptions one stood out slightly, so I phoned the depot on a hunch. The depot had an anti-spam filter on incoming emails that silently dropped messages with pornographic words in the body or any attachments. The retailer had just received a new seasonal product line, which was selling well, and the product description was “bondage tights”. After getting the depot to whitelist emails from our system, orders for this product line started working.
- epalmer 10y agoSmiling at that one.
- neotek 10y agoWe ran into a similar but much easier to identify problem with PayPal - any products we sold containing the words "Cuba" or "Havana" in their title or metadata, regardless of the context, would cause PayPal to reject the entire payment with a meaningless error and no indication of what had caused the problem. PayPal refused to admit to us that this was the cause and insisted they couldn't shed any further light on the issue despite the fact we could trigger it 100% of the time. In the last few weeks it's started randomly choking on the word "Pharaoh", God knows why, and God knows why it only does so about half the time, but I'm not going to bother asking PayPal about it.
- SixSigma 10y agoMy first 386 computer. Built in the computer shop I worked in. It wouldn't boot if you tightened the screws on the case. Solution: Don't tighten the screws on the case.
- frandroid 10y agoThese stories are better if they contain an explanation for the problem.
- SixSigma 10y agoI know, I wish I had one.
- xorxornop 10y agoIt's almost always motherboard hex spacers. Source: have had multiple computers with such problem. All were due to surplus spacers having been put in which subsequently contacted solder pads on the board underside. The worse version is broken in-board signal paths. Both ultimately result from mechanical distortion.
- OJFord 10y agoMy brother had exactly the same issue with his modern PC. Solution: Move the HDD such that tightening the screws doesn't bend the SATA cable out of making good contact!
- ChuckMcM 10y agoEarly development of a numerical solution for roots using Newton-Raphson in Fortran IV on a DEC 10. My code was correct, I walked through it manually many times and I had printed out many variables and yet it never found the roots. In one of my subroutines I changed the value of a passed in variable. In my code there was a point where I called that subroutine with the value '0' for the variable. The Fortran compiler was pass-by-reference, so the compiler accommodated me by creating a reference to the constant 0 and passing it to my code. In my subroutine I changed the value of that passed in 'variable'. Since the compiler was using that "constant" elsewhere any conditional that looked for 0 would fail after that point since the value of 0 had changed. My professor and I only found it after we printed out the machine code generated by the compiler.
- nitrogen 10y agoI guess that might explain the "Have you ever changed the value of 4 accidentally" question from the hacker quiz I found so fascinating as a kid.
- fapjacks 10y agoHey I remember that! Jeez I tried to find ways to increase my score.
- PhasmaFelis 10y agoJesus jumped-up Christ on a snowmobile. How does that get through testing? "Passing a number to a subroutine can result in the value of the number being changed"?