Skip to content

Instantly share code, notes, and snippets.


Benjamin Wheeler benjiwheeler

View GitHub Profile
benjiwheeler /
Last active Feb 1, 2021
python thread test
import time
import timeit
from multiprocessing.dummy import (Pool, TimeoutError)
def delay(mynum, delay_secs):
print("starting #%s" % mynum)
print("done with #%s" % mynum)
return True
benjiwheeler / layout_boilerplate.html
Last active Jan 21, 2021
HTML, CSS layout boilerplate with header, footer, responsive content width; source
View layout_boilerplate.html
<!DOCTYPE html>
<html lang="en">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
<script src=""></script>
<script language="JavaScript">
$( document ).ready(function() {
$("#add").on("click", function() {
benjiwheeler / selenium_browse_back.js
Created Dec 19, 2018
Selenium test code for browsing back and confirming that page is gone
View selenium_browse_back.js
elementIsVisible (element) {
return this.driver.wait(until.elementIsVisible(element));
elementIsNotVisible (element) {
return this.driver.wait(until.elementIsNotVisible(element));
const abbyElement = await findByText('Abby'); // Should show editor for new costume
await elementIsVisible(abbyElement);
benjiwheeler / selenium_wait_until_clickable.js
Last active Dec 19, 2018
selenium js 3.6 attempt to wait until element is clickable
View selenium_wait_until_clickable.js
const costumesTabElement = await findByText('Costumes');
await driver.wait(() => {
return costumesTabElement.isDisplayed().then(displayed => {
console.log('got here A');
if (!displayed) return false;
console.log('got here B');
return costumesTabElement.isEnabled();
benjiwheeler /
Last active Feb 2, 2018
Python time utils
import datetime
import pytz
# careful, don't assume now() is nyc time! on ec2, it's utc time.
def datetime_from_tz_naive_nyc_to_tz_aware_utc(nyc_datetime_tz_naive):
nyc_datetime_tz_aware = pytz.timezone('US/Eastern').localize(nyc_datetime_tz_naive)
return nyc_datetime_tz_aware.astimezone(pytz.utc)
def utc_tz_aware(utc_datetime_tz_naive):
return pytz.timezone('UTC').localize(utc_datetime_tz_naive)
benjiwheeler / angularJsonDataService.js
Last active May 18, 2016
Angular Service to share JSON data among controllers
View angularJsonDataService.js
// data.json could look like:
// {
// "menu": [{"name": "Contact Us"}, {"name": "About Us"}]
// }
// app.js could look like:
var app = angular.module('myApp');
app.factory('commonData', ['$http', '$q', function($http, $q){
View HTML redirect page
<!-- Pleace this snippet right after opening the head tag to make it work properly -->
<!-- This code is licensed under GNU GPL v3 -->
<!-- You are allowed to freely copy, distribute and use this code, but removing author credit is strictly prohibited -->
<!-- Generated by -->
<link rel="canonical" href=""/>
benjiwheeler / navMenuCtrl.js
Created Nov 18, 2015
Angular navigation menu controller from Begin to Code
View navMenuCtrl.js
// see the very bottom of
// by omitting second parameter, we tell angular we're looking for existing module.
var controllers = angular.module('basicControllers');
controllers.controller('NavMenuCtrl', ['$scope', '$stateParams', '$state', 'ProgramCache',
function($scope, $stateParams, $state, ProgramCache) {
// variables
$scope.menuStates = []; // all of the menu items, each a complete state
// IMPORTANT: we are binding global program service to local program scope!
// this lets us update menu item content on the fly, since our template will be digested.
benjiwheeler / route.js
Created Nov 18, 2015
Angular route/state file from Begin to Code
View route.js
app.config(['$stateProvider', '$urlRouterProvider', '$locationProvider',
function($stateProvider, $urlRouterProvider, $locationProvider) {
$stateProvider.state('root', {
url: '/',
templateUrl: 'root.html',
controller: 'RootCtrl'
.state('program', {
url: '/program/:program_id',
benjiwheeler / txt
Created Sep 25, 2015
The one thing I'd most like to remind myself
View txt
"Be who you are and say what you feel, because those who mind don't matter and those who matter don't mind."
--Bernard Baruch