Skip to content

Instantly share code, notes, and snippets.


Gary Haran garyharan

View GitHub Profile
garyharan /
Created Mar 17, 2020
Restart all core audio when airpods do not work
# Instead of rebooting system
# If audio has half going through speakers and half going through headphones.
ps aux | grep 'coreaudio[d]' | awk '{print $2}' | xargs sudo kill
garyharan /
Created Feb 24, 2020
Workflow for splitting commits already pushed
# initiate the change with an interactive rebase from the point you want
git rebase -i SHA^
git reset HEAD^
# do this as many times as you need.
git add -p
git commit -v
# once all your changes are committed
git rebase --continue
garyharan /
Created Feb 7, 2019
How to stash your unpushed commits
$ git status
5 commits pending
$ git reset --soft HEAD~5 # where 5 is the number of commits you saw in the `git status`
$ git stash
garyharan / maximum_processes.ex
Created Sep 27, 2018
How to calculate maximum number of processes in Elixir
View maximum_processes.ex
|> Enum.each(fn(_n) ->
IO.puts "Creating process: #{Process.list |> Enum.count}"
spawn(fn -> Process.sleep(:infinity)
garyharan / threads_maximum.rb
Created Sep 27, 2018
Reaching maximum threads in ruby
View threads_maximum.rb
loop { { sleep } rescue puts "Borked at #{Thread.list.count} threads." }
garyharan / rails_helper.rb
Last active Mar 15, 2017
Speed up tests marginally
View rails_helper.rb
# ...
config.before(:suite) do
connection = ActiveRecord::Base.connection
query = { |t| "ALTER TABLE #{t} SET UNLOGGED;" }.join("\n")
# one line for each foreign_key at the end of your schema.rb
ActiveRecord::Migration.remove_foreign_key "reports", "users"
View update all questions to published
Repo.update_all(Question, set: [published_at: Ecto.DateTime.utc(:usec)])
garyharan /
Last active Dec 23, 2016
Useful resources I found while learning Elixir
garyharan / first_user_in_faq_app.ex
Created Dec 2, 2016
How to get the first user in Ecto
View first_user_in_faq_app.ex
Faq.Repo.get(Faq.User, 1)
garyharan / grants.sql
Created Nov 27, 2016
How to setup postgresql properly for phoenix defaults
View grants.sql
# run psql command to get to this
# Replace APP_NAME with application name
grant all privileges on database APP_NAME_dev to postgres;
grant all privileges on database APP_NAME_test to postgres;