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 / web-page-envelope.php
Created Oct 25, 2012
PHP wrapper for servers where mod_expires and/or mod_deflate are not available. Files routed through this wrapper will be served gzip-compressed, with an ETag and with a "far future expires" header.
View web-page-envelope.php
* Page delivery wrapper for servers where mod_expires and/or mod_deflate are
* not available.
* Route page requests through this wrapper (via mod_rewrite for example) and
* they will be served with far future expires, etags and will be gzip
* compressed.
PerpetualBeta / gist:3964029
Created Oct 27, 2012
Rename all files in a directory to their web-safe equivalents.
View gist:3964029
perl -e 'foreach $file (glob "*") { $dest_file = $file; $dest_file =~ s/ /_/sg; $dest_file =~ s/[^a-zA-Z_\-.0-9]//sg; rename $file, lc($dest_file) }'
PerpetualBeta / tinyImgCycle.js
Created Oct 27, 2012
Cycle through a series of images. Fade transition between slides. Loops back to first slide at end of collection.
View tinyImgCycle.js
// Requires the jQuery library -
// Demo:
function slideshow(){var a=$("#animation");a.length==0&&(a=$("#animation img:last"));var$("#animation img:first");a.addClass("last-active");b.css({opacity:0}).addClass("active").animate({opacity:1},1E3,function(){a.removeClass("active last-active")})}$(function(){setInterval("slideshow()",5E3)});
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 / ticker.js
Created Oct 27, 2012
Compact, vertical, infinite ticker/scroller. Pauses on "mouseenter" event.
View ticker.js
(function ($) {
$.fn.ticker = function (options) {
var defaults = {
speed: 1000,
pause: 3000,
p: false
options = $.extend(defaults, options);
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
* 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:
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
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 / 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:
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`
exit 1
PerpetualBeta / gist:6845202
Created Oct 5, 2013
Bash script to recursively chmod the permissions of files or folders.
View gist:6845202
# 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";
if [[ $path ]]

Keybase proof

I hereby claim:

  • I am PerpetualBeta on github.
  • I am jhollin ( on keybase.
  • I have a public key whose fingerprint is 9547 E5D6 4590 94C5 D627 F8BC 1616 3E98 79D4 DF03

To claim this, I am signing this object:

You can’t perform that action at this time.