Skip to content

Instantly share code, notes, and snippets.

View grahamb's full-sized avatar
🇨🇦
As Canadian as possible under the circumstances

Graham Ballantyne grahamb

🇨🇦
As Canadian as possible under the circumstances
View GitHub Profile
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
$ NODE_ENV=production webpack --env.prod
/Users/grahamb/code/sfu/snap/node_modules/loader-runner/lib/loadLoader.js:35
throw new Error("Module '" + loader.path + "' is not a loader (must have normal or pitch function)");
^
Error: Module '/Users/grahamb/code/sfu/snap/node_modules/url/url.js' is not a loader (must have normal or pitch function)
at loadLoader (/Users/grahamb/code/sfu/snap/node_modules/loader-runner/lib/loadLoader.js:35:10)
at iteratePitchingLoaders (/Users/grahamb/code/sfu/snap/node_modules/loader-runner/lib/LoaderRunner.js:164:2)
at runLoaders (/Users/grahamb/code/sfu/snap/node_modules/loader-runner/lib/LoaderRunner.js:357:2)
01-Nov-2016 12:06:23 Fetching https://github.com/rails-api/active_model_serializers.git
01-Nov-2016 12:06:26 Fetching https://github.com/codekitchen/nokogiri.git
01-Nov-2016 12:06:29 Fetching https://github.com/instructure/nokogiri-xmlsec-me-harder.git
01-Nov-2016 12:06:31 Fetching https://github.com/colleenpalmer/dress_code.git
01-Nov-2016 12:06:32 Fetching https://github.com/kreynolds/cassandra-cql.git
01-Nov-2016 12:06:33 Fetching https://github.com/ccutrer/redis-store.git
01-Nov-2016 12:06:35 Fetching https://github.com/grahamb/capistrano-canvas.git
01-Nov-2016 12:06:36 Fetching https://github.com/grahamb/capistrano-scm-copy.git
01-Nov-2016 12:06:37 Fetching https://github.com/maneframe/mocha.git
01-Nov-2016 12:06:52 Fetching gem metadata from https://rubygems.org/
@grahamb
grahamb / dashtechgoals.md
Created February 11, 2016 21:30
Student Dashboard Technical Design Goals

SFU Student Dashboard Technical Design Goals

A loose array of thoughts about the technical direction and goals of #teamdashboard

  • Accessibility-first
  • Modern browsers
  • Mobile-first
  • Fast

Accessibility-first

@grahamb
grahamb / sfucanvas.md
Last active August 16, 2021 17:54
SFU's Canvas LMS infrastructure and ugprade

🎓 Canvas at SFU

Simon Fraser University is a mid-sized comprehensive university with three campuses in the Greater Vancouver area of British Columbia, Canada. We are a trimester school, with a Fall, Spring and Summer term. We have approximately 25,000 undergraduate FTEs.

SFU chose Canvas as its new LMS during a selection process in 2011/2012. We went into production in 2012. As of this writing, our enrollment counts in Canvas are:

  • Students: 25250
  • Teachers: 1070
  • TAs: 865
@grahamb
grahamb / automated_canvas_release.md
Last active January 18, 2016 19:10
Automate Cutting a Canvas Release

need to know:

  • the SFU release date (for the branch name)
  • the Instructure release (for the head)

process

  • get the pointer to the stable HEAD commit from git/refs/heads/stable (response.object.url)
  • get the commit from above and check the message (contains treesame commit of origin/stable/INSTRUCTURE_RELEASE_DATE)
  • if not, error out; otherwise…
  • create new branches in the SFU repos (SFU_RELEASE_DATE-RANDOM_WORDS): PATCH https://api.github.com/repos/sfu/:repo/git/refs
    • PATCH body:
@grahamb
grahamb / lcpreact.md
Last active December 2, 2015 00:29
LCP React Lunch and Learn
  • What is react?

  • Why is it nifty?

  • Hello World

bad content body
/var/rails/canvas/releases/20151013171611/vendor/bundle/ruby/2.1.0/gems/rack-1.4.5/lib/rack/multipart/parser.rb:74:in `block in fast_forward_to_first_boundary'
/var/rails/canvas/releases/20151013171611/vendor/bundle/ruby/2.1.0/gems/rack-1.4.5/lib/rack/multipart/parser.rb:72:in `loop'
/var/rails/canvas/releases/20151013171611/vendor/bundle/ruby/2.1.0/gems/rack-1.4.5/lib/rack/multipart/parser.rb:72:in `fast_forward_to_first_boundary'
/var/rails/canvas/releases/20151013171611/vendor/bundle/ruby/2.1.0/gems/rack-1.4.5/lib/rack/multipart/parser.rb:15:in `parse'
/var/rails/canvas/releases/20151013171611/vendor/bundle/ruby/2.1.0/gems/rack-1.4.5/lib/rack/multipart.rb:25:in `parse_multipart'
/var/rails/canvas/releases/20151013171611/vendor/bundle/ruby/2.1.0/gems/rack-1.4.5/lib/rack/request.rb:336:in `parse_multipart'
/var/rails/canvas/releases/20151013171611/vendor/bundle/ruby/2.1.0/gems/rack-1.4.5/lib/rack/request.rb:201:in `POST'
/var/rails/canvas/releases/20151013171611/vendor/bundl
[- -] Connecting to database specified by database.yml
[- -] (147.1ms) SELECT * FROM unnest(current_schemas(false))
[- -] Switchman::Shard Load (1.8ms) SELECT "switchman_shards".* FROM "switchman_shards" WHERE "switchman_shards"."default" = 't' LIMIT 1
[- -] (0.3ms) SELECT * FROM unnest(current_schemas(false))
[- -] Switchman::Shard Load (1.2ms) SELECT "switchman_shards".* FROM "switchman_shards" WHERE "switchman_shards"."database_server_id" = 'test' AND "switchman_shards"."name" IS NULL LIMIT 1
[- -] (38.8ms) SELECT * FROM unnest(current_schemas(false)) [shard master]
[- -] Switchman::Shard Load (0.4ms) SELECT "switchman_shards".* FROM "switchman_shards" WHERE "switchman_shards"."database_server_id" = 'development' AND "switchman_shards"."name" IS NULL LIMIT 1
[- -] (0.3ms) SELECT * FROM unnest(current_schemas(false)) [shard master]
[- -] Setting Load (41.1ms) SELECT "settings".* FROM "settings" WHERE "settings"."name" = 'encryption_key_hash' LIMIT 1 [shard 1 master]
[- -]