Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

View PaulKinlan's full-sized avatar

Paul Kinlan PaulKinlan

View GitHub Profile
@PaulKinlan
PaulKinlan / request-body-generator.json
Last active April 17, 2024 13:15
request-body-generator.json
{
"title": "Request Body Builder",
"description": "Builds the POST body for a request",
"version": "0.0.1",
"nodes": [
{
"type": "output",
"id": "output",
"configuration": {
"schema": {
@PaulKinlan
PaulKinlan / generate.py
Created July 11, 2023 13:33
Parse BCD data to get browser release data
import json
from datetime import datetime
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# Function to convert a string to a datetime object
def convert_string_to_date(date_string):
return datetime.strptime(date_string, "%Y-%m-%d")
did:3:kjzl6cwe1jw149x0rcxc5b3ltxrgh7nwt4pab0eg04gqvztfbr52wizt8iwkk1b
@PaulKinlan
PaulKinlan / pico_rgb_game.py
Last active February 22, 2021 10:15
pico_rgb_game.py
import picokeypad as keypad
import random
import time
debug = 0
keypad.init()
keypad.set_brightness(1.0)
guess = random.randint(0, 15)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
@PaulKinlan
PaulKinlan / console.help.js
Last active September 13, 2017 20:48
console.help
console.help = function(arg) {
if(arg === null || arg === undefined) return console.log(arg);
if(typeof(arg) === 'string') return console.log(arg);
if('__help' in arg) { console.log(arg.__help); }
if('__help' in arg.constructor) { console.log(arg.constructor.__help); }
console.log(arg);
}
.bind(console);
@PaulKinlan
PaulKinlan / index.js
Created July 31, 2017 11:05
requirebin sketch
// Welcome! require() some modules from npm (like you were using browserify)
// and then hit Run Code to run your code on the right side.
// Modules get downloaded from browserify-cdn and bundled in your browser.
require('xmldom-alpha')
@PaulKinlan
PaulKinlan / range.js
Last active August 2, 2017 23:30
range.js
const range = function* (stop = 0, step = 1) {
const shouldStop = (n)=>stop >= 0 ? (n < stop) : (n > stop);
const interval = (n)=>stop >= 0 ? n + step : n - step;
let itr = function*() {
let i = 0;
while (shouldStop(i)) {
yield i;
i = interval(i);
}
};
@PaulKinlan
PaulKinlan / range.js
Created July 11, 2017 20:13
range.js
const range = (stop) => { stop = stop || 0; const shouldStop = (n) => stop >= 0 ? (n < stop) : (n > stop); const interval = (n) => stop >= 0 ? n + 1 : n - 1; let itr = {}; itr[Symbol.iterator] = function* () { let i = 0; while(shouldStop(i)) { yield i; i = interval(i);}}; return itr; };
for(let i of range(100))
console.log(i)
for(let i of range(-100))
console.log(i)
@PaulKinlan
PaulKinlan / applyTemplate.js
Last active September 12, 2018 08:02
Simple Templating
const applyTemplate = (templateElement, data) => {
const element = templateElement.content.cloneNode(true);
const treeWalker = document.createTreeWalker(element, NodeFilter.SHOW_ELEMENT, () => NodeFilter.FILTER_ACCEPT);
while(treeWalker.nextNode()) {
const node = treeWalker.currentNode;
for(let bindAttr in node.dataset) {
let isBindableAttr = (bindAttr.indexOf('bind_') == 0) ? true : false;
if(isBindableAttr) {
let dataKeyString = node.dataset[bindAttr];