Skip to content

Instantly share code, notes, and snippets.

Avatar

Jeremy Friesen jeremyf

View GitHub Profile
@jeremyf
jeremyf / embarkation_and_journey_scenarios_for_aime.rb
Last active Dec 19, 2018
A script for running scenarios against Adventures in Middle-earth Embarkation and Journey rules; See http://takeonrules.com/2018/12/19/diving-further-into-embarkation/
View embarkation_and_journey_scenarios_for_aime.rb
#!/usr/bin/env ruby -wKU
ITERATIONS = 100_000
TERRAINS = %i(easy moderate hard severe daunting)
Guide = Struct.new(:survival_proficiency, :wisdom_modifier, :label) do
def to_s; label; end
end
GUIDES = [
Guide.new(0,-1, "naive level 1"),
Guide.new(2,2, "trained level 1"),
View random-table.rb
require 'forwardable'
gem 'dice_parser'
require 'dice'
# Responsible for registering random tables and exposing a means of rolling on those tables.
class TableRegistry
# @api public
# @example
# document = [{
# key: '1-a',
@jeremyf
jeremyf / README.md
Last active Jan 24, 2018
Rails runner friendly script to associate pids with a collection
View README.md

The associated Ruby script is more of a proof of concept to demonstrate using pipes and parameters in conjunction with the Rails runner. I have not fully verified that it works.

echo '<work_pid>' | bundle exec rails runner associate_pids_with_collection.rb -c <collection_pid>
@jeremyf
jeremyf / padwg.timeline.mermaid
Last active Dec 8, 2017
Permission Analysis and Design Working Group Timeline
View padwg.timeline.mermaid
gantt
# See documentation concerning Mermaid-based gantt charts https://mermaidjs.github.io/gantt.html
# The PNG was generated via Atom's mermaid plugin
# * Install atom (https://atom.io)
# * Install atom-mermaid (https://atom.io/packages/atom-mermaid)
# * Open atom and paste this document into an empty buffer
# * Set Syntax to Mermaid
# * Type Command+Shift+P to search for the "Atom Mermaid: Toggle" to view the mermaid preview
# * In the preview pane, right click and select "Save As PNG"
dateFormat YYYY-MM-DD
@jeremyf
jeremyf / cibuild
Created Nov 21, 2017
Cibuild proposal that includes indication on what is starting and stopping
View cibuild
#!/usr/bin/env bash
set -e # halt script on error
echo "=~=~=~=~=~= Starting jekyll build =~=~=~=~=~="
bundle exec jekyll build
echo "=~=~=~=~=~= Finished jekyll build =~=~=~=~=~="
echo "=~=~=~=~=~= Starting htmlproofer =~=~=~=~=~="
bundle exec htmlproofer ./_site
echo "=~=~=~=~=~= Finished htmlproofer =~=~=~=~=~="
@jeremyf
jeremyf / assigning-a-person-to-review-a-submission.md
Created Nov 8, 2017
Assigning a person to review a submission based on properties of the work
View assigning-a-person-to-review-a-submission.md

Goal

Assigning a person to review a submission based on properties of the work. And you don't need multiple admin sets to do this.

Whirlwind Workflow

Two primary concepts of the workflow in Hyrax 2.0:

  1. Permissions are assigned at two levels:
  2. [Sipity::WorkflowResponsibility][sipity_workflow_responsibility] - A person has permissions to all things using this workflow
View build-probabilities-for-bitd.rb
# Prerequisites: You need Ruby 2.4.4 or greater. My recommendation is to install ruby via rbenv (https://github.com/rbenv/rbenv)
# To run on the command line:
# 1) Download this gist
# 2) Run the following command: ruby /path/to/this/file.rb
class Scenario
attr_reader :failure, :compromised_success, :success, :critical, :total, :pool_size
def initialize(pool_size:)
@pool_size = pool_size
@total = 0
@failure = 0
View compare-new-and-not-new.sh
# Transform JSON (from a file, URL, or stdin) into discrete assignments to make it greppable
for file in new-*; do diff <(gron "`echo $file | sed  's/new-//'`") <(gron $file) >> diffs.txt; done
View catalog.jsonld
{
"@context": {
"xsd": "http://www.w3.org/2001/XMLSchema#",
"deri": "http://sindice.com/vocab/search#",
"und": "http://localhost:3000/show/",
"dc": "http://purl.org/dc/terms/",
"deri:first": {
"@type": "@id"
},
"deri:last": {
@jeremyf
jeremyf / dcc-retiring-procedure.rb
Last active Apr 22, 2017
A script for transitioning characters to retirement, yet not allowing them off of the hook.
View dcc-retiring-procedure.rb
require 'logger'
ABILITY_SCORE_MODIFIER = {
0 => :dead,
1 => -3, 2 => -3, 3 => -3,
4 => -2, 5 => -2,
6 => -1, 7 => -1, 8 => -1,
9 => 0, 10 => 0, 11 => 0, 12 => 0,
13 => 1, 14 => 1, 15 => 1,
16 => 2, 17 => 2,
18 => 3,
You can’t perform that action at this time.