12,557 reputation
53045
bio website
location
age
visits member for 4 years, 4 months
seen 55 mins 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
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
Apr
30
awarded  Custodian
Apr
26
comment Legal issues with an NDA that I do not want to sign
+1 for "This is one where you push back and walk away from the table." That was my exact reaction when I first read that part.
Apr
25
comment Why do C# developers newline opening brackets?
@Craig, EVERY programmer's manual from DEC included octal-decimal conversion tables AND a powers-of-2 table. It was part of their standard documentation "look and feel". (I have an old PDP-8 manual, I had a set of PDP-11 manuals, and I had a couple of DEC-10 manuals. They ALL had 'em.) (And I just can't bring myself to toss that PDP-8 manual.)
Apr
25
comment Why do C# developers newline opening brackets?
@Craig, remember, this was at Bell Labs, back when Bell Labs was chartered to "do interesting stuff" that was not necessarily required to be practical for anything. Put smart people in a building, tell them to do some interesting research, move them out of what they do isn't "interesting", and, funny thing, INTERESTING stuff (like transistors and Unix) tends to pop out. DARPA had sort of the same focus, back in the beginning, and they funded a LOT of good work, in the name of basic research.
Apr
25
comment Why do C# developers newline opening brackets?
@Craig, You're right. UNIX started on an unused PDP-7. As far as I know, and was able to check quickly, there was never a PDP-10 (PDP-6, KA10, KI10, KL10, or KS10) implementation of it. The only 36-bit UNIX I found mentioned anywhere was a Univac 1100, that ran as a guest OS under Exec. (And I find myself trying to avoid becoming violently ill at the mere mention of a Univac 110anything...)
Apr
25
comment Why do C# developers newline opening brackets?
One quibble. Unix was never implemented on the DEC-10, only on the PDP-11 (and from there it was ported all over the place).
Apr
13
answered Is byte stuffing required when using a packet field length
Apr
7
comment Can I change operator precedence and associativity in C++?
@gbjbaanb, at least a.add(b) warns me that there's something hinky going on, that I have to track down. Years ago, I had to debug a piece of code, where the guy had done a quick copy-and-paste, and mistakenly wound up overloading '*' to be addition. First, you have to find where he DID it.
Apr
6
comment Can I change operator precedence and associativity in C++?
+1 for the second paragraph. Operator precedence and associativity is built into the common language under the programming language. Operator overloading can make code clear and concise. It can also create some incredible obfuscation. Consider the fun you would have debugging something in which (a+b) != (a+b). (Bad enough that you can't rely on f(x) == f(x).)
Apr
6
comment What process will you use to clarify functional requirements and to gather non-functional requirements?
The fundamental issue is that there is no good, objective way to test for "clear and unambiguous". You would not believe some of the crap I have seen masquerading as "requirements".
Apr
5
answered Is secretive systems development really possible?
Apr
5
comment Is secretive systems development really possible?
ARPAnet was never a classified project. It was built to allow researchers at one facility access to large, powerful computer systems somewhere else, without spending fortunes on travel.