Skip to content

Instantly share code, notes, and snippets.

James Arthur thruflo

Block or report user

Report or block thruflo

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile

Keybase proof

I hereby claim:

  • I am thruflo on github.
  • I am thruflo ( on keybase.
  • I have a public key whose fingerprint is 0652 C240 CBFD C842 608E DB7C 4CF9 2CF3 7B61 E5AF

To claim this, I am signing this object:

View gist:8822910
We implement JSON serialization using a combination of our own custom

Content-Type logic [1] and Pyramid's default JSON rendering machinery.

This allows developers to config the JSON renderer using Pyramid's configuration machinery [2].

View OVM Impl

OVM Website Implementation Notes

Main Website

Plan is:

  • build out the current site
  • re-theme in line with design from Alice
View gist:5910016
# Key Bullets for Immediate OVM web
* about content
* top level IA
* events: hosted meetup/eventbrite listed on site
* contact / group channels
* think piece content: what & where syndicated
* wiki: we need to identify the "articles" / "spec" / "definitions"
thruflo /
Created May 24, 2013
Embed code for FabHub linkback.
def index_view(request):
"""Render a link to log the user in using Bouncer."""
# Generate the login URL, with the right client id and callback URL. You
# could also add a `state` parameter for CSRF protection.
settings = request.registry.settings
params = {
'client_id': settings.get('client_id'),
'redirect_uri': request.route_url('callback'),
'response_type': 'code'
View gist:3278155
2012-08-06T17:17:05+00:00 app[web.1]: Traceback (most recent call last):
2012-08-06T17:17:05+00:00 app[web.1]: File "/app/.heroku/venv/lib/python2.7/site-packages/gunicorn/workers/", line 39, in handle
2012-08-06T17:17:05+00:00 app[web.1]: self.handle_request(req, client, addr)
2012-08-06T17:17:05+00:00 app[web.1]: File "/app/.heroku/venv/lib/python2.7/site-packages/gunicorn/workers/", line 86, in handle_request
2012-08-06T17:17:05+00:00 app[web.1]: super(GeventWorker, self).handle_request(*args)
2012-08-06T17:17:05+00:00 app[web.1]: File "/app/.heroku/venv/lib/python2.7/site-packages/gunicorn/workers/", line 69, in handle_request
2012-08-06T17:17:05+00:00 app[web.1]: respiter = self.wsgi(environ, resp.start_response)
dyno=web.1 queue=0 wait=0ms service=33ms status=500 bytes=135
2012-08-06T17:17:05+00:00 app[web.1]: File "/app/.heroku/src/pyramid/pyramid/", line 191, in __call__
2012-08-06T17:17:05+00:00 app[web.1]: request._process_response_callbacks
View partial.cut
<!-- needs args: name, spec, method"body" -->
<%namespace name="${ name }" file="${ spec }" />
\${unique_name.${ method }()}
View gist:2282919
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""Provides ``PostmarkMailer`` utility for sending emails. Instantiate with
an api_key::
api_key = '...'
mailer = PostmarkMailer(api_key)
Then fire away::

So (!) if I remember right, the idea was to make a mobile app where:

  • foursquare users are 'fodder'
  • you rack up kill points by massacring venues with foursquare users in them
  • kill points unlock better weaponry
  • massacring the mayor gets more kill points (perhaps you become the 'slayer')
  • massacring other massacrers earns you their points (bit like playing conkers)

I've taken the all important step of registering That's the bulk of the work done but I guess we'd also need:

You can’t perform that action at this time.