- Alice's device, containing her private key, is a single point of failure
- Instead of having a single device store your key material...
- You can split it into multiple devices
- Designed your address as protected by multiple keys
### Keybase proof | |
I hereby claim: | |
* I am arowser on github. | |
* I am arowser (https://keybase.io/arowser) on keybase. | |
* I have a public key ASD17uAsEOGA_lpATznm8Il3ff0Ii8v-j2ravJIw6eC4Mgo | |
To claim this, I am signing this object: |
Locate the section for your github remote in the .git/config
file. It looks like this:
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = [email protected]:joyent/node.git
Now add the line fetch = +refs/pull/*/head:refs/remotes/origin/pr/*
to this section. Obviously, change the github url to match your project's URL. It ends up looking like this:
#!/usr/bin/env python | |
""" | |
This script implements a handshake with a remote Lightning | |
Network node; see BOLT8: | |
https://github.com/lightningnetwork/lightning-rfc/blob/master/08-transport.md | |
, which is the Noise-based transport protocol | |
for Lightning network nodes. | |
Specify server, port and remote node pubkey as three command line arguments; | |
here's an example invocation: |
The bitcoin blockchain is currently (9th Sept 2016) 88Gig but the Chainstate is only 1.7 Gig. That is a factor of 50 different. One concern for bitcoin at the moment is a lack of full nodes. This is partly due to the length of time to download and process the blockchain from scratch. And in addition a significant cost of hosting a full node is the cost of bandwidth for serving historical blocks - and a lot of this is to nodes that start downloading the blockchain and then abandon. A node can still operate as a full node with just a valid chainstate - there is little need for the full blockchain. From my tests only 30% of chains that start syncing get to completion.
'use strict'; | |
// first, run sudo apt-get install jq nodejs npm | |
// second, run npm install bluebird co to install dependencies, and make sure bitcoin-cli can run these commands. | |
// third, run node thisScript.js and it will change all the addresses on your bitcoind into segwit addresses. | |
var Promise = require('bluebird'); | |
var co = require('co'); | |
var exec = Promise.promisify(require('child_process').exec); | |
var main = function() { |
This tutorial will turn your Raspberry PI into a simple Bluetooth audio receiver, which plays music through connected speakers. It's like a regular car audio system, but it can be used anywhere and it's a good value.
Audio source (i.e. smartphone)
|
v
((( Wireless Bluetooth Channel )))
|
#! /bin/bash | |
set -e | |
trap 'previous_command=$this_command; this_command=$BASH_COMMAND' DEBUG | |
trap 'echo FAILED COMMAND: $previous_command' EXIT | |
#------------------------------------------------------------------------------------------- | |
# This script will download packages for, configure, build and install a GCC cross-compiler. | |
# Customize the variables (INSTALL_PATH, TARGET, etc.) to your liking before running. | |
# If you get an error and need to resume the script from some point in the middle, | |
# just delete/comment the preceding lines before running it again. |
CREATE OR REPLACE FUNCTION public.json_append(data json, insert_data json) | |
RETURNS json | |
IMMUTABLE | |
LANGUAGE sql | |
AS $$ | |
SELECT ('{'||string_agg(to_json(key)||':'||value, ',')||'}')::json | |
FROM ( | |
SELECT * FROM json_each(data) | |
UNION ALL | |
SELECT * FROM json_each(insert_data) |