12,557 reputation
53045
bio website
location
age
visits member for 4 years, 4 months
seen 3 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.

Mar
31
comment Does the GPL allow anyone to obtain GPL software without paying for it?
@Elin, read GPLv3 section 6b. Pay particular attention to where it says "anyone who possesses the object code". Observe that it does NOT say "anyone who got the object code directly from us". Presumably, AcmeSoft is distributing their stuff under the GPL because they incorporated GPL'ed code into it, and THEY are required by the GPL to make THEIR source available downstream.
Mar
30
comment Does the GPL allow anyone to obtain GPL software without paying for it?
@Elin: I believe you are mistaken. Scenario: AcmeSoft distributed the binary to Betty, but, rather than including the source, included a promise to supply the source upon request. Betty gave a verbatim copy of the binary to Chuck, with the promise intact, as permitted under Section 4 of GPLv3. Under Section 6, item b, of GPLv3, AcmeSoft is now on the hook to give Chuck a copy of the source.
Mar
30
answered Trouble understanding the COCOMO model
Mar
30
comment Trouble understanding the COCOMO model
Basic COCOMO is better than no estimating methodology at all, and it is better than any linear (10 lines per man per day) estimator, but that's about all you can say for it. If you want any real accuracy, you need to use its big brothers, and Wikipedia is NOT the place to go to learn how to do that. Read "Software Engineering Economics", by Barry Boehm. AFTER you've read "Software Engineering Economics", read "Controlling Software Projects" by Tom DeMarco, and "Software Cost Estimation Using COCOMO II", by Boehm, Abts, Brown, and Chulani.
Mar
29
comment Does the GPL allow anyone to obtain GPL software without paying for it?
@MartinSchröder: ALL versions of the GPL are transitive that way. GPL2 AND GPL1 section 6: "Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein."
Mar
29
comment Does the GPL allow anyone to obtain GPL software without paying for it?
@MartinSchröder: Section 10, first sentence, of the GPL says "Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License." That's your transitivity right there. Betty gave it to Chuck, and Chuck automagically got the license from AcmeSoft. Chuck gave it to Dave, and Dave got licensed. Ditto Eddie and Freddy. At the end of the chain, there most certainly is a license between AcmeSoft and Freddy.
Mar
27
reviewed Approve Is it fine to make a default constructor unusable?
Mar
26
comment Does the GPL allow anyone to obtain GPL software without paying for it?
@zxq9: Not quite. The requirement in the actual language of the GPL is to give the source on request to anyone who HAS the binary, not just to anyone who got the binary directly from them. That's the point of the Betty-Chuck-Dave-Eddie-Freddy chain. The GPL explicitly forbids everyone involved at any point form restricting redistribution of binary or source.
Mar
26
revised Left and Right most Derivation
added 325 characters in body
Mar
26
answered Left and Right most Derivation
Mar
25
comment Does the GPL allow anyone to obtain GPL software without paying for it?
@zxq9, in the scenario you describe, as long as your client NEVER distributes the binary to the modified work, they can keep their changes closely-held. However, recall that they initially acquired the base code via the GPL. This imposes a requirement on them that any modified versions they make be distributed under the GPL or not at all. The moment they distribute a modified binary, the source release obligation comes crashing down on their corporate head.
Mar
25
answered Does the GPL allow anyone to obtain GPL software without paying for it?
Mar
17
comment What is a scalable and practical way to search existence of a group of strings in a huge file
Option c is the way to go. This is what hashing is for.
Mar
13
answered When not to move a “C style” code to “C++ or Object Oriented” code?
Mar
8
revised Chained ruleset parsing and evaluation code: recommendations?
Add description of Batory LEAPS paper.
Feb
28
answered Chained ruleset parsing and evaluation code: recommendations?
Feb
27
reviewed Close Does your programming knowledge decrease if you don't practice?
Feb
26
comment Unit Testing with an Optimization Problem
The problem you have in something like this is ensuring that the algorithm is in fact doing what you wanted it to do. There were two spectacular failures in neural net applications. One, a neural net to recognize tanks in cluttered photographs, was found to have trained itself on simple lighting differences. Another, a neural net to recognize submarines in cluttered sonar returns, was found to have trained itself on differences between the microphones used to record the test samples. (The sub-present samples used one microphone, the sub-absent ones used a different mic.)
Feb
21
comment Programming conundrum - most efficient path
Does Javascript compile down to actual machine language, or are you getting eaten alive by interpreter overhead?
Feb
21
comment Why are scientific programming languages so weird?
FORTRAN had 1-based indexing. PASCAL allowed arbitrary-based indexing: you could declare an array whose index ranged over, for example, -42 to +57. (See en.wikipedia.org/wiki/… for an example where this is useful.)