Skip to content

Instantly share code, notes, and snippets.

Avatar
🇹🇼
Working from Taipei

James Futhey kidGodzilla

🇹🇼
Working from Taipei
View GitHub Profile
@kidGodzilla
kidGodzilla / raf.js
Created Apr 4, 2021
RAF Performance Check (Updated)
View raf.js
/**
* 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 Mar 22, 2021
jQuery Automatic Data Fill
View ocdb-jquery.js
/**
* 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 Mar 16, 2021
Changelog.life Embed Code / Widget
View changelog-life-embed.html
/**
* 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 Feb 25, 2021
Infer timestamps in real-time from non-timestamped transcription progress updates
View natural-transcription-mapping.js
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;
@kidGodzilla
kidGodzilla / embed-widget.html
Last active Mar 11, 2021
Embed Indie.am Widget Example
View embed-widget.html
<!-- indie.am Player Embed Script -->
<script>
window._indieam_username = 'james'; // Change this to your own log ID, typically indie.am/<log_id>
document.querySelector('head').innerHTML += '<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/cleanslate"><style>#indieam_container{position:fixed!important;padding:18px 20px!important;bottom:0!important;left:0!important;z-index:999999999999!important}.indieam_circle{cursor:pointer!important}.indieam_circle>img{width:65px!important;height:65px!important;border-radius:50%!important;box-shadow:1px 2px 22px #00000044!important}#indieam_container>iframe{position:fixed!important;bottom:-88px!important;left:-27px!important;transform-origin:0 0!important;transform:scale(.8)!important;height:750px!important;width:500px!important;display:none!important}#indieam_container>iframe.indieam_in{display:block!important}#indieam_container,#indieam_container iframe { overflow-y: hidden !important }</style>';
function _indieam_toggl
@kidGodzilla
kidGodzilla / custom-embed.html
Created Feb 11, 2021
Create a custom Indie.am Blog Embed
View custom-embed.html
<!-- I've created an example you can peek at here: -->
<!-- https://jamesfuthey.com/audiolog -->
<script>
// First, set your Log ID (typically indie.am/<log_id>
window.logId = 'james';
// Now, we fetch data, and print our logs on our current page
fetchData(function () {
// This will output a new array of entries at window.sounds
View freemail-express.js
/**
* @api {get} /freemail/:email isFreeMail
* @apiDescription Tests a domain to see if it's a free email or disposible email address
* @apiGroup Utility
* @apiExample {REST} Example usage:
GET https://api.meetingroom365.com/freemail/foo@gmail.com
* @apiParam {String} email The email address you wish to check
* @apiVersion 0.5.0
* @apiSuccessExample {json} Success
*HTTP/1.1 200 OK
@kidGodzilla
kidGodzilla / dokku_on_digital_ocean.md
Created Oct 25, 2020 — forked from henrik/dokku_on_digital_ocean.md
Notes from running Dokku on Digital Ocean.
View dokku_on_digital_ocean.md

My notes for Dokku on Digital Ocean.

These may be a bit outdated: Since I originally wrote them, I've reinstalled on a newer Dokku and may not have updated every section below.

Commands

Install dokku-cli (gem install dokku-cli) for a more Heroku-like CLI experience (dokku config:set FOO=bar).

# List/run commands when not on Dokku server (assuming a "henroku" ~/.ssh/config alias)
ssh henroku dokku
@kidGodzilla
kidGodzilla / random-name.js
Created Nov 12, 2018
Generate a random name in adj-noun format as a placeholder (aquatic ninja, calculating banjo, etc.)
View random-name.js
function randomName () {
var adjectives = "aback,abaft,abandoned,abashed,aberrant,abhorrent,abiding,abject,ablaze,able,abnormal,aboard,aboriginal,abortive,abounding,abrasive,abrupt,absent,absorbed,absorbing,abstracted,absurd,abundant,abusive,acceptable,accessible,accidental,accurate,acid,acidic,acoustic,acrid,actually,adHoc,adamant,adaptable,addicted,adhesive,adjoining,adorable,adventurous,afraid,aggressive,agonizing,agreeable,ahead,ajar,alcoholic,alert,alike,alive,alleged,alluring,aloof,amazing,ambiguous,ambitious,amuck,amused,amusing,ancient,angry,animated,annoyed,annoying,anxious,apathetic,aquatic,aromatic,arrogant,ashamed,aspiring,assorted,astonishing,attractive,auspicious,automatic,available,average,awake,aware,awesome,awful,axiomatic,bad,barbarous,bashful,bawdy,beautiful,befitting,belligerent,beneficial,bent,berserk,best,better,bewildered,big,billowy,bite-Sized,bitter,bizarre,black,black-And-White,bloody,blue,blue-Eyed,blushing,boiling,boorish,bored,boring,bouncy,boundless,brainy,brash,brave,brawny,
@kidGodzilla
kidGodzilla / hide-idle-cursor.js
Created Nov 12, 2018
Hide Idle Cursor until mousemove after 5s delay
View hide-idle-cursor.js
$(function () {
$(document).mousemove(function () {
$('html, body').css({ cursor: 'default' });
clearTimeout(window.ttimer);
window.ttimer = setTimeout(function () {
$('html, body').css({ cursor: 'none' });
}, 5000)
});
});