Skip to content

Instantly share code, notes, and snippets.

I'm deeply skeptical of the long term existence/immutability of Tezos 25 years from now, in a way that I'm not concerned about the Ethereum Virtual Machine still existing.
If I don't trust in the underlying chain being developed and its economic security ensuring immutability and decentralized persistence, there is nothing I'm actually "owning" if I own an NFT on Tezos.
I see owning pieces on HEN to be like paying for an Instagram photo, or something like that, which is fine (its a great way to support artists and I do love and respect that) but its not really my cup of tea in terms of what I want to collect for my long term collection of which I hope I can enjoy some pieces for a lifetime.
@jakerockland
jakerockland / stipple-sunsets-actual-vs-expected.csv
Created April 21, 2021 05:03
Stipple Sunsets: Actual vs. Expected
Feature Probability of Occurence Expected Count Observed Count Delta
Double Print 1/18 20 10 -10
Blended Color Splice 1/36 10 13 +3
Homage Color Splice 1/36 10 6 -4
Forgotten Sun 1/90 4 6 +2
Aura 1/12 30 31 +1
Blended Reflections 1/12 30 25 -5
@jakerockland
jakerockland / ArtBlocksTokenHolders.py
Last active April 4, 2023 02:53
Art Blocks Token Holders Subgraph Script
#!/usr/bin/env python3
########################################################################################
## This script provides an easy way to aggregate the token holders of Art Blocks
## projects.
##
## In this current example only project "0", Chromie Squiggles [1], is being queried for
## but you can readily change `project: "0"` to the project number of your choosing
## in the GraphQL query below.
##
/**
* Base contract that all upgradeable contracts should use.
*
* Contracts implementing this interface are all called using delegatecall from
* a dispatcher. As a result, the _sizes and _dest variables are shared with the
* dispatcher contract, which allows the called contract to update these at will.
*
* _sizes is a map of function signatures to return value sizes. Due to EVM
* limitations, these need to be populated by the target contract, so the
* dispatcher knows how many bytes of data to return from called functions.
//
// UIAlertController+Action.swift
//
import UIKit
/**
Extension to `UIAlertController` to allow direct adding of `UIAlertAction` instances
*/
extension UIAlertController {
#!/usr/bin/env python
"""Merge sort a singly linked linear list."""
import random
from itertools import product
# Linked list is either empty or a value and a link to the next list
empty = None # empty list
class LL(object):
__slots__ = "value", "next"