Reputation
738
Top tag
Next privilege 1,000 Rep.
See votes, expandable usercard
Badges
4 10
Newest
 Nice Answer
Impact
~4k people reached

  • 0 posts edited
  • 0 helpful flags
  • 12 votes cast
Apr
10
comment Why does everyone use Git in a centralized manner?
I tend to agree with @BenVoigt that the main difference, in practice, is that git and similar tools are much better at dealing with intermittent or nonexistent network connectivity. With tools that rely on a central repo, losing access to that repo is at best a moderate setback and at worst a complete blocker. Git sidesteps that issue (almost) entirely. Although I think the point about merge conflicts is overstated. If those happen frequently, the problem is in your task allocation. You don't want two people changing the same file at the same time, regardless of what VCS tool you use.
Mar
10
comment Is there a term for unimplemented code that was written for someone else to fill in?
It's a "stub" if done in an academic context. Done in a professional/commercial context, it's "technical debt".
Jan
28
comment Should we avoid language features that C++ has but Java doesn't to increase maintainability?
You should avoid some C++ language features because C++ has too many of them. But choosing based upon what is/isn't available in Java seems fairly arbitrary. There are probably better methods of separating the garbage features from the good ones.
Jan
14
comment Is it effective to review code in language I don't know?
@Mawg - I'd tend to say that's what automated testing is for. Even with expert knowledge of the language, it's difficult to say whether or not code will actually meet the design spec by just looking at it / without executing it and observing the result (unless your design spec is so detailed that it's essentially code in itself). The aspects the answer enumerates cover many (though not all) valid reasons for doing code reviews. A code review does not generally include execution of the code being reviewed.
Oct
3
comment Is there a specific reason for the poor readability of regular expression syntax design?
I think at least part of the reason for the terseness of the syntax was also that network connections (and as a consequence, networked terminal connections) were much, much slower back when all of this was happening, so a lot of work went into minimizing the number of keystrokes needed to do pretty much anything. The preference for readability over conciseness is a comparatively modern phenomenon. And though that preference may be correct, it's far too late to replace regex syntax with something else at this point.
Sep
26
comment Is it possible to take a flexible agile approach to projects that require estimates of both time taken and time saved?
I think this answer glosses over the fact that while management is not unreasonable for trying to determine ROI, they are being unreasonable (or at least, extremely unrealistic) if they expect such up-front estimates to be remotely accurate in practice. This answer provides a good explanation of how to forecast release dates under Agile. But I assume the OP already knows that part, and was asking more about how you can provide a guaranteed accurate estimate up front in an Agile context (or any other). The short answer is you cant; which is why people use Agile in the first place.
Sep
9
comment Why do we have to wait for I/O?
Good discussion of the pros/cons of sync/async IO. But are you sure that's the reason for the slowdown? Generally I find that slowdowns under heavy IO load are firstly because of poorly-architected software, or when that's not the case then because the system is using a single, slow disk (i.e. non-SSD), and everything is trying to access it concurrently. I'd blame a bottleneck on the disk's ability to service requests before I'd blame it on saturation of the memory bus. You need really high-end storage to saturate a modern memory bus.
Jul
14
answered My coworker commits and pushes without testing
Jul
14
comment My coworker commits and pushes without testing
Not only do you have the backups, but also can your business afford the downtime while a restoration is done? And can it afford to lose minutes, hours, or even days of information because a rollback of the database had to be performed? I'd say in almost all nontrivial cases, the answer is a resounding 'no'. And even in trivial cases, you don't want 'restore a backup' to be how you deal with untested code getting checked in. There has to be something that ensures that testing happens between when code is checked in and when it reaches production.
Jul
14
comment My coworker commits and pushes without testing
This only works with an office. What's the equivalent concept for when you have a distributed team of remote developers who all work from home?
Jul
4
comment Is testable code better code?
@Telastyn - But that's anecdotal. My own anecdotal experience over the past 10 years is that 3 out of 4 companies don't care (that much) about unit tests. Of course, the 3 that cared least were startups, and the one that did was a much larger tech company (although even then, there was no company-wide mandate for tests; it was something that my Scrum team decided to include in its 'definition of done', because we cared, regardless of the company's policy or lack thereof).
Jul
3
comment Is testable code better code?
"Not having unit tests means you're not done with your code/feature" - Untrue. The "definition of done" is something that the team decides. It may or may not include some degree of test coverage. But nowhere is there a strict requirement that says a feature cannot be "done" if there are no tests for it. The team may choose to require tests, or they may not.
Jul
1
awarded  Nice Answer
Feb
7
comment Can GPL licensed code be close sourced later by the author?
All the answers here basically say the same thing, but if anyone has the correct answer it's @paxdiablo. Regardless of what the GPL says or does not say, pulling back code that has been released under any open-source license is legally questionable and practically impossible. Even if the license explicitly reserves the right to do so. Once the code is out there, it's out there. That's a gray area, if you ask me.
Sep
24
awarded  Autobiographer
Aug
13
comment Is there anything groundbreaking about NoSQL?
"my understanding is that NoSQL is rather arbitrary" - My understanding is that for all the hype it's basically a persistent HashMap. Which is useful in many cases, but not generally sufficient in and of itself. Think of it as sideband storage for things that don't benefit from being stored in a relational way.
Jul
4
comment How does the “Fourth Dimension” work with arrays?
I think your first sentence is actually backwards. Programs are limited by the physical constraints of the hardware they run on. And memory is flat. Programming languages may allow arrays to be specified in terms of arbitrarily many dimensions, but really all that happens is the provided numbers are multiplied together and you get a flat list of however many things you actually asked for. Some math is used to handle addressing into the flat list based upon multi-dimensional indices, but it's still a flat list. The dimensions are entirely illusory.
May
18
awarded  Yearling
May
18
awarded  Yearling
May
16
awarded  Enlightened