iTerm2 on Mac OSX: add alt-left, alt-right and alt-backspace behaviour

posted by Arkham on January 9th, 2013

If you want iTerm2 to behave like the other Mac OSX applications, so that alt + left moves the previous word, alt + right moves to the next word and alt + backspace deletes the whole word, add these keyboard shortcuts from iTerm > Preferences > Profiles > Keys:

  • Alt + left: Send Escape Sequence, Esc + b
  • Alt + right: Send Escape Sequence, Esc + f
  • Alt + backspace: Send Hex Code, 0x17

Tags: , , , ,

Ruby 1.9 – Tap my Object

posted by Arkham on October 28th, 2011

Let’ say you need to debug this piece of code:

very_cool_method(egg, sausage)

What would you do? I guess something along the lines of:

spam = very_cool_method(egg, sausage)
p spam

Well, Ruby 1.9 let you do something cooler instead:

very_cool_method(egg, sausage).tap{ |s| p s }

The cool thing about tap is that you can use it to eavesdrop method chains:

very_cool_method(egg, sausage).tap{ |s| p s }.now_make_sandwich_from(bacon)

Hooray! :)

Tags: , , , ,

Rails 3: difference between has_many :through and has_and_belongs_to_many

posted by Arkham on May 24th, 2011

From Rails guides:

The simplest rule of thumb is that you should set up a has_many :through relationship if you need to work with the relationship model as an independent entity. If you don’t need to do anything with the relationship model, it may be simpler to set up a has_and_belongs_to_many relationship (though you’ll need to remember to create the joining table in the database).

Tags: , , ,