Skip to content

Instantly share code, notes, and snippets.

@nevercast
nevercast / push.js
Created January 23, 2024 20:39
Push code to Screeps
const fs = require('fs');
const path = require('path');
const http = require('http');
const https = require('https');
const util = require('util');
const process = require('process');
const os = require('os');
const TEXT_EXTENSIONS = ['.js', '.json'];
@nevercast
nevercast / main.cpp
Created September 10, 2020 00:28
Several tests to run on an ESP32 for crystal, PSRAM and deepsleep stuff.
// 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 / pixels.py
Last active November 20, 2022 17:34
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
nevercast / necto-viz.py
Created December 28, 2021 05:26
Neural Network visualisations
# 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 / main.py
Created October 11, 2020 23:46
Simple DHT11 read and publish to AIO
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 / dump-css.js
Created August 13, 2020 23:37
Dumps the Computed CSS stylesheet of an element and it's children for diff use.
/* 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 August 10, 2020 00:27
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
nevercast / babel.js
Created June 7, 2018 05:12
Babel Polyfill loader for Azure Functions "only one instance of babel-polyfill is allowed"
/**
* 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 January 25, 2016 19:11
Creating routes from aurelia features
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);
}

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