Skip to content

Instantly share code, notes, and snippets.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using Microsoft.Practices.EnterpriseLibrary.Logging;
using Microsoft.Practices.EnterpriseLibrary.Common.Configuration;
namespace PerformanceTracer
#Michael Hamrah
require 'rspec'
def flatten(input)
array = []
input.each { |x| (x.respond_to? :each) ? array.concat(flatten(x)) : array.push(x) }
array
@mhamrah
mhamrah / Dockerfile
Created February 5, 2014 03:45
Smple dockerfile for mysql
Dockerfile my.cnf start.sh
vagrant@mesos:~/mysql$ more Dockerfile
FROM ubuntu:13.10
RUN apt-get update
RUN apt-get -y upgrade
RUN apt-get install -y mysql-server
ADD /my.cnf /etc/mysql/conf.d/my.cnf
@mhamrah
mhamrah / [email protected]
Last active September 27, 2020 17:54
FleetCtl Service File for Consul/Docker on CoreOS
[Unit]
Description=Consul Discovery
BindsTo=consul@%i.service
After=consul@%i.service
[Service]
EnvironmentFile=/etc/environment
ExecStart=/bin/sh -c "while true; do etcdctl mk /services/consul $COREOS_PUBLIC_IPV4 --ttl 60;/usr/bin/docker exec consul consul join $(etcdctl get /services/consul);sleep 45;done"
ExecStop=/usr/bin/etcdctl rm /services/consul --with-value %H
@mhamrah
mhamrah / RocksDb.scala
Created December 7, 2014 05:12
persistence-test
package com.hamrah.akka.persistence.rocksdb
package journal
import akka.persistence._
import akka.persistence.journal._
import com.typesafe.config._
import scala.collection._
import scala.concurrent.Future
import scala.concurrent.duration._
@mhamrah
mhamrah / sse.js
Created January 18, 2015 16:12
simple sse script
if(!!window.EventSource) {
var source = new EventSource('/messages');
var el = document.querySelector('#sse');
source.addEventListener('published', function(e) {
console.log('published: ' + e.data);
var p = document.createElement('p');
p.textContent = e.data;
el.appendChild(p);
}, false);
@mhamrah
mhamrah / boot.sh
Last active August 29, 2015 14:14 — forked from skippy/boot.sh
#!/bin/bash
# set -eo pipefail
export CONSUL_NUM_INSTANCES=${CONSUL_NUM_INSTANCES:-3}
echo " => stopping consul"
fleetctl stop -block-attempts=10 \
$(eval echo "consul-server@{1..$CONSUL_NUM_INSTANCES}.service") \
consul-agent.service
# FIXME: sometimes it takes awhile for systemd to stop things...
@mhamrah
mhamrah / scale-fleet
Created April 10, 2015 01:29
scale-fleet
#!/bin/bash
FLEET_HOST=http://gotham.gettyimages.io:8080
SERVICE=$1
DESIRED_SIZE=$2
INSTANCES=($(curl -s $FLEET_HOST/fleet/v1/units | jq ".units[].name | select(startswith(\"$SERVICE@\"))" | grep '\w@\d\.service'))
CURRENT_SIZE=${#INSTANCES[@]}
#if !defined(REQUIRE_EQUAL_CONTAINERS_H)
#define REQUIRE_EQUAL_CONTAINERS_H
#include <boost/version.hpp>
#include <utility>
#include <vector>
#if BOOST_VERSION >= 105900
namespace boost
@mhamrah
mhamrah / main.go
Created July 9, 2018 15:54
Set go variable with LD
import (
"fmt"
)
// use ldflags to set this var at build time:
// go build -ldflags "-X main.version=$(git tag)"
// go build -ldflags "-X main.version=$(git rev-parse HEAD)"
var version string
func main() {