- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
Everyone has brain farts. This is why Pull Requests and Review are Critical (not raw commit/push)... Sounds like the system worked in this case.
Admin
True, but it really shouldn't have had to work like that.
Admin
I don't know... I have been in the game a long time.. Over 45 years. I have done my fair share of being brain dead (probably at a lower rate than average, but duration virtually insures a higher total count).
(And no, I will not submit them here...)
Admin
Everyone is entitled to one free bite. But the next "Copy Paste Paste Paste" would trigger a strong conversation about this worker's likely unsuitability to be a dev in any shop, much less in my shop.
Admin
It really depends on the dev's experience level. For a newbie, this would be a great opportunity for a lesson on abstraction. For a veteran, a simple "What were you thinking?" would probably be sufficient.
Or maybe their shop is like mine, and the leadership has cultivated a copy/paste culture over the years because it's so much easier and faster than doing things the right way... and there's no reason to ever think beyond the next sprint, right?
Admin
Unfortunately, he will have plenty of places that will offer him long term employment. There's a dev here that I'm no longer allowed to speak to. He f-bombed a ten person meeting, stormed out, and didn't show up for a week when I suggested that he can't deploy his change to production until he parameterizes his query parameters.
Management thinks this is a relationship problem and what he did should be allowed to slide. It was suggested that I should "talk him into it"... until he decides to do it voluntarily. I'm to never say "you must do this" again.
Admin
Maybe you're not bad at just computer programming. Maybe you are just bad at everything.
I suggest, and I think it's in your own best interest, to start doing everything right. Not the best. Not the most creative or revolutionary or just fun. All I ask is for you to just do it right. You're only here because your parents had college tenure, or an emerald mine, or the bank. If they were here today they would strangle you. First and last warning.
Admin
Like this... https://thedailywtf.com/articles/copy-paste-culture ?
Addendum 2021-01-06 11:16: Copy/Paste Culture
Admin
I had a cow-orker who used to tantrum me when I asked him to do simple stuff to make it easier for the user (in the following case another team of programmers).
He had designed a tool which fed off a simple list of entries in a file, the first entry of which was the number of lines in the file. I said to him that it would make it far easier for the user to get the program to count the actual number of lines in the file as it was read, rather than expecting the person maintaining that file to count them and enter that number at the top. When I mentioned it to him, he went off on one: "So you're saying that the configuration team are too stupid to be able to count, and so we've got to do it for them? Surely it's not too much to ask them to do a simple task like counting the number of lines they've entered into their file!"
It eventually took a quiet word from me into the ear of someone who was technically superior to him before he would actually add the extra code in his program to do that thing.
Admin
I'm surprised he didn't come up with a better reason. In my experience, these people defend their off-the-cuff decisions to the death. Maybe "That's there to detect if the file got truncated at some point before we processed it".
Admin
Provided he read the whole file into memory first and then made the comparison before processing the first data record I could believe that. Batch totals and checksums exist for a reason.
But for the far more likely case that the first thing that popped into the dev's head was
and his whole "design" flowed from that: shoot him.
Admin
I used to work with a guy like that. He would always write a short comment where he copied the code in question from. As if that was helpful. If it's public and static anyway, why copy & paste it? Just call it.
But it was my first job fresh out of university, so the WTF didn't dawn on me until later.
Admin
If it was good enough for Fortran it's good enough now; –)
Admin
What these 'lr', 'rf', 'lf' fields are anyways? Imho using cryptic names like these is the actual WTF.
Admin
This sort of thing is quite literally killing people. In this morning's news (in the UK) was a case of hundreds of people who had booked Covid vaccinations, turned up and were told there was no appointment. Because the patient had filled in the online form, and dutifully pressed RETURN at the end of each line, the focus had moved from field to field as expected.... but they had to scroll down and select a SAVE button hidden off the bottom of the screen for anything to be actioned.
Too too too too too many data entry interfaces have an "action" button hidden off the bottom of the screen with no hint that it's actually there.
Well, not hint, it should be explicit.
Admin
Yea gods, even in that case I do: READ n$ REPEAT process n$ READ n$ UNTIL n$=end_of_list_marker$
NB: Fails with an empty list.
Admin
Had to scroll down? I mean where was he after filling the form?
A Save at the end makes sense, unless there's half a page of legalese between the form and the button. You usually go through the form from top to bottom, so you arrive to the button at the right time. Unlike the braindead ClearQuest with its button aaaaaaaaaaall the way back up. (At least in the version we were supposed to have been using.)
Though using ClearQuest is a huge WTF in itself.
Admin
Our government's COVID contact tracing app is a little like that, at least for me. The way it works is that you use it to scan a QR code at the entrance to a venue, then it registers you as having visited there at whatever time. It gives you a big screen with a massive tick in the middle saying you've registered at whatever venue.
Up until recently I did not know how to reset it so you could check in at your next venue, other than by restarting the app. It turns out that if you scroll down on the screen with the big tick, a bit further off the bottom of the screen is a small button labelled "Done" which returns you to the scanner.