Skip to content

Instantly share code, notes, and snippets.

Jeff Rade jeffrade

View GitHub Profile
@elaineo
elaineo / podcast.py
Last active Mar 16, 2019
Turn podcasts into Twitter threads
View podcast.py
from TwitterAPI import TwitterAPI
import json
import logging
import time
from collections import OrderedDict
from random import random
"""
Assume 3 participants. You will need to create a Twitter account for each participant, and get API keys for each one.
"""
@JoshCheek
JoshCheek / program.c
Last active Apr 6, 2018
Memory allocation, NULL, dereferencing.
View program.c
// After you think you understand this program, try writing it yourself until
// you can get it to work, the first time, without error ^_^
//
// ALSO: remember:
// $ gcc program.c # compile
// $ ./a.out # run
// We'll get `printf` from standard input/output's header file
#include <stdio.h>
View wallet_and_segwit.md

I'll first give some thoughts on the design of the wallet in general, before explaining current and future SegWit wallet support.

Current design

Conceptually, a wallet currently contains mapKeys, mapScripts, and setWatchOnly, which together determine which outputs are considered "ours" (IsMine), and how to solve and sign for them. Then the wallet further contains key metadata, key chains, and key pool at the wallet level that feed into this.

We determine whether outputs are ours using ad-hoc logic that mostly answers the question "Could we sign this?", but with some notable exceptions:

@sipa
sipa / blocksize.mediawiki
Last active Oct 21, 2018
Block size according to technological growth.
View blocksize.mediawiki

  BIP: ??
  Title: Block size following technological growth
  Author: Pieter Wuille <pieter.wuille@gmail.com>
  Status: Draft
  Type: Standards Track
  Created: 2015-07-21

Abstract

@kennwhite
kennwhite / vpn_psk_bingo.md
Last active May 29, 2020
Most VPN Services are Terrible
View vpn_psk_bingo.md

Most VPN Services are Terrible

Short version: I strongly do not recommend using any of these providers. You are, of course, free to use whatever you like. My TL;DR advice: Roll your own and use Algo or Streisand. For messaging & voice, use Signal. For increased anonymity, use Tor for desktop (though recognize that doing so may actually put you at greater risk), and Onion Browser for mobile.

This mini-rant came on the heels of an interesting twitter discussion: https://twitter.com/kennwhite/status/591074055018582016

@sipa
sipa / btc-beyondip.txt
Created Sep 23, 2011
Beyond IP transactions: towards a Bitcoin payment protocol
View btc-beyondip.txt
Beyond IP Transactions: towards a payment protocol
==================================================
IP transactions were originally introduced as a first "out-of-band" protocol
for negotiating a transaction output's public key. Being inconvenient and
insecure, they became obsolete, and recent versions of bitcoin don't support
them anymore.
The result is that static bitcoin addresses have become the most common way of
defining requested payments. This may be fine for anonymous donations, but is not
View setting_up_a_new_remote_git_repository.textile

(a gist based on the old toolmantim article on setting up remote repos)

To collaborate in a distributed development process you’ll need to push code to remotely accessible repositories.

This is somewhat of a follow-up to the previous article setting up a new rails app with git.

For the impatient

Set up the new bare repo on the server:

You can’t perform that action at this time.