Skip to content

Instantly share code, notes, and snippets.


steve flitcroft redsquare

View GitHub Profile
HenrikJoreteg /
Last active Sep 20, 2021
Minimalist routing in Redux

Why would you want to do this? Because you often don't need more. It's nice to not have to think about your "router" as this big special thing.

Instead, with this approch, your app's current pathname is just another piece of state, just like anything else.

This also means that when doing server-side rendering of a redux app, you can just do:

var app = require('your/redux/app')
var React = require('react')
View selfhosted.cs
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Net;
using System.Reactive.Linq;
using System.Reflection;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
tomdz / gist:5339163
Last active Jan 22, 2016
Vagrant test setup for haproxy with ssl client certificates
View gist:5339163

Setup vagrant vm

vagrant box add precise64
vagrant init precise64
sed -i 's/# :hostonly/ :hostonly/' Vagrantfile
vagrant up
vagrant ssh

Install base software and apache (to have something to proxy)

View Wait.cs
public static class Wait
public static bool ForExpectedValue<T>(T expectation, Func<T> source, int millisecondPolling = 500, int timeoutInMilliseconds = 5000)
var matched = Wait.Until(() => expectation.Equals(source()), millisecondPolling, timeoutInMilliseconds).WasSatisfied;
StoryTellerAssert.Fail(!matched, () => "Expected {0}, but was {1}".ToFormat(expectation, source()));
return true;
srkirkland / deploy.ps1
Created Sep 10, 2012
TeamCity CI Deploy Azure PowerShell Script
View deploy.ps1
#Modified and simplified version of
$subscription = "[Your Subscription Name]"
$service = "[Your Azure Service Name]"
$slot = "staging" #staging or production
$package = "[ProjectName]\bin\[BuildConfigName]\app.publish\[ProjectName].cspkg"
$configuration = "[ProjectName]\bin\[BuildConfigName]\app.publish\ServiceConfiguration.Cloud.cscfg"
$timeStampFormat = "g"
$deploymentLabel = "ContinuousDeploy to $service v%build.number%"
Write-Output "Running Azure Imports"
danbarua / gist:3528413
Created Aug 30, 2012
RabbitMQ reliable consumer pattern
View gist:3528413
while (_isRunning)
if (channel == null || consumer == null)
_connection = factory.CreateConnection();
channel = _connection.CreateModel();
mikhailov / 0.
Last active Jan 14, 2021
NGINX+SPDY with Unicorn. True Zero-Downtime unless migrations. Best practices.
View 0.
# Nginx+Unicorn best-practices congifuration guide. Heartbleed fixed.
# We use latest stable nginx with fresh **openssl**, **zlib** and **pcre** dependencies.
# Some extra handy modules to use: --with-http_stub_status_module --with-http_gzip_static_module
# Deployment structure
# /etc/init.d/nginx (1. nginx)
# /home/app/public_html/app_production/current (Capistrano directory)
jmreidy /
Created Jan 20, 2012
Backbone.js Loading notification
activeRequests = []
Backbone._sync = Backbone.sync
Backbone.sync = (method, model, options) ->
asyncToken = Backbone._sync.apply(this,arguments)
asyncToken.then () ->
activeRequests = _.without activeRequests, asyncToken
if activeRequests.length == 0 then console.log "LOADING COMPLETE"
if activeRequests.length == 0
console.log "START LOADING"
paulirish / gist:854293
Created Mar 4, 2011
jQuery unserialize Form plugin
View gist:854293
// Unserialize (to) form plugin - by Christopher Thielen
// adapted and desuckified (a little) by Paul Irish
// takes a GET-serialized string, e.g. first=5&second=3&a=b and sets input tags (e.g. input name="first") to their values (e.g. 5)
(function($) {
$.fn.unserializeForm = function(values) {
View module_pattern_init.js
// JS Module Pattern:
// Redefine: $, window, document, undefined.
var APP = (function($, window, document, undefined) {
// Automatically calls all functions in APP.init
$(document).ready(function() {