- 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
TRWTF is that the production infrastructure and day-to-day office IT are apparently in the same budget. The old CTO probably has similar qualifications to the new (future) one and I would not really bet on competent CFO either.
Admin
Honestly doesn't seem that bad? He was willing to provide context, and did it without sugar-coating (i.e., "I didn't know what I was doing").
But this guy definitely shouldn't be handling budgetary decisions....
Admin
Peter Principle is a mighty powerful process. Promoting an incompetent person might get them out of your hair, but cause higher levels of havoc elsewhere.
Admin
Are you really going to just leave as hanging, and not tell us how can a bunch of shell calls start segfaulting after a kernel upgrade?
Admin
I do declare that it reads as though OP has the attention span of a goldfish, and can't finish one story before starting on another, and can't even focus on that.
I do hope she's better at concentrating on her proj, oh hang on I've just noticed, something's confusing me about the status of the server racks, so I sure do hope that gets resolved.
Admin
I always think (and sincerely believe) that if you write something, you own it. This even applies when I move jobs, to some extent -- if a previous cow-orker phones me about a problem, I'll at least try to offer advice.
It's fair to assume that slithery reptiles halfway up the greasy pole do not think the same way.
Admin
Dunno, this part of the article might be a clue:
Admin
How expensive were those laptops.....
Admin
"When all you have is a hammer..." meets "C++ footgun".
Admin
I'm not sure if you're aware, but they edit and embellish the stories submitted before they're posted on the site. It does make them a bit more entertaining to read.
Admin
And yet here we are.
Admin
It also helps to read the OP.
Not a C++ problem. A shell script problem.
Although, I would agree: 90% at least of "C++ programmers" should never be let near the language.
Much as 90% of Americans should never be let near a firearm.
Admin
That doesn't really sound like Peter principle which is more about continually promoting a compentant employee until they find themself in a job they have no aptitude for.
Admin
To paraphrase Scott Adams (Dilbert): "Would you let a manager of a hospital perform brain surgery on anyone, or just let them sit in an office making pointless pie charts?" Unfortunately, businesses are too often unwilling to admit that they hired the wrong person in the first place, preferring to move them to a new position where they can do less harm, instead of just getting rid of them in "restructuring" process. TRWTF is that this company kept giving the guy positions where he could do more harm.
Admin
Sounds familiar... I remember using C++ for all sorts of inappropriate things when I was first starting out as a professional developer. Some kind of file transform process, which would have been far better written in something like Perl, had I known it at the time... but back then, I knew Basic and C, and C++ was the newest tool in the arsenal, so that's what was used.
Admin
So you know when to polish your CV when someone comes to you and says:
"We need you to generate some pie charts, top priority, nothing more important, you're 100% on this. See you next Tuesday."
Admin
The intriguing bit is not why the C++ program segfaulted but why it started doing it after a kernel upgrade. Pretty much the only hard and fast rule that Linus Torvalds employs is that you don't break user space. Well here we seem to have broken user space.
system
has a pretty simple API. You pass it achar*
(nul terminated of course) and it returns a small integer. When you call it, it forks a new shell and passes the string to it to execute. It blocks until the shell exits and returns the shell's exit status to the caller. I can't think of any changes to the kernel that could affect that. Possibly the C library was upgraded at the same time (system
is in the C library: it's not a system call) and something went wrong there, but again, the API is so simple I can't think of anything that would cause a segfault that didn't cause a segfault before.I suspect the problem lay elsewhere, but given that they rewrote the code as a shell script, they probably never identified it.
Admin
I still get people asking me about a circuit board I designed over 15 years ago, and it was made in a hobbyist context.
Admin
Or, they would just think as Wally, "finally they assign me something useless enough that nobody will notice I did not bother doing it" :P
Admin
The upgrade likely changed the format of some of the returns from the commands in ways the C++ program couldn't handle and so it crashed.
Admin
I did a Google search looking for treatments for my ADHD, and I learned a lot about the economy of Poland.
Admin
My guess: it was a case of uninitialized variable. Its (accidental) content had been zero before the upgrade, but wasn't zero afterward. (Valgrind could be the first try to check this.)
Admin
For sure, although I'd lean toward a simultaneous libc or libc++ upgrade, just like you did. And it might fall into the category of "undefined behaviour is undefined" as well.
Admin
"they edit and embellish the stories submitted before they're posted" and from time to time they f... it doesn't come out right.