Skip to content

Instantly share code, notes, and snippets.

View tangert's full-sized avatar
🐢
turtles all the way down

Tyler Angert tangert

🐢
turtles all the way down
View GitHub Profile
@tangert
tangert / SVG.sol
Last active April 22, 2024 23:32
SVG Solidity Library
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.0;
import "./Utils.sol";
// Core SVG utilitiy library which helps us construct
// onchain SVG's with a simple, web-like API.
library svg {
/* MAIN ELEMENTS */
function g(string memory _props, string memory _children)
internal
@tangert
tangert / Renderer.sol
Last active January 13, 2022 19:35
Solidity SVG + Hardhat Hot Reloading Server
pragma solidity ^0.8.0;
import "hardhat/console.sol";
import "@openzeppelin/contracts/utils/Strings.sol";
contract Renderer {
constructor() {
console.log("Deploying render test");
}
@tangert
tangert / getAddressChars.sol
Created November 23, 2021 20:56
split a solidity address into its individual characters.
function getAddressChars(address _address)
private
pure
returns (bytes memory)
{
bytes memory hexSymbols = "0123456789abcdef";
uint256 value = uint256(uint160(_address));
uint256 temp = value;
uint256 length = 0;
@tangert
tangert / smolvid.sh
Last active July 8, 2021 14:39
Just makes videos smol. sensible defaults for ffmpeg
# USAGE:
# smolvid yourmovie.mov
# INSTALL:
# add this to your .bashrc or .zshrc or wherever:
# alias smolvid="bash path/to/smolvid.sh "$1""
# SCRIPT:
# input file
INPUT="$1"
@tangert
tangert / .vimrc
Created February 13, 2020 20:57
my vim settings
syntax on
filetype plugin indent on
" show existing tab with 4 spaces width
set tabstop=4
" when indenting with '>', use 4 spaces width
set shiftwidth=4
" On pressing tab, insert 4 spaces
set expandtab
@tangert
tangert / SketchSystems.spec
Last active November 8, 2019 18:24
Git side bar
Git side bar
Configuration
Disconnected
Connect to Github -> Connected
Connected
Delete repo -> Deleted
Deleted
Files
No changed files
modify -> Changed
@tangert
tangert / SketchSystems.spec
Last active September 21, 2019 23:00
Primary Screens*
Primary Screens*
Main*
Home*
select group -> Group
select profile -> Profile
Search
Recent activity
Top new posts
Discover
Recent social*
@tangert
tangert / lstm-trial-2.json
Created August 13, 2019 18:07
lstm-trial-2
{"format": "layers-model", "generatedBy": "keras v2.2.4", "convertedBy": "TensorFlow.js Converter v1.2.6", "modelTopology": {"keras_version": "2.2.4", "backend": "tensorflow", "model_config": {"class_name": "Sequential", "config": {"name": "sequential_18", "layers": [{"class_name": "LSTM", "config": {"name": "lstm_17", "trainable": true, "batch_input_shape": [null, 32, 1], "dtype": "float32", "return_sequences": false, "return_state": false, "go_backwards": false, "stateful": false, "unroll": false, "units": 128, "activation": "tanh", "recurrent_activation": "hard_sigmoid", "use_bias": true, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "recurrent_initializer": {"class_name": "Orthogonal", "config": {"gain": 1.0, "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "unit_forget_bias": true, "kernel_regularizer": null, "recurrent_regularizer": null, "bias_regularizer": null, "activity_regulari
{"class_name": "Sequential", "config": {"name": "sequential_2", "layers": [{"class_name": "LSTM", "config": {"name": "lstm_2", "trainable": true, "batch_input_shape": [null, 32, 1], "dtype": "float32", "return_sequences": false, "return_state": false, "go_backwards": false, "stateful": false, "unroll": false, "units": 128, "activation": "tanh", "recurrent_activation": "hard_sigmoid", "use_bias": true, "kernel_initializer": {"class_name": "VarianceScaling", "config": {"scale": 1.0, "mode": "fan_avg", "distribution": "uniform", "seed": null}}, "recurrent_initializer": {"class_name": "Orthogonal", "config": {"gain": 1.0, "seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "unit_forget_bias": true, "kernel_regularizer": null, "recurrent_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "recurrent_constraint": null, "bias_constraint": null, "dropout": 0.0, "recurrent_dropout": 0.0, "implementation": 1}}, {"class_name": "Dropout", "config":
@tangert
tangert / gensim_word2vec_procrustes_align.py
Last active June 26, 2023 20:01 — forked from quadrismegistus/gensim_word2vec_procrustes_align.py
Function to align any number of word2vec models using Procrustes matrix alignment.
# Code originally ported from HistWords <https://github.com/williamleif/histwords> by William Hamilton <wleif@stanford.edu>.
def align_gensim_models(models, words=None):
"""
Returns the aligned/intersected models from a list of gensim word2vec models.
Generalized from original two-way intersection as seen above.
Also updated to work with the most recent version of gensim
Requires reduce from functools