Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

View mtdowling's full-sized avatar

Michael Dowling mtdowling

View GitHub Profile
@mtdowling
mtdowling / ModuleGraph.java
Created April 10, 2019 16:21
Module Graph example
package com.example;
import java.io.File;
import java.lang.module.ModuleDescriptor;
import java.lang.module.ModuleFinder;
import java.lang.module.ModuleReference;
import java.net.URI;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayDeque;
@mtdowling
mtdowling / can_json_decode.php
Created March 29, 2017 21:27
Check if a value can be json_decoded
<?php
function try_json_encode($data)
{
json_encode($data);
return (json_last_error() == JSON_ERROR_NONE);
}
function json_encode_type_check($data)
{
@mtdowling
mtdowling / MovementSystem.lua
Created February 8, 2017 06:21
A slice of some of my collision rounding code
local ecs = require "ecs"
local collision = require "collision"
local components = require "components"
local utils = require "utils"
local clamp = lume.clamp
--- Updates entity physics.
local MovementSystem = ecs.createSystem("Movement", "pos", "motion")
@mtdowling
mtdowling / react-guzzle.php
Created September 9, 2015 22:37
React, Guzzle, and AWS SDK for PHP integration
<?php
require 'vendor/autoload.php';
use GuzzleHttp\Client;
use GuzzleHttp\HandlerStack;
use GuzzleHttp\Psr7\Response;
use React\EventLoop\Factory;
use WyriHaximus\React\GuzzlePsr7\HttpClientAdapter;
$loop = Factory::create();
<?php
// Generic middleware that does not have to create a response.
$ringStyle = function(RequestInterface $request, callable $next) {
$request = $request->withHeader('Foo', 'Bar');
$response = $next($request);
$response = $response->withHeader('Baz', 'Bam');
return $response;
};
@mtdowling
mtdowling / gist:47da5eab54337cdc7ecc
Last active August 29, 2015 14:06
React and Guzzle experiment
<?php
require 'vendor/autoload.php';
use GuzzleHttp\Stream\BufferStream;
use GuzzleHttp\Stream\AsyncReadStream;
use GuzzleHttp\Ring\Future;
$loop = React\EventLoop\Factory::create();
$dnsResolverFactory = new React\Dns\Resolver\Factory();
$dnsResolver = $dnsResolverFactory->createCached('8.8.8.8', $loop);
@mtdowling
mtdowling / diff.diff
Last active August 29, 2015 14:05
Sami static templates
diff --git a/README.rst b/README.rst
index d7f7d17..cb1961d 100644
--- a/README.rst
+++ b/README.rst
@@ -200,6 +200,9 @@ the default theme:
'js/bootstrap.min.js': 'js/bootstrap.min.js'
'js/jquery-1.11.1.min.js': 'js/jquery-1.11.1.min.js'
+ static_templates:
+ 'api_tree': 'layout/api_tree.twig'
@mtdowling
mtdowling / gist:9b613158fe894e35715b
Created August 23, 2014 00:26
PHPDoc phar failure
$ wget https://github.com/phpDocumentor/phpDocumentor2/releases/download/v2.7.0/phpDocumentor.phar
--2014-08-22 17:23:24-- https://github.com/phpDocumentor/phpDocumentor2/releases/download/v2.7.0/phpDocumentor.phar
Resolving github.com... 192.30.252.131
Connecting to github.com|192.30.252.131|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://s3.amazonaws.com/github-cloud/releases/761653/f8ace192-291d-11e4-93cc-3a8d946f2e49.phar?response-content-disposition=attachment%3B%20filename%3DphpDocumentor.phar&AWSAccessKeyId=AKIAISTNZFOVBIJMK3TQ&Expires=1408753470&Signature=heQkektTHiYFmz9AVb8Z2%2FmytQA%3D [following]
--2014-08-22 17:23:30-- https://s3.amazonaws.com/github-cloud/releases/761653/f8ace192-291d-11e4-93cc-3a8d946f2e49.phar?response-content-disposition=attachment%3B%20filename%3DphpDocumentor.phar&AWSAccessKeyId=AKIAISTNZFOVBIJMK3TQ&Expires=1408753470&Signature=heQkektTHiYFmz9AVb8Z2%2FmytQA%3D
Resolving s3.amazonaws.com... 10.186.10.1
Connecting to s3.amazonaws.com|10
@mtdowling
mtdowling / install.sh
Last active August 29, 2015 14:05
Test installer
#!/usr/bin/env bash
set -e
[ -z "$CHAG_DIR" ] && CHAG_DIR="/usr/local/bin"
[ -z "$CHAG_VERSION" ] && CHAG_VERSION="master"
CHAG_SOURCE="https://raw.githubusercontent.com/mtdowling/chag/$CHAG_VERSION/chag"
echo "=> Downloading chag to '$CHAG_DIR'"
### Keybase proof
I hereby claim:
* I am mtdowling on github.
* I am mtdowling (https://keybase.io/mtdowling) on keybase.
* I have a public key whose fingerprint is C660 D8CE AE59 6DDF CE43 8F4C B48A B84B 28DB 4EF7
To claim this, I am signing this object: