Skip to content

Instantly share code, notes, and snippets.

View hdevalence's full-sized avatar

Henry de Valence hdevalence

View GitHub Profile
impl<'a, 'b> Add<&'b CachedPoint> for &'a ExtendedPoint {
type Output = ExtendedPoint;
fn add(self, other: &'b CachedPoint) -> ExtendedPoint {
// The coefficients of an `ExtendedPoint` are reduced after
// every operation. If the `CachedPoint` was negated, its
// coefficients grow by one bit. So on input, `self` is
// bounded with `b < 0.007` and `other` is bounded with
// `b < 1.0`.
let mut tmp = self.0;
@hdevalence
hdevalence / gist:aac098857248a1c3134eb8101b692547
Created October 30, 2016 17:13
convert sage integers to little endian byte strings
# v--- endianness issues here
bytestr_to_arr = lambda s:"[" + ", ".join(['0x'+b+a for a,b in zip(s[0::2], s[1::2])]) + "]"
ZZtobytestr = lambda x: "".join(ZZ(x).digits(16, '0123456789abcdef'))
@hdevalence
hdevalence / gist:30ce0674ce1b7d27221a975d9d2b6ef9
Created March 11, 2020 15:24
for i in (seq 0 756600); ./src/zcash-cli getblock $i | jq -c '[.version, .height]' | grep -v '\[4,' ; end;
[536870912,434873]
[536870912,434902]
[536870912,434903]
[536870912,434904]
[536870912,434917]
[536870912,434936]
[536870912,434978]
[536870912,434993]
[536870912,435023]
[536870912,435040]
@hdevalence
hdevalence / arb.md
Created March 25, 2020 06:22
Anonymous Retrospective Broadcasts
  • Anonymous Retrospective Broadcasts
    • If we don't assume a centralized party that can be trusted to verify information, what we're left with is not really a contact tracing application but a particular kind of messaging application, where users create tracks through space and time, and can retrospectively broadcast anonymous messages to users whose tracks were spatially nearby to theirs in a particular time range.
    • This messaging system should be privacy-preserving, in the sense that:
      • Server Privacy: An honest-but-curious server should not learn information about any user's space-time tracks;
      • Locality Integrity: A user should not be able to broadcast messages to users who were not nearby to them;
      • User Privacy:
        • A passive adversary cannot not learn any information about a user's space-time track outside of the segments they have broadcast messages to. This means that users who do not broadcast reveal no information about their movements.
encoding edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f has order 4
encoding edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff has order 4
encoding eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f has order 1
encoding eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff has order 1
encoding f0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f has order 8p
encoding f0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff has order 8p
encoding f1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f has order 8p
encoding f1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff has order 8p
encoding f2ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f has order 8p
encoding f2ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff has order 8p
@hdevalence
hdevalence / gist:659c53b2286522eb38a1cdc86eb9d0f5
Created October 23, 2020 04:46
zebra checkpoint dashboard
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
@hdevalence
hdevalence / clone.sh
Last active April 26, 2021 19:57
clone repos from an organization into current directory
curl -s "https://api.github.com/orgs/THE_ORG_NAME/repos?per_page=200" | jq '.[].clone_url' | xargs -L1 git clone
2021-11-24T01:46:37.942537Z INFO get_all_crates: successfully cloned crate name="planner" completion=0.010308388299892945
2021-11-24T01:46:37.942664Z INFO get_all_crates: starting clone name="wasm-bindgen-anyref-xform" repo="https://github.com/rustwasm/wasm-bindgen/tree/master/crates/anyref-xform" clone_path="/home/hdevalence/data/crates.io/repos/wa/sm/wasm-bindgen-anyref-xform"
2021-11-24T01:46:38.162363Z INFO get_all_crates: successfully cloned crate name="tinywinstr" completion=0.010325655281969817
2021-11-24T01:46:38.162397Z INFO get_all_crates: starting clone name="keypath" repo="https://github.com/cmyr/keypath" clone_path="/home/hdevalence/data/crates.io/repos/ke/yp/keypath"
2021-11-24T01:46:38.211084Z INFO get_all_crates: successfully cloned crate name="frugalos_config" completion=0.01034292226404669
2021-11-24T01:46:38.211251Z INFO get_all_crates: starting clone name="slack-blocks" repo="https://github.com/cakekindel/slack-block-kit-rs" clone_path="/home/hdevalence/data/crates.io/repos/sl/ac/sla
@hdevalence
hdevalence / main.rs
Created November 24, 2021 01:56
download every crate
use std::path::PathBuf;
use futures::{stream::FuturesUnordered, StreamExt};
use git2::Repository;
use serde::Serialize;
use structopt::StructOpt;
#[derive(Debug, StructOpt)]
#[structopt(
name = "get-all-crates",
~/c/p/penumbra (env-in-freshstart|✚1…) $ cargo run --release --bin pcli -- -n 127.0.0.1 wallet reset
Compiling pcli v0.1.0 (/Users/hdevalence/code/penumbra/penumbra/pcli)
Compiling penumbra-proto v0.1.0 (/Users/hdevalence/code/penumbra/penumbra/proto)
Compiling penumbra-crypto v0.1.0 (/Users/hdevalence/code/penumbra/penumbra/crypto)
Compiling penumbra-stake v0.1.0 (/Users/hdevalence/code/penumbra/penumbra/stake)
Compiling penumbra-chain v0.1.0 (/Users/hdevalence/code/penumbra/penumbra/chain)
Compiling penumbra-transaction v0.1.0 (/Users/hdevalence/code/penumbra/penumbra/transaction)
Compiling penumbra-wallet v0.1.0 (/Users/hdevalence/code/penumbra/penumbra/wallet)
Finished release [optimized] target(s) in 18.59s
Running `target/release/pcli -n 127.0.0.1 wallet reset`