Skip to content

Instantly share code, notes, and snippets.

@zetter
zetter / cache_recipies.rb
Created December 27, 2020 13:57
Script for caching external links from a jekyll site.
require "jekyll"
require "ostruct"
require "faraday"
def data_for_file(path)
content = File.read(path)
if content =~ Jekyll::Document::YAML_FRONT_MATTER_REGEXP
content = $POSTMATCH
data = SafeYAML.load(Regexp.last_match(1))
return data
@zetter
zetter / cheese-and-marmite-flapjacks.md
Created September 20, 2020 16:43
Cookbook example
layout title from link quote type
cookbook
Cheese and marmite flapjacks
Sarah Cook (Olive)
A great way to pack in the oats without adding tons of sugar – these savoury flapjacks combine cheese and Marmite together for an umami flavour explosion.
savoury

I was looking for a savoury recipe to use up some oats. Once I was out of marmite and used white miso paste instead.

@zetter
zetter / tracepoint_log_process.rb
Created March 6, 2019 12:15
Code to process a log that I created using TracePoint
require 'json'
require 'csv'
class Line
attr_reader :thread_no, :line_no, :path, :klass, :method_id, :event, :code, :line
def initialize(row)
@thread_no, @line_no, @path, @klass, @method_id, @event, @code = row
end
@zetter
zetter / output.tsv
Last active August 17, 2018 18:37
Find words in Omegawiki that are the reverse of the same word in another language
word_1 word_2 word_1_language word_2_language
ramer remar French Castilian
afaka akafa French Castilian
NATO OTAN English French
nier rein Afrikaans French
NATO OTAN German French
NATO OTAN Italian French
erum mure Ainu (Latin) Interlingua
NATO OTAN English Castilian
agua auga Castilian Mirandese
@zetter
zetter / wait_for_pending_requests.rb
Created March 22, 2018 13:54
Re-writing method without timeout
def wait_for_pending_requests
start = Time.now
while pending_requests?
if (Time.now - start) > 60
raise "Requests did not finish in 60 seconds"
else
sleep(0.01)
end
end
@zetter
zetter / subtyping.txt
Created October 9, 2017 08:39
Subtyping
There was a programmer from Skegness,
Who had a language that was a bit of a mess,
They implemented subtyping, and no longer was there griping,
All while keeping safety, preservation and progress
@zetter
zetter / deploy.sh
Created December 6, 2014 20:48
Deploying my personal site using s3cmd
#!/bin/bash
jekyll build
s3cmd sync -r --acl-public public/ s3://chriszetter.com/
@zetter
zetter / enrolment_cuke_spec.rb
Last active June 28, 2020 02:28
Enrolment cucumber-like rspec feature spec
feature 'Enrolment' do
scenario 'Enrolling in a course' do
given_there_is_a_course
and_i_am_logged_in_as_a_learner
when_i_enrol_on_a_course
then_the_course_should_appear_in_my_courses
end
def given_there_is_a_course
@course = FactoryGirl.create(:course)
@zetter
zetter / enrolment_spec.rb
Last active August 29, 2015 14:03
Enrolment rspec feature spec
feature 'Enrolment' do
scenario 'Enrolling in a course' do
course = FactoryGirl.create(:course)
learner = FactoryGirl.create(:learner)
login_as learner
visit course_path(course)
find('.join').click
expect(page).to have_content('Thanks for joining!')
@zetter
zetter / enrolling.feature
Last active August 29, 2015 14:03
Enrolling in a course Cucumber feature
Feature: Enrolment
Scenario: Enrolling in a course
Given there is a course
And I am logged in as a learner
When I enrol on a course
Then the course should appear in 'my courses'