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 / 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 / pixels.py
Last active Jun 21, 2022
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 / 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);
}
@nevercast
nevercast / gist:3d2c8d64b707bc05b0ff
Created Nov 15, 2014
Subscribe to Document up event.
View gist:3d2c8d64b707bc05b0ff
didInsertElement: function() {
Em.$(document)
.on('mouseup.fndtn.slider touchend.fndtn.slider pointerup.fndtn.slider', function(e) {
console.log('HAVE CAKE');
});
},
View gist:906e974f2a2de59b451c
[19:59:32] [Server thread/INFO]: NeverCast issued server command: /mcrank
[19:59:32] [pool-3-thread-81/WARN]: Exception in thread "pool-3-thread-81"
[19:59:32] [pool-3-thread-81/WARN]: org.apache.commons.lang.UnhandledException: Plugin mcMMO v1.5.01-SNAPSHOT-b3632 generated an exception while executing task 2653
at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:56)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at java.util.EnumMap.typeCheck(Unknown Source)
at java.util.EnumMap.put(Unknown Source)