Skip to content

Instantly share code, notes, and snippets.

View hayesr's full-sized avatar

Eric Hayes hayesr

View GitHub Profile
tracks_with_date = [
["6GZeeRql1kto2a7koIve9i", "2018-11-13 05:02:50 UTC"],
["6pXJV9kSdjyAcDsM32ftLK", "2018-11-13 05:02:50 UTC"],
["5x9jMerOQr7oTF1GO4STRY", "2018-11-13 05:02:50 UTC"],
["2hLTFcVb0k2xpHXZblhu7Y", "2018-11-13 05:02:50 UTC"],
["77L5jfCpmpkDma5lXjG6oX", "2018-11-13 05:02:50 UTC"],
["6rux2bYOCSr2woxnQsoUE3", "2018-11-13 05:02:50 UTC"],
["0gjknY5vRTKbzMos2hhfN7", "2018-11-13 05:02:50 UTC"],
["0ZHn1GiKfyLgpvEks2wBcn", "2018-11-13 05:02:50 UTC"],
["25EmPX0QaVUOzi2sG3fZEp", "2018-11-13 05:02:50 UTC"],
# config/routes.rb
resources :documents do
scope module: 'documents' do
resources :versions do
post :restore, on: :member
end
resource :lock
end
end
@hayesr
hayesr / finding-indexes.md
Created January 23, 2019 03:06
A tip for finding tables that need indexes

Finding which tables need extra indexes

pg_stat_user_tables is a fantastic system view that can show us invaluable information about the tables in our databases and can be used in diagnosing performance issues. Vacuum statistics like last_autovacuum and n_dead_tup will show if there are tables that aren’t being vacuumed efficiently and n_tup_hot_upd if you aren't performing HOT updates.

One of the things to look for first, though, is if there are tables that need new indexes as this can have a significant impact

@hayesr
hayesr / rails-jsonb-queries.rb
Last active December 13, 2018 15:12 — forked from mankind/rails-jsonb-queries
Rails-5 Postgres 9.6+ JSONB queries
# http://stackoverflow.com/questions/22667401/postgres-json-data-type-rails-query
# http://stackoverflow.com/questions/40702813/query-on-postgres-json-array-field-in-rails
# payload: [{"kind"=>"person"}]
Segment.where("payload @> ?", [{kind: "person"}].to_json)
# data: {"interest"=>["music", "movies", "programming"]}
Segment.where("data @> ?", {"interest": ["music", "movies", "programming"]}.to_json)
Segment.where("data #>> '{interest, 1}' = 'movies' ")
Segment.where("jsonb_array_length(data->'interest') > 1")
@hayesr
hayesr / image-to-color.md
Last active July 15, 2017 18:47
Extract colors from an image using ImageMagick
@hayesr
hayesr / find_actions_without_params.rb
Last active March 22, 2017 04:54
Find action lines in controller tests without params keyword (for Rails 5)
/(?:get|put|post|patch)\s+:\w+,\s+(?!params).+/
@hayesr
hayesr / application_helper.rb
Last active July 8, 2016 14:56
Simple Presenter System
module ApplicationHelper
def present(object, klass = nil)
klass ||= "#{object.class}Presenter".constantize
presenter = klass.new(object, self)
yield presenter if block_given?
presenter
end
end
function preresolve(dq)
if dq.qname:equal("www.google.com") then
dq:addAnswer(pdns.CNAME, "forcesafesearch.google.com.")
dq.rcode = 0
dq.followupFunction="followCNAMERecords" -- this makes PowerDNS lookup your CNAME
return true;
end
return false;
end
@hayesr
hayesr / _hmt_fixture_bug.rb
Created August 23, 2015 04:28
Timestamp columns are not auto populated for hm:t join tables
ENV['FIXTURES_DIR'] = "./"
begin
require 'bundler/inline'
rescue LoadError => e
$stderr.puts 'Bundler version 1.10 or later is required. Please update your Bundler'
raise e
end
gemfile(true) do
@hayesr
hayesr / vm-ubuntu-rails.sh
Last active December 13, 2015 23:29
Fresh Ubuntu to Rails ready, on VirtualBox
# Virtual Box Instructions
# --------------------------------
# 1. Install VirtualBox Oracle VM VirtualBox Extension Pack.
# 2. Install deps for Guest Additions
sudo apt-get install dkms build-essential linux-headers-$(uname -r)
# 3. Install Guest Additions (from CD)
sh ./VBoxLinuxAdditions.run