Skip to content

Instantly share code, notes, and snippets.

Greg Nilchee gnilchee

  • Athlinks
  • Woodinville, WA
Block or report user

Report or block gnilchee

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
gnilchee /
Created Mar 22, 2020
Use asyncio and aiohttp to grab status codes from 20 sites
import asyncio
import aiohttp
my_urls = [
gnilchee / haproxy.cfg
Created Mar 10, 2020
HAProxy config supporting an active/active setup with shared table used for rate limiting
View haproxy.cfg
# tested with HAProxy 2.0 LTS on Debian 9
stats socket /tmp/haproxy_admin.sock mode 660 level admin expose-fd listeners
stats timeout 30s
user haproxy
group haproxy
mode http
maxconn 500
View foreach_tester.php
$array = array(
'fruit1' => 'apple',
'fruit2' => 'orange',
'fruit3' => 'grape',
'fruit4' => 'mango',
'fruit5' => 'peach');
echo $array['fruit3'];
echo "\n";
gnilchee / memcache_tester.php
Created Sep 16, 2018
php and memcache example
View memcache_tester.php
$mem = new Memcached();
$mem->addServer("", 11211);
$result = $mem->get("username");
if ($result) {
echo $result;
} else {
echo "No matching key found. I'll add that now!\n";
gnilchee / nginx.conf
Created Sep 9, 2018
example nginx.conf with json logging (nginx 1.11.8+)
View nginx.conf
log_format json_combined escape=json
'"time_local":"$time_local", '
'"remote_addr":"$remote_addr", '
'"client_addr":"$proxy_add_x_forwarded_for", '
'"request_type": "$request_method", '
'"request":"$request", '
'"request_uri": "$uri", '
'"query_string": "$query_string", '
'"status": "$status", '
gnilchee / es_6.3.0_stats_shards_20180618.json
Created Jun 19, 2018
GET /_stats?level=shards (ES v6.3.0)
View es_6.3.0_stats_shards_20180618.json
"_all": {
"primaries": {
"completion": {
"size_in_bytes": 0
"docs": {
"count": 1989994,
"deleted": 0
gnilchee /
Last active Jan 21, 2018
Get current tag of branch and increment patch version
import git
git_path = '/path/to/git_dir/'
repo = git.Repo(git_path)
cur_version = repo.git.describe()
major, minor, patch = cur_version.split('.')
updated_patch = int(patch)+1
new_tag = '.'.join((major, minor, str(updated_patch)))
gnilchee /
Last active Jan 31, 2018
Simple example executing commands via ssh with Paramiko
#!/usr/bin/env python
import paramiko
def do_ssh_command(command):
with paramiko.SSHClient() as client:
gnilchee /
Last active Jan 24, 2018
Rotate out instances by bring up new instances making sure they are healthy and removing the old ones
#!/usr/bin/env python
import boto3
from time import sleep
from concurrent.futures import ProcessPoolExecutor, wait, as_completed
def get_asg_instances(asg_name):
Responds with list of instance dictionaries that provides the following
:InstanceId - instance id
gnilchee /
Last active Jan 4, 2018
simple invoke script to clean and update apt-get
#!/usr/bin/env python3
from invoke import task
def clean(ctx):
print("Cleaning!")"sudo apt-get clean all")
print("Cleaning Done.")
You can’t perform that action at this time.