Way back when I was a staff engineer at Motorola, we'd often have network problems from workstations caused by marginal cables. At first, the IT people would come over and replace the cable, and toss the bad/old one in the person's cubicle trash can.
But I noticed over time, they all started adding one extra step: they'd cut the cable in half before tossing it in the trash.
Before the cable cutting, engineers, being engineers, would fish the "bad" cable out of the trash as soon as the IT person left ("it works almost all the time...") and use it for the next lab build-out. And then integration tests would fail intermittently, etc.
I know this anecdotal and related but directly on-point, but here I go anyway...
About 12 years ago, I consulted, on-site, for about a year with a Japanese company with a very very very untrusting corporate culture. (I was consulting on electronics and firmware.)
Every USB port on every computer was super-glued shut (yes, I know...) And literally 100% of the internet traffic went over a T1 (for those of you just out of diapers, that is a 1.5 Mbps line) to Tokyo and back. Corporate saw every bit of internet activity.
This company, when I talked with the VP of engineering, told me "we have flexible work hours; you can take lunch 12:00-12:30, or 12:30-1:00pm. As long as you're back at your desk within 5 minutes of lunch end, we will not be required to make note of it"
Man that was a horrible gig. But I made enough $$$ to overcome the agony. I have so many consulting stories... my daughters keep telling me I need to write a book.
"When Bill and Michelle ruined a conference room table"
"When Jayanthi [no I'm not changing her name] had a meltdown and threw a sharp object at the head of a subordinate"
"When Tom impregnated his secretary during his divorce, and was basically forced to marry her the day after his divorce was finalized"
"When I put a choke hold on a corporate security guard who incorrectly identified a computer peripheral in my backpack as confidential company property"
I think the 100 people who bought the book would really enjoy it
About 15 years ago I was debugging an ARM7 memory corruption issue on an embedded target. Chip was running at 40 MHz but the instructions were ARM 32 bit instructions, but the external data bus was only 8 bits wide -- reading instructions from external NOR flash, required 4 bus cycles per instruction. So an effective rate of ~10 MHz.
We were good about doing code reviews, stacks weren't overflowing, etc. So it was puzzling. Finally, just like the article said, I figured the only way to find it was to catch it "red handed", in the act.
The good news is that memory locations getting corrupted were always the same.
Long story short, I set up a FIQ [1] -- some of you the FIQ -- which would check the location each interrup. I forget if it checked "for" a value or that it "wasn't" an expected value, ugh, sorry... If the FIQ detected corruption, it did a while (1) that would trigger a breakpoint in the emulator. Then I'd be able to look at the task ID -- we were running Micrium u/C OS-II as I recall -- the call stack, etc.
Originally I set up a timer at 1 MHz to trigger the FIQ, but the overhead of going in & out of the ISR 1 million times per second, at essentially a 10 MHz rate, brought the processor to its knees.
So I slowed the timer interrupt down to 100 kHz (!!), which still soaked up a lot of the CPU slack that we'd been running with. And time after time I'd hit the breakpoint in the FIQ, but the damage had been done usecs earlier and the breadcrumbs didn't finger a victim.
Then it happened. Remember, the hardware timer is running completely asynchronously with respect to the application. Finally, the FIQ timer ISR had interrupted some task's code in exactly the function, at exactly the place (maybe a couple instructions later) where the corruption had occurred.
Took about a day start to finish, I'd never seen or heard of using a high speed timer to try to "catch memory corruption in the act", but as they say, necessity is mother of invention.
And to non-embedded developers, this is an embedded CPU. No MMU or MPU, etc. just a flat, wild-west open memory map. Read or write whatever you want. Literally every part of the code was suspect.
Good times.
[1] On ARM 7/9, maybe 11, I think also Cortex R -- the Fast Interrupt Request, or FIQ, uses banked registers and doesn't stack anything on entry -- so it's the lowest-latency, lowest overhead ISR you can have. But you can only have one FIQ I believe, so you have to use it judiciously.
Very touching video, your girlfriend/fiancee looked so positive, happy and joyful. Sometimes the randomness of the universe and the human body can be cruel and nonsensical.
I'm incredibly sorry for your loss. I'm happy that you had the time with this wonderful woman and that you have the memories, even though I'm sure right now everything is still raw. Godspeed.
Yes I've been in that situation (as a passenger, not a pilot!) Incredible how much power the aircraft has at full throttle. A lot of people freak out or panic in that situation, because it's so abrupt, but it's a sign that the pilot(s) are trying to go from a very dangerous/tricky situation to a much safer scenario.
For me, the situation was a horrific and violent summer thunderstorm in Dallas. But the pilots handled it and we landed safely the 2nd time.
"[but] did one-star kinds of things." That is a great line (seriously). I will probably end up working that phrase into something at one point, which is why I have this post bookmarked, so I can "hat tip to m463 on HN" when I do.
P.S. Do you remember the name of that auto app? Name and shame! ;-)
Another app I had that got worse was camscanner - a scanner app that would take a picture of a document and create a .pdf out of it.
It was sold to tencent. The "privacy policy" - when you could access it (broken links) was written in broken english that basically said it did anything it wanted with your .pdf files.
The kinds of documents I would image to .pdf were extremely sensitive personal documents - think w2, documents with SSN, etc...
At least apple notes eventually added a version of camera to .pdf (though it wasn't obvious how to use it when it came out)
Camscanner was one of my favourite apps! I had even paid for the pro version back before it sold. Then when it sold that actually meant nothing, and now I have a "pro" app that is useless essentially.
If anyone has good alternative suggestions I'm open, I haven't tried to look as I don't use it much anymore.