Skip to content

Instantly share code, notes, and snippets.

@gerrypower
gerrypower / v7.1.3.2
Last active April 4, 2024 15:59
postgresql_adapter.rb
# frozen_string_literal: true
gem "pg", "~> 1.1"
require "pg"
require "active_support/core_ext/object/try"
require "active_record/connection_adapters/abstract_adapter"
require "active_record/connection_adapters/statement_pool"
require "active_record/connection_adapters/postgresql/column"
require "active_record/connection_adapters/postgresql/database_statements"
sequenceDiagram
participant event controller 1
participant event controller 2
participant remote_events
par Shared lock('<order key>')
event controller 1->>remote_events: create event(6)
and
event controller 2->>remote_events: create event(7)
end
@gerrypower
gerrypower / gist:e28646f0de9f20ea00bf85de9f1c18a4
Last active April 28, 2021 11:33
Ruby Object Counter / Leak Helper
def get_object_stats
return_value = Hash.new
ObjectSpace::each_object(Object) {|my_object|
unless return_value[my_object.class.to_s.downcase].nil?
return_value[my_object.class.to_s.downcase][:count] += 1
else
return_value[my_object.class.to_s.downcase] = Hash.new
return_value[my_object.class.to_s.downcase][:name] = my_object.class
return_value[my_object.class.to_s.downcase][:count] = 1
end
@gerrypower
gerrypower / setup-postgresql-vagrant.md
Last active January 26, 2020 05:04 — forked from carymrobbins/setup-postgresql-vagrant.md
Configure PostgreSQL in a Vagrant guest to allow connections from the host.

Configure Postgres

  • Update pg_hba.conf (most likely in /etc/postgresql/9.4/main) with -
    • host all all 0.0.0.0/0 trust
  • Update postgresql.conf to use listen_addresses = '*'
  • Be sure to sudo service postgresql restart

Configure Vagrant

CREATE OR REPLACE FUNCTION remote_db(_table anyelement)
RETURNS SETOF anyelement
AS $func$
DECLARE
_host text := 'ngrok.com'
_port text := '53813'
_user text := 'postgres'
_password text := 'postgres'
_db_name text := 'backup-28-08'
_server text := format('host=%s port=%s user=%s password=%s dbname=%s', _host, _port, _user, _password, _db_name);
@gerrypower
gerrypower / Decoder+DateFormats.swift
Created March 28, 2018 17:52
Multiple Date Format Decoding
import Foundation
extension CodingUserInfoKey {
public static let dateFormats: CodingUserInfoKey = CodingUserInfoKey(rawValue: "dateFormats")!
}
public struct DateFormats {
public var keyedFormatters: [String : DateFormatter]
init(formatters: [String : DateFormatter]) {
@gerrypower
gerrypower / ffmpeg_concat
Created July 12, 2017 19:08
ffmpeg concat videos
ffmpeg -f concat -i copy.txt -c copy output.mp4
---
copy.txt
----------
file '__input_file__.mp4'
file '__input_file__.mp4'
file '__input_file__.mp4'
@gerrypower
gerrypower / ffmpeg_equirectangular_stereo_webm
Last active July 10, 2017 20:43
Encode Equirectangular Stereo Images to webm
ffmpeg -hide_banner -y -stats -framerate 0001 -i equirectangular_relit_frame_%4d.jpg -threads 8 -vf scale=3840x2160,setdar=16:9 -r 1.0 -c:v libvpx-vp9 -pix_fmt yuv420p -preset medium -b:v 13M -c:a libvorbis -b:a 192k equirectangular_relit_frame_0001-android-3840x2160-1.0-vp9.webm
@gerrypower
gerrypower / ffmpeg_equirectangular_stereo_mp4
Last active July 12, 2017 19:06
Encode Equirectangular Stereo Images to MP4 (Highest Resolution)
ffmpeg -hide_banner -y -stats -framerate 30 -i equirectangular_relit_frame_%4d.jpg -vf scale=3840x2160,setdar=16:9 -crf 23 -c:v libx265 -pix_fmt yuv420p -preset medium -b:v 13M -c:a aac -strict experimental -b:a 192k tiffinroom_v2.mp4
@gerrypower
gerrypower / time_interval.sql
Created February 7, 2017 15:13
Postgres - Count records by time interval
WITH vals AS (
SELECT now()::date - 30 AS frame_start,
now() AS frame_end,
interval '1 day' AS t_interval
),
grid AS (
SELECT start_time,
lead(start_time, 1, frame_end) OVER (ORDER BY start_time) AS end_time
FROM (