1,972 reputation
1113
bio website
location Houston, TX
age 32
visits member for 4 years, 2 months
seen Jan 13 at 21:42

Nov
16
awarded  Yearling
Sep
22
comment Undefined behavior, in principle
@jxh: Fault-tolerant systems are indeed quite interesting. But they aren't undefined-behavior tolerant. Copies running in lockstep which encounter undefined behavior may all make the wrong choice, and voting won't help then.
Sep
15
comment Undefined behavior, in principle
C and C++ use two different terms: undefined behavior and unspecified behavior. There's also indeterminately sequenced. And the distinction is important. It is possible, albeit difficult, to write a correct program in the presence of unspecified behavior. But no amount of careful coding can ensure correctness in the presence of undefined behavior. Undefined behavior removes the semantic meaning of your entire program. On the other hand, behavior left undefined by the language may be defined by the platform.
Sep
11
answered Workflow for obfuscated PHP code with PHP protect
Sep
11
comment Workflow for obfuscated PHP code with PHP protect
@RobertHarvey: But with a deobfuscated stack trace, even without values of variables and parameters, you have a fighting chance at finding the bug.
Sep
11
comment Workflow for obfuscated PHP code with PHP protect
This approach may not be possible for errors that are data-dependent, and either (1) privacy concerns forbid having a copy of the entire user database in the test environment or (2) privacy concerns prevent logs from identifying what data was being processed, to the degree necessary to select the same data in the test environment.
Sep
8
comment Is it correct to keep version numbers of all components always the same?
If you don't rerelease components just for a version bump, I still would assign the latest release number based on the overall system, not the prior release of the same component. For example, if after releasing 0.1.1 of Tool #2, you needed an (unrelated) update to the Android client, it would skip 0.1.1 and become 0.1.2
Aug
12
comment Has there really not been one thing in the past 20 years that provided huge software development gains?
Also the "return" side of the RoI isn't that good, because the market is already saturated.
Aug
12
comment Has there really not been one thing in the past 20 years that provided huge software development gains?
But the things we pile under the concept of "Internet" involve many different technologies. There's multiple generations of World Wide Web (DHTML/Javascript/browser). There's the fibre optic advances that make datacenter-scale connections possible. There are the CMOS process improvements that allow servers to have a terabyte of RAM and perform data mining. Algorithms to index a million questions about programming and provide the 10 closest hits in some natural language sense.
Aug
12
comment Why use an OO approach instead of a giant “switch” statement?
Missing "not"? In C#, not all function calls are virtual. C# is not Java.
Aug
12
comment Why use an OO approach instead of a giant “switch” statement?
A giant switch statement is a lot easier for the new guy to comprehend: all the possible behaviors are collected right there in a nice neat list. Indirect calls are extremely difficult to follow, in the worst case (function pointer) you need to search the entire code base for functions of the right signature, and virtual calls are only a little better (search for functions of the right name and signature and related by inheritance). But maintainability is not about being read-only.
Aug
12
comment Why use an OO approach instead of a giant “switch” statement?
@Craig: There's no reason for if/else trees to have linear complexity. Oh, the ladder does, but arrange the tests to divide-and-conquer in a balanced tree and you have logarithmic time. Sort by a-priori probability, and you can do even better than that.
Aug
12
comment Why use an OO approach instead of a giant “switch” statement?
@FrustratedWithFormsDesigner: .NET Reflector doesn't show assembly, it shows MSIL. There's a whole optimizing compile stage between the two.
Aug
12
comment Has there really not been one thing in the past 20 years that provided huge software development gains?
There are certainly more than 10 companies capable of creating and maintaining their own OS, but few choose to do so, because other opportunities are more lucrative.
Aug
12
comment Has there really not been one thing in the past 20 years that provided huge software development gains?
"Internet" is not a single development either.
Jul
31
comment Should the commit history be used to convey critical information to developers?
@wberry: Or a different senior developer processed the pull request from the one who knew about the version restriction. Unless all pull requests have to be approved by all developers, which seems like a dubious expenditure of resources.
Jul
31
comment Should the commit history be used to convey critical information to developers?
Why would the pull request have been declined? How is the person responsible for that decision supposed to discover (or remember) the version restriction?
Jul
16
comment Static vs. non-static? (with non-OOP functions)
Related: stackoverflow.com/questions/3709207/…
Jul
15
comment Property or Method to obtain information about a collection?
@svick: MoveNext isn't O(1).
Jul
15
comment Is it poor form to use C features such as the size_t type instead of their c++, such as std::size_t?
@david.pfx: No it wouldn't. That is a normative rule, not a note, footnote, or suggestion. C++ places different requirements on the content of stddef.h than C does. And it is required for every hosted implementation.