Skip to content

Instantly share code, notes, and snippets.


Ben Keith benlk

View GitHub Profile
benlk / regex
Last active Aug 29, 2015
Why doesn't this javascript regex work?
View regex
var quoteHTML = "34. If you’re leaving scorch-marks, you need a bigger gun. ";
quoteHTML.replace(/(^\d+[.,:;](\ |\d+\ ))/m, '<span class="dnumber">$1<\/span>');
// returns '34. If you’re leaving scorch-marks, you need a bigger gun. '
// goal is to:
// - match 1. 22. 33.44 44:55 5:66 at the start of a line, followed by a space
// - wrap it in <span class="dnumber"></span>
// ideal output '<span class="dnumber">34. </span>If you’re leaving scorch-marks, you need a bigger gun. '
benlk / 404.php
Created Oct 30, 2014
An improved 404 page
View 404.php
* I see lots of cute 404 pages with funny messages.
* Most 404 pages don't tell you what link you used to get to the 404,
* and they don't really give you options on how to get to where you want to go
* other than "Click here to return to our front page."
* That approach is as bad as
* Sadly, this page doesn't do anything fancy like list other articles.
benlk /
Last active Aug 29, 2015
Accessing multisite WordPress from a database dump on Vagrant.


  • A WordPress multisite database loaded on your Vagrant box, accessible at with the IP address (See your Vagrantfile and /etc/hosts)
  • WordPress already installed and configured on your Vagrant box
  • WP-CLI installed on your Vagrant box
  • The main site of your network is and the project site is
  • If you do not possess admin credentials for the network, we will create a new admin, whose username is admin and whose password is password.
  • If you want to be able to undo this, run vagrant plugin install vagrant-vbox-snapshot from the Vagrant host. To take a snapshot, run vagrant snapshot take default [optional-name-for-snapshot]. Take one before starting, and then at the start of every major section here.

Getting multisite set up:

benlk / 2014-01.csv
Last active Aug 29, 2015
Weather data from CMH during January 2014
View 2014-01.csv
We can make this file beautiful and searchable if this error is corrected: It looks like row 8 should actually have 19 columns, instead of 2. in line 7.
GHCND:USW00014821,COLUMBUS PORT COLUMBUS INTERNATIONAL AIRPORT OH US,20140113,58,0,0,100,44,41,190,180,76,107,-9999,1,-9999,-9999,-9999,-9999
GHCND:USW00014821,COLUMBUS PORT COLUMBUS INTERNATIONAL AIRPORT OH US,20140114,3,0,0,83,17,37,290,290,116,143,-9999,-9999,-9999,-9999,-9999,-9999
GHCND:USW00014821,COLUMBUS PORT COLUMBUS INTERNATIONAL AIRPORT OH US,20140115,0,0,0,17,-49,47,240,240,89,107,-9999,-9999,-9999,-9999,1,-9999
GHCND:USW00014821,COLUMBUS PORT COLUMBUS INTERNATIONAL AIRPORT OH US,20140116,10,0,10,-5,-60,46,190,170,89,107,-9999,1,-9999,-9999,-9999,-9999
GHCND:USW00014821,COLUMBUS PORT COLUMBUS INTERNATIONAL AIRPORT OH US,20140117,23,0,23,17,-105,46,270,270,116,157,-9999,-9999,-9999,-9999,-9999,-9999
GHCND:USW00014821,COLUMBUS PORT COLUMBUS INTERNATIONAL AIRPORT OH US,20140118,23,30,38,-49,-116,40,230,240,67,89,-9999,-9999,-9999,-9999,-9999,-9999
View gist:724decb15b9958dc787f
<div id="main" class="container">
<div class="12u">
<p>The Open Source Club at the Ohio State University is a <a href="">registered student organization</a> composed of members from all around campus and out into the community who share a common enthusiasm for <a href="">free, open source software</a>. Our focus is on building a strong community of open source users and developers in order to bring the benefits of open development, open standards, and free software to the university community.</p>
<div id="main" class="container">
<div class="4u 12u(small)">
<p><h2>IRC</h2>The Open Source Club at The Ohio State University has its own IRC Channel. You can join it by clicking <a href="irc://">here</a>, or if you do not have an IRC client installed you can use the Freenode webchat <a href="">here<
benlk / Setting up a server
Last active Aug 29, 2015
Notes from the D3 talk
View Setting up a server
0. Open a terminal
1. change to the directory where you've saved the project and start a web server.
cd Desktop/
cd web-app-template-simple
python -m SimpleHTTPServer
benlk /
Last active Aug 29, 2015
if `pip install tarbell` fails with a message about gnureadline on Ubuntu

If pip install tarbell fails with an error that looks like this:

Command "/home/benlk/.virtualenvs/gene-wolfe/bin/python -c "import setuptools,
tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))"
install --record /tmp/pip-WluX7C-record/install-record.txt --single-version-externally-managed
--compile --install-headers /home/benlk/.virtualenvs/gene-wolfe/include/site/python2.7" 
failed with error code 1 in /tmp/pip-build-pJSsCN/gnureadline

You probably don't have the development headers for linbncurses

benlk /
Created Mar 12, 2015
Debugging things in WordPress
  • is it in The Loop?
    • should it be in the Loop?
    • is it Loop-agnostic?
    • can it be made Loop-agnostic?
  • are filters messing with the query?
benlk / CSS
Last active Aug 29, 2015
How XKCD What If? does tooltip text.
View CSS
/* the reference tooltips style starts here */
.ref {
position: relative;
vertical-align: baseline;
.refnum {
position: relative;
left: 2px;
benlk / reddits.js
Created Apr 12, 2015
A way to generate all the country code reddit domains, and then some.
View reddits.js
// Why? Because I wanted to blacklist them in my /etc/hosts file.
// This does not cover the subdomains, but those redirect to
var letters = Array(