11,896 reputation
52742
bio website
location
age
visits member for 3 years, 9 months
seen 6 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.

Jul
31
comment Experiments correlating code metrics to bug density
@ThomasOwens: Further, one must recognize that the Halstead metrics are inherently retrospective. You cannot measure the Halstead metrics of software you haven't written yet. On the other hand, it IS possible to estimate raw SLOC for a given task, and, given detailed enough specifications and a little experience, it is relatively easy to come pretty close on the estimate. Further, it is VERY easy to compare estimates to actuals, to fine-tune one's estimating heuristics, and calibrate one's cost estimator. General Dynamics/Fort Worth did a lot of work on this in the early 1980s.
Jul
31
comment Experiments correlating code metrics to bug density
@ThomasOwens, the question of whether software effort, and hence cost and schedule, may be estimated directly from estimates of raw SLOC has been done to death. After considerable research on real project data, the question was resolved, in the affirmative. See "Software Engineering Economics", by Barry Boehm, 1981.
Jul
30
comment Experiments correlating code metrics to bug density
The Halstead metrics have all been shown to be strongly correlated with raw SLOC (number of source lines of code). At that point, anything that is correlated with any Halstead metric became known to be correlated with raw SLOC, and it is easier to measure SLOC than any of the Halstead metrics.
Jul
25
comment Open Source Project: Company to register copyright
+1 for GPL and be done with it.
Jul
22
answered Lisp Macros: A practical approach
Jul
6
awarded  Necromancer
Jul
1
comment Is this a decent use-case for goto in C?
Usually, the do/while/continue/break hackery only becomes unreadable when the module containing it is way too fricking long in the first place.
Jul
1
comment Is this a decent use-case for goto in C?
-1: First, x and y are OUT OF SCOPE at found:, so this doesn't help you any. Second, with the code as written, the fact that you arrived at found: does not mean you found what you were looking for.
Jun
28
answered Am I getting Scheme wrong?
Jun
25
comment Why are statements in many programming languages terminated by semicolons?
@kevincline: Would you consider the Boeing 777 to be in common use? Every line of the avionics software that flies that airplane is written in Ada.
Jun
21
comment Why are effect-less functions executed?
Counter-based busy waits are usually not the best way to impose time delays, but sometimes they are. In 1993, I was working on a data acquisition system that used a 486/50 and a 16-channel A/D converter board. The board was designed when the PC/AT was the state of the art, and its registers and control logic were physically not capable of responding as fast as the 486/50 was hitting it with setup data. The fix was to add a little 100-instruction inline assembly wait loop after each register write. That gave the board a few microseconds to grind its gears, which it desperately needed.
Jun
20
comment Why does DirectX use a left-handed coordinate system?
Electromagnetics are not the only place that cross product comes up. It also shows up in aerodynamics and orbital mechanics. Flight simulation has to deal with it, and this is where physics coordinate systems and graphics coordinate systems collide. See Minkler & Minkler, cited in my answer above.
Jun
20
comment Is it bad practice for a module to contain more information than it needs?
How much does module A actually need to know about the data item being handed around? Perhaps it would be better for A to fetch the item, pass it to B, receive the pass/fail from B, and then pass the item and the pass/fail to C. Doing it this way, A doesn't need to know anything about what B or C need internally from the object.
Jun
20
awarded  Nice Answer
Jun
20
answered Why are so many languages passed by value?
Jun
19
comment Rewriting GPL code to change license
Rather than ask what's the CHEAPEST way, why not tell us the full story and ask "What's the right thing to do?"
Jun
15
comment faster algorithm for finding all subsets
@Gerenuk, you're over-complicating it. Consider a set S with n elements. Any subset of S may be represented exactly by an n-bit bitmap. To generate all possible subsets, generate all possible n-bit bitmaps, i.e., count from 0 to (2**n)-1, inclusive. 0 represents the empty set, and (2**n)-1 represents the full set.
Jun
4
answered Which programming language for text editing?
Jun
4
comment Which programming language for text editing?
@ZacharyK, the trick is not to wait for the right task, and then learn AWK, but rather to go ahead and start learning AWK, and you will find yourself stumbling over candidate tasks in short order. My first exposure to AWK came at a FORTH Interest Group meeting. About three minutes into the guy's talk, I hit him with a flying tackle and refused to let him up until he promised to get me a DOS version: I had a current task that was suitable. (AWK wound up saving me a HUGE amount of headache on that job, and spawned an article for the Austin PC User's Group newsletter.)
May
31
answered when should a database table be broken into multiple tables with relations?