- 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
You know, the sad part of that is it's very true. However, if those engineers were military engineers and not civilian engineers I can guarantee that some officer bent on promotion had the brass to see this thing killed. You get lauded for killing excess in the military. Government... other way around.
Admin
Sounds like cowboy coding to me.
Admin
Admin
Admin
Admin
Well, not really (theoretically). It's just that without specifics, it is very difficult for people to prove that you didn't just make it up.
(For the record, I suspect the &mdash was just trying some funniness tailored to the wtf)
Admin
Admin
I've worked in the public sector, and projects do get canned all the time. usually this is after spending all the money on doing the actual work (and not rolling it out, then wasting twice that again on having dozens of pointless meetings about whether the rollout makes any sense etc...
In this particular case, the auditors would have been hired at massive cost, consulted with absolutley everyone they could (thus wasting their time and therefor money as well), and decided to cancel the project).
This is a win win for everyone: The engineer's do no work, however having them generates enough money to hire an army of staff (auditors included) to justify never doing any work again.
Admin
Admin
Few years ago, after graduating, I was employed by University as a teaching assistant on ARM assembly programming course. These are second year students who have had various programming courses on their first year.
Students were required to solve some simple problems in ARM assembly, and when they were done, they would call teaching assistant to verify that the program is running correctly.
One of the students called me to show his program. I noticed that the outputs were all wrong, and told him that he has some sort of logical error in his code. He said "I don't have any errors, the assembler said 0 errors 0 warnings". The guy didn't understand the difference between syntax errors and logical errors, on second year of University!!!
(sorry for my bad English)
Admin
Admin
Why does nobody understand the difference between "pored" and "poured"?
Admin
This is typical
Admin
Won't work.
I read an interesting essay the other year about why nerds aren't popular at school. Put simply, the argument was that nerds have interests OTHER than being popular, so they can't dedicate all their time to being popular, therefore fall behind those who can.
The argument has some merit, although you don't have to push the envelope to extend it to this case. Cultural change that would get rid of managers like this WILL NEVER HAPPEN. It can't. Why?
Well, because managers like this are spending all their time 'being popular', or in other words ensuring that whatever has gone wrong is not their fault. Managers (and coders for that matter) who actually get things done, well they can only spend some of their time covering their arse, which means that in any long game of attrition, they'll lose. They simply cannot compete with a professional popularist.
Goodness knows we've seen more than our share of such cases on this very site.
The difference here is that unlike school, the popularists know they need us. So those of us who want to do our jobs, we'll be fine so long as we're not directly competing with the popularists.
I once had a very high pressure Govt job managing a team that was releasing sofware and operating system updates to 500 servers and 26k workstations on a WEEKLY cycle (a future WTF story I guess) and instead of listening to me about what needed to happen, they pulled in a HPC who was earning about 4x what I was and would barely have known a fifth of what I did about the situation. He came in and started seagull managing, and pretty much HAD to make me look bad to keep his consultancy ticking over.
I did the only thing that made sense at the time. I quit and got a better job. I've never looked back.
Seagull managers and popularists actually do have their place. But so do we. The trick is to know when you're in the way of one of these fools and then duck. Just don't wait for the change to occur in the business world where these people are no longer needed, because the one positive thing they are capable of is driving massive cultural change. And they won't ever put themselves out of a job. :)
Admin
Sounds like something Indian contractors would do.
Admin
my nipples explode with delight!
Admin
The fact that the US's military-industrial complex is inefficient with tax money and man-hours, and other public resources isn't exactly breaking news. That said, this is a particularly bad case.
Admin
No...leave. How many other projects or aspects of this same project is this manager pile driving into the trash heap?
Admin
Where does it say that this was a U.S. project?
Admin
I know the difference. But since I'd had my say about the arrogance of Grammar Nazis (myself included) yesterday, I figured I'd let it cool for a few days.
Thanks for ruining it for me.
Admin
For example, the schematics for a circuit board are considered "sensitive but unclassified." You can, say, look up the sampling rate of an analog-digital converter, and from that get an upper bound on bandwidth, but that's it. Were this a classified item, then everything from purchasing to manufacturing to inventory would need to be under strict security, which is way too much trouble.
Expected performance, derived from the part specifications, would also be unclassified. Actual designed bandwidth and center frequencies would be Confidential. Bandwidth, frequencies, and performance as measured in the real world would be Secret, the next level up. Information as to future use of the equipment, involving specific military units, would be Top Secret. And that's just for routine stuff like radars, not the super-secret stuff.
If it weren't 25-year-old news, they'd definitely put in the effort. One of our techs stopped coming to work some years back. I asked why; turned out he had not reported a personal bankruptcy to the security office. They caught it and gave him a year to file the form. He refused, and they had him canned and out in under an hour. A senior security guard was watching over his shoulder, from the time he was notified until he was out the door, to make sure he didn't do any funny stuff. They're serious. Not completely true.In addition to the three main classifications (confidential, secret, top secret), there is a concept called "need to know". If a person does not have a need to know, their clearance doesn't matter; you don't tell them anything. Telling someone something they don't "need to know" is just as actionable as telling someone who lacks the needed clearance.
This is where things fall into that gray area where a project manager has some authority on classification... the determination of need-to-know. They can wield some power by invoking need-to-know when it isn't objectively justified.Sometimes I think that more stuff stays classified to cover someone's behind than to protect the country.
Given the context, I'd bet the contractor had at least Secret. No, it's not that bad, but that's not to say that those without clearances are free to do as they please. The phone book is one example: no employee where I work is allowed to give out phone book information without determining the neet-to-know of the requestor. In all other cases, they are to forward the request to the front desk, which is manned by cleared security personnel. The receptionist is considered security personnel, as are the people responsible for mail delivery.All employees are briefed on these matters when they show up for their first day; new hires usually aren't available to work until afternoon. (This gives us some time to figure out where we're putting them and, if we're lucky, enough time to scrounge a computer together for them.) On an employee's last day, they go through an hour-long debriefing covering, among other things, what they can and cannot talk about.
Failure of a facility to follow these procedures can result in revocation of authorization to do classified work, which can put them out of business.
Admin
Sheesh, just go right to the top with it, along with proof of each person squashing your suggestion.
Admin
http://en.wikipedia.org/wiki/Declassification#Automatic_declassification
Admin
http://www.paulgraham.com/nerds.html
Admin
FSM! Don't you people know anything about Pascal?
It is very simple: Standard Pascal wasn't worth (Wirth?) spit in the real world:
Needless to say, with such a <sarcasm>perfect</sarcasm> match for real-world programming requirements, Pascal was widely used in the business world. (No, really, it was. Far more widely than it deserved.)
C has a string type, because although there is no overt string type, C has pointer arithmetic and pointer-to-char, and the standard library provides a pile of ways to use char* as if it points to a string.
Standard Pascal's closest approximation to a string type was a "packed array[1..length] of char". This is a fixed-length string of exactly 'length' characters. A N-character single-quoted string literal had the type "packed array[1..N] of char" unless N was 1 and the context called for a simple char. Note that a "array[1..N] of char was not a string-like type; the word "packed" was essential. There was no concatenation operator, and finding the length was, in fact, a fixed-time operation that required a bit of hand-waving to build.
Borland's Turbo Pascal (a God-like package that in version 3.0 for DOS managed to fit a source-code editor, blindingly fast compiler, and complete run-time system into a single 39KB executable) included a string type with the normally-expected characteristics, including concatenation, substring operations, etc. It supported opening files by name and other useful things. Version 4 added "units", a multiple-compilation-unit system that allowed a variety of funky capabilities, including single-source-file secondary compilation units with separated interface and implementation.
Borland eventually added OOP support and Windows RAD support, at which point it became Delphi...
And in all that time, enum->int was a simple matter of intvar := ord(enumvar);. int->enum ISTR was enumvar := EnumTypeName(intvar); No addressof (No such animal in Standard Pascal), no complexity.
But what do I know?
Admin
That's a pity. It made no functional change, remember
Admin
Admin
RE: "But isn't the upgrade several months away?" Steve rhetorically asked
HOW THE FUCK IS THAT RHETORICAL?! SOMEONE FILL ME IN.
Admin
Because he asked the question in order to try and persuade his manager to see his point of view. The very definition of rhetorical, really
Admin
On top of that, reducing the string length may still bring an advantage... that's worth a test.
Admin
Seeing as you make this mistake all the bastard time, you're either doing it on purpose to rile grammar Nazis such as myself, or you're genuinely making a mistake:
It's not:
"with a myriad of functions"
It's:
"with myriad functions"
</rant>Admin
And even then only if there are ten thousand of them. (No, seriously, that's what myriad really means, not an amorphous non-specific fancy-schmancy version of "a lot of" or "many".)
Admin
Was the Primary Contractor the Irish Girl??
Real WTF is Captcha - eros en.wikipedia.org/wiki/Eros_love
Admin
I'm not up on the hip cool lingo the kids use nowadays, but I believe the phrase "QFT" applies here. Mike D. sounds like he has some experience in this.
To make one point I think he missed, lots of people who do have Security Clearances don't know the rules either. I used to routinely see security classifications on items that had no business being classified at those levels. There's a whole process involved in classification, and an official Classification Authority who determines what level it's should be at and when the classification expires.
Just because you write "SECRET" on a user login account request, or mark a meeting "CONFIDENTIAL" in Outlook, does not mean the information actually is classified at those levels. It just means that it's incorrectly marked.
At least in the areas I was in, most material classified at Secret or above was just incorrectly marked material of lower classification that some jumped up, self important Lt. or GS-11 decided would look cooler that way. The rest of it was boring.
Admin
Come on, seriously. Everybody knows the rest of the world hasn't got electricity
Admin
But you don't know my IP address...
D'oh!
Admin
This can't be true!
I mean:
Passing 255 bytes strings by value for a string COMPARISON function?
Not even the hero knew about var arguments? For a second I thought maybe var arguments were a late addition to pascal, but nope, they were always possible...
String comparison called one billion of times? I wonder how the circuit code looked like?
Admin
Admin
One of the "gee, wow" things I remember moving from Pascal to C++ was the "const" keyword. The Pascal I had used didn't have anything like it.
Probably a badly implemented text file parser, or some scary big files, or both.There's a lot of stuff in Pascal that kept you from dong the optimal thing. It was designed as a teaching language; when Dr. Wirth saw people use it in the wild, he developed Modula-2, which never really caught on.
It's easy to get spoiled by the high level of micromanagement control you get in C.
Admin
Admin
More censorship please! :(
Admin
I actually do not blame the boss. He's an idiot, to be sure, but Steve should have reported his manager to whoever was his manager's boss. Who gives a shit if the guy gets fired. With something that has this great of an affect, you've really gotta grow a pair of balls.
Admin
I have a very similar story. I was hired by a company whose application was too slow for the increasing loads it was being placed under. Nobody had profiled it, ever.
So I ran a profile and found that one special string compare function was taking about 40% of the CPU time. Apparently, they have a 'magic object name' and every function that manipulates an object must test if the object name is the magic object name before manipulating it. (And if so, it goes to special code for the magic object.)
The string that was passed to this function was passed by value. So the operation became:
Adding a single '&' to the function profile changed the pass by value to pass by reference. This eliminated steps 1, 2, and 5. (Though in fairness, step 1 warmed the string in the cache.)
A new profile showed that this function was now taking 1/4 of the time, resulting in a 30% performance improvement with the addition of a single '&'.
(Well, technically the '&' went in both the header and implementation files and I added a 'const' for good form, but you get the idea.)
The moral of this story, and the original WTF -- if you care about performance, you must profile. It's not always immediately obvious where the time is going. Sometimes, it's bizarre.
(And the real fix is to mark object's magic with a flag so you find the object normally, then check it's 'is magic' flag. That avoids any string compare at all. But that's another story.)
Admin
I always wondered what that "Don't ask, Don't tell" DoD policy was all about. I guess now we know.
Admin
My first job was as a "maintenance programmer" on a military project; we received error reports from field sites and researched the problem. If there was a program error, we would propose a solution.
One of the programmers was always asking the rest of us for help. Eventually, he was put on probation; he was given a problem to research and we were all told to not help him.
A few weeks later he came to me and said that he had been set-up to fail. He said that he was never trained how to solve this particular problem. "I've run the code over and over; I even single-stepped the computer through it. And the computer always does exactly what the code says." He went on to say that the problem was with the specifications - they didn't match the code. And he had never been told the process for changing the specifications.
Admin
This comment is classified!
Admin
To an extent. If it's marked that way, you have to treat it as such, EXCEPT that you can submit it to the Classification Authority, which has all the clearance and need to know they need to read anything that is submitted to them for review. If you submit it to them, and they deem it to be excessively restricted, they'll issue a remarking notice, and all copies of the document are to be remarked. If I am not mistaken, this means all printed copies need to be destroyed and, if still needed, reprinted after the electronic copy has been updated.
As I understand it, if you submit something to the CA and they deem it to be incorrectly marked, the person who marked it gets dinged, and nothing happens to you (theoretically.) If they deem it to be correctly marked, and it was marked as some type of classified, you get dinged - UNLESS you weren't supposed to have access to it, due to the type of classified it was and your access level. In that situation, the last person with sufficient access in the link to how you got it gets it and how. Also, the brown stuff hits the spinny thing, and all sorts of things happen. I've not yet heard of it going badly for the reporter - at least not immediately, and not from the CA. Anyone who did make trouble for a reporter in this situation was in enough trouble themselves that the reporter was able to defend themselves effectively (that is, thanks to some legal advice from a licensed attorney, the reporter turned the attempted retaliation into career seppuku for the retaliator.)
The CA within a company also tends to be the review board for in-house markings, such as 'Company Most Private', since the process is much the same, and many documents which the company produces which are 'Top Secret' also tend to be 'Company Most Private' - at least, initially. If one over-marks a document with an in-house marking, and they find fault with ones marking, it's generally considered much less serious. As such, the nits around here tend to mark everything CMP, rather than TS.
My personal favorite was the guy who produced some statistics for Marketing, and marked it CMP. Probably the best part was, the marketroid just took it and used it, and included the marking - and the CIO gave the sales demo (as it was an IT product, and the DoD's considered a VBCustomer) without taking the time to preview it first... (Of course, this was only enjoyable for me because I was not involved, except for having told the producer of those statistics to stop marking documents CMP without reason on many prior occasions.)
Admin
You think the contractor would update their code if you told them about the problem?
No, you specifically tell the contractor the issue, except that you don't provide the patch to fix it. This way, when the upgrade comes along, and things slow down again, you have the previous email to the vendor as evidence that you told them previously, so you get to be the hero again by applying the same patch, and you also get to be a hero because you enabled the company to get an out of court settlement from the contractor over their incredible ineptness. (After, of course, verifying that it still only needs 8 chars.)
Admin
Depends where you are. I worked for a time at Australia's Defence Science & Technology Organisation, and the policy there was that the originator of material was responsible for determining the classification. Short pieces of work could be classified as a whole, but I still remember the last stage of writing tech reports: going through and prefixing each paragraph with (U), (C) or (S) as appropriate (the facility I worked at was only rated up to Secret, no (TS) material for us), and marking each page with the maximum level occurring within it. (I actually didn't have to do this all the time, because a fair bit of the work I did was unclassified, so I just had to label the whole report Unclassified in that case.)
I never had to call meetings myself, but I would expect that the person organising the meeting determined the classification level. It was always interesting to go to a meeting classified SECRET AUSTEO (the latter meaning Australian Eyes Only), because at least you knew there would be real data or results, not just boring policy :)
Admin
Sounds like: "You soon will be fired" to me, in such an environment.