Skip to content

Instantly share code, notes, and snippets.

View kidGodzilla's full-sized avatar
👋
Working from home forever

James Futhey kidGodzilla

👋
Working from home forever
View GitHub Profile
@kidGodzilla
kidGodzilla / list_cookies.js
Created February 8, 2023 03:54
List cookies for current domain
var cookies = await cookieStore.getAll();
for (var i in cookies) {
var c = cookies[i];
if (c.domain === location.host || c.domain === location.host.replace('www.', '') || c.domain === location.host.replace('www', '')) {
console.log(c.name);
}
}
@kidGodzilla
kidGodzilla / country_code_to_name.js
Created June 26, 2022 16:16
Country code to name
function countryCodeToName(code) {
const data = {
"AD": "Andorra",
"AE": "United Arab Emirates",
"AF": "Afghanistan",
"AG": "Antigua and Barbuda",
"AI": "Anguilla",
"AL": "Albania",
"AM": "Armenia",
"AO": "Angola",
@kidGodzilla
kidGodzilla / region_code_lookup.js
Last active April 5, 2024 21:16
Region Code Lookup (Javascript)
// Raw data from: https://github.com/country-regions/country-region-data/blob/master/data.json
const data = JSON.parse('[{"countryName":"Afghanistan","countryShortCode":"AF","regions":[{"name":"Badakhshan","shortCode":"BDS"},{"name":"Badghis","shortCode":"BDG"},{"name":"Baghlan","shortCode":"BGL"},{"name":"Balkh","shortCode":"BAL"},{"name":"Bamyan","shortCode":"BAM"},{"name":"Daykundi","shortCode":"DAY"},{"name":"Farah","shortCode":"FRA"},{"name":"Faryab","shortCode":"FYB"},{"name":"Ghazni","shortCode":"GHA"},{"name":"Ghor","shortCode":"GHO"},{"name":"Helmand","shortCode":"HEL"},{"name":"Herat","shortCode":"HER"},{"name":"Jowzjan","shortCode":"JOW"},{"name":"Kabul","shortCode":"KAB"},{"name":"Kandahar","shortCode":"KAN"},{"name":"Kapisa","shortCode":"KAP"},{"name":"Khost","shortCode":"KHO"},{"name":"Kunar","shortCode":"KNR"},{"name":"Kunduz","shortCode":"KDZ"},{"name":"Laghman","shortCode":"LAG"},{"name":"Logar","shortCode":"LOW"},{"name":"Maidan Wardak","shortCode":"WAR"},{"name":"Nangarhar","shortCode":"NAN
@kidGodzilla
kidGodzilla / browser-icon.js
Created May 29, 2022 17:34
Infer Browser by input string & return an icon
/***
* Given a slightly messy set of input strings, attempt to match a well-known browser name, and return an icon
*
* Examples:
* inferBrowserIcon('safari') // exact match
* inferBrowserIcon('Safari Mobile 15.4') // matches "safari" from input string
* inferBrowserIcon('Firefox 99', 128) // pick a specific size (from sizes)
* inferBrowserIcon('unknownbrowser') // fallback if no match
* inferBrowserIcon(null, 128, 'brave') // You know the browser-logos repo key
*/
@kidGodzilla
kidGodzilla / geoip.js
Created February 22, 2022 20:08
Geo IP node / express
const requestIp = require('request-ip');
function getIp (req) {
let ip = null;
try {
//ip = (req.headers['x-forwarded-for'] || '').split(',').pop() ||
// req.connection.remoteAddress ||
// req.socket.remoteAddress ||
// req.connection.socket.remoteAddress;
@kidGodzilla
kidGodzilla / browserquest-load-external-spritesheet.js
Last active December 13, 2021 00:56
Demonstrates how to load an external sprite into the game client
// Register an external sprite, CORS headers required for images
game.loadSprite('skeletonplayer', {
"id": "skeletonplayer",
"width": 48,
"height": 48,
"filepath_1": "http://filestore.b-cdn.net/skeleton_1.png",
"filepath_2": "http://filestore.b-cdn.net/skeleton_2.png",
"filepath_3": "http://filestore.b-cdn.net/skeleton_3.png",
"animations": {
"atk_right": {
@kidGodzilla
kidGodzilla / raf.js
Created April 4, 2021 05:36
RAF Performance Check (Updated)
/**
* RAF Performance Checking
*
* Will enable and disable a flag on the window object
* When Javascript performance suffers, so that optional features
* Can be Disabled or delayed
*/
(function () {
var lastTimestamp = + new Date();
@kidGodzilla
kidGodzilla / ocdb-jquery.js
Last active March 22, 2021 04:45
jQuery Automatic Data Fill
/**
* Instant Data for your OCDB Project (requires jQuery)
*
* Just use magic classes or data attributes matching your string data and they'll be automatically filled
*
* Example:
*
* <h1 data-for-h1></h1> <!-- This gets populated with data from the key `h1` -->
*
*/
@kidGodzilla
kidGodzilla / changelog-life-embed.html
Last active March 16, 2021 05:59
Changelog.life Embed Code / Widget
/**
* Changelog.life Widget Embed (Beta)
* Replace 'changelogging' with your Changelog subdomain
* Then, place this script tag where you want your changelog dot to appear.
*/
See an example on Codepen: https://codepen.io/kidGodzilla/pen/gOLymGB
<script onload="_changeloglife_init('changelogging')" id="changelog_life" src="https://changelog.life/embed.js"></script>
@kidGodzilla
kidGodzilla / natural-transcription-mapping.js
Created February 25, 2021 04:07
Infer timestamps in real-time from non-timestamped transcription progress updates
function currentTs() {
return (+ new Date()) - window._startTime || 0;
}
function cutTranscription() {
clearTimeout(window._silenceTimr);
window._cutoffTimr = null;
let piece = (_recognizedSpeech[0] || '').substring(_transcriptionLength);
_transcriptionLength = (_recognizedSpeech[0] || '').length;