Skip to content

Instantly share code, notes, and snippets.

View philtr's full-sized avatar

Phillip Ridlen philtr

View GitHub Profile
#!/usr/bin/env bash
# Abort sign off on any error
set -e
# Start the benchmark timer
SECONDS=0
# Repository introspection
OWNER=$(gh repo view --json owner --jq .owner.login)
@raorao
raorao / pr-comment-emojis.md
Last active February 9, 2025 20:57
PR Comment Emojis

Any top-level comment on pull request ought be tagged with one of four emojis:

  • for a non-blocking comment that asks for clarification. The pull request author must answer the question before the pull request is merged, but does not have to wait for the comment author to re-review before merging.

  • 🎨 for a non-blocking comment that proposes a refactor or cleanup. The pull request author does not have to address the comment for the pull request to merge.

  • ⚠️ for a blocking comment that must be addressed before the pull request can merge. The comment's author should leave a Request Changes review, and is responsible for re-reviewing once the pull request author has addressed the issue.

  • 😻 for a comment that compliments the author for their work.

ffmpeg \
-re -y \
-loop 1 \
-f image2 \
-i img_0.jpg \
-i audio.mp3 \
-acodec libfdk_aac \
-ac 1 \
-ar 44100 \
-b:a 128k \
@pixeltrix
pixeltrix / time_vs_datatime.md
Last active April 23, 2025 13:36
When should you use DateTime and when should you use Time?

When should you use DateTime and when should you use Time?

It's a common misconception that [William Shakespeare][1] and [Miguel de Cervantes][2] died on the same day in history - so much so that UNESCO named April 23 as [World Book Day because of this fact][3]. However because England hadn't yet adopted [Gregorian Calendar Reform][4] (and wouldn't until [1752][5]) their deaths are actually 10 days apart. Since Ruby's Time class implements a [proleptic Gregorian calendar][6] and has no concept of calendar reform then there's no way to express this. This is where DateTime steps in:

>> shakespeare = DateTime.iso8601('1616-04-23', Date::ENGLAND)
=> Tue, 23 Apr 1616 00:00:00 +0000
>> cervantes = DateTime.iso8601('1616-04-23', Date::ITALY)
=> Sat, 23 Apr 1616 00:00:00 +0000
@bdtomlin
bdtomlin / gist:813e779c647978fc27e3
Created August 27, 2014 14:32
Vimux and Turbux
" for vim to interact with tmux
Bundle 'benmills/vimux'
" for awesome ruby testing
Bundle 'jgdavey/vim-turbux'
" My settings
"use closest pane already open (don't create split if there already is one)
let VimuxUseNearestPane = 1
" Create vertical split, no naturally use "h" for vertical :)
@olivierlacan
olivierlacan / assistive_devices.md
Created June 21, 2013 07:31
How to re-enable Divvy in OS X 10.9 Mavericks when it complains about needing to "enable access to assistive devices".

At the time of this writing Divvy hasn't been updated for OS X 10.9 so it tries to direct you to the Accessibility panel of the System Preferences. Actually the assistive device settings have been moved to the Security pane as shown below:

@atdt
atdt / update-chromium.sh
Created March 28, 2012 17:25
Update Chromium to latest nightly on OS X
#!/usr/bin/env bash
# Update Chromium (on OS X) to the latest nightly build.
install_dir='/Applications/Chromium.app'
base_url='http://commondatastorage.googleapis.com/chromium-browser-snapshots/Mac'
build=$(curl -s -f ${base_url}/LAST_CHANGE)
installed=$(/usr/libexec/PlistBuddy -c 'Print :SVNRevision' ${install_dir}/Contents/Info.plist)
script=$(basename $0)
@relistan
relistan / compress_requests.rb
Last active April 18, 2023 23:54 — forked from subdigital/compress_requests.rb
Rack Middleware to automatically unzip gzipped/deflated POST data
class CompressedRequests
def initialize(app)
@app = app
end
def method_handled?(env)
!!(env['REQUEST_METHOD'] =~ /(POST|PUT)/)
end
def encoding_handled?(env)
@cbetta
cbetta / gist:2006770
Created March 9, 2012 14:38
A better way handle Omniauth identity failed logins
OmniAuth.config.on_failure = -> env do
env[ActionDispatch::Flash::KEY] ||= ActionDispatch::Flash::FlashHash.new
env[ActionDispatch::Flash::KEY][:error] = "Either your email or password was not recognised. Please try again."
SessionsController.action(:new).call(env) #call whatever controller/action that displays your signup form
end
@boucher
boucher / StripeTutorialPage.html
Created February 6, 2012 07:05
Stripe Tutorial Payment Form
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<title>Stripe Getting Started Form</title>
<script type="text/javascript" src="https://js.stripe.com/v1/"></script>
<!-- jQuery is used only for this example; it isn't required to use Stripe -->
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript">
// this identifies your website in the createToken call below