Skip to content

Instantly share code, notes, and snippets.

Brian bennettscience

Block or report user

Report or block bennettscience

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
bennettscience /
Last active Oct 31, 2019
Automatically set a programmatically-created Google Doc to the correct owner.
/*********** SETUP ***************/
// Store two global variables with columns to use as references.
// These should be zero-based because they're used in a loop.
var docIdCol = 0 // Int of col to check for a document ID
var emailCol = 0 // Int of col with submitter email address
/********** END SETUP **************/
bennettscience / studentOutcomes.user.js
Last active Sep 6, 2019
Collect and display student Outcome score averages in Canvas LMS
View studentOutcomes.user.js
// ==UserScript==
// @name Student LMG Viewer
// @namespace
// @description Show calculated Outcome socres for students in Canvas
// @author Brian Bennett
// @match https://**/grades/*
// ==/UserScript==
(function() {
'use strict';
bennettscience /
Last active Jun 13, 2019
Tecmo Bowl modding instructions with links

Apparently, Tecmo Bowl is one of the most modded games ever. Much of this information is found on the forums, along with more software.

  1. Tecmo Bowl Team Manager

Tecmo Bowl is the simplest title. Tecmo Super Bowl got a little more complex, so the editor is more complex. Personally, as I was tinkering, I enjoyed replaying the original vs Tecmo Super Bowl, but that's just me. All things aside, you need an editor.

These programs allow you to load the game file (ROM, see below) and edit team names and rosters through a desktop app. If you're on a Mac and want to run Tecmo Bowl Manager, I can send more detailed instructions, because I got that running as well.

bennettscience /
Last active Jul 22, 2019
A script to scrape The Pity Part playlist from WDBM and create a spotify playlist
import re, sys
import requests
import spotipy
import spotipy.util as util
from bs4 import BeautifulSoup
# Get the ID of the track from Spotify
def get_track_id(username, title, artist):
print("Searching for {} by {}".format(title, artist))
scope = 'playlist-modify-public'
bennettscience / sgstatus.user.js
Last active May 29, 2019
Update the assignment status from the speedgrader in canvas
View sgstatus.user.js
// ==UserScript==
// @name SpeedGrader Status
// @namespace
// @version 0.4
// @description Set Canvas Assignment statuses from the SpeedGrader
// @author You
// @include /^https://.*\.instructure\.com/
// @grant none
// ==/UserScript==
bennettscience /
Created May 10, 2019
Sample script of changing the enrollment statuses with canvasapi
from canvasapi import Canvas
# Instantiate the Canvas object
canvas = Canvas("your_url", "your_key")
# Get the course by it's ID
course = canvas.get_course(course_id)
# Get a list of Enrollment items
# Use the 'type' and 'state' kwargs to only get active students
bennettscience /
Last active May 9, 2019
InstagramRSS - Follow your favorite public accounts from RSS feeds.
"""PyRSS2Gen - A Python library for generating RSS 2.0 feeds."""
""" Distributed under the BSD license here."""
__name__ = "PyRSS2Gen"
__version__ = (1, 1, 0)
__author__ = "Andrew Dalke <>"
_generator_name = __name__ + "-" + ".".join(map(str, __version__))
import datetime
bennettscience /
Created May 1, 2019
First take at using multiprocessing with UCFOpen's canvasapi in Python
import multiprocessing as mp
from canvasapi import Canvas
import json
def process_submissions(assignment):
obj = {}
canvas = Canvas(url, key)
bennettscience /
Created Jan 15, 2019
Copy notes between Google Sheets
// If you make a mistake, this will clear all notes from the child sheets
function clearChildNotes() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet2');
var buildings = sheet.getRange(1, 1, sheet.getLastRow(), 3).getValues();
for(var i=0; i<buildings.length; i++) {
bennettscience /
Created Mar 29, 2018
Event manager Apps Script webapp
var ss = SpreadsheetApp.getActiveSpreadsheet();
* doGet - Return webapp
* @param {String} e query string to serve different pages
* @returns {String} rendered HTML to the browser
function doGet(e) {
if (! {
You can’t perform that action at this time.