Skip to content

Instantly share code, notes, and snippets.

View nkammah's full-sized avatar

Nassim Kammah nkammah

View GitHub Profile
#!/usr/bin/env python3
import os
import click
from gql import gql, Client
from gql.transport.aiohttp import AIOHTTPTransport
class BuildkiteApi:
def __init__(self, token):
#!/usr/bin/env python3
import json
import os
import requests
import subprocess
import sys
import time
from requests.auth import HTTPBasicAuth
from datetime import datetime, timedelta
diff --git a/cd/release/dccscr-releases/elasticsearch/elasticsearch/7.5.0/scripts/prebuild.sh b/cd/release/dccscr-releases/elasticsearch/elasticsearch/7.5.0/scripts/prebuild.sh
index 647cef08d2..c502bebcc7 100755
--- a/cd/release/dccscr-releases/elasticsearch/elasticsearch/7.5.0/scripts/prebuild.sh
+++ b/cd/release/dccscr-releases/elasticsearch/elasticsearch/7.5.0/scripts/prebuild.sh
@@ -19,14 +19,7 @@ curl --create-dirs https://artifacts.elastic.co/downloads/elasticsearch/${ES_PAC
### GPG Signature Check ###
curl --create-dirs https://artifacts.elastic.co/downloads/elasticsearch/${ES_PACKAGE}.asc -o /tmp/${VENDOR}/${ES_PACKAGE}.asc
-for server in $(shuf -e ha.pool.sks-keyservers.net \
- hkp://p80.pool.sks-keyservers.net:80 \
@nkammah
nkammah / keybase.md
Last active September 21, 2019 11:54
keybase.md

Keybase proof

I hereby claim:

  • I am nkammah on github.
  • I am nkammah (https://keybase.io/nkammah) on keybase.
  • I have a public key ASA5EuyMyzWZKkufSsjMyamSCVRGIDkKi6rI0GsMQ8sBjgo

To claim this, I am signing this object:

@nkammah
nkammah / altru_zap.js
Created October 25, 2018 12:38
Zap - pull Altru Data and process new records only
// Altru Credentials are passed around encoded - here's how to encode them :
// 1) go to https://www.base64encode.org/
// 2) paste the "username:password"
// 3) click encode
// 4) put the result below, between the qotes
var creds = ''
// This code pulls data from Altru via an OData link. The query used in Altru is "Ad-hoc Query: Daily MailChimp Welcome Email for Active Members"
// If you need to use a different query, update the OData link below
var odata_link = ''
@nkammah
nkammah / cfp.md
Last active October 11, 2018 14:34
Remote teams are working better than you: productivity lessons for co-located teams from remotes

What seems to work well for co-located team breaks down once remotes join a team. The local team dials-in the remote to make them feel part of the team, yet remotes still feel disconnected. They don't feel like they have an equal voice in meetings than their local counterparts. They feel like they're missing key conversations from the hallway track. And having an ad-hoc, impromptu conversation, usually requires booking a meeting room. What if we were approaching this problem the wrong way ? What if the issues were not about remotes but rather latent issues exacerbated by being remotes ?

This talk will uncover how to improve your team's productivity by learning from

filetype off
filetype plugin indent on
set nocompatible " We're running Vim, not Vi!
syntax on " Enable syntax highlighting
set ff=unix
set backspace=indent,eol,start
" colors

Fastlane is the most popular iOS app continuous deployment and integration tool, and has quickly become an indispensable asset to mobile developers everywhere.

Fastlane gives you a set of open source command line tools to unify and automate your entire app deployment process, cutting your release time down to mere hours. Hear directly from Fastlane creator, Felix Krause, on what this toolchain aims at achieving and it's place in your mobile apps pipeline.

command :pget do |c|
c.syntax = 'ipa pget <key> [options]'
c.summary = 'Retrieve a value in a plist'
c.description = ''
c.option '-p', '--plist FILE', "plist file to update"
c.action do |args, options|
@key = args.count > 0 ? args[0] : 'CFBundleShortVersionString'
determine_plist! unless @plist = options.plist
#Lots of credit to http://www.merowing.info/2013/03/overlaying-application-version-on-top-of-your-icon/
# USAGE:
# Run setup.sh first to make sure ImageMagick works
# This script takes one argument: a path to the folder containing the icons to burn.
version=`/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" "${INFOPLIST_FILE}"`
branch=`git rev-parse --abbrev-ref HEAD`
caption="${branch}\n${version}"