Skip to content

Instantly share code, notes, and snippets.

import json
import pathlib
from datetime import datetime
def key(job_id: str, op: str):
return f"{job_id}-{op}"
if __name__ == "__main__":
laser / formatter.rb
Last active November 3, 2022 22:29
A Procfile formatting script, written in Ruby
#!/usr/bin/env ruby
require 'optparse'
def get_procfile_lines"\n")
def get_process_type_max_width(lines)
processes = []
#!/usr/bin/env bash
set -x
public_ip=$(curl -m 5 || echo "")
daemon_multiaddr=$(lotus net listen | grep 127 | sed -En "s/127\.0\.0\.1/${public_ip}/p")
miner_multiaddr=$(lotus-storage-miner net listen | grep 127 | sed -En "s/127\.0\.0\.1/${public_ip}/p")
miner_id=$(lotus-storage-miner info | grep Miner | cut -d ' ' -f2)
cd $(mktemp -d)
laser /
Last active June 26, 2020 16:13
Run Filecoin storage and retrieval flows on a local development network
#!/usr/bin/env bash
# Option 1: Build and run tests using specific lotus Git SHA:
# > ./ --lotus-git-sha=15b3e57634458af983082dcbb736140bba2abfdb
# Option 2: Build and run using binaries you've built previously (much faster)
laser /
Created March 31, 2020 18:31
start daemon with custom genesis block
#!/usr/bin/env bash
BASEDIR=$(mktemp -d -t "lotus-interopnet.XXXX")
git clone --branch "testnet/3" "${BASEDIR}/build"
mkdir -p "${BASEDIR}/scripts"
mkdir -p "${BASEDIR}/bin"
laser /
Last active December 10, 2019 13:02


Can we (today) vary these values at runtime?

  • window_size_mib (const here)
  • sector_size_gib (const here)
  • !*wrapping_variant (?)
  • drg_parents (const here)
  • expander_parents (const here)
  • graph_name (? - ignore)
laser /
Last active May 29, 2019 18:55
integrate rust-fil-proofs and go-filecoin
#!/usr/bin/env bash
integration_branch=laser/test-integrations-$(date +%s)
laser /
Last active July 26, 2018 22:40
Erlang/OTP Review - First Meeting


General rules for making a distributed book club like this not-awful:

  • keep your mic muted unless you're speaking
  • raise your hand if you have something to say and wait for someone to call on you
  • if you're raising your hand and nobody calls on you, type a message into the chat

Chapter 1

laser /
Created July 18, 2018 03:00
pattern matching Java
public abstract class Tree {
// Constructor private so the type is sealed.
private Tree() {}
public abstract <T> T match(Function<Empty, T> a,
Function<Leaf, T> b,
Function<Node, T> c);
public static final class Empty extends Tree {
public <T> T match(Function<Empty, T> a,
laser /
Created July 14, 2018 16:04
fork/join shell
echo ""
echo "$(date "+%T") 'fork' a process..."
# opens the file as input fd 666 before the background job (curl) is started
exec 666< <(curl -s '')
echo ""
echo "$(date "+%T") 'fork' second process..."
# opens the file as input fd 666 before the background job (curl) is started
exec 777< <(curl -s '')