Skip to content

Instantly share code, notes, and snippets.


Paul McLanahan pmclanahan

View GitHub Profile
pmclanahan /
Created Dec 22, 2015
a bash function for checking whether an ssl endpoint is returning a sha1 cert for SSLv3
sha1certcheck() {
cert_type=$( : | openssl s_client -connect ${1}:443 -ssl3 -cipher 'DES-CBC3-SHA' 2>/dev/null <<< Q | openssl x509 -text | grep 'Signature Algorithm' | cut -d ':' -f 2 | uniq)
if [ "${cert_type:1}" = "sha1WithRSAEncryption" ]; then
echo "All's well"
echo "Bad cert type: $cert_type"
pmclanahan / onename.txt
Created Nov 10, 2015 verification
View onename.txt
Verifying that +pmac is my blockchain ID.
pmclanahan /
Created Oct 22, 2015
A view that redirects based on waffle, keeping query params.
from django.http import HttpResponseRedirect
from django.utils.encoding import force_text
import waffle
from bedrock.base.urlresolvers import reverse
from lib.l10n_utils import render
def choose_view(request):
View staticfiles.patch
diff --git a/django/contrib/staticfiles/ b/django/contrib/staticfiles/
index 6a0a540..61e22f6 100644
--- a/django/contrib/staticfiles/
+++ b/django/contrib/staticfiles/
@@ -245,10 +245,13 @@ class HashedFilesMixin(object):
content = pattern.sub(converter, content)
except ValueError as exc:
yield name, None, exc
+ content_file = ContentFile(force_bytes(content))
Django settings for staticfiles_bug_test project.
For more information on this file, see
For the full list of settings and their values, see

We're making some changes to how static media (js, css, images, fonts, etc.) is handled in bedrock. The major points are as follows:

Instead of the old media('img/dude.gif'), you'll now use static('img/dude.gif'). It's nearly identical, but you do have to be more careful NOT to include a slash at the beginning of the path. The old way would deal, the new will break.

Replacing the old jingo-minify css('bundle-name') and js('bundle-name') functions are tags. They're functionally identical to the old ones, but look like: {% javascript 'bundle-name' %} and {% stylesheet 'bundle-name' %}.

Speaking of bundles, there is a new syntax for them. We're moving from...



Keybase proof

I hereby claim:

  • I am pmclanahan on github.
  • I am pmac ( on keybase.
  • I have a public key whose fingerprint is D089 7AA2 7F05 AC66 AECB 126B 210C EF9F E25F 97CC

To claim this, I am signing this object:

pmclanahan / contribute.json
Last active Aug 29, 2015
Proposal Schema for contribute.json
View contribute.json
// required
"name": "Name of the project. (e.g. Bedrock)",
"description": "Awesome website of sweetness",
"repository": {
"type": "git",
"url": ""
// optional
pmclanahan / pre-commit
Created May 23, 2014
Flake8 and jshint pre-commit git hook
View pre-commit
for file in `git diff --cached --name-only --diff-filter=ACM | sort | uniq`
if [ ${file: -3} == ".py" ]; then
flake8 --ignore=E121,E123,E124,E125,E126,E127,E128,E501 $file
if [ "$?" -ne "0" ]; then
pmclanahan /
Last active Aug 29, 2015
Lisa Benchmark Results

Prod Server

1 instance

Total Processed: 100,000
Total Time:      87.128194809s
IPs per minute:  68,864.0458253