tools to learn

In order to become a pragmatic programmer, I need to invest time in learning tools, libraries, scripting and time saving macros and keyboard shortcut

irb

    • http://github.com/cldwalker/hirb

    • http://github.com/michaeldv/awesome_print

    • http://github.com/oggy/looksee

Ruby 1.9

http://tagaholic.me/2011/03/05/one9-upgrade-to-ruby-19-now.html

ruby http://rubyzucker.info/ and http://github.com/dolzenko/dolzenko-gem

Rails 3

Models

    • https://github.com/Casecommons/active_table

    • https://github.com/jeremyw/stamp for human date formatting

    • http://blog.codesherpas.com/on_the_path/2010/04/introducing-business_time.html

    • https://github.com/mdeering/attribute_normalizer

    • http://ileitch.github.com/2012/03/24/rails-32-code-reloading-from-lib.html

    • http://theonblog.com/2012/01/23/on-pluck/

Controllers

https://github.com/voxdolo/decent_exposure

OOP

https://github.com/objects-on-rails

VIEWS:

    • http://foundation.zurb.com/index.php for css

    • http://gravityblast.com/2009/07/30/2-minutes-admin-layout-with-rails-and-the-web-app-theme-generator/ awesome template

  • https://github.com/imathis/hsl-color-picker/

    • https://github.com/amatsuda/kaminari

    • CSS3 buttons http://brandonmathis.com/projects/fancy-buttons/

    • https://github.com/thoughtbot/bourbon

    • http://github.com/plataformatec/simple_form

    • https://github.com/techiferous/tabulous for managing tabs in App

    • https://github.com/thoughtbot/paul_revere/ to make one off annoucements

    • replacement for helpers: https://github.com/jcasimir/draper

    • save form locally with http://garlicjs.org/

css

TESTING

    • https://github.com/sconover/wrong

    • Testing mass assignment with RSpec-Shoulda

    • RSpec 2 chain syntax https://gist.github.com/741672

    • http://github.com/myronmarston/factory_data_preloader

http://ivaynberg.github.com/select2/ twitter bootstrap select boxes

https://github.com/thoughtbot/appraisal to test more than 1 version of Rails

test output: https://github.com/tpope/fivemat although there are no tests

https://github.com/davelyon/table_diff for turnip

https://github.com/rspec/rspec-expectations/tree/expect_syntax

take inspiration from https://github.com/rdy/fixture_builder to dump date of the DB into a specific DB

debug with https://github.com/banister/plymouth Pry runs when there is a failure or http://cirw.in/blog/pry-to-the-rescue ?

Use something like https://github.com/nistude/guard-bdd ?

https://github.com/burke/zeus to replace spork

https://github.com/leadtune/service_manager to luanch memcache, redis ...

speed

mocks

Rails generator:

config.generators do |g|

test_framework :rspec, :fixture => true, :views => false, :fixture_replacement => :factory_girl, :view_specs => false

fixture_replacement :factory_girl, :dir => 'spec/factories'

end

javascript

  • http://saucelabs.com/

    • https://github.com/psionides/jslint_on_rails

    • http://ryanflorence.com/2012/coffeescript-source-maps/ debug coffee

Use http://yeoman.io/ :)

mocks

ideas

Using gem https://github.com/bradrobertson/apartment to dump test data for each example to a DB

Workflow & tools

pow

http://chrismccord.github.com/labrador/

    • http://patricklenz.com/posts/bundle-outdated

    • brew-gem

http://xip.io/ DNS for eveyone

http://railscasts.com/episodes/368-miniprofiler?view=asciicast : see the speed of a request conveniently on the page. It also shows the SQL queries performed and allows you to profile a specific block of code.

git

http://www.git-legit.org/ (brew install legit) update brew?

http://www.palantir.net/blog/using-git-bisect-fun-and-profit

http://lab.arc90.com/2012/04/03/git-sweep/

PostGresql

http://rhaas.blogspot.fr/2010/06/postgresql-as-in-memory-only-database_24.html

Infrastructure & Deployment

  • Dynamically generates Capistrano recipes for Rake tasks https://github.com/njonsson/cape

  • lightweight application and system monitoring + exceptions handline (in python) http://amon.cx/

    • https://github.com/mperham/sidekiq (Resque backgournd jobs)

    • https://github.com/nadarei/mina replacement for capistrano (faster?)'

    • logging : https://github.com/roidrage/lograge

javascript

http://www.muscula.com/ airbrake for js errors

API

Stories remote team management

https://github.com/betterplace/pivotal_pdf_cards

metrics

http://corner.squareup.com/2012/02/cane.html

http://blog.codegram.com/2012/2/linting-the-hell-out-of-your-ruby-classes-with-pelusa

square/cane - GitHub

https://github.com/square/cane

codegram/pelusa - GitHub

https://github.com/codegram/pelusa

jscruggs/metric_fu - GitHub

https://github.com/jscruggs/metric_fu

http://brakemanscanner.org/

https://github.com/flyerhzm/bullet N+1 querries

Ruby is too slow

tODO: find patch for 1.9.3 which speeds up rails

https://github.com/skaes/rvm-patchsets

use ./script/rails instead of rails. http://jstorimer.com/2011/12/20/rails-and-exec.html

http://yslow.org/

Editor

vim

http://www.sublimetext.com/

Rubymine

fix java on chrome to get http://www.screenr.com/ to work

Groupware

http://talkerapp.com/

ruby

use tap

FIX IRB for 1.9.3 and http://lucapette.com/pry/pry-everywhere/

dotfile

https://github.com/gabebw/dotfiles alias for github, see gitconfig.erb

VIM & editor

https://github.com/chriskempson/tomorrow-theme

Analytics

http://ninjasandrobots.com/cohort-analysis-user-retention-in-a-rails-application