629 karma · joined November 27, 2009
https://www.mattpakes.com
mpakes@gmail.com
I think we must assume that the source code for most major products is available on the black market.
I can only conclude that you must work in the most hazardous of environments.
I've had pairs of Apple, Sennheiser, Shure, and Sony headphones over the last 10 years (ranging from $10 - $200 in price), and I can only think of maybe one pair that has died (an old pair of iPhone in-ears succumbed to sweat during long-distance running), and they've all seen well over 2 years of use each.
I might be the only iPhone user who feels this way, but I'm totally pleased with Apple's decision to not support Flash within MobileSafari.
I love Dijkstra's writings (and his penmanship, for that matter). I also quietly enjoy that most of them end by referencing my alma mater. Hook 'em Horns. :-)
If you look around further, you'll notice that it gets a LOT worse than that particular example. While developing Twitter support on an iPhone app, we discovered that some account icons far exceed 1MB in size, which ended up causing us some memory usage issues. So it goes..
Two resultant things that bother me:
1) Many people avoid constructively criticizing others' work primarily because it is so frequently mistaken for negativity. Criticism is a necessary part of continuous improvement. I find myself frequently encouraging others to take no fear in criticizing my work, because I otherwise receive little valuable feedback. If it sucks, I need to know, and I need to know why.
2) The common desire for cheerleaders breeds "fake cheerleaders" looking for acceptance and praise. These people provide no value, and worse, can lull people into a false sense of success.
As stated in the original article, pass-by-value and pass-by-reference have well-known definitions within the computer science community. There is no ambiguity here.
When we excuse the lazy use of such terms incorrectly, we hamper the ability to communicate clearly and effectively. Please stop.
The core misunderstanding seems to be a conflation of 'pass a reference by value' and 'pass-by-reference'.
Passing a reference by value != pass-by-reference. The End. Q.E.D.
Pass-by-reference means that the compiler takes a reference of (or, getting a pointer to) the parameter passed in to the function. This is not the same as passing an existing reference (pointer) to the function (by value). Java only allows the latter (primitive types aside).
A side issue is that some developers mistakenly believe that pass-by-value roughly implies a deep copy, and thus that the 'spirit' of pass-by-reference is the avoidance of a deep copy.
I would posit that many C++ functions that operate on object parameters do so via a pointer (a.k.a. reference) passed by value, just as Java does:
void modify_my_object(MyClass *myObject) {
myObject.setName("New Name");
}
int main(void) {
MyClass *myObject = new MyObject("A Name");
modify_my_object(myObject);
// myObject.name is now "New Name"
}
This is pass-by-value, and there is no deep-copy happening there.Just because many developers don't take advantage of (or don't understand the semantics of) pass-by-reference does not excuse ignorance of the well-known definitions of those terms.
I've considered posting an 'Ask HN' looking for potential housemates, but didn't want to pollute the stream.
There doesn't appear to be a mainstream UI for BSD ports.
(Curiously, the Mac OS X equivalent, MacPorts, has at least two current UI projects.)
This is absolutely NOT a technical problem. The real problem has several facets:
1. Politics. You covered this.
2. Agent resistance to change. This is a huge issue. Roughly 80% of agents I've encountered are tech neophytes and can hardly use their own existing MLS system, which hasn't changed in a decade. Technologists look at Web 2.0 as being an ease-of-use panacea, but this is a group of users that literally run away from anything new or different, especially technology. Not every agent falls in this category, but most do.
3. Most users see the existing MLS as good enough. Web nerds cringe when they see circa-1996 web UI and fully closed data silos. Agents see a system that technically gets the job done, even if it's a bit cumbersome. If you ask an average agent what his or her work-related biggest pain points are, the MLS UI will not be in the top 5.