Skip to content

Instantly share code, notes, and snippets.

Jesal Gadhia jesalg

Block or report user

Report or block jesalg

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
stevenharman /
Last active Nov 28, 2019
Heroku Release Phase script for managing Rails DB migrations, and playing nice with Review Apps and postdeploy scripts

Heroku Release Phase + Review Apps + Rails

This is a simplified, but fairly thorough, set of scripts and configuration to enable Heroku Release Phase for Rails apps. Further, this particular set up plays nicely with Heroku Review Apps in that the release phase script will:

  1. Fail, loudly, if the DB does not yet exist.
  2. Load the DB schema if the current schema version (as determined by bin/rails db:version) is 0.
  3. Run DB migrations otherwise.

For a "normal" app that usually means it will run the DB migrations.

kerlin / get_workers.rb
Last active Dec 10, 2019
Calling the Workday API in Ruby with Savon
View get_workers.rb
#!/usr/bin/env ruby
# Example Ruby CLI script to retrieve worker data from Workday
# Call on command line with worker id; prints worker name
# add "request" or "response" after worker id and prints the
# outgoing xml or received hash and exits.
# Using Savon version 2 for the SOAP client (2.11.2)
# Savon defaults to making the message tag the same as the operation name
eduncan911 /
Last active Dec 9, 2019
Revert Gist Commits

Revert / Undo a Gist Commit

It was not exactly obvious. Here's how to revert a Gist commit!

Checkout the gist like a normal git repo:

# replace the Gist ID with your own
git clone

Treat it like a normal repo. Edit, force push, etc.


FWIW: I didn't produce the content presented here (the outline from Edmond Lau's book). I've just copy-pasted it from somewhere over the Internet, but I cannot remember what exactly the original source is. I was also not able to find the author's name, so I cannot give him/her the proper credits.

Effective Engineer - Notes

What's an Effective Engineer?


Realtime Notifications with ActionCable

In this episode we're going to be adding realtime notifications into your app using ActionCable. We've talked about notifications a few times in the past and we used AJAX polling for that. 95% of the time, polling is the solution that would be recommended for it.

But if you're looking for a good introduction into ActionCable then this is a decent one because we're only really using it for one way from the server side to the client side.

Getting started

So to get started we're starting with an app that has Bootstrap installed and then we created a Main controller with an index view which is where we will list our Notifications as for this example.

Before we generate our channels let's install a few things

jrafanie / gist:5424bc23a5c5fcbe5047
Last active Aug 7, 2016
bundler: no place like gem home
View gist:5424bc23a5c5fcbe5047
$ bundler -v
Bundler version 1.9.7

Add git based rake to Gemfile:

$ cat Gemfile
source ''
merqlove / optimization.rake
Created Jan 9, 2015
PostgreSQL optimization tasks for ActiveRecord
View optimization.rake
namespace :optimization do
desc "Provide DB vacuum for production environment"
task :vacuum => :environment do
tables = ActiveRecord::Base.connection.tables
tables.each do |table|
ActiveRecord::Base.connection.execute("VACUUM FULL ANALYZE #{table};")
rescue Exception => exc
Rails.logger.error("Database VACUUM error: #{exc.message}")
denilsonsa / Python Virtual Environments on Debian and
Last active Dec 1, 2016
Python Virtual Environments on Debian and Ubuntu
View Python Virtual Environments on Debian and

pyvenv-3.3 (Ubuntu 13.10, also Debian)


pyvenv-3.3 venvdir
venvdir/bin/python -c 'import sys; print(sys.path)'
# This should print the venvdir in sys.path.
# But in buggy Ubuntu/Debian, it doesn't.
milesmatthias / directory_upload.rb
Created Sep 1, 2014
S3 directory upload in ruby. Switched to use the official aws ruby sdk.
View directory_upload.rb
#!/usr/bin/env ruby
require 'rubygems'
require 'aws-sdk'
class S3FolderUpload
attr_reader :folder_path, :total_files, :s3_bucket
attr_accessor :files
biomancer / dep_detect.rb
Last active Mar 20, 2017
Dirty simple order dependencies detector
View dep_detect.rb
## This script can be used to detect simple order dependencies if one of tests is failing when some other test(or tests, independently) is being run before it.
## Script will not give reliable results if the dependency is complex - e.g. two specific tests must be run before for affected one to fail.
## Script will refine results with each rspec run: more runs will result smaller UNSAFE lists. Files from previous script runs are used too
## Ensure that you have config.order = 'random' in RSpec.configure block .
## Running rspec with different seeds to collect data
RSPEC_RUN_COUNT = 5 #set to 0 to analyze already existing rspec_*.txt files
You can’t perform that action at this time.