- 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
If this guy was such a bobby-badass at programming, why would he go to a big bank to work as a faceless programmer? And didn't he notice any of this in the interview?
Admin
Admin
No local development environment? = 1 hand tied behind his back Not allowed to use the debugger on the shared development system? = another hand tied behind his back Not allowed to use "trace" statements? = 1 foot tied behind his back
The real WTF here is that they expected him to develop software with 2 hands and a leg tied behind his back. When you are trying debug code, you need to be able to use the right tool for the job.
How do you think it would go over if they hired a contractor to build something, but said no hammers or screwdrivers because "they are dangerous"?
If I have learned anything on this site, it is try to find as much out about the development environment as possible before taking a job. It seems quite a few of the WTFs around here are just this.
Admin
Do not get shown when you set the debug level from DEBUG to ERROR.
Admin
Dear Mark,
Please stop using paragraph length TDWTF™ submissions as an excercise in creative writing. They are not a personal challenge, and do not require garrulous mending. The extraneous information you seem to crave adds naught but an increased word count to the story; and clouds the already razor thin margin of interest.
decet: the specialized form of deceit practiced by at least one TDWTF™ editor in a vendetta against pithiness. Full of Fail.Admin
There is no debugger, only a spoon.
Admin
Not if you don't check it in, although I can't see what the big deal is - just don't put PII in the trace logs.
Admin
Mark Bowytz reminded himself that he was still a newbie and couldn't be expected to understand the subtle, yet deadly differences between "to", "too", and "two".
Admin
FTFY
Admin
Yeah, there is a level of WTFness here.
But -- this is also a corporation who has consciously chosen security over efficiency. Banks are like that. And from their perspective, someone trying to throw out business goals (like security) just to do their own job faster or better is, yes, a maverick.
The correct answer would have been to find a middle ground. Talking to the auditors, asking if policies can be updated to use better technical solutions, etc.
And frankly, if this guy didn't know that, than he was just as bad of a consultant as the rest of them.
Are their methods wrong? Yes. So improve them, dude -- don't just scoff at the place and run away.
Admin
There are processes to account for removal of debug code other than preventing its use in the first place. Formal code reviews are probably the easiest. I would hope that a bank, which has to meet numerous government and industry regulations, would not let a report be sent to production only on the word of its developer. An V&V group independent of the developers could/should provide confirmation the report is accurate, secure, meets company guidelines, and is free of debug code prior to promotion to the production server.
Admin
You know what's annoying?
When someone tells half a story, then leaves everyone hanging with lots of questions. It's like telling the set up for a joke and then WALkING AWAY.
Admin
When you're dealing with as little as 50KLOC and you aren't the only developer, you might need to rethink that on occasion. An exception stacktrace, if you're lucky enough to have it, won't show you any information about function parameters, but the debugger will.
Not all code that throws is yours, after all. Not all input is the planned, sanitized input.
Admin
Admin
Really, anyone who tries to apply CSE outside of the big-iron, big-company utility computing environment where it was created is just asking for trouble. There are reasons that IBM doesn't use it anymore.
Admin
You know what's REALLY annoying?
Admin
That's why the hardware designer (me) added those extra LEDs and test points! My debugging involves scope probes and test points...
Admin
Dear Creative Writing Major,
Some of us enjoy the story and prefer the author retain the extraneous information you seem so abhorrent to. If you are so busy that the increased length causes problems for you, perhaps you shouldn't have read the article or taken the time to post a comment until after your other obligations were satisfied.
I found your rant an interruption to what has thus far been a very amusing chain of comments. Please stop discouraging TDWTF™ contributors. I appreciate what they do.
Good day sir.
Admin
The sad thing is I've had a boss who made a similar statement: "Debugging is for people with too much time on their hands"
Admin
Admin
Is there a single story on this website where the script doesn't go:
I work at a company that does a lot of dumb things. I imagine most of you do too. However, I take pride in my work and think that some minor dumb things are worth forgiving for the greater good.
For example, I don't have access to a debugger...I rely on black box testing wherever I can and when I get stuck I recompile for a different platform that I can debug the code on. It sucks, but it's a challenge...so I deal with it.
This really doesn't seem like a WTF to me.
Admin
Admin
While forbidding the use of a debugger is of course rubbish, I do have to say, I see a lot of developers who are too careless or lazy writing the code in the first place and then spend a lot of time debugging it.
Thinking carefully and paying attention to detail when writing code greatly reduces your need for a debugger - and guess what, even though you're slower writing the code, the time saved by fixing fewer bugs more than makes up for it!
Admin
No, as opposed to careless people who don't pay enough attention to detail when writing code. A lot of people don't understand that if they spend more time writing the code, rather than rushing, they'll be faster overall!
+1 for David Emery's stance.
Admin
The key word is buried in the article: "auditors." They were the bane of my existence during my 14.5 years at a Fortune 250 company. See, the upper management doesn't know anything about "IT" (and isn't expected to), so they rely on middle management, who know NOTHING about "IT," so they hire auditors who know F**K ALL about "IT," and are paid exhorbitantly for the privilege of being so ignorant. The person they put in charge of internal audit where I was just literally scoured the internet, cut-and-pasted from any and all "best practices" articles he could, and came up with our IT policies. When I pointed out that this left us with 7 different recommendations for things like username style and password complexity... Well, let's just say that it ground down to him screaming down the line to me. I've left such madness and hired on with a startup while the company I left is teetering in "this economy" precisely because the continue to know nothing about "IT" and how it might help them in their field. The few people who recognize how to use these newfangled "computers" to gain a competitive advantage are marginalized just like this guy was for being a "maverick," while IT budgets get slashed to the bone year after year after year. Companies like this get what they deserve: A BIG FAT STIMULOUS CHECK! ... PROFIT!
Admin
Bahahahah. Hah. cough
Take it from a dev at one of their major competitors.
Admin
Are you kidding, Stig? Programming like a man means you use a sharpened (with your teeth) magentized paperclip to toggle the bits into the hard drive platters, like God intended.
--Joe
Admin
(I learned the word "gleaning" from my second grade teacher, who used it in a report card comment.)
Admin
From 6 days ago on this very site:
WHERE IS YOUR PRINTF NOW?!
Admin
Do it with punch cards and make sure there's a crack security team to ensure the cards are carried to the card reader and locked up after the object code is created.
Admin
Funny this came up, I just got done trading a few notes with my father about his master's thesis, which was programmed using punch cards on The Rice University Computer.
I was blown away after learning how its memory worked. Simply amazing. Imagine having to time your reads and writes to get at the data you want...
Admin
Admin
Sure it does. See how all of your text reaches output in neat little lines, rather than a jumble ? Somewhere in there is a semaphore, and somewhere out there is a developer who doesn't know that he is serializing his tasks and therefore not adequately preparing for a slew of thread contention situations.
Admin
real programmers take jokes that weren't that funny to begin with and run them into the ground.
Admin
No really, it is. Their only defense against stray trace statements appearing in the stagnant waters of production code appears to be to have a manager asking not to put trace statements in. A better solution would be:
Create an isolated testing subnet for developers, and only let those with installation and recovery chores get access to the main network; why do they need live access to production systems any way, especially in a bank ? Their system might not allow you to run Wireshark but that shadow pass-through router in the micro-ITX box under the desks does.
Have someone write a lint checker for production code and have it part of any installation that the checker be run. As this is .net code, writing this is trivial: see if compiled code resolves a pointer stub to the debugging functions, and then either slap ther virtual wrists of the developers reminding them of release code policy or restub the function to something that has no side effect.
Admin
I bet Chuck Norris could remote debug even though it was disabled.
LewisC
Admin
"Write it in native binary like a man, chuck."
Pay you need TWO states for your code. Both ones AND zeroes?! We don't like bloat round here!
Admin
In one of my early jobs we had a "Glossary for Programmers" that included the following definition:
Admin
If you forced those same programmers to "think carefully and pay attention" it would just take them twice as long to come up with the same stupid WTFs they already created. Programming is hard.
How many WTFs on this site could have been solved by someone saying "There has to be a better way" and spending some time surfing google or reading manuals?
Admin
This could be the most idiotic tdwtf story ever.
Admin
Most of my work has been done on large command & control or ATC systems > 1M SLOC.
Good/complete interface specifications are essential to success on large projects. Failing to specify completely is a key part of a good design/code review, particularly with respect to error/exception handling, including parameter/input checking and invariants. Failure to -implement- that specification subjects one to peer pressure/abuse and if it continues is cause for getting rid of that person.
Debuggers are often essential tools for complex interactions. But in my view they should be a tool of -last resort-, rather than standard practice.
Admin
Are you kidding. a single printf inside a loop can throw notions of timing out the window. I can't think of how many times I've found a race condition after removing print statements.
Admin
Debug? I just keep an AM radio tuned into the CPU frequency and listen to the data flow through the registers.
Admin
TRWTF is that Peter quit in less than a week during an economic crisis because he couldn't live with his employer's coding conventions.
If the bank doesn't want you to code trace statements in because there's a risk you'll leave them in, DON'T. Hell, I myself have come close to leaving my traces in until production, and when you're working on a large quantity of work, it is much more likely that you'll slip up.
As for the debugger, what's the problem? Debug it manually like a real man, are you completely useless?
Admin
Admin
Debug? Hardcore developers upload flawless code directly into production servers. There are no bugs, just users that can't understand that what they want is WRONG.
Admin
We used to DREAM of writing it in native binary. In my day, we had a base-1 system where the only way to input details was to hold down a single button for some length of time. We had to hold down the button for 25 hours a day just to get a single piece of input! Then, when we left to go home for the day, security would flog us and cut us up into little pieces. But you try telling that to the young developers of today and they won't believe you.
Admin
We have an ex-consultant working in our department. He switched track because he got tired of living most of his life in anonymous hotel rooms and working 80 hours a week.
Admin
The word is "gleaning," not "gleaming".
http://www.thefreedictionary.com/glean
But I do empathize. If it's not security, it's turf, or something else. There's always an excuse to keep the really good coders from making everybody else look bad.
Admin
(BTW, there are ways to produce correct code first time. They're expensive so they tend to only be used in critical systems like fly-by-wire and railway signalling...)