Skip to content

Instantly share code, notes, and snippets.

nevercast /
Created Dec 28, 2021
Neural Network visualisations
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 /
Last active Dec 19, 2021
Simple MicroPython ESP32 RMT NeoPixel / WS2812B driver.
# 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 /
Created Oct 11, 2020
Simple DHT11 read and publish to AIO
import machine, network, time, dht, mqtt
# mqtt:
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 / 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 */
var $jscomp=$jscomp||{};$jscomp.scope={},$jscomp.owns=function(t,e){return,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.getGlobal(this),$jscomp.polyfill=function(t,e,n,r){if(e){for(n=$,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 /
Created Aug 10, 2020
Check Python file for side effects on import
#!/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 / 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 / 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);
.map([{ route: "foo", moduleId: "features/foo/foo", name: "foo", nav: true, title: "foo" }])

Google Speech To Text API

Base URL:
It accepts POST requests with voice file encoded in FLAC format, and query parameters for control.

Query Parameters

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

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)