SEO Techniques

http://backlinko.com/white-hat-seo

http://www.clambr.com/link-building-tools/

http://www.randombyte.com/101-white-hat-seo-tips/

http://www.pushon.co.uk/articles/top-5-white-hat-and-black-hat-search-optimisation-techniques/

http://backlinko.com/

Coding Doc Guidelines

http://tomdoc.org/

http://warpspire.com/kss/

https://github.com/styleguide/css

https://github.com/kneath/kss

Payment Processors

https://stripe.com/blog/send-payouts-with-stripe

http://www.quora.com/Balanced/How-does-Balanced-compare-against-Stripe

http://www.jeffmould.com/2014/02/16/comparing-stripe-vs-braintree-vs-balanced-vs-dwolla/

http://sixrevisions.com/tools/online-payment-systems/

http://blog.localon.com/2013/11/21/why-we-switched-from-stripe-to-balanced/

http://www.getapp.com/compare/payment-management-software/stripe-vs-square

http://www.businessinsider.com/square-stripe-online-payments-2012-8

http://pando.com/2014/01/24/memo-to-stripe-winning-the-he...

MySQL: Drop Index Syntax

drop index index_name on table_name

Rails: Check missing Foreign Key Indexes

c = ActiveRecord::Base.connection
c.tables.collect do |t|  
  columns = c.columns(t).collect(&:name).select {|x| x.ends_with?("_id" || x.ends_with("_type"))}
  indexed_columns = c.indexes(t).collect(&:columns).flatten.uniq
  unindexed = columns - indexed_columns
  unless unindexed.empty?
    puts "#{t}: #{unindexed.join(", ")}"
  end
end

GIt: Setup local branch to track remote branch

 $ git checkout --track origin/serverfix

PDF Manipulation: Decrypting a File

qpdf --decrypt --password=PASSWORD INPUT_FILE.pdf OUTPUT_FILE.pdf

CLI: Send files to AWS S3

find . -mtime +512 -exec aws s3 cp {} s3://bucket_location \;

Linux: Primary vs Secondary Groups

In /etc/passwd you'll see a primary group assigned to each user like this:

Code:
john:x:1001:1001:John:/home/john:/bin/bash

User "john" here has uid 1001 and his primary group is also 1001. When john creates files, they will be owned by john and assigned to group 1001.

john can also belong to other ("secondary") groups. These assignments are made in /etc/group:

Code:
someusers:x:500:john,jill,jack,harry

Here john, jill, jack, and harry also belong to the group called "someusers" with gid 500. So john will also have the privileg...

Linux: Create new user with root privileges

  1. Create the user

    $ adduser user_name

  2. Give root privileges

    $ visudo

Add user to privileges

user_name ALL=(ALL:ALL) ALL