Reminds me when I was working with a guy and he named a database table
recieved
. I had adapted my code to that, and then one day without warning he renamed it toreceived
- and it took us an hour to figure out why everything broke.Our Python virtual environments at work on all Linux-servers are in the directory /opt/vens instead of /opt/venvs so when some intern corrects that, we will be screwed!
had a co-worker once who called the variable holding the first record in a complicated workflow “rec1st” and the last record “reclst”, unaware that in every font used by every code editor except his, a lowercase l and number 1 look identical.
i spent a day debugging that after he quit.
Lesson for the future: stop using crappy illegible fonts in a code editor, and use something nice like Fira Code or even Fira Mono or Sans if you don’t like ligatures.
Edit: In the middle of writing this I realized it was a confusion between “1” and “l”, which makes the font choice even more bizarre. What kinda garbage font doesn’t distinguish between the two? I could understand if it was capital “i” and lowercase “l” since they look extremely similar in most sans serif fonts, but “1” and “l”?
Also it takes like 10 seconds to change the name of a variable across the whole file with a modern code editor like VSCode or an IDE for the specific language you were working with. If they were confusing you, you could have just changed “reclst” into “last_record” and that would save you a day of work.
No good code font would make
1
andl
look identical. Character differentiability is like the most important thing.Look, JetBrains did it right.
Maybe he wasn’t really unaware that only his font choice differentiated the names.
I’ve had the misfortune to work with a database containing both spellings across various tables. Some tables would have both in different columns
Excel wrongly assuming the year 1900 was a leap year for their timestamps is my favorite bug that will never be fixed because everyone has built workarounds for this already
Didn’t they do that intentionally to be compatible with Lotus 123?
they did
Thanks for backing me up :-)
A link from MS as well, backing us up :-)
I wrote code for industrial automation years ago (think assembly line machines). I was reviewing production code and found a stupid bug and fixed it, then reinstalled. The motors moved incorrectly - I don’t recall if that was the time it smashed glass everywhere, but “fixing” the code definitely broke the program. I could not figure out why…but due to time constraints I sadly had reinsert the bug to put the machine back in production.
Some nights that still bothers me.
https://en.wikiquote.org/wiki/Donald_Knuth
Beware of bugs in the above code; I have only proved it correct, not tried it.
Donald Knuth’s webpage states the line was used to end a memo entitled Notes on the van Emde Boas construction of priority deques: An instructive use of recursion (1977)
The fact that they mention using EMACS makes it even funnier