Skip to content

Instantly share code, notes, and snippets.

@jonnyreeves
jonnyreeves / commonjs-wrapper.js
Created June 12, 2012 14:25
RequireJS Loading order
// This doesn't appear to be the case...
define(function (require) {
// Is there any guarantee that `moduleA` is loaded first?
var loadMeFirst = require('moduleA');
var loadMeSecond = require('moduleB');
});
package {
public function matches(source : *, ...values):void {
const len : uint = values.length;
// Walk through the supplied values and look for a match.
for (var i : uint = 0; i < len; i++) {
if (source === values[i]) {
return true;
}
}
@jonnyreeves
jonnyreeves / gist:3169925
Created July 24, 2012 13:30
AS3 AutoMapper gist.
class PersonModel {
private var _firstName : String;
private var _lastName : String;
public function PersonModel(firstName : String, lastName : String) {
_firstName = firstName;
_lastName = lastName;
}
public function get firstName() : String {
@jonnyreeves
jonnyreeves / Message_Passing.js
Last active December 18, 2015 07:09
Message Passing
// Register a message handler for "some message"
messageBus.addHandler("some_message", function (message, next) {
// do something with the data in an async fashion
$.get(message.url, function () {
if (response.code !== 200) {
// Transition into an error state, terminates processing.
next(new Error("bad http request!"));
}
else {
// Modify the state of the object and pass execution to the next handler
@jonnyreeves
jonnyreeves / example.js
Last active July 2, 2020 21:40
Stubbing XHRs in QUnit with SinonJS Fake Server
QUnit.module("my-module",
{
setup: function () {
// Configure Sinon's FakeServer instance. `autoRespond` ensures that any incoming requests
// will automatically be replied to, otherwise you *must* invoke `this.server.respond` to
// start processing.
this.server = sinon.fakeServer.create();
this.server.autoRespond = true;
// Tells the FakeServer's XHR request factory that we don't want to respond to every
@jonnyreeves
jonnyreeves / gist:303e92de419336b0e568
Created July 5, 2015 17:56
Windows GMVault Setup

This guide runs you through setting up a GMVault backup as a Scheduled Task on Windows complete with email notification on failure.

Prerequesit software

  1. Download and install gmvault for windows.
  2. Download BLAT, unzip and copy to %LOCALAPPDATA%/blat
  3. Download and install stunnel to %LOCALAPPDATA%/stunnel

GMVault

  1. Perform an initial sync for your account gmvault sync --db-dir=D:\backup\gmvault your@email.addy
@jonnyreeves
jonnyreeves / cookie_read_test.go
Created February 4, 2016 09:50
Testing Cookie Writes in Golang
@jonnyreeves
jonnyreeves / Dockerfile
Created February 10, 2016 21:50
Kibana4 Dockerfile
FROM java:8-jre
RUN \
useradd --home /home/node -m -U -s /bin/bash node && \
apt-get update && \
apt-get install -y --no-install-recommends git curl && \
rm -rf /var/lib/apt/lists/
USER node
@jonnyreeves
jonnyreeves / counter.js
Created May 30, 2016 12:34
redux-middleware-counter.js
const Counter = props => {
const { count, dispatch } = props;
return (
<div>
<p>Counter value: {props.value}</p>
<button onClick={() => dispatch({ type: 'INC' })}>++</button>
<button onClick={() => dispatch({ type: 'DEC' })}>--</button>
</div>
);
}
- Setup Google Compute Account
- Create micro-f1 instance
- SSH into instance (Debian/Jessy)
- Install apt-get deps from https://github.com/eugeneware/docker-wordpress-nginx
- install fail2ban (https://www.digitalocean.com/community/tutorials/how-to-protect-an-nginx-server-with-fail2ban-on-ubuntu-14-04)
- create a wordpress rule in jails.local
```
[wordpress]
enabled = true
port = http,https