Skip to content

Instantly share code, notes, and snippets.

View garrettr's full-sized avatar

Garrett Robinson garrettr

  • San Francisco, CA
View GitHub Profile
@garrettr
garrettr / keybase.md
Created June 9, 2014 20:57
keybase.md

Keybase proof

I hereby claim:

  • I am garrettr on github.
  • I am garrettr (https://keybase.io/garrettr) on keybase.
  • I have a public key whose fingerprint is 5F9A 1D6B 7885 1B60 FC84 9131 464F 0A89 D3EF 9CAE

To claim this, I am signing this object:

@garrettr
garrettr / lightbeam_plan.md
Last active August 29, 2015 14:02
Lightbeam Plan

Steps to fix up Lightbeam:

Main steps

To keep things simple, Aggregate and Graph should still implement the Emitter interface. This will minimize code changes needed.

  1. Encapsulate aggregate
  2. Encapsulate graph
  3. Build per-site data structure using WeakMap[nsIDOMWindow] = Aggregate
  4. The main Lightbeam window will have a Graph (or maybe Visualization) instance that has an aggregate attached. The graph can be changed by attaching a different aggregate, or modifying the underlying aggregate (e.g. filtering).
@garrettr
garrettr / gist:c33006c529764d9eaf21
Created July 16, 2014 10:47
apt error for Google Chrome on "apt-get update"
W: GPG error: http://dl.google.com stable Release: The following signatures were invalid: BADSIG A040830F7FAC5991 Google, Inc. Linux Package Signing Key <linux-packages-keymaster@google.com>
@garrettr
garrettr / gist:ac41b7e565f307010b9c
Created October 21, 2014 06:11
Vagrantfile for vagrant-cachier bug POC
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.define 'vagrant-cachier-poc', primary: true do |development|
development.vm.hostname = "vagrant-cachier-poc"
development.vm.box = "trusty64"
development.vm.box_url = "https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box"
development.vm.provider "virtualbox" do |v|
@garrettr
garrettr / Vagrantfile
Created October 21, 2014 06:11
Vagrantfile for vagrant-cachier bug POC
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.define 'vagrant-cachier-poc', primary: true do |development|
development.vm.hostname = "vagrant-cachier-poc"
development.vm.box = "trusty64"
development.vm.box_url = "https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box"
development.vm.provider "virtualbox" do |v|
@garrettr
garrettr / gist:d20812c77b6d7a9dc143
Created October 21, 2014 06:18
vagrant-cachier POC with debug logging
➜ vagrant-cachier-poc VAGRANT_LOG=debug vagrant up
INFO global: Vagrant version: 1.6.5
INFO global: Ruby version: 2.0.0
INFO global: RubyGems version: 2.0.14
INFO global: VAGRANT_EXECUTABLE="/Applications/Vagrant/bin/../embedded/gems/gems/vagrant-1.6.5/bin/vagrant"
INFO global: VAGRANT_LOG="debug"
INFO global: VAGRANT_INSTALLER_EMBEDDED_DIR="/Applications/Vagrant/bin/../embedded"
INFO global: VAGRANT_INSTALLER_VERSION="2"
INFO global: VAGRANT_DETECTED_OS="Darwin"
INFO global: VAGRANT_INSTALLER_ENV="1"
@garrettr
garrettr / middlebox_spec.md
Last active August 29, 2015 14:08
SecureDrop Decryption Middlebox (Draft Spec)

Secure Middlebox for Decryption (Draft Spec)

Overview and Motivation

SecureDrop is a secure communications platform for journalists and sources designed to protect the anonymity of sources and the confidentiality of all communications. Part of the recommended workflow for journalists involves transferring encrypted documents from the Document Interface (a web application made available as an authenticated Tor Hidden Service) to an airgapped computer for decryption and viewing.

Using an airgap, while cumbersome, accomplishes a number of important security goals:

  1. Encrypted documents should only be readable by the journalists they were sent to. This is especially important because the documents may contain identifying information about the sources, either directly in the content of the documents, or indirectly through file format metadata.
  2. The private key which is used to decrypt documents must be protected to ensure the confidentiality of all past,
@garrettr
garrettr / gist:65271f6b1c31b03487a3
Created January 26, 2015 23:18
Intermittent test failure on Travis CI
105.72s$ sudo sh -c "export DISPLAY=:1; cd securedrop && ./manage.py test"
gpg: WARNING: unsafe ownership on configuration file `/home/travis/.gnupg/gpg.conf'
============================= test session starts ==============================
platform linux2 -- Python 2.7.3 -- py-1.4.26 -- pytest-2.6.2
collected 44 items
requirements/test-requirements.txt .
tests/test_journalist.py ......
tests/test_single_star.py ......
tests/test_unit_integration.py ........
tests/test_unit_journalist.py .......
@garrettr
garrettr / gist:fbbe893990de58aa73ab
Created January 27, 2015 02:17
SecureDrop Install with unsigned repo
TASK: [common | install grsec package from fpf repo] **************************
failed: [mon-staging] => {"ansible_job_id": "722156499841.3785", "changed": false, "failed": true, "finished": 1}
stderr: E: There are problems and -y was used without --force-yes
stdout: Reading package lists...
Building dependency tree...
Reading state information...
The following extra packages will be installed:
linux-image-3.14.21-grsec
Suggested packages:
@garrettr
garrettr / gist:c9f85acbb60482ef9e26
Created January 28, 2015 22:07
cron-apt logfile
CRON-APT RUN [/etc/cron-apt/config]: Tue Jan 27 04:00:01 UTC 2015
CRON-APT SLEEP: 784, Tue Jan 27 04:13:05 UTC 2015
CRON-APT ACTION: 0-update
CRON-APT LINE: /usr/bin/apt-get -o quiet=1 update -o quiet=2 -o Dir::Etc::sourcelist=/etc/apt/security.list
W: Duplicate sources.list entry http://104.236.171.240/ trusty/main amd64 Packages (/var/lib/apt/lists/104.236.171.240_dists_trusty_main_binary-amd64_Packages)
W: Duplicate sources.list entry http://deb.torproject.org/torproject.org/ trusty/main amd64 Packages (/var/lib/apt/lists/deb.torproject.org_torproject.org_dists_trusty_main_binary-amd64_Packages)
W: You may want to run apt-get update to correct these problems
CRON-APT ACTION: 5-security
CRON-APT LINE: /usr/bin/apt-get -o quiet=1 autoclean -y
Reading package lists...