likely won't help you actually fix the issue because miraculously you didn't log the three variables you actually need but it'll make you feel better in the meantime
ngl my programming career helped me stay grounded in reality. Every impossible issue turned out to always have a cause, a reason to be there. Could have taken weeks to track down the issue, but there was always a cause.
But still.. every 3 or so years.. something actually impossible pops-up. Impossible to fix, impossible to reproduce, and suddenly gone from existence, as if it was never there.
Well at least some of the Jenga towers have redundant Jenga tower replicas, and that Jenga tower over there has a bunch of other Jenga towers ready to be propped up by a PAASser-by given a small cold start penalty. And this one? Nobody knows how it works, but it always worked.
Yeah. First instinct in this case makes me think somebody that owns a product upstream saw a failure log and fixed the issue (I'd still want to confirm that, though)
A lot of people think I'm joking when I say I'm a good at what I do because I'm a witch doctor with computers. Software Engineering requires experience with the occult, at a minimum.
The other day I launched an old game and got met with an error, something about directX9 and missing a redistributable file or something. Decided not to fuck with it.
Yesterday I launched it again to take a closer look at the error message to see if I could fix it. No error message, game booted without issues.
fails when deployed, after adding debug statements looks like in one structure there's 2 instead of 1, and looking at the code that should be impossible. Issue happens every single time.
the same exact unmodified container when downloaded and run locally works correctly every time.
hmm embedded. Beautifuly memories from uni. One lab my team forgot to remove a register whose supposed purpose was only enabling a communications bus (documentation didn't mention it doing anything else). Turns out that same register disables the dac which we needed for the new excersise. You learn to love the hardware datasheets real quick.
On small computers like Arduino there is a very small memory called eeprom that stays when powered off. It saves ultra low level data (at the bit and byte level) if you don’t “format” after changing what is being saved where it then tries to read gibberish and things go bonk.
I've recently had the opposite: code worked then the next day without anything changing it didn't.
Turned out the J-Link programmer always needs the license check to work, but that expires every day at midnight. It only prompts again if you choose the app and restart it. So I couldn't get my debugger to work and spent hours trying to figure it out until I did the best thing.
I turned it off and on again.
In university, we had to complete weekly tasks. A few times, the validation script provided by my professor returned an error, meaning that my solution had a mistake. When I tried rerunning the script the following day, my answer was accepted. At the end of the last lecture, my professor came to me and told me that I was usually the first one to hand in a solution and that he sometimes used my answers to validate his results.
I had a bug in unity once where my project just stopped working. I hadn't changed anything, but I could no longer compile it or run the game in editor. I looked up the issue and apparently unity has/had a long-standing bug where the engine would rarely just quit being able to compile your scripts. The only solution was to make a new project and reimport all your assets, scripts, scenes, etc. Dunno if they ever figured out what was causing it or if it just kinda resolved itself and stopped showing up at some point. I don't really use unity much anymore.
just make sure you absolutely don't comment or document it then commit it to git with a cryptic commit message and even more cryptic author name and then hand it off to your coworkers
Then you find out it worked because you added a defaulted ==-operator, which meant that all classes in the variant now had a ==-operaror, which then gave the variant itself a ==-operator, which then was a valid type.
Kinda related, I always copy paste into a "simple" text editor before I copy paste into something else. Slack is so bad about having hidden characters I don't even want to think what other sites/programs do.
Thing is I am a complete novice, set it up correctly but was duped by a bug.
Because I didn't know better I hunted ghosts until I found the one special and specific github issue tipping me off about the setting.
reminds me (tho it's inverse) old Visual Studio and how it liked to completely fuck up the solution to the point of being unable to fucking build the program.