Skip to content

Instantly share code, notes, and snippets.

View cmeiklejohn's full-sized avatar
💭
Always working.

Christopher S. Meiklejohn cmeiklejohn

💭
Always working.
View GitHub Profile
def test_vc_diagram():
clock_a = VectorClock()
clock_b = VectorClock()
clock_c = VectorClock()
#!/usr/bin/python3
import copy
def test_vector_clock_create():
assert VectorClock()
def test_vector_clock_value():
clock = VectorClock()
assert clock.value("a") == 0

Keybase proof

I hereby claim:

  • I am cmeiklejohn on github.
  • I am cmeiklejohn (https://keybase.io/cmeiklejohn) on keybase.
  • I have a public key ASAbjNbPtSzfJWtdZBFbQD4LnTdhOB1PJ1UA-bGk6l4FHAo

To claim this, I am signing this object:

@cmeiklejohn
cmeiklejohn / docker-compose.yaml
Created September 3, 2019 16:41
compose template for 17-313, fall 2019 recitation 2
version: "3"
services:
mayan-edms-postgres:
image:
ports:
-
restart: always
volumes:
-
environment:
cmeiklejohn:lasp cmeiklejohn$ vagrant up
Bringing machine 'trusty64' up with 'virtualbox' provider...
==> trusty64: Importing base box 'ubuntu/trusty64'...
==> trusty64: Matching MAC address for NAT networking...
==> trusty64: Checking if box 'ubuntu/trusty64' is up to date...
==> trusty64: A newer version of the box 'ubuntu/trusty64' is available! You currently
==> trusty64: have version '20150922.0.0'. The latest is version '20150928.0.0'. Run
==> trusty64: `vagrant box update` to update.
==> trusty64: Setting the name of the VM: lasp_trusty64_1443722947701_22734
@cmeiklejohn
cmeiklejohn / testing-demers.md
Last active January 27, 2019 16:52
Protocol implementation and verification from Demers et al. "Epidemic Algorithms for Replicated Database Maintenance"

Introduction

...

Protocol Implementation: Direct Mail

We start by creating a gen_server for the direct mail protocol implementation. This implementation will support two calls broadcast, for sending a message, and update, for updating the membership received from the Partisan system for when view changes occur. For state at each node, we'll track the currently known membership, so we don't have to look it up every time we want to make a broadcast.

%% API

Understand the change that we're trying to make and where it fits into the system conceptually.

In our case, we're looking at adding another membership strategy to Partisan. The membership strategy we're looking to add is a superset of one of the existing strategies (HiScamp is a superset of Scamp functionality.)

Determine the application programming interface used between this component and the rest of the system.

Each membership strategy in partisan uses a well defined interface -- figure out how this interacts with the rest of the system and how the existing strategy (Scamp, in this case) operates using this API.

Design a plan for extending this isolated component incrementally.

@cmeiklejohn
cmeiklejohn / .fonts.conf
Created November 18, 2011 02:57
fix debian chrome/chromium hinting problems since it doesn't obey the normal gnome settings
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="font" >
<edit mode="assign" name="rgba" >
<const>none</const>
</edit>
</match>
<match target="font" >
<edit mode="assign" name="hinting" >
kube running for unir-567495c6d5-zmtmf
kube running for unir-567495c6d5-r2pj8