11,573 reputation
11543
bio website
location
age
visits member for 2 years, 9 months
seen 2 hours ago

Sep
13
comment I hate one of our coding standards and it drives me insane, how to process it?
@GilesRoberts: Linus goes nuts if you format git commit messages "incorrectly", because it does not work with the established review process. One that works well for the project for 20 years and involves hundreds of people. Some process rules are much more important than code formatting ones.
Sep
13
comment Distributing a proprietary application together with GPL software
@hyde: What GPLv3 changes from GPLv2 is that it clarifies the source must be sufficient to replace the GPL part with modified versions and grants patent rights. But it does not change the extent of things on which GPL applies.
Sep
13
comment Distributing a proprietary application together with GPL software
@hyde: No, they don't. They just complicate the matter between themselves, because you are not allowed to link GPLv2 (without the usual "or later") and GPLv3 code together!
Sep
12
answered Distributing a proprietary application together with GPL software
Sep
12
comment Graph to show decreasing desirability when taking shortcuts
Rewrite is not an option. Refactor, but don't think the existing code is totally worthless. It is the only think that remembers both past decisions and past mistakes.
Sep
12
comment Finding the right license for my open source
Separate dynamic libraries stop LGPL propagation. Static libraries don't stop even that.
Sep
12
comment Finding the right license for my open source
They would have to be separate executables. Separate libraries do not stop GPL propagation.
Sep
12
comment Finding the right license for my open source
Interesting example is Qt, which used to be dual-licensed GPL and commercial (which you can only do if you are sole copyright holder), but later relicensed to pure LGPL and live off just support.
Sep
12
comment Finding the right license for my open source
Note, that there are quite a few projects that make money from GPL codebase. Instead of paid pro version, they live off providing paid support and implementing new features for money where the features still eventually get released under GPL, but the paying customer has them first and made exactly for their needs.
Sep
12
comment Finding the right license for my open source
There is no "at least". If there is anything under GPL, it must apply to everything, period.
Sep
12
comment Is nesting typedefs a good style?
istream is not nested in iostream obviously because iostream is a subclass of istream! That definitely isn't good example.
Sep
12
answered API design: concrete vs. abstract approach - best practices?
Sep
12
comment API design: concrete vs. abstract approach - best practices?
@Aaronaught: The question is not about abstract. The right correction would be that opposite of "generic" is "specific", not "concrete".
Sep
12
comment Should my team use some common well-regarded coding standard as a basis for its own?
@einpoklum: For non-types all of C, C++ standard library and Python use "snake_case"; no difference there. The only difference is whether you want to use "MixedCase" for types or also "snake_case". C and C++ library use "snake_case", but otherwise "MixedCase" is very common.
Sep
11
comment Should my team use some common well-regarded coding standard as a basis for its own?
Naming conventions are overrated. If you have one module where functions are CamelCase and another where they are snake_case, it's not a big deal if you agree to at least follow the convention already in place for each component. So if the holy war gets too heated, just stop it and leave it inconsistent.
Sep
11
answered Should my team use some common well-regarded coding standard as a basis for its own?
Sep
11
comment Should my team use some common well-regarded coding standard as a basis for its own?
It is very subjective which coding guidelines to choose for C/C++. And if there is one I would not choose, it is Google's. They prohibit many things usually considered good modern C++ style by others like boost.
Sep
11
comment State pattern long state class names
Are you sure that is a sensible use of state pattern?
Sep
9
comment What are some good assignments for an introductory course on concurrent programming?
Threads are essential part of programmer's toolkit of which every programmer should be scared to death! Thread synchronization is difficult to get right, easy to screw up and difficult to fix when you screw up, because the resulting bugs are usually nondeterministic. I don't think it's good idea to teach threading to beginners that early. I'd probably do client-server first; without shared memory it's much easier.
Sep
6
awarded  Nice Answer