Skip to content

Instantly share code, notes, and snippets.

Avatar
💭
status is a bad idea, github is not a social network

Evan Vigil-McClanahan evanmcc

💭
status is a bad idea, github is not a social network
View GitHub Profile
View 1.8.4-changes.txt
miner changes:
Merge pull request #1517 from helium/rg/audit-123
Merge pull request #1509 from helium/rg/audit-122
Merge pull request #1504 from helium/jg/timeout_port_restart
Merge pull request #1503 from helium/adt/fix-txn-sorting
Merge pull request #1499 from helium/jma/deb-diagnostics
Merge pull request #1387 from helium/andymck/h3dex
Merge pull request #1484 from helium/jg/update_mux_092
Merge pull request #1486 from helium/jg/move_embedded_config_into_base_sysconfig
Merge pull request #1485 from helium/jsc/format-errors-0
@evanmcc
evanmcc / bc.sh
Created Oct 24, 2020
linux bandcamp bulk unpacking script
View bc.sh
#!/bin/bash
HOME=/tmp/bc/
mkdir -p $HOME
cp *zip $HOME
cd $HOME
View aleph.org

aleph comparison notes

paper

https://arxiv.org/pdf/1908.05156.pdf

tl;dr (from an incomplete reading)

NB: I read this over the weekend and am probably confused on some of the points, but I wanted to get what I did retain down before I forgot.

Aleph is a fully asyncronous multimode protocol for building a blockchain-style over a DAG of “units”.

A unit is a list of parent signatures, a list of transactions, and some other metadata. A unit must point to other units from other nodes that are in prior rounds. This is the DAG, pointing back to some genesis unit. Once a unit is produced, it is broadcast using RBC over all units.

View bb_wav.erl
-module(bb_wav).
-export([
load_sounds/0, load_sounds/1
]).
-define(default_path, "sound_data/").
load_sounds() ->
load_sounds(?default_path).
@evanmcc
evanmcc / politics.org
Created Mar 2, 2019
talk on the politics of introducing beam services at jvm shops.
View politics.org

how to replace the jvm and win

  • the business side of things is completely terrible
  • executives at big companies can totally ruin your company, and not care, when they acquire you
  • just went ahead and rewrote it, whee
  • identify the target
  • don’t let people know what you’re doing at first or try to convince people beforehand
    • 1. show, don’t tell
    • 2. forgiveness, not permission
  • people get locked into the JVM mindset
  • 100% political problem
@evanmcc
evanmcc / test.cc
Created Feb 13, 2019
test program to show that iterators within transactions on an optimistic transaction db don't honor iterator bounds
View test.cc
// Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
// This source code is licensed under both the GPLv2 (found in the
// COPYING file in the root directory) and Apache 2.0 License
// (found in the LICENSE.Apache file in the root directory).
#include <cstdio>
#include <iostream>
#include <string>
#include <vector>
#include "rocksdb/db.h"
View keybase.md

Keybase proof

I hereby claim:

  • I am evanmcc on github.
  • I am evanmcc (https://keybase.io/evanmcc) on keybase.
  • I have a public key ASAD-PXn66s_8N8mc_FQCwvdvLcvKh1-CdEuqMSM3uIJxgo

To claim this, I am signing this object:

View 2016-best.org
@evanmcc
evanmcc / tempo.el
Created Jan 1, 2015
tempo template for lighter gen_server + with lager integration
View tempo.el
(tempo-define-template "gen-server"
'((erlang-skel-include erlang-skel-small-header)
"-behaviour(gen_server)." n n
"%% API" n
"-export([start_link/0])." n n
"%% gen_server callbacks" n
"-export([init/1, handle_call/3, handle_cast/2, "
"handle_info/2," n>
View emacs-cleanup.el
#!/usr/bin/env emacs --script
;; should likely be called with 2</dev/null to suppress the various
;; output to the shell.
;; I think that this is going to fail non-emacs24 installs, since
;; 'package isn't installed by default there. You'll see this error:
;; "Symbol's function definition is void: package-initialize"
;; `brew install emacs` should fix you up, though.
(package-initialize)