Skip to content

Instantly share code, notes, and snippets.

@sorpaas
sorpaas / main.rs
Last active August 11, 2018 13:16
Brute Force Approach to EIP-1087/EIP-1283 Equivalence "Proof"
#[derive(Debug)]
struct Consumption {
used: usize,
refund: usize,
}
impl Consumption {
pub fn absolute(&self) -> isize {
self.used as isize - self.refund as isize
}
@sorpaas
sorpaas / graph.gv
Last active August 10, 2018 11:57
EIP-1087 graph
digraph G {
concentrate=true
00 -> 01 [label="20k gas"];
00 -> 02 [label="20k gas"];
01 -> 02;
02 -> 01;
00 -> 99 [label="no refund"];
01 -> 99 [label="19.8k refund"];
02 -> 99 [label="no refund"];
@sorpaas
sorpaas / format.py
Created July 10, 2018 08:41
EVM Benchmark Formatting
import csv
mastercsv = {}
with open("./result-master.tsv", "r") as csvfile:
csvreader = csv.reader(csvfile, delimiter='\t')
for row in csvreader:
mastercsv[row[0]] = float(row[1])
prcsv = {}
@sorpaas
sorpaas / casper_test.json
Last active June 5, 2018 10:07
Parity Casper Testnet Descriptions
{
"name": "Casper Testnet",
"dataDir": "caspertest",
"engine": {
"Ethash": {
"params": {
"minimumDifficulty": "0x1ee73",
"difficultyBoundDivisor": "0x0800",
"durationLimit": "0x0d",
"blockReward": "0x4563918244F40000",
--no-secretstore --chain classic --pruning archive --no-dapps --no-ws --no-ui --public-node --jsonrpc-hosts all
@sorpaas
sorpaas / index.js
Last active February 10, 2017 12:43
Decrypting GPG Messages Using Subkeys
var openpgp = require("openpgp");
var fs = require("fs");
var key = fs.readFileSync("<armored key file>", "utf8");
var skey = openpgp.key.readArmored(key).keys[0];
skey.decrypt("<key password>");
var message = fs.readFileSync("<armored message>", "utf8");
var m = openpgp.message.readArmored(message);
nix.nixPath = [ "nixpkgs=/etc/nixpkgs" "nixos-config=/etc/nixos/configuration.nix" ];
services.udev.extraRules = ''
SUBSYSTEM!="usb", GOTO="gnupg_rules_end"
ACTION!="add", GOTO="gnupg_rules_end"
# USB SmartCard Readers
## Crypto Stick 1.2
ATTR{idVendor}=="20a0", ATTR{idProduct}=="4107", ENV{ID_SMARTCARD_READER}="1", ENV{ID_SMARTCARD_READER_DRIVER}="gnupg", GROUP+="plugdev", TAG+="uaccess"
## Nitrokey Pro

Keybase proof

I hereby claim:

  • I am sorpaas on github.
  • I am sorpaas (https://keybase.io/sorpaas) on keybase.
  • I have a public key whose fingerprint is 521C 53D4 14D3 AA7C 62B3 643D A317 3FD8 1D28 A1EE

To claim this, I am signing this object:

@sorpaas
sorpaas / Dockerfile
Created March 9, 2016 03:07
Nearly Worked Servo Hacking Environment for NixOS
# Copyright (C) 2015 Siddhanathan Shanmugam
# License: GPLv3 (see LICENSE)
# Maintainer: siddhanathan@gmail.com
#
# Dockerfile for hacking on Servo
#
FROM ubuntu:15.10
MAINTAINER Siddhanathan Shanmugam
@sorpaas
sorpaas / process.lhs
Created January 4, 2016 10:07
Haskell Data Analysis
> {-# LANGUAGE DeriveGeneric #-}
> import Data.Csv (decodeByName, FromNamedRecord, ToNamedRecord, DefaultOrdered, Header)
> import Data.Text
> import Data.Text.Encoding (encodeUtf8)
> import Data.Text.IO (putStrLn)
> import Data.Vector
> import Data.Set
> import Prelude hiding (readFile)
> import Data.ByteString.Lazy (readFile)