255 karma · joined January 14, 2016
As a long time meditator, my experience with vipassana is that it is the hardcore path, for those willing to risk crashing and burning to get to enlightenment faster. Techniques like mettā, tonglen, or dzogchen seem to be ~5-10x less likely to be associated with a psychotic event - which at that point, seems like it could just be about prior history [1]. It's worth mentioning that Britton, the academic meditation critic in the article is a co-author of this paper.
[1] https://journals.plos.org/plosone/article?id=10.1371/journal...
For example, git is the best version control software; it is also a disaster of a UX.
Your appraisal of Docker is also too generous, I honestly can’t tell if it’s sarcasm
Oh can we coin a term like this for drunk driving? You know, when it’s more convenient to drive home drunk than leave your car out? That’s just being taxi-averse
I don’t see a way to generalize this to the procedural rule-based systems you describe, unless they too are governed by a fairly simple continuous function Like the Hamiltonian.
I don’t know if it was “dramatic”, but it made me really happy.
However, the vast majority of programming is done to build nearly indistinguishable CRUD SaaS apps. If we could just spend half our time doing real, interesting exploration of programming-space to satisfy our curiosity, maybe we could all agree to build apps with a more boring tech stack. However, that would require a large scale change in incentives that is hard to imagine shy of a Space Race style event.
... or Jonathan Blow was right and C was more or less the global max, and everything else was a mistake. I really hope that isn’t the case.
Not that ML code is bug-free. But it seems like most traditional software is probabilistically correct, despite not being thought of that way.
That said, it sounds like you’re serving a large model. No amount of async/await or goroutines can solve this problem. A non-blocking web server is a godsend for I/O-bound tasks, but a large model is just a deep call stack - lots of multiply, nonlinear function like RELu, then add, times a billion. This would still block, even if you had perfect async/await code.
I made some assumptions here, but if I’m right, the answer is “shrink your model” and/or “buy more compute”. Neither of which are easy. But if you’re trying to shrink a model, check out Distiller https://github.com/NervanaSystems/distiller
Edit: the restriction I talk about is for event-loop based servers using something like uvloop or asyncio under the hood. Maybe this restriction doesn’t hold for other concurrency modes.