Skip to content

Instantly share code, notes, and snippets.

View thornbill's full-sized avatar
🎯
Focusing

Bill Thornton thornbill

🎯
Focusing
View GitHub Profile
@thornbill
thornbill / inject_jquery.js
Created May 8, 2014 18:00
Bookmarklet to Inject jQuery
javascript:(function(d){var%20s=d.createElement('script');s.type='text/javascript';s.async=true;s.src='//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js';d.head.appendChild(s);})(document);
@thornbill
thornbill / remove_rand_style.js
Created September 11, 2014 20:01
Remove a random rule from a random stylesheet
(function(document) {
function getRandomInt(max) {
return Math.floor(Math.random() * max);
}
var sheets = document.styleSheets,
sheet = sheets[getRandomInt(sheets.length-1)],
rules = sheet.cssRules,
rule = getRandomInt(rules.length-1);
@thornbill
thornbill / check_jquery_version.js
Created September 16, 2014 20:46
Bookmarklet to Check the Version of jQuery
javascript:(function(w){alert((w.jQuery&&w.jQuery.fn.jquery)||'none');})(window);
@thornbill
thornbill / find_tables.js
Created November 12, 2014 17:33
Bookmarklet that highlights any table elements on a page
javascript:(function(d){function h(e){if(typeof e!=='object')return;function o(e){var _x=0,_y=0;while(e&&!isNaN(e.offsetLeft)&&!isNaN(e.offsetTop)){_x+=e.offsetLeft;_y+=e.offsetTop;e=e.offsetParent;}return {top:_y,left:_x};}var p=o(e);c(p.left,p.top,e.clientWidth,e.clientHeight);}function c(x,y,w,h){var e=d.createElement('div');e.style.zIndex='999999';e.style.background='rgba(255,0,0,0.6)';e.style.position='absolute';e.style.left=x+'px';e.style.top=y+'px';e.style.width=w+'px';e.style.height=h+'px';d.body.appendChild(e);}var t=d.getElementsByTagName('table'),i,l=t.length;for(i=0;i<l;i++){h(t[i]);console.log(t[i]);}})(document);
@thornbill
thornbill / to_data_uri.sh
Last active August 29, 2015 14:14
Convert a jpg, png or gif to a data-uri
#!/bin/bash
for file;
do
echo -e "\033[0;32m>> $file\033[0m"
if [ -e $file ]; then
_ext=${file##*.}
if [[ "gif png jpg jpeg" =~ $_ext ]]; then
if [ $_ext == "jpg" ]; then _ext="jpeg"; fi
php -r "echo(\"data:image/$_ext;base64,\".base64_encode(file_get_contents(\"$file\")).\"\\n\");"
else
% helper predicates
square_to_subgrid(Row, Col, Subgrid) :-
floor((Row - 1)/3, RowBase),
floor((Col - 1)/3, ColBase),
Subgrid is 3 * RowBase + ColBase + 1.
one_to_nine(X) :-
member( X, [1, 2, 3, 4, 5, 6, 7, 8, 9] ).
next_square( Puzzle, Row, Col ) :-
one_to_nine(Row),
one_to_nine(Col),
@thornbill
thornbill / nvm_update.sh
Created February 10, 2016 21:29
Bash function to update installed node.js versions in nvm
nvm_update() {
for NVM_UPDATE_VER in 0.10 0.12 4 5
do
# Install the latest versions of node only if they are already installed
nvm which $NVM_UPDATE_VER &>/dev/null && nvm install $NVM_UPDATE_VER
done
# Switch back to the default version of node
echo "Switching to default version of node..."
nvm use default
}

Keybase proof

I hereby claim:

  • I am thornbill on github.
  • I am thornbill (https://keybase.io/thornbill) on keybase.
  • I have a public key whose fingerprint is 1C10 E633 38B3 11CE DB7E FBD0 A7B1 5071 CEF5 AB38

To claim this, I am signing this object:

@thornbill
thornbill / .gitlab-ci.yml
Created November 22, 2016 21:29
Example Node GitLab CI Yamlfile
# Official framework image. Look for the different tagged releases at:
# https://hub.docker.com/r/library/node/tags/
image: node:6
before_script:
- npm install
# This folder is cached between builds
# http://docs.gitlab.com/ce/ci/yaml/README.html#cache
cache:
@thornbill
thornbill / Caddyfile
Last active January 26, 2021 19:07
Caddyfile for Jellyfin
jellyfin.example.com {
basicauth username "password" {
# web interface
/web/
# sensitive api endpoints
/system/
/users/
# valid api prefixes
/jellyfin/
/emby/