RubyFlow : The Ruby Community Blog

Home   Submit   Sign Up   Log In   leaders   Twitter   RSS Feed  

kennethkalmer — 20 posts

I updated safely to support email exceptions, logging exceptions and logging unhandled exceptions responsible for terminating your Ruby application unexpectedly. See this safely update post for more information.
Wrap up your dangerous Ruby operations in a warm error handling embrace with the new safely gem. Extracted from daemon-kit, and now standing on its own two feet, safely will make sure your projects never fall over without you knowing exactly why.
After almost a year, daemon-kit 0.1.8 has been released.
Paginating documents from CouchDB with couchrest & will_paginate explain in this blog post, and it is not as difficult as you might imagine.
Correlate is an experiment in expressing relationships between documents in CouchDB using CouchRest. It adopts some principles from the way the web loosely expresses relationships and mixes it cleanly into the JSON documents saved in couch.
Wrapping up a daemon-kit 0.2 release and looking at rack for inspiration for building stackable environments for Ruby daemon processes.
In driving business processes with Ruby I've taken a stab at explaining why state machines aren't fit for driving business processes, and why workflow engines (like ruote) are more suitable tools for the job. Caution, it's a long read...
I wrote down my initial experiences while converting the postini gem from soap4r to handsoap. Handsoap is really a dream to work with, and will rinse away any fears of writing a SOAP client.
DaemonKit now sports capistrano support with a custom deployment recipe that is tailored to daemon processes and not just to Rails applications.
Quickly crypt strings into *nix shadow passwords with Ruby. Strangely a topic that is difficult to find any recent information on...
Need to implement a cron-style Ruby process? daemon-kit now sports a cron-style daemon generator that allows creating your own cron daemon with the help of rufus-scheduler.
As Ruby developers we are spoiled for choice when it comes to messaging systems. Some are right for the job, some simply aren't. Even more dangerous is the case of using XMPP (Jabber) where AMQP is actually the better fit. Join me as I ask: To XMPP or to AMQP?
I had the great privilege last night to do a presentation on Ruote at the third monthly Ruby on Beer meetup here in Gauteng. It ended up taking 35 minutes, not 20 as intended, but I think I got something across to the guys. Slides available at Open Sourcery.
Daemon Kit aims to simplify creating Ruby daemons by providing a sound application skeleton (through a generator), task specific generators (jabber bot, etc) and robust environment management code. Using simple built-in generators it is easy to created evented and non-evented daemons that perform a multitude of different tasks. The first version, 0.1 sports a jabber generator, with the evented jabber generator coming soon. The code is still pretty much rough around the edges, and it lives over at GitHub.
Wondering if the Ruby on Rails 2.2 EnvyCast is worth $16? Read my review to get a better idea. Short answer, definitely worth it!
Though I'd share with everyone how we use Hoptoad in our production deployments of our own open source projects. Using git and separate branches/repos we can have sensitive code (like New Relic/Hoptoad accounts) in our code, and still have it out of the publics sight, and gain the full benefit from using those products to improve our code.
I extended acts_as_audited with some additional functionality for tracking the parent of the audited record. Not an everyday use case, but a good fit for PowerDNS on Rails.
As mentioned here, I've just added some updates to the Google Analytics Plugin for Rails that adds support for local cached copies of the legacy and new Analytics JavaScript files. It includes full support from the Rails AssetTagHelper module, so timestamps, asset id's and asset hosts are all used. A convenient rake task makes sure files are kept updated at deployment time, or via cron.
Bind DLZ on Rails (announcement here and GitHub repository) is a Web frontend based on our experience of managing thousands of DNS records through techniques including building zone files from databases via cron and implementing PowerDNS for its database backends.

Bind is the defacto DNS server and the bind-dlz extensions enhance it by providing support for database backends simplifying management of zones, and providing added redundancy.
nginx - Reading the fine print
Long running Rails requests and nginx don't play together well, its worth reading the nginx fine print.