13,607 reputation
33959
bio website stackoverflow.com/users/…
location United States
age 43
visits member for 2 years, 11 months
seen Dec 21 at 11:17

I appreciate all edits to my answers, and promptly approve good edit suggestions.


Dec
23
awarded  Autobiographer
Nov
9
awarded  Good Answer
Nov
7
awarded  Enlightened
Nov
7
awarded  Nice Answer
Sep
8
comment Best practice for packing Java enums?
@Max The rules for enums are not different from rules for other classes: if a class is public, it needs to be in the file at a proper location matching the package name, with the class name matching the file name.
Jul
3
comment Why to use web services instead of direct access to a relational database for an android app?
@bonCodigo It sounds like you may have a specific programming question. You may want to post it on stack overflow.
Jun
3
awarded  Great Answer
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
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.