2,764 reputation
1230
bio website
location Argentina
age 37
visits member for 3 years, 10 months
seen 5 mins ago

Software developer and science fiction fan.


Sep
11
comment Offshoring: does it ever work?
I know plenty of people who work for Globant in my country and... let me say it this way. It's scary. They will hire almost anyone, regardless of English-speaking skills or any skills at all. Passing their interviews is a joke. So the conclusion at the very least is that Globant's quality varies wildly from country to country :-/
Sep
11
comment Offshoring: does it ever work?
+1 Good answer. The root of all problems is offshoring hiring cheap, junior devs in order to cut costs (and the guilt lies both with the customer and the provider!). IMO it has little to do with "culture" though. As a third-worlder, I know plenty of awesome programmers -- it's just that they aren't cheap or won't work doing yet another boring enterprise website. You get what you pay for...
Sep
11
comment Offshoring: does it ever work?
IMO the root of all other problems is misaligned interests. Without exception it's the case why the offshore stuff I've known first hand (from the provider's perspective!) failed. We only cared about delivering stuff quickly, quality be damned, and getting more projects. "Poor quality devs" are merely a consequence of this: the provider hires cheap, junior devs as a way of cutting costs. It DOES NOT mean non-English speaking coders are bad; it's just that the provider picks bad coders. There ARE excellent offshore devs; it's just that they aren't as cheap as US customers want.
Sep
6
comment Resources on learning to program in machine code?
@Konamiman Assembly language is not the same as machine code :) It's one (admittedly very small) step above it.
Sep
5
comment Is programming language that is non-visual … possible?
@FrustratedWithFormsDesigner Awesome!
Sep
5
comment Is programming language that is non-visual … possible?
How would you perform a diff between two music-based source files? :P
Sep
5
comment What does it mean by atomic commit for a versioning system?
@Spoike That isn't "broken state" from the perspective of the repository. It's a perfectly good state that happens to have bugs or fail at compilation because of a programmer error. With CVS, you can get inconsistencies even if there is no programmer error.
Sep
5
comment Is programming language that is non-visual … possible?
Maybe the actual question is about non-visual programming languages, rather than non-textual? Because translating text to graphics is already done (see other answers below). However, an efficient non-visual representation seems challenging and even less common.
Sep
5
comment Does software testing methodology rely on flawed data?
Wow, that certainly complicates research. Not that interested in this. My final thought is that maybe current research (or more informally, blogs and "gurus") is citing outdated or misinterpreted data from Boehm's book, and propagating it as gospel?
Sep
5
comment Does software testing methodology rely on flawed data?
Oops, upon re-reading, the "(inverted) cone of uncertainty" seems to refer to project estimation, which the author claims is based on flawed data. It's related to -- but not the same as -- the cost of bug fixing. The author claims this diagram is cited by McConnell in "Rapid Software Development" ('96), from Boehm's "Software Engineering Economics" ('81). He claims Boehm says his diagram was "subjectively determined" (not empirically), and was later misinterpreted. Is Boehm's paper freely available to check this? (NOTE: then again, it's about estimation, not bugfixing, so it's offtopic. Sorry)
Sep
5
comment Does software testing methodology rely on flawed data?
While researching the material, pay attention to the (unproven) claim that the "inverted cone of uncertainty" is mostly made up, as mentioned in the paper which first showed the graph. That is (if the above mentioned claim is true), the author didn't base the inverted cone on empirical data, but on what he assumed must be true. And was later cited by Boehm et al as "empirical data", based on a misunderstanding. The main claim is in this self-published book; even if it looks dubious, it should be verifiable!
Sep
4
comment What is the point of having every service class have an interface?
@JonathanAllen In the end, Java interfaces describe intent better than the public keyword. It's very clear that what is available in an interface is what defines the type. In contrast, who knows why a given method is public? Maybe the programmer just forgot to make it private (and you can bet this happens!)
Sep
4
comment What is the point of having every service class have an interface?
@JonathanAllen (cont'd) But say your IDE can hide private methods and attributes, effectively providing you with a view of just the public contract. This works if your class implements only one contract, but what happens if the class implements two contracts at once? How can you provide a view of just one contract, but hide the other, effectively "untangling" the contracts? The cleanest way to do this would be keep each contract as a separate interface, precisely the approach you rejected ;)
Sep
4
comment What is the point of having every service class have an interface?
@JonathanAllen First, all interfaces are abstract in Java :) Second, you're looking at the wrong end: it's not from the implementation where you must remove the clutter, but from the interface itself (i.e. from the "contract"). The implementation is not the contract, the interface is. You aim to keep this contract "uncluttered". It's harder to do this with classes, because you also have your "non contract" methods (private, in your example) which aren't part of the public contract.
Sep
4
answered What does cheap copying/branching mean for a versioning system like SVN?
Sep
4
comment What does cheap copying/branching mean for a versioning system like SVN?
@MainMa CVS copies files when branching or tagging, which makes it an "expensive" operation both in terms of the time it takes to create the branch/tag, and the disk space it takes up.
Sep
4
comment What is the point of having every service class have an interface?
@JonathanAllen It still leaves you with non-public clutter. And what if your class implements two different interfaces? In Java, interfaces look like the cleanest way of communicating public contracts.
Sep
3
comment Why does java.util.ArrayList allow to add null?
Disagreed. Allowing too much is harder to correct once the misfeature has seen widespread use. If language designers allowed nulls at a later stage, it wouldn't break existing programs, but the opposite is not true.
Aug
29
comment How does the GPL work in regards to languages like Dart which compile to other languages?
@Peter-W I'd say the argument is technical and not clear-cut. That the browser downloads javascript is an implementation detail of sorts; most users aren't aware they have been "distributed" anything, whereas most users would understand getting a CD or downloading stuff counts as "distribution". In this case, the implementation mechanism is a distribution (to the browser, and temporary), which makes the whole issue unclear to me. EDIT: also, in a way js code is "bytecode" from the viewpoint of a Dart coder, isn't it?
Aug
28
comment Compilable modern alternatives to C/C++
Who wants to bet the performance of the new software product won't be that critical after all? :P