Reputation
3,636
Top tag
Next privilege 5,000 Rep.
Approve tag wiki edits
Badges
3 12 34
Newest
 Announcer
Impact
~253k people reached

Apr
11
comment Coding style: Binary logic or multiple if()s?
Example 2/Negative 1 can be mitigated with extra parens, Example 2/Negative 2 can be mitigated with different indentation/splitting over more lines
Apr
8
comment Why are large amounts of magic numbers acceptable in CSS and SVGs?
"Granted, there are situations where it's nice to avoid duplication, like if you have a color that is repeated frequently and you may want to change in order to change themes." - Probably better done with classes anyway: .main_color { color: .. }, and using that class is the method of deduplication
Apr
3
comment Why does gofmt discourage blank lines at the end of files?
"unlike most other editors" - I've generally understood this to be a difference in conventions between Windows and *nix, not just across editors.
Mar
27
comment You don't call the Framework, it calls you
If the method isn't defined until later, how exactly would you specify that that button should call that method?
Mar
22
comment Defining logic without nested if-else statements
@whatsisname I see it as an expressive DSL that significantly reduces the complexity and cognitive overhead.
Mar
13
comment Pros and Cons of Facebook's React vs. Web Components (Polymer)
Atom has removed React because of how much overhead it adds
Mar
10
comment Is a big boolean expression more readable than the same expression broken down into predicate methods?
@BuvinJ Single-return was from practical application, but solely for something that we don't care about here: manual memory management. It was so you could confidently release resources before return, without having to do that in several places. It's nowadays mostly just cargo-cult programming.
Mar
4
comment Why doesn't git merge adjacent lines without conflict?
The only common context is A and D, so why isn't A/C1/B1/D the correct merge?
Feb
19
comment Why are the Coffman conditions necessary for a deadlock to occur?
@gaazkam You're confounding the issue by showing two resources as one; R1 is actually R1.1 and R1.2; R1.2 is in the circular wait, but R1.1 is not, which is why there's an escape route for P1 when P3 finishes. All the necessary resources have to be used in the circular wait for this to hold.
Feb
19
comment Why are the Coffman conditions necessary for a deadlock to occur?
@gaazkam Yes it does: which in turn is waiting for the first process to release the resource
Feb
19
comment Why are the Coffman conditions necessary for a deadlock to occur?
Also, in the second example, #4 does not hold - P3 is not waiting on anything, so that's not a circular wait
Dec
23
comment Is individual code ownership important?
@pdr "Ownership" can have a few different meanings. For example, there's been some talk here of reintroducing it for our internal libraries, where the "owner" is the one that does code reviews, ensures consistency in the architecture, and prevents everyone else from doing hacks that could be better implemented (since a random dev is probably focusing on their specific feature/bugfix, and not the library's whole codebase). But the knowledge itself isn't siloed off.
Dec
17
comment Merge bug fixes from trunk in old branches
For completeness, let's say the test was a little wrong and version 3.7 has the same bug (say, it only happens on an edge case in 3.7, but happens in more easily-tested cases in 3.8+), but was only discovered after the fix was merged like this. Would you just cherry-pick at that point?
Dec
1
comment Maintaining SVN history for a file when merge is done from the dev branch to trunk?
Note that svn blame also supports -g at least as far back as svn 1.6.11, so you can see where individual lines come from as well
Sep
27
comment Why are the sizes of programs so large?
@Voo One of the phenomenas Lightness is talking about is extremely well-known as "java schools". It's not just anecdotal.
Aug
21
comment Automatically reverting commits that fail the build
@CarlosCampderrós Squashing the auto-revert and their revert of the auto-revert is a bad idea; that's changing history already pushed somewhere
Aug
20
comment How has an increase in the complexity of systems affected successive generations of programmers?
And below physics is math
Jul
8
comment What problem do algebraic data types solve?
In return, adding new cases is complicated because you need to go over basically the entire code base and extend every match - The tutorials and introductions I've seen don't even mention this feature. The problem is, without it, to an outsider the whole thing looks like an OnErrorResumeNext anti-pattern, where you don't have to handle all cases - hence questions like these, and confusion about how NullPointerExceptions won't happen, and etc. It needs to be kept in mind a lot more when explaining advantages of algebraic types to beginners.
Jun
17
comment Best practice boolean assignment
My first assumption with code like Variant 1 is that the two branches at one point in the past were more complicated, and someone wasn't paying attention when refactoring. If however that's how it was when first written, then I agree with "not understanding booleans"
Jun
17
comment How can I write unit tests that simplify feature implementation?
@anaximander strom mentioned that everyone involved is rather inexperienced, which is why it's a good thing to keep that possibility in mind as well