457 reputation
27
bio website
location
age
visits member for 1 year, 11 months
seen Jun 20 '13 at 5:31

May
21
answered How to avoid code duplication across unrelated projects
Apr
23
awarded  Yearling
Nov
2
awarded  Good Answer
Jun
14
revised Learn programming backwards, or “so I failed the FizzBuzz test. Now what?”
Add link to why PHP is bad
Jun
14
suggested suggested edit on Learn programming backwards, or “so I failed the FizzBuzz test. Now what?”
Jun
14
comment Learn programming backwards, or “so I failed the FizzBuzz test. Now what?”
PHP is a horrible programming language and you should not try to learn programming by using PHP. Learn Java, and learn programming by coding in Java, because it was specifically designed to be easy to learn and hard to screw up. It also forces you into many helpful programming patterns that are important to learn even if they can be tedious at times. There is also a ton of example code, tutorials, and other instruction in Java freely available.
May
31
answered When calculating how many days between 2 dates, should you include both dates in the count, or neither, or 1?
May
30
awarded  Nice Answer
May
29
comment Stuck due to “knowing too much”
@Phil, my main point is that writing tests is not a good solution to the OP's problem since the OP is talking about a system architect's role. My more controversial opinion is that TDD encourages bad design, not good design, much as teaching to a standardized test in high school encourages memorization over thinking, but that is definitely off-topic.
May
29
comment Stuck due to “knowing too much”
@kaoD, the architect's job is not just to make code that works, but rather to design a maintainable and extensible framework that makes current development efficient and that also makes future enhancement and maintenace efficient. Writing tests does not help that process.
May
29
awarded  Critic
May
29
comment Stuck due to “knowing too much”
Testing can never prove the absence of bugs. Just because your toasts pass does not mean you're done. Your tests can at best show that a very very very small subsample of statistical insignificance of the possible inputs to your program produce the outputs you think they should. That's not even close to proving the program is correct. In any case, writing the tests does not help you architect solution that is extensible and maintainable going forward.
May
29
revised Stuck due to “knowing too much”
added an example
May
29
answered Stuck due to “knowing too much”
May
25
awarded  Nice Answer
May
23
comment Dependency injection: How to sell it
@Lee, configuring DI in code is even less useful. One of the most widely accepted benefits of DI is the ability to change the service implementation without recompiling the code, and if you configure DI in code then you lose that.
May
23
answered What is the most complicated data structure you have used in a practical situation?
May
23
revised Dependency injection: How to sell it
Improved formatting, added summary info regarding Dijkstra's paper
May
23
revised Dependency injection: How to sell it
Elaborate on reducing complexity
May
23
comment Dependency injection: How to sell it
@Ricky, it's a subtle distinction. Like I said, engineers can add complexity, and that complexity can be taken away, so you may have reduced the complexity of the implementation, but by definition you cannot reduce the complexity of the of the optimal solution to a problem. Most often what looks like reducing complexity is just shifting it somewhere else (usually to a library). In any case it is secondary to my main point which is that DI does not reduce complexity.