13,179 reputation
23757
bio website
location United States
age 43
visits member for 2 years, 3 months
seen yesterday

Feb
2
awarded  Good Answer
Jan
8
awarded  Yearling
Dec
20
awarded  Custodian
Dec
20
reviewed Leave Closed What format is the data going to Windows print drivers?
Jul
27
comment Does it look bad to take a break between programming jobs?
Whether you decide to take a break or not, do not tell your potential employer about the reasons that you have quit in the same way as you did in this post: it sounds like you are complaining. You can say the same thing in a more positive way - for example, if you tell them that you are looking for a shop with more disciplined approach to code construction, you would tell the same story without expressing your negative judgement of your former company.
Jul
19
answered Should I repeat condition checking code or put it in a function?
Jul
17
awarded  Nice Answer
Jul
17
comment How to Protect Intellectual property violations from one's own team
They can always cause trouble with code that they write, and also with the code that they see because their code must integrate with someone else's code. If you do not have full trust in these people, do not bring them in as partners.
Jul
17
comment How to Protect Intellectual property violations from one's own team
The answer depends a lot on the country: in the United States you could have your lawyer draft a non-disclosure agreement, and have your partners sign it. Enforcing it would be tough, because you would have to prove wrongdoing beyond a reasonable doubt, but it is doable, at least theoretically. In Russia, on the other hand, you would have to rely on personal trust, or do it yourself: even if you had an agreement in place, law enforcement system would not get in the middle of your conflict unless there are money in it for them.
Jun
4
comment What's the benefit of avoiding the use of a debugger?
@EpsilonVector Again, sometimes people simply do not pay attention: humans are quite unlike computers at that. So reaching for a debugger means nothing at all. Continuing your car analogy, consider jumping into your car to go to a corner store three blocks away. I know people who do it, and I know people who do not do it; the "need to travel long distances fast" is quite irrelevant to their decision.
Jun
3
comment What's the benefit of avoiding the use of a debugger?
@EpsilonVector I see nothing in the question to support your assumption. If you are the author of a code with the bug, you may have missed something the previous time, perhaps because you didn't pay enough attention. Sometimes, knowing the value that causes failure is enough to re-evaluate your mental map of the code. For example, someone telling you that the code crashes when he enters a negative number may be enough to recall that you considered only positive entries before. If you are looking at other people's code, you can map it out as you read it, especially shorter fragments of it.
May
10
comment How should I behave as a developer in a project that's headed for failure?
+ 1. One thing I'd add is that when management decisions seem stupid to you, there is a slight chance that they actually have good reasons that you have no visibility into, but most of the time they are indeed stupid. Of course it is in management's best interest to convince you otherwise ;-)
Apr
29
comment What is a good analogy to explain how software development is different than building a bridge?
It's hard to compete with one of a few celebrities among the programmers: even even after 30+ years Dijkstra's explanation is hard to beat. It's targeted at hardware designers, but bridge designs often fall into the same category.
Apr
12
comment Is path coverage stronger than condition coverage?
@Rogerio In the common definition of path coverage a "path" is defined in terms of lines of code, not in terms of execution paths. It leaves out the low level stuff on purpose, shielding the measure from implementation details. For example, in Objective C you can legally call methods on null objects: instead of an exception, you get the default value back. On the low level, doing that involves a conditional, but it's a single path as far as the path coverage is concerned. The fact that in practice testing that conditional is the right thing to do changes nothing.
Apr
12
comment Is path coverage stronger than condition coverage?
@Rogerio Nowhere did I argued that the code required two tests instead of (at least) three, only that according to the commonly accepted definition of path coverage the code has only two paths, not three. The definition considers each branching point (i.e. an if statement or a loop header) a single path-altering point, no matter how complex its underlying condition might be. In fact, there lies the reason why path coverage is not as good as the condition/decision coverage.
Apr
12
comment Is path coverage stronger than condition coverage?
@Rogerio From the Wikipedia link: "Full path coverage, of the type described above, is usually impractical or impossible. Any module with a succession of n decisions in it can have up to 2^n paths within it". In the OP's code there is a single decision to make; the fact that the decision itself relies upon a composite expression, with or without short-circuiting, has no bearing on the number of paths through the code: there are still only two path through that conditional - one for when the entire condition is true, and another one for when it is false.
Apr
11
comment Is path coverage stronger than condition coverage?
@Rogerio Three different paths exist only according to your own, personal, definition. According to the commonly accepted definition, however, each decision point creates a single fork in the path, meaning that there are exactly two paths through the code in question. You are welcome!
Apr
1
comment Performance overhead of standard containers and boost
@Nawaz How much memory is "too much"? With mainstream smartphones sporting a gigabyte of RAM, I think it's a fair game to save development effort at the expense of a somewhat wasteful use of memory. Of course I do not mean that it's OK to be completely profligate with memory (perhaps, yet) but most of the time you can avoid this in Java anyway by following your common sense.
Apr
1
comment Performance overhead of standard containers and boost
Can you point out ten differences between "reusing memory" and "rolling your own malloc"? I mean, lookaside lists are good and everything, but really, what else is there?
Apr
1
comment Performance overhead of standard containers and boost
When someone says to me that he does not want to use standard XYZ "for performance reasons", I translate this as "I love reinventing the wheel".