Skip to content

Instantly share code, notes, and snippets.

View kanshi's full-sized avatar

kanshi kanshi

View GitHub Profile
@kanshi
kanshi / 101-relay-operator-alternate-identity.md
Last active July 18, 2023 17:49 — forked from jim-toth/101-relay-operator-alternate-identity.md
Broadcasting Relay Operator Alternate Identities
Filename: 101-relay-operator-alternate-identity.md
Title: Broadcasting Relay Operator Alternate Identities
Author: Jim Toth - jim@memeticblock.io, Slava Mushyaokv - slava@memeticblock.io, Andrzej Tuchołka - andrzej@memeticblock.io & ATOR Labs LLC
Created: 2023-07-18
Status: Draft

Overview

import pdi.jwt.{Jwt, JwtAlgorithm}
import org.bitcoins.core.util.Base58
import org.bouncycastle.jce.spec.ECPublicKeySpec
import org.bouncycastle.jce.ECNamedCurveTable
import org.bouncycastle.jce.provider.BouncyCastleProvider
import java.security.{KeyFactory, PublicKey, Security}
import scala.util._
val jwtToken = "eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE2NDg1OTcwNzIsImV4cCI6MTY0ODU5NzY3Mn0.MFEtqJzrLTnjYwH4gAOsH-0qsrQIFsKcYHyHdE1WdWHLn_xa-fGPoV3OkDLr0Rk1IcIoawSrDXNxkyZR0wGhFw"
val desoPKey = "BC1YLhwpmWkgk2iM9yTSxzgUVhYjgessSPTiVHkkK9pMrhweqJnWrvK"

Keybase proof

I hereby claim:

  • I am kanshi on github.
  • I am kanshi (https://keybase.io/kanshi) on keybase.
  • I have a public key ASAmRgVDAh3J3EfBIChsvGBGz2ylso4hqnKOxi3KjRjFdAo

To claim this, I am signing this object:

@kanshi
kanshi / pbr.glsl
Created October 22, 2016 11:07 — forked from galek/pbr.glsl
PBR GLSL SHADER
in vec2 v_texcoord; // texture coords
in vec3 v_normal; // normal
in vec3 v_binormal; // binormal (for TBN basis calc)
in vec3 v_pos; // pixel view space position
out vec4 color;
layout(std140) uniform Transforms
{
mat4x4 world_matrix; // object's world position
@kanshi
kanshi / gist:5012914
Created February 22, 2013 11:46
Thoughtless class
case class Thoughtless[T <: String](
val sensitivity: Double,
val focus: Int,
val memory: Memory[T] = Memory[T](Set[Mem[T]]()),
val feelings: Feelings = Set[Emotion]()) {
def focusScope(ioi: Set[T]): List[T] = ioi.toList.sortWith(_.length < _.length)
def teach(ioi: T, emotion: Emotion) = Thoughtless[T](
sensitivity, focus,
@kanshi
kanshi / gist:5012898
Created February 22, 2013 11:41
A basic memory model for Thoughtless
import org.hashtree.stringmetric.similarity._
case class Memory[T <: String](val items: Set[Mem[T]]) {
def rough(precision: Double) = precision - precision * 0.1
def increased(precision: Double) = precision + precision / 2
def compare(item1: T, item2: T, precision: Double): Boolean =
JaroWinklerMetric.compare(item1, item2) match {
case Some(similarity: Double) => (similarity > rough(precision))