Skip to content

Instantly share code, notes, and snippets.

View garyharan's full-sized avatar
🎯
Focusing

Gary Haran garyharan

🎯
Focusing
View GitHub Profile
@garyharan
garyharan / split_pushed_commits.sh
Created February 24, 2020 17:52
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
garyharan / uncommit_and_stash.sh
Created February 7, 2019 16:02
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
garyharan / maximum_processes.ex
Created September 27, 2018 17:51
How to calculate maximum number of processes in Elixir
0..1_000_000
|> Enum.each(fn(_n) ->
IO.puts "Creating process: #{Process.list |> Enum.count}"
spawn(fn -> Process.sleep(:infinity)
end)
end)
@garyharan
garyharan / threads_maximum.rb
Created September 27, 2018 17:25
Reaching maximum threads in ruby
loop { Thread.new { sleep } rescue puts "Borked at #{Thread.list.count} threads." }
@garyharan
garyharan / rails_helper.rb
Last active March 15, 2017 17:06
Speed up tests marginally
# ...
config.before(:suite) do
connection = ActiveRecord::Base.connection
query = connection.tables.map { |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"
connection.execute(query)
end
Repo.update_all(Question, set: [published_at: Ecto.DateTime.utc(:usec)])
@garyharan
garyharan / ELIXIR_PHOENIX_TOOLING.md
Last active December 23, 2016 13:39
Useful resources I found while learning Elixir
@garyharan
garyharan / first_user_in_faq_app.ex
Created December 2, 2016 04:08
How to get the first user in Ecto
Faq.Repo.get(Faq.User, 1)
@garyharan
garyharan / grants.sql
Created November 27, 2016 01:31
How to setup postgresql properly for phoenix defaults
# 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;
@garyharan
garyharan / show_hidden_files_in_macos.sh
Created June 27, 2016 17:34
Sgow hidden files in MacOS Finder
defaults write com.apple.finder AppleShowAllFiles YES