Skip to content

Instantly share code, notes, and snippets.

Jonathan M. Hollin PerpetualBeta

Block or report user

Report or block PerpetualBeta

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@PerpetualBeta
PerpetualBeta / karabiner.json
Created Jun 30, 2017
Karabiner Configuration File
View karabiner.json
{
"global": {
"check_for_updates_on_startup": true,
"show_in_menu_bar": false,
"show_profile_name_in_menu_bar": false
},
"profiles": [
{
"complex_modifications": {
"parameters": {
@PerpetualBeta
PerpetualBeta / daySensitiveCountdownTimer.js
Last active Jan 7, 2019
A real-time countdown timer for a web page. Will countdown to a target time, but only on days specified (eg: Mon-Fri).
View daySensitiveCountdownTimer.js
if (document.getElementById('countdownTimer')) {
pad = function(n, len) { // leading 0's
var s = n.toString();
return (new Array( (len - s.length + 1) ).join('0')) + s;
};
var timerRunning = setInterval(
function countDown() {
var now = new Date();
if ( (now.getDay() >= 1) && (now.getDay() <= 5) ) { // Monday to Friday only
@PerpetualBeta
PerpetualBeta / sw.js
Created Jun 11, 2017
Perpetual βeta Service Worker
View sw.js
'use strict';
const version = 'v1.17l::';
const staticCacheName = version + 'pwa';
const pagesCacheName = version + 'pages';
const imagesCacheName = version + 'assets';
const offlinePage = '/local-offline.html';
const weblogSlug = '/weblog/';
const cacheList = [
@PerpetualBeta
PerpetualBeta / network_status.sh
Last active Jan 7, 2017
Network status monitor for BitBar (https://getbitbar.com/)
View network_status.sh
#!/bin/bash
PING_TIMEOUT=2
PING_ADDRESS=8.8.8.8
PING_STATUS=false
EXTERNAL_IP_LABEL='IP Address (external): '
ACQUIRE_EXTERNAL_IP='/usr/local/bin/wget -qO- http://ipecho.net/plain'
EXTERNAL_IP_ADDRESS="$(eval "$ACQUIRE_EXTERNAL_IP")"
EXTERNAL_IP="${EXTERNAL_IP_LABEL}${EXTERNAL_IP_ADDRESS}"
VPN_STATUS=false
@PerpetualBeta
PerpetualBeta / srcset_factory.php
Created May 15, 2016
Factory for producing `srcset` image sets
View srcset_factory.php
#!/usr/bin/env php
<?php
/* Inspired by: https://github.com/MattWilcox/Adaptive-Images */
# BEGIN: Configuration
$config = array (
'breakpoints' => array(10, 80, 480, 768, 820, 1024, 1280, 1640),
'group_breakpoints' => TRUE, // if TRUE, will group the images into folders for each breakpoint
@PerpetualBeta
PerpetualBeta / loading.svg
Created May 15, 2016
Spinning activity indicator.
View loading.svg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@PerpetualBeta
PerpetualBeta / gist:6653157
Created Sep 21, 2013
Bash script header to elevate a script that needs to run as "root" if it is run without sudo. Background here: http://darkblue.sdf.org/weblog/post/got-root
View gist:6653157
# /bin/sh
if [ "$(whoami)" != 'root' ]; then
echo 'This script must be run as "root".'
echo 'Enter password to elevate privileges:'
SCRIPTPATH=$( cd $(dirname $0) ; pwd -P )
SELF=`basename $0`
sudo $SCRIPTPATH'/'$SELF
exit 1
fi
@PerpetualBeta
PerpetualBeta / gist:6845202
Created Oct 5, 2013
Bash script to recursively chmod the permissions of files or folders.
View gist:6845202
#!/bin/sh
# Traverse a directory starting at $path and change the permissions of all files
# or folders (determined with options) to $permissions
helpText=$"Usage: ${0##*/} -(f|d) permissions path";
permissions=$2;
path=$3;
if [[ $path ]]
@PerpetualBeta
PerpetualBeta / fixedTableHeader.js
Created Dec 9, 2012
On large HTML tables, in a height-constricted viewport, keeps the 'thead' visible while the table is scrolled.
View fixedTableHeader.js
(function($){
$.fn.extend({
fixedTableHeader: function(options) {
var defaults = { wrapper : null, offset : 0 };
options = $.extend(defaults, options);
return this.each(function() {
var o = options;
if (o.wrapper === null) { $(this).wrap('<div class="w" />'); o.wrapper = $('.w'); }
var scrollbarWidth = function(){var a=$('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>');$('body').append(a);var b=$('div',a).innerWidth();a.css('overflow-y','auto');var c=$('div',a).innerWidth();$(a).remove();return b-c;};
$(this).clone().appendTo(o.wrapper).wrap('<div class="b" />');
@PerpetualBeta
PerpetualBeta / gist:4009338
Created Nov 3, 2012
Adds a "fuzzy" search suggestion to the i18n_search plug-in for the GetSimple CMS
View gist:4009338
<?php
/**
* Fuzzy Search Suggestion Snippet for i18n_search plug-in for the GetSimple CMS
*
* Sometimes a search query produces no matches. This is occassionaly due to a
* miss-spelling in the query terms. This routine will attempt to offer a search
* suggestion to the user when a search results in no matches.
*
* For example:
You can’t perform that action at this time.