rails

May I Cite Myself?

Well I'll just do it.

Maybe it's because I'm motivated by my new blog theme. Or maybe because my blog is now running on Drupal instead of Wordpress - well what the heck? ;-)

Anyway, I tought it's time to cite myself: Developers are Musicians - Wait was that by myself or by Ryan McMinn? Well ... does that really matter? Guess it's just a fact :-)

timed_fragment_cache on Rails 2.1

With Rails 2.1 cache_erb_fragment has been replaced by write_fragment. This breaks a plugin I really enjoy to use: timed_fragment_cache by Richard Livsey.

It basically allows you to specify an expiry for the fragments you cache, e.g. inside memcache, by adding a "meta" fragment for the fragment you store containing the expiry time.

Some usage examples - pretty self-explaining:

In your view:

<%- cache 'my_key', 1.hour.from_now do -%>
	...
<%- end -%>

With extensive queries - your view ...:

<%- cache 'some_posts' -%>

Memory Leaks in GetText for Ruby on Rails

Version 1.90.0 of GetText for Ruby has quite some memory leaks in its Rails support files. In my case, the memory Mongrel used increased by 1 MB with each request it served... Quite amazing that you don't really find someone else having the problem... Well there's at least a bug report on rubyforge...

Monkey-patching gettext.rb with the following code made things quite more relaxed:

  def bound_target(klass = self) # :nodoc:
    ret = nil

Ruby on Rails: gettext + memcache = trouble

The latest Ruby gettext 1.10.0 gem broke the memcache based fragment caching of the current project I'm working on. I figured out what the problem was. gettext 1.10.0 tries to localize caching of fragments by kind of appending the Locale.current to the fragment cache key, e.g. "items/show/1" becomes "items/show/1_en", "items/show/1_de", ...

This by itself isn't a problem but gettext also overwrites the default Rails implementation for expiring fragments. The gettext mechanism expires each localized cache fragment for a given key, e.g. "items/show/1_*" (where * is a wildcard). The current memcache-client gem (1.5.0) however doesn't support wildcard based key access and a "delete_if method not defined" exception gets thrown.

Developers are Musicians

Some random (and slightly interpreted) quotes by Ryan McMinn of unspace.ca, a Canadian project company:

  • Specs = Speculations
  • Contracts induce Software that works but sucks
  • Developing Software is getting a career option
  • Developers are Musicians

Check out the video - it's 15 minutes full of truth ;-)

Syndicate content