Why MS is Not Opening More Source Code 526
mario_grgic writes "Apparently inappropriate code comments is one of the reasons according to this story.
I wonder what kind of things developers put in comments that would be so bad for the rest of us to see?"
comments? (Score:5, Funny)
Re:comments? (Score:3, Funny)
Best of the 'inappropiate comments' (Score:5, Funny)
Re:Best of the 'inappropiate comments' (Score:5, Funny)
GNU General Public License, version 2.0
Re:Best of the 'inappropiate comments' (Score:5, Funny)
Re:Best of the 'inappropiate comments' (Score:4, Interesting)
As well as any other comment which implies piracy. If the developers are working on code they never expect to be seen by "outsiders" they are unlikly to be concerned about "borrowing" someone else's code.
Re:Best of the 'inappropiate comments' (Score:4, Funny)
Re:Best of the 'inappropiate comments' (Score:3, Interesting)
Re:Best of the 'inappropiate comments' (Score:3, Insightful)
Re:Best of the 'inappropiate comments' (Score:5, Funny)
or
and don't forget
Re:Best of the 'inappropiate comments' (Score:5, Funny)
My personal favorite:
Re:Best of the 'inappropiate comments' (Score:5, Informative)
Re:Best of the 'inappropiate comments' (Score:4, Funny)
Re:Best of the 'inappropiate comments' (Score:5, Funny)
Re:Best of the 'inappropiate comments' (Score:4, Funny)
Re:Best of the 'inappropiate comments' (Score:4, Funny)
Comment removed (Score:5, Interesting)
More Sun-related Linux kernel gems (Score:5, Interesting)
arch/sparc/kernel/ptrace.c:/* Fuck me gently with a chainsaw... */
arch/sparc/kernel/head.S:
arch/sparc/kernel/sunos_ioctl.c:
arch/sparc64/mm/init.c:
arch/sparc64/kernel/traps.c:
Even better is this from 2.4:
arch/sparc/mm/srmmu.c: Are you now convinced that the Swift is one of the
biggest VLSI abortions of all time? Bravo Fujitsu!
Fujitsu, the !#?!%$'d up processor people. I bet if
you examined the microcode of the Swift you'd find
XXX's all over the place.
Re:Best of the 'inappropiate comments' (Score:5, Informative)
interface gets its name from the `Happy Meal'
ethernet/SCSI combo card, so named because
you get both interfaces as a discount deal.
The same chipset went onboard some machines, too.
The PCI version (Happy Meal was SBus) I think
was named Fresh Choice (two trips to the ASIC
salad bar) after the valley eateries, but I
might be misremembering.
ian
Re:Best of the 'inappropiate comments' (Score:3, Informative)
Re:Best of the 'inappropiate comments' (Score:3, Informative)
Ahh, the joys of grepping for "fuck".
arch/mips/pci/pci-ip27.c:
arch/sparc/kernel/ptrace.c:
net/core/netfilter.c:
And of course
which occurs several times in the Linux kernel.
Re:Best of the 'inappropiate comments' (Score:3, Funny)
Re:Best of the 'inappropiate comments' (Score:2)
i did, bitch didn't answer wtf !
Re:Best of the 'inappropiate comments' (Score:2, Funny)
Re:Best of the 'inappropiate comments' (Score:2)
Unfortunatly many of the best ones have been in proprietary code that is still in use and would be recognized if posted here.
Re:Best of the 'inappropiate comments' (Score:3, Funny)
public class JohnQPublic {
public void GettinMyHo (int daBooty) {
}
}
public class PimpDaddy{
public GettinSome() {
JohnQPublic johnDoe = new JohnQPublic();
int inDaAss = 100;
johnDoe.GettinMyHo(inDaAss);
}
}
Except "John Doe" was usually people he didn'
Re:Best of the 'inappropiate comments' (Score:4, Funny)
Re:Best of the 'inappropiate comments' (Score:3, Funny)
Re:Best of the 'inappropiate comments' (Score:3, Funny)
ToDo: Make this work
I laughed each time I saw it.
Actually, I doubt it (Score:5, Insightful)
If comments about the company or other co-workers are present, they'll more likely be a lot milder and kept to something you can sorta justify as just documenting code behaviour. E.g., "this is a work-around for Bug X in Function Y of the MSFC".
On the other hand, there is plenty of room for utterly inapropriate comments about other companies and products. Think along the lines of "unlike the utter crap we took from the BSD monkeys, this one is 40 times faster and uses 10 times less memory." Or "this is here only because the monkeys from are too stupid to do their own buffer checking before calling my function."
Excessive hubris is pretty much part of the job description for nerds. Remember kids, everyone else sucks and is an idiot luser. Only you can possibly know anything at all about computers. And only the skills you have (e.g., pushing the power button or typing "emerge kde") are l33t and cool, the rest is idiot luser stuff.
But my guess is more like MS is just playing defensively. There are a lot of people and has-been companies that are out for MS's blood. Comments that noone minds in the Linux kernel, if found in MS code would get those people screaming for blood and gathering a proper medieval crowd with pitchforks and torches.
I mean, look around. Even a comment as benign as "this is a work-around for bug X in function Y" would get half the MS-bashers on
Doubly so for those who:
A) never wrote any productive code in their entire life, but think they're uber-l33t because they can run someone else's scripts (e.g., "emerge kde"), or
B) wrote a 20 line program in BASIC once, or a 20 line BASH script, so they think they're qualified to pass judgment about 1,000,000 line projects or about whole languages
(No offense intended to good programmers in either VB or various shell scripts. But there is a _massive_ and _fundamental_ difference between a 100 line program and a 100,000 line program. Stuff that works in the former, like, "bah, I wrote it just as well without all this fancy encapsulation and bogus design", might just cause the latter to never be finished or anywhere near working.)
Re:Actually, I doubt it (Score:5, Insightful)
That nobody at the workplace cares about you in a good way, that's probably not a bad frame of mind. Cynical, that's true, but most of the time it's accurate.
But you might be surprised who cares about you in a _bad_ way. Who's out on a personal quest to prove to the boss that your code is utter crap and you should be fired. Or at least he should be promoted before you.
I've already posted one such true story on Slashdot (I fondly called it "Jack and Jill up corporate hill), where a marketeer-turned-programmer I know (and to my shame, which I've helped get into programming) made it a personal quest to get both female programmers on his floor fired. He succeeded too.
He'd run with snippets of those programmers code to every single guy in the building, to show everyone what bad code they wrote. Invariably he was wrong, and just showed _massive_ incompetence, and their code was good. He didn't even know the most elementary _basics_ of Java, the language he's paid to program in. But obviously it wasn't obvious to the boss, seein' as he did get them both fired, and he got promoted.
A more sad case was someone who couldn't program at all. No, not just "not a top programmer." He just couldn't write code that even compiled. At all.
So a couple of co-workers took pity and started helping him. Well, not as much "helping", as outright writing his modules for him.
So what does he do? Make it his personal quest to bad-mouth them to the boss behind their backs, and "prove" that they just interfere with his work and he surely would have done better if they hadn't edited his files. (Never mind that he had actually asked for their help to start with.)
There's one important lesson in corporate cynicism there, grasshopper. The person you helped might be not a friend, and not even indifferent: you might have actually made an _enemy_. You're one of those who know he's incompetent, and that makes you dangerous. Worse yet, you might be seen as a good programmer, and as such in his mind (and usually _only_ in his mind) someone who might get promoted before him. You're an obstacle to be taken out of the way.
How's that for being even more cynical?
grep (Score:5, Funny)
graph of fucks per line in the kernel (Score:5, Funny)
Better yet: The word 'fuck' is here so you can graph for it [vidarholen.net].
Re:graph of fucks per line in the kernel (Score:4, Funny)
ha (Score:5, Interesting)
Re:ha (Score:5, Informative)
"Linux Rocks!!!" (Score:4, Funny)
I wonder... (Score:5, Funny)
Programmers do to comment. (Score:5, Funny)
Well... for starters... (Score:5, Funny)
Re:Well... for starters... (Score:5, Insightful)
Re:Well... for starters... (Score:4, Informative)
Re:Well... for starters... (Score:3, Insightful)
http://news.com.com/MS+to+invest+150+million+in+Ap ple/2100-1001_3-202143.html [com.com]
"Both Apple and Microsoft executives denied that the Microsoft investment represents a path to converging the companies' operating systems. However, they said they had agreed to work out a settlement to a long-standing dispute over whether Microsoft's Windows operating system infringes on any of Apple's patents."
http://www.jmusheneaux.com/index02.htm#Major [jmusheneaux.com]
Re:And don't forget (Score:3, Informative)
"Copyright (c) 1983 The Regents of the University of California.
All rights reserved."
lol (Score:2, Insightful)
I just wouldn't be open source without inappropriate comments.
Hard habit to break. (Score:5, Interesting)
Particularly when debugging scripts. "F*CKING C*NT" and the like weren't to uncommon.
An interesting tidbit, Viaweb (now Y! Store) used to have a program called storef*cker
Re:Hard habit to break. (Score:5, Funny)
A few years ago I was hired to do web application development because of my skills in one language, but I was hired to write in another. So, since I began doing for-production work in a matter of days, I had a lot of simple errors.
I used to step through my code by placing either "Fuck yeah!" or "Shit's broke" inside and outside of different condition statements.
Then one day some idiot on the team decided it would be a good idea to randomly show the clients my incomplete, not live code for whoknowswhy, and in the middle of the page at random was "SHIT!"
Been trying hard to break that habit since
Re:Hard habit to break. (Score:5, Funny)
I hope you mean breaking that idiot of the habit of showing clients random and incomplete code
Being a consultant breaks you of that. (Score:3, Funny)
I _do_ recall when a particular demo for a big client was going well, I was actually calming down (big mistake), etc. A weird path through the code was taken and what do I see?
***Eat my flaming cock, you hairy scrap of shit clinging to the ass of a decent developer, You should never have hit this exception. Please eat the stack trace, curl up, have massive convusions, and beg me for your life. Bring.a bottle of good scotch. -grs#***
Printed in big, red letters on the app. (We have c
Re:Hard habit to break. (Score:4, Funny)
Must have been a b*tch to invoke from the command line, with an asterisk in the name and all.
How about this? (Score:5, Funny)
In all reality though, it's probably littered with expletives, like the Win2000 source code leak was. [slashdot.org]
Re:How about this? (Score:5, Interesting)
Re:How about this? (Score:3, Informative)
Re:How about this? (Score:5, Interesting)
Notice how the code snippet you pasted is inside #if? That means the preprocessor will strip it out at compile time, not run time... got that? Next you note that htons performs the same check. That would be the htons function right? There's this thing about functions... Every time you call them you have to push your state onto the stack, wasting cycles. That means your version will waste a processor cycles every single time it is called, but the linux one won't. We call this optimisation.
What's that? Cycles don't matter? How frequently do you think the function above is called? Can you be certain it won't be called when performance is key? Lets be clear, there is some ugly code in the linux kernel, most of it is stuff written years ago that could be refactored if anybody bothered. But pointing to an optimisation and saying: look, that's redundant! is just foolish.
Automatically strip the comments out! (Score:2, Insightful)
So If Microsoft does this then there is one excuse down the drain, but how many more will there be?
Examples (Score:2, Funny)
ever hear of grep? (Score:2)
Do VC++ or VB users know perl? (Score:2, Flamebait)
I've never even met a VC++ user who could even write C/C++ without the environment.
I agree with your statement but, I'm not sure the target environment is up to it.
Re:ever hear of grep? (Score:4, Interesting)
I used to work for an company that produced a commercial OS, and their policy was to discourage comments. Their goal was to make readable code, and when you are tempted to make a comment, that means the code was getting too complex and needed simplifying, or better choices of identifiers. Comments were a last resort, shunned as they tend to go out of date faster than the code. Unfortunately the ideal had only limited success, as writing legible code is a skill most coders don't possess. When the idea worked, it worked well. When it failed, you had unreadable code without comments.
Some suggestions... (Score:5, Funny)
GPL (Score:2, Funny)
On the other this is impossible. I havent found any GPL code as bad as the MS code (Well of course I havn't looked at too many GPL programs and a single MS program
sometimes its things that get mis-interpreted (Score:5, Interesting)
OTOH, there could also be missing comments. I think we've all entered projects with no documentation or usable code comments; where the lore of the project is passed from dev to dev.
Or, they may have rushed so many projects that they are embarrased for anyone to see the code. Many companies and the military are guilty of this. Maybe they want some time to do a review / refactor.
Bullshit (Score:2)
Re:Bullshit (Score:2)
Microsoft Programmer: "Oh noes! I can't sed out the comments!"
---
Microsoft Boss: "Wait a minute, what's with these comments? We can't release the source code now." (evil grin)
bloat (Score:2)
then: bloat more
while: bloat
end: just kidding...add more bloat
bloat
bloat
bloat
end: clean code
add: bloat
Easy... (Score:5, Funny)
And a little further down...
Examples of Comments MS Don't Want You to See (Score:5, Funny)
Because search and replace kept blue screening? (Score:2)
my guess (Score:2)
How about the obvious? (Score:2)
Innapropriate comments? What the. (Score:2)
We're talking about Microsoft here. I'd expect from them standards a bit higher than the average. What gives?
"Shawn started a lively discussion. Certainly there are people inside of Microsoft discussing the pros and cons of doing this, but as far as I know, today, we have no plans to share the Windows Forms code,"
With the given possibility I'm not surpr
Re:Innapropriate comments? What the. (Score:3, Informative)
Your code can be really clear using proper variables like iNumber, proper syntax and the works! But when you programming, you're putting in what you have in mind or on your plan. You don't want other programmers to "guess" what you were trying to do in "x-y" lines.
When it's not self explan
Re:Innapropriate comments? What the. (Score:4, Insightful)
The main exception is code that needs optimisation. But when you remember that isn't always to early to optimise code, and when you do optimise, you only optimise the small fraction of the code that has the most effect, then the ammount of code that needs comments is minimal.
The other exception is commenting other peoples code that haven't written it in a legible fashion.
P.S. Like the grandparent post, I'm not talking about function header comments, particularly auto documentation system comments - those are essential. I'm talking about comments mixed in with the code.
Normal (Score:2)
That said, why not just strip the comments and release it that way untill the comments can be cleaned, or better yet run it through a program to filter out offensive language.
I mean, it's not like the variables have naughty names, right?
I believe it. I have a (very bad) similar story. (Score:2, Insightful)
The second part of the week was a code walkthrough highlighting certain parts of the tricky code. My software development manager, for some unknown reason, decided to leave in original comments from the developers which included
- Dissatisfaction with a pay raise of only 22 percent
- Disa
Remind me of... (old phart alert) (Score:2)
Inappropriate code comments (Score:3, Informative)
Any closed code needs to be cleaned (Score:2, Informative)
Some examples... (Score:2)
Mostlikey (Score:2)
I know! I know! (Score:2)
Why use bad language in code? (Score:4, Insightful)
Quake III (Score:5, Funny)
i = 0x5f3759df - ( i >> 1 );
Re:Quake III (Score:5, Informative)
-b
Best comment I ever saw (Score:5, Funny)
Let me tell you a lilttle story about Joe (Score:3, Interesting)
It isn't just the comments (Score:3, Insightful)
Most likely: /* card is crap - workaround */ (Score:3, Interesting)
Comments like that read by the wrong people end up with expensive legal action - paticularly if the product really is crap.
Two examples (Score:5, Funny)
Two projects I worked on had to deal with 'inappropriate comments':
The first was when a reference to Black Sabbath (a music band) was in some comments. Normally, source is not given to customers, but in this case, it was a shell script, so it did go to customers.
Those who asked for that change were from the useability group. The guy who had to fix it was the archtypical anti-social nerd, but had a strange sense of humor. He entered an issue in the bug/change tracking system saying something like 'change Black Sabbath comment as per customer request'. The irony is, source had the CVS $Log$ tag, which caused all the fix comments of CVS to be in the source [no matter that I thought it was a bad idea, and that 'cvs log ....' would get you the same info, a manager said "this is the standard here"], so the issue description got into the log comments, and Black Sabbath was there again! Ha!
In another case, we had a product that relied on an open source but commerical product. That product was developed by nerds who used programmers' humor all over the help pages, ...etc. The customer was upset by the use of 'conversational English' in the documentation. We had to get someone from the technical writing team to rewrite those pages! Nevermind that the product was geared towards sysadmins and techies! Sigh.
A long time ago (Score:4, Interesting)
During the interview the hiring manager started going over the code with me and having me explain what it did, how it did it, etc. And then he got down to the
I felt pretty sunk. Ended up getting the job, though.
True hell (Score:5, Funny)
Evil stuff we always suspected... (Score:4, Funny)
Or how about... (Score:3, Funny)
What comments are those? (Score:5, Interesting)
If you had done more coding, you would know.
"Stupid pointless [expletive deleted] for Marketing" or "This is dumb but the boss says Do It".
"I have no idea why this works, so don't touch it!"
"Kill 'em all, let God sort 'em out!!!" (on an instruction to skip over whitespace).
And some actual examples I'd be embarrassed to repeat.
I guess that when one spends all day writing bloodless prose for an unfeeling machine, commentary seems like the only emotional outlet one has. I've written a few comments which were, ah, amazingly vivid considering the humble nature of the operations they describe.
Re:Inappropriate comments.... (Score:2)
Re:Inappropriate comments.... (Score:5, Funny)
Re:See the code, be the code (Score:2, Insightful)
that is like saying once you have seen a book you cant be an author.
it is literally the same expressiveness in both.
you cannot memorize one in enough quantity to matter.
looking is not the same as analyzing and studying it for a long LONG fucking LONG amount of time.
you can get an idea of how things work without the time it takes to remember significant amounts of code.
Re:See the code, be the code (Score:3, Insightful)
Re:See the code, be the code (Score:3, Funny)
Re:Slashdot And Microsoft (Score:2)
didn't they just release 13 new patches?