- By Edmond Lau
- Highly Recommended 👍
- http://www.theeffectiveengineer.com/
- They are the people who get things done. Effective Engineers produce results.
Remove osxfuse if installed via homebrew: | |
> brew uninstall osxfuse | |
Install osxfuse binary and choose to install the MacFUSE compatibility layer: | |
http://sourceforge.net/projects/osxfuse/files/latest/download?source=files | |
Reboot (optional but recommended by osxfuse) | |
Install ntfs-3g via homebrew: | |
> brew update && brew install ntfs-3g |
""" | |
SQLAlchemy, PostgreSQL (psycopg2), and autocommit | |
See blog post: http://oddbird.net/2014/06/14/sqlalchemy-postgres-autocommit/ | |
""" | |
from contextlib import contextmanager | |
from sqlalchemy import create_engine, event | |
from sqlalchemy.orm import sessionmaker, Session as BaseSession |
# From http://stackoverflow.com/questions/17901588/new-repo-with-copied-history-of-only-currently-tracked-files | |
Delete everything and restore what you want | |
Rather than delete this-list-of-files one at a time, do the almost-opposite, delete everything and just restore the files you want to keep: | |
$ git checkout master | |
$ git ls-files > keep-these.txt | |
$ git filter-branch --force --index-filter \ | |
"git rm --ignore-unmatch --cached -qr . ; \ |
from __future__ import print_function | |
from sqlalchemy import ( | |
Column, | |
create_engine, | |
MetaData, | |
) | |
from sqlalchemy.types import String, Integer | |
from sqlalchemy.dialects.postgresql import UUID | |
from sqlalchemy.orm import sessionmaker | |
from sqlalchemy.ext.declarative import declarative_base |
-- active connections | |
SELECT application_name, state, age(now(), xact_start) age, query FROM pg_stat_activity WHERE state <> 'idle'; | |
SELECT application_name, pid, state, age(now(), xact_start) age, | |
left(regexp_replace(query,E'[\\n\\r]+',' ','g'), 100) | |
FROM pg_stat_activity WHERE state <> 'idle' ORDER BY age; | |
-- bloated tables | |
select relname, n_tup_ins, n_tup_upd, n_tup_del, n_tup_hot_upd, n_live_tup, | |
n_dead_tup, round(n_dead_tup::numeric/n_live_tup, 2) as bloat, |
/** | |
* Retrieves all the rows in the active spreadsheet that contain data and logs the | |
* values for each row. | |
* For more information on using the Spreadsheet API, see | |
* https://developers.google.com/apps-script/service_spreadsheet | |
*/ | |
function readRows() { | |
var sheet = SpreadsheetApp.getActiveSheet(); | |
var rows = sheet.getDataRange(); | |
var numRows = rows.getNumRows(); |
module Where | |
class <<self | |
attr_accessor :editor | |
def is_proc(proc) | |
source_location(proc) | |
end | |
def is_method(klass, method_name) | |
source_location(klass.method(method_name)) |
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") |
# From https://github.com/rails/rails/issues/20606#issuecomment-113323102 | |
# Almost good, but I don't think it handles the case of promoting an | |
# existing location to being the primary location correctly in some cases | |
class Organization < ActiveRecord::Base | |
has_many :locations, dependent: :destroy, autosave: true # autosave necessary for the importer | |
has_one :primary_location, -> { where(locations: { primary: true }) }, class_name: "Location", autosave: true | |
# Override getter to fix issue with Rails not reloading the primary_location after resetting it to nil | |
def primary_location |