Skip to content

Instantly share code, notes, and snippets.

View max-mapper's full-sized avatar
🔰
✌( ͡ᵔ ͜ʖ ͡ᵔ )✌

Max max-mapper

🔰
✌( ͡ᵔ ͜ʖ ͡ᵔ )✌
View GitHub Profile
@max-mapper
max-mapper / README.md
Last active September 26, 2023 20:51
Save Felt.com rendered map features to GeoJSON feature collection

Save bookmarklet.js as a bookmarklet and on any Felt map the currently rendered features will be saved as a file features.geojson (note: some features do not render at low zoom levels)

@max-mapper
max-mapper / analyse.sh
Last active May 17, 2023 06:07
birdnet laptop mode
#!/bin/bash
TIMEFORMAT='Elapsed Time: %0R seconds.'
time {
export YEAR=`date '+%Y'`
export MONTH=`date '+%m'`
export DAY=`date '+%d'`
export WEEK=`date '+%U'`
# kill `cat /home/max/tweet/recording.pid`
for f in `ls /home/max/tweet/samples/${YEAR}/${MONTH}/${DAY}/*.wav`
do
@max-mapper
max-mapper / index.html
Last active September 30, 2022 22:05
la county impervious surface assessor parcel map
<html>
<head>
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui"
/>
<link
rel="stylesheet"
href="https://unpkg.com/leaflet@1.8.0/dist/leaflet.css"
crossorigin=""
@max-mapper
max-mapper / readme.md
Created September 1, 2021 00:07
Metro Micro API (RideCo API)

i downloaded the metro micro APK, extracted it, and then unminified the ionic JS source code, then reverse engineered these calls using my own username/password

# get a token
curl -H "Accept: application/json; version=rccmtp-2.18.0" -X POST https://api.metro-micro.net/api-token-auth/ -F "username=youremail" -F "password=yourpass"

# get geocode results
curl -H "Accept: application/json; version=rccmtp-2.18.0" -X GET "https://api.metro-micro.net/rest/geo/places/autocomplete/?value=yourtexttogeocode&session_token=$MICRO" -H "Authorization: Token $MICRO"

# get a trip/ride id
@max-mapper
max-mapper / readme.md
Created February 19, 2021 17:17
Bitcoin Regtest Local Server Instructions
  1. Grab the latest bitcoin-core .tar.gz release and unpack it https://bitcoin.org/en/download
  2. Add the bin folder to your path
  3. Start the regtest server bitcoind -regtest
  4. Create a test wallet bitcoin-cli -regtest createwallet test
  5. Get a bcrt address for your wallet bitcoin-cli -regtest getnewaddress
  6. 'Mine' some regtest btc bitcoin-cli generatetoaddress 10 <address-from-previous-command>
  7. Make sure it worked `bitcoin-cli getblockcount
@max-mapper
max-mapper / index.js
Last active May 17, 2023 06:09
JavaScript Base-40 Class
// based on https://github.com/blockstack/blockstack-core/blob/ff86948ed2f720824cd5e6ece6a63aaaf2bf81ff/blockstack/lib/b40.py
class B40 {
constructor() {
this.B16_CHARS = '0123456789abcdef'
this.B40_CHARS = '0123456789abcdefghijklmnopqrstuvwxyz-_.+'
}
divmod(x, y) {
const div = x / y
const rem = x % y
@max-mapper
max-mapper / index.js
Created July 11, 2019 20:01
jtalk cli
#!/home/max/.nvm/versions/node/v0.12.18/bin/node
var fs = require('fs');
var Speaker = require('speaker'); // version 0.3.0
var OpenJTalk = require('node-openjtalk').OpenJTalk;
console.log(process.argv[2])
// pre-included HTS voice file
var fn_voice = OpenJTalk.voices.mei_normal;
// instantiate OpenJTalk with an HTS voice
var open_jtalk = new OpenJTalk({voice: fn_voice});
// synthesize a voice synchronously
@max-mapper
max-mapper / difflint
Last active May 30, 2021 03:26
Run eslint + prettier on only files that you've staged/commited on the current branch
#!/usr/bin/env bash
# chmod +x this and save in your PATH. Assumes `eslint` + `prettier` are in your `devDependencies`
BRANCH=$(git branch | grep \* | cut -d ' ' -f2)
BASE=$(git merge-base master $BRANCH) # change master to whatever your trunk branch is
COMMITED=$(git diff --name-only $BASE $BRANCH)
STAGED=$(git diff --staged --name-only)
FILES=$(printf "$COMMITED\n$STAGED" | sort | uniq)
LINT="npx eslint --ignore-path=.prettierignore $FILES"
PRETTIER="npx prettier --list-different $FILES"
@max-mapper
max-mapper / index.js
Created June 3, 2019 21:15
bip39 guesser
const bip39 = require('bip39')
function twelveWords (missing) {
return `fold supreme boat absurd mango menu number brick ${missing} sun gold stone`
}
function loadWords () {
return `abandon
ability
able
@max-mapper
max-mapper / index.js
Created May 24, 2019 20:51
ed25519 private and public keys to pem
import { composePrivateKey, composePublicKey } from 'crypto-key-composer'
function privateToPem(privateKey) {
var decomposed = {
format: 'pkcs8-pem',
keyAlgorithm: { id: 'ed25519' },
keyData: {
seed: privateKey,
},
}