identification (public key)
signature
packet type | signed content body
... |
from socket import create_server | |
MAX_SOCKETS = 1024 | |
BUFFER_SIZE = 4096 | |
sockets = [(0, None)] * MAX_SOCKETS | |
buffers = [b''] * MAX_SOCKETS | |
connections = [] |
all() { | |
case $# in | |
0) false ;; | |
*) ( | |
result=0 | |
while read x; do | |
if ! "$@" "$x"; then | |
result=1 | |
fi | |
done |
# Python 3 is an iterator-first language. | |
# `bind` and `join` are reaching wider adoption under the names `flatmap` and `flatten`. | |
def flatmap(f, xs): | |
return (y for x in xs for y in f(x)) | |
def flatten(xs): | |
return (y for x in xs for y in x) | |
# These don't match the `zip(*args)` behavior of `map`, but I have never actually seen that used. |
import Optics | |
import Control.Monad.Random | |
headSwap :: [Int] -> Int -> [Int] | |
headSwap xs i = | |
xs | |
& (ix 0) .~ (xs !! i) | |
& (ix i) .~ (xs !! 0) | |
headSwapRand :: MonadRandom m => [Int] -> m [Int] |
>>> from findme_packet_format import * | |
>>> | |
>>> # generate a public / private key pair for demonstration | |
>>> # curve and backend are hard-coded for convenience | |
>>> private = ec.generate_private_key(curve, backend) | |
>>> public = private.public_key() | |
>>> | |
>>> # take a peek at what the serialized public key looks like | |
>>> encode_public_key(public).hex() | |
'bbae416a73aac8b64786006b4b358d7261cc57eb780aeb61c15537d88eb9a6e68d48a0f737aafde8c99f6821be199aef49da91f7e60f3a42d524be06aac811a5' |
xorshift linear | |
2 3 4 1 1 0 0 1 | |
2 | |
0 0 0 1 0 0 0 0 10 | |
0 0 1 0 1 0 0 1 29 | |
0 1 0 0 0 0 1 0 42 | |
1 0 0 1 1 0 1 1 9b | |
0 0 1 1 0 1 0 0 34 |
Goal: Develop a secure protocol for machines to keep track of where each other are on the Internet (IP address) that doesn't rely on DNS. | |
Why: Because DNS does not scale to individual use, and there is no financial incentive for companies to develop an alternative. | |
Problem: Modern internet security is built on top of DNS. Building an alternative to DNS on modern internet security is a non-starter. | |
Solution: Experiment with prototypes using lower-level security primitives. | |
Theory: A "chain" of signatures can be used to track changes in IP address of any given device to prevent forgery or replay attacks. | |
Theory: A sequence of signed packets can be used to track availability at an IP address to prevent forgery or replay attacks. | |
Theory: A sequence of signed packets can also be used to authenticate queries for network information to limit network abuse. |
# binary search division | |
# aka, long division | |
def partial_division(divisor, dividend): | |
difference = dividend - divisor | |
return (0, dividend) if difference < 0 else (1, difference) | |
def division8(divisor, dividend): |
// stop Firefox from eating all my CPU and stuttering while playing full-screen videos | |
//user_pref("media.gpu-process-decoder", true); | |
// well... 50/50 on whether this actually reduces CPU consumption when Firefox is running full-screen | |
// stuttering is improved, but not gone | |
// ...apparently Firefox handles video playback a lot better when a proper VA-API driver is installed | |
// leaving this here for future troubleshooting | |
// this behavior also seems to be dependent on whether or not Steam has been running... |