Skip to content

Instantly share code, notes, and snippets.

@nevercast
nevercast / necto-viz.py
Created Dec 28, 2021
Neural Network visualisations
View necto-viz.py
# https://stackoverflow.com/questions/52468956/how-do-i-visualize-a-net-in-pytorch
import os
import numpy as np
import torch
from torch.distributions import Categorical
import torch.nn.functional as F
from rlgym.utils.gamestates import GameState, PlayerData, PhysicsObject
from training.obs import NectoObsBuilder
@nevercast
nevercast / pixels.py
Last active Dec 19, 2021
Simple MicroPython ESP32 RMT NeoPixel / WS2812B driver.
View pixels.py
# Copyright public licence and also I don't care.
# 2020 Josh "NeverCast" Lloyd.
from micropython import const
from esp32 import RMT
# The peripheral clock is 80MHz or 12.5 nanoseconds per clock.
# The smallest precision of timing requried for neopixels is
# 0.35us, but I've decided to go with 0.05 microseconds or
# 50 nanoseconds. 50 nanoseconds = 12.5 * 4 clocks.
# By dividing the 80MHz clock by 4 we get a clock every 50 nanoseconds.
@nevercast
nevercast / main.py
Created Oct 11, 2020
Simple DHT11 read and publish to AIO
View main.py
import machine, network, time, dht, mqtt
# mqtt: https://github.com/micropython/micropython-lib/blob/master/umqtt.simple/umqtt/simple.py
## SECRETS
WIFI_NAME='<WIFI SSID>'
WIFI_PASS='<WIFI PASSWORD>'
MQTT_HOST='io.adafruit.com'
MQTT_PORT=1883
MQTT_USER='<ADAFRUIT USERNAME>'
MQTT_PASS='<ADAFRUIT IO KEY>'
@nevercast
nevercast / main.cpp
Created Sep 10, 2020
Several tests to run on an ESP32 for crystal, PSRAM and deepsleep stuff.
View main.cpp
// If you're building this code from Arduino IDE, you wont need to import Arduino.h
#include "Arduino.h"
#include "soc/rtc.h"
#define uS_TO_S_FACTOR 1000000 /* Conversion factor for micro seconds to seconds */
#define TIME_TO_SLEEP ((60 * 60) * 1) /* Time ESP32 will go to sleep (in seconds) */
// Multiple ways to run this code to produce different reports
#define MODE_SLEEP 1
#define MODE_DIAG 2
@nevercast
nevercast / dump-css.js
Created Aug 13, 2020
Dumps the Computed CSS stylesheet of an element and it's children for diff use.
View dump-css.js
/* Simmer.js https://github.com/gmmorris/simmerjs/ */
var $jscomp=$jscomp||{};$jscomp.scope={},$jscomp.owns=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},$jscomp.ASSUME_ES5=!1,$jscomp.ASSUME_NO_NATIVE_MAP=!1,$jscomp.ASSUME_NO_NATIVE_SET=!1,$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(t,e,n){t!=Array.prototype&&t!=Object.prototype&&(t[e]=n.value)},$jscomp.getGlobal=function(t){return"undefined"!=typeof window&&window===t?t:"undefined"!=typeof global&&null!=global?global:t},$jscomp.global=$jscomp.getGlobal(this),$jscomp.polyfill=function(t,e,n,r){if(e){for(n=$jscomp.global,t=t.split("."),r=0;r<t.length-1;r++){var o=t[r];o in n||(n[o]={}),n=n[o]}(e=e(r=n[t=t[t.length-1]]))!=r&&null!=e&&$jscomp.defineProperty(n,t,{configurable:!0,writable:!0,value:e})}},$jscomp.polyfill("Object.assign",function(t){return t||function(t,e){for(var n=1;n<arguments.length;n++){var r=arguments[n];if(r)for(var o in r)$jscomp.owns(r,o)&&(t[o]=r[o])
@nevercast
nevercast / sideeffect.py
Created Aug 10, 2020
Check Python file for side effects on import
View sideeffect.py
#!/usr/bin/env python
#### MIT Licence
# Copyright 2020 Josh "nevercast" Lloyd
# This notice must remain intact for all copies or substantial portions of the Software
####
# First release: 2020-08-10
from __future__ import print_function
import ast
import sys
@nevercast
nevercast / babel.js
Created Jun 7, 2018
Babel Polyfill loader for Azure Functions "only one instance of babel-polyfill is allowed"
View babel.js
/**
* Azure Functions can sometimes share a global scope to save memory (More than one function runs in the same interpreter).
* When this occurs, babel will try to load twice. This is bad.
*
* This file acts as a mediator to prevent it loading twice and always logs the result for my interest.
* Inside my webpack.config.js, instead of 'babel-polyfill', I have 'src/polyfill/babel' (this file).
*/
if (global._babelPolyfill) {
/* Polyfill is already loaded */
if (console && console.warn) {
@nevercast
nevercast / index.js
Created Jan 25, 2016
Creating routes from aurelia features
View index.js
import {AppRouter, RouterConfiguration} from "aurelia-router";
export function configure(config) {
const router = config.container.get(AppRouter);
const routerConfig = config.container.get(RouterConfiguration);
routerConfig
.map([{ route: "foo", moduleId: "features/foo/foo", name: "foo", nav: true, title: "foo" }])
.exportToRouter(router);
}
View google_speech2text.md

Google Speech To Text API

Base URL: https://www.google.com/speech-api/v1/recognize
It accepts POST requests with voice file encoded in FLAC format, and query parameters for control.

Query Parameters

client
The client's name you're connecting from. For spoofing purposes, let's use chromium

lang
Speech language, for example, ar-QA for Qatari Arabic, or en-US for U.S. English

View spoutcraft.log.0
[10:09:14] [INFO] Failed to poll device: Failed to poll device (8007000c)
[10:09:14] [INFO] Failed to poll device: Failed to poll device (8007000c)
[10:09:14] [INFO] Failed to poll device: Failed to poll device (8007000c)
... Repeated for about 1000 lines
[10:09:14] [INFO] Failed to poll device: Failed to poll device (8007000c)