Skip to content

Instantly share code, notes, and snippets.

View midwire's full-sized avatar
🏠
Working from home

Chris Blackburn midwire

🏠
Working from home
View GitHub Profile
@midwire
midwire / git-branch-sync.sh
Created August 26, 2022 13:40
[Git - sync local branches with remote] Remove local branches if they don't exist on the remote #git
# Use git branch -D to remove branches even if they are not fully merged
git fetch -p ; git branch -r | awk '{print $1}' | egrep -v -f /dev/fd/0 <(git branch -vv | grep origin) | awk '{print $1}' | xargs git branch -d
@midwire
midwire / file_exists.rb
Created August 23, 2022 21:57
[Capistrano - detect if a remote file exists] #ruby
def file_exists?(path)
capture(:ls, path)
true
rescue SSHKit::Command::Failed
false
end
def state_page
stage = fetch(:stage)
parts = stage.to_s.split('_')
@midwire
midwire / splat.rb
Created August 19, 2022 18:08
[Ruby Splat and Double-Splat] #ruby
def foo(a, *b, **c)
[a, b, c]
end
> foo 10
=> [10, [], {}]
> foo 10, 20, 30
=> [10, [20, 30], {}]
> foo 10, 20, 30, d: 40, e: 50
=> [10, [20, 30], {:d=>40, :e=>50}]
@midwire
midwire / args.exp
Created August 17, 2022 15:09
[Use arguments in Expect] #expect #command
set username [lindex $argv 0];
set password [lindex $argv 1];
send_user "$username $password"
@midwire
midwire / git-remove.sh
Last active August 15, 2022 20:22
[Git remove file from history] #git #shell
# Example file is `.env`
# Remove the file from the disk
# Add the file path to .gitignore
echo ".env" >> .gitignore
# Permanently remove it from the git history
git filter-branch --index-filter "git rm -rf --cached --ignore-unmatch .env" HEAD
# Force push
git push --force
@midwire
midwire / asset.sh
Last active July 26, 2022 16:29
[Elasticsearch tuning]
### TUNE for indexing vs. searching
# Increase index buffer size
indices.memory.index_buffer_size: 20%
# Index refresh interval
# Don't refresh/write so often
curl -XPUT 'http://il-prod-es01:9200/_all/_settings?preserve_existing=true' \
-H 'Content-Type: application/json; charset=utf-8' \
-d '{
@midwire
midwire / doit.sh
Created May 2, 2022 13:43
[Fix Civilization 5 random crashes on Linux] #linux #civ5
# Prevent minimize on loss of focus
export $SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS=0
# Prevent random crashes, edit game preferences
taskset --cpu-list 0-7 %command%
@midwire
midwire / doit.sh
Created May 1, 2022 21:59
[Restart Gnome Display Manager] #linux #zorin
# NOTE: This will fix zorin-appearance not switching themes after suspend/resume
# but it will also kill all the currently running apps.
sudo systemctl restart gdm.service
@midwire
midwire / doit.sh
Created April 22, 2022 16:39
[Enable IPv6 Privacy Extensions] #linux #ubuntu
# NOTE: replace enp4s0 with whatever interface you want or use 'all' instead
# Temporarily for a single IF
echo 2 > /proc/sys/net/ipv6/conf/enp4s0/use_tempaddr
# Temporarily for a ALL IFs
echo 2 > /proc/sys/net/ipv6/conf/all/use_tempaddr
# Permanently
# Add net.ipv6.conf.all.use_tempaddr=2
@midwire
midwire / fixit.sh
Last active April 4, 2022 16:42
[Fix yubikey permission problem] #yubikey #linux
# ykinfo -s - shows permission problem
# in /etc/udev/rules.d/70-u2f.rules
# Add...
SUBSYSTEM=="usb", ATTRS{idVendor}=="0683", MODE="0666"
# Reload udev
sudo udevadm control --reload-rules && sudo udevadm trigger