12,173 reputation
52944
bio website
location
age
visits member for 4 years
seen 2 hours ago
Very senior embedded real-time systems programmer (Texas law is very picky about the use of the term "engineer"), unsuccessful candidate for U.S. Congress, and unreconstructed Cold Warrior.

May
30
awarded  Good Answer
May
30
answered Which is more expensive multiple conditional branches or multiple relational expression in a single condition?
May
16
comment I am making 4-5x more story points than average, but producing bugs at half the rate. Graphs say it's 2x more bugs, how to deal with that?
@Telastyn, there are some important domains where "good" is just plain NOT GOOD ENOUGH. Review the Therac-25 case for one example. (Note: Therac-25 is not the best case to review. A competent hardware design would have included a MECHANICAL interlock on the beam power level control, so the high-power electron beam mode could not be engaged unless either the X-ray target or a special testing adapter was mounted properly in the beam path.)
May
16
comment I am making 4-5x more story points than average, but producing bugs at half the rate. Graphs say it's 2x more bugs, how to deal with that?
@mrjoltcola, again, read up on the Message Flow Modulator. They used a language, and a programming system, that was specifically built around formal proof of correctness as well as "testing". Part of the problem is that C is inherently unsafe and unverifiable, C++ is worse, and Microsoft Windows is a veritable morass of bugs and stuff, meaning that any attempt to write bug-free code in that environment is likely to be quite a bit more difficult.
May
16
comment I am making 4-5x more story points than average, but producing bugs at half the rate. Graphs say it's 2x more bugs, how to deal with that?
@mrjoltcola, see also the US Space Shuttle avionics. There was exactly one bug in the code when the bird retired. It was a growth provision, for a second robot arm, that was ultimately never done. The review committees looked at it, and determined that (a) it did no harm to anything, and (b) it would cost more than it was worth to "fix" it, because of part (a).
May
16
comment I am making 4-5x more story points than average, but producing bugs at half the rate. Graphs say it's 2x more bugs, how to deal with that?
@mrjoltcola, read up on the Message Flow Modulator project at UT Austin in the late 1970s/very early 1980s. Zero-defect code IS possible, and it is not that hard to do, IF you use the right tools and the right people and the right mindset.
May
14
answered Is lack of whitespace a sign of a cargo cult programmer?
May
11
answered Standardized Programming Languages
May
10
answered Do commercial statistical calculators calculate with a high degree of arbitrary precision or just floating point precision?
May
8
awarded  Good Answer
May
7
comment Why were short, int, and long invented in C?
@Mehrdad, there are platforms where the obvious choice for short is NOT 2x sizeof(char). The Harris 24-bit superminicomputers come immediately to mind. Some PICs and some DSPs have similar characteristics.
May
7
comment Writing in C for Performance?
The virtual function dispatch overhead is just about negligible, unless you have gone WAY overboard on decomposing and making things virtual. The vtables will be small compared to the rest of your code and data, and the indexed branch through the vtable adds a few clocks to each routine invocation. Given that routine invocations, all up, call to return, will be anywhere from a few hundred to a few million clocks, the vtable branch will be buried in the noise floor.
May
6
answered Is there a metric that can be equated to complexity in laymens terms?
May
6
comment Is recursive code slower than non-recursive code?
See also stackoverflow.com/questions/34125/…
May
5
comment Is recursive code slower than non-recursive code?
@delnan, Steele's paper explains TCO and shows that TCO is not particularly difficult to implement: it is a very straightforward code generator optimization IF the code generator sees stacking the return address and jumping to the subroutine as two separate operations, and then allows the optimizer to decide whether it actually NEEDS to stack the return address, or any intermediate data. If the optimizer decides it does need to do this, it generates a CALL. If the optimizer decides otherwise, it generates a plain jump.
May
5
comment Is recursive code slower than non-recursive code?
@delnan: Read Guy Lewis Steele, Jr.. "Debunking the 'Expensive Procedure Call' Myth, or, Procedure Call Implementations Considered Harmful, or, Lambda: The Ultimate GOTO". MIT AI Lab. AI Lab Memo AIM-443. October 1977. repository.readscheme.org/ftp/papers/ai-lab-pubs/AIM-443.pdf
May
5
comment Is recursive code slower than non-recursive code?
@m3th0dman, in this, the second decade of the 21st century, pretty much ALL production-quality compilers support tail-call optimization. There was a StackOverflow question about strange 8051 code generation (may have been PIC), that turned out to be tail-call optimization. Read the various "Lambda: The Ultimate ..." papers from the MIT AI Lab, from decades ago. Tail-call optimization is in fact a very straightforward code generator optimization.
May
5
revised Is recursive code slower than non-recursive code?
In 3rd paragraph, change "and then" to "and" to remove implication of preorder-only traverse. A tree node can be traversed in three fundamental ordersL preorder, inorder, postorder. "And then" strongly implies preorder.
Apr
30
comment Are random number generators security holes?
Or do other things. There was an interesting case in Las Vegas some years back. A mathematician observed some electronic gambling machine in operation, realized that the random number generator it used was not all that good, and proceeded to "play" the machine for a LARGE amount of money. The casino sued, claiming he cheated. I never heard how the lawsuit came out.
Apr
30
reviewed Leave Open Finding all subsets of a set running time