24,691 reputation
241101
bio website
location Dallas, TX
age
visits member for 4 years, 3 months
seen May 20 at 21:07

I've been programming since I was 15. I started with APL at the Hampshire College Summer Studies in Mathematics in 1974. At Carnegie-Mellon I learned FORTRAN, and ALGOL/W, and Pascal, did a lot of TOPS-20 assembly programming hacking the MM mail reader, a fair bit of TECO programming customizing the first versions of Emacs, and a bit of INTERLISP and SAIL. After graduating, I have worked in BLISS-36, a tiny bit of Cobol, a decade of C, lots of Perl and EMACS-LISP, C++, Ada, Tcl, C#, Java, Python, Ruby, JavaScript, and lately some Groovy.


Dec
15
comment Best way to find whether a collection does or does not contain an element with a specific desired quality
It's not enough for the inner containers to be immutable. Your suggestion only works if the objects in the collection are also immutable.
Dec
12
comment Confusion about associations in UML class diagram
-1: Where did "Plane" come from? There's no hint that this system needs to do anything with equipment.
Dec
12
comment Confusion about associations in UML class diagram
RobertHarvey is right, but realistically you can't make any useful UML diagram without knowing generally what the system is supposed to do. Building UML diagrams in the absence of use cases is futile. A group at American Airlines once spent 18 months with SoftwareThroughPictures making UML diagrams of airline operations, and they still weren't finished. Finally someone picked a real problem to solve, and all that work was ignored. All the "analysts" went off to find another position with no measurable deliverables.
Dec
10
comment Is there ever a reason to use an array when lists are available?
"Because a method returns an array" -- this is a misfeature of Java, forcing programmers to crap up the code with "Arrays.asList(x)". T[] should at least implement Iterable<T>
Dec
3
revised Generate algorithm to solve peg solitaire
Retitled question with "peg solitaire"
Nov
13
awarded  Nice Answer
Nov
13
comment When should you start unit testing? (during which development stage?)
As much as needed, but as little as possible. You don't want tests for a calling unit to depend on complex behavior in a called unit.
Nov
12
comment Why in cyclomatic complexity we add 1 for operators within a condition?
@ratchetfreak you mean "if A is true"
Nov
12
answered When should you start unit testing? (during which development stage?)
Nov
11
comment How can I convince management to deal with technical debt?
It's fine that he said that, but does the company reward quality or do they reward speed above all else?
Nov
11
revised Is it considered a bad practice to add logic in a property setter?
added 24 characters in body
Nov
11
comment Which design pattern is more suitable for logging?
Java already has 17 logging frameworks and meta-logging frameworks (slf4j) and probably some meta-meta-logging framework and none of them work for you?
Nov
7
comment Proper Model-View-_____ design
For modern single-page web applications, we are back to the classic MVC pattern on the client side.
Nov
6
comment How to detect subtle changes in a website?
Are you trying to test web content built in your organization, or to drive web pages that are completely out of your control?
Nov
6
reviewed Close how to traverse towards child node from parent node in n-ary tree?
Nov
5
comment How to avoid spaghetti code when I have a lot of conditions?
"Spaghetti code" means a tangle of control flow or state or dependencies, e.g. class A sets global X then calls B which sets Y which calls C which checks X and maybe sets Z and then calls back to class A... You just require a moderately complex boolean expression.
Nov
3
comment Do any notable C extensions include integer types whose behavior is independent of machine word size
Have you tested this?
Nov
2
comment Should a getter throw an exception if its object has invalid state?
@AgostinoX: classes that only permit certain methods to be called in certain states should be avoided, but if they cannot, then those methods should throw "IllegalStateException". It doesn't matter if those methods are "getters" or not.
Oct
29
comment Should one value simpler code over performance when returning multiple values?
Have you compiled this? It doesn't, you know. Maybe you want to eliminate the (for j...) loop? And you could just write return new String(arr).replaceAll("[^ab]", "")?
Oct
22
revised Should service layer catch all dao exceptions and wrap them as service exceptions?
added 60 characters in body