Shirts and Destroy

My favourite independant T-Shirt manufacturer and store, Shirts and Destroy have two new Agoraphobic Nosebleed shirts in stock.

Just a quick quote from their site…

The profits for the items you buy here go to the Bands and Artists we work with. So you really are SUPPORTING these bands and artists when you shop with us. We strictly work with people who’s art we respect and admire. Nothing is sold here that we don’t stand behind artistically 100%. If something offends you were not sorry… this isn’t the mall. Thanks for helping us do our part in supporting independent art and music.

Basically, they rock! Help support the bands you love.

High Heels From Hell Vs The Undead

Really liking this one…

Stubbing out live calls to via Facebooker

I just can’t find a way to stub out Facebooker::Service, this just didn’t seem to work.

fs = mock_model(Facebooker::Service, :post => "1")

So finally I used.

describe FacebookPublisher do

  class Facebooker::Service
    def post(*args)
      return "1"

  it "just should ok" do
    Facebooker::Session.create.<some method thingy>


ActionMailer with ActiveRecord validation

I wanted to be able to send out a mail from a controller but also validate the incoming args in a clean way. Like so…

class MessagesController < ActionController::Base

def deliver
  @message =[:message])
  if @message.deliver
    redirect_to home_path
    render :action

ActionMailer::Base hides the initialize methods in method_missing and most of the time you are calling ActionMailer::Base.deliver_mymail(args). This allows you to specify all of the standard actionmailer settings in and return a Message object.

class Message < ActionMailer::Base

  include Validatable
  validates_presence_of :from, :body

  def = {})
    new('default', args)

  def self.action_mailer_methods
    return [

  def default(args)
    new_args = args.clone
    new_args.each do |k,v|
      if self.class.action_mailer_methods.include?(k)
        send(k, new_args.delete(k))

    if body.kind_of?(Hash)


  def deliver
    if self.valid?
      return deliver!
      return false


Pandora console

The Pandora

…the most powerful gaming handheld there is….

Now, I’ll need some more freelance work to get my hands on one of these.

Oooh....erb templates in javascript

Found this ERB for jQuery script this morning from Dan Webb

// ERB style templates for jQuery in hardly any code.
// Based on
// A tiny and simple plugin to allow erb style template rendering within jQuery.
// Make a template:
// <script type="text/html" id="template1">
// <% $.each(items, function(i, image) { %>
//   <p><img src="<%= %>" alt="<%= image.title %>"></p>
// <% }); %>
// </script>
// Render the template into the dom with some data:
// <script type="text/javascript">
// jQuery(function($) {
//   $.getJSON("", function(data) {
//     $('#test').render('template1', data);
//   });
// });
// </script>
// Alternatively, you can load templates from files:
// $('#test').render('template.ejs', data);

jQuery(function($) {
  var cache = {};
  function compile(source) {
    return new Function("obj",
          "var p=[],print=function(){p.push.apply(p,arguments);};" +
          "with(obj){p.push('" +
            .replace(/[\r\t\n]/g, " ")
            .replace(/((^|%>)[^\t]*)'/g, "$1\r")
            .replace(/\t=(.*?)%>/g, "',$1,'")
        + "');}return p.join('');");
  function load(template) {
    if (!(/\W/).test(template)) {
      return compile($("#" + template).html());
    } else {
      var source;
        async: false,
        url: template,
        dataType: 'text',
        success: function(data) {
          source = data;
      return compile(source);
  $.template = function(template, data) {
    var fn = cache[template] = cache[template] || load(template);
    if (data) return fn(data);
  $.fn.render = function(str, data) {
    return this.each(function() {
      $(this).html($.template(str, data));

Lazarus, pimping up music since 2009

Rails Way - Das magazin fur Ruby on Rails

I found this little gem in a bog standard boring, run of the mill newsagents in Berlin, Zoologischer Garten. Perhaps Germany is more tech friendly but having monthly Ruby on Rails, PHP, .Net and Java monthlies is is quite crazy for what would be a small readership.

Available at

Git remote branches

Nice little and verbose script to aid with the creation of remote git repos.

git-remote-branch create sv1.8

or to track an already existing remote branch

git branch --track sv1.8 origin/sv1.8


Why does IE8 ignore this, grrrrrrrrr.

<!--[if lt IE 8]>
<script src="" type="text/javascript"></script>

It seems that the ie8.js script doesn’t like being used inside a frame.

Hi dean,

First of all great work. I have a problem when I use your script inside a frame (ugly, I know). I get a permission denied on ‘if(/ie7_off/.test(||k<5)’.

Any thoughts on a quick fix?

Thanks, Ronald Moolenaar