Skip to content

Instantly share code, notes, and snippets.

Keybase proof

I hereby claim:

  • I am menduz on github.
  • I am menduz (https://keybase.io/menduz) on keybase.
  • I have a public key ASAaLUmgV8Es9SZ8DahB2-9FgfNOtqGo0hUr_dicrchZoQo

To claim this, I am signing this object:

@menduz
menduz / scene.tsx
Created June 27, 2018 19:28
animation in dcl
// tslint:disable:ter-indent
import { ScriptableScene, createElement } from 'metaverse-api'
export default class SharkAnimation extends ScriptableScene {
state = {
bitestate: 0
}
async sceneDidMount() {
this.eventSubscriber.on(`muhshark_click`, xxx => {
@menduz
menduz / lumen.lua
Created September 12, 2018 18:29 — forked from anonymous/lumen.lua
Self-hosted Lisp using vvander's Lua browser runtime: https://cdn.rawgit.com/vvanders/wasm_lua/d68f46a8/main.html
environment = {{}}
target = "lua"
function nil63(x)
return(x == nil)
end
function is63(x)
return(not nil63(x))
end
function no(x)
return(nil63(x) or x == false)
@menduz
menduz / yubikey-reset.sh
Created May 24, 2019 19:20 — forked from pkirkovsky/yubikey-reset.sh
Utility for resetting a Yubikey to factory defaults using gpg-connect-agent. This will wipe out any stored keys and reset PINs to default values.
gpg-connect-agent <<EOF
/hex
scd serialno
scd apdu 00 20 00 81 08 40 40 40 40 40 40 40 40
scd apdu 00 20 00 81 08 40 40 40 40 40 40 40 40
scd apdu 00 20 00 81 08 40 40 40 40 40 40 40 40
scd apdu 00 20 00 81 08 40 40 40 40 40 40 40 40
scd apdu 00 20 00 83 08 40 40 40 40 40 40 40 40
scd apdu 00 20 00 83 08 40 40 40 40 40 40 40 40
scd apdu 00 20 00 83 08 40 40 40 40 40 40 40 40
@menduz
menduz / ao-ind-conversor.js
Created July 13, 2019 17:26
ao-ind-conversor.js
const bb = require("./bytebuffer");
const fs = require("fs");
function loadBB(src) {
return bb.wrap(fs.readFileSync(src));
}
function loadCabecera(bb) {
bb.skip(255 + 4 + 4);
}
@menduz
menduz / webrtc.ts
Created July 14, 2019 21:00
WebRTC basic setup
// This configuration is passed when we create a new peer connection object.
// It provides a set of servers used to establish a connection. STUN servers
// are used to discover our external IP address, and TURN servers (none listed
// here) are used to proxy a connection when a peer is behind a restrictive
// firewall that prevents a direct connection.
var peerConnectionConfig = {
iceServers: [
{ urls: "stun:stun.l.google.com:19302" },
{ urls: "stun:stun1.l.google.com:19302" },
{ urls: "stun:stun2.l.google.com:19302" },
@menduz
menduz / NAT.ts
Created July 25, 2019 20:42
DetectNAT.ts
export enum NatType {
Other = 0,
SymmetricNAT = 1,
NoNAT = -1 // No NAT (Open Internet, Blocked, Symmetric UDP Firewall)
}
export async function detectNat(): Promise<NatType> {
const candidates = new Map<number, number[]>();
const pc = new RTCPeerConnection(peerConnectionConfig);
@menduz
menduz / cloudSettings
Last active August 6, 2019 13:27
.vscode
{"lastUpload":"2019-08-06T13:27:47.425Z","extensionVersion":"v3.4.1"}
{ws=explicit}
Document ::= WS* Forms EOF {ws=implicit}
Form ::= (&"(" List | &"[" Vector | &"{" Map| &"#{" Set| &"'" Quote| &"`" Backtick| &"@" Deref| &"~@" UnquoteSplicing| &"~" Unquote| &"#(" Lambda| !';' Symbol| &":" Keyword | Literal | Discard | Dispatch | Regex) {pin=1,fragment=true}
Forms ::= (Form WS* | Comment WS*)* {fragment=true}
List ::= OPEN_PAREN WS* Forms? WS* CLOSE_PAREN {pin=1,recoverUntil=CLOSE_PAREN}
Vector ::= OPEN_ARRAY WS* Forms? WS* CLOSE_ARRAY {pin=1,recoverUntil=CLOSE_ARRAY}
@menduz
menduz / mapUntil.dwl
Created November 5, 2019 18:18
mapUntil skipUntil in DataWeave
%dw 2.0
output application/json
fun mapUntil<T, V>(
iterableList: Array<T>,
predicate: (element: T, index: Number) -> ({value: V} | {done: Boolean}),
startIndex: Number = 0
) =
iterableList match {
case [] -> []