Skip to content

Instantly share code, notes, and snippets.


Brian Moon brianlmoon

View GitHub Profile
brianlmoon / run.tpl
Created November 6, 2018 15:22 — forked from efrecon/run.tpl
`docker inspect` template to regenerate the `docker run` command that created a container
View run.tpl
docker run \
--name={{.Name}} \
{{range $e := .Config.Env}}--env={{printf "%q" $e}} \
{{end}}{{range $p, $conf := .NetworkSettings.Ports}}{{with $conf}}-p {{(index $conf 0).HostIp}}:{{(index $conf 0).HostPort}}:{{$p}} \
{{end}}{{end}}{{range $n, $conf := .NetworkSettings.Networks}}{{with $conf}}--network {{printf "%q" $n}} \
{{range $conf.Aliases}}--network-alias {{printf "%q" .}} {{end}} \
{{end}}{{end}}{{range $v := .HostConfig.VolumesFrom}}--volumes-from={{printf "%q" .}} \
{{end}}{{range $v := .HostConfig.Binds}}--volume={{printf "%q" .}} \
{{end}}{{range $l, $v := .Config.Labels}}--label {{printf "%q" $l}}={{printf "%q" $v}} \
{{end}}{{range $v := .HostConfig.CapAdd}}--cap-add {{printf "%q" .}} \
brianlmoon / gearman_statsd.lua
Last active October 30, 2015 14:26
Sends stats about a gearmand process to StatsD
View gearman_statsd.lua
-- Requires lua 5.1+ and lua socket
-- Copyright (c) 2015, Brian Moon
-- All rights reserved.
-- Redistribution and use in source and binary forms, with or without
-- modification, are permitted provided that the following conditions are met:
-- * Redistributions of source code must retain the above copyright notice,
View example.php
} else {
$result["success"] = false;
$result["message"] = "FAILURE: Some error message";
return $result;
brianlmoon / pecl_memcached_quick.php
Created April 9, 2015 18:51
Quickest, safe way to add servers using pecl-memcached and persistent connections.
View pecl_memcached_quick.php
// Let's assume this is coming from a config file somewhere
// that we can trust to not have duplicate servers in the list.
$servers = array(
array("host" => 'localhost', "port" => 11211, "weight" => 10),
array("host" => 'localhost', "port" => 11212, "weight" => 20)
$mc = new Memcached("test");
brianlmoon / pecl_memcached_safe.php
Last active August 29, 2015 14:18
Safest way to add servers using pecl-memcached and persistent connections.
View pecl_memcached_safe.php
// Let's assume this is coming from a config file somewhere
// that maybe we can't trust, or could allow for someone to
// accidently add the same host/port twice.
$servers = array(
array("host" => 'localhost', "port" => 11211, "weight" => 10),
array("host" => 'localhost', "port" => 11212, "weight" => 20)
brianlmoon / current_on_object.php
Last active April 21, 2016 23:18
WTF PHP current() on object?
View current_on_object.php
class Foo {
private $bar = "private variable 1";
private $bar2 = "private variable 2";
$foo = new Foo;
echo current($foo)."\n";
brianlmoon / apache_cors_example
Last active April 25, 2023 10:02
CORS example for Apache with multiple domains
View apache_cors_example
# Sets CORS headers for request from and pages
# for both SSL and non-SSL
SetEnvIf Origin "^https?://[^/]*(example1|example2)\.com$" ORIGIN=$0
Header set Access-Control-Allow-Origin %{ORIGIN}e env=ORIGIN
Header set Access-Control-Allow-Credentials "true" env=ORIGIN
# Always set Vary: Origin when it's possible you may send CORS headers
Header merge Vary Origin
brianlmoon / socket_connect_timeout.php
Last active February 26, 2021 06:13
Using socket_connect with a reliable timeout in PHP
View socket_connect_timeout.php
* I was having trouble with socket connections timing out reliably. Sometimes,
* my timeout would be reached. Other times, the connect would fail after three
* to six seconds. I finally figured out it had to do with trying to connect to
* a routable, non-localhost address. It seems the socket_connect call would
* not fail immediately for those connections. This function is what I finally
* ended up with that reliably connects to a working server, fails quickly for
* a server that has an address/port that is not reachable and will reach the
brianlmoon / block_mac_nav.js
Created January 27, 2014 17:23
Block Mac navigation when form has changed
View block_mac_nav.js
function blockLeaving (e){
if(e.metaKey && (e.keyCode == 39 || e.keyCode == 37)){
case "INPUT":
case "TEXTAREA":
if(!window.confirm("You have unsaved changes. Are you sure you want to leave the page?")){
brianlmoon / gist:4962688
Last active December 13, 2015 19:28
Here is a function to return you the width the browser is using for media queries. For some reason, it is a bit different in each browser.
View gist:4962688
function getWindowMediaWidth() {
// it should be this, so return it when we can't
// figure it out. Of course, it does not do a lot
// of good if the browser does not support media
// queries.
return document.body.clientWidth;