Skip to content

Instantly share code, notes, and snippets.


Richard Kiss richardkiss

View GitHub Profile
richardkiss / venv
Created Mar 18, 2021
A nice shell script to put all your venvs in the same place
View venv
VENV_PATH=${@:-${VENV_BASE_PATH:-~/tmp/virtualenvs}}/`pwd | sed "s|/|_|g"`/venv
if [ -e $VENV_PATH ]
echo rm -rf $VENV_PATH
echo and try again
mkdir -p $VENV_PATH

Idempotent clarifications

Here are a bunch of changes you can make for humans only. None of these changes should change how it compiles, so you should be able to change anything in this section and compare the resultant compile. It should be identical.


I've really love an automated pretty-printer akin to "black" for python or "cargo fmt" for rust so you can write whatever mess you want and have a computer indent it so it looks nice, but I haven't been able to find one yet.

from pycoin.encoding.hexbytes import b2h
from pycoin.intbytes import int2byte
from pycoin.key import Key
from pycoin.networks.registry import network_for_netcode
from pycoin.satoshi.der import sigencode_der
network = network_for_netcode('XTN')
Tx = network.tx
TxIn = network.tx.TxIn
richardkiss / sl
Created Mar 30, 2018
A "mirror-image" ls in python, as discussed at
View sl
#!/usr/bin/env python
import subprocess
import sys
output = subprocess.check_output(["ls"] + sys.argv[1:])
lines = output.split("\n")

Chia FAQ

Q: Where does the name "Chia" come from?

A: See Wikipedia.


Keybase proof

I hereby claim:

  • I am richardkiss on github.
  • I am richardkiss ( on keybase.
  • I have a public key whose fingerprint is 1BE0 3D39 4138 A2C2 E2EF 64D4 E0F4 3326 DBD8 AB6A

To claim this, I am signing this object:

#!/usr/bin/env python
When PYTHONASYNCIODEBUG is set to 1, this causes a strange error:
TypeError: send() takes 2 positional arguments but 7 were given
Invoke as follows:
View Python 3.4 asyncio gc bug
#!/usr/bin/env python
This is an example of what seems to be a garbage collection bug in Python 3.4.0
that does not exist in Python 3.3.3.
The example uses asyncio to create a producer that multiplexes to N consumers.
On my Mac, with N=100, 38 consumers are incorrectly garbage collected and only execute
once, dropping the surviving consumer count to 62.
View Python 3.4 asyncio bug
#!/usr/bin/env python
This works fine in Python 3.3, but causes a strange error in Python 3.4.0:
TypeError: send() takes 2 positional arguments but 3 were given
import asyncio
View f(f(n)) =
#!/usr/bin/env python
The obvious way is to do it with complex numbers.
def f(x):
# remember, in Python 1j means sqrt(-1)
return 1j * x