618 reputation
410
bio website code.google.com/p/paradice9
location United Kingdom
age 36
visits member for 3 years, 11 months
seen Aug 29 at 7:51

I am a British software engineer who lives in the Netherlands. I have worked on radio testing of Bluetooth and other wireless communication standards, and currently work in the navigation software industry. I enjoy developing primarily using modern C++, although other languages and dialects occasionally creep in.

I maintain a small terminal server application called Paradice 9, which is used for distributed tabletop roleplaying support.


Jul
25
answered Are unit tests really that useful?
Jul
25
revised Open Source Project: Company to register copyright
added 127 characters in body
Jul
25
answered Open Source Project: Company to register copyright
Jun
22
answered Do I need a license before selling software?
Feb
21
comment Is musical notation Turing-Complete?
D.S. Al Coda is surely a conditional branch of sorts, as are the numbered parts of a repeat section.
Feb
10
comment Is it a good practice to name the returned variable “result”?
I'd say that "result" as a variable is fine, but "calculate" as a function is absolutely not.
Jan
26
comment Never use Strings in Java?
Common sense is anything but common.
Jan
10
comment How to keep a big and complex software product maintainable over the years?
+1 for having two "Keep it simple"s.
Nov
23
comment Should code comments have scope?
If the code and the comments disagree, then probably both are wrong.
Oct
25
comment Does adding unit tests make sense for well-known legacy code?
@Martin I think you missed what I was saying. The point I was making is that you're going to have to test what you do and so the cost in time taken by writing automated tests is somewhat amortized by a cost in time that you were going to pay anyway.
Oct
24
comment Does adding unit tests make sense for well-known legacy code?
@Martin because clearly what you do is code what you think the feature should be, and then ship it. No testing is done at all at any stage... no, wait. As developers, we all test our code (at least by hand) before saying it's done. Replacing "by hand" with "by writing an automated test" is not a 100% increase in time. Frequently, I find it's about the same time taken.
Oct
18
revised Why are exception specifications bad?
Minor editorial change
Oct
14
comment Why are exception specifications bad?
@Lundin A good question. The answer is that, in general, you don't know whether the functions you are calling will throw exceptions, so the safe assumption is that they all do. Where to catch these is a question which I answered in stackoverflow.com/questions/4025667/… . Event handlers in particular form natural module boundaries. Allowing exceptions to escape into a generic window/event system (e.g.), is going to be punished. The handler should catch 'em all if the program is to survive there.
Oct
14
comment Why are exception specifications bad?
@Lundin the same static analysis tool could tell you which thrown exceptions leave your stack, so in this case using exception specifications still buys you nothing except for a potential false-negative that will bring down your program where you could have handled the error case in a much nicer way (such as announcing the failure, and continuing to run: see the second half of my answer for an example).
Oct
14
comment Why are exception specifications bad?
@Lundin it compiled without warnings. And no, you can't. Not reliably. You can call via function pointers or it could be a virtual member function, and the derived class throws derived_exception (which the base class can't possibly know about).
Oct
14
revised Why are exception specifications bad?
added 898 characters in body
Oct
14
answered Why are exception specifications bad?
Oct
8
awarded  Yearling
Oct
7
comment Is it bad practice to define/use “Preset” functions
I would say that pretty much all functions do this in one way or another.
Oct
7
comment Do real-world algorithms that greatly outperform in the class below exist?
To add an example to an otherwise excellent answer: an O(1) method may take 37 years per call, whereas an O(n) method may take 16*n microseconds per call. Which is faster?