Rails controllers are a mess. There's one relatively simple practice I've adopted that helps improve their code significantly: Never use ActiveRecord persistence methods in Rails controllers, and never, ever use ActiveRecord filters.
jjb — 4 posts
The way Ruby's
Timeout#timeoutkills threads when they have timed out introduces two problems. In this blog post, I describe these two problems and introduce my replacement library, sane_timeout.
When you call
Thread#raise, the exception will be raised at whatever point of execution that thread happens to be at. In my blog post, The somewhat peculiar behavior of Ruby’s Thread#raise, I explore why that does make sense, but why it means you should only ever call
Thread#raiseif you have complete control over what code is inside that
Threadand if it expects exception raises to be invoked by the outer context.