608 reputation
410
bio website code.google.com/p/paradice9
location United Kingdom
age 36
visits member for 3 years, 6 months
seen Apr 8 at 11:25

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.


Apr
4
comment 5 year old finds Xbox security bug but how did it get there?
Could well have been a backdoor left behind after testing.
Mar
25
comment Is “Explain the RAII idiom” a good C++ screening question?
Ok, I can only presume you're arguing in bad faith now. Over and out.
Mar
25
comment Is “Explain the RAII idiom” a good C++ screening question?
@Satanicpuppy At which point I reiterate my previous statement. If you have not done enough research into your craft to know the lingo for a highly popular and useful idiom that has been around for 20 years, then what are the chances that, after say five years, your knowledge will have grown? Will you be self-motivated enough to keep up with the technological trends that make you good enough for the next project and not just this one?
Mar
25
comment Is “Explain the RAII idiom” a good C++ screening question?
RAII is a foundational concept of good C++, and the term has been around for at least 20 years. I think that dismissing it as trivia is somewhat unfair. While you can have good C++ developers who don't know the term, for me it smells of someone who does not research their craft.
Feb
21
comment Why can't native machine code be easily decompiled?
It is difficult to make a cow out of hamburgers.
Nov
29
comment What if I will not use Software Design Patterns?
"Design Patterns" is a lexicon, not a technique.
Oct
25
comment What can go wrong if the Liskov substitution principle is violated?
@Giorgio Yes, I should have mentioned that this problem only occurs with mutable objects.
Oct
19
comment How to verify the Liskov substitution principle in an inheritance hierarchy?
+1. This is almost exactly the same answer as the one I made to another LSP question yesterday.
Aug
17
comment Should I take care of race conditions which almost certainly has no chance of occuring?
One in a million chances happen nine times out of ten.
Aug
8
comment How big does my project need to be for me to unit test it?
Surely you should start earlier, at the 0 class/0 function point... if you're following TDD :)
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
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).