Skip to content

Instantly share code, notes, and snippets.

Emmanuel N Kyeyune emmanuelnk

View GitHub Profile
emmanuelnk / .gitconfig
Last active Jan 6, 2020
Git Recent: Add git alias to display recently accessed branches in descending order (and with color!)
View .gitconfig
recent = "!r(){ git for-each-ref --sort=-committerdate refs/heads --format='%(HEAD)%(color:yellow)%(refname:short)|%(color:bold green)%(committerdate:relative)|%(color:blue)%(subject)|%(color:magenta)%(authorname)%(color:reset)' --color=always|column -ts'|'; }; r"
emmanuelnk / timestampUpdate.js
Last active Aug 14, 2019
Recursively update all timestamps in a document to current timestamps based on when the document/fixture was created (Moment.js, Node.js)
View timestampUpdate.js
// great for fixtures used in tests that need to stay up to date
// needs moment.js
const moment = require('moment')
const updateTimestamps = (entity, baseTimestamp, path = '', tsFields) => {
// usage: recusrively updates all Timestamps in a json fixture for tests
const nowTs = moment().clone().startOf('hour')
const diff = Math.abs(nowTs.diff(baseTimestamp, 'hours'))
emmanuelnk / git_clean.bash
Created Jul 4, 2019
Git: Clean out branches merged to master branch from local git repository (without deleting master branch)
View git_clean.bash
git branch --merged master | grep -v "\master" | xargs -n 1 git branch -d
emmanuelnk / script.bash
Created Apr 24, 2019
Installing vscode transparency/blur ubuntu 18.04
View script.bash
sudo apt install i3
# check architecture, get correct compton file
dpkg --print-architecture
# download matching compton .deb file from
# install compton
sudo apt-get install ~/Downloads/compton_0.1_beta2+20150922-1_amd64.deb
# get visual studio code source code repo
emmanuelnk / terraform_install_64bit_linux.bash
Created Apr 10, 2019
Install Terraform on 64 bit Linux
View terraform_install_64bit_linux.bash
# 0.XX.XX is the terraform version you need
wget -P ~/Downloads/terraform/
cd ~/Downloads/terraform && unzip && cd terraform
sudo mv terraform /usr/local/bin/
nano ~/.bashrc
export PATH="$PATH:/usr/local/bin/terraform"
source ~/.bashrc
# then from anywhere
emmanuelnk /
Created Feb 27, 2019
Simple client wrapper library for Dynamodb access in Python (boto3)
# based off the excellent gist by Martina Pugliese
import boto3
from boto3.dynamodb.conditions import Key, Attr
from boto3.dynamodb.types import DYNAMODB_CONTEXT
dynamodb = boto3.resource("dynamodb")
emmanuelnk / safePromiseAllHandler.js
Last active Feb 13, 2019
Handling the fast-fail behavior of Promise.all when using async/await
View safePromiseAllHandler.js
// TL,DR :
// here is a wrapper for PromiseAll that handles rejection and avoids fast fail behavior
const softPromiseAll = arr => {
return Promise.all(
promise => new Promise(
resolve => promise.then(resolve).catch(resolve)
)).then(results => results)
emmanuelnk / fizzbuzz_in_ES6.js
Last active Aug 1, 2019
FizzBuzz but with ES6!
View fizzbuzz_in_ES6.js
const fizzbuzz = (min, max) => new Array(max-min+1)
.map((f,i) => console.log(`${((i+1)%3 === 0) ? 'fizz' : ''}${((i+1)%5 === 0) ? 'buzz' : ''}` || i+1))
fizzbuzz(1, 100)
View start_new_node_project_easily.bash
# first install npx (
npm install -g npx
# set your npm defaults if you havent already
npm set "Your name"
npm set ""
npm set ""
npm set init.license "MIT"
emmanuelnk /
Created Aug 30, 2018
Download file from FTP Server, upload file to S3 with Progress Bar in Python
import progressbar
from hurry.filesize import size
filesize = ftp.size(file)
down_progress = progressbar.AnimatedProgressBar(end=filesize, width=50)
with open(TEMP_DIR + file, 'wb') as f:
def download_progress(chunk):
down_progress + len(chunk)
You can’t perform that action at this time.