Skip to content

Instantly share code, notes, and snippets.

Mary Berry's Christmas Cake with fondant icing and marzipan

Equipment: Round cake tin, size 23cm Baking time: 4¾hrs Serves: 17-20

Ingredients

  • 400g currants
  • 225g sultanas

Years ago, I gave some advice about the Lost Mine of Phandelver. I was wrong.

That's because they released this: it's a SEQUEL to that Starter Set called The Shattered Obelisk. The first half  of this book is mostly the same as the original Lost Mines adventure, but the second half is a brand new story about Mind Flayers.

Here's the problem: This book invalidates the most popular video series on my channel, and the most popular PDFs on my Patreon, because the advice I have given previously was not made to accommodate the new direction this book takes the story. So today we are fixing that, so my old advice remains relevant to this adventure.

Now: I've found ten major changes I would make to my original Starter Set advice. I looked for things which feel out-of-place in the Shattered Obelisk portion of the adventure, and I'll point at places earlier in the Lost Mines portion of the adventure where we can add foreshadowing to that out-of-place content. We'll start at the end of the book and work our way backw

@timblair
timblair / headers-with-ids.rb
Created November 10, 2021 17:45
Generating headers with IDs using CommonMarker
require "commonmarker"
class HeaderWithIdRender < CommonMarker::HtmlRenderer
def header(node)
block do
old_stream = @stream
@stream = StringIO.new(String.new.force_encoding("utf-8"))
out(:children)
content = @stream.string
@stream = old_stream
@timblair
timblair / strava.js
Last active April 12, 2021 19:31 — forked from scottpdawson/strava.js
Bulk download Strava activities
var maxPage = 1; // calculate this using (activities/20 + 1)
var activityType = "Run"; // change to the workout type you want, or blank for all
var p = 1;
var done = 0;
var url;
var nw = window.open("workouts.html");
nw.document.write("[");
while (p <= maxPage) {
url = "https://www.strava.com/athlete/training_activities" +
"?keywords=&activity_type=" + activityType + "&workout_type=&commute=&private_activities=" +
@timblair
timblair / grid-join.go
Created December 22, 2017 10:10
AoC 2017 Day 21: Grid Joining
func join(gs []grid) grid {
n := int(math.Sqrt(float64(len(gs)))) // Number of subgrids across/down the new grid
sgn := len(gs[0]) // Number of values on one side of a subgrid
cg := newGridBySize(n * sgn) // The new, combined grid to populate
// Add each subgrid to the new, combined grid.
for i, g := range gs {
// Calculate the position of the top-left of the subgrid once placed in
// the new, combined grid. We use this plus the offset within the subgrid
// to place the values in the combined grid.
@timblair
timblair / gds-go-workshop-01-cheatsheet.md
Last active November 24, 2016 15:43
GDS Go Workshop #1: Cheatsheet

GDS Go Workshop #1: Cheatsheet

Value assignment

var s1 string         // a new string identifer with its zero value ("")
var s2 string = "foo" // an identifer with a non-zero value
var i1 int            // an int identifer with its zero value (0)
var i2 int = 42       // an int identifer with a non-zero value
@timblair
timblair / CHANGELOG.json
Created November 1, 2016 08:46
A quick stab at a machine-readable CHANGELOG format
{
"project": "some-project",
"url": "https://github.com/someorg/some-project",
"description": "Some project or other for SomeOrg",
"releases": [
{
"version": "1.0.0",
"date": "2014-12-05",
"items": [
require "gviz"
require "optparse"
# Usage: $0 PINFILE [OPTIONS]
#
# -i, --highlight APPS Highlight apps that depend on these
# -x, --exclude APPS Exclude these apps
# -o, --only APPS Only show dependencies and dependants of these
# -s, --hide-solitary Hide apps with no dependecies or dependants
# -f, --out-file FILE The filename to write output to (default: out.png)
@timblair
timblair / Makefile
Created July 22, 2016 07:18
HTTP connection changes between Go 1.5.x and 1.6.x
.PHONY: build clean run
V15 := 1.5.4
V16 := 1.6.3
B15 := http-test-1.5
B16 := http-test-1.6
all: clean build run
@timblair
timblair / kickstart.sh
Created June 29, 2016 10:18
Personal machine kickstart
#!/bin/bash
# Tim's Development Environment Setup
# ===================================
# Stop immediately if anything fails
set -e
############################################
# Handy functions