Skip to content

Instantly share code, notes, and snippets.

@shauns
shauns / tester.js
Created April 3, 2012 14:21
Node base64 decode
console.log('Hello, World!');
var fs = require('fs');
var amqp = require('amqp');
var connection = amqp.createConnection({ url: 'amqp://subbydev/base64tests' });
// Wait for connection to become established.
connection.on('ready', function () {
// Create a queue and bind to all messages.
// Use the default 'amq.topic' exchange
@shauns
shauns / csvwrite.py
Created July 13, 2012 08:34
CSV Unicode Write example
# coding=utf-8
import cStringIO
import csv
import codecs
__author__ = 'shaun_stanworth'
class UnicodeWriter:
"""
A CSV writer which will write rows to CSV file "f",
@shauns
shauns / postprocess_sekizai.py
Created July 17, 2012 09:35 — forked from timmyomahony/postprocess_sekizai.py
django-sekizai postprocessor for enabling django-compressor compatibility
"""
Get django-sekizai, django-compessor (and django-cms) playing nicely together
re: https://github.com/ojii/django-sekizai/issues/4
using: https://github.com/jezdez/django_compressor.git
and: https://github.com/ojii/django-sekizai.git@0.5
"""
from compressor.templatetags.compress import CompressorNode
from django.template.base import *
def compress(data, name):
@shauns
shauns / bullet.js
Created October 18, 2012 16:26
Bullet Chart Usage
// Example
// measuring performance for on-time delivery
var on_time_poor = 25;
var on_time_good = 50;
var ontime_markers = build_bullet_markers_higher_better(100, on_time_poor, on_time_good);
var on_time_percentage = 40;
draw_bullet_graph($('#ontime_placeholder'), 0, 100, null, on_time_percentage, ontime_markers, 0);
/**
@shauns
shauns / requirements.txt
Last active December 20, 2015 20:09
Sample requirements for salt test
Django>=1.2
South
psycopg2
@shauns
shauns / 73-Managing-Amazon-EC2-SSH-login-and-protecting-your-instances.html
Created August 14, 2013 10:08
Managing Amazon EC2 - SSH login and protecting your instances
NB: Originally courtesy of http://blog.taggesell.de/index.php?/archives/73-Managing-Amazon-EC2-SSH-login-and-protecting-your-instances.html
Managing Amazon EC2 - SSH login and protecting your instances
How to log into your freshly fired-up instances and how to secure ssh access
(works under Linux and Mac OS, under Windows with Cygwin)
First time you want to log into a newly started instance you appear to have the chicken-and-egg problem: how to log in when you do not know the root password? Luckily Amazon devised a comfortable way to circumvent this: your Key Pairs. these are not to be confused with the „Access Key IDs“ on the Access Identifier web page and they are neither the X509 certificates. These Key pairs are automatically generated the first time you log into the web console and you can only download its private part. Store it in your ~/.ssh directory. In case you missed the download or don't know where you've put it AND you don't have any instances running, just generate and download a new one.
@shauns
shauns / entrypoint.py
Created July 28, 2014 11:32
Nameko entrypoint sketch
# re: nameko entrypoints
def wrapt_entrypoint(entrypoint_fn=None, provider=None):
""" Transform a callable into a decorator that can be used to declare
entrypoints.
The callable should indicate a EntrypointProvider class. Usages of the
callable will have their kwargs combined with the provider to produce a
DependencyFactory for the given wrapped service function.
@shauns
shauns / entrypoint_platform.py
Created July 28, 2014 16:41
Entrypoints with two functions
# rpc_factory is what used to be rpc
@entrypoint
def rpc_factory(expected_exceptions=None):
return DependencyFactory(NovaRpcProvider, expected_exceptions)
def rpc(service_fn=None, expected_exceptions=None):
if service_fn is None:
return partial(rpc, expected_exceptions=expected_exceptions)
@shauns
shauns / example.py
Created September 4, 2014 10:18
Tracking pytest errors
import pytest
def track_test_fails():
@pytest.mark.tryfirst
def pytest_runtest_makereport(item, call, __multicall__):
# execute all other hooks to obtain the report object
rep = __multicall__.execute()
# `when` is setup, call, teardown
setattr(item, "rep_" + rep.when, rep)
@shauns
shauns / gist:0571b75ae0098517fb92
Created November 8, 2014 09:47
Asyncio example
@asyncio.coroutine
def slow_method():
yield from perform_a_blocking_call()
return 'Done'
loop = asyncio.get_event_loop()
loop.run_until_complete(slow_method())
loop.close()