Skip to content

Instantly share code, notes, and snippets.

@laser
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
STDIN.read.split("\n")
end
def get_process_type_max_width(lines)
processes = []
#!/usr/bin/env bash
set -x
public_ip=$(curl -m 5 http://169.254.169.254/latest/meta-data/public-ipv4 || echo "127.0.0.1")
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
laser / filecoin-storage-retrieval-cluster-test.sh
Last active June 26, 2020 16:13
Run Filecoin storage and retrieval flows on a local development network
#!/usr/bin/env bash
# USAGE:
#
# Option 1: Build and run tests using specific lotus Git SHA:
#
# > ./test-storage-and-retrieval-local-dev-net.sh --lotus-git-sha=15b3e57634458af983082dcbb736140bba2abfdb
#
# Option 2: Build and run using binaries you've built previously (much faster)
#
@laser
laser / runthis.sh
Created March 31, 2020 18:31
start daemon with custom genesis block
#!/usr/bin/env bash
genesis_miner_addr="t01000"
BASEDIR=$(mktemp -d -t "lotus-interopnet.XXXX")
git clone --branch "testnet/3" https://github.com/filecoin-project/lotus.git "${BASEDIR}/build"
mkdir -p "${BASEDIR}/scripts"
mkdir -p "${BASEDIR}/bin"
@laser
laser / stuff.md
Last active December 10, 2019 13:02
stuff

Inputs

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
laser / integrate.sh
Last active May 29, 2019 18:55
integrate rust-fil-proofs and go-filecoin
#!/usr/bin/env bash
expected_circle_config_sha256sum="2ea6a7c8f63088b107b6346685866629abdf165f0b457f8856880ea2dcfc63b1"
integration_branch=laser/test-integrations-$(date +%s)
go_filecoin_branch=master
go_filecoin_url=git@github.com:filecoin-project/go-filecoin.git
rust_fil_proofs_branch=master
@laser
laser / notes.md
Last active July 26, 2018 22:40
Erlang/OTP Review - First Meeting

Housekeeping

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
laser / pattern.java
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
laser / fj.sh
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 'http://www.fakeresponse.com/api/?sleep=4')
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 'https://cdn.bringatrailer.com/wp-content/uploads/2017/09/59c4506ce4ca8_P6155050-e1506103879707.jpg')
@laser
laser / run-tests-one-file.sh
Last active June 12, 2018 21:05
How to Run All Tests in a Single Go File
go test ./... \
-v \
-run "$(cat commands/foo_test.go \
| grep -oE "^func Test[^(]*" \
| sed -e "s/func //" \
| tr "\n" "|" \
| sed -e "s/|$//")"