Evan Weaver

rob levin dies


~11 years ago by Evan Weaver on Snax.
Rob Levin, director of the Peer-Directed Projects Center, and better known as lilo, the founder and primary administrator of Freenode, has died. The...

make camping connect to mysql


~11 years ago by Evan Weaver on Snax.
By default, Camping connects to a sqlite database in an undisclosed location, similar to Dick Cheney. This confuses practically everybody. Here’s...

rails security note


~11 years ago by Evan Weaver on Snax.
Rails Ticket 4339 suggests that there is a denial-of-service vulnerability because of the way the Rails request handler instantiates a symbol for every...

how to publish feeds with resource_feeder


~11 years ago by Evan Weaver on Snax.
The resource_feeder plugin, along with simply_helpful, recently snuck into edge Rails, courtesy of DHH. They’re nice. resource_feeder lets a controller...

has_many_polymorphs release 11


over 11 years ago by Evan Weaver on Snax.
Release 11 of the has_many_polymorphs ActiveRecord plugin is available; go here for the update. This will be important to you if you use callbacks in your...

redirect aliased hosts to a single canonical host with apache


~11 years ago by Evan Weaver on Snax.
We have a new Apache 2.2/mongrel server set up, and wanted people who type in host.com to be redirected to www.host.com, instead of merely aliasing all...

sti support in has_many_polymorphs


~11 years ago by Evan Weaver on Snax.
At the request of Kevin Marsh, the polymorphs plugin now supports single-table inheritance....

duck-typing and ruby virtual classes


~11 years ago by Evan Weaver on Snax.
Design-by-contract, interfaces, and virtual classes can be beneficial for large-scale projects. It may be tempting to directly implement Java-style virtual...

make false be true


~11 years ago by Evan Weaver on Snax.
Let’s be evil, and fake out false with some metaprogramming. We will do this by using method_missing to delegate identity methods to another object...

hash#apply!


~11 years ago by Evan Weaver on Snax.
Apply a block to every value in a hash. class Hash def apply! merge! Hash[*keys.zip(values.collect{|x| yield x}).flatten] end end irb(main):002...