Skip to content

Instantly share code, notes, and snippets.

View andyvanee's full-sized avatar

Andy Vanee andyvanee

View GitHub Profile
@andyvanee
andyvanee / README.md
Last active October 29, 2019 17:46
Steps to run MySQL from a given data directory.

Sometimes it's nice to run MySQL (MariaDB) on your local machine in a completely contained environment. This outlines the minimum steps to make that happen.

  • Start with setup.sh to get a root login.
  • Then create a non-root user with the following:

GRANT ALL PRIVILEGES ON *.* TO 'user-name'@'localhost' IDENTIFIED BY 'user-password';

  • Update data/my.cnf with the client username and password you just created.
  • You should probably also add the entire data directory to your .gitignore file.
@andyvanee
andyvanee / SomeClass.php
Last active October 23, 2019 19:01
Demonstrating how to assign to private class members in PHP (not recommended)
<?php
class SomeClass {
private $priv;
public $pub;
}
// This function demonstrates how to access and assign to private
// or undeclared class members using Closure::bindTo
function assignPrivate($obj, $key, $value) {
@andyvanee
andyvanee / Dockerfile
Created January 31, 2019 07:36
My Current Dockerfile for building V8js
FROM debian:stretch-slim
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y git wget curl ca-certificates apt-transport-https gnupg1 sudo
RUN wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add - && \
echo "deb https://packages.sury.org/php/ stretch main" | tee /etc/apt/sources.list.d/php.list && \
apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
php7.2 php7.2-cli php7.2-common php7.2-opcache php7.2-curl php7.2-mbstring php7.2-mysql php7.2-zip php7.2-xml
@andyvanee
andyvanee / MyHandler.php
Last active November 7, 2018 22:08
Using PHP-PM to run PHP code without a framework
<?php
namespace MyApp;
use PHPPM\Bootstraps\ApplicationEnvironmentAwareInterface;
use Psr\Http\Message\ServerRequestInterface;
use RingCentral\Psr7\Response;
class MyHandler implements ApplicationEnvironmentAwareInterface {
public function __construct() {
@andyvanee
andyvanee / .ssh_config
Last active November 30, 2023 04:19
Fix unix_listener too long for Unix domain socket
Host *
ControlPath ~/.ssh/control/%C
ControlMaster auto

Micromod Notes

Based on my experiments with https://github.com/martincameron/micromod

To compile mt files:

java -jar micromod-20160326.jar songs/Origin.mt

To compile the micromod-c mod player (this is what worked on my Mac anyway):

@andyvanee
andyvanee / homebrew-php-install.sh
Created June 10, 2017 03:16
PHP extensions for developing locally
#!/usr/bin/env sh
brew install php56 --with-imap
brew install php56-apcu php56-igbinary php56-imagick php56-memcache php56-memcached php56-tidy php56-zmq php56-mcrypt php56-event php56-libevent php56-mcrypt php56-intl php56-opcache
@andyvanee
andyvanee / treediff.sh
Created October 11, 2016 16:42
Show a diff of two directory trees
#!/usr/bin/env bash
#
# Both find commands will output the file name without prefix as well as the file size
# `diff -u` outputs a diff format compatible with gist files with the .diff extension
# -printf does not work with OSX find unfortunately
#
diff -u <(find $1 -type f -printf '%s %P\n') <(find $2 -type f -printf '%s %P\n')
@andyvanee
andyvanee / Makefile
Created March 21, 2016 16:41
Export docker-machine environment variables in a makefile
#
# Run `make ENVIRONMENT=machinename` to override the default
#
ENVIRONMENT=default
TLS_VERIFY=$(shell docker-machine env $(ENVIRONMENT) | grep 'DOCKER_TLS_VERIFY=".*"' | cut -d\" -f2)
HOST=$(shell docker-machine env $(ENVIRONMENT) | grep 'DOCKER_HOST=".*"' | cut -d\" -f2)
CERT_PATH=$(shell docker-machine env $(ENVIRONMENT) | grep 'DOCKER_CERT_PATH=".*"' | cut -d\" -f2)
MACHINE_NAME=$(shell docker-machine env $(ENVIRONMENT) | grep 'DOCKER_MACHINE_NAME=".*"' | cut -d\" -f2)
export DOCKER_MACHINE_NAME=$(MACHINE_NAME)
@andyvanee
andyvanee / jquery-regex.js
Created February 23, 2016 22:20
Select by matching an ID with a regex
// Select by matching id with a regex
// eg: $('select:regex("box.*-layout")')
jQuery.expr[':'].regex = function(elem, index, args) {
var regex = new RegExp(args[3], 'i');
return elem.id.match(regex);
}