354 karma · joined April 22, 2013
I'm probably missing something here, but why wouldn't performance regressions still be detectable via utilization metrics? I understand the difficulty of determining resource allocation a priori, but I'm not sure how this relates.
Employees don't take on the same risk because they typically can't bear the same risk. This is the equivalent of lauding the bravery of a stunt double for jumping off a roof when they've got a big blue safety cushion waiting for them just outside the frame.
1. That the universe _is_ a formal system, rather than being describable in the language of some formal system. It's not evident what the universe being a formal system even means, or how it squares with basic intuition regarding e.g. the fact that physical systems have state.
2. That, dropping the physical system <=> formal system equivalence and given some real system R consisting of some fundamental entities whose behaviors can be described in full in the language of some formal system S, (borrowing a useful construct from Lucas' anti-mechanism argument, even though I don't buy that argument) no machine can be constructed in R which computes theorems of some formal system S' in which all true statements of S are provable, meaning that no state of the system R can be said to contain a description of S', and that S' is therefore not describable by any arrangement of the entities in R (assuming some reasonable predicate over states of R that is true for a state when some arrangement of a subset of the entities in that state describes S'). Intuitively, this doesn't seem to hold up: by analogy, I can describe a universal Turing machine with a computer equipped with only finite memory. You could then attempt to go down the road of claiming that, even if a description of S' is possible in R, that a mind within R would not be capable of formulating that description, but then you're heaping on an even larger tangle of assumptions, unknowns, and things you have to define if you're going to argue the case rigorously.
The point being that confidence about _any_ hypothesis about the nature of reality made on the basis of Gödel's incompleteness theorems is not epistemologically warranted.
It might not matter: maybe being the obvious right choice for some use case in the abstract isn't that important, and contextual factors re who's doing the work and how they think are just as relevant to choice of language. Still, it seems like we tend to talk about languages now in terms of their most indispensable applications, for better or for worse.
I can deal with the Java stacktraces and the occasional mystery of which concrete class is actually backing IPersistentMap after however many invocations of assoc, but if the experience of writing code is going to be a pillar of the language's sales pitch, why isn't this sort of next-level debugging experience on anyone's radar? The CIDER debugger is nice, but it's not CL nice.
Sharing library code between processes running in containers is more complicated, since it depends on whether and how you've set up filesystem isolation for those processes, but it's possible to do.
I actually like modern C++ well enough for the niche described here; lambdas (and the control they offer over captured variables), type deduction, ranged fors and the like make it pleasant enough to write for being as performant as it can be. I've written many more lines of C++ than Rust. But it's still apparent that language-enforced invariants are quite a different species from conventions that will enable safe programs if everyone uses them correctly at all times. You can maybe guarantee that for a team, but can you guarantee it for several teams? Can you guarantee it for every external dependency?
I can imagine plenty of pragmatic analyses today ending up with C++ as the ideal choice of language, but the monomaniacal focus on Performance ignores ecological concerns like these and also mostly doesn't grapple with the fact that there's plenty of low-hanging fruit to get to performance-wise in any project before something like a fundamental 1.2x performance penalty on Rust's part really matters, especially considering how domain-dependent that number is likely to be. Pure speed is a pretty poisonous obsession in our field, IMO, and I think we've reaped the whirlwind for it already. It's time for a more holistic outlook.
I think static typing and testing are much more complementary than you're giving them credit for.
1. http://www.npr.org/2015/05/17/407478606/often-employees-rare...
http://installing-caffe-the-right-way.wikidot.com
That guide is mostly correct, assuming your reply here means that you're also using OS X. It should get you all the way to a working Caffe install. The one thing it doesn't get right is that your PYTHON_INCLUDE and PYTHON_LIB variables should both point to the relevant folders from your Homebrew Python install (I had no luck attempting to compile pycaffe against either Anaconda or system Python, both would just segfault when I imported the module). In my case, that was (assuming you've already installed numpy with Homebrew pip):
PYTHON_INCLUDE := /usr/local/Cellar/python/2.7.10/Frameworks/Python.framework/Versions/2.7/include/python2.7 \ /usr/local/Cellar/python/2.7.10/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/core/include
PYTHON_LIB is exactly as it is in the example Makefile.config on that page, except adjusted for version number if you've installed Python via Homebrew since 2.7.10 was released.
> Everyone has heard of "mission creep." In the pharmaceutical world, approval creep means getting the FDA to approve a drug for one thing and pushing a lot of other drug approvals through on the coattails of the first one.
This is more accurately referred to as "drug repurposing," and it's hardly the unalloyed evil that it's characterized as here. It's true that drug companies love to repurpose existing FDA-approved drugs, both because it saves them money and because it typically permits them to patent the compound again in a new context, but there are nonetheless real benefits to the public at large when a drug whose side effects are comparatively well-characterized over the long term is put into service to treat a different malady.