Stack OverflowNew programming jargon you coined?
[+579] [354] John K
[2010-02-27 23:30:35]
[ communication terminology vocabulary ]


What programming terms have you coined that have taken off in your own circles (i.e. have heard others repeat it)? It might be within your own team, workplace or garnered greater popularity on the Internet.



This question serves in the spirit of communication among programmers through sharing of terminology with each other, to benefit us by its propagation within our own teams and environments.

Stealing from the comments:

"A shared vocabulary is the basis of communication, not just among programmers [...]"

(2) make it a comm wiki? SO isn't for fun, sorry jdk - Woot4Moo
(2) @Woot4Moo: Take a look here… One of my faves. Oh.. and not to forget another here - John K
Now with added Community-Wikiness to make it that much more palatable for reopening. C'mon folks, we want to, deserve to, know each other's programming-related jargon for practical use in our own circles... - John K
(67) Voted to reopen. I couldn't see a reason to close this in the first place, CW or not. A shared vocabulary is the basis of communication, not just among programmers, and this is a very interesting, and worthy question. Now I just wish I had invented some term that others might find useful ;-) - Grundlefleck
(5) @jdk: Have you any idea how controversial those questions were at the time. Thankful few allegedly fun questions survive the gauntlet, or we'd be drowning in them to the exclusion of useful content. If the jargon folks have coined is wonderful it will take off of its own accord. If not it should die an unheralded death. - dmckee
(3) Why is this question only being considered as "fun"? Although it may not have "a single, correct answer", it is still a valid, serious question. If "factory class" didn't have a design patterns book behind it, I would still have liked to have known a term which encapsulated the idea behind it. - Grundlefleck
@dmckee: Too much stress all things considered. There are valid sides to the question and those have been expressed by others so I won't repeat. Community decides either way. I hope they go with the validity of it and have some enjoyment along the way but if not no big deal. - John K
(1) +reopen: so much easier to close this question than it is add the 'fun' tag to your ignore list, amirite? - Juliet
(114) I'm thinking "BadgeWhoring" would be a great term, applicable to people who post "fun" questions in order to garner SO badges. - blowdart
(3) @blowdart: Maybe in some cases but I'm honestly interested in knowing people's programming jargon - others are too. Take all badges and points away from me for this question and I won't care in the slightest. - John K
(33) I want Jeff Atwood to post "six to eight weeks" as an answer. - Aaronaught
(1) Part of jargon taking off is exposure which it certainly receives here. Just working over the weekend, one of these terms has already started taking effect in our team (just happened to sync with what we're doing). However I won't say which one because I don't want to show faves. Jargon will take off or die on its own merit. Very useful regardless. - John K
(27) I didn't make this up, but it should be on any jargon list: Heisenbug - a bug in the release version of the program that doesn't happen in the debug version (or doesn't occur when you're debugging) - Scott Smith
(9) Yeah the whole "close because it's not a question" idea bothers me. This is a community of programmers that sometimes wants to know more about the culture we work in, instead of just answering technical questions. - Mike Robinson
(2) Programming is a culture as well, and enjoying that culture makes developers more productive, creative, and successful. In this case terminology is a large part of communication, similar to how has helped loss in translation. +1 - Jas Panesar
(1) Wow for a "fun" post I've actually learned a lot of terms I can use. I do feel bad for Jimmy though... - Mike Robinson
I work with a guy named Jimmy, no kidding. I perhaps should not use the term Jimmy-proof. lol - geekam
@George Stocker: Your edit to make the question "Common Programming Jargon" created a conflict because the body of the question clearly states common terms are not acceptable, or at least it made the question too ambiguous (and frankly not a question at all!). The specific intention of my original question is to pick up new jargon just as the body reads. I reverted the title back to its previous version. - John K
(2) This sounds to me a lot more programming related then say…. Voted reopen. Voting war? - Suma
(1) @Suma: Indeed this question meets all the criteria set forth in the FAQs * detailed and specific, * written clearly and simply, * of interest to other programmers. It also meets reqs of what not to ask: * subjective (your jargon is not subjective), * argumentative (personal jargon cannot be argued), or require extended discussion (no more of a discussion thread than your dictionary!). For those reasons this question has been reopened. The fact that people enjoy themselves along the way in no way invalidates a valid question. - John K
(4) How is a list of programming terminology not programming related? - sal
@sal: the tag is being used to keep it off the front page, you know helping to ensure "noise > signal" doesn't happen. - sixlettervariables
(3) @sixlettervariables: Please do not add the not-programming-related tag.… These tags are officially discouraged and users are asked to delete them on sight. Either vote to close, flag for moderator review, or leave it alone. - Aaronaught
What's with the torrent of votes and new answers, anyway? Did we get Digged or something? - Aaronaught
@Aaronaught: Curious. I've wondered the same since my messages are off the scale with this one. Seems to have brought some negative attention too by way of users modifying context of the original question and/or relabeling/mislabeling. - John K
(1) jdk: 'definition' as a tag has a specific meaning on the site. This question isn't a 'definition' question. - George Stocker
@George Stocker: Fair enough about the definition tag. Also I like the recent formatting you applied - it organizes the question much better. - John K
@Aaronaught: not everybody reads meta. So what tag do we use to keep these non programming questions off the front page? - sixlettervariables
@sixlettervariables: You mean these non-programming questions with the word "programming" in the title? :) Or rather do you mean non-code questions? - John K
(1) @jdk: questions which aren't solving programming related problems. Nobody gets a problem solved by the answers to this question...this is best on a blog posting or a twitter feed. This is just noise when looking for real help. - sixlettervariables
@sixlettervariables: I've been in enough situations where communication has created programming related problems. You're correct that this question can't solve a specific code-related problem. About seeing this kind of question on the front page, you can use the sub-tab "newest" and you won't see any older questions. By default the Question homepage shows activity. It's a bit of a PITA to to click two different things - the querystring version of the question page: will always show you the newest stuff without the consideration of activity. - John K
@jdk: you can ignore tags, which was what i thought the not-programming-related was for, but apparently I was mistaken. I'm looking for a tag to be used to mark questions that are not solving problems. That way they can be ignored. Calling something "Pokemon Exception Handling" solves nothing, it is simply fun to know (so put it on twitter or a personal blog)... - sixlettervariables
(3) @sixlettervariables: Nowhere in the FAQ does it say that questions have to actually solve a problem, they just have to be programming-related, and this is. I suggest you not attempt to [ab]use the tag system to keep this off the front page, but if you must ignore something then ignore jargon, that tag only has two questions. Or cast your vote to close. But please don't add useless tags. - Aaronaught
@sixlettervariables: On that note I suggest you give a downvote to 'Pokemon Exception Handling' if you think it's not worthwhile. All the built-in voting features let you express yourself effectively. I suppose you could always use Grease Monkey or kobble together a solution for yourself if SO doesn't yet provide a mechanism that you would like in this case. - John K
(1) I can't see how this is not a "real" question. - jmucchiello
(2) I'm surprised people are still trying to close this question. If anything, it should be locked. It's at 369 votes, it's not going anywhere. - George Stocker
(2) This topic had been blogged along with some cool pictures. - BalusC
@blowdart: I have had the term "badge-whoring" in my profile since I registered ^_^ - Lohoris
(3) To the people voting "belongs on Meta" - seriously? Come on, it's obvious what you're trying to do and it's really a terrible abuse of the closing system. Whatever else you may say about this question, it definitely does not belong on Meta. - Aaronaught
(3) LOVING all the images that have been added :-) - whybird
(1) jdk, I freaking love you for those images - Rubys
I couldn't let MSDN's Canadian Developer Connection get the better of this question by jazzing it up in their blog post, so carried over some images and added more.… Also I find the imagery helps locate particular items otherwise it's like sifting through the dictionary in non-alphabetical order. - John K
Is the StackOverflow server running out of disk space? - Joey Adams
(1) To the people voting "off-topic" - come on - really? Explain how this question does not "generally relate to programming". - John K
@Joey Adams: Darned if I know. Don't worry about it - they'll shove in another hard disk. - John K
I try very hard; but I just don't get it - Why some users vote questions close. You believe it's not a real question? - Don't bother and leave it to those who think it's not. You think it's off-topic? - Don't waste your time meddling with it and move on to better ones. There comes no harm from your non-intervention. But, for god's sake, why do you think you have the right to decide for me and others? - Majid Fouladpour
badgewhoring doesn't sound nearly as great as achievement slut... (for ppl. who only play games on the X360 to get achievements). - daRoBBie
(1) Its perfectly fine to see a jargon file maintained on SO.Sorry, but its a part of programming and I'm glad to see this open. Try getting a new entry through ESR: - Tim Post
Blogged version is here:… - John K
[+1570] [2010-03-12 03:23:19] zneak [ACCEPTED]

"Yoda Conditions"— using if(constant == variable) instead of if(variable == constant), like if(4 == foo). Because it's like saying "if blue is the sky" or "if tall is the man".

Thanks to dreamlax [1] for helping me find that.

if (5 == count)

Trillian [2] suggested the following during an IM conversation:

Here's a dirty but portable trick you can use to force a compile-time error:

struct not_a_bool {};
template<typename T>
not_a_bool ERROR_CONDITIONAL_EXPRESSION_IS_NOT_BOOL(T value) { return not_a_bool(); }
bool ERROR_CONDITIONAL_EXPRESSION_IS_NOT_BOOL(bool value) { return value; }

This will cause Visual Studio to emit the following error:

error C2451: conditional expression of type 'not_a_bool' is illegal

While GCC will emit:

error: could not convert ‘ERROR_CONDITIONAL_EXPRESSION_IS_NOT_BOOL [with T = int]((lhs <unknown operator> 1))’ to ‘bool’

It doesn't work with for loops, but equality testing in for loops is less frequent.


(18) +1 Very original and applicable. Sums up a common programming scenario quite succinctly. - John K
(146) This is actually quite a common idiom on languages that use == and =. If you put a constant on the LHS of the expression the compiler will generate an error if you use = accidentally rather than == for equality checking. Quite a few C or C++ programming types actually recommend doing this, and the principle would apply to C# or Java as well. - ConcernedOfTunbridgeWells
(1) ... I've read books which actually suggest this, since - in some languages - an assignment statement can be used as a condition. So if you're in the habit of writing (4==$foo) when the day comes that you bugger up and write (4=foo) you'll get an error message telling you what you messed up. Nonetheless, I don't do that :P - Richard JP Le Guen
(101) We know it's a common idiom. Things can be common and still be really annoying. - Kyralessa
(761) Isn't "Yoda Programming" where you never handle exceptions? Because, you know, there is no "try". - Michael Myers
(12) @ConcernedOfTunbridgeWells: It isn't necessary to do Yoda Conditions in C#. If you leave out an equal sign in an if statement, it won't evaluate to a boolean. - aaaa bbbb
(11) Upvote you I did. - dreamlax
(68) @ConcernedOfTunbridgeWells: We all know why this idiom arose. In civilised climes, we have compiler warnings to help us avoid this mistake, rather than subjecting every reader of our code for ever more to this Yoda-speak. (gcc -Wall: warning: suggest parentheses around assignment used as truth value) - John Marshall
(1) if (ninja.Foo() && ninja != null) - Nick Bedford
(13) In Java some people speak Yoda: if( "John".equals(name)) instead of if( name.equals("John")) . I understand the purpose (to protect from NPE if name is null), and have used this idiom sometimes, but I hate it nevertheless. - leonbloy
(6) @leonbloy: I think it's better to deal with the problem at its source than to sweep it under the rug with convolutions like: if("John".equals(name)). - bitc
(12) We'd all be speaking like that if saying "the sky is black" with a different accent could cause an eclipse. - György Andrasek
(1) BiYoda condition for "reentrant comments" feature is if(3==4), beacuse /* and */ suck :-D. - Notinlist
(6) A project I worked on had someone that made Yoda comments all the time. They were for places in the code where things were very complex or needed to change at some future date. /* Crappy this is. Fix it you must! / and / Confused you will be. Seek BLK-SHLS-CALC-DESCR.txt you do. Help you it will. */ Appreciate it I did. - sal
(1) @bitc - Its not always a "problem" for a var to be null, and this approach deals with the null check nicely. - jsight
(3) One of the most annoying variations on this I've seen is if ( false == someBooleanVar ) . It's not only annoying in many cases it's harder to understand. - Arnshea
This is the recommended convention in junit tests, which is probably how it gets into other code, particularly in java. Junit assertions are supposed to look like: assertEquals(expectedValue, testValue) - RMorrisey
(5) A pet peeve of mine, this is. - Alterlife
@aaa bbb: actually, it will. You get a compiler warning though. bool a; if (a = true) Console.WriteLine(a); - Jeroen Pluimers
in C# you can't do: int a; if(a = 1) Console.WriteLine(a); - Bryan
@John Marshall - Yes, but it's also arguably more readable. if(null != someLongExpression), you see immediately it's a not-null check while if(someLongExpression != null), you need to read more. - Fraser
(4) @Robert Fraser: Yes, arguably is the key word there. How often is it more useful to know it's a not-null check without caring about what is null? - dreamlax
@dreemlax - You see both, the question is which one you see first when reading the code. I find the reversed form easier for null checks (maybe just because I got used to it in C) - Fraser
(4) @Robert Fraser: Yes, but my point is, how useful is it to know it is null-check before knowing what could be null? - dreamlax
Reminds me of the possibility of "Yoda assignments" in R: some.value -> some.variable - Florian Jenn
@Florian Jehn: that's also how work many programmable calculators. - zneak
(1) @Jeroen: In JavaScript this concept mostly I see and compiled that is not. - JBRWilkinson
This is not a problem for Java--it was designed to avoid stupid mistakes rather than force people to come up with stupid ways to work around them. If(a = 20) fails since assigning within an if statement would be a confusing thing to do in the first place--and yes I'm aware of some of the "Neat" one-liners you can pull with assignment within an if, but java will compile good code if it's one line or not, so there is no longer any reason to have confusing, error-prone code. - Bill K
It's not so much the Yoda Condition per se. It's how people keep defending it as "being better code" when not it is, clearly. I called it "mental speedbump" before, but Yoda Condition is great. - DevSolar
+1 for the picture. - Reshure
+1 fore pic and comments! - lak-b
(6) Actually that's not how Yoda speaks. Yoda appears to mimic Japanese grammar by placing the verb in the end. "In grave danger you are.", for example. - Dave Van den Eynde
I love this one. "Check the condition, you must!" - alexander.biskop
I just can't bring myself to type this if(null != someObject) - dotjoe
@Dave Van den Eynde: There are many languages that naturally place verbs at the end. Placing the verb at the end is called Subject-Object-Verb or Object-Subject-Verb. Japanese is usually SOV, but Yoda appears to follow OSV, especially if the given quote is the example ("grave danger" object, "you" subject, "are" verb). - dreamlax
(1) @dreamlax: True you are, but with the Knights of the Jedi and their lightsabers, George Lucas' interest in Japanese culture hard to see it's not. - Dave Van den Eynde
(1) so want to do +111 on this one :D - Perica Zivkovic
(4) I pity the poor "Yoda Conditions" programmer that has to compare two variables. Oh noes, "if (x == y)", nothing can help me prevent accidental assignment in an if statement anymore! There are good ways to avoid accidental assignments (compiler warnings, code reviews, unit tests, code coverage), and writing your code backwards isn't one of them. Even more annoying is: "if (3 <= x)", no chance for the bug but they still persist writing it backwards. - Jon
(1) this even worth: if (0 < x)... you can see this in microsoft's video: - stacker
Since this question is locked I've decided to select the "correct" answer as not only the one with the most votes, but the one I also think has the best chance of being spread. - John K
(4) Yoda condition necessary is, because C++ shortcomings has. Yoda condition is used to bend the C++ compiler into emitting an error if you forget an = sign: if (2 = x) illegal is, while if (x = 2) a legal statement is, but not certainly what you mean. Java wiped this clear allowing a boolean between brackets, rather than an expression. The sintax is strong with this language and Yoda programming is for those who do not perceive the change in the force - mico
I prefer Yoda conditions in my C++ code, because I've been bitten my a missing "=" way too many times in a gigantic code base that does not compile without warnings. But I love the name. - Rodyland
Loved it so hard (mainly because of Yoda, I guess), that I think I'm finally going to start writing this way. - XLR3204S
Even worse than if (constant == variable) is if (constant == nonLHSExpression()). I hate it! - Pumbaa80
(7) This is not Yoda speak. Yoda speaks in Object Subject Verb order. So Yoda would say "(5 count ==)" not "(5 == count)". It would be more accurate to call this Klingon speak, as that is the order they use. - user102008
(3) @user102008: It's supposed to be a humorous term, not an accurate term. - dreamlax
(3) +1000th up vote from me! :-) - Mr. Ant
(1) @Ant That was a historic moment. - zneak
+1 worthy of being in the Jargon File. - edalorzo
Select Case True is arguably the ultimate Yodaism in Visual Basic. Awful. - Jean-François Corbett
We shoud have something related to 70's psychedelic music scene. Something like psychedelic memory leaks / stackoverflows.. add that to a pink floyd song. - soden
I love it and use it all the time. Don't see what the fuss is all about. - fritzfromlondon
[+1070] [2010-02-27 23:38:14] Woot4Moo

Pokémon Exception Handling. For when you just Gotta Catch 'Em All.

(43) [citation needed] - Ether
(4) I can see people like my Pokemon - Woot4Moo
(47) at the very least, I liek your mudkips - Jimmy
I favour the inverse; namely, exceptions you can't catch. I call them "slippery exceptions". - Rob
(2) Haha, you definitely made my day :D - Oliver Weiler
(1) Squirtle Squirtle! - pokstad
(3) @Rob you mean when someone tries to catch an OutOfMemoryException? - Woot4Moo
Yes, that sort of thing. - Rob
(3) My favourite kind of error handling: catch(Exception exc) { MessageBox.Show(exc.Message); } - Nick Bedford
(38) @nick: I've actually seen something like something like try {MessageBox.Show(message);} catch(Exception exc) {MessageBox.Show(exc.Message);} somewhere. Grrr... - David X
(1) Ive seen when error logging was wrapped in a try catch and then calls itself....stackoverflow here we come!!! - Dan Seaver
(40) MY EXCEPTIONZ - Let me show you them - akamike
(5) @David X: that reminds me of the 404 error given by some Apache webservers, noting that "Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request." :-) - ypnos
(1) nice graphic :) - Woot4Moo
(1) This is one of those phrases that i'm going to use forever in my life - Mark
(2) I used that before Feb22...… - StingyJack
you do realize its quite possible for me to have been writing code before Feb22 and moreso having seen pokemon long before that right? - Woot4Moo
(1) Yes, but there is an earlier public record. Thats all I was saying. - StingyJack
(5) The best! From hence forth I shall always catch(Exception emAll) - aredkid
(2) +1 for the so very genuine lol - chaosTechnician
(1) This is actually nicer - Kungi
This one made me LOL. :) - RickDT
[+845] [2010-05-10 10:30:17] Computronium

You know the style of brackets where the opening brace goes on the end of the current line, e.g. this?

if (a == b) {

We used to refer to this style of brackets as "Egyptian brackets". Why? Compare the position of the brackets with the hands in this picture:

alt text

(This style of brackets is used in Kernighan and Ritchie's book The C Programming Language, so it's known by many as K&R style.)

(34) Walk like an Egyptian. - eyelidlessness
(150) F**! My code used to look pretty, now I keep seeing Egyptians! - Aiden Bell
(7) That's why I put brackets on their own line. - Josh K
(95) "All the coders in their cubes say way-oh-way-oh..." - Kyralessa
(2) Code like an egyptian. - James Poulson
(3) Noooo, I always use this style. Now I hate it! But funny! - dierre
For some strange reasons I was looking at legs, though you said hands. - Guru
(74) I might add "Tie-Fighter else" to this one... }else{ - Vincent Robert
@eyelidlessness, James: here's a KT Tunstall cover - bobobobo
(1) I never used to like this kind of brace before but now with the Egyptian analogy I just love it. No doubt coding is indeed an art. What a revelation after so many years of coding. - naivnomore
Actually i like and use "egyptian bracket" for small code block(loop, if,etc.) so that pair of bracket that in 1 same column will be reduced(enhanced readablity) but I use one column brackets for function def,class def. Funny jargon though +1 - mhd
(1) Typical Liberals, always playing the race card. - George
(2) Man you made me laugh so hard!! - iamserious
"code like an Egyptian" - gonzobrains
It's also the official (and enforced by the gofmt tool) and one and only allowed style in Google's Go language : ) (and I'll post a new question about it) - SyntaxT3rr0r
Also referred to as "cuddled" (opening brace at end of line) and "uncuddled" (opening brace at beginning of new line): - hofo
That would mean Pascal-style brackets could be called "Hadouken-style". - tadman
First of all, {} are braces and [] are brackets. It's really not that hard is it? - Gene De Lisa
It's safer in JS, it avoids any automatically inserted semicolon issues - fritzfromlondon
[+694] [2010-03-01 01:45:19] Aaronaught

Different kinds of bug reports:

Smug Report - a bug submitted by a user who thinks he knows a lot more about the system's design than he really does. Filled with irrelevant technical details and one or more suggestions (always wrong) about what he thinks is causing the problem and how we should fix it.

Drug Report - a report so utterly incomprehensible that whoever submitted it must have been smoking crack. The lesser version is a chug report, where the submitter is thought to have had one too many.

Shrug Report - a bug report with no error message or repro steps and only a vague description of the problem. Usually contains the phrase "doesn't work."

(15) +sideways 8 for smug and shrug reports - Antony
(447) Man, developing software would be great if it wasn't for all the f**ing users. - Frank Farmer
(14) +1 for Smug and Drug reports. Admittedly, I am quite guilty of the former - Sukasa
(29) My favorite bug report of all time was "It runs for half an hour and then it stops." I never got any clarification on that one, despite asking. - David Thornley
(7) smug reporter here, damn. - James Morris
(8) At least "the smug" isn't the one who put the bug in there in the first place. But he is taking his time trying to be helpful, even if he doesn't know about all the intricacies of the system. Some programmers really have bad social skills.. - bitc
(1) @bitc, it's impolite to talk about yourself in the third person like that. - Aaronaught
(4) It is true that the smug reporter is often better than the other two. Nevertheless, the term fits them well (and is funny). I've seen some truly bizarre explanations for how problems work from "smug" reports. The other types tend to be just completely useless. - jsight
(6) Yup; smug reports are sometimes helpful. Smug reports where the person disassembles your code in .NET reflector and actually finds the fix for your bug are best of all (though a bit disconcerting). - Fraser
(7) @Robert, if the report is precise and technically accurate then by definition it's not a smug report. It's amusing to see some people contending that the definition itself is incorrect or unfair because there are certain cases that don't fit the definition. An apple is not really a fruit because sometimes it might be a zucchini. - Aaronaught
(3) I'd like to indicate, that any report (including the kinds you've listed), is better, than the lack of reports. Unless your software is bug-free.. right? - shylent
@Frank Farmer: I'm so gonna pin that on my whiteboard! - Bobby
(32) I once reported a vulnerability in Wordpress and everyone on the dev team accused me of "smoking crack" and didn't even bother using my exploit. So I made the exploit public, and then Wordpress wrote a patch. I guess I mean to say that it goes both ways. - Rook
(1) @The Rook: Sounds like the Wordpress team to do that. Still, this post isn't intended to mock all users or even all bug reports, it's just calling attention to a few specific types. Obviously it goes both ways, but since this is a programming site, it's our turn to laugh at them. ;) - Aaronaught
(1) @Frank Farmer : A quote worth treasuring. - naivnomore
Wish I could give this +100. Would be good if there was a "bug report" definition though. I need a permanent link to this answer to forward to certain bug reporters: "You have submitted a drug report, please change to a bug report as defined here" - Jon
Now if you could go and get the new cover sheets on all drug reports before they go out that would be terriffic. - WTP'--
[+685] [2010-03-14 23:59:44] kyoryu

A Duck

A feature added for no other reason than to draw management attention and be removed, thus avoiding unnecessary changes in other aspects of the product.

I don't know if I actually invented this term or not, but I am certainly not the originator of the story that spawned it.

This started as a piece of Interplay corporate lore. It was well known that producers (a game industry position, roughly equivalent to PMs) had to make a change to everything that was done. The assumption was that subconsciously they felt that if they didn't, they weren't adding value.

The artist working on the queen animations for Battle Chess was aware of this tendency, and came up with an innovative solution. He did the animations for the queen the way that he felt would be best, with one addition: he gave the queen a pet duck. He animated this duck through all of the queen's animations, had it flapping around the corners. He also took great care to make sure that it never overlapped the "actual" animation.

Eventually, it came time for the producer to review the animation set for the queen. The producer sat down and watched all of the animations. When they were done, he turned to the artist and said, "that looks great. Just one thing - get rid of the duck."

(1) +1, @kyoryu - good story, though doubt this jargon is useful in environments lacking the context. - bill weaver
(5) Well told! I'm gonna use this on a future project. Also, it reminds me of the Cool Cam - - Mike Robinson
(4) I had a Brazilian friend tell me of a similar concept years ago, but in a business context. Farmers used to drive a sacrificial head of cattle into a river to test for/satisfy any piranha that were present. The business world co-opted the Portuguese word "Boi" (cattle) to describe a deliberately allowed mistake in a report so that critics would find it and hence take the heat off the rest of the work. However in being an engineer I find it hard to do such things! - Peter M
(131) I saw a similar "duck" idea on The Daily WTF. There was a loop that did nothing for 10000000 or so iterations. It was there so when the coder wasn't able to produce anything that management would understand, they could remove a 0 from the iteration number and tell management that they found a place in the code that they optimized by an order of magnitude. - Dinah
(7) @Dinah, that's called the "speed up loop". - Alex
(88) The only problem here is if management sees the "Duck" and says it looks fine. - MiffTheFox
(124) @MiffTheFox or worse ""that looks great. Just one thing - get rid of the queen." - Robert Groves
(124) @MiffTheFox: I did this once. I put in placeholder voiceovers in a multimedia title, with the stupidest Monty-Python-esque voiceovers I could manage, so it would be obvious they needed replacing with the real thing. The clients loved them, and got me to go into a sound studio to record more. - whybird
(5) @MiffTheFox: That is, of course, the danger. It's a fine line to tread between the duck being good enough that you're not obviously screwing with the Powers That Be, and good enough that there's a danger they'll keep the stupid thing. - kyoryu
(24) Another note: this isn't unique to programming. When I used to work construction, many guys would leave obvious mistakes in their work so that when inspection time came, the inspector would feel satisfied with himself and leave them with something easy to fix. The rationale was that no matter how perfect everything was done, the inspector had to find something before they'd sign off. - TM.
brilliant! Great for those occasions when dealing with people that genuinely don't feel they've been helpful unless they've suggested a change. Especially when their suggestions are mostly bad. Nits to pick for the purpose of protecting the software, lol. - Arnshea
(2) An old colleague of mine from the army used to do that. Officers are worse than managers; and they can't leave anything untouched. He used to add spelling errors all over the place to keep them all occupied... - Kobi
(4) Funny, I reverse-engineered old Interplay games on 3DO once, and the ISO was full of "IAMADUCK" string, repeated for padding. I think it's something 3DO's iso generator does, I'm not sure if it's on other 3DO games or only on Interplay's. - gilm
(1) Reminds me of the Admiral's Pipe: - Ed Brannin
What's the term used for an imperfection deliberately introduced into a middle-eastern carpet/rug? - Andrew Grimm
(3) Also known as a "red herring". A bait to throw the hound off the trail. - Tormod
(3) That's great! So was Battle Chess. - Mike Pateras
(1) The duck is also previously known as "The gorilla hand" - - Anthony
(1) This was a very common practice for some designers I've worked with: almost universally, clients who worked in marketing/advertising [usually incorrectly] considered themselves designers. Leaving one glaring note (bad font, border color, etc.) usually allowed those people to pat themselves on the back without actually delaying the project. - Chris Adams
@AndrewGrimm: an urban legend? It's a good story, but sadly it's not clear it's true! - Tom Anderson
Also, - Anthony Briggs
[+592] [2010-03-02 23:17:25] Dan Vinton

I wish I had invented it myself, but credit goes to Jason Gorman:

Refuctoring [1] - the process of taking a well-designed piece of code and, through a series of small, reversible changes, making it completely unmaintainable by anyone except yourself.


(11) I have a person on my team doing this right now. Too bad mgmt overruled my objections. :-( - KPexEA
(412) We had a guy come in and immediately strip out comments and whitespace from our code "to make it faster". - Scott Smith
(63) Coder: Look sir! We shaved 359ms off the compile time! Boss: sigh... - Nick Bedford
(1) I own :) - George
(2) @Scott Smith - wow - I have a hard time even comprehending that someone could be that stupid. - Mark Brittingham
This is a keeper. - Mark Simpson
(55) I wonder how many people are voting up Scott Smith because they too have made code faster that way. - jfar
21/22 @jfar 1234 - Woot4Moo
(19) @Scott Smith: That may have made some sense if the language was HTML. If not... o_O WTF? - slacker
@Scott Smith: Doing so might make the code compile faster :) - splicer
(4) I heard that one a while back with its opposite 'unfuctoring'. - Mike Two
@John W. - I've seen that many times. Ugh. - jsight
+1 - Geez - I thought I'd come up with that and here it is - but I bow to those who have pioneered the term. It is often performed by people who think they are doing good - as the other comments testify! - Sohnee
I think defactoring fits better for this scenario. - Longpoke
(3) An excellent term to describe the process of job preservation... - Jon
(9) @slacker: Even for HTML, CSS, JavaScript, etc., you could have a file that you use for development, and then a script that copies it to a version without comments and extraneous whitespace. - Tim Goodman
(2) @John V.: This makes sense to do if you're using javascript. Garbage collection in javascript (especially in IE) is dumb and unreliable. It's also easy to overlook closures and create references that can't be collected. - RMorrisey
[+483] [2010-03-14 23:36:46] Mark Simpson

Stringly Typed

A riff on strongly typed. Used to describe an implementation that needlessly relies on strings when programmer & refactor friendly options are available.

For example:

  • Method parameters that take strings when other more appropriate types should be used
  • On the occasion that a string is required in a method call (e.g. network service), the string is then passed and used throughout the rest of the call graph without first converting it to a more suitable internal representation (e.g. parse it and create an enum, then you have strong typing throughout the rest of your codebase).
  • Message passing without using typed messages etc.

Excessively stringly typed code is usually a pain to understand and detonates at runtime with errors that the compiler would normally find.


Person 1: "Did you check out Jimmy's API?"

Person 2: "Yeah, what a mess. It's so hard to understand and it always fails at runtime in an obscure fashion because it's Stringly Typed from top to bottom."

alt text

(10) P.s. this answer contains Jimmy which I independently used! (It seems Jimmy is used throughout the world to denote an incompetent developer :D) - Mark Simpson
I like this answer because it is not just terminology, but exemplifies a bad coding habit some people have. If you look at scientific progress, often the first step is giving a concept like "gravity" a name. - AaronLS
(13) i coined this independently to describe tcl's type system :) - Martin DeMello
There is another more generic term for this in Fowler's Refactoring book - Primitive Obsession. - DamienG
@Martin: It'd be more accurate to say that Tcl values are all strictly interconvertible with their serializations. - Donal Fellows
+1 because I have a corker which tends to returns strings just about all the time (replacing both integers and bools) - Viktor Sehr
(14) The cause of this is Unix' "everything is a file" and "hey, it's just text". Text interfaces at the surface are great (as Unix shows) but they aren't so hot once you are inside the program (as this answer shows). - jmucchiello
(17) I call this "String Oriented Programming"! - Ricardo Nolde
Thanks for this! Perfectly describes the codebase I inherited. See also String Driven Development. ;) - thSoft
Please do not associate lolcats with my sterling contributions to SO :((( - Mark Simpson
(1) Another example is when messages of exceptions are tested in the unit tests instead of subclassing Exception! Also, bonus points if there are no constants, just replicated string literals. - thSoft
Yes, more string literals everywhere, please. It helps keep things robust. - Mark Simpson
Beautiful. I will be using this. - j_random_hacker
(17) +1 for the cat picture...ok and the answer itself ;) - Adam Neal
I remember a friend I had who used strings and numbers exclusively - no booleans even, just "yes" and "no". - Wallacoloo
And using SQL doesn't help. - zaratustra
(1) I bitch about this ALL THE TIME. I think most of my peers are tired of hearing about it, but now that I have a term for it, they can hear about it again! Bravo. - Jason
(3) I'm trying to come up with a String Theory joke, but I'm not funny. - Liam
This has escaped into the wild. Spotted it in several different tech blogs in the last month. - Jason
May it run free and frolic on the internets :D - Mark Simpson
-1 for being unoriginal. That's a serious programming paradigm, just ask any PHP developer. ;) - Evan Plaice
It's called loose typing. - troelskn
This happened to me today. True story. - iandisme
Up until version 5.3, PHP callbacks were all Stringly Typed. (Now they're just partially, depending which function is taking the callback.) - Rob Howard
I thought "stringly typed" was what PHP is. - centipedefarmer
Did you draw the cat picture yourself? Can I use it in a book? @PeterHilton - Peter Hilton
[+431] [2010-03-16 17:35:24] Jacob

Heisenbug [1] - can't take credit for this, but it is awesome!

A computer bug that disappears or alters its characteristics when an attempt is made to study it.

alt text


(115) I've seen (or not) a few (or many) of those. - Jeff Davis
(16) Almost always cased by stack corruption errors (and that is most often because of a bad pointer initialization or free() on something that is not a pointer.). - Hogan
(8) I once had to hunt a memory corruption bug that disappeared when -- and only when -- I ran under valgrind. This term would have been very handy. - Beta
(1) These have plagued me with .NET remoting not playing nicely after being interrupted by hibernation in the real world but doing just fine with VMs going up and down. - Dinah
(9) Everyone who took C filesystems class at my school ran into this over and over, when forgetting to put \n on a printf statement. Then adding another printf statement later in the code to debug, which has a \n, and flushes the buffer, causing the appearance that a ton of code suddenly started working, when it really had been before but not printing. - Nick Lewis
(20) Like the nasty race-conditions that seems to evaporate when you turn the logging on... - daramarak
(1) I once had a bug of this variety due to SQL Server's query optimization: in the SELECT portion of the query, there was an operation being performed that was illegal for some of the rows in a given table. These rows weren't supposed to be returned from the query, but after much frustrating searching I realized that the optimizer must've been pre-processing the SELECT portion of the query for likely results before finding out for sure whether a given row was actually going to be output... and hence crashing on these bad rows when it thought they should be a part of the result. Yikes. - EdgarVerona
Anyone who has dabbled in lock-free or low-lock programming has found a whole new world just teeming with Heisenbugs. - Eloff
I've had Heisenbugs man times with Javascript, mainly when the bug involves focus and blur events... - Francisco
I had one function returning bool missing the return statement, but the last value used was the one that should have been returned. The code did run fine under the debugger, but failed when not run outside the debugger. Of course, missing return statment is UB, but it was very misleading. - piotr
i hated these! it happen for me in c/c++. - acidzombie24
Hah, I like this one. - Rei Miyasaka
Had a system bug like this. Had to reboot after each run. HP-1000 system. The worst software I've ever seen. - Dave
I had them in a C++ assert, when I accidentially put a neccessary i++ inside it. - FUZxxl
you might want to look at some similar bug names: - Philipp
@Beta, so you shipped with valgrind in place? - Thorbjørn Ravn Andersen
@ThorbjørnRavnAndersen, I hadn't thought of that. Actually I just fixed all of unsafe code I could find until the corruption stopped. Then my boss reprimanded me for making unnecessary changes, and gave my code to someone she liked better so that he could claim the credit. I think I may have coined a term for a manager like that, but it wouldn't be appropriate here. - Beta
I investigated a couple of these lately (well, tried to) - Meta-Knight
[+392] [2010-03-01 02:38:42] Zurahn

Doctype Decoration - When web designers add a doctype declaration but don't bother to write valid markup.

(6) @Zurahn - Argh! I hate when my team members do this. (I'm totally using this phrase from now on.) - JasCav
(1) What if you write one but just because some W3C spec says you should? --Looks around innocently-- - Nick Bedford
(8) @Nick - - Zurahn
@Zurahn ha love it. xkcd + velociraptors = gold - Nick Bedford
(47) This does actually serve some kind of purpose. If you don't use a doctype you will get quirks mode... - olive
(1) is that GOTORAPTOR then>? - Mark Schultheiss
@lhnz, if you don't write valid markup you'll get quirks mode, too. - tloflin
(22) @tloflin If you don't specify a doctype in IE6/IE7/IE8, you will get horribly-broken-beyond-any-hope-quirksmode, while if you specify the doctype but have invalid markup, you'll simply get quirksmode. The difference is that in horribly-broken mode, you'll have considerably more work to do to make the HTML really compliant. For example, take a legacy web application designed for IE6 without a doctype, add a doctype to it, and see how the pages layout suddenly abominably breaks because of the upgrade from "horribly-broken-quirksmode" to "quirksmode" - ckarras
(12) Another variant of this: Write broken code and slap a »Valid XHTML & CSS« button somewhere on the site (because, hey, at some point in time that probably was true [probably when the site was just <html></html>]). Even better when it links to the validator which promptly screams »Invalid!«. - Joey
(3) of course <html></html> is invalid. head, title, and body are required, and probably a lot of other things I don't remember. - sreservoir
(1) @ckarras: If you use IE at all, you'll get horribly-broken-beyond-any-hope quirksmode. - Mason Wheeler
(2) @Johannes Rössel, that is called Programmer Validation, where the programmer seeks validation of himself (in the psychological sense) from the W3C validation service. What a useful service. - Liam
Ever see XML as Windows-1252 explicitly declared as UTF-8? The ACC sent our users one and blamed us when our program choked on it. - Joshua
@Joey I've seen that done too much. - Camilo Martin
The Project was a massive failure but the documentation, well, second to none ... and nobody even read it, let alone used the software! - Jonathan
[+333] [2010-03-01 01:35:48] Gord


A generalized name for the clueless/new developer.

We found as we were developing a framework component that required minimal knowledge of how it worked for the other developers.

We would always phrase our questions as:

"What if Jimmy forgets to update the attribute?"

This led to the term: "Jimmy-proof" when referring to well designed framework code.

alt text

(6) We don't have a developer on our team named Jimmy so it worked well, going to be interesting when we do though ;) - Gord
(14) I use "Lumpy Cheetosian" - has a certain associated mental image, and name collisions are somewhat less likely. - Scott Smith
(2) Yah... you really can't hire a Jimmy after inacting this strategy, but in the meanwhile... - Joseph Silvashy
(1468) sigh . . ...... :< - Jimmy
(28) Wow... priceless stackoverflow moment. I wish there was a best-of like Craigslist. - Joseph Silvashy
(4) Aww poor @Jimmy XD - Nick Bedford
(38) :( I might start a few more accounts to down vote this. Jimmy doesn't like it when he get's made fun of. - jim
(1) We use "Pelican-proof", after a former coder's nickname, bestowed upon him by the admin girls for the way he used to gulp down huge bottles of orange squash... - Keith Williams
(4) While in the Air Force, "Airman Snuffy" was our generalized name. - Michael Wales
@Michael - "Airman Snuffy" - that brings back memories. And, hey Scott, I used to work with Lumpy Cheetosian, tall fellow from down under, wasn't he? - Mark Brittingham
(3) I used to work with a Jimmy, and he was, well, a real Jimmy. - PaulG
I am Jimmy and I am not happy ;-) - Sands
(2) Hey! .......... - James Westgate
(3) But... but... :( - Jimmeh
(2) Sad about Paula-proof? - Jimmy Bogard
(2) We have a similar term - "Jimmy Fixed" named after an intern we had working at our company. It's where you haven't actually fixed something, but claim it is fixed. The alternative definition is the bug is fixed, but only in one specific case. There's even a song. What is worrying is that this term is now used by our project-managers... - Aidos
(1) My friends and I used to do the same thing with "Pab". Once during a CS scrim, we played a clan who would blame one of their members - Pab - whenever anything went wrong. D*** it Pab! - BlueRaja - Danny Pflughoeft
(2) any relation? - shoosh
(21) Oh I forgot, it is also a unit of measurement. 1 Jimmy = the amount of work not done in an hour. - Aidos
Upvoted Jimmy's comment to make him hit 666 upvotes >:) - Erik van Brakel
(1) And any code 'Jimmy' writes is known as 'J-Code'. - Kelly French
Someone here suggested "FNG," but I said it was too East-coast. - a paid nerd
codeproject. .NET extended messagebox with checkbox. "does anyone know how to work this into a HTML page?" Thanks, jimi - Run CMD
We definitely used FNG and we definitely thought we were clever. - Marco
Is this pronounced "Jeeemy"? - Warren P
+1 for Jimmy, I just couldn't keep myself from making it binary.. - Xeo
(1) @Joseph There is: Jimmy's comment is the most upvoted in all times. Hahaha... - Rafael S. Calsaverini
@Rafael S. Calsaverini here's that query ordered by Score… - dotjoe
Sorry Jimmy Wales. - bludger
No love for Louis Reasoner? Those of you who ever went through SICP will know what I'm talking about. - Kevin Hwang
@Kelly: “J-Code”? …That reminds me of som… HEY! So Java was made for Jimmy. It all makes sense now! - flying sheep
[+330] [2010-04-07 16:45:31] gingerbreadboy

A Higgs-Bugson is a hypothetical bug predicted to exist based on a small number of possibly related event log entries and vague anecdotal reports from users, but it is difficult (if not impossible) to reproduce on a dev machine because you don't really know if it's there, and if it is there what is causing it.

(see Higgs-Boson [1])


(23) The Higgs-Bugson sometimes results in domain generalization, with actual physical objects flying around, clearly demonstrating the concepts of inertia, but without no solid theory as to why. - Schedler
(18) It has been speculated that to actually witness this phenomenon physicists have to smash your fist against your keyboard at almost the speed of light. - gingerbreadboy
(3) But does it travel backwards in time? - shoosh
(2) That would explain why it takes a month to track down... :) - gingerbreadboy
(2) +1 my fav so far - Aiden Bell
(1) Can it create black holes? - Andrew Grimm
(5) Predicted to be between lines 115 and 150 - xenon
(62) To find these, you need a Large Hadron Debugger. - Timwi
(2) I have a few of these running around on one of my projects. Not fun :( - Matchu
@Aiden Mine, too, but I may be partial (physics and math student). Also, is this bug responsible for other bugs changing their flavors in mid-execution? - Mark C
[+304] [2010-03-01 02:07:29] Stanislav

I'm writing a scifi novel [1] from the POV of an AI, and their internal language has a lot of programming jargon in it. One of the more generalizable terms is "nopping", which comes from assembler NOP for no-operation. It's similar to 'nap', but doesn't imply sleep, just zoning out.

Example: Stanislav sat watching the screensaver and nopped for a while.


(142) +1 for working your jargon into a sci-fi novel. That's novel. - John K
(4) Haha... cute ! Might start using that when I zone out. - Mark
(6) For a full dose, here's a short story full of computer jargon--two AIs arguing about whether humans could be considered intelligent because of their glacial thought speeds. - Stanislav
Thanks for the link, that was an interesting read - Sukasa
When do you publish? i'd like to read that novel... - RCIX
(3) It's downloadable from Part 2 is about half finished. - Stanislav
Seems like it could also describe a busy-wait. - Groxx
I'm definitely going to start using this. Genius... - Christopher Parker
Im busy nopping while should be finishing off my work :( - Jonathan
(1) Why would an AI have programming jargon in its language? It’s not like humans have biology/neurology jargon in their everyday communication. - Timwi
(1) Humans weren't build with a process that already included abstract language and technical designs, and didn't converse with their creators about it in that way. However, expressions like "gene pool" are now common, and of course medical descriptions are full of it. Or just "my blood sugar is low." Having said that, I just like the idea of giving the language a flavor by putting twist on it. So the emotional center is an 'emygdala' and an important component is a TOMcat = Theory of Mind Catalog, that tries to predict what others will do. - Stanislav
(1) We used the term "leveling" for something similar, not in the sense of leveling up, but rather as the avatar froze when the next level was loading in Diablo II. Meant "zoning out", especially when you do that in that way that makes other people wave their hand in front of your face to see where you went. :) - Stoffe
I'm going to start using this, to complement my use of segfault as an expletive. - Maxpm
[+281] [2010-03-02 23:59:52] Jordan

Unicorny - An adjective to describe a feature that's so early in the planning stages that it might as well be imaginary. We cribbed this one from Yehuda Katz, who used it in his closing keynote at last year's Windy City Rails [1] to describe some of Rails' upcoming features.

Barack Obama - An account in Redmine that we assign our most aspirational tickets to, i.e. the stuff we'd really like to do with a project but will probably never get approval for.

alt text


(190) +1 for Obama. :-) - Konrad Garus
(98) -1 for Obama. :P - Kyralessa
(35) @Tim Santeford - Way to kill the funny! - Richard Szalay
(8) @Richard Szalay - Au contraire, I found the parallel hilarious. I'm sure most have worked on projects that fit all three of those categories. - Tim Santeford
+1 on both comments for hilarity. - SF.
(2) Especially given that as we all know, clients rarely know what they actually need .. - FeepingCreature
(36) @Tim Santeford: How about Barack Obama for stuff that will save us money in thee long run, and make life better for our users, but the other developers won't let us do for because they won't get credit. - Matthew Scouten
(3) 77 upvotes for "-1 for Obama", and yet only 16 actual downvotes :) - romkyns
I wish you could favorite an answer. - MrZander
[+274] [2010-03-21 21:54:36] John D. Cook

Baklava code

Code with too many layers [1].

alt text


(5) Most of these answers gave me a 'meh' response, but after this, I find myself giggling uncontrollably. Thanks! - Dean J
(69) also known as "lasagna code" to keep with a common pasta-based theme... - Brian Postow
What @Dean J said... - MDRoz
(4) baklava is made of phyllo dough - Big Endian
(2) yummmiiiii... it makes it more tempting. - Andrei Rinea
(17) I think "lasagna code" would refer to code with the right number of layers and Baklava would be too many layers. - Slapout
I am definitely going to use this one! - Johann Philipp Strathausen
(1) Nice, I actually come from a country where this is a national dish! - Secko
(1) I love real Baklava, just not Baklava code. :) - John D. Cook
(2) @Slapout: I have to agree with Brian; Lasagna code would be the odd man out among the "programming pastas" if it were a good thing: spaghetti code and ravioli code are bad things to have. - KeithS
In object-oriented design, I always thought of ravioli code as a good thing; everything is encapsulated and none of the components are too big. Lasagna code (a bad thing) is the opposite extreme from spaghetti code: everything is handled in a single monolithic God Object. - Taymon
[+270] [2010-03-03 17:44:36] Mike Robinson


A catastrophic data destroying bug - "Oh the humanity!"


A bug you present when presented with a bug caused by the person presenting the bug


A bug that accidentally generates money (just did this one)

+1 Brilliant. I wish I could upvote it a few more times. - bromfiets
(81) On the same note, one I learned recently: Heisenbug, a bug that's difficult to reproduce or changes when you try to observe it. - jtbandes
We use Heisenbug a lot. It's particular useful for trying to debug race conditions; typically when you set a breakpoint in a race condition you alter the race and the bug doesn't show up! - apinstein
Bloombug reminds me of Office Space. - musicfreak
(37) I like Schrödingbug, which is a problem that some people see when they look and others can't find at all. Often tied to the execution environment in a surprising way (or at cat). - Donal Fellows
We have a lot of Schrödingbugs... - Brian Knoblauch
(10) Stop putting heisenbug on here - it's already been done in different answers - Mike Robinson
(32) A Schroedinbug is not "a problem that some people see when they look and others can't find at all." It refers to a function/feature that appears to fluctuate between buggy and correct (like Schrödinger's cat fluctuating between alive and dead), until somebody looks at the source code (opens the box), at which point it becomes permanently bugged. It's a fun term but it's definitely not a new one. - Aaronaught
Although i'm ambivalent about the definition of Schroedinbug, In the original thought experiment, the cat does not fluctuate between two states, but is actually superposed, being in both states simultaneously, until someone opens the box and looks, at which point (and never sooner) the cat must choose between being dead or alive, with probability equal to the radioactive decay of some atomic nucleus elsewhere in the device. - TokenMacGuy
(1) +1 for counterbug. I'm pretty sure I've done this before. :] - matt lohkamp
Where did the zeppelin photo go? - Joey Adams
(4) How on earth... explain Bloombug to me please! - ZoFreX
(10) @ZoFreX I accidentally rendered every ad twice on the page - they were layered on top of each other too, so you didn't notice. But twice the ads = twice the impressions. Tadah! - Mike Robinson
Similar to the schroedenbug, a fairybug is one that can only be seen by people who believe in it. (For example, some bugs only happen for certain IP addresses, due to server load balancing.) - Laurie Cheers
(1) Wouldn't BloomBug be usually called features ? - Reza M.
The Bloombug reminds me of the "accidentally too much money" from Office Space. :) - WTP'--
[+259] [2010-03-15 13:51:54] Arnis L.

Workaroundability (by co-worker)
That's the feeling when already hacked approach still can or can't be hacked further.

Fear Driven Development
When project management adds more pressure (fires someone or something).
alt text

(4) The important part of this game is the part where you define the term. - Dolph
@Dolph fixed that issue. :) - Arnis L.
(34) + for FDD - this also comes around when mgmt informs you that the viability of your job is directly linked to the success of a failing project - bedwyr
(11) Prayer Driven Development is closely related to FDD, by the way. - Erik van Brakel
(6) + for FDD: I once had a boss threaten to fire every one of my coworkers if I didn't meet a deadline that he pulled out of the air without regard to the state of the 15 new features he added the week before. I hacked together a working build then quit the next Monday. - jessecurry
@JesseC That is terrible! - Mark C
(3) @jessecurry, if he first fired your coworkers and then you quit, would that have made a more lasting impression? No business left... - Thorbjørn Ravn Andersen
lmfao! I wish I would have thought of that :) My coworkers didn't want to leave, and I didn't want to force them out, so I stuck it out for a little while. - jessecurry
[+250] [2010-05-10 13:21:45] Nick Dandoulakis

Hydra Code

Code that cannot be fixed. One fix causes two new bugs.
It should be rewritten.

(2) @Pete, thanks for the link. Very interesting. I was curious why the name Dehydra, and from… "Initially Dehydra was written as an easy way to look for patterns in Control Flow Graphs (CFGs). Images of those graphs reminded me of the multiheaded Hydra monster. De-hydra can be thought of as a decapitating tool for slaying CFGs." - Nick Dandoulakis
... so there is a weapon to kill specific types of Hydra beasts ;) - Nick Dandoulakis
(180) I call that kind of code "perfect" because it can't be improved. - xan
Rewriting being the heart striking - Andrei Rinea
I have been looking for a name for this. :) - kalyan
"It should be rewritten." - Or you should find the real underlying cause of the problem. - John MacIntyre
[+249] [2010-04-30 23:44:56] Scott

Common Law Feature: A bug in the application that has existed so long that it is now part of the expected functionality, and user support is required to actually fix it.

(5) Perl has Many, Many of these. In fact, it's policy that most unintentional bugs be kept as features. - Robert P
(34) Isn't this why a lot of Windows programs don't work in wine? - Brendan Long
(29) @Robert: Perl was made by a linguist; unfortunately, linguists are of the mindset that language evolves naturally and gains quirks along the way. Let that sink in. - Jon Purdy
(1) @Brendan One of the reasons - KitsuneYMG
(3) @Jon: That may be true, but that's not why they keep the bug-features - it's so they don't break existing tools unintentionally. (Not that they don't fix them either, eventually., see the := vs : = change in 5.12.) - Robert P
That reminds me of Damien Katz' description of his early career, working on Lotus Notes. - GalacticCowboy
Does Excel still have a 29th Feb 1900? - Stroboskop
@Stroboskop It does, as well as a 0th January 1900. - Josh Lee
I hereby declare that to be my birthday! - Stroboskop
That's my current day to day :S - David
[+234] [2010-03-15 00:24:19] russau

I've started Loch Ness Monster bug for anything not reproducible / only sighted by one person. I'm hearing a lot of people in the office say it now..

(270) Is that related to the legendary Bugfoot? - Kevin
(2) Lol - I have a user like that, and she's kind of a monster. Works out pretty well imho. - tsilb
(2) I'm going to create a "bug" and remove it just so I can say that - KThompson
(1) Oh, we had a QA guy called Steve. He opened bugs only he has seen and cannot be reproduced. We used the "It's a Steve bug" with a hand gesture for drunk hic - gilm
(25) "WHAT YOU WANT, BUG?" "Oh, bout tree fiddy." - Will
(13) Wouldn't "Nessiebug" sound better? - peterchen
[+223] [2010-03-16 19:06:33] schar

Ninja comments: Also known as invisible comments, secret comments, or no comments.

No comment.

What does it mean? :O - Jeff Davis
(23) The code I inherited has Ninja Comments. (a geeky way of saying no comments) - schar
Oh. I thought maybe they were sharp and rebellious. - Jeff Davis
You have a high respect for Ninjas :-) . I just think they are invisible. - schar
(4) I like this one. I like it a lot. - Paul Nathan
(4) When I saw "Ninja Comments", I would have thought of hidden or buried comments, rather than non-existent ones. Maybe class doc information at the end of a classfile? - RMorrisey
(1) @TokenMacGuy exactly - schar
How about Zen comments? - Myster
(11) There are 21 ninjas hiding in the following image: Can you spot them? - thSoft
NINJA Is Not Just Air: - JBRWilkinson
(1) @RMorrisey: that's the point: they are do exist, but they are so well-hidden that you just don't see them! - Jürgen A. Erhard
[+214] [2010-05-10 02:03:59] sal

Smurf Naming Convention

When almost every class has the same prefix. IE, when a user clicks on the button, a SmurfAccountView passes a SmurfAccountDTO to the SmurfAccountController. The SmurfID is used to fetch a SmurfOrderHistory which is passed to the SmurfHistoryMatch before forwarding to either SmurfHistoryReviewView or SmurfHistoryReportingView. If a SmurfErrorEvent occurs it is logged by SmurfErrorLogger to ${app}/smurf/log/smurf/smurflog.log

(27) Can we use a namespace, people?! - Jon Purdy
(10) But this is waaaay better... it's a 'namespariable' better than either a regular variable or namespace. - vfilby
(10) @Jon Purdy: You can, if your language supports namespaces. Further reading: Objective C. - Robert P
(3) It's even worse when the 'namespariable' is utterly irrelevant to the current context - e.g. NS* APIs on iPhone.... for which there's no explanation in the docs, yet 'UI*' and 'AddressBook*' make sense. - JBRWilkinson
(4) @Robert @JBRWilkinson this can be forgivable in languages without namespaces, it is totally unforgivable in languages with. There is no reason to do this in Java or C# where use of namespace is a requirement for anything non trivial. - sal
@sal : Agreed. :) - Robert P
(3) What can I say, it seamed like a good idea at the time, I was wrong :P - Crippledsmurf
It's even funier, when the second part of the variable name conveys no information:… - back2dos
NameSmurf or SmurfSpace? - Thorbjørn Ravn Andersen
(1) I maintain code that uses both namespaces and smurf naming convention. Both the project name and company name has changed several times in history, so now you have all combinations and different abbreviations. I need to change profession :) - wigy
(8) @JBRWilkinson "NS" stands for NextStep which is where Mac OS X has its roots. Which does not change the utter irrelevance... - Simon
(1) I've seen this happen when C++ coders who aren't familiar with namespaces or packages start designing Java/C# libraries. It's a bad idea even if you have to use a prefix. We named a class after the vendor it sent data to, i.e. "InitechPaymentController"; said vendor then gets bought and changes names. Basically its like variable-rate financing of your technical debt. - Kelly French
@Simon true, but NeXTStep is unpronounceable ("xtst"). - WTP'--
@WTP: Really? I pronounce it [nɛkʼ.st̪ɤp] which isn't difficult for me. - greyfade
(3) For a concrete example of this convention, I use this line from the Debian version of awesome.rc: { "Debian", }. (Bonus points: menu is the only item in debian. Debian_menu is the only item in - Stuart P. Bentley
@Stuart that's an awesome.example.awesome_example.example-Awesome.Aswesome_Example. - sal
If you remove the namespace from the object name, you end up with lots of files with the same name, which confuses me, so I usually do stick the namespace in the variable to make filenames unique. Example: Ext JS has 5 classes named Panel, one for the base class, one for a FormPanel, one for a GridPanel, one for a TabPanel, one for TreePanel. - Juan Mendes
I would argue that this code is Namesparce - Nick Radford
We call this 'redneck namespaces' - slf
[+205] [2010-05-05 02:56:34] Chris Pebble

Protoduction - A prototype that ends up in production.

Heard this from a tech at the Fermi lab. He said he didn't coin the term but had heard it used a number of times at Fermi.

(34) that would be most of the web :P - George Profenza
the project I've been working on for the last year started as a prototype. One that the devs told the management was impractical and advised against putting into productions. needless to say it's been deployed and we're still building on top of the wonky foundations! - Zeus
(11) Seriously, is there a prototype that doesn't go into production? - Jim Leonardo
(6) Basically, a protoduct... that noun should be used more often. - Macke
@Jim: sure, but far fewer then there are products that don't go into production - beetstra
The only way to avoid this is by sabotaging or poisoning your prototypes to make them completely impossible to migrate into production. - Wedge
(7) +1 for the pic. Why can't I be that guy? - Evan Plaice
(4) We call this type of code "Demonsployable" - samkass
@EvanPlaice: erm... because you would be unrepresentative lying face-down on the curb? - sehe
See also developmestuction. - Tom Anderson
[+200] [2010-03-20 01:11:29] wesgarrison


Sometimes, you just have to talk a problem out. I used to go to my boss and talk about something and he'd listen and then I'd just answer my own question and walk out without him saying a thing.

I read about someone that put a rubber duck on their monitor so they could talk to it, so rubberducking is talking your way through a problem.


"Hey, I'll put all of our customers into a Word document and then we can X." "No, we should do that database-ically so that we can keep that list up to date."

Yes, I named my company [1] that.


I think that you might have read the "rubberducking" thingy in "The Pragmatic Programmer" => . That's where I think I read it anyways :P - hdx
Yes! That's where it was. Thanks for the reminder. - wesgarrison
(55) Great term! I've only actually submitted a handful of questions here. Far more often, I will get stumped, start writing a question, and figure out the answer myself as I'm trying to explain what the problem is. So, Stack Overflow is my Rubber Duckie! - mbmcavoy
Yep, typing it up makes you think of the stuff that other people would need to know and then one goes "oh, I could do this." and then you don't need to actually ask the question. - wesgarrison
@mbmcavoy I use SO the same way, sometimes don't have an answer for myself until I have submitted then the next second I do. - PeteT
I think they actually considered calling SO "rubberduckie" but the domain name wasn't available. - wesgarrison
Hah, I had a coworker who used a plush bear besides his monitor. - Marcelo MD
+1 for rubberducking! - Damovisa
Rubberducking is from the Jargon files innit? +1 - Florian Doyon
+1 for rubberducking I do it ALL the time lol - James
(28) Bristol University has a teddy bear on a seat outside their helpdesk room, which is visible through the windows. It's mandatory to first state your problem to the bear before entering and asking a question. Not only does it force people to think enough to phrase the question well, but apparently a lot of them walk away with the answer without consulting anyone other than the stuffed bear. - ZoFreX
(9) @ZoFreX that is Allan Turing's bear! that he talked to just like the OP talked to his duck. If you ever gaze upon this bear you must bow in honor of its limitless powers of reasoning and induction. - Rook
@mbmcavoy: I do that too! Sometimes I will even submit the question if I've nearly finished writing it. Most of the time someone replies before I even have a chance to type my own answer! - DisgruntledGoat
(8) Round my place we call ask someone to "be my teddybear" in this context. Snuggling is optional. - Ben
We had a teddybear in my high school programming class that we were supposed to consult for code problems... - advs89
+1 for rubberducking ... i do that all the time but to all the little toys on my computer screen coming from my "kinder surprise" collection :) - ChrisR
-1 Rubberducking is from the Pragmatic Programmer - smartcaveman
I usually call this a granny since I explain my problem like it was to my granny, and I then find the solution - khebbie
[+190] [2010-03-03 00:29:21] Juliet

At one company where I worked, we had a lot of food-related jargon, in-jokes, and backcronyms:

Programmer fuel - Mountain Dew, coffee, Mate, anything which gets you well-caffeinated.

I can't get started on Monday mornings until I've had my programmer fuel. (Synonyms: nerd fuel, geek chow.)

Hot potato / Hot potatoes - Http and Https repsectively. Same number of syllables, but more fun to say.

Submit all customer information through the authentication service at hot potatoes

[Noun] cake - depends on context, usually indicating an action related to the placeholder noun. Noun should be a single syllable for easy communication.

Marty's noob cake broke the build. (See also: noobery, noobage, noobular, works on my machine)

Juliet's serving ample amounts of bitch cake because everyone double and triple books her for meetings without checking her availability.

Banana banana banana - placeholder text indicating that documentation is in progress or yet to be completed. Mostly used because FxCop complains when a public function lacks documentation.

/// <summary>
/// banana banana banana
/// </summary>
public CustomerValidationResponse Validate(CustomerValidationRequest request, bool useStrictValidation, bool throwIfSessionExpired)

Chunky salsa - based on the chunky salsa rule [1], a single critical error or bug that renders an entire system unusable, especially in a production environment.

The whole system turned chunky salsa after Bob's change to the login screen locked everyone out of their accounts.


In the world I live in, chunky salsa is a good thing. - Steve Tjoa
(1) Just so long as those chunky salsa bugs don't spew ludicrous gibs all over my computer, I'm good with it. - Chris Charabaruk
(1) I remember reading the HTTP / Hot Potato thing in a HTML for Dummies book. Not the HTTPS version though. - Cesar
(11) If you go to Properties > Build > Suppress warnings and put in 1591, you won't have to type banana banana banana anymore. - Kyralessa
(27) +1 for "banana banana banana"... I ♥ Futurama - Mike Stone
(122) Uh-oh, you linked to tvtropes from SO... you've just single-handedly wiped out 40 billion hours of programmer productivity worldwide! - Aaronaught
(6) @Aaronaught: put me down for 2 - Ty W
(3) We use Coolite/ExtJS and find that the most convenient/hilarious placeholder icon is "Cake" (…). It provides for excellent Portal-inspired placeholder text too. A useful aspect is that if we grep our code for "Cake", we'll get a list of unfinished corners of the app. - Kevin L.
(11) +1 for hot potato(es) - Zsolt Török
(1) Re. Programmer fuel, we used to say "green debugging fluid" (Mountain Dew) and "brown debugging fluid" (coffee). - Tim Lesher
(1) I've always resented the implications of 'programmer fuel' - you can be a dedicated, driven coder without being a caffeine addict. and no, I'm not mormon. :] - matt lohkamp
+1 for the TVTropes reference. - Mason Wheeler
(1) @matt - but why would you want to? - GalacticCowboy
+100 for Hot potato! - iamserious
again, +1 for hot potatoe - Johann Philipp Strathausen
We called coffee programming juice. - Glen
(1) "All work and no play makes John a dull boy" is my favorite placeholder text. That, or "Mary had a little lamb", or "If you see this, the cue card guy messed up". - KeithS
(1) I just entered tvtropes for the first time ever (and from work). mind: blown. - maayank
Fantastic coffee art. I have one on my wall that's similar saying "Drink Coffee! Do stupid things faster with more energy!" - slf
Just stole bananananananana. Thanks! - shmeeps
+1 for chunky salsa site... Great info! - Thorbjørn Ravn Andersen
(1) We use cakebug for bugs that are made up. Because, you know, the cake is a lie. - David Chappelle
We use cake for things that we're "sure" we wrote somewhere, but turn out not to exist. - Kylar
[+186] [2010-03-01 01:01:55] EvilTeach

Bicrement - Adding 2 to a variable

(354) I always thought "excrement" should have been the opposite of increment. - Jimmy
(9) Anyone who upvotes Jimmy's comment knows what the correct opposite of "excrement" is? - BeowulfOF
(11) AFAIK excrement doesn't have an opposite. I think excrement should be used to indicate adding an unknown quantity to a variable (ie. add x). - Dom
(3) Now @Jimmy be careful to which way your pointer runs. - kenny
If only C++ had the lValue++++ operator. - Nick Bedford
(42) @BeowulfOF: food? - RegDwight
(26) @Nick Bedford: Don't worry, that feature is coming in C++++. - dreamlax
(3) @jimmy wouldn't excrement mean something like i = i^2? - Will
decrement should be the opposite or increment, but Jimmy's comment made me laugh! so upvoted. - Victor Farazdagi
(2) We call this "dinc" for double-increment, though we recently upgraded to "oinc" for octo-increment. - technomancy
(3) @NickBedford: C++ already has that feature, e.g. for iterators: it++++ will legally advance by 2. - sehe
[+179] [2010-03-02 23:42:57] Loren Pechtel

Reality 101 failure:

The program (or more likely feature of a program) does exactly what was asked for but when it's deployed it turns out that the problem was misunderstood and it's basically useless.

(6) This happens to me so often - Sukasa
(14) Ask client what they want -> build what they want -> show client -> trash project -> build different program -> endure it for the money. - Nick Bedford
(25) @Nick You just described the agile approach, it's just that they strive to make that string of actions happen in a very short amount of time because they know there will be things needing to be trashed. Better sooner than later. - AaronLS
hmmm, solid concept, shaky naming. - matt lohkamp
@matt: The idea is that it failed the test of reality. - Loren Pechtel
(1) I do not get the point of the picture? What is wrong with solar powered flashlight? It contains accu, therefore it recharges when there is light and can shine once it gets dark. - Suma
(3) I did NOT post that picture! Someone went through an attached pictures to a lot of the posts in this thread. - Loren Pechtel
(1) Like the concept, needs a better name. - JohnFx
Also reminds me of this:… - jtbandes
"Solar-chargeable flashlight"? - intuited
This is one of the all-time great SO "so fun they had to lock it" questions. - Warren P
Feel free to remove and/or replace picture. I only assigned pictures once in an attempt to enhance the entire thread. Will not override author's final decision. Agreed Solarverter pic isn't the best, but didn't have a better one - took it from this blog post -… - John K
I'm a client using apps built off languages I know almost by heart, or apps that I even helped initially build. Yet I find it almost impossible to correctly convey enhancements needed or bugs to be fixed to support teams. I think it's a symptom of the client syndrome. - bob-the-destroyer
C, Catch It!.. or Cat Shit! - Frank Computer
@Frank What connection does this have to my post?? - Loren Pechtel
(1) +1 for the pic you didn't add :) - Johann Philipp Strathausen
[+162] [2010-03-22 05:38:42] Jeduan Cornejo

Mad Girlfriend Bug

For when you see something strange happening, but it will just tell you everything is fine.

(11) When I write a bunch of code that I don't expect to work right away, I actually hope to have that one little bug; not having it makes me uneasy. Is that what a Mad Girlfriend Bug refers to? - Joey Adams
I am DEFINITELY using this one. But just not at work. - acidzombie24
[+154] [2010-03-07 14:46:37] Zolomon


Stands for MEGA MOnolithic meTHod.
Often contained inside a God Object [1], and usually stretches over two screens in height.

Megamoths of greater size than 2k LOC have been sighted. Beware of the MEGAMOTH!


(1) ooh. I have a few of those. - Jeff Davis
(60) If in Python, over five screens in width. - rlb.usa
(38) Project contains one file: main.cpp. - Nick Bedford
(23) Two screens? That's highly optimistic. We have java classes with 3000+ lines of code, and the longest method is about 800 lines. And I'm secretly proud of it. :-) - G B
(24) I've got C code with a single function over 8000 lines, with less than 1% of that comments. It's also the most goto-infested thing I've ever come across. (What's worse, it's functionaliy-critical, speed critical and it's stuck in a local minimum. Refactoring it is a bitch.) - Donal Fellows
(64) @G B: Serial killers are proud of their work as well. - BlueRaja - Danny Pflughoeft
(1) @nick: or better, project contains one file: test.cpp - UncleZeiv
(5) I've seen one function that was nearly 40000 lines long. The source file was right around 1 megabyte. ...when I have to work on that file, I can never decide if I want to cry, scream, or just walk out. I haven't walked out yet, but I've at least done the screaming bit. - George
(1) I saw megamothman and then a bridge collapsed. True story. - Will
(1) only two screens!!! - Matt Joiner
(2) Is this a Megamoth? - Longpoke
(2) LOL I once worked on one that when printed out was 276 PAGES (I did NOT write it and never understood 90 percent of it) - Mark Schultheiss
(3) @Mark Schultheiss - You can bet the idiot that wrote it didn't understand 90 percent of it either. - Jim Leonardo
I saw a 29 page KeyDown handler written in VB the other day. You could see that it probably started as a repeated copy-paste procedure for simple handling of a few different keys, but it had steadily mutated over two years into a monstrosity of immense cyclomatic complexity, including embedded validation logic and UI updates (copied and pasted, naturally). - Dan Bryant
(3) use #regions to hide the problem... - code4life
(1) I took over support for an app that had one method which issued, endorsed, renewed, and cancelled insurance policies. Yeah, that was the first thing to go. - Peter LaComb Jr.
(1) .NET, 30,000 line class. - Joshua
(1) I've seen C code with if expressions that were taller than my monitor. - Zack
(3) I've seen a core server function preceded by a warning that the compiler would choke if the function was expanded past 32768 lines. It was fairly obvious that this was an emperical observation. - MSalters
(1) @rlb.usa: ... width? O.O - FeepingCreature
(1) Hah, and I thought the 2500 line "init" function in one of the projects I worked on which was making me want to poke my eyes out was bad ... now I see there is worse... much much worse.. :-) - Nico
(1) Only 2000+ LOC? I worked at Dobel Business Systems for a couple years and one of their pet projects had a "WePay" function that had so many lines of code that if you scrolled down, Visual Studio ran out of numbers for displaying the current line and just left the line number column blank. - FerretallicA
(1) @FerretallicA: What you saw might have been what many have whispered about throughout the years. You are lucky to be alive, if it truly was according to the rumours. The Alpha Megamoth. - Zolomon
@Longpoke: nope. That's a dead link - sehe
while god object and megamoth are bad, i see them more as a sign of someone trying to (or forced to) use OOP to solve a problem better handled by a different programming paradigm. - pistacchio
If in Objective-C, ten screens in width. - Alan Zeino
@NickBedford In Java: The project contains only one class, containing only one method, main(). - Mark C
[+153] [2010-03-16 18:29:23] NullPointerException

Hooker Code - Code that is problematic and causes application instability (application "goes down" often).


Did the site go down again? Yeah, Jim must still have some hooker code in there.

(68) fracking Jimmy! - Eric Johnson
(9) Goes down often ! Excellent funny sir! - Mark
(6) a.k.a. Yo Momma Code - kibibu
(26) And they say programming is male-dominated. - dclowd9901
(1) +1 for making me laugh - Jonas Van der Aa
(18) -1 for slut-shaming. - Zack
(3) +1 for use of muppet image. - Adam
(1) @Zack, is it really shameful for a prostitute to go down on someone? - cbrandolino
(2) @cbrandolino The phrasing implies that only prostitutes go down, and so indirectly reinforces the harmful cultural meme that proper women have no sex drive. - Zack
Heh . . . I think I get it . . . it's funny because, like, SEX. That just tickles me. I hope if I make enough jokes about SEX, I might actually have it one day. - superbatfish
@Zack Bear in mind that the phrasing does not imply that the prostitute is a woman... - awilson53
[+152] [2010-03-01 02:21:33] MBCook

Squizzle-giz: A horribly mispronounced version of the file extension .sql.gz

We made it up while setting up a server and looking for something easier/more fun to say than "dot ess que ell dot gee zee file" or "gzipped sequel file."

(82) Is that a hard 'g' or a soft 'g' because it makes a big difference in hilarity if nothing else. - John K
(34) I kinda like squizzle-jizz better (or soft g). - Mark
(93) @mark that sounds like a personal problem - Woot4Moo
I prefer "squiggle giz", sounds cooler and goes better with the letters. - tsilb
(18) I will attempt to use this every day. I may have to change my day job to DBA but that is a small price to pay - oxbow_lakes
(15) How about squirrel-giz? If that's not a straight line... - outis
(2) Every one knows that SQL is pronounced as squeel. - Seamus
(6) Dare I suggest squirrel-jizz? - Blorgbeard
(4) squizzle-gizzle - just like snoop would say it... - Harold1983-
(1) @Seamus, everyone except those of us who pronounce it sequel. - jmucchiello
(2) Edited to remove amusing but highly questionable picture. - BradC
@BradC I was more so thinking about "Sq"uizzle and "sq"ueezing toothpaste and hadn't quite formulated a coherent mental picture when posting it (the pic rampage). You're right. - John K
I feel uneasy after learning that you gzip your SQL queries. - jkff
I have been using the term Squirrel for SQL for about five years now. It started after numerous dotnet developers kept calling SQL Server, Sequel Server. Plus you have a whole raft of Squirrel related puns to use. - corrodedmonkee
[+149] [2010-05-10 20:36:55] Sumit

Jenga Code

When the whole thing collapses when you alter a block of code.

great :D. Perhaps a classic - acidzombie24
(1) Maybe it shouldn't collapse, but it definitely shouldn't work. - Matt Joiner
As far as I experienced Jenga code, this occurs when you either lack comemnts (ninja comments) or let others "make your code faster" without having backups. Often the same as "hydra code" - David Stockinger
(15) Commonly happens during refactoring. "Remove code block A....remove code block B.....remove code block C....oh, god! Put it back! Put it back!" - lunchmeat317
[+130] [2010-05-11 21:17:45] dkackman

Baseball Exception Handling This is a pattern wherein when application logic is implemented via a deeply nested set of try/catch/throw blocks. Specific application logic is implemented in catch blocks and correct program behavior depends on exceptions being thrown at the right time. In the canonical example, the throwing and catching happens within a single, very long, method.


    // 10-1000 lines of code
    if (someCondition)
         throw new SomeConditionException();

    // 10-1000 lines of code
    if (someOtherCondition)
         throw new SomeOtherConditionException();

catch (SomeConditionException)
    // 10-1000 lines of code, preferably with nested baseball exception handling
catch (SomeOtherConditionException)
    // 10-1000 lines of code, preferably with nested baseball exception handling

Advanced Baseball Exception Handling The same as Baseball Exception Handling but with the addition of added state held in the Exception class so that the catch block can logically branch based on where the throw was. This is useful when a single Exception type is used but catch logic needs to know where in the process it was thrown from.

    // 10-1000 lines of code
    if (someCondition)
         throw new SomeConditionException("early in the process");

    // 10-1000 lines of code
    if (someCondition)
         throw new SomeConditionException("late in the process");

catch (SomeConditionException e)
    // execute shared logic

    if (e.State == "early in the process")
         // execute early in the process logic

    if (e.State == "late in the process")
         // execute late in the process logic

(20) Oh that I could give this +2. - detly
(10) If your code ever gets to the point you have to do something like this, you're doing something very wrong. - Ubersoldat
(10) +1 as I've seen this. Maybe once too many. I suggest calling outsourced code like this "Cricket Exception Handling" - sal
AKA "using exceptions for control flow" - a terrible approach to software design, given how slow it is to throw an exception. - Finbarr
@sal +1 Yes, I agree, "cricket" is far more appropriate for this. - EMP
(3) @Finbarr: I'm not sure the problem is speed (and exceptions are not slow in every language) - R. Martinho Fernandes
(1) Another name for this: Exceptional Event Handling - for those exceptions that are soooo special they are considered events. - Kelly French
This is why I'm very wary of how exceptions in most languages that support them: they are a fancy way of doing ON ERROR GOTO (for those that remember GW_BASIC). Ironically, they can be used very elegantly, but the actual mechanism is very heavy in most languages. - staticsan
(1) +1 to jdk for the added imagery - dkackman
(2) This is the scariest thing i have ever heard. - acidzombie24
terrifyingly abusive and funny, but I totally miss the baseball reference, huh?? explains - Mahol25
baseball involves a lot of throwing and catching - dkackman
(1) Don't you know that throwing and catching exceptions is the modern goto statement? - asmeurer
[+124] [2010-03-12 14:28:23] Rich Bradshaw

apt-got and wgot for files installed using apt-get or downloaded using wget.

"I apt-got 100MB of updates this morning"


"Once this loop has wgot that file, it takes the md5 hash"

(57) I think you mean "has wgotten". :) - JimN
Good point! I've been saying it wrong for all these years! :) - Rich Bradshaw
How does one pronounce wgot? "Wigot"? "We-got"? - Alex
I always say double-you-get, so double-you-got. - Rich Bradshaw
(22) +1 for declining tool names! - sum1stolemyname
(6) Am I the only one who says "apt-getted" or "wgetted"? - poundifdef
(15) @rascher: yes.. - Mark
(5) If a package is apt-gotten, then are its children apt-begotten? - Jon Purdy
Just don't use that verb with time travel willan on-wgotten FTW - KitsuneYMG
I use this all the time! - Ken Bloom
Reminds me of people’s use of “dugg” to mean “posted on Digg”. - Timwi
(1) @sum1stolemyname: for verbs, it's conjugate, not decline. - siride
Wouldn't one form be wgat/apt-gat? Like begat only for remote installation. First it wgat the library, then it apt-gat the updates. - Kelly French
[+122] [2010-05-10 18:55:23] kingryan


Code that looks great in a blog post, but doesn't work well in a full application.

(24) Checked exceptions? - Fraser
(1) any examples of this? - expiredninja
[+120] [2010-05-10 13:56:11] Mark Schultheiss

MAXIT - Talk to Max about the problem. I had a real life manager named Max, when we had code we could not figure out, we would talk to Max. He would just ask us to tell him about it, describe what it is supposed to do and then walk through what it IS doing - most of the time (all?) we would figure it out from that. Max actually died a few years ago. I still talk to Max.

(69) +1 for the last sentence. - Erik Forbes
(3) This is one of my favorites here - Victor Farazdagi
(19) A form of Rubberducking. - Andrew Grimm
[+114] [2010-03-01 01:45:41] Scott Smith

Hocus Focus problem - unexpected behavior in Windows caused by changes in focus, or incorrect setting of focus.

(7) ... or inappropriate (intentional) stealing of focus - Bob Kaufman
(45) There should be some sort of capital punishment for that. (Oh yes, I love the fact that I just typed half of my mail in a popup window) - ldigas
I wasn't thinking of the focus-stealing problem when I wrote this, but it is definitely one of my pet peeves. - Scott Smith
(3) @Bob Kaufman: YES! I hate it when I'm trying to type and something steals the focus. Bonus points if it takes me longer than 5 seconds to even find where the new focus is. - Dinah
+1 Because weve had a hocus focus problem for a year, which no one has been able to fix. - Viktor Sehr
(29) Double bonus points if it's a crash notification that has the "Press OK to shutdown" button selected so that when you press <space> while typing your email you actually end up shutting down. - Blair McMillan
(1) @Blair: Those somehow tend to be rare (at least I haven't seen such messages so far that are stealing the focus). What I get frequently is some program thinking to tell you about something (aka MessageBox) and you close the wnidow with the next hit on space; and then you know neither what program had a problem nor what it was. - Joey
@Johannes: Yes, those certainly are more common and I haven't seen what I described in quite a few years, but I have seen it happen. - Blair McMillan
(4) Yet more bonus points for when focus shenanigans lead to posting passwords on public websites… - Donal Fellows
Hah! In some Javascript code for the website I work for, we actually had a hocusfocus function, as well as a focuspocus one! Luckily, we got rid of them. - Aistina
@Donal, I have this happen to me sometimes. If the site gets hung up for a few seconds loading an image, I'll manually click in the username box and start typing. Then by the time I tab into the password box, the image finishes loading and the onload() function gets called that changes focus to the username box just before I type in my password. Nice. :/ - Carl
At a former job we dealt with multiple terabytes of data on a monthly basis, so I often had to download rather large files (hundreds of megabytes or more) to my development machine. You know how IE refuses to actually put the file where you want it, but first downloads it to cache and then copies it? You know how it pops up a dialog, including a cancel button, while it copies the file to the target location? You know how that cancel button has focus, so any keyboard input triggers it? (This was in the days of IE4/IE5, but the current version still does the same thing.) - GalacticCowboy
My favorite is the command windows that pop up briefly during, e.g., some install process. They are there long enough to steal focus and then leave the focus god knows where, but they provide nothing to the user. Windows should not ever let them get focus in the first place. - siride
(1) Even more bonus points if the focus thief was actually a question (e.g. confirmation) dialog and you select a random option on that dialog while you are typing hastily without knowing what it was ever after. - Halil Özgür
Quad bonus points if the application becomes unresponsive when you alt+tab out of it then back in, because a modal dialog popped up by the application has lost focus. - RMorrisey
[+112] [2010-05-10 08:00:17] Thqr

SOGO When you look for answers on Google and your Stack Overflow questions come up as first place within 5 minutes.

(51) This has happened with surprising frequency. - Sam152
(16) Done that. :/ What's worse is why your Question is unanswered. After 6 months. :-/ Double boo. - Chris Kaminski
(2) @Chris: At least then you get the tumbleweed badge B-) (But yeah, been there done that, got the badge, decided it wasn't worth it B-) - Brian Postow
How about finding your college's asked the same question, to no avail :< - glasnt
Especially when it is something you have to solve within the day... - Thqr
(2) Within a day? That usually happens today within <5 minutes when i continue to google in the vain hope of sudden enlightenment. - Georg Fritzsche
[+109] [2010-03-16 19:26:11] Michael

Try, Catch, Forget - An empty catch block, no tracing, not even a comment. No attempt to resolve the error and of course the catch block is not at all specific on the exception type.

(12) Unfortunately there are people who think this is error handling and how it is supposed to be done. - AaronLS
Yep, I spend a lot of time fixing and finding these problems. - Michael
(50) To be fair, some APIs encourage this by throwing bullshit exceptions. - wds
That can be true, I just log those or be very specific about the exception type I am catching. - Michael
(24) I like to wrap main in a Try,Catch,Forget block. I find it fixes most bugs. - Joel
@wds especially the ones where a RETURN CODE would be great, thanks. Like VBA, I'm looking at you! - Nick Bedford
(6) Another name for this mechanism is : swallow-all. You can see this here and there, especially in some demo code where the exception is just swallowed, and ignored on purpose. - Michael Mao
I haven't really written any production code, but I've used that "paradigm." - Wayne Werner
I've seen this in a catch statement that caught all Exceptions. That one stupid move hid several bugs from me (since the catch statement was preventing them from throwing errors) - matzahboy
The bane of my existence. - 3martini
[+108] [2010-03-19 18:13:18] rlb.usa

Mortgage Code

Code purposely so terrible that only you can maintain it, forcing your employer to keep you; thus providing job security ( so you can pay your mortgage).

Someone did a web application in Mortgage Code : every page was returned as HTML built entirely by SQL queries.

I didn't coin . - rlb.usa
(19) More like Mortuary Code - you'll be stuck with the same crappy app for all time, or be victim to a drive-by shooting by the developer who had to take over after you left. - DevSolar
(6) @jdk You're really on an image rampage aren't ya, buddy : P - rlb.usa
@rlb.usa: Indeed, inspired by this MSDN Blog post on the subject -… - John K
@rlb.usa: Feel free to remove the image by rolling back the change or replace it, if you want; I'm just plopping in one-offs (to spice my question up to the level of the aforementioned blog post referencing it) and not insistent that anybody keep a pic. - John K
(3) I used to call this Job Security. - ridecar2
(2) I've heard this as Mortgage Driven Development - Jonny Cundall
[+107] [2010-05-10 21:21:09] Harold1983-


alias of apt-get

sudo can-has php5

(7) Do people who use this eat cheezburgers? :-) - JBRWilkinson
(12) Is there a cheezburger package? - Donal Fellows
this is perhaps the greatest reason to use unix evar - KitsuneYMG
-1 not-programming-related - finnw
(29) to adopt this: alias can-has='sudo apt-get install'. - Trey Hunner
(1) lol, I think i'll put this in my next build. - WalterJ89
this one is packed full of awesome. I've gotta do this! - thomasrutter
(3) edit /etc/sudoers and add ,passprompt="WUT IZ %uZ PASWORD?" to the end of the line that starts with Defaults to make the sudo prompt more lolcatty. - Ben Page
[+99] [2010-03-29 14:57:13] Florian Doyon

XMHell : When your project contains only 92 classes but has 243 Spring xml configuration files and every object relationship is mapped through a DI framework.

Props to Daniel for this one.

alt text

(6) Hmm, sounds like Magento! - Harold1983-
(11) MAGENTO? HULK SMASH. - eyelidlessness
(1) Genius. Having worked with Spring.Net and NHibernate, I dropped to my knees and thanked the good Lord for Autofac and FluentNH. - KeithS
also known as Java. - pistacchio
[+95] [2010-05-01 05:51:06] Robert Groves

Hope Driven Development - a software development technique in which an application is developed in a long unplanned development cycle, with minimal "Steve Irwin-style testing", all with the hope that everything will work as intended when released.

Steve Irwin-Style Testing - testing that consists of poking around in an application hoping that you will not have a "Crikey!" moment.

@jdk: nice addition! - Robert Groves
(11) +1 for the reference to Steve Irwin, AFAIK no programmer has ever died as a result of poking about in code... - Jazza
Brilliant. I have been on one of these projects. - Warren P
This is what we employ at our firm. No technical specification, just engineers running around asking for specifications and no management. - Bogi
[+92] [2010-05-10 03:46:31] labratmatt

Floater: The case in the bug tracking system that seems to always be sitting near the top of the queue but never gets claimed. It just floats there while developers work around it.

(1) lol we have a few of these... seems almost every one left is a floater.. sigh - WalterJ89
[+92] [2010-05-11 00:46:49] Javamann

Natural Selection - The act of replacing someone else's code with your own.

(35) Oh look, daddy, that lion is giving the cow a hug! - GalacticCowboy
(1) Is the lion attempting interspecies breeding? - Blessed Geek
(8) umm, dudes, thats a steak. He's eating a steak, properly rare the way it should be. I have a friend likes it that way... (is that a yak steak...?) - AviD
@AviD does it need shaving? - Andrew Grimm
Has anyone here ever eaten yak? Whats it like?? - AviD
I think I had buffalo once while I was in a state near Arizona. I think it tasted like beef (not chicken ) - Andrew Grimm
@Blessed Geek: Nope, it bit him in the ass. - NKCSS
no, that's definitely not yak, man. yaks life on the tibetan plateau and don't like altitudes below 3000 meters while what we see here is an african scene. the blond one is a lion, the dark one a buffalo. - markus
[+89] [2010-03-13 18:59:38] Macmade

svn vomit
I usually alias the 'svn commit' command to simply 'vomit'... Reminds me of teammates who messed up repositories by committing files anywhere...

(3) "svn ci" is less keystrokes though :P - Harold1983-
(3) There's also svn blame for seeing who commited what rubbish. Though they also have a proper command svn annotate which does exactly the same thing. - staticsan
(3) @staticsan And svn praise for seeing who commited that genius solution. - bjarkef
svn is a constant source of PC LOAD LETTER moments. - Aiden Bell
[+89] [2010-05-18 22:54:21] Kelly French

Scar Tissue - Any code that is commented out but still included in the current and/or checked-in version. This definition only gives a name, it does not pass judgment on the value of the code in question, i.e. whether its acceptable to check in scar tissue.

enter image description here

public class JDBCDBServlet extends HttpServlet {
    private String      className = "JDBCDBServlet: " ;
    private JDBConnectionPool   connPool ;
    //static JDBCConnectionManager connMgr;

   public void init(ServletConfig config) {

    int maxConns = Integer.parseInt(config.getInitParameter("MAX_CONNECTIONS")) ;
    connPool = new JDBConnectionPool(maxConns) ;
    //connMgr = new JDBCConnectionManager(driverListStr, maxConns) ;

It was one of the first topics I blogged about. See " The Scars We Bear [1]". I remember coming up with this term in college back in the late 80's/early 90's when version control wasn't discussed or really available.

My wife (also a programmer) had a good one. When programs send email or post log/console messages at the drop of a hat, they are 'twittering'. I'd add it as a separate answer except the question is locked.


I like this one! Especially since I'm often making a "Frankenstein's monster surgery" analogy with my software projects, as in "the patient is still on the table". - DarenW
I like to think of it as phlegm because, in C# all comments have that nasty avovado green color. When I'm looking through some nice clean code and come across a large section of commented-out code it looks like someone coughed up some crap in the source and didn't bother to clean it out. - Evan Plaice
[+84] [2010-03-18 02:01:26] PalmCoaster

Object Oriented Pasta - Used to describe spaghetti code wrapped in classes to make it look like an object. Not mine, but a commonly used term at my office.

Festive - A bug causes a window or the entire screen to produce a visually stunning result.

(19) OO Pasta is also referred to as "ravioli code" ( - Roger Lipscombe
(5) Would that make the developer responsible for it a "Chef Boyardee"? - PalmCoaster
possibly also 'spaghetti and meatballs code', or maybe 'spaghetti with singletons' ? - JustJeff
(1) @Roger Ravioli code is supposed to be a good thing - spaghetti ain't. - Konerak
"Ravioli Code" made me giggle helplessly. - DevSolar
(13) On the "festive" side, a bug in a RayTracer I wrote resulted in it rendering spheres as penises. - ZoFreX
Messing with only slightly complex CSS often results in 'festive' results. - staticsan
Festive - we had one longer-living bug that was named "Picasso". Some years later, we surprised the new guys with "Picasso is back". - peterchen
Isn't the first one conchigli code? - KeithS
[+82] [2010-03-01 02:32:19] Kaleb Brasee

Ghetto code - a particularly inelegant and obviously suboptimal section of code that still meets the requirements.

(68) You didn't come up with Ghetto ______. Ghetto when used before anything is an aphorism for something half-assed, unprofessional, bad, not following convention. - Omar
(51) Except for ghetto bootay. - PaulG
(3) I started using it for code, and then everyone else stole it. And I didn't get a dime! - Kaleb Brasee
(1) I also coined this independently: - Charles Miller
except today ghetto is cool - kenny
I only +1'd for the picture :) - Wallacoloo
I didn't even put the picture up! WHO HAS HIJACKED MAH POST!?!?!?!!!!111one - Kaleb Brasee
There I fixed it. - Warren P
+1 for "that still meets the requirements" - slf
[+82] [2010-05-12 08:52:30] Olli

The future is not implemented yet

Derived from a misspelled comment that originally meant "the feature is not implemented yet". Now used in various other scenarios, whenever a feature is not yet implemented.

(7) I used that in my blogging engine when I didn't support delaying posts yet. It was an error that showed up when the DateTime was beyond today. - Arda Xi
not for python, dude... from future import * - Herberth Amaral
[+81] [2010-05-11 03:41:52] Jack

Click it Harder - Developer response to QA testing the developer's software when the button doesn't function, or doesn't function completely.

Vaneshia: PJack. The save button doesn't save.

PJack: What? No way. Works on my machine... show me.


Vaneshia: See.

PJack: Ohh, you've got to click it harder.

(15) The sad part is there are GUI toolboxes (GTK+ being a notorious one) where clicking a widget lightly, on a slow machine, makes it focus (so the computer noticed the click!) but not actually activate/click. You need to click harder (longer) for it to work. What's worse, if you tap on a touchpad, you can't tap "longer" because it won't register at all. So you must use the "mouse keys" instead... argh. - SF.
I love the messed-up intuition at work here, very funny! - j_random_hacker
(1) +1 for the image... - staticsan
I was involved with some development for a device with a touch screen.. and this was actually something you may have needed to occasionally do to make things work. - Jani Hartikainen
(10) As I termed it: Push with authority. - Thanatos
On LabView, in early versions, button up/down handling was polled, and this problem was possible if you clicked and released too fast. You had to click slowly, with feeling. - Warren P
(2) This makes me want to include error messages that say 'Pensive mouse click detected, click harder' that spawn randomly - slf
[+73] [2010-03-01 01:49:03] Scott Smith

n-gleton - a class that only allows a fixed number of instances of itself. I've recently seen another (perhaps official) term for this; something like multiton or polyton.

Wow, lots of down votes on this topic - few with associated comments. - Scott Smith
Many down-voted items are actually answers to the question. Looks like a classic case of somebody coming through and down-voting everything because it appears it happened at once. Overall community should see this and get the votes back up to zero minimum. - John K
(5) so thats said engleton? - RCIX
(1) @RCIX - Yup. That's how I pronounce it. - Scott Smith
@RCIX: I say “ingleton” but that's because there's a small town/large village about 40 miles from home called that. - Donal Fellows
I've heard multiton a lot lately ... #JustSayin - jcolebrand
(7) Some book referred to this as a "Fewton". - Oliver Weiler
I created (what I called) a ThreadLocalSingleton in a project a few years ago. I haven't seen this pattern elsewhere... - Benoit Miller
(5) I'm a square. I like to call it an object pool. - Will
+1 engleton flows much better than fewton or multiton. - gingerbreadboy
I once saw code that described itself as a "twingleton". - Carl Norum
(2) Multiton is an official pattern, AFAIK - John
Mangleton: using a non-threadsafe singleton in a multithreaded application - György Andrasek
it's usually doubleton, tripleton, multiton. (Yes, I've had tripletons in my code...) - Macke
I've written these. Wasn't sure I wanted to, but it was far-and-away the best solution to the problem. - staticsan
[+72] [2010-03-03 22:45:06] Martin Beckett

Generally in hardware, a very impressive looking adjustable dial that isn't connected to anything but lets them feel that they are involved by giving them something to fiddle with - without any risk to the carefully calibrated instrument.

In software it would be a page of advanced configuration settings that don't do anything except make the software more 'enterprisey'

(47) In my former life as an audio engineer, we had an unattached knob on the desk for precisely this purpose, when the client (read 'precious musician') wanted 'oh I don't know, just that little bit extra, that sort of oomph'. - johnc
(17) We once removed a box from in the chassis, but left the switch on the front-plate because otherwise there'd have been a hole. We all knew we'd done it. And we found ourselves slipping into this crazy world where we'd go flip that switch when something was wrong and it seemed to help. - Will
(12) An interesting read: - Will
(5) @johnc - I hope it went upto 11 ! - Martin Beckett
@johnc, I've been in both sides of that position: sometimes both at once. :-( - staticsan
(1) I added an image. hope it doesn't annoy original poster. This is kind of the opposite of the "Duck" mentioned in another answer. - Warren P
I think this was called the "producer's button" -- as in record producer -- in the Jargon File. - Zack
(6) That kid looks a little psychotic - adam0101
@johnc: I know that one. We refer to it as "ghost slider" :) - back2dos
(2) Uhm - is it just me or are the arrows for the mirror and suction cup a WTF!? error too? - scunliffe
@scunliffe - ISO9001 requirements just mean they must be documented, doesn't mean it has to be correct! - Martin Beckett
+1 for the image :) - FerretallicA
@FerretallicA not my image - Martin Beckett
(2) Dead image link... - new123456
Found a replacement image - sehe
[+70] [2010-05-14 20:44:18] MDRoz


The term is used to refer to a batch job or application that should be scheduled or triggered automatically, but due to unspecified reasons (typically, bugs), requires manual intervention every time. (Note: This is not the same as automagically.)

"The data is stale because the synchronization job is scheduled to happen automanually and I've been on vacation."

(1) Love it! Been there many times. - j_random_hacker
+1 I was handed such a piece of code lately, and through it back in the face of the developer who wrote it as soon as they came back from their vacation. Grrrr - Eran Harel
(3) The word you're looking for is "manumatic". Old train sets used to have electric switches, but if you were cheap, they also had switches that you had to run over and flip by hand. These were marketed as "Manumatic!" - Alex Feinman
(2) "Automanual" seems like a better (and funnier) fit than "manumatic." - MDRoz
Another fun variant: manualmatic. - MPelletier
[+66] [2010-03-03 23:48:29] Stanislav

IRQed = annoyed by interruptions

Example: The phone IRQed me so much today I couldn't get anything done.

The distinction between "IRQed" and "irked" is subtle and only obvious in written form or by context.

Related: IRQload

Example: "The poor slob who runs the switchboard has an IRQload you wouldn't believe."

(15) Depending on who is interrupting you, sometimes it's a Non-Maskable Interrupt. - Benoit Miller
I find this one the geekiest of all - Ubersoldat
i < 3 this one. - acidzombie24
[+66] [2010-03-16 17:36:38] David Zimmerman

Code Slush

for the date after which no changes will be accepted, except, of course, all the changes that management will ask for at the last minute. Like Code Freeze but accepting of the fact that some changes will still get in.

Memo to developers, Code Slush is March 31 so get your fixes in.

(1) I've used this one at a previous job. Code checkins were still possible, but only for serious bug fixes and they'd get a heightened level of scrutiny. - Mark Ransom
(2) Used /consistently/ at Corel when I was there (late 90s). After beta and before code freeze...variable-level bug bar triage. - Jedidja
We have this at my place.... Standard Operation = Weekly migrations. Code Freeze = Daily migrations - wapsee
[+65] [2010-05-10 14:41:57] SF.

Scare the bug when you call another developer to help you spot some trivial and obvious bug you spent way longer than reasonable trying to find.

Often mere presence of the other person allows you to spot the bug, i.e. as you begin to explain the piece of code (without the other person ever getting to say anything of value) - "the code got scared of two people at once working on it and revealed itself without a fight."

A request of Could you come over and scare the bug for me, please? is the traditional interrupt request of this kind of assistance.

(2) Often referred to as the "rubber ducky method", wherein you avoid bringing in another programmer into it by explaining the bug to a rubber ducky sitting on your desk (or any other trinket) this revealing the bug to yourself by the act of explaining it as you would to another coder. - Neil N
(10) But nicely and creatively worded, especially in the request form. +1. - DevSolar
See also "cardboard cut-out programmer" - Jazza
See also "rubberducking". - Ates Goral
+1 Excellent image too - sehe
When I do this I usually blame it one someone's aura. "Hey, Jimmy, bring your aura over here, I've got this thing..." And poof the bug disapears. - MPelletier
[+64] [2010-05-11 15:21:47] Il-Bhima

Carpet Logging

The act of completely riddling a piece of source code with debug log calls, until pretty much every single line of the code is followed by a call of the form log.debug("After my_killer_function_call, var1=....");

This is done in lieu of using a debugger to step through the code, typically by l33t certification-prodigies who think that only noobs use debuggers.

(14) Maybe they think only people writing single-threaded code use debuggers. Some heisenbugs are not effected by logging but will not appear with a debugger attached. - Pete Kirkham
(1) Granted some occasions may warrant it, but its not something that should be done consistently, and THEN have the code checked into source control with all the logging included. Then again, I have implemented lots of concurrent algorithms and rarely have I had to do this. - Il-Bhima
(3) eh. I have a long section of code with every single line prefixed with _DB, which is #define _DB printf("F: %s, Ln: %d\r\n",__FILE__,__LINE__); - SF.
@Pete - This has actually happened to me...… - StingyJack
(8) Sometimes it's the best answer. When you have something that fails on the 500th pass through the loop due to something that went wrong before it's easier to run off a big logfile and look it over--that way when you find where it blew up you can look backwards and see how it got there. - Loren Pechtel
I hated this, when working with javascript in a greasemonkey script (firebug support would be nice) i needed to put a few alerts to figure out where my error was. I loved the trick i was taught with try/catch. An error in try will be caught and you can get some kind of hint of what happened. - acidzombie24
..or for bugs that occur only with one customer, in a central piece of code that, if broken in any way, would make hundreds of customers storm your office wiht pitchforks. - peterchen
(1) How about "vacuuming the code" for someone who has to clean the carpet up after it's been bombed? - Warren P
Oh, I've done this for mobile software when I'm just doing maintenance. Set up an emulator (which won't replicate this phone's quirks) or just log more? The latter usually wins. - Paul Marshall
The point everyone seems to have missed is this: what do you do with the logging code after you finish? Do you remove a lot of it, leaving just enough to provide a trace of live code? Or do you commit the code, with logs and all into source control, so that they eventually make it onto a production system? - Il-Bhima
(1) Debuggers are not available for doing post-mortem analysis. We do that kind of logging, because issues cannot be reproduced. - Thorbjørn Ravn Andersen
@Thorbjorn: No! - Il-Bhima
Yes. We then disable debug level code in the log system when production has proven to be stable. - Thorbjørn Ravn Andersen
(1) I hate this but we have to do it. We can't get within a mile of production, which is built very differently from our dev and test environments and lots of weird stuff happens there that we don't have the facilities to reproduce. So we use "carpet logging" to enable "Mars lander debugging." The code/debug cycle involves a lengthy automated deployment followed by a sometimes lengthy run followed by downloading and analyzing the log. It's like sending a command to the Mars lander and waiting for the 3-hour round trip to get the results. - Matthew Kane
+1 for using 'carpet logging' to enable 'Mars lander debugging'. I've also heard it called 'Amish debugging' - debugging without using the latest technology. - dodgy_coder
@Matthew Kane Yes, I've had to do quite a lot of carpet logging myself, and I hate it. Sometimes it's inevitable, although I learnt the hard way that you CAN have too much logging. On one system I was working on, I put a debug level log statement after almost every line. There was a lot of redundancy. This code went on production. Once, to resolve a bug, we enabled the debug level to see what was happening. The system could not cope with the amount of logging being generated and died horribly. Lessons: 1)DO have debug level logs, but minimise redundant info. 2)Use a good log library. - Il-Bhima
[+64] [2010-05-10 03:32:08] BernzSed

RIT's Society of Software Engineers has a name for this diagram I created a while back:

The Rob Busack Waterfall Model.

Named after the Rob Busack Memorial Rapid Development Weekend, a yearly event where in one single, caffeine-fueled weekend, an unnecessarily large number of developers congregate for the purpose of failing to complete an overly ambitious programming challenge.

(24) an unnecessarily large number of developers congregate for the purpose of failing to complete an overly ambitious programming challenge. < my office then? - gingerbreadboy
[+63] [2010-03-01 02:33:54] Larry Lustig

Bug Bait

Programming practices that encourage, rather than discourage, program flaws.

enter image description here

(11) Almost like jailbait ;) - Gacek
(16) Only less enticing... - Nate
(9) What I call bug bait is the practice of willingly putting debug code into production, for the sole purpose of bringing out a hard-to-find bug (so it can be exterminated properly). Related to Heisenbug. - Benoit Miller
(1) @Benoit Miller - so is that Heisenbait? - Mark Schultheiss
(5) Reminds me of PHP - Charlie Somerville
@Charlie, that was uncalled for. - staticsan
[+63] [2010-05-10 15:03:38] SF.

Barnacle method A function implemented as a method of some class for lack of a better place.

If you don't have a "generic toolbox" class and don't tolerate functions outside a class or a namespace, you sometimes attach simple, generic, stateless functions like "dec2hex", "crc16file" or "JSONtimestamp" to a specialized class because that class often uses them or they somewhat resemble its functionality, but you often call them from other classes (which don't need the "host" class for any other purpose).

I hate these things! Or rather, hate when I need them. - Nick Bedford
I think they're called utility methods. - Andrew Grimm
(4) @Andrew: a classic utility method is usually attached to a utility class. But finding no atoi() (int->string conversion) in stdlib, and implementing it as a method of a class that generates a screen of specific info about output device instead is a classing example of barnaclization. - SF.
(1) In a non-obligatory-oop (object Pascal) or semi-oop (C++) language, the idea that this should have been in a class would be ludicrous to some people, and an article of faith to others. This term is a rather good example of where developers differ on acceptable practices. I would use this term. "This is a barnacle, start a new utility class, now." - Warren P
Ha. All "utility functions" in C# and Java have to be implemented as barnacle methods on static classes. - fuzzyman
Heh, what comes to mind with "barnacle" is something a former coworker told me about the development of the project I was joining, that it had been more "programming by accretion" than anything else. Ugh. - dash-tom-bang
[+58] [2010-05-10 08:34:46] crowne

Bob the cardboard cut-out programmer.

This is a real life-sized cardboard cut-out figure that can be placed in the corner of the office, whenever one of his non-cardboard peers has a problem they can walk up to him and discuss the problem and half of the time this discussion will help solve the problem.

The conversation usually goes something like this:

I can't figure out why my class won't ... Oh, OK don't worry I've just figured it out - thanks!

(7) AKA 'Dumb Donkey' - explain a problem to someone; they'll sit in silence and contribute nothing to the discussion while you eventually figure it out yourself. - Steve Folly
I've heard this being done with a rubber ducky, a teddy bear and a bobble head. - sal
(1) I know this as the wooden indian effect, and I must have learned it a long time ago. - Beta
(38) rubberducking?? - Midhat
@Midhat: I'd say that this is slightly different from rubberducking. In my last workplace, the cardboard programmer described the situation where you call a colleague over to discuss a bug and just as they stand behind you, you spot the solution yourself. So, in other words, if you'd simply relpaced the real person with the cardboard cut-out, the effect would have been the same. - Jazza
(3) Cardboard programmers are stealing our jobs as rubberduckies. - Florian Doyon
We used "Dog and Pony Show" for this as opposed to software demos as it was demonstrating you explaining your own code. - Andrei Freeman
Isn't this the lone purpose of professional psychologists? - Justin Satyr
[+55] [2010-05-10 17:48:49] Skells

Reticulating Splines - Used to describe development that still needs to be done to non-programmers who probably don't care about the specifics of what still has to be done (beyond the time estimate) or know what you are talking about. Lifted from the SimCity 2000 game load screen, which displayed nonsense phrases with a progress bar while the game loaded.

(4) XD. You might like MS Paint Adventures. The 'SBURB loading screen' has a ton of these. - pinkgothic
(8) The load screens of "World of Goo" have some really fun examples of this. - Warren P
I remember that screen! - RMorrisey
Peggle does this as well. - Mitch Lindgren
AFAIK, Maxis was the first to coin "Reticulating Splines" as a loading message, in SimCity 2k. They've been doing it ever since, and there are some gems. - KeithS
(3) The nonsense phrases in the loading screen was in The Sims. In SimCity 2000, it was a sound file, saying "Reticulating Splines" when you create a new city. - Dominic Gurto
[+54] [2010-05-11 00:44:33] JavaRocky

Fragile - To use Agile methodologies and have people totally screwing it up.

Project Manager: Let's use Agile methodologies!

Developer: Ok sure, I will spike. I'll do the minimum of what takes to achieve this piece of business functionality

Project Manager: Excellent work developer!

Developer: We can refactor later when we build later parts of the system. It's not important to that now.

Project Manager: Good. We shouldn't do more than we need right now.

And later on in the project...

Developer: We need to do that refactoring because the code is unmaintainable

... silence follows ...

Project Manager: Deploy lame excuse machine, choose one or more

  1. Say "We can do it a little later"
  2. Say "But it works why change it?"
  3. Say "This is way more important, do it later"
  4. Say "We don't have time to do this 'refactoring'"
  5. Say "I promise we will do it later"

Resulting in...

Developer suffers development with increasingly incoherent & spaghettified code AND no one cares about the pain he/she suffers.

Then ..

Outsider / CTO: Man, this agile stuff stinks! I'll never use that! Waterfall RULES!

alt text

(4) +1 great dialogue - John K
(10) +1 for describing how uninformed management uses agile so well :) - Ryan Hoffman
(1) This is why you should not ask for permission to refactor, see "reticulating splines" elsewhere in this question. - Ben Hardy
[+52] [2010-05-10 05:32:00] Emil Koutanov

Perl -grade obfuscation

The highest level of obfuscation possible. Better than passing code through a 1-way hash function.

"No one will reverse engineer our code - it's written in Perl."

(3) See also: Line noise - RMorrisey
See also: TECO - grawity
(4) Hm, apparently you haven't seen J so far ;-) (well, and some esoteric languages). In fact, Perl hasn't been at the top of the obfuscation and golfing ladder for quite some time now :-) - Joey
Gee. It looks just like APL. - Dan Menes
Well, I'll have to remember this one. If DotFuscator is insufficient, Perl will do it. - Andrei Rinea
Perl is slightly more readable than MALBOLGE. - Warren P
(2) The Obfuscated Perl Contest was held annually between 1996 and 2000. Anyway, Perl is an artist's language, it gives you the tools, it doesn't force you to do things in one way. There's more than one way to do it, is a Perl motto. You can write obfuscated code very hard to read or you can write clean, succinct and beautiful code. There has been a lot of bashing against Perl from people who never wrote a line of Perl! It's the sad truth. - stivlo
[+51] [2010-03-15 13:43:14] Bruce McGee

Most of mine can't be shared in polite company, but I started using the term

Swiss army software

about 15 years ago to describe projects suffering from feature creep.

LOL - Me too, but I used it as a metaphor when telling users why I wasn't going to add their latest "great" idea as a feature. A swiss army knife is adequate as a corkscrew, it's a poor screwdriver, nearly useless as a saw, and let's face it, it's not even a good knife. The scisors are handy though... - Chris Thornton
(1) I use the same name for describing a handy, personal app or lib I frequently use to make buggy software actually work or at least debug. Or would that be considered McGuivering? - bob-the-destroyer
Definitely MacGyvering - Bruce McGee
[+50] [2010-03-22 05:09:47] Stephen C

NP Tricky. Describes an algorithm whose complexity is too hard for a mere mortal to figure out.

NP Hilarious. Describes an algorithm whose complexity is "a joke", literally (as in BogoSort [1]) or metaphorically.


I like "NP Hilarious" as an equivalent to "NP Complete": - Kevin L.
@Kevin L. Nice one .... but a better definition of "NP Hilarious" would be were some clown has coded an exponential algorithm for some problem that has an obvious polynomial time solution. - Stephen C
(1) @Kevin L. Bogosort would be an excellent example of an "NP Hilarious" algorithm ;-) - Stephen C
@Stephen C Excellent example. I was not aware of Bogosort, nor had I ever seen O(∞) on Wikipedia. Awesome. - Kevin L.
same here :) +1, bdw where did you learn about Bogosort? - Nasgul
(3) I like to use O(scary) for NP Hilarious :) - Juliet
(2) I love how short the Python code for bogosort on Wikipedia is in comparison to the other languages used. - Wallacoloo
(2) @Wallacoloo - Perl 6 is even shorter. And in "bogolang" I can write the program with just one character :-) - Stephen C
[+50] [2010-05-11 12:38:43] wwwrun


If you invoke a private method in C++ from a class with friend status.

(31) C++: Where friends have access to your private members. - Chris
(17) HA +1 for woods pic - StingyJack
(3) "only friends can touch my privates" - Andrei Rinea
I usually #define Friends_With_Benefits Friend to avoid the confusion. - Stephen Furlani
[+49] [2010-05-11 07:20:40] Revenant


When you love your own code so much you have a programming ... well, ... you know what.

alt text

(61) This happens so long as you don't love it too soon before you know that it's awesome and experience the pain of "premature evaluation". - Corpsekicker
(2) @Corpsekicker The best comment yet here on this question! LOL!! - JavaRocky
@Corpsekicker so good. - Thqr
hahaha! I lolled at both Progasm and Corpsekicker!! - iamserious
[+48] [2010-05-18 22:45:41] roufamatic

Search And Destroy -- A multi-file search/replace that goes horribly awry.

alt text

(3) Seek & Destroy would sound better :) - Rafal Ziolkowski
#-o, OMG had this one too :(( - Andrei Rinea
(2) You hit save? Oh no. You WERE using version control right? Oh NOOOOOO. - Warren P
(4) @Rafal: na ah, search and destroy is purrrfect! - iamserious
(3) @RafalZiolkowski: na ah, seek & destroy completely misses the association with search / replace - sehe
[+47] [2010-05-10 21:25:46] ThiagoAlves

Hi-driven development - When you debug your program by writing alert('Hi') statements in a trial-and-error fashion

(9) I used to do this but prefixing with the word 'Chinchilla' - In the understanding that removing them meant lots of searching for 'Chinchilla' which was unlikely to be partial in a term rather than 'Hi' which could be. Unfortunately during a phase where I was distracted with training idiots, I nearly let a Chinchilla into the wild. The chinchillas were hastily replaced with Log4Net. - Wysawyg
Otherwise known as release build bugs :P - Nick Bedford
(3) Like printf debugging? - Andrew Grimm
Step 1. Get a book. Step 2. Write hello world. Step 3. Conquer the world. - Warren P
Yeah, kinda like printf debugging, but without printing any useful information, only 'Hi' (or something similar). This ensures you will have a lot of fun and challenge while debugging your code! You feel like a detective solving a murder only having a few clues. :) - ThiagoAlves
(7) Funny. Me and my friends always use an improved version of that: alert('xxx') where xxx is the Bulgarian slang for penis. - Hristo Deshev
(6) So if I print "test" instead of "hi", does that count as test-driven development? - asmeurer
[+46] [2010-05-21 06:54:21] anthony-arnold

Pixies are the opposite of gremlins. While gremlins cause unexplained bugs, pixies cause unexplained fixes. They usually appear when fixing a totally unrelated bug or implementing some other function and, voila: the bug is fixed!

[+44] [2010-03-16 18:12:16] Dinah

cut and waste code

When someone uses cut and paste code they found online (usually from a blog) in a production product, the result is usually a lot of wasted time trying to track down an obscure bug from a line or variable that undoubtedly made sense in the original context but not in our code.

Typical conversation:
"What did you do today?"
"I spent all day debugging cut and waste code."

(1) Cut and paste followed by obscenities, haha. Did this two days ago. - rlb.usa
[+43] [2010-03-29 16:02:16] Cerin

Bang It

Not really sure if I'm the first to use this, but I got into the habit of describing the process of negating a logical expression as "banging" it. This refers to the "!" symbol, used in some languages to denote logical negation, and the word "bang", a synonym for the exclamation mark symbol.


Dev1: What's wrong with my expression? It's doing the exact opposite of what I want.

Dev2: You need to bang it.

(1) Hence my username, since the forum didn't allow my "sig" as a name. - dash-tom-bang
[+43] [2010-05-10 02:03:25] sal

Extraface An interface that is added for no reason or is never used. In Java, Serializable is often an Extraface.

Intraface or Inyerface An interface that is added to every class in a system, usually as a way of adding constants. Inyerface is used when the use of caps to define constants leads to a source file that looks like it's yelling at you.

Abstruse Base Class An Abstract base class with one or more code smells.

Combination Lock API An object with an overly complex interface which fails silently when you deviate slightly from the API.

Obfuscated Oriented Programming When code says one thing but the comment says something else. Usually points to cut-copy-paste.

//get account from audit
Broker b = audit.getOriginBroker(order.getBrokerID());

//reset form
Form f = new Form(id,map);

Bottle Rocket When an application launches, displays something then leaves a trail of error messages before crashing. As in, "I added the new client jar in dev and the app goes bottle rocket when hitting the CRM system"

(6) +1 for Combination Lock API - RMorrisey
(2) Inyerface! Love it! - Warren P
I can tell this was Java-inspired. PS. that was before I reached the jar reference... - sehe
[+41] [2010-05-05 04:49:39] Jeff Meatball Yang


It's the main ingredient for making spaghetti code. A favorite of a co-worker.


In a code review: So what I did was copy-pasta the loop from Foo into Bar, so they can both Fizz.

To which you should reply: What if later I change Fizz to Buzz and now Foo Fizzes and Bar Buzzes?

(4) +1 for the code-review dialog - pkaeding
Hilarious!!! Love this one! +1 - Gabe
I've heard the term used more as a noun, referring the content itself which has been copy-and-pasted. "This code is terrible, it's full of out-of-date copy pasta" - pimlottc
[+41] [2010-05-10 07:24:07] Rafal Ziolkowski

Disaster Driven Development - When Your PMs and salesmen promised that You will build "space shuttle" in one month.

Should this be "disaster" or am I missing some subtlety? - Chris Farmer
Of course it should. Thanks, fixed, case closed :) - Rafal Ziolkowski
(3) sigh I am going through this right now .. but I would suggest a slight change to be " .. promised that you will build .." - Peter M
Affirmative. BTW, I have conversation with brilliant (in terms of income) salesman recently and he said: "You have to bitching, that's the way it works" - Rafal Ziolkowski
@Rafal do you mean "You have to be bitching"? - Andrew Grimm
@Andrew - My mistake, You are right :) - Rafal Ziolkowski
I've been here, done this. - Warren P
[+41] [2010-05-10 20:21:48] tylerl

Boss Build

At a previous company, we generally built two versions of any product that ran on the Boss's computer. One "real" version which was shipped to customers, and one "boss build" which reflected the endless list of font, color, size, and placement tweaks that came every several days from the corner office.

Was the boss aware of this separate build, or did he believe everyone else was getting the same build? - Erik Forbes
(9) He was aware that we enabled "extra" functionality for him that most users didn't get to see. - tylerl
This is similar to the "former boss switch" noted in another answer. - Warren P
On one particular project, we had to add a feature mid-course, where a specific user got his own approval step in the workflow, a hard-coded access role, and a screen named after him. Suggestions to establish an access role for that kind of user were vetoed. - RMorrisey
Actually it is not that rare. I've seen such things in many unexpected places. The funniest moment is when the code is too old, next generation of devs forgotten that there is actually a boss build, and that boss build starts to spawn bugs, which can not seen in production. - shabunc
[+38] [2010-05-16 02:15:27] Farthingworth


When someone chooses not to use the obvious object oriented approach when it is available.

The opposite of this is "Object-Obsessed Programming", where everything is made into an object whether it makes sense or not. - Ferruccio
[+37] [2010-05-17 08:27:48] Donal Fellows

Ravioli Code – The object-oriented equivalent of spaghetti code, where it's all in nice small self-contained packets, yet is still impossible to grapple with and covered in sauce (i.e., where finding out how anything actually happens requires understanding virtually every method of every class in the whole damn program).

alt text

(7) We used to call this "spaghetti with meatballs" code. - MDRoz
I attended a class in APL in which the instructor advocated that each function encapsulate one decision, and only one decision. - SeaDrive
@SeaDrive: Feels like a bit of an indictment of APL that that sort of thing is encouraged. ;-) I believe a function (or method or whatever) should do something that it is possible to clearly describe without a program. - Donal Fellows
[+35] [2010-05-16 02:09:02] Hélène Martin

Boolean Zen - using boolean expressions directly without testing for equality to true or false. (not coined by me)

"Yuck, this code lacks boolean zen: "

if(var > 20 == true) {

if (var > 10 && var < 20) {
    return true;
} else {
    return false;

"Nice boolean zen:"

if(var > 20) {

return var > 10 && var < 20;

Useful for introductory programming teachers...

Nice one!!!!!!! - Andrei Rinea
== true and == false are really useless in the provided example. nice to find out i practice boolean zen ^^ - www0z0k
This is extremly encouraged in languages which support truthy and falsy values. Like nil in Ruby or 0 and empty lists in Python. Combined with duck typing, it allows for some nice constructs. - Holger Just
A better example of boolean zen would be if (x <= y == ascending) where ascending is a flag. Another would be if ((x < y) == (z < t)) - Alexandre C.
[+35] [2010-05-11 00:28:52] teepark

TDDD: Technical Debt-Driven Development

(2) hahahahahaha +1 - John K
:(((((((((((((( TeamNet - Andrei Rinea
(2) I'd do plus 2 if i could. - Charlie Flowers
[+34] [2010-05-14 15:06:45] Loadmaster

Encraption - Really insecure encryption, which gives management the illusion that the code is securing sensitive data, but in reality isn't.

For example, management has a requirement that user IDs and passwords (eg, for database access) must be encrypted within the server configuration files. However, the data files containing potentially sensitive info (eg, SSNs, driver license numbers, bank account numbers, etc.) are stored in unencrypted plaintext form on the server.

Obviously, if network security were ever compromised and the server was hacked into, the hackers wouldn't bother trying to decrypt the user-IDs and passwords, because they have instant access to the real data in the clear.

I also know "encraption" as the "too many cooks spoil the broth" phenomenon that can be observed quite too often - An initially acceptable concept is "encrapted" by all the people giving their two cents and finally ends up being a pile of c**p. - alexander.biskop
@alexander.bishop: Funny how you obfuscated only the final crap :) - John K
There's also the method of encrypting the data using a reversible encryption, along with the key used for the encryption. - Eran Harel
[+34] [2010-05-21 08:23:32] El Bauldo


  • the inevitable round the table shitstorm activity that happens during the post mortem of a fubar project.

[+32] [2010-05-24 05:12:22] dkris

Build Potato

When your code check-in breaks the build, you receive a build potato. It stays with you until someone else's code check-in breaks the build.

alt text

P.S: This is not a term coined by me. It's a jargon we use at work.

(3) I don't understand why someone would vote this one down? - dkris
(4) ...and you become the repository maintainer on top of your current work, until this gets passed on. That was a good way to keep the ungrateful and disliked work distributed fairly between employees and keep broken check-ins low. - SF.
...reminds me of the I-broke-the-build-shirt oder -cap, which of course you have to wear until someone else breaks the build and isn't washed! - Hinek
one place i worked at had a jar of pickles for representing utterly stupid-ass mistakes (not just breaking the nightly build) - geocoin
(5) may be the guy who down voted this had a build potato with him! - iamserious
We have the Pointy Hat for that, some ugly witch's halloween hat with green hair around. Pity it isn't really enforced anymore. - Marc Mutz - mmutz
Ours was the "dance of shame". When the build broke, one of the developers' computers had an e-mail rule that played an excerpt of Lady Gaga's "Just Dance", and the developer at fault had to stand up and dance his way to a dry erase board where we kept score and mark a tally. The practice died down after we switched to TeamCity and its Pre-Tested Commits. - KeithS
I didn't vote it down, but it seems like an actual item and not jargon, or don't they get an actual potato? If they don't, then I don't get it... - Jason Goemaat
[+32] [2010-05-17 01:42:50] jasonk

Mosquito Bites - The annoyance of small software bugs that are frustrating but do not cause critical/catastrophic errors in the usage of the application. They are typically ignored until the agitation becomes painfully annoying.

(4) I was hoping this would have something to do with bytes. :) - Cam
(4) AKA "dying of a thousand paper-cuts" - slf
[+30] [2010-05-12 12:25:05] Hinek

Company Whore

a module or a piece of code, every programmer of the company had it's fingers on.

(1) How many sex-related answers have been given to this question? - Andrew Grimm
:)))))))))) I need to use this. - Andrei Rinea
WTF!! this is awesome! - iamserious
It was coined by my team leader, some years ago, when he broke the news to be, that I would be working for 4 week directly at our customer to fix some things in a module in their cms: "auf dem jeder schon mal drauf war" (german) ... - Hinek
[+30] [2010-05-10 12:45:50] Coderoshi

Eraser Stains - Code that has been written, then re-factored multiple times leaving swaths of vestigial code or design. Like erasing a sheet of paper so many times, the pencil marks are no longer the problem - the large greasy stain is.

Not quite the same thing, but before doing a commit, I use git diff or git add -p to ensure that any debugging code doesn't make it into the commit. - Andrew Grimm
[+30] [2010-05-10 10:40:20] alexganose


For an idea that you came up with in the shower!

(10) weird, all my ideas come to me in the shower... - dotjoe
(4) I definitely would have to pronounce this one "shau-dair", like the French waiter and Freddie Quimby in that Simpsons episode. - Tesserex
(3) @dotjoe : Me too, also morning poops can yield good ideas too! - Andrei Rinea
Wow, really recognizable. So far I ran out of my shower twice to write it down. - Gerben Jacobs
This happens to me too much. - ultimatebuster
[+30] [2010-03-01 01:02:45] EvilTeach

integerize - the process of turning a floating point number into an integer

(14) how 'bout "intify"? - Mark
(20) how about "cast as int"? - Cam
(5) @mark I like "intify", or even "intification". - Andrew
(6) "The Intification Ritual" :)) - mlvljr
(1) What about integralize for us Haskellians? - trinithis
(25) How about "floor" ? - rlb.usa
flooring usually means putting the pedal to the metal. - Tor Valamo
(1) @rlb.usa integerize(-7.3) == -7 - Doug McClean
(3) you mean round? - AlexeyMK
(1) Yeah but integerize sounds like intergize, which sounds like something you do when Scotty beams you up. - Robert P
(2) @AlexeyMK, @rlb.usa, @incrediman - exactly that's why. It means "make an integer from it, in a way that is appropriate in given context". round, floor, cast, truncate, substract fraction part, stringify-then-intize, read the int field from an union, whatever. - SF.
(1) I woulda called it hacksawing. Get.. off.. you.. dirty.. fraction! int i = sawoff(2.3); - Nick Bedford
i usualy say "int it!". - st0le
(1) We truncate 'em. - Warren P
[+28] [2010-03-01 01:53:39] Scott Smith

The Sheath - the isolating interface between your team's (good) code, and the brain-dead code contributed by the other guy(s). The sheath prevents horrible things (badly named constants, incorrect types, etc) in the other guy(s) code from infecting your code.

I've seen that referred to as a Shim. - staticsan
(3) I thought a shim was a boy/girl that you cant tell its gender - Woot4Moo
(22) How about 'condom'? - Remy Blank
(1) @Remy - We were trying not to be that obvious, since the guy that wrote the toxic library we were forced to use was likely to see our code eventually. - Scott Smith
All code sucks. Get off your pedestal. - Veli
[+28] [2010-05-09 21:49:10] Jay Paroline

headlessCamels and ProudCamels for verbally differentiating between the two different types of camelCase (or CamelCase)

(25) (in case you're curious) I'm fairly certain ThisOne is PascalCase. - AlexeyMK
I thought it was UpperCamelCase and lowerCamelCase? - Brendan Long
@AlexeyMK: PascalCase is specific but camelCase/CamelCase isn't, so it only solves half the problem. @Brendan: That works but it's far more boring. ;) - Jay Paroline
I always found it amusing that Perl, the language that loves its camels, dislikes camelCase in favor of under_lines. - Robert P
(1) @Robert P: interestingly, I've always heard the term snake_case to describe that naming convention. - Juliet
(1) Damn, now all I can see are camels... - John Gietzen
(5) There is always "COBOL CASE" to describe all uppercase code. - Joe Zitzelberger
Mad props for getting a camelbob picture! - Gleno
[+28] [2010-05-11 14:52:27] kabado

Darwin programming -- keep evolving the code randomly (or deterministically) until it does-the-right-thing. Very efficient for example when hesitating between + or - inside a formula.

(1) This can be highly effective when having to use undocumented, poorly documented or just plain illogical external APIs. - Nick Bedford
(2) Of course, Darwinian evolution is neither random (hello, creationists) nor deterministic. ;-) - Konrad Rudolph
I remember creating some of the very best demo effects that way when I was in the Amiga demoscene. Did you know overlaying a white layer using XOR filter on top of a plasma background fills it with the same plasma flowing backwards? - SF.
[+27] [2010-05-11 00:22:33] TofuBeer

It's not a bug, it's undercoded.

(4) Don't you mean undertested or underspecified? - Andrew Grimm
(2) In my case it is usually just not finished yet... // TODO: ... - TofuBeer
Actually, most bugs are OVERcoded... - AviD
[+27] [2010-03-23 00:44:07] Nick Bedford

Google Code

5-10 lines of code you found after three hours of Googling that you don't want to touch for fear of it breaking due to the underlying API being illogical and needlessly complex to work with.

(2) Write a wrapper around the API. - WTP'--
[+27] [2010-03-16 17:24:48] charlieb

wibni - wouldn't it be nice if. A "nice to have" feature only more fun to say.

rebugging - The opposite of debugging. The act of adding a feature. Normal development adds features, adding features adds bugs hence rebugging

wow, I've never heard anyone else use wibni. I heard it first at Campbell Software in the mid 90's - Mike Two
It's in the Jargon File. - Tim Pietzcker
(2) Same logic, initial coding is known as bugging - johnc
I've heard the former but usually with the f added too. Separate changes into enhancements, bugs and wibnifs. - Wysawyg
+1 for rebugging - sehe
[+27] [2010-05-27 18:47:32] Boris 007

Troolian Logic

Using a Boolean to intentionally represent 3 values; True, False, null

private void someMethod(Boolean someBoolean)
  if (someBoolean == null)
  else if (someBoolean)

If I had a $0.01 for every time I had a spec writer try to squeeze this one past me... - Joe Zitzelberger
(12) There's only one appropriate third value for booleans, and that is FileNotFound. - gustafc
We call these "tertiary boolians" - ShaneBlake
[+26] [2010-03-22 05:46:53] Sr7

JamesBond Interface: contract defined very well, documented... but there's no real life implementation for it..

(8) I haven't got the punchline yet. - Andrew Grimm
(2) couldn't find a smaller picture? - BradC
[+26] [2010-05-10 07:41:49] Didier Trosset

Clicking Administrators (originally Administrateur Cliqueurs in French)

That's for all those system administrators and IT people that have always evolved in a Windows environment, growing from managing their own home computer to managing an enterprise network, and don't have a clue about the actual technical changes they make when clicking here or there.

They usually apply the management methodology named DTIW, Don't Touch, It Works! (originally TPCM, Touche Pas, Ça Marche !) (I would probably need a better translation in English here, it sounds really great in French …)

(1) If it ain't broke don't fix it. Though that doesn't exactly mean "don't touch". - Windows programmer
Yes, that sounds much better. But it goes even further than this with some administrators refusing to change anything, even refusing to apply the security updates! - Didier Trosset
(6) @Windows programmer, with some people it should mean don't touch. :-) - Kristo
And theses kind of Sys Admins can only use "Clickodrome" kind of interface. - kriss
TPCM = Touch Not, It Works. Clickministrators. - Richard Harrison
I think a more appropriate English localization is "If it works, don't fix it" - Konstantin Naryshkin
[+26] [2010-05-10 12:37:22] Dror Helper

Over oriented programming - using OOP to do evil. five layers of inheritance where only one (or none) will suffice.

See the previous "Baklava code". I like your term. - rursw1
I call that object-obsessed programming. - Ferruccio
(8) I call that Java. - WTP'--
[+25] [2010-05-10 21:11:37] ben lucchesi

fuXOR, pronounced fuckzor


Used to describe broken logic statements, such as

if( x == 1 && x == 2 )...

+1 clear and concise. nice. - John K
(6) ... when they're in C++ with overloaded operators and actually work. - Fraser
(8) There's no such thing as "XAND". - Michael Madsen
(22) Haha, XAND - A and B, but not both ;) - DisgruntledGoat
(8) Loving XAND. I have this mental picture of some poor maintenance programmer reading through pages of increasingly WTF-inducing code, finally seeing an expression containing XAND... and realising that his efforts are in vain because the badness is just too strong. - j_random_hacker
(6) Most Languages have a XAND function. it is usually called FALSE and you can leave off the arguments... - Matthew Scouten
[+25] [2010-05-11 20:57:32] Saftschleck


Term to describe insane nesting of data in various formats, usually stored inside a relational database. Hence creating an abomination resembling the stuffing of a chicken inside of a duck inside of a turkey.


A database text-column containing a list of pipe-delimited name/value pairs with the values being PHP objects as serialized strings.

SELECT options FROM filterfield WHERE id = 123;


foo=bar|options=a:4:{i:0;a:2:{s:5:"title";s:13:"Kids + Family";s:7:"options";s:128:"Amusement Parks...

Another example is how several wordpress plugins store their configuration options as serialized PHP array in the "wp_options" table.


Like config data submitted as JSON, then converted to XML, to be stored in a single database field? - RMorrisey
[+25] [2010-05-14 22:16:25] Neil Whitaker

ship in a bottle - an API that is so over-simplified that it is painfully complex to use.

To see an example of this, take some well-written polymorphic code, remove all the derived classes, and put a state bag in the base class that holds all information that used to live in the derived classes. For extra points, store the state bag as an XML string.

For an extreme example of this in hardware, imagine a remote control with only one button that requires you to enter commands in Morse code.

Sounds like you have some collected garbage objects. - Jeff Meatball Yang
[+24] [2010-05-14 20:39:22] Matt

notwork - n. a network in a non-working state

Can't claim original credit but it's stuck around with us for years.

Reminds me of "Packet Over Air" from pre-wireless times. - Andrew Grimm
Reminds me of my ISP :)) - Andrei Rinea
I always call that "netdoesnt" -- usually when the network is slow for some reason. - Jon
(2) There's also the "nyetwork". - Stuart P. Bentley
[+24] [2010-05-17 04:04:19] schemathings

Committing hairy query

An act of suicide caused by many nested sub-selects, unions and joins.

Actually I just use the term when I let other people on my dev team know the SQL is getting deep.

[+23] [2010-05-10 05:57:42] community_owned


When you submit code, without proper testing, to get pushed with someone else's build.

(4) Wait one second... Is that 2 guys? Wouldn't that be called brokebacking? - Evan Plaice
[+23] [2010-03-14 23:44:36] kyoryu


Using some "blessed" terminology, technology or API to do something generally considered a bad idea, but give it the appearance of respectability. Generally done when the developer in question does not understand why the underlying practice is considered poor, or lacks the knowledge of how to avoid it.

Example: "Most uses of the Singleton pattern are just silk-pursing a global."

Example: "I know we're supposed to throw our own exceptions, and not the underlying ones, so we'll just wrap everything in a MyProductException."

(2) I like this! Saying 'Singleton' is so much classier than 'Global Variable' - Brian King
Or "polishing a t---" - Warren P
[+22] [2010-03-03 17:42:02] Daniel Moura

Ajah for Ajax when it is using HTML instead of XML.

(9) Surely therefore most AJAX is actually AJAJ (using JSON)? - stusmith
or ahaj if you use the microformats pattern. - Breton
(6) doesn't the X in AJAX stand for XMLHTTPRequest? - Rob Fonseca-Ensor
(4) Also refers to one of the sorceress factions of the White Tower in the Wheel of Time - RMorrisey
(5) X in AJAX stands for XML... - Finbarr
(1) @stusmith: Ahem, I think you mean JAJA. Javascript And JSON, Asynchronously. - DisgruntledGoat
=)))))))))))))) - Andrei Rinea
[+22] [2010-03-19 18:05:43] Beta

Bucket Variable: a capacious variable, usually with a complex internal structure, that is used to hold everything. It makes argument lists much easier to write. It is passed around from function to function, sometimes by value even when it isn't modified, sometimes by reference even when the modifications shouldn't be saved. The things in it can be completely unrelated, used by different functions but accessible to all. And of course there are no safeguards to protect any of the fields, it's just all mixed up togezer in a bucket [1].


AKA the God variable.... - RCIX
We call them gift baskets. - Warren P
Qt's QVariant is an excellent example of this. - iconiK
There is already a technical term in computer science for this concept. It's called a "variant". - superbatfish
You just create a giant XML variable that holds the entire system state, and have a single recursive Main function that accepts that variable. This is of course the next evolutionary step in perfecting the 'entire codebase is this one file' situation. - Mark Robbins
[+22] [2010-03-21 21:23:21] John McCollum

Flux Capacitate

When a piece of jargon is used to confuse someone who really has no business asking a particular question.

(1) Kind of like incapacitate through confusion? - John K
(5) Something like, "I'm sorry, you can't have that feature because the server's left reticulator won't be able to handle it." :) - John McCollum
(2) And of course, the inspiration for this term: - John McCollum
[+22] [2010-05-11 13:40:07] Gabe


The fear of coding on a dinky monitor that has no screen real estate.

I felt this on my 14.1" laptop, years ago - Vlagged
Someone I know was tryng to use visual studio on a netbook, now that's some claustrocodeia! - Gabe
(3) can I has visual studio on my ipads? - SliverNinja
[+21] [2010-05-10 16:59:43] mjterave

Defactoring - Cleaning up code by deleting loads of unnecessary garbage.

[+21] [2010-05-11 16:03:00] Mircea Nistor

Binary Comment Debugging (BCD) - recursively commenting half of the suspect code until the bug disappears. A method usually used in late night coding sessions close to a deadline. Only works on obvious bugs and is usually used when the mind is on autopilot.

(7) I call this "bisection debugging". - detly
(3) Could also be called "binary chop debugging" - finnw
(1) Debugging by bisection is really useful in writing LaTeX code. - bjarkef
Like Binary Chop - peterchen
[+21] [2010-03-16 19:08:21] Seth

Impediphile - Someone who codes in such a manner as to constantly cause impediments to others work. Coined by someone at my office, not me.

(1) Ohhhh, nice. But could also mean one who loves impediments. - Charlie Flowers
@Charlie Indeed. A better term would be "impedigen". - CPerkins
[+20] [2010-03-16 21:41:51] Wexxor

Agent. I didn't actually invent it, Carl Grundstrom did. We were discussing what to call the little programs that were part of "Security Toolkit/UNIX" version 2.0, that would rattle around a UNIX system (remember UNIX?) and decide how securely it was configured. I said something about the program being a spy, and Carl jumped to Secret Agent, then Agent. This was early 1992, and I haven't seen any earlier references to agent-based computing, which is really common NOW.

+1 There's a nice piece of history. - John K
(1) @Wexxor I thought this was something coined in AI programming, but I don't know for sure that it predates 1992. - AaronLS
(2) I found a reference to R. Milner. Processes: A Mathematical Model of Computing Agents. Colloquium in Mathematical logic, Bristol, England, North-Holland, 1973. in a Carl Hewitt's 1977 paper on the actor model, in which he describes actors as a kind of software agent. So it was in use as to describe the theoretical concept much earlier. Earlier than that you really have to go to a university library and do a paper search. - Pete Kirkham
(1) I just read in CACM that Robin Milner died in March. - Pete Kirkham
(1) Are the 'agents' in Matrix inspired from this? - Crimson
@PeteKirkham: thanks, that's an interesting note. Neither Carl nor I were aware of this paper at the time, we were just kicking around ideas of what to call these subversive little programs. - Wexxor
[+20] [2010-05-10 04:45:56] superoptimizer

Bug farm, as in, "Man, every piece of code he wrote turned into a bug farm.", or "That's a hell of a bug farm – we probably end up fixing two bugs a month in that code."

[+20] [2010-05-10 19:54:45] Sean Madden

FrAgile Development: The process of taking an existing framework that performs its required task very well and is well tested. Then throwing it out the window and rolling your own implementation. This process is repeated until the software has become such a kludge that someone suggests using the original framework in the first place.

It's a vicious cycle widely observed at Rapid Development Weekends at RIT's Society of Software Engineers.

(6) Yeah, like writing your own JSON parser. - Matt Olenik
I always link Fragile to poorly understood implementation of Agile methods. - Jonathan
[+20] [2010-05-11 15:23:18] Roger Alsing

SpongeBob developer

A developer that happily hacks away without a care in the world what happens to the codebase often to the sound of "la la la".
alt text

[+20] [2010-05-10 21:50:34] Jens Roland

'Outsourcing it'

These days, this term is used at my office to describe the act of taking some freakishly elusive bug that's been pestering you for hours and just posting it to StackOverflow, going home, sleeping off the frustration, and getting back to work the next day to find a perfect solution from the internets.

(17) I thought that's called crowdsourcing. - deceze
(1) It is. Like most other phenomena in this thread, you can call it by many names. We wound up jokingly calling it outsourcing, which is why I mentioned it. - Jens Roland
(2) yep crowdsourcing it is. Although it might get tagged with "homework". - Andrei Rinea
I usually do this while in bed on my phone. - ultimatebuster
[+19] [2010-05-12 00:54:14] Frank Schmitt

Hillbilly Namespaces: using the same prefix on all functions/variables/table names for a particular module rather than putting it in its own namespace. Used when the environment doesn't have namespace support, or when the programmer doesn't or didn't know how to use them.

Flock of Geese Code: A series of deeply nested conditionals where exceptions, return statements, or even gotos would be more appropriate.

(3) +1 for the mental image of bracketed code aligned with formation of flock of geese. Neat. - John K
I've heard the terms "Smurf Naming" and "Batman Programming" for Hillbilly Namespaces. - sal
(6) Whereas Hillbilly inheritance would be where one class inherits from two classes which inherit from the same class. - Andrew Grimm
[+19] [2010-03-16 20:59:27] Andy Manoske

GUI-Licious: Software designed to feature a plentiful (and sometimes unnecessary) amount of graphics in order to subsitute form for function in an user experience. "I added 20 modal dialog boxes because I felt like it would make it look more like a real Microsoft program.

Black Magic Hacks: To use a seemingly inapplicable algorithm or otherwise out of the box method to design a solution that uniquely and effectively solves a problem. "I used the postfix-infix algorithm to create hierarchal XML parser! It was total black magic hacks

Dropping Algorithmic Bombs: To design a program using arcane or esoteric algorithms to great effect. I dropped serious algorithmic bombs when I used A Star to calculate Nash Equilibrium

Total Hack Job: A quickly-written program that substituted quality for time to market/speed in delivery, performance, etc. I needed to submit a diff super-quickly, so I wrote a total hack job that's probably going to have race conditions up the wazoo.

I've heard all of these before... but they are good ones. - Hogan
Instead of Black Magic Hacks, I preffer Hax, or Haxes, as it's pretty close to hex (which is like a curse), and close enough to hack. - bug-a-lot
I use "Black Magic" to refer to anything touch Boost.MPL/Spirit/Statechart - KitsuneYMG
"black magic" fits better. - HuseyinUslu
One of our hardware engineers used to talk about "Snowman Magic", and that's ended up being applied to the Black Magic Hack code too now. - AAT
[+19] [2010-03-03 17:46:07] Jarrod Roberson

Configuration Programming / Programmer - someone that says they are a programmer but only knows how to hack at configuration files of some other pieces of software configuration to make them do what they want. Apache config files are a good example. Being able to hack at a mod_rewrite config doesn't make you a programmer. Much like hacking at Spring/Hibernate/etc config files isn't programming either.

jQuery widgets... - Mike Robinson
(4) That seems more like just a description of what they are rather than an actual term. - Jeff Davis
I think hacking at Spring config files is probably just as much of programming as any other sort of glue code... - kyoryu
I've picked it up here, but earlier today I used this term to describe a guy who does "programming" by searching for the appropriate parameter to specify, for an API call, for every problem he has. - bart
Heard of someone who's earning over $100K Australian a year this way... (not his fault - his workplace doesn't want people changing actual code for security reasons) - Andrew Grimm
Configrammer might be a better term here.... - lunchmeat317
[+17] [2010-03-03 00:08:06] Bob Kaufman

Tired RAM Syndrome

After your Windows computer has been running for some time, and something breaks due to cumulative memory or resource leakage, requiring a reboot.

(2) @Bob Kaufman: +1... This one never ceases to amaze me. On a correctly designed OS this cannot happen. Windows and OS X both suffer horribly from this (don't get me wrong: I love Macs and I've three of them here). My Un*x workstation (not OS X) regularly reaches months of uptime (I only reboot it for critical security patches and they ain't very common on well designed OSes ;) even tough I constantly pushes it's limit (using it to do number crunching, running several Java apps, etc.). - SyntaxT3rr0r
(24) I usually call this "memory leaks." - Jeff Davis
You mean "Why is this computer going so SLOW?! GRRR" face-in-palms syndrome? - Nick Bedford
makes it more human, though... - Andrei Rinea
This is related to "Windows Rot" - rlb.usa
On many systems - old style mainframes and minis, as well as Windows etc I have always known this as bitrot - not coined by me. - Chris Walton
(1) "Windows and OS X both suffer horribly from this" -- really? How does OS X suffer from it? I leave it for weeks of uptime, and never had a problem. I use all the usual programming stuff (Vim, XCode, MAMP, VMWare, terminal etc) plus a bunch of multimedia stuff (Photoshop, Logic, Reason) etc, day in day out. And most folks I know just close their laptop lids and never log out, with similarly no problems. - foljs
[+17] [2010-03-13 18:40:39] GmonC

IOP - "Insistment" Oriented Programming

It happens when the developer keeps compiling a program (or changing a script) over an over, after really small modifications (like a single line or a single variable), and runs the program to see if the modification works instead of trying to really understand the problem to fix it.

I sometimes do that when trying to figure out whether to use min() or max(), +1 or -1, sin() or cos(), etc. :P - Bart van Heukelom
(29) I am pretty sure that is a valid debug technique. - Jeff Davis
(1) Lazy debugging, for sure. - rlb.usa
(10) F5 is the new CTRL+S. - Nick Bedford
(4) @Jeff unfortunately I have seen people do this who didn't want to take the time to understand the program they were debugging, and they only managed to hide the bug and cause more bugs because they didn't know what it was they were actually changing. - AaronLS
@AaronLS: Yep. They keep "insisting" in modifications until the code section "magically" works and they stop programming. - GmonC
(1) Can work if you make stupid makes like capitalization on vars, and such. I used it to good effect in PHP. - DeadMG
(1) @AaronLS: If I know only 4 values are "valid" and only 1 produces working code, it is often faster and easier to try all possible values than to read the sources of 3rd party libraries 4 abstraction levels deep or spend hours on Google searching docs for this one half-documented parameter. - SF.
(9) This is also referred to as "trial-and-horror". - JesperE
(1) @SF That's exactly what I'm talking about. If you're not sure the functionality of that value, other than it makes one bug disappear, you can't be certain of what other side effects it might be introducing, which might not be apparent initially until later in production when the right scenario is present for that parameter value to apply, which presents itself as a new bug. - AaronLS
(1) Another way to look at it is that it's bogoprogramming. - CPerkins
I'm afraid this is something I have done before. Not often though, and not lately. - Jack Leow
It is funny the way you described it...but yeah I have used it... - VoodooChild
(1) Nice naming - I've been calling this one Brownian Debugging (after Brownian motion in a gas - basically a random walk of minor alterations). - Kim Reece
@JeffDavis: I agree, it's fine to use trial and error to find the source of a bug; obviously you're not just going to submit the code once you think the bug isn't there, but that should help you to understand the real problem - Juan Mendes
[+17] [2010-05-19 14:06:05] bucketmouse

Fairy Magic - The type of work applied to a task that's long, grueling and just complicated enough that writing an algortihm to do it automatically would take longer than doing the task itself. Refers sarcastically to nonprogrammers' assumptions that everything done on a computer is done by the computer rather than the person using it. Etymologically derived from a large 'Fairy Magic-Powered' windmill in The Legend Of Zelda which only spins due to slave labor.

"Wow, all 11000 rows of the the database are clean! How'd you do that?"

"Fairy magic."

We use "pixie dust" - Jonathan
(1) ...Which Zelda? - detly
[+16] [2010-05-23 23:12:36] Jake Petroules

Coffee Coder

An inexperienced programmer who was taught Java in college and doesn't know anything about pointers or memory management. They stay up all night coding Java and think Java is just great; the only way to save them is to teach them C++.

(3) Very well said. - John K
The only problem they've got is that they're using a compiled language! - Andrew Grimm
(8) Pointers. Blah. Too low level, teach 'em Haskell instead. - Juliet
c++ rules. truly. - iamserious
(4) Codes for Memory Management for every single software you write. I think it's called Reinventing the Wheel in programming. C++ers need to learn about Software Reusability. - βнɛƨн Ǥʋяʋиɢ
Teach them assembly first. - WTP'--
[+16] [2010-03-01 02:35:13] JUST MY correct OPINION

Sonic - A manager who is so clued out that you wonder if he's actually plugged into the same reality you are.

The name stems from a passage by Douglas Adams where he goes on at length about how certain kinds of madness should be easy to sort out. The provided example was someone who thought he was a hedgehog, a form of madness that was ostensibly easy to point out the flaw in: "Here's a mirror. Here's a photo of a hedgehog. You sort out the difference."

A Sonic (named after the video game hedgehog) is someone who'd take the mirror, take the picture and say "Yep, that's me alright!"

[+16] [2010-02-27 23:37:05] Danny Varod

.NET sandwich - when .NET code called native code which calls other .NET code and makes the poorly designed application crash.

(11) You did not coin that. - jrockway
I've never heard or read either term before, which term are you referring to? - Ok, found it on Google with an alternative spelling, edited to remove that term. - Danny Varod
Wow, then we have some nice JNI sandwich in our code. - G B
I've done this a few times, but never had any issues with it. I always like looking at the stack traces in VS (especially if it's cross-app-domain), they're usually scarily long. - Fraser
It depends on how bad the filling is (e.g. what incompatible 3rd party frameworks it is built on). - Danny Varod
[+16] [2010-05-14 17:36:43] DevSolar

Programmer DNA.

(Do. Not. Assume.)

Look it up in the docs. Write Asserts. Ask your coworkers. If there is as much as a spec of doubt, check it.

It's something that should be in the "DNA" of every programmer, ingrained so deep that they can't sleep well if they based even a line of code on an unchecked assumption.

Those assumptions can lead to horrible mutations, you know...

[+16] [2010-05-11 00:45:32] John Rutter

Rocket Surgery As in 'It's not rocket surgery'. We have so many non-tech people telling us it's not 'brain surgery' or it's not 'rocket science' we had to come up with our own term for simple.

Is that MacGruber style rocket surgery? - John K
(13) When we were creating simulations of the AMRAAM missile, the 'rocket science' parts were the easy bits - the laws of physics don't change as often as the user's gui requirements. - Pete Kirkham
I think I'm gonna start saying "It ain't Brain Science!" - Brandon Moore
[+16] [2010-05-11 03:55:23] Brian Fenske

You're not holding the mouse right

When someone shows me a problem they are having and I don't have an answer for them, I just say "You're not holding the mouse right".

(2) AKA: "Click harder!" or, "Pensive click detected" - slf
(1) I once had the misfortune of trying to teach a user who couldn't hold the mouse right. I gave up, after two or three attempts to convince him to click the left mouse button, instead of the right button. - RMorrisey
@RMorrisey. Answer: 1-button mouse. :P - Bored Astronaut
[+15] [2010-05-13 10:59:04] JBRWilkinson

Wrong Finger Error

What gets written in a bug report for our touch-screen software when manual testing cannot reproduce a problem and the developers are too tired to care anymore:

Tester: Module X doesn't work properly.

Developer: Show me the steps you're doing to test it.

Tester: I touch this, then that, then...oh wait, it works now.

Developer: Which finger did you use to touch the screen?

Tester: Index finger on my right hand.

Developer: There you go - you must've used the wrong finger earlier.

Tester: Oh.. right..

variant of "click harder" and "tap harder" - Nicholas
[+15] [2010-02-27 23:37:50] polygenelubricants

Not really a jargon, but I don't actually spell out "A-P-I". I just say "ah-pee".

(6) but if you pronounce it that way it sounds like you are getting ready to hit the bathroom - Woot4Moo
(62) Hardcore programmers use catheter bags. - polygenelubricants
(4) That is how latin american programer say it. Ah pee. - DFectuoso
(5) @polygenelubricants - Hardcore programmers also refuse to eat on time when someone calls them. They have to finish something up before they feel comfortable to eat. Oh, sometimes they even do not eat! :) - Leniel Macaferi
(1) Ah, pee.. _ _ _ _ _ :) - mlvljr
(8) Most Dutch programmers say that too. Funnily enough it also means little monkey. - Bart van Heukelom
(2) Spanish programmers also say it this way. - Lluis Martinez
(4) German and Russian programmers say it that way too. - styts
(1) so do greek programmers.. - Gaby aka G. Petrioli
Wait till you hear some italian say Pee aka Pee (PHP) - Midhat
Other pronunciations: .cshrc,.kshrc, .bashrc : "c-shark","k-shark", "bashark" - Andrej Panjkov
[+15] [2010-03-15 18:41:23] javacruiser

I.D. 10-T error

i kept hearing this at a review meeting a month ago. its kinda funny - i did not realize what it meant til a peer told me to write it down (just take out the all periods and dashes.)

it's self-explanatory i guess. :)

(1) I was trying to sound it out like an idiot to no avail. Then after spelling it out like you said I realized I just made one! - John K
(30) The ID10T is common jargon in the military, usually when somebody new to the military shows up, their first day is going around trying to figure out where to get the ID10T form to fill out... - Bryan Rehbein
Thanks for heads up Redbeard... ;P - Nick Bedford
Yeah I heard this alot when I was in the Army. - John Isaacks
(3) Clearly, you didn't invent it (which is what the question asks.) - whybird
(1) Sounds like a chair-keyboard interface failure, to me. - Will
(1) An old helpdesk app I used years ago had a nifty resolution option for a ticket: 10 USER ERROR. Seriously. We used it, too. There's also PEBCAK. Problem Exists Between Chair And Keyboard. This one works out loud a bit better than ID 10 T. - staticsan
Thanks Redbeard! my boss must've been from the military. =) - javacruiser
[+15] [2010-05-19 21:22:48] alexander.biskop


== Code that looks like someone opened Notepad, barfed into it and hit save.

I like to use this term to describe code with messed up formatting (or no formatting whatsoever). Also applies to code which does not follow any kind of naming/capitalization convention (not even an uncommon/discouraged one) - capitalization appears to be completely random.

In case of HTML code, its mostly "working" but always invalid and malformed (according to Web Standards) see: Tag Soup @ -
I really like this one! +1 ;) - Andrei Rinea
(2) In other words, all examples of PERL code? - ircmaxell
[+15] [2010-05-22 00:09:41] Randal Schwartz

Highlander - when a solution requires a singleton of some kind, such as a single running process, or a single instance of a global... There can be only one!

I first used it in, and it got spread from there. I've even heard it quoted back at me by someone who didn't know I started it. :)

[+14] [2010-05-19 06:35:36] Rafal Ziolkowski

I go to ask smart guy - when You go to bathroom to re-think some idea...

I've never understood why you seem to get better thoughts on the toilet seat. Or why do you immediately have to go to the toilet when you've just got a great idea. - Indrek
I think it has something to do with fact that when You go to toilet, then you relax yourself and stop looping through your current problem. Then suddenly you realize: "Oh, how stupid I was by doing it this way..." - Rafal Ziolkowski
(2) we used to call this the "Inspiration Booth" - Chris Ballard
[+14] [2010-05-10 05:53:47] Charlie Flowers

Prefactoring -- When you say to a co-worker (or when a co-worker says to you), "Hey, you know that code you were gonna write this afternoon? Yeah, uhm ... why don't you let me take care of that instead? Don't you have some errands you need to run?"

[+14] [2010-03-28 02:20:25] hdx

IEssues for IE issues :P

(1) tIEssues? for those issues? - Thqr
(5) I usually just use a randomly selected expletive - RMorrisey
(3) @jdk: Not enough pins in that picture. Or flames and the screaming of lost souls tormented by demons. IE merits all that and more, especially for its death-grip on managers' goolies. - Donal Fellows
(1) Hopefully this will go away in IE 9 :) - Andrei Rinea
(1) Should have gone in IE2 :) But I'm too all about thinking positively :P - hdx
[+14] [2010-05-11 16:02:19] Kaz Dragon

Error Message Blindness For those compiler and linker errors that colleagues can't handle until you read the error message out loud to them. Related to Popup Message Blindness.

I have that! especially when the program gives 1200 (not an exaggeration) warnings that aren't actually a problem... - Brian Postow
To some people this seems to be an incurable disease. - R. Martinho Fernandes
Could referee to "Errant error, nothing bad happened" :) - Rafal Ziolkowski
[+13] [2010-05-18 16:23:44] Matt Shooks

Electron Heaven

Where you unsaved code goes when your IDE or PC crashes.

(3) No Silicon Heaven? Then where do all the calculators go? - Andrew Grimm
Just fantastic! - Fábio Batista
@Andrew Grimm They don't go anywhere. They just die. - Mr_Chimp
[+13] [2010-05-14 15:58:53] Juliano

Brute force programming

When a (generally clueless) "programmer" tries every sequence possible and imaginable of instructions and blocks of code in order to get a working program that does (or seems to do) what have been asked. After a few hundred iterations, they manage to get more or less a working solution and call it finished.

I teach some Computer Science classes, and this term is specially applicable to those undergrad students who managed to get into a CS course, but really do not have aptitude to be computer scientists at all. They lack the abstraction skills to understand how a program is written.

It is an allusion to brute force attacks [1], used to break encryption by trying every possible sequence of bits in the key.


In french, we say "Bête et méchante" which rougly translate to Stupid and Evil :) - David Brunelle
a.k.a. "bigger hammer" - harpo
Very nice. I this this is the same I call this experimental programming, but "brute force" is even more descriptive. Cf . - Suma
[+13] [2010-05-09 22:22:03] WishCow


When it turns out a singleton is just not enough.

I see one of these coming. In fact the original rule that made it a singleton is about to come in handy when I think about why the singleton rule was written. - Joshua
(1) more than three and you get a cattle market. - Pete Kirkham
[+13] [2010-03-01 01:06:36] Matt H

Instead of a simulator, we have something called a stimulator (the other end). One of our customers actually came up with it by accident, although he doesn't know it yet. Lets just say, he has an accent and we were sure he referred to our "stimulator".

(34) On second thought, I just won't ask. - Steve Tjoa
(4) Same reason we sometimes call our software versions "wersions" now. - Bratch
They must be a really good customer. - kenny
Very common for a stub which injects test messages into a system - Pete Kirkham
(2) Let's hope this answer doesn't get a picture... (I jinxed it, didn't I?) - Andrew Grimm
(1) Enemy wessel within range, captain. - Warren P
Enter authorization code 95 wictor wictor 2. - RMorrisey
[+13] [2010-03-02 23:45:54] Phil

Delsert- Delete all previous listing then repopulate with new.

Here [1] is a blog post.


we use UPSERT for either updating or inserting depending on what is required. - Randy
That's what MySQL does for a REPLACE statement - bart
@Randy and @Bart. Well, this is not a MySQL replace. Delsert deletes all previous entries and populates with new entries; it does not "replace" anything per se. For example, lets say on Decemeber 31st 2010, you have two list of cars in a lot, 2010 cars (in stock) and 2011 cars (coming in on January 1st 2011.) You cannot sell 2010 cars as new on that date, so you delete ALL 2010 cars from the new-car database and replace them with 2011 cars. You are not replacing but doing something like an upsert involving deletion. Ignoring the lack of grace of the example, do you get the point? - Phil
@Phil, Link is dead - Muhammed Demirbaş
[+13] [2010-05-21 09:11:23] Macke

Code clam (or 'kodmussla' in Swedish)

Refers to a developer who refuses to commit (or push his commits) to the shared code server regularly. (The reference is apt since the clam is usually kept shut, and doesn't open unless some pressure is applied.)

Such practice usually ends in merge hell (for said devloper, then testing for everyone else, since he or she isn't up-to-date with the latest behaviour and likely introduces new bugs with their mammoth commit). Unless, of course, they've been pulling/updating/merging on their local computer.

We almost decided to buy a fuzzy toy clam and award it on a regular basis to the last week's (or last month's) Code Clam Developer.

[+12] [2010-05-19 07:31:59] JD.

Basil - We were banned from saying 'Fail' in the workplace as it was demotivational, and against company policies... And one employee in particular (who made it onto the Fail board exclusively when we were allowed that) complained to the manager.

So, unbeknown to our boss, we changed the word from Fail to Bail, and then because we already used Bail when we wanted to 'Bail out' of somewhere, it was changed to Basil.

This went through a few of our sub-companies, and also through companies who ex-employees joined and now we refer to a 'Fail' as a 'Basil'...

To this day our boss is unaware as to what a 'Basil' is... but still 'Fail' is banned...

(7) You should watch Fawlty Towers. - detly
(2) How do you pronounce it? BAY-zil? BAA-zil? - Syntactic
@detly exactly what I was thinking, esp. if they use @Syntactic's second pronunciation. - dash-tom-bang
The second one... As per Fawlty Towers :) - JD.
@JD: I'm so stealing this one - Dinah
(6) I once worked somewhere where the word 'Problem' was banned because every 'Problem' was an 'Opportunity'. There was much snarking: "Better call a plumber, there is a bathroom Opportunity". "Houston, we have an Opportunity" - Matthew Scouten
@Matthew:That sounds like my current boss... Sure is frustrating!! Especially seeing as there are so many 'Opportunities' and the real 'Opportunities' get a band-aid fix and not a real one! - JD.
[+12] [2010-03-13 19:01:18] Rickard von Essen

String typed

Referring to a code module or framework that only uses strings in its interfaces even though it is implemented in a OO language and handles things that have obvious benefits of using classes (such as IP addresses, cars, references to other object, etc).


A misspelled check in comment "Fixed a borken merge" is now standard jargon for small faults.

Line Programing

For code that is written like the worlds longest Pascal program despite the OO language, everything in one method, with random flow control and error handling. The nightmare case of this in our office is a 9k lines Java class with 5 methods containing regions of some hundred lines copy pasted all over it.

(2) RE: borken--this? - outis
Wow, about Line Programming, your scenario sounds like a complete procedural program stuck in an object wrapper for the helluvit. Impressive indeed. - John K
@outis Oh haven't seen that. We also realized the one of our (seldom) used servers where named borken. - Rickard von Essen
@jdk Yes it was impressive to see, I was amazed that it actually worked in a few cases. They must have spent months on that. - Rickard von Essen
(3) Bork bork bork! - Erik Forbes
"Borken" has been around forever. I usually spell it "b0rken", though. - Daniel Pryden
I usually use the form 'borked' - KitsuneYMG
b0rk3n B-) sounds cool. - Andrei Rinea
[+12] [2010-04-22 17:36:38] rlb.usa


To make a data-entryist happy (by adding Tab-Indexes to a form).

(1) tab index, anyone? - Andrei Rinea
[+12] [2010-05-10 21:36:43] tylerl

"It Compiled"

A defense you supply in jest when someone points out an obvious mistake in your code.

It's reference to a former employee who was the sort of programmer that people talk about for decades after. This programmer submitted for final review some extensive changes to a core application, which due to some serious bugs he had introduced, failed to even launch.

When confronted about the results of his testing prior to submitting his code, he looked confused for a second, and then responded, "well, it compiled." Apparently the struggle he underwent with the compiler to get his code to even build was so extensive that he assumed that he had fixed all of his bugs when it finally actually compiled.

Reminds me of Haskell :D - Chris Wong
[+11] [2010-05-10 19:30:23] mindas

Bukazoid documentation pattern for when people try to cut corners when documenting the code:

 * Bukazoid manager is a manager to manage bukazoids.
public class BukazoidManager extends SomeOtherClass {

This is especially annoying when you are trying to grasp someone else's code (why is the class here? What functionality does it cover? Why does it extend SomeOtherClass? Is it thread safe?, etc.) ...and all you find are some meaningless words.

Also used to shut StyleCop up when it insists that the most obvious things (such as "Id") be documented. - Fraser
I've certainly seen this style of doco but why "Bukazoid"? - andyjdavis
"Bukazoid" is just some funny obscure name that you have never heard of. So is your next class you will be looking at and trying to understand. - mindas
[+11] [2010-05-10 12:33:03] Dror Helper

Trynally - a Try..Finally block:


Invented by @ohadh [1]


I've used this term too +1 - sal
try anally =)))))))) - Andrei Rinea
Just an FYI - don't do this in JavaScript if you need to support IE6 - the finally will never run... - scunliffe
[+11] [2010-05-14 18:28:31] MicroCheese

ManHunt. The process of finding the person responsible for bad code.

aka "blame" from VCS systems - Nicholas
[+11] [2010-04-30 23:59:29] outis

Sextuple-u (or, for those of puritan or mixed greek-latin descent, hextuple-u)

Not so much a term as a pronunciation of "www". Arguably not programming jargon, as it's useful beyond web development.

What about 'we we we'? - WTP'--
[+11] [2010-03-13 19:25:10] mgroves

Not a specific term, but where I used to work, we always used ColdFusion as a sort of placeholder for some technology/language that's esoteric, out of date, not mainstream, etc.

We also used Atari Jaguar Emulator as a placeholder for a futile personal project that someone would work on instead of something more mainstream that would provide actual value to society/customers/etc.

Also, we used Dreamcast Browser as a general term for an obscure browser in discussions about whether to support one feature or another.

(1) I actually used the Dreamcast browser exclusively for a week when I didn't have a computer. It wasn't too bad, despite its low resolution & lack of a keyboard. IE6 has given me much more trouble. - Fraser
(1) I tend to use toaster to refer to weird machines/browsers "no one" uses but force us to act specially to support them. Oh, and for IE6 too. - R. Martinho Fernandes
[+11] [2010-03-03 22:46:59] Matt S.


-To code in your recliner

(4) Oh damn, I want one of those stands! - Daenyth
I have the feeling that chair wasn't mane for that guy. It looks like a double-wide with extra cheese. - Evan Plaice
[+11] [2010-05-19 02:41:22] DarenW

Macaroni Code

You know what spaghetti code is. Sometimes in badly written OO code, there are so many short methods of only a few lines, but only a convoluted path of execution challenging to follow, weaving in and out of various classes. It's like with spaghetti except the pieces are much shorter.

Rice Code

If all the pieces are very short, e.g. almost all the real action is in one-liner methods inside a messy OO hierarchy. (It's not pasta, but still is starch.)

If method and classes has proper name and the code is well structured, maccaroni code is indeed a good practice. The ocde is very explicit due to clear naming, and really easier to unittest. If you are messed up with many short pieces of code, it's probably beacause you and/or your team is doing it wrong. - deadalnix
[+11] [2010-05-26 12:59:29] Adam

Architectural M*sturbation

Code that has no real world value, other than to entertain the ego of the developer that wrote it.

I think that's called "esoteric"!? - Hinek
[+10] [2010-05-21 08:55:26] ponzao

LDD - Layout Driven Development

The developers are given PDFs which show how a page should look like. There is no text describing any functionalities. In the extreme form of LDD the developers are forced to copy-paste graphics contained in the layouts into the actual end product, doesn't matter if they are in scale or not.

I don't remember who invented this acronym in my previous company, but it became quite commonly used.

[+10] [2010-03-15 00:18:47] Jerry Rubin

In our DOS app in 1981 we coined the phrase interstitial programming to mean pre-processing while waiting for the user to make a choice. Interstitial is a medical term meaning between closely spaced. We would guess which F-keys the user was most likely to select in any given circumstances and preprocess some of the responses.

(2) Sounds like branch prediction. - JimN
(3) It doesn't mean closely spaced, it comes from interstices or 'places in-between'. - Pete Kirkham
In (computer) chess, this is referred to as Pondering. I've used it in this context in the past :) - Thorarin
[+10] [2010-03-16 19:15:13] knight666

De-demoscene. Refactoring code written by someone who thinks it's hilarious to have obscure or one-letter variable names throughout his code, even in public interfaces.

I like that java lets mu use '$', '_', and just about any unicode character as an identifier. $(_,$,_(),ſ(ſ)) FTW - KitsuneYMG
It's fun trying to write down a set of rules for exactly when you should use single-letter, meaningless identifiers (the obvious example is of course loop indices, but there are a few other places where "meaningful" names just get in the way, but good luck trying to articulate what they all have in common) - Zack
The demoscene is known for spectacular 2d and 3d effects, not for one-letter variable names. I think you're confusing the demoscene with fortran programmers. - Alexander
[+10] [2010-05-01 02:04:07] Loren Pechtel

Not specifically programming jargon: Braino--like a typo except it involved a mental process going astray rather than a finger going astray.

(9) I use that one as 'Thinko' - sum1stolemyname
@sum1stolemyname +1, I use "thinko" also, because type and think are verbs. So the "-o" construction feels more consistent than "braino", brain being a noun and all. - CPerkins
I've heard both thinko and brainfart. - Alexander
[+10] [2010-05-18 01:28:58] Kevin Hakanson

Right-Tap or Right-Touch - the theoretical gesture a user does on a touch screen device that mimics a mouse right-click.

I know some UX people that love right-click context menus, and want something similar on the iPad.

because tap-hold is obviously 'context menu' to all of us... thanks Apple. "tap." no dice. "taaaaaaaap." Ah, yes, i really meant it... - Jeff Meatball Yang
(4) tap, long-tap, two-fingers tap, three-fingers tap, double-tap, double-two-fingers-tap, tap-then-hold, three-fingers-tap-then-hold... sigh. And that's still without dragging, rotating, pinching, and tapping while holding... - SF.
[+9] [2010-05-14 17:13:03] MDRoz

TIN Loop - a situation that arises when a programmer makes an attempt to fix a bug by guessing what the cause might be, declares the bug fixed without verifying, and tells the user to "try it now." ("TIN" is short for Try It Now.) Invariably, the user will encounter the bug again and report it to the programmer, who will proceed with the next half-assed guess of a fix, thus repeating the same scenario.

A more specific version of the term is the n-order TIN Loop, where n is the number of "try it now" iterations.

[+9] [2010-05-13 18:10:59] Midhat

Spectagular Expression

A cleverly done, very useful regex

[+9] [2010-05-13 22:59:13] mattbasta


In PHP, reading code is a pain with the $_s and the =>. A team I was on referred to the former as a "dollarscore" and the latter as an "anglesign". Handy!

(1) PHP we're looking at YOU! - Nick Bedford
(3) The latter is called a hashrocket in ruby. - Andrew Grimm
As of C# Lambda expressions, which use => as operator, Microsoft propose: read as "goes to". Ref: -
(1) @Andrew, I don't know why but hashrocket sounds rude... - AviD
[+9] [2010-05-12 15:30:25] Pavel Radzivilovsky

Firm copy, n: a scanned hardcopy, like a raster image of a text. It's impossible to edit or parse programmatically, but is still better than a hardcopy in terms of weight, volume, storage, etc. For images, "firmcopy" may refer to reduced-resolution soft copy of the actual image.

It's analogous to "firmware" as something in the middle between hardware and software. Google seems to know nothing about it yet. I hope it catches :)

Duck: a physical unit (typically, voltage) corresponding to 1 LSB in raw integer data sent to a DAC (or ADC) for further conversion to voltage.

Example - "5V corresponds to 4096 ducks", "Atmospheric presure is 2200 ducks with this sensor", etc

Kinetic hazard: The opposite of "potential hazard"

Perversion: a manual version control system for large data and 3rd party files, that cannot be stored in Subversion.

More here:

[+9] [2010-05-12 01:03:08] Abhi Beckert

We have three types of employee at our web dev company:

  • Pokey — graphic designer
  • Gumby — web developer
  • Blockhead — programmer

"We need to make a gumby-friendy API for this feature"

"Ask pokey to create an icon for that button"

blockhead as in "I am Inwiiincible!" ? - Zeus
[+9] [2010-05-10 18:53:09] Lance May


With all of the LOLSPEKA around these days, a lot of emails have a tendency to go back and forth in this geek-tongue of sorts. Alas, "excepticons" were born, and have been plaguing developers at my company (and now a couple of others) ever since. I even have some non-dev friends that have completely erased "error" from their vocabulary.

Not sure if this is what the spirit of the thread was, but I thought I would ante up those 2¢. ;)

Another reason to ram exceptions down everyone else's throat here in the land of 1996 edition C++! - Zack
[+9] [2010-05-11 15:50:28] EAMann

Automagical - A term used by a want-to-be developer to describe an automated function they don't really understand. Most often used by PMs who think they're really a developer.

(3) Or someone is just jealous all the other programmers manage to use 'automagically' at all the right times... - vfilby
(1) Occasionally, you'll come across a real guru who'll use the term about some code. If they do, beware! Either the guru knows what is going on and wishes they didn't, or the guru doesn't have a clue due to the extreme gnarly-ness of the offending function. Either way, be scared. Be very scared. - Donal Fellows
(1) ... or the guru knows exactly what is going on, and just doesn't want to spend time explaining all the little details that you don't need to know about. Example: If you call the Get<T> method, the DI container will automagically return the correct instance of that interface - R. Martinho Fernandes
I've usually heard automagically used when talking about having the computer perform a task instead of the user. For example "when I select a form these fields should be filled in automagically instead of me having to type it all in." Automatically is particularly appropriate when its a piece of functionality where the computer doing it is likely to impress the user leading the less technical to believe something magical has occurred. - andyjdavis
Isn't this a Larry Wall-ism? I remember it from the old pink Camel book. But it's a great term nevertheless. - AAT
[+9] [2010-05-11 18:02:13] vicatcu

Faith-Based Programming - when you're writing code and you know it's going to take an act of God for it to work, or you're using a technique that "nobody quite knows how it works, but it does" (often related to stochastic algorithms).

[+9] [2010-05-10 04:55:32] Logan

Interociter: A fictional feature added to a specification in order to provoke questions and reveal ignorance. The inclusion of an interociter [1] in a spec will determine:

  1. Whether the reviewers have actually read the spec.
  2. Whether any of the reviewers will admit ignorance about a technology they've never heard of.
  3. Whether any of the reviewers will offer an opinion on the inclusion of the interociter based on their prior experience.

(1) And a way to chat with Dr. Meacham from Metaluna! - vfilby
Paging Dr. Jemima... =] - rsbarro
[+9] [2010-03-22 05:40:04] Martin DeMello

I coined the term "deceptive idleness", which my friend Sitaram Iyer used in his MS thesis on anticipatory scheduling. The paper became quite popular, so the term now gets a fair number of google hits [1]


+1 for clever yet unambiguous wording - Jens Roland
Also, because I'm pretty sure my ex-girlfriend had that feature ;) - Jens Roland
jens: i won't say anything because i'm pretty sure i do too :) - Martin DeMello
[+9] [2010-03-14 23:52:19] kyoryu


A Snergle is a practice followed or advocated by a developer with little understanding of that practice, simply because the developer in question does not want to admit their lack of understanding. "If I don't understand it, it must be good. If I use it a lot, I'll sound smart."

The Snergle is an application of a practice, not the practice itself. Maybe applications of design patterns are in fact snergles, but this does not mean that all applications of design patterns are snergles.

Snergles are different from Cargo Cults in that a Cargo Cult mistakenly believes it understands what it is doing. A Snergle is the result of someone that knows they do not understand the concept, and assumes that means it must have value.

Example: "Why in the world do we have a StringFactory class that takes a string as a parameter? Someone must have been snergling hard."

There are too many terms for this. - Jeff Davis
@Jeff Davis: Such as? I'm seriously curious. I usually use it in a kind of "Emperor's new clothes" way - but with the person not only pretending that the Emperor's new clothes are great, but that in fact he believes that the Emperor actually has clothes, and he doesn't want to admit that he can't see them... - kyoryu
Cargo cult programming is one... - RCIX
Who can forget "Have you tried JavaScript?":… - Kevin L.
A slight variant is when the programmer thinks they understand the practice, but completely misapplies it. - AaronLS
[+9] [2010-03-15 13:44:27] Bruce McGee

User error - replace and retry.

Started using this when I had to help tech support track down issues. Make sure they aren't on speaker phone when you use it.

[+9] [2010-05-19 07:46:41]


When you have a framework or software which actually can do a lot but won't do anything if you don't set up everything properly in thousands of lines of deeply nested XML code (often in one single file, in .NET projects the App.config file).

Deeply nested Config File
Usually you're just able to validate the XML syntax/format but not the configuration logic behind (interrelations etc.) so having a typo in one of dozens cross-referencing configuration items (string keys which might contain whole namespaces) will cause the software just to "not do the expected", but without failure.

[+9] [2010-05-19 09:20:13] Chris Ballard

The Perkov Method - this is a programming style reliant on both in-line pseudocode comments (in its truest form, this will be 4 times more detailed than the actual implementation would be) and on the assumption that someone else will review this code and implement the functionality in their spare time.

Example: implementation of Hello World in the normal style:

class Program 
    static int Main(string[] args) 
        Console.WriteLine("Hello World"); 

Example: implementation of Hello World using the Perkov Method:

class Program 
    static int Main(string[] args) 
        // at this point the program really should be outputting text to the 
        // console. we must take into account 78 character maximum line length
        // and ensure that we use Environment.NewLine for line endings. 
        // ideally should provide multi-region language support and UTF-8 / 
        // UTF-16 encoding. 

This excerpt taken from our team wiki. The culprit knows who he/she is...

[+9] [2010-05-19 00:02:55] Joel Rodgers

Ivory Tower Programmer This is a term for academic programmers who are tucked away in their posh, lush computer science departments. They work on the fastest hardware, don't have to be concerned with end-users, speak with a LISP, and pontificate frequently on the meaning or semantics of a program.

(1) +1 just for "speak with a LISP". I actually had an AI professor in college who actually spoke with a slight lisp, and had the misfortune to have been named Shlomo. - Syntactic
Actually, this type is much more referred to than it actually exists. - Dercsár
[+8] [2010-05-22 00:25:42] deceze

g11n ("globalization", also pronounced gee-leven)


The opposite of i18n and l10n [1]. Opting to use language-neutral elements like a more obvious design or text-less graphics, instead of adding more content that requires translation.

"If we use some g11n here, we can greatly reduce the l10n work and make it more accessible."


[+8] [2010-05-11 00:29:10] Mathias

From Comment, and Crummy, "of little value; inferior; contemptible". A comment that adds no value or hasn't been updated to reflect the code.

"Jimmy's last commit is a solid piece of well-crummented code."

[+7] [2010-05-11 08:42:38] pinkgothic

OutOfLinebreaksException: Linebreaks for Loader.php exhausted. die() has been disabled for your convenience.

This is a very specific one, so I imagine no one can actually relate, but it was gleeful amounts of utter, raw despair for me, hence sharing:

The Story

The PHP Parser is a robust creature that rarely hiccups.

Except when it does.

This is a once-in-a-lifetime occurrence. Apparently I have two lives, because I've observed it getting its knickers in a twist twice now. Let me tell you about the second time.

PHP usually ignores indentation whitespace and blank lines between code blocks - but somehow, when we were updating Zend 1.9.7 to 1.10.3, half our PHP Unit tests broke. I made a copy of the offending file (Loader.php in Zend's autoloading sublibrary), placed the old code in, commented the new code out and was about to sequentially comment back in to find the core of the error when I noticed it was still happening.

  • I did a diff.

The only difference was in comments. I didn't even want to believe it, so I asked two other people to look at the diff and find the programmatic difference for me. They confirmed a lack thereof. I still felt my sanity slowly leaving me.

  • I checked the file with a hex editor.

No broken UTF-8 characters. Well-formed through-out.

  • I took out the comments.

Suddenly it worked again. Cue first manic, despair-driven cackling!

To cut a long story short, I 'narrowed it down' to the amount of linebreaks in the file (without the help of die() which didn't quite want to work in that file anymore). The old file would break just the same if you put more that ~two more linebreaks into it.

To cut to the chase: To this day we don't know what caused it. Suhosin patch? No. xdebug? No. Suhosin extension? No. PHP core? Apparently no, except that's the only thing left to 'explain' it. (Same PHP version on Ubuntu/Kubuntu/CentOS was showing the error, but it wasn't doing it on OpenSUSE; we're not sure if it was the OS or their respective package doing it.)

Our project internal wiki documented the mess and this is (paraphrased) the 'Solution' section:

Depending on your definition of 'solution':

  • There is none
  • Zend 1.10.4

So we had the Exception on our Whiteboard for a while [1]. Much amusement ensued.

The term

Whenever a parser of an interpreted language hiccups, for whatever reason, and elements of the source file that should not matter suddenly do, despite well-formed syntax and no broken characters, any observed changes in logic are to be considered the result of an OutOfLinebreaksException.

(Even if it has nothing to do with linebreaks in that particular parser-tripping-over-itself case.)


JavaScript seems to suffer a lot from this... - R. Martinho Fernandes
"gleeful amounts of despair"?? - AviD
(1) @AviD: You know. When things are so bad you can't help but cry tears of laughter. >.> - pinkgothic
(1) heh, yes - +1 for the hysterical narrative - we've all been there (even if not in PHP...) - AviD
This has happened to me with javadoc comments in the Eclipse IDE. Removing the comment fixed the build. - RMorrisey
I've also experienced removing a comment to make code compile, with early versions of Mono. - Alexander
[+7] [2010-05-10 20:07:47] jasonk

Field Trip Fix The solution to dealing with an issue that is frustrating you to the point of madness. The cure for which is taking a field trip to a local restaurant for a mental break.

Not to be confused with fixes made during a 'field trip' to a customer's site. - Pete Kirkham
[+7] [2010-05-10 19:50:45] jasonk

Kludge Hammer

When you attempt to rewrite/repair a segment of messy, hack code. It's akin to needing a sledge hammer to knock out poorly built walls/structures in a house. Used when there is nothing else you can do but tear it all out and start over.

*"Have you looked at that new module from Tom?"

"Yeah, we're going to have to take a kludge hammer to it to fix it."*

[+7] [2010-05-14 16:09:06] Dan Menes


This one's kind of narrow, because it is specific to interpreted scripting languages that don't have decent debuggers in which you can set breakpoints. Specifically, it came up at my last job where we used Stata a lot. I got in the habit of deliberately inserting a syntax error into my code wherever I needed a breakpoint. Usually, I just added the word "bob," which was quick to type, and unlikely to be recognized as a command name. It can be used as a verb, as in "bob that function after you load the data--I want to have a look at it before we do anything to it."

The practice caught on, and soon everyone was using "bob" to add breakpoints. Unfortunately, they weren't always as conscientious as I was about removing the "bob"s when they were done debugging. This gave rise to

Scraping Dan off the ceiling

Which had to be done every time I tried to run the build and it broke because someone on my team had left behind an errant "bob." Also known as "reaping what you sow."

(2) I know someone who used to call his temporary variables bob. Even worse: int bob = 0xBADF00D; - Nick Bedford
@Nick Bedford: Ouch. - Dan Menes
@Nick Bedoford: Now that you mention it, there's an entire variable naming convention based on bob: bobTheString, bobTheIterator, bobTheFileSystemObject, etc. - Dan Menes
(2) Is there bobTheBuilder? - Andrew Grimm
(1) @Andrew: Good one. Believe it or not, I didn't see that one coming. Is bobTheAbstractFactoryClass close enough? - Dan Menes
[+7] [2010-03-12 14:35:04] xcut

Trojan Horse ESB: for an enterprise service bus that really hosts a whole bunch of bilateral connections.

The idea with these service buses is to reduce n^2 system connections to n, by putting a neutral layer in the middle. Unfortunately, most business don't have the stamina or discipline to do it properly, so they feed system specific crap through, and end up with a much more expensive version of whatever they were already doing with point to point connections.

alt text

[+7] [2010-04-22 17:14:59] rlb.usa

God (Code) File

An extremely oversized file that "does it all".

Heard it from a friend. - rlb.usa
swiss army code? - MikeJ
(2) Anti-pattern - "God Object" see - crowne
(9) In one app where each of 100 or so classes made use of the same 3 or 4 classes for some functionality, we called those classes the Pantheon. We declared the app polytheistic and started to refer to the classes as the DB god, the XML parser god, the god of logging and the god of date formatting. - sal
You mean the source code of SQLite? Ten thousands of lines of code in a single file! Tough it executes faster. - WTP'--
[+7] [2010-05-10 05:35:01] Emil Koutanov

Lethal Dependency Injection

Too much Spring XML wiring to configure a handful of classes.

[+7] [2010-05-10 02:13:18] sal

Funhouse mirror effect When a bunch of classes reflect similar subsets of data from a common super-set of data in such a way that they are more than 80% identical but no two classes fully look alike or are sub or super sets of each other.

IE, the Customer, Account and Portfolio classes are 80% identical, but are used by different apps or different parts of the same app. They are used in conjunction with the Order, Trade and Holding classes which share only a common set of Ids

multiple inheritance much? - SF.
[+7] [2010-05-19 05:47:17] Portman

turd files are the (often hidden) files that a version control system "drops" around your file system.

Example usage: "Oh, I usually fix that by deleting my turd files and then doing an svn update".

(2) Even better when this term is visible to end users: - Joey Adams
Any user of Visual Studio knows that it's not just version control systems that do this. - TheBeardyMan
[+7] [2010-05-21 19:42:57] Robusto


The arcane process by which demo apps using dummy data perform superbly in all areas. This magic somehow disappears and performance suffers as real code is written and hooked up to real databases, etc. [Back formation from "voodoo" (black magic) plus "foo" (standard exemplar variable name)]

Sample usage: "I don't know, guys, the final release seems to have lost all the foodoo."

[+6] [2010-05-24 02:35:30] andyjdavis

One that was in common use at a former employer.

Using the force - Identifying the source of a problem through intuition.

"How you figure out what was causing that?"

"I used the force."

"The force is strong with this one"

This particularly applies to obscure or hard to track down bugs. Concurrency issues, heisenbugs, that kind of thing. If the cause of an error leaps into your head while not actively debugging it or the cause of the bug is so obscure as to make it virtually impossible to debug then you are using the force.

Also known as psychic debugging. - Joshua
[+6] [2010-05-26 15:22:13] BaBu

Glocal variable

A global variable disguised as a local variable.

To avoid the embarrassment of using global variables one can always make them local and put them in a singleton or something...

(6) I believe many programming languages call these "static" variables :-) - Joey Adams
[+6] [2010-05-19 14:24:52] John H.

Futility Classes or Services.

Utility classes or services that are so full of bugs or useless features that you'll never get anything useful out of them.

[+6] [2010-05-21 09:23:46] Martin

Left Than Conditions

An enhancement in readability of composite conditions; only use less than to logically order expected values from the left to right in expected ascending values.


if (0 < x && x < y && y < z.length) {

And what would the name be for the code if(0 < x < y < z.length){...} ? Beginning C coders write this and then get very surprised why it doesn't work like they expected. - SF.
STD terms like, Bug, Hack, Gubb-C (Swedish term) would apply fine, I'll think more about it.. :) - Martin
@SF. in Python it does work like it should in mathematical script :-) - fortran
Just because it works, it does not mean it is readable (or sometimes even intended) :) - Martin
[+6] [2010-03-20 02:25:22] mschmidt42

Using ajax to make something "cooler", fast and/or better. Not super original I'm sure. It's just quicker than saying "You should re-write that using ajax, no more giant page reloads". We (TeamBizStream) all know what we are talking about when saying it.

Along the same lines of Ajaxification.

These can both be used in the past tense as well. "I just ajaxified the !@#$ out of that code, it is rocking now"

I have used AJAXify myself, without having seen it in the wild previously. - Nicholas
[+6] [2010-03-01 01:45:52] glasnt

Columnify To change a table's column name into a user-friendly name. Requires a valid table column naming schema, fails if column names are x1, x2, x3...

e.g. 'user_id_num' -> User Identification Number (s/id/identification; s/num/number; underscores -> spaces; first character after space capitalised.)

I built a utility procedure to do this process, and the pet-name stuck in production. I still get laughed at :<

Nice edit, jdk. I don't think those columns have been bug-checked though. - glasnt
[+6] [2010-05-14 12:05:34] SteveDog

TLA. It stands for Three Letter Acronym. It's from a coworker who used to work at Digital where they had lots of TLA's. Two letters is too short and four is too long. Examples: TCP, WCF, WPF, TDD, BDD, JVM, need I go on?

(6) The term TLA dates back to at least the 70s. See - Loadmaster
Don't forget the ETLA (E == Extended…) - Donal Fellows
(5) Did -you- really coin this? - SF.
Gee, I can't find CLR, DLR, CLI, CTS, CLS, CIL and VES acronyms! - Stringer
[+6] [2010-05-17 04:24:24] Sky Sanders

Doomed loop. A smelly device for a clean flow control.


    Do 'omed

        '' lots of stuff with arbitrary exit points

        Exit Do


        do//omed loop
            //lots of stuff with arbitrary exit points

        } while (false);

(1) It's also used in C to make macros less nasty. - Donal Fellows
@Donal Fellows: I think this is referring to using a single-iteration loop so you can break out of it, rather than—heaven forbid—using goto. The do {...} while (0) trick is mainly used to create multi-statement macros that feel more like functions. - Joey Adams
[+6] [2010-05-10 19:48:42] Stephen Furlani

Hackfactoring The process of taking code and refactoring it without consequence to make it do what management demands that the code do.

[+6] [2010-05-10 14:20:10] boombots

Enchancement - A fantastical feature or function of a program that would often require re-invention of the technology chosen or rewrite a programming language to support. Is usually given after the first review with a client or management team, massively increasing scope creep for this one feature that has a 50/50 chance of working but is suddenly absolutely mandatory because the customer thinks they saw it somewhere. (Usually from the TV or movies)

Examples: -Make that video completely interactive so that I can take it and drag it from my desktop to my PDA, and it should just work, like in the movies. -Re-write that to natively support pdf files.

This usually results in masses of "patch" code to make sure all the existing functions route around the new enhancement. - Nick Bedford
[+6] [2010-05-11 18:28:11] Gabriel

Sheng Long: Whenever we catch a SQL Injection, PHP Injection or anything like that, the user gets and alert message with the classic message from Street Fighter 2: "You must defeat Sheng Long to stand a chance!". Now, whenever we want add security layers or refer to something that happens after these filters, we call is "post Sheng-Long code".

Screw the developers I have power: We use it whenever a client asks us to do something ridiculous, but he has power inside of the company to request anything. Based on the animation Yu-Gi-Oh The Abridged Series.

Upvoted for the Abridged Series reference :P - Macha
[+5] [2010-05-11 02:16:08] Chris O

Call Stack Carnage when you accidentally (or purposefully) corrupt the stack. Also when you use extreme amounts of tiny event notification messages and attempt to read the call stack with an attached debugger.

[+5] [2010-05-10 15:37:28] SF.

[variable/function/feature/API] has a Schizophrenia - when it tries to be two contradictory things at once (usually due to a design error - you refactored half of the project with new meaning of the piece in mind, while keeping the other working)


  • In soft-typed languages when the variable can appear as two different types - say, an index in a table of values and a reference to a function returning a similar value.
  • an API that tries to protect users from shooting themselves in the foot while aiming at maximum freedom for the user.
  • a variable that holds a value that only coincidentally works in two places, e.g. a database index and file line number.
  • a variable that is written to with two different formats of the same data, e.g. an array of 1-byte integers, or an ASCII string containing the values as CSV text.
  • a flag that does two remotely similar things at once, e.g. "isStopped" which is set both when the system finalizes a total emergency stop and when it is momentarily idle and ready to change work mode.
  • a "unit" difference, say x and y in px but height and width in mm.
  • a GUI API that can't make its mind about using x,y,w,h and x1,x2,y1,y2
  • a function that can return an error code, value of which lies within legal valid return values.

[+5] [2010-05-10 16:00:59] MatthewMartin

Super pipelines and Ziggurats.

These are n-tier pseudo-architectures. Super pipelines are methods that call methods that call method, etc, and the intervening methods don't actually do anything except call the next method. Ziggurates are classes that inherit from classes that inherit from classes that inherit from classes and the middle classes don't actually do anything.

I think this comes from developers who've been told to create 3 layer code and put all their code into the UI anyhow, but have stubs for the other 2 layers.

[+5] [2010-05-10 12:52:41] fortran

The infamous AhTeJodesException (something like OhYouAreFuckedException, in Spanish), the first use among my friends was in a computer science assignment as a joke, but now we use it for everyday situations when you're screwed no matter what you do.

[+5] [2010-05-10 17:17:16] user337500

RBAR (Adjective) [pronounced ru-bar] - Describes one who works with relational databases but really has no clue how to do so propelry and so every action they take is RBAR'd which is short for 'Row by Agonizing Row'.

Credits for RBAR go to DB guru Jeff Moden

[+5] [2010-05-11 16:54:40] OscarRyz

Faith based programming

When "Jimmy", instead of using a more.. "scientific" approach to problem solving, just randomly delete, comment or rename a variable/line of code and prays for it for compile/runs.

This is sad, but true :(

Good programmer expected ( not mine originally )

When "Jimmy" says: It gives me an error!!

I ask? What does the error says? "Good programmer expected?

(1) Related: General Programmer Fault. - Potatoswatter
[+5] [2010-03-16 19:34:13] NealB

I did not coin this one but have had some fun with it:

FM as in f***ing magic

FM is a name given to processes during early analysis and design where we know what must go in and what is supposed to come out but, as yet, have no idea of how the process is supposed to make such a transformation.

Once we had a trainer come into our shop to give a workshop on a particular design methodology. The trainer must have overheard us refering to FM quite a bit and decided to use it in the workshop as an example of a process that we might be working on. It really cracked us up - the trainer had no idea what it stood for.

(1) We learned this one in electronics school because it's how an FM radio works, specifically the discriminator circuit. Yeah, I know its really frequency modulation. - Bratch
(1) Hah, did I work with you? I remember hiding it from another co-worker who wasn't f-bomb friendly by calling it the 'Functional Manager'. - Brian King
[+5] [2010-04-01 01:53:33] Brian Showalter

Dejunkify - To clean up someone else's crappy code.

We call it Declunkify. - rlb.usa
[+5] [2010-04-30 18:17:10] tsilb

Marketing Bytes - Bytes as measured in multiples of 1000.

Also applicable: Marketing Terabytes, etc.

(1) This used to be known as StorageBytes, but that has since been reduced to multiples of 908... - AviD
There is kilobyte and kibibyte now. - Alexander
[+5] [2010-05-01 00:30:12] Nathan

Politics Driven Design - A design decision with no technical merit that suddenly shows up in the code only to cause an interruption in production as soon as it is promoted. Root cause analysis usually reveals user story sessions held behind closed doors between the weakest programmer on the team and management obtained a stamp of approval for the design. Management usually claims innocence and blames the campaign promises of "everything will be easier from now on" and FUD like "if you don't allow this, the sky will fall" from the weakest programmer.

I call this design by conflict development. - sal
[+5] [2010-05-10 07:10:40] Suma

Experimental programming - Arranging tokens with little or no understanding what they really mean, and testing if the resulting code works well or not. This is repeated until the code works.

Sometimes this is really bad, like in this question [1].

Sometimes this can be a valid technique, provided the testing is done well. Once case I use it is when doing a vector cross product, as I never remember what is the orientation of the result. I try it one way, if it does not work, then try the second one.

If the tests are automated and fully cover the required functionality, I think this is a valid special case of test driven development - with TDD you do not need to care what the code is and where it came from, as long as it passes.


[+5] [2010-05-10 10:56:51] kb.

Björn Borg - To completely remove old code and rewrite from scratch, without being able to use the old code as reference. We came up with this expression in the demoscene in the mid-90s when we had to rework parts of our demos and were sure that the existing code would trip us up rather than help us. We also argued that rewriting the effects made you learn them properly rather than relying on cut'n'paste for the more advanced stuff (mathematics, pointer voodoo etc).

There might have been a reference to cocaine use and staying up all night (the latter being a natural consequence of the Björn Borg principle). Before you do a Björn Borg you have to actually shout "Björn Borg!", also for reasons I can't quite remember. Maybe as a warning/invitation to veto.

+1 because he is from sweden =) - Viktor Sehr
[+5] [2010-05-23 01:26:59] community_owned

Inequality Debugging

When you have a program and an if statement isn't working so you switch the less than sign with a greater sign (or vica versa) in the if statement and your program starts working as expected. Usually happens with extremely long if statements.

alt text

(3) That's trial & error programming at its worst. I feel nauseated. :-D - DevSolar
[+5] [2010-05-26 11:17:20] Amardeep

macrobator (n.) (māk'rō'bey-ter) - 1. A C programmer who creates a new language using the preprocessor. 2. A C++ programmer who uses #define for anything other than include guards. 3. A fisherman who buys his worms from Kevin Bacon.

entoliferator (n.) - 1. A programmer who efficiently multiplies bugs in a program using cut and paste. 2. Someone who leaves food crumbs all over the house. 3. Robert A. Heinlein.

pastafibrolator (n.) - 1. A programmer who fouls up a well structured program with global variables. 2. A toddler eating spaghetti. 3. Ron Popiel's latest invention.

literomagnon (n.) - 1. A programmer that codes with numerals instead of labels. 2. A librarian with a protruding suborbital ridge. 3. The web-browsing GEICO caveman.

autopathosite (n.) - 1. A programmer that attempts to curry favor with management by fixing problems in their own shoddy code. 2. A person that tries to gain notoriety by capitalizing on their character flaws. 3. See Rod Blagojevich, Natalie Suleman, and Richard Heene.

I have a hard time believing you managed to coin all these terms AND get other people to say them. - Joey Adams
I'm sorry they don't appear to meet your minimum standards of lexical ubiquity. Their original purpose, which was both to evoke humor and to pejoratively describe a couple of very specific "Jimmy" team members, was apropos. - Amardeep
+1 for macrobator - Evan Plaice
[+5] [2010-05-24 13:44:33] Tim Marman

Frankensteined *to frankenstein*

Code or a feature written for one purpose that has been repurposed for an originally unintended use (one that it probably wasn't designed for), and thus has taken on a life of its own.

Usage: "That code that Jimmy wrote to print out schedules has been frankensteined to do payroll"

I'm having a bit of this right now. Ongoing modifications to "processes" means changing and adding different conditions all over the shop, and then remembering to adjust other code that is directly affected by these changes. Ugh. - Nick Bedford
[+5] [2010-05-23 22:57:47] Andrej Panjkov


Stray files that choke processing scripts that try to ingest them, usually because the script is coded to process somedir/*, when it should really be processing somedir/$yyyy$mm$dd in loops.

core, nohup.out and .bash_history are examples.

[+4] [2010-05-24 17:59:00] Manuel Simoni


The excessive use of complicated features of one's type system to ensure the static safety of mostly irrelevant issues.

In my opinion, this applies to any use of static_cast, dynamic_cast, etc., especially cases where C-style casts would suffice. I know someone will criticize me for saying this, but you have to admit that static_cast<int>(...) is really ugly. - Joey Adams
.NET Framework allows for heaps of this. - Nick Bedford
It's ugly - especially if you have to combine a const_cast with it. OTOH it explicitely states what you mean, which is good, as casting in C++ is more complicated than in C. For consistency it doesn't make much sense to allow C-style casts for "easy cases" and require the others for "the rest". - peterchen
but at least static_cast is searchable... (int) isn't... (well not well anyway!) but yeah, my butt is less ugly than static_cast etc. - geocoin
[+4] [2010-05-27 04:17:07] vince

Un-Variable: A term used to describe a variable that is declared, but never variable, never used, or not actually hooked up to any logic.

Example 1: A variable used once... and only once

Example 2: superImportantHandler is declared, but never used; making it not too superImportant and leaving its handling abilities questionable.

Example 3: You see "turnOnImportantThing = 0" so you assume that flipping it to 1 will have some effect, but it takes you 15 minutes to figure out that its not actually hooked up to anything.

A lot of IDEs and their plugins will flat out tell you when things are declared and never used or "not actually hooked up to anything." Know your tools! - mikeschuld
[+4] [2010-05-20 22:12:46] Tony R


It's used when something is deployed to production and is being used. Example: Our new feature, Whizbang, is now productional. Or even, the Death Star is fully productional!

[+4] [2010-05-17 03:57:33] jasonk

Pixie Dust - a "tool" used by developers to "magically" fix certain issues via abnormal/illogical/unexplained means. (coined by the leader of our support team) When an issue completely baffles the development team we are "out of pixie dust".

[+4] [2010-05-05 05:58:11] dan04

Un-[name of co-worker]

To refactor copy-and-pasted code into a subroutine.

We have a colleague whose login name is generally read as "deactivator". Saying "activating the code" means cleaning up the mess left by the deactivator. - Dummy00001
[+4] [2010-03-28 02:41:39] Dan


A typo-style bug caused by sloppy copy and pasting. Especially prevalent in boilerplate comment blocks, where that style is used.

[+4] [2010-04-22 17:19:16] rlb.usa

Code Monkey

An insulting term to describe a poor programmer, usually who does not grasp basic or common programming concepts, and sometimes whose best coding capabilities can be described as "GoogleCut&Paste".

alt text

Heard it from a friend. - rlb.usa
We used a similar term for otherwise skilled engineers who were tasked with excruciating data entry. We use a big horrible "database" application. I quote the term because it was so unstable that the owners do not allow any programmatic access. Data entry is manual, and only a few people know how to get any information out of it. I had all of our group's data in a MS Access database of my own design. I spent two days writing a script that translated the data to the new format, about 1 second to run it, and then four engineers typed for two months. "SLATE Monkeys". - mbmcavoy
(3) You coined this programming jargon too, and then you heard it from a friend ... your friend sang a song using jargon you invented? - Windows programmer
For those who haven't heard it, here's the song: - splicer
(1) We've used this for the other side of things - experienced developers who should rightfully spend their time doing high-level development but end up having to do more rudimentary entry-level crap because we either can't pay an intern or the experienced guy wore the wrong team's shirt to a football game. - EAMann
<a href="… CodeWright and the Code Monkey</a> - Kelly French
[+4] [2010-03-23 10:58:35] Nailer

C*nts Socks and Sandals is my nickname for CSS.

(1) +1 for making me laugh so much :-D - James Morris
[+4] [2010-03-16 20:03:24] mmacaulay


Some people pronounce it "es-que-ell", for others it's "sea-quell". I like SQUEAL.

(3) It was originally called SEQUEL, the Structured English Query Language. - Kragen Javier Sitaker
SQL Server Express Edition (SQLEE) - squeely. - Bratch
[+4] [2010-03-16 22:01:29] landon9720

Thankie or thanky. What you say to thank somebody who tried to, but didn't, help you. It's a polite alternative to "thanks for nothing".

Nerd 1: "Do you know where the foo class is checked in?"

Nerd 2: "I think it's under the bar directory."

Nerd 1: "No, I already checked there."

Nerd 2: "Then I don't know where it is."

Nerd 1: "Thanky."

(4) kthxbye........ - Bratch
(2) I want to use this now. Too bad I'm the one that keeps getting asked things. Maybe I should start replying to 'OK thanks anyway' to 'Welcy' , meaning 'Your welcome, but you wasted my time, when you could have looked it up yourself, you insensitive clod'. - glasnt
[+4] [2010-03-01 01:44:34] simeonwillbanks

Cruftaculous - when a program has more "cruft" than useful features.

(2) I call that bloated or JAVA for short. - Kyle Hotchkiss
[+4] [2010-05-12 09:21:40] Mike

Emser Code/Method/Function/StoredProcedure - "Emser" is a part of an application that contains code that is so complicated (even when the task is easy) that you need a few hours to figure out what the code is doing. The better choice is to rewrite the whole function/method/stored procedure. This attribute can also be given to developers if it is known that they mostly write Emser code - in fact, this attribute is named after a developer.

A typical conversation goes like:

I have to look what the code does...oh my god it's an Emser function, we better rewrite it, that should me much faster than finding the bug; if this is even possible!

Other comments that you are able to hear when reviewing Emser code:

WTF, Oh my god, Why is it doing that?, That's completely against our programming guidelines,...

[+4] [2010-05-13 06:40:42] Finbarr

Jidiomatic (extends com.thefreedictionary.Idiomatic)


  1. Peculiar to or characteristic of the Java programming language.
  2. Resembling or having the nature of a Java idiom.
  3. Using many Java idioms.
  4. Peculiar to or characteristic of the style or manner of Java programmers.

example usage:

Joe: "Hey Mike, check out my joint union in type parameter variance on this class!"

public class Baz<T extends Foo & Bar> {}

Mike: "That's so jidiomatic!"

[+4] [2010-05-17 04:27:39] Nick Bedford


Discovering or finally actually using an API or technology, like LINQ, which everyone else has been using for years.

You consequently spend three days rewriting all those for loops and feeling stupid for never getting around to it beforehand.

I'm guilty of this.

"I was so disappointed when I realized AJAX was just this thing I'd been doing for years already" -- my web designer SO - Zack
wtf is LINQ???? - Matt Joiner
[+4] [2010-05-14 16:38:54] Stephen M. Redd

I'm covered in chicken blood

alt text

(3) This one only works when used without explaination... - Stephen M. Redd
I get it. ... the sad downvoters don't. - Jeff Meatball Yang
(1) I don't get it. - Fábio Batista
maintenance programmers do... - Stephen M. Redd
(2) Think voodoo and ritual sacrifices. - Tim Pietzcker
[+4] [2010-05-14 17:10:59] Technobabble

M.O.A.V. - Mother of all Views

In a database, this is the view that consolidates data across most or all of the database through numerous joins to other views, subviews, and tables. It is often used for reporting purposes or to transform data into a reporting structure. If you were ever to encounter the 260 table query limit, it would likely be through executing a query against this.

[+4] [2010-05-10 17:41:02] Nick Hodges


The process of making code or a product Unicode-capable.

We coined this term when we converted Delphi and the VCL framework to be fully Unicode capable.

The verb is "Unicodify".

[+4] [2010-05-10 18:39:03] lynt

Like a bought one - Not coined by me, but by my professor:

"The act of writing code, no matter how big or small, and it executing perfectly the first time - like a bought one".

(5) There is a deeply rooted belief among the programmers: if the program after major changes compiles at first try without a single warning, and the program seems to work correctly at the first try, Be Afraid, Be Very Afraid. It's a sure tell-tale sign you made some very obscure error and the code has some very dangerous but extremely hard to find bug in it. - SF.
[+4] [2010-05-10 15:53:11] Mike Fielden

Code in Front

In ASP.Net "the code behind" refers to the .cs file.

Well, the .aspx page is called the "code in front"

Sounds like classic ASP :) - Andrei Rinea
[+4] [2010-05-11 20:01:28] dspeyer

Orzo Code

Code which is incomprehensible because it is too modular. Typical signs include functions with very similar names that do nothing but wrap each other, classes which do not remotely correspond to types of objects, and objects which exist only to have a single pointer-member of a subclassable type with a pure virtual function.

[+4] [2010-05-11 14:02:40] pancake

worning: it works but with warnings :)

[+4] [2010-05-11 11:58:59] gautema

Con Coverage

Tests that run through your code and adds to your code coverage, but has no actual value other than making your code coverage percentage look good.

[+3] [2010-05-11 20:25:57] community_owned

Doctorowing - Devoting an undue amount of time to creating an overly-complicated multistep routine using free or open-source methods to save money when a $20 app would fix it once and for all. Named lovingly after open-source proponent Cory Doctorow.


Apple-Bias - Creating a script or using an app that doesn't produce the intended result. Giving it 30 seconds of thought before scraping the whole thing because it didn't "just work."

[+3] [2010-05-11 15:48:09] Mircea Nistor

The term Ghost Bug. Referring to a bug that cannot be reproduced in controllable conditions, a bug that seams to have appeared but no one is sure about it. A bug that requires voodoo for fixing. A bug that drives a developer to think that a mutex should be used in a single threaded app.

Seen this, turned out to be caused by Application.DoEvents() and Control.BeginInvoke(). - Joshua
Serves you right for using modal dialogs :-) - finnw
Only it wasn't modal dialogs. - Joshua
[+3] [2010-05-14 17:31:35] Technobabble

Developer Fairies and Infrastructure Ogres

Terms coined by Sahil Malik [1] and often referenced on the .NET Rocks! podcast to represent the contention that often exists between the IT and development perspectives of implementing a solution. Developer Fairies simply want to leverage the best technology to solve a problem, while the Infrastructure Ogres are often more concerned with security, reliability, and performance.


+1 for mentioning .NET Rocks - John K
[+3] [2010-05-16 01:25:16] netcrash

"Blind Coding" - Someone tells you the spec for the communication between your client app and the server app, and give you a piece of code has example that has little or nothing to do with the spec presented.

And you just go in there and code until you get it right.

[+3] [2010-05-17 01:56:31] jasonk

Hudson Moment - A moment of panic/distress that occurs during the realization that a project has become woefully doomed to a horrible fate. It typically involves a wild verbal rant and complete loss of morale. This moment usually ends when a nearby coworker suggests a way out of it and somebody else says, "Knock it off Hudson!"

Taken from the scene in the movie "Aliens" where Private Hudson freaks out and starts yelling:

Ripley: How long after we're declared overdue can we expect a rescue?

Hicks: [pause] Seventeen days.

Hudson: Seventeen days? Hey man, I don't wanna rain on your parade, but we're not gonna last seventeen hours! Those things are gonna come in here just like they did before. And they're gonna come in here...
Ripley: Hudson!
Hudson: ...and they're gonna come in here AND THEY'RE GONNA GET US!

Ripley: Hudson! This little girl survived longer than that with no weapons and no training. [to Newt]

Ripley: Right? [Newt apes a salute]

Hudson: Why don't you put her in charge?

Ripley: You better just start dealing with it, Hudson! Listen to me! Hudson, just deal with it, because we need you and I'm sick of your bull@%$#.

Where I come from the response to something like this is always: Game over, man! GAME OVER! - Syntactic
[+3] [2010-05-16 23:49:09] SeaDrive

Bit Bucket: Dates at least from the 1960's at IBM. It's the place where bits go when removed from memory.

Tyranny Of Print Width: Coined by me, and never in wide use. It's the reason you can't squeeze the additional column on the report.

(6) Never in "wide" use, eh? ;) - harpo
I've encountered the tyranny of print width when working with SSRS reports +1 - Jazza
[+3] [2010-05-18 12:45:36] Salman A

The if...then...else...but statement

When coding in VBScript, there are times when you think you've got if and else parts covered:

if RECORDSET( "Title" ) = "" then
    Response.Write "Untitled Document"
    Response.Write RECORDSET( "Title" )
end if

but may be not.

A NULL title will cause the else clause to execute, nothing will be written to response.

[+3] [2010-05-12 05:18:44] sime


Not mine, but coined internally. Stems from a contractor building a Javascript gallery switcher with a ridiculously amount of div elements. Essentially tag/element soup.

[+3] [2010-05-12 05:59:55] Drok

Battling : My friends and I refer to programming as Battling. "I was up late battling that program last night" Or "I really had to battle with this error I was getting"

[+3] [2010-03-13 19:34:11] Shane Fulmer

When a bug is reported that isn't actually a bug.

Also the name of a restaurant with goofy $h1t on the walls... - Bryan Rehbein
This is just a word. Here is the def. for you: - Hogan
Many of the responses to this question are just words. - Shane Fulmer
We have a term "ghost", and "ghost-busting" - when a bug is reported, we spend several hours hunting it before we come to conclusion that it's not actually a bug, and that application is working properly. - Ivan Vrtarić
[+3] [2010-03-22 04:52:25] Ben Mabey

Implemications - the implications of an implementation. A true "Bushism".

[+3] [2010-03-17 17:17:48] Bob Villa

These are not terms I coined and I'm a Network Engineer, but these are a few terms I enjoy almost daily.

JFFIO - pronounced Jiffy-O - acronym for 'Just F**cking Figure It Out'

Example: Engineer 1: I don't know what the previous engineer was trying to do here. It's working but I don't understand how. Engineer 2: I'm kind of busy right now, JFFIO.

Rodeo - to describe a network port or device that is bouncing up and down. Example: The link was solid, not taking any errors, and passing about 400 megs of traffic, then the splicers closed up the splice case and the link went all rodeo.

+1 for rodeo. I'd even give you +10 if I could :) - Matthias Hryniszak
[+3] [2010-05-09 17:29:11] john marquez

SMG - Subject Matter Guru
Alternative to SME, Subject Matter Expert. Pronounced "smug".

Funny story, I once had a Dev Manager who said "If I see the word 'guru' on a resume, I throw it in the trash." lol

(4) Bummer if your name is Guru-Murthy. - Pete Kirkham
[+3] [2010-05-05 04:44:13] seanb

FK Hard

Not entirely mine, and probably not the first time it's been used.
Came up while discussing a nasty problem with friends over beers on a Friday night (can't remember who said it...).

You know it's not NP-Complete, but you know it's gonna hurt.

[+3] [2010-05-10 07:04:17] RMorrisey

Line noise: The syntax of the Perl programming language, or almost any program written in Perl. (I think one of my co-workers coined this.)

Siesta: The point at around 1:00 - 2:00 in the afternoon, when your PC suddenly becomes unresponsive for 10-30 minutes. May be a surprise clean build triggered by eclipse, quirky windows behavior from network latency, or simply a CPU-intensive background process. More broadly, any time the computer is unresponsive to user input, because it's taking a nap.

Used by myself and my cubemates.

Traished: Inexplicably hosed, for no logical reason. Unable to compile, or produce an intelligible error output. Non-reproducible compiler behavior.

Not mine; came from summer camp, when learning to program. One of my classmates got an error from his Pascal compiler, saying:

This error should never occur. If it does, the file variable has somehow been traished.

The typo was included in the compiler error message. He discovered, after much trial and error and consulting with the lab instructor, that he was missing the period which is required after END to terminate a pascal program. Once he got it to compile, he was no longer able to reproduce the compiler error.

It might be a good idea to combine all your answers into one. - Potatoswatter
Done! I think that's all of them - RMorrisey
"line noise" is a really, really, really old term, and its application to Perl dates back to approximately the latter's inception. - Mark Reed
[+3] [2010-05-23 21:46:15] Christopher Zacharias

chlode - Code that is intentionally made needlessly complex in order to make some developer appear more capable or irreplaceable.

black ops - The project(s) you take on or create, right before leaving a big company, as a last ditch effort to convince yourself it is worth staying. Out of frustration, you cast off the established development processes, work in the background, or even use some new technology you've been interested in.

[+3] [2010-05-21 13:31:35] jeriley

Hot Dog Stand code/project

When things are so amazingly stupid or pointless you feel like you're running a hot dog stand. Came out of a project that wouldn't spend the 10k on a new server (old one was literally failing before our eyes) but asked we replace some network cables to increase process times. "Big pile of ain't gonna make a damn bit of difference, coming right up".

[+3] [2010-05-21 16:53:26] jello


invented by me (circa 1999 while working at EA)

A term used to define

  • the uncertain completeness or efficiency of a piece of code
  • the incomplete design of a feature
  • the (in)accuracy of an estimate
  • or to express a general lack of certitude in what you're describing

Mgr: When will feature X be completed?
me: well, the specification is still squishy, but I expect in about a week.
me: I think I know how to solve the problem but it still seems a bit squishy.

I started using it for lack of a better word at the time, soon the whole team was using it. Its use eventually faded but I still recall it with fondness.

[+3] [2010-05-21 19:35:31] Sakamura

Instead of Rubberducking, I coined the term Plant.

-Do you need a plant to correct this bug?

-Well yes, I do, thanks!

When a programmer is stuck with a problem, he sometimes need to talk about it, so I would go to his desk and do the plant, not really talking but leaving him the chance to explain what is his problem and explain how the code works. It usually comes with a realization part, he just stops, and then says Ok, thank you!, at which point I say No problem, and return to my desk. It could be a theoretical nuclear problem and I could help correcting it, since there's no real interaction, meaning you could very well explain the bug to a plant there would be no difference.

I actually had a "plant friend" at one point at a past workplace where I sat alone and the office administrator thought I needed something to interact with - my plant was named Nigel and he gambled (because there were always a pair of dice beside him - although the dice on the desk predated Nigel). - John K
Aaaand I'm sure the plant always won with the dices :) Yeah, my coworker and I had a big plant near our desks. We jokingly said we could use that instead of annoying the other one. The term itself came from that. I miss that coworker, he's a nice chap. - Sakamura
[+3] [2010-05-25 18:09:27] peter banner

MIBB or Make it Big Boy --> The act of using complicated sounding names for classes and/or methods that otherwise accomplish very trivial tasks. For example:

public static void ThirdRockFromTheSunGreeter(){ System.Console.WriteLine("Hello, World!"); }

IClusterFuck --> The practice of creating an interface with no underlying meaning or concept and with a bunch of unrelated methods.

[+3] [2010-05-24 04:12:34] madarve

Benedict security

Refers to "security", measures some clients request based on the complicated and made-up jargon they heard on a movie, thinking it will actually make some improvement on their application.

On "Ocean's Eleven", Terry Benedict's Casino's security system changes its password every 24 hours, so in case it gets hacked, by the next day it'll be useless.

If your web app's admin password gets hacked (not using social-engineering) there are other problems in your server besides a weak password

[+3] [2010-05-21 09:02:37] Joe Drumgoole

Bogon: a subatomic particle of software destruction generated by "non essential personnel" (e.g. management, marketing). As bogon fields are often lacking in development groups (apart from a small field generated by the development manager) these bugs are notoriously difficult to detect until demonstration time.

(1) if you really coined this term, then my deep respect. If you just saw it in the jargon file, shame on you. - SF.
[+3] [2010-05-25 04:07:15] Blessed Geek

Does jargonology used within just three programmers, and I was not the one coining them, qualify?

Colleagues were commenting on frequency of inheritance classes, to inherit projects from people who were quiting. Then they were getting bug-bitten and had too many bugbites due to the applications. They would call me over as they believed a third pair of eyes would help spot errors. They would explain how a segment of code works to help me spot their errors. Miraculously, as they explained, they would spot the bugs themselves and solved them. So, they believed I was an effective bugicide as bugs evaporate with my mere presence. I protested that I did not do anything, but merely listened. And finally we settled on calling me a software therapist. They tried to advertise me to other programmers to have software therapy sessions with me because not only was I familiar with client side and server side, I was also effective with bug side code.

Those were the days when we used Cobol and CODASYL (network database), migrating to C/C++, Oracle and Sybase = deCobolize and SQLization. Today, the programming world has turned a full circle and with hadoop, we would have called it deSQLization (but we don't work together anymore) - back to network data relationships.

[+3] [2010-05-25 08:56:13] Adam

Specification Debt

A play on 'technical debt', referring to the cost of 'coding to assumptions' in software requirements, without taking the time to ask for confirmation.

You can save time in the short term by coding right off the bat, but you'll pay for it in super-high interest later.

I find that it's a good phrase to use to communicate to stakeholders the importance of getting the reqs right first time.

[+3] [2010-05-25 12:07:04] Ashley Broadley

PHP Tourettes

I coined this term as an excuse to why I was screaming profanities at my computer screen when an error cropped up.

[+2] [2010-05-25 13:19:13] Wilhelm

KOP (Kick Oriented Programming) - I coined this term mainly because when I'm too lazy to develop something (for being tired, sleepy or something), but I still want to do something, I invoke Chuck Norris name, and I get this programming paradigm in my spirit. So, you should use this term, to denote a code in which it was made using only your intuition, and nothing more. Sometimes you would like to develop it using random logic formation, but this is allowed only for Jedi programmers.

Jedi Programmer - This is the guy who when our team is at the deadline to the final attack, and we don't believe we're going to live after that, he comes, and by using not-known-by-most-ppl skills, he carries the project to final product. And everyone promises him, a pizza party @ Pizza Planet, he feels so happy.

At Microsoft, Jedi Programmers are called "Heroes." - Marc Eaddy
and everyone knows that "Heroes" do not exist... ;-) - Matthieu BROUILLARD
+1 Jedi Programmer FTW ;-) - alexander.biskop
[+2] [2010-05-24 06:39:53] Dror Harari

Confusing Me with Facts

A term I use when somebody comes to me with a close set of facts about (a system / a bug / an issue) that absolutely defies logical explanation. In such cases, I counter claim that this person is trying to confuse me with facts, and then I proceed to find that little snag that unties the logical knot...

[+2] [2010-05-24 07:01:37] baddox

Not quite "jargon," but whenever somehow makes a change and forgets to commit it, we often laugh about how "well, we men are afraid of commitment."

[+2] [2010-05-24 01:07:54] cballou

AJAXPP (ajax-app)

A web application that relies heavily upon AJAX for it's frontend appeal.


Similar to click-jacking but applicable to individuals misusing and abusing the Facebook "Like" button functionality with the new Open Graph API to trick users into liking the wrong page.

Oh yes Like-Jacking - I 'Like' it. - John K
[+2] [2010-05-24 03:47:34] Andy

Copy @ Waste when ever you copy something from somewhere and paste it into your code but by doing that stuff the result up.

Not sure where I first saw or heard it but it's clearly something everyone did.

Eg. copy some java code from a simple example paste it into your code and o wonder it did not handle any exception and as it was a simple example only ;)

[+2] [2010-05-26 02:01:51] Nick Bedford

The Smarts

What your boss/colleagues ask for when developing a tool for them. They're not programmers. In fact, you're the only one in the entire center.

It ain't smarts, it's just a lot of if statements.

(4) The part of the program you consider very clever is never the one the users consider very clever. - zaratustra
[+2] [2010-05-24 18:13:32] Brian Postow

This is my boss's... but he calls code that is left in the program but will never be executed (whether because of conditionals or being commented out, or in a function that is never called, or whatever) "Wilted Celery" as in: "I saw some wilted celery in the fridge, but I didn't throw it out because I thought someone else might want it."

[+2] [2010-05-25 18:06:48] Ryu


Instead of saying Manager, instead say Mangler


  • Did you restart the State Mangler Service?
  • Who's the Project Mangler?

[+2] [2010-05-26 15:07:30] TimR


The Death Spriral - when attempting to resolve a bug. You start with, break statements, then printf(s), then some other tool e.g. wire-shark, logic analyzer, scope, other programmers. Each new tool adds complexity and seems to take you further away from the problem. The solution, pull-up, go home solve it with a clear head.

From Wikipedia: a spiral is a curve which emanates from a central point, getting progressively farther away as it revolves around the point.

[+2] [2010-05-27 16:49:49] Fredrik Johansson

I always name my almost unreachable coding goals as "White Whales" (from the famous book Moby-Dick). The book is about a skipper who struggles all his life to catch a white whale, and he eventually does (sort of).

Wow, imagine if I could write something as great as that one day. :)

alt text

[+2] [2010-05-26 17:30:12] aaaa bbbb

OBAP - One Big-Assed Program. Pronounced as you would expect: O-Bap.

A big, overly complicated monolithic program that is not well structured or broken down into smaller components.

[+2] [2010-05-21 16:12:47] THEn

Yesterday I tried to fix 1 bug and added 3 more bugs, god knows how many more undiscovered.So I just come up with. ReBug which explains itself.

[+2] [2010-05-21 08:55:33] Joe Drumgoole

Bogon Field: The field that follows a marketing person/member of senior management team around and permeates all demos making them go awry.

[+2] [2010-05-19 09:42:09] p.revington

EBCK error An Error Between the Chair and the Keyboard. I use it for human errors

(3) But there's already an official term for this: PEBCAK error ("Problem exists between keyboard and chair")... - Tim Pietzcker
As an alternative, PICNIC (Problem In Chair, Not In Computer) - Duroth
I prefer ID10T errors (ID - Ten - T, when said out, Idiot when written) - Macha
[+2] [2010-05-20 22:21:19] DanDan

"ProductName" droppings

Used, for example, when uninstalling a product and dlls, registry keys, files are left behind that really can be gotten rid of.

The term can also be extended to refer to code that is no longer called due to refactoring, yet still remains cluttering up the code base.

Broadly, something that is no longer needed by the product to function yet remains behind waiting to be cleaned up.

[+2] [2010-05-20 22:34:37] Quassnoi

Double-thinking in sets

Joe Celko's famous book, "Thinking In Sets", advocates set-based approach to SQL queries (which is of course a good thing).

However, it turns out that you still need to know how the optimizers work for the queries to be efficient and thus need to think your queries both in sets and in procedures.

Coined in this blog post [1], mentioned by Tom Kyte [2] and by some more people on the Internets.


[+2] [2010-05-10 11:15:21] Holli


German for "cucumber salad". Any kind of coded or crypted text.

[+2] [2010-05-05 05:33:45] Vishal Seth

Who the hell wrote that line of code?

I used to place that comment every time I came across a buggy code while maintaining our legacy application.

Bastardization nth generation of development teams modifying the code w/o a proper understanding of what the code does and making it very difficult to understand for the n-m generation developers.

Reminds me of a comment a programmer left who was cleaning up a pogram writte by a non-programmer. After he determined that a large block of code was not used anywhere he move it to the bottom of the file and noted "I have no idea what any of this does below here" - AaronLS
[+2] [2010-05-10 03:03:31] Ycros

Genericization pronounced "generisization". Other forms: "genericize"

Because Generalization already has meaning in OOP, we coined Genericization and Genericize to mean refactoring code to use generics (ie. in C# or Java).

[+2] [2010-05-10 01:42:58] Leonard De candia

Quantum bug - the bug that fails to occur when trying to observe it (ie tracing through code a line at a time).

(7) Also known as a Heisenbug - Blorgbeard
[+2] [2010-03-18 18:54:43] DevSolo

Functuality - Used when function != or match reality.

Was first used about 8-10 years ago when a PM stormed into the dev room enraged and complaining. Like all great myths, no one recalls exactly what was said, but it was something to the effect, "The functuality of this product sucks!". After the we humble devs quit laughing, it took on the meaning above.

To this day, I'm not sure if it was on purpose (33% sure) or the result of babbling (66% sure).


ANSI bit-masking - The usage of a database, unique table and VCHAR field instead of an enumeration or bit fields.

True story, about 10 years ago we hired a programmer who was (admittedly) far more DBA than developer. During a code review, we found some code that referenced a DB and grabbed a string value from a table. After retrieving said data, a for loop was applied to determine if the character at position n, was either '_' or 'X'. Based on that finding certain logic was applied. When shown a bit-field in code the reply was "oh, didn't you know you could do that." To this day, it's battle cry when using sarcasm to find the most convoluted way to do something.

Edit 2:

SYFT - pronounced "sift". Stands for Synchronize Your F**k-off Time. Used in response management's attempts & desires to fill an iteration with meetings everyday instead of attempting to group them in a logical fashion at the iteration bookends. I've heard cough that some shops have meetings or other non development tasks nearly daily over an entire two week iteration instead of attempting to as many as possible to one day.

[+2] [2010-05-01 10:47:28] G B

Proctalgia - I didn't coin it, but it's a synonymous of "Pain in the ass", and we use it a lot. It's also needed to explain the following term.

Vegetable replacement - We had a java singleton class named xxxCustomerBean, and since testing with singletons is a proctalgia (see above), we have a test-initialization class, where we take the singleton instance, create a new compatible object or proxy, and substitute the original one through reflection: after a "getField()" on the original instance, we "enter the customer bean field to replace the bean". Since then, using reflection to test around singletons has become "vegetable replacement".

[+2] [2010-03-14 23:41:32] kyoryu

Ideal Environment Development

Writing your core code to the exact ideal dependencies that you wished existed. Used to keep the integration code separate from the core internal logic, and to promote the ability to swap dependencies.

Actually used to communicate the concept of "abstraction" to developers who do not understand the differences between abstraction, indirection, and generalization.

An IED in the computer world. - John K
[+2] [2010-03-15 13:45:51] Bruce McGee

Not mine, but still a very funny Easter egg. EProgrammerNotFound exception in Delphi [1].


[+2] [2010-03-16 18:10:35] Robert Davis

Rear End

The part of the program that comes before the back-end. For 4-tier process, store, access/logic, display architectures.

(4) Fail. Rear == Back. - Jeff Davis
Sounds like a Rear Echelon -- -- (American military slang). - Paul Nathan
@jeff: I disagree. A rear end is a back side, not a back end. That would be a rear side, obviously. - Kaz Dragon
[+2] [2010-03-16 18:46:03] Loy

AEG - Ausschalten, Einschalten, Gehen, which is German for Switch off, Switch On, Go.

Usage: "I've justen driven 2 hours for a stupid AEG".

AEG is producer of electrical equipment, see ( I have heard it as Ausschalten, Einschalten, Geht nicht which is switch off, switch on, doesn't work. - bromfiets
This wasn't explained well enough. I have no idea what it means. - JimN
(4) I think it means that a tech support person drives 2 hours to a customer to solve a problem. On arrival he or she switches the allegedly faulty device off, back on, and leaves because it's working again. - bromfiets
Sorry, but what Bromfiets explained is exactly what I meant. - Loy
I only know AEG as "auspacken, einschalten, geht nicht", which means "unwrap, switch on, doesn't work", i.e. DOA "dead on arrival" - Ozan
Or as "auspacken, einschalten, Gutschrift", which means "unwrap, switch on, refund". - Filburt
Please keep still and only watchen astaunished the blinkenlights. - Andrew Grimm
[+2] [2010-03-01 04:20:19] Steven Huwig

Mant! [1]

A build that uses Ant for compilation and deployment, but also uses the Maven Ant Tasks [2] to pull in dependencies from the organizational Maven repository.


[+2] [2010-05-12 09:48:28] daramarak

Mud as in Slap on another layer of mud

In our office we have a lot of code that is quite similar to the big ball of mud [1] description. When we add some code to it, that doesn't bring any more structure into the system. We slap on another layer of mud to the ball.


[+2] [2010-05-12 10:24:02] geocoin

Blown Stack Ok this is kind of a reverse one since it's legitimate programming jargon applied to meatspace.

When something of an extreme nature interrupts your technical conversation or train of thought in such a way that you totally forget what you were saying/doing.

[some technical discussion with a coworker 1]
[coworker 2 interjects with some grossness just found on 4Chan]
[spontaneous vomiting event from you and coworker 1]
CW1: What were you saying?
Me: Can't remember, that [gross pic] just totally blew my stack

[+2] [2010-05-11 20:58:35] Jason Williams


Ironic reference to a hard working programmer, coined by the late great Tim Browse. Working on Starship Titanic it was not unusual to work 15-18 hour days for 6 or 7 days each week, with all nighters to punctuate the deathmarch. We began referring to ourselves as "Slackers" for not working the full 24/7.

[+2] [2010-05-14 15:17:45] Loadmaster

Optimize the correctness right out of the code - Excessive application of optimizing code by hand which eventually results in broken code.

We all know programmers who spend far too much of their time trying to optimize methods by hand (eg, re-using variables to save stack space, moving too much code out of inner loops, etc.) rather than spending time getting the code to just plain work properly. It's a fact that at least 80% of code does not need optimizing, since it's run only once or less than 10% of the total CPU time of the program. Overly aggressive hand optimization also obfuscates the source code, making it unmaintainable.

[+2] [2010-05-18 15:44:42] Brian McCord

Parkinson's Disease: I once worked on a team that had some code that had been written by a guy with the last name of Parkinson. This guy's code was so bad that the following conversation was often heard around the office.

Coder 1: Whatcha doing?

Coder 2: Trying to heal Parkinson's Disease in Module A.

[+2] [2010-05-18 05:10:25] Chubas


The mother of all monkey-patches. From a Ruby background; this just came up when a colleague was finding where was a method defined in the object hierarchy. As he couldn't find it quickly, he jokingly suggested to monkey patch everything into the Object class itself.

The term "monkey patch" was derived from "guerrilla patch", which sounded like "gorilla patch". Everything that's old is new again... - Andrew Grimm
Yeah, we weren't aware at the moment of the comment. Perhaps 'King Kong patching' would fit... - Chubas
[+2] [2010-05-17 01:57:00] Maister

Ninja call:

A function call that doesn't call on the function you thought it was supposed to call on, giving either segfault or garbage data back.

[+2] [2010-05-16 02:22:05] Mark Harrison

Sucking Mud

Coined by my old boss, Rick Cline. Now retired, he started his programming career in 1959. Here's the entry I submitted to the Jargon File (aka The Hacker's Dictionary) in 1994.

(Applied Data Research) Crashed or wedged. Usually said of a machine that provides some service to a network, such as a file server. This Dallas regionalism derives from the East Texas oilfield lament, "Shut 'er down, Ma, she's a-suckin' mud". Often used as a query. "We are going to reconfigure the network, are you ready to suck mud?"

[+2] [2010-05-15 01:06:54] Jeff Meatball Yang

Collected Garbage Objects

Those classes that you first wrote when you prototyped the application, only to realize they were flawed in one regard or another. Maybe you still use some parts of them, or have moved them to one of those sad "deprecated" namespaces.

You know you should get rid of them, but sometimes, it's hard to let go...

[+2] [2010-05-14 20:54:33] andypaxo

Code Reuse - Not used in the normal sense of the term, but instead used to refer to parts of our old codebase that seemed to be constructed exclusively by use of copy / paste.

A developer who used to be in my group actually believed code reuse meant copy-and-paste--the code is being reused, right?? :) - Marc Eaddy
[+2] [2010-05-11 14:49:20] mafutrct

Non Breaking Change

In version control, a changeset that is strongly supposed to not break the build, e.g. fixing a typo in a comment.

If the build actually gets broken, you can skip through changes marked as "NBC" to quickly find the most recent actual (possibly-breaking) change, which is likely the culprit.

(4) ... or you could use continuous integration to tell you exactly which commit that broke the build, even if it was supposed to be non-breaking change. - Lasse V. Karlsen
(5) I would look at the "non-breaking" changes first. The committer clearly thought the code was so obviously right that they didn't need to test it before committing. That's probably your culprit right there. - finnw
[+2] [2010-05-11 15:31:05] PoppaVein

Ping Pong Development Methodology - Whack it hard until it doesn't bounce back.

(1) Needs a more complete description. I don't get it :( - andyjdavis
Also known as "using your end-users as QA"... quickly hack something, see if it runs in production, if it fails, hack some more, rinse, repeat... - PoppaVein
[+2] [2010-05-11 08:12:17] Brian Silberbauer


An abbreviation of the term 'a Little To The Left', came about when a micro-manager kept on shoulder surfing while we were developing a web application. He would constantly come around and ask us to move text a little to the left/right/up/down etc, while we were conecentrating on functionality. The term stuck and has taken flight.

It usually refers to something irrelevant to the current development cycle:

"Darryl came up with another LTTL: he wants the orange background changed to puce to see if it 'pops' more. Just get the report working first.."

[+2] [2010-05-11 01:48:11] Robbie

Robocop Build

Ex: "That'll be in qRPSd v 2.Robocop" or "let me compile that with the --robocop flag quick"

Etymology: A small project I'm doing needs to have an initial version released by August. We then want to improve it by August 2011 to include features which are simply not feasible now. Feature request e-mails were always suffixed with "if you don't finish this by next August, robocop is going to break your legs!" and other Robocop related threats.

[+2] [2010-05-11 02:12:12] LukeRazor

Scum Churning Queue

I pattern whereby items on a queue that fail get placed at the bottom so as not to block other items.

[+2] [2010-05-10 13:45:07] Jon Purdy


An inheritance hierarchy with a single root class (the head) with inordinately long chains of classes below it (the tentacles). This can occur due to long chains of interfaces, mixins, or components, especially for a project that doesn't need that level of abstraction. Or, you know, in the Java standard library.

[+2] [2010-05-10 13:50:40] Dean J

Offshored Code

It meets the requirements, but was done by twenty people typing as quickly as possible without chatting with one another first, and because of that, is write-only code.

Normally, it wouldn't be on this list, but I used it (often) to describe the trainwreck that a few domestic developers wrote.

[+2] [2010-05-10 20:10:30] doekman

Copy-Paste Inheritance: this is both a code reuse pattern and anti-pattern.

It can both have a positive and a negative connotation, even to the same person. It depends wether the pattern is helping, or working against you.

[+1] [2010-05-10 19:31:42] Freeman

Harv Features - I wish I coined this but it was somebody else at the company I was working for in 2008. During its start-up stages when the company's founder and CTO, Harvard Young, had free rein over their social network software he would often be enthusiastic in responding to client requests for small customization changes here and there. These changes would quite often be useless during a build-out for a different client, or at the worst, a hindrance to development or implementation work. We ended his practice with the implementation of strict software roadmaps, revision and quality control policies, but not before giving these oddballs the affectionate term "Harv features".

[+1] [2010-05-10 18:58:00] dymaxion

20/20 rule

When ever someone initializes an array incorrectly. Came about after a C programmer initialized a pointer array to spaces (ascii hex 20) then set that memory location Hex (2020) to a string which destroyed code. This code destroyed was in another programmers module. Since then we talk about the 20/20 rule

I like how it plays on the expression "hindsight is 20/20" - John K
[+1] [2010-05-10 13:13:14] Canoehead

Joott - pronounced "JOOT". Acronym for "Just One Of Those Things" used to describe an observation of a system's behaviour that cannot be explained or is deemend insignificant and is therefore shrugged off.

I didn't invent this term. I picked it up from colleagues about a decade ago when working with multidisciplinary groups of engineers, software developers and technicians on large system integrations. There'd be so many loose ends during early days of integration that classifying an issue as a Joott was a way to put it off or forget it.

I'd like to think that once the big issues got resolved, what were Jootts in the early days of itegration did get looked at in the final days prior to shipping. Or maybe they just became the latent defects that second and third line support engineers would have to deal with months later ;)

[+1] [2010-05-10 16:32:46] jon w

I believe "banana banana banana" may have its origins in Douglas Adams's groundbreaking puzzle adventure game, "Starship Titanic". A certain non-player character (Deskbot if memory serves), when unable or unwilling to comprehend player queries, would respond once with the wisecrack "I'm just gonna say "banana" until you start making sense!" ... subsequent player queries it couldn't handle would be met with the response: "Banana. Baaaanana... Banana!"

(9) this should be a comment - sal
Maybe a Futurama reference? - mgroves
[+1] [2010-05-10 14:49:09] SF.

Siamese an ugly method of attaching a section of code that is halfway flexible, API-like, OS-independent, allowing for generic replacements etc, and halfway grown-in, dehermetizing private variables, calling internal methods and generally binding the section in a very monolithic way ( wanted to make it right, but halfway through you decided sharing a global variable instead of opening a socket will save you good 300 lines of code, and so the program can't compiled as a separate module any more).

[+1] [2010-05-11 04:46:09] John Rasch

A**hole Features

Features that are thought of during release planning that add little to no actual value to the software.

[+1] [2010-05-11 12:24:49] Goz

Quantum bug. Its a heisenbug [1] but I didn't think of that play on words ;)


[+1] [2010-05-14 21:32:03] Chuck Richmond

Productionize - The act of stabilizing a system after the users have accepted it.

This is a common term used by executives where I work.


"Just deliver the system, we can productionize it after they've accepted it"

Also used for project names as in:

ERP System Productionization

[+1] [2010-05-16 23:16:44] Nick Bedford

"Sorry, Sir" Bug

A bug caused by an externally developed API, tool or system that means you can't actually correct an issue. Even work-arounds haven't worked. You just have to live with it.

[+1] [2010-05-16 23:50:49] Nick Bedford


The program you made in Win32 a while back. You'd rather rewrite in C# than subject another programmer to its horror.

typedef struct tagHORROR { int unused; } HORROR;

[+1] [2010-05-17 09:50:08] detly


On a not-so-small C project, making a stupid and difficult to spot typo (or other dumb error) in a header file included in just about every compilation unit. Depending on your compiler settings, the results range from a single error message to hundreds. Depending on sleep levels, prevailing sanity, etc, time to fix can range from seconds to intervals best measured in multiples of the time it typically takes you to find your keys when you're already running late for something.

(For added word play, pronounce it to rhyme with "elide," because that's what your vision centres will do to the mistake when you look for it.)

(1) I'm reminded of when a fat-finger typo removed a critical parenthesis (or maybe added one?) from a very common macro in a large C project. Not one file in the make -k clean build run would successfully compile and the errors were legion, sometimes hundreds per file. OK, I found it rapidly but the first thought on seeing the build log was definitely “WTF!” Added bonus points if the compiler produces so much output per file that your terminal no longer contains the first location of the error… - Donal Fellows
[+1] [2010-05-18 06:20:40] dkris

Device Specific Issue

Issues that spring up in a mobile/WAP site, where the site renders perfectly fine on one handheld device and renders shabbily on another handheld device

Sorry folks. This deserved a -1 for not adding an image :) I am new on SO and will catch up soon. - dkris
[+1] [2010-05-18 07:40:09] Irwin

Cheezing - Problems. As in when an application gives problems, its cheezing. Alternatively, if an application produces something that is problematic, that output is referred to as 'cheez'.

Admin: The application ended inexplicably, and there's nothing in the log file.
Developer: That's a lot of cheez.

"There must be dozens of them. We're going to get CHEESED." (Like creamed, but it goes on for a lot longer.) ~ Night Watch, Terry Pratchett - detly
I can has problem's solution? - Windows programmer
[+1] [2010-05-14 15:56:03] Dan Menes


Any part of a program that isn't used anymore, but got left behind, on purpose or accidentally, as a memory of an earlier time. For example, an API method that nobody uses anymore, but has to be kept for backwards compatibility. Or a function that, after refactoring, isn't actually called anywhere, but whose definition you forgot to delete.

Outside of programming, it refers to a text that was erased and overwritten with something else in order to reuse the parchment, but the original text can still be just made out.

And thanks to optimisations they don't bloat the binary! - Nick Bedford
(2) We call those "Wilted Celery" as in, "I saw some wilted celery in the fridge but I left it there in case someone else wanted it..." - Brian Postow
[+1] [2010-05-14 13:19:39] Clean

Greaser hack, or in my own native language (swedish) "Raggarhack" - A piece of very badly written software.

jdk: Thanx for the edit! - Clean
@jdk: Fulhack is what we use Swedish. The English equivalent would be 'uglyhack', but that has too many syllables. - Macke
[+1] [2010-05-14 16:17:58] Joshgenti

This is a follow up to the earlier Higgs-Bugson [1] one.

Grand Programmed Theory (GPT) states that all project forces within the field of computer programming can be combined into one set of equations dictating any and all possible behavior. Those factors, the electromagnitized servers, weak programmer forces, and strong end user forces and the various effects of these force interactions consist of the GPT. Since the critical Higgs-Bugson particle’s existence has yet to be confirmed, the GPT still remains incomplete.


[+1] [2010-05-12 04:15:36] Kartik

Humphrey Appleby

From the series Yes Minister/Prime Minister to describe a person who has a roundabout or exaggerated way of describing things that have gone wrong or have been implemented. For example:

When I say I am overstretched, I was of course talking in a sense of total cumulative loading taken globally, rather than in respect of certain individual and essentially anomalous responsibilities that, logically speaking, are not consonant or harmonious with the broad spectrum of intermeshing and inseparable function, and could indeed be said to place an excessive and supererogative burden on the office, where considered in relation to the comparatively exiguous advantages of their overall centralisation.

[+1] [2010-05-12 12:26:30] EdgarVerona

X-Coffee Report/Process - The X-Coffee Report/Process is a report or process created by a developer at some point in the company that is so slow and takes so long that you can measure the time it takes from initialization to completion in the number of cups of coffee you can retrieve, bring back to your cubicle, and drink to completion. Replace "X" with the number of coffee cups you think you could drink during the amount of time it takes to run, and select Report or Process based on whatever it is that you're kvetching about taking too long to finish.

Usage example: "Yeah, I heard there's a problem with our settlement reports. I sat there all afternoon waiting for it to process: it was a three coffee report."

[+1] [2010-03-12 15:13:32] Mark Schultheiss

PAIN - Plan All Incremental Needs - it will change and will need to be maintained - ease your PAIN. Documentation goes a long way in this regard. Document what you do like you will have to maintain and enhance it and ease your pain and that of others. What is YOUR pain level? If you don't document it, it does not exist. (HOW you ease your pain is up to you). How many times have you written some "quicky code" that still existed years later? Was it a PAIN to maintain?

[+1] [2010-03-17 14:08:02] raghava

procramming [proh-cram-ming] The process of preparing to clear a lab examination/internal by a student from Computer/Information Science Engineering by mugging up all the programs in the syllabus.

Yes. There is a university which lists programs in the syllabus, and procramming happens for real.

[+1] [2010-03-13 19:43:32] FOR

Commify merge a list of terms using commas.

So if the input is ["A", "B", "C"] the output is "A,B,C". I won't claim to have coined the term, but never heard of it until I joined this team.. and actually found it used as a method name.

DSV Dot-Separated-Values, a format similar to Comma-Separated-Values; I'll leave you to guess the difference. e.g.: Model.Child.Grandchild.And.So.On.Till.ALeaf !

I've sen the term used for adding commas to a number every 3 digits to make it more readable, for example 10 million becomes 10,000,000 - bart
[+1] [2010-05-01 00:19:28] Kevin L.


Because it's more fun than saying "encrypted". From a fellow intern back in the college days.

[+1] [2010-04-22 17:23:41] rlb.usa

Magic Number

A seemingly unusual and unexplained value that is used in a program and "makes it work".

(6) You invented that new programming jargon? OK, you're 88 years old so maybe you were really productive in your youth. Have I read some of your textbooks? - Windows programmer
^oops. Heard it from someone else. - rlb.usa
(2) I used "black magic constant" for this. - Joshua
[+1] [2010-05-10 01:46:36] J Wynia

H2IK Sequence

I first heard it on the TV show "Defying Gravity", but I adopted it.

When faced with a situation or problem that doesn't make sense, you run an "H2IK Sequence".

It means "Hell If I Know" and boils down to starting at the beginning and working the problem methodically to figure out what's wrong.

[+1] [2010-05-05 05:59:32] sum1stolemyname

Went to/ Is in the woods - the action of a program crashing or locking up, usually by trying to dereference a dangling pointer or through a data race in a parallel application. (Originally in German , "Ist im Wald", but it translates quite fine)

I've long adopted "is in the weeds" for this situation. - Paul McGuire
(3) In bavarian dialect "Woods"/"Wald" is pronounced like void - Filburt
[+1] [2010-05-10 08:13:24] Bas

Flock the Mocks / Flock Mocking - Using alot of mocks in a single test using a automated mocking framework like Moq or RhinoMocks and therefor create a test which is barely readable.

(Mocks as derived from Mockingbirds that flock in a single Unit Test)

[+1] [2010-05-19 10:01:06] petert

Bug-date - when a critical bug-fix release isn't enough, you have to include lots of new updates and features; probably because your bug fixes just don't seem enough for the end user.

This is to make the customer to extend the support contract, isn't it? "We have all the old bugs fixed. But wait! There are new ones!" - SF.
[+1] [2010-05-19 00:31:47] Bruce

Using names of team members as past-tense verbs as in "I've been 'Hughed'" or "I've been 'Douged'" when you spend hours looking for the source of a problem and then realize who implemented it.

[+1] [2010-05-21 09:13:13] Macke


Coined yesterday. We resetted our system by going from non-emulated mode, to emulated mode, back to non-emulated mode.

(This had to do with motor control...)

[+1] [2010-05-21 09:17:25] Theofanis Pantelides

Bake Cookie - Set/nd client a cookie

[+1] [2010-05-21 08:35:22] volley

Dualton. Like singleton, except.. there's two.

(My head seems to have evicted the reason for why this was needed; I do recall it was horrible.)

(1) Usually called doubleton... - Macke
@Marcus In our case we had some freak inverse case of "kärt barn har många namn" (roughly "Success has many parents and failure is an orphan"); apart from dualton and doubleton we also called it biton, etc. Hmm do you happen to know of any cases where it's actually a usable construct? - volley
Using two threads and different objects in Thread Local Storage that are accessed globally and created lazily is sort of a doubleton. :) But I'd be very careful about calling a doubleton a "usable construct", just to avoid baiting trolls. :) - Macke
I found a useful case. The database access master control object is usually a singleton but might become a doubleton under obscure circumstances (yea, we're merging databases through the application layer because it can talk to two databases behind two different firewalls). - Joshua
[+1] [2010-05-21 08:40:44] scherand

Not exactly programming jargon, but it can help to communicate.

Haribo Look-And-Feel: specifically for the default Win XP theme (the one with the Teletubbies Background (you know, green grass and blue sky...)). But can be used for other "soft looking" UI experiences as well.

Haribo Goldbären

(2) More common term is "Fisher-Price" after the kids toy producer (may be more of a UK thing). - ireddick
[+1] [2010-05-21 08:51:17] Karl

bug flipper - from joel on software [1]


[+1] [2010-05-24 08:01:58] Boris Lipschitz

Goose Chase

Or Wild-Goose Chase is usually related to investigating a very tricky bug with the following conditions:

  • There are not enough clues and the area of the potential buggy code might be huge.
  • It doesn't make any sense what could go wrong.
  • The only approach might be just browse through lots of code to find a problem.

[+1] [2010-05-25 15:13:20] Gary

Summer of George Working on a project that the architectural decisions are so counter intuitive that we continuously say "summer of george"

some further explanation.. I took a little poetic license with this one.. basically we decided that in order to get along with the decisions on this project we had to do the opposite of what we thought.. And was reminded of the Seinfield espisode: But saying "The Opposite" didn't have a good ring so instead we said "Summer of George": which is really something all together different but has a nice ring.. :-) - Gary
[0] [2010-05-20 23:38:55] Matt S.

double equal syndrome

When you either use '==' incorrectly, or when you don't use it at all when you should

[0] [2010-04-23 06:04:59] Corey


Not a term of my own, but rather an inside joke of a class I took. My professor would stumble words quite a bit, and there was a section on setting security permissions on disk partitions. The class got a laugh out of it, and anything from then on dealing with "partition permissions" was replaced with "parmissions."

[0] [2010-03-21 21:16:00] KindDragon

Kuzmich - code written just to get around a bug in a very specific situation enabled by the key in the settings.

[0] [2010-05-14 16:00:10] Dan Menes

Twenty-thousand-foot fire drill

I didn't invent it--it was a popular term at my last place of work. Refers to a really big project that is really far behind schedule and has a deliverable due tomorrow.

It is a conflation of two phrases that one of our partners liked to use: "Just give me the twenty-thousand foot overview," (meaning give me the big picture, but spare the details), and "We're in a fire drill" (meaning we're on charrette to meet a deadline).

[0] [2010-05-13 23:28:23] Joshua

Gurjeet Code

We had this software engineer who was fond of writing code by copy, paste, and modify, and would maintain all copies. He also used strings as enums. Then he left.

Now everytime we run into copy paste and modify we call it Gurjeet code in annoyance.

[...] Then he left. Muhahaha - Dercsár
[0] [2010-05-18 20:17:40] iconiK

Gold Plating -- Joel Splosky in Make Better Software - Schedules [1]

It means adding features that are unimportant (as little as to be useless).


[0] [2010-05-11 15:35:17] Brian Postow

I haven't seen it here yet, and I'm sure that many people think that they coined this, but I independently came up with "to play captain obvious" as a dubugging technique. In CS 1, when you have a missing semicolon, or whatever, if you haven't found it in 20 minutes, you're not going to find it. But your friend, looking at the code for 30 seconds will see it immediately.

In college I actually had a friend make a super-hero style cape, and sometimes (usually really late at night) when asked to play captain obvious we'd duck behind the desk, put on the cape and fly to the rescue (With the help of rolly chairs)

[0] [2010-05-10 13:58:16] Neel Basu

ROM (Request/Response Object Model) Used for Web Application. Coined By An Adapter Applied on HTTP request Parameters to access them safely in an Object Oriented Way

[0] [2010-05-10 14:12:05] Neel Basu

BāngKshetrā a Special type of Distributed Blackboard Implemented for Self Communicating Adaptive Website.

Bāng Partial/Complete Solution Container.

BāngKnetrā Observer on the Blackboard

These are inspired by the Blackboard System. It is being implemented in Web Application in a generalized way.

[-3] [2010-05-13 09:51:24] Victor M. Alvarez

Stolen source

After Windows NT 4.0 and Windows 2000 source code was leaked, I use to say that Windows is a stolen source operating system.

[-6] [2010-05-12 23:15:35] Giancarlo Corzo

Spaguetti code

When you look at others works for hours and don't understand anything because is too mess up.

(6) And you coined this one yourself? Hardly. - DevSolar
(1) I know I heard the term "spaghetti code" sometime in the late 1970s. - DarenW
(1) Also failed to mention why "Spaghetti code": because of a completely unstructured control flow (usually using lots of 'goto') that makes any flow chart look like a heap of spaghetti. - DevSolar