13,087 reputation
63173
bio website lshift.net
location London, United Kingdom
age 39
visits member for 3 years, 10 months
seen 20 hours ago

Delphi/Objective-C/C#/Ruby/Scala programmer by day, Lisper/Smalltalker by night.


Jun
18
answered Determine Programming Language Used for Project Based on Source Code
May
14
comment Do you really have to do BDD/TDD in a test first manner?
Feel free to substitute "test" with "behaviour". I haven't seen anything to convince me that, at heart, there's much difference between TDD and BDD. Focus, maybe. But the core idea? Not so much.
Mar
31
awarded  Great Answer
Feb
20
reviewed Approve suggested edit on ansi tag wiki excerpt
Jan
30
awarded  Nice Answer
Jan
24
awarded  Good Answer
Jan
19
reviewed Approve suggested edit on mvp tag wiki
Jan
19
reviewed Approve suggested edit on mvp tag wiki excerpt
Jan
18
comment Looking for Case Studies of How TDD Improved Quality and/or Speed of Development
@user1249 TDD doesn't say "write all the tests before writing any code". It says "write a single test that fails, and a single thing to make it pass; repeat as necessary". If you write all your tests first you lose the tight feedback loop between test and production code, which is one of the very reasons to use TDD in the first place.
Jan
8
comment What do you deliver in the first couple of iterations in Agile?
"Set up the delivery process" is much harder than people think.
Jan
3
reviewed No Action Needed Service Design approach - one generic operation, and its implications
Jan
3
reviewed No Action Needed Best way to notify the client in real time that their queue (e.g. SQS) job has finished?
Jan
3
comment What is the relation between clojure reducers and loop fusion
I'm not an expert here, but I think that the reducers library take the separation of concern a bit further. Clojure reducible maps to Haskell's Foldable, but as far as I can tell, the reducing function part doesn't have a direct analogue in Haskell.
Jan
2
answered What is the relation between clojure reducers and loop fusion
Dec
24
comment In C++, how much programmer time is spent doing memory management
@gbjbaanb: I know. Isn't that what I said? When the resource-acquiring stack frame is finally pulled off the stack, C++ ensures all destructors are run. Since the resource is in use based on the lifetime of the stack frame, its lifetime is dynamically scoped.
Dec
23
comment In C++, how much programmer time is spent doing memory management
@Giorgio that's what C# people would recognise as a using statement. It's still lexical resource management. RAII is the dynamically scoped version: a resource is available while the resource-acquiring stack frame's still active. (At least, as far as I understand RAII from arguing with my C++ colleague.)
Nov
1
awarded  Good Answer
Oct
11
revised Data encryption/protection - where to find info about high-level best practices
added 529 characters in body
Oct
8
reviewed Approve suggested edit on why javascript is widely used scripting language in web applications?
Oct
1
comment What can Haskell's type system do that Java's can't and vice versa?
Subclassing is not subtyping!