- Jim Weirich: The Building Blocks of Modularity – http://goo.gl/g4Nk
- Jim Weirich: SOLID Ruby – http://goo.gl/z3jd
- Sandi Metz: SOLID Object-Oriented Design – http://goo.gl/PDn6T
- Sandi Metz: Less – The Path to Better Design – http://goo.gl/VuTl4
- Demeter is for Encapsulation – http://is.gd/eeyLx
- Opinionated Modular Code – http://is.gd/eeyXm
- Scaling to Hundreds of Millions of Requests – http://vimeo.com/12814529
- Confident Code – http://goo.gl/VFLX
- Destroy All Software Screencasts – https://www.destroyallsoftware.com/screencasts
- Corey Haines: Fast Rails Tests – http://goo.gl/Va2gb
require 'rubygems' | |
require 'twitter' | |
require 'open-uri' | |
require 'yajl' | |
def auto_follow | |
twitter_config = ConfigStore.new("config/twitter_credentials.yml") | |
shortening_config = ConfigStore.new("config/url_shortening.yml") | |
httpauth = Twitter::HTTPAuth.new(twitter_config['email'], twitter_config['password']) | |
base = Twitter::Base.new(httpauth) |
class Token | |
VOWELS = %w[a e i o u] | |
CONSONANTS = ("a".."z").to_a - VOWELS | |
NUMBERS = (0..9).to_a | |
def self.readable(size = 12) | |
String.new.tap do |s| | |
half = size / 2 | |
1.upto(size) do |i| |
require 'fog' | |
username = 'testuser' | |
bucket = 'uniquebucketname1234' | |
aws_credentials = { | |
:aws_access_key_id => 'YOUR-ACCESS-KEY-ID', | |
:aws_secret_access_key => 'YOUR-SECRET-ACCESS-KEY' | |
} |
# autoload concerns | |
module YourApp | |
class Application < Rails::Application | |
config.autoload_paths += %W( | |
#{config.root}/app/controllers/concerns | |
#{config.root}/app/models/concerns | |
) | |
end | |
end |
Revised date: 07/11/2012
Between us [company name] and you [customer name]
We’ll always do our best to fulfil your needs and meet your expectations, but it’s important to have things written down so that we both know what’s what, who should do what and when, and what will happen if something goes wrong. In this contract you won’t find any complicated legal terms or long passages of unreadable text. We’ve no desire to trick you into signing something that you might later regret. What we do want is what’s best for both parties, now and in the future.
This guide is for developers who are new Node, NPM, and Ember CLI. This guide is designed to get you started with ember cli development and provide some general background info on what Node is and how it works with Ember CLI.
- What is Node?
- What is NPM?
- How do I setup my environment if I don't have node js or npm installed?
- I accidently installed something wrong how can I start over?
# Lotus has different applications in a single project, optionally with different configurations and/or mappings. | |
# ROM::Lotus should/could conigure a different setup per application, rather than a single global setup. | |
# Relations could be global (defined in ./lib) while mappings might live in both (./apps/web/ and ./lib). | |
# This would resemble how Lotus::Model is organised. | |
# | |
# The only problem here is that Lotus has no hooks for loading framework (it's all hard-coded)s, and | |
# therefore we can't easily extend the application load process with our custom setup code without | |
# resorting to monkeypatching. | |
# apps/web/application.rb |
'use strict' | |
var gulp, sass, babelify, browserify, watchify, source, util; | |
gulp = require('gulp'); | |
sass = require('gulp-sass'); | |
babelify = require('babelify') | |
browserify = require('browserify'); | |
watchify = require('watchify'); | |
source = require('vinyl-source-stream'); |