713 reputation
39
bio website
location
age 38
visits member for 2 years, 4 months
seen 22 mins ago

2d
comment Haskell feature request: anonymous arguments
It is not about complexity but readability. There are only a few functions that are commutative (multiplication, addition, comparation). Allowing your "feature" will save a couple of bytes for programming those few functions, but you will end with people using \10 without even informing what is supposed to be at the eleventh place. Yes, they can write now a10 instead of a meaningful identifier, but at least you do not encourage such behavior ("hey guys!! do not use parameter names in Haskell because we can use \3 and it is cool!!")
2d
comment Parameterized Java Types (Generics)
#2 -> IPersistenceCollection<Vehicle> col = new Implementation<Vehicle>(); col.cons(myCar);
Aug
29
comment Why is Throwable initCause designed to be called only once?
In that case, I would usually log the cleanup exception and let the main exception propagate. What you are trying to do may be done creating your own exception when the cleanup one is captured, and adding the original exception as its cause. And of course, you may create your own kind of exception which would allow n additional causes. Anyway, it sounds quite complicated.
Aug
25
comment What technical test should I give to a job candidate
Why do you want to give one of the candidates a different test for the same position? Seems misguided and unfair. If the test represents how suitable is a candidate for the post, you should chose the one who solves it better. The fact that he solves it better because he has 15 years should not be held against him. Maybe you do not find fair matching people with 1 year of experience and people with 15 years of experience, but the selection issue is not about "fairness"(except for trying to limit possible prejudices) but of "chosing the right one".
Aug
23
comment How do developers verify that software requirement changes in one system do not violate a requirement of downstream software systems?
1.Documentation. Ok it does help, but only a little, because most of the time it is either out of date or gets ignored, or both. So you are basically saying that if you do not document properly, then the half-baked, outdated documentation is not very useful? That is true, but it seems like getting a gym membership, never actually going to the gym, and then complaining that your gym membership is not useful as you are getting fatter. If your team were not putting effort into integration tests, they would not be useful, either.
Aug
23
comment How can I find the shortest path between two subgraphs of a larger graph?
Instad fake nodes or 0 cost connections, I would vote to just use Djikstra with the difference that the starting node is changed to a set of nodes (after all, the starting node is just an special case of the "set of nodes already visited") and the ending node is not one, but any one inside another set.
Aug
23
comment Should one reject over-scoped projects?
There are methods to help stablish the cost/duration of a project based in some metrics (lines of code, function points) but for unipersonal projects the best way is experience. If the part with VR is frightenning to you, you may leave that out ("this is my estimate without including the VR, which I will need some more study to estimate").
Aug
23
comment How do developers verify that software requirement changes in one system do not violate a requirement of downstream software systems?
A good definition of the interfaces between the system is vital "System A will accept an XML stream that verifies TLD X, and the meanings of the fields are...". And of course, test environments (although how complete they are will depend in complexity and money available).
Aug
14
comment Equal or less than 15 lines per method(function) principle?
Also, keep in mind to take into account the programming style. If you are programming defensively, you might very well spend most of these 15 lines just checking the input parameters & logging... but such a code usually does not add to the complexity of the code (IMO, it reduces it since your code needs to cover less cases) and how easy it is to read it.
Aug
12
comment Why are inheritance, encapsulation and polymorphism not the pillars of OOP?
The only meanings I can give to the sentence is either "you can have OOP without any of them" (true, but makes no sense at least for encapsulation) or "you can use them outside OOP as well", or something like that.
Aug
12
comment How to store satellite data in C data structutres
As for "altering the data may invalidate the inner structure", the usual answer is "Don't do that"; just add some documentation saying "do not alter the data". For example, in Java you should make hashCode and equals should be based in attributes that are inmutable and so should not change through the live of an object, if in yours implementation it changes... well, have fun with anything Hash*.
Aug
12
comment How to store satellite data in C data structutres
No, if you change the data of a node in a binary tree it will still be a binary tree. A sorted tree, though, might be get "unsorted". It is a different issue. For sorted structures, what you need is not a key, but an ordering function that signals how to data items are related (see java.lang.Comparable for an example). A key number and comparing by that key number is just an special, very limited implementation of such a version.
Aug
12
comment How to store satellite data in C data structutres
The question in general is pretty good but I find Q2 is a little senseless: either the key is a function of the data (or viceversa) and if you have one you can get the other, or they are decoupled and what your structure is representing is that relationship. Of course, depending of the case you will use one data structure or another (a list or set for the first case, a map for the other).
Aug
7
comment Should I parse XML on the server or provide a proxy and let the browser parse it?
What is the relationship of the XML source with the code that interprets it in the browser? Because if you have written your own (unsupported) client code to feed from some 3rd party data, the first thing I think of is that some day that 3rd party will make some minor change in the XML and break your application for good.
Aug
5
comment Will hosting documents on AWS reduce our load?
relatively secure AWS URL Which are the security constraints? Is it some kind of Intranet (access authenticated through username/passwords or other kinds of credentials). Also, how would that reduce bandwith load?
Aug
2
comment When would you want two references to the same object?
The "less common case" is quite common: you have the objects stored in a list or a map, retrieve the one you want, and perform the operations required. You do not erase their references from the map or the list.
Jul
28
comment Why was the first compiler written before the first interpreter?
@richard like this one fabiensanglard.net/anotherWorld_code_review? Note that this was a VM/interpreter with a very specific purpose. Also of note fabiensanglard.net/prince_of_persia/pop_boot.php, which allowed loading a big binary in pieces.
Jul
28
comment How do VMs implement function calling?
Yes, it is more or less as compilers work (they push the Program Counter register). Push values before the line number for passing "parameters" to the function, leave an empty "pushable" place for the function to put the return value.
Jul
28
comment In general, should an organization adopt a single methodology or decide on a per-project basis?
How big is the organization? How varied are the projects?
Jul
28
comment What's the canonical way to store translations of user data?
That is not part of the data model but of business logic, it is up to you if to define if your application allows showing items/pages that are only partially translated.