code: function get(obj, key) {
      var i, accessor = key.split('.'), empty = true;
      for (i=0; i<accessor.length; i++) {
        // empty string for key.that.does.not.exist
        if (!obj) return '';
        obj = obj[accessor[i]];
      }
      // empty string for every falsy value except 0
      if (obj === undefined || obj === null || obj === false) return '';
      // treat [] and {} as falsy also
      if (obj instanceof Array && obj.length == 0) return '';
      if (obj.constructor === Object) {
        for (i in obj) if (obj.hasOwnProperty(i)) empty = !i;
        if (empty) return '';
      }
      return obj;
    }
docs: get value with dot notation, e.g. get(obj, 'key.for.something')