Lacking Natural Simplicity

Random musings on books, code, and tabletop games.

Getting the homebrew CHICKEN Scheme sqlite3 egg to use the homebrew-installed sqlite3 include files and library files

To get the Homebrew installed CHICKEN Scheme (HBCHICKEN) to use the Homebrew installed version of sqlite3 (HBSQLITE3) — because the one supplied by Apple in macOS is obsolete — for the sqlite egg, you need to set CSC_OPTIONS properly:

$ export CSC_OPTIONS="-I/usr/local/Cellar/sqlite/3.36.0/include -L/usr/local/Cellar/sqlite/3.36.0/lib"
$ chicken-install sqlite3
building sqlite3
   /usr/local/Cellar/chicken/5.2.0/bin/csc -host -D compiling-extension -J -s -regenerate-import-libraries -setup-mode -I /Users/tkb/.cache/chicken-install/sqlite3 -C -I/Users/tkb/.cache/chicken-install/sqlite3 -O2 -d1 -L -lsqlite3 sqlite3.scm -o /Users/tkb/.cache/chicken-install/sqlite3/sqlite3.so
   /usr/local/Cellar/chicken/5.2.0/bin/csc -regenerate-import-libraries -M -setup-mode -static -I /Users/tkb/.cache/chicken-install/sqlite3 -emit-link-file /Users/tkb/.cache/chicken-install/sqlite3/sqlite3.link -host -D compiling-extension -c -unit sqlite3 -D compiling-static-extension -C -I/Users/tkb/.cache/chicken-install/sqlite3 -O2 -d1 sqlite3.scm -o /Users/tkb/.cache/chicken-install/sqlite3/sqlite3.static.o
   /usr/local/Cellar/chicken/5.2.0/bin/csc -setup-mode -s -host -I /Users/tkb/.cache/chicken-install/sqlite3 -C -I/Users/tkb/.cache/chicken-install/sqlite3 -O2 -d0 -L -lsqlite3 sqlite3.import.scm -o /Users/tkb/.cache/chicken-install/sqlite3/sqlite3.import.so
installing sqlite3

You'll probably need to adjust the version numbers in the pathnames for whatever version is installed on your computer.

define-word results using wordnik stopped working

I use define-word, a package from melpa (DWM), that looks up the definition of a word online. It uses wordnik.com by default. Recently it stopped returning definitions.

I did a little digging, and it turns out that it works when you visit the url with Chrome, but not if you just try to download it with curl, or url-retrieve in Emacs. Adding a “User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_5_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36” with curl’s -H option made it work.

curl -i -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_5_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36' http://wordnik.com/words/importunate

So I added a let in my advice for define-word that binds url-request-extra-headers to an alist with "User-Agent" as the key and "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_5_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36" as the value, and it works again.

My solution looks something like this (simplified from my actual advice, which does other things too):

(defadvice define-word (around your-around-define-word activate)
  "Dynamically bind tkb-define-word-word to the word passed in."
  (let ((url-request-extra-headers
         '(("User-Agent" . "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_5_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36"))))
    ad-do-it))

I opened an issue on github, suggesting it might be a good idea to add a simpler way to add a User-Agent: header around define-word--to-string’s call to url-retrieve-synchronously.

The Isle of the Plangent Mage

The Isle of the Plangent MageThe Isle of the Plangent Mage by Donn Stroud
My rating: 5 of 5 stars

This is an interesting adventure intertwining the sea, its creatures, and music. It describes a small area of coast with a village and inhabitants, a nearby island with several interesting locations, some inhabitants, and a dungeon with a good mix of monsters and interesting devices.

Another very good adventure from Necrotic Gnome.

View all my reviews on Goodreads

Old-School Essentials Classic Fantasy Rules Tome

[I actually finished reading this back on July 9, 2021, but forgot to finish this post, so it is appearing now.]

I finished reading the Old-School Essentials Classic Fantasy Rules Tome from cover to cover and I am very impressed.

As I say in my terse Goodreads review:

Old-School Essentials Classic Fantasy: Rules TomeOld-School Essentials Classic Fantasy: Rules Tome by Gavin Norman
My rating: 5 of 5 stars

Excellent restatement of the class Basic/Expert D&D (B/X D&D) rules from 1981. Exceptionally clear presentation in wording, typography, and layout. Excellent physical production quality. I liked the use of full page or 2 page spread color artwork, and the black and white art included on the other pages. Excellent range of artwork.

View all my reviews on Goodreads

To expand on this:

I've said elsewhere that I started playing with first edition AD&D. As far as I can remember, we often simplified things: I don't remember using segments, spell components, weapon speed factors, or armor class adjustments, and I'm not sure we used anything like the actual official combat sequence.1 I never picked up the Moldvay/Cook/Marsh Basic/Expert Sets, unfortunately, since I foolishly thought “Advanced” meant better than “Basic”.

I think Old-School Essentials Classic Fantasy is an wonderful way for someone to learn the rules of classic D&D, and for running classic D&D campaigns. I wish it had been around when I started playing D&D. I'd recommend it today for anyone learning to play, or anyone who prefers the classic rules.

1

The rules on Initiative on p. 62–63 of the Dungeon Master's Guide (DMG) sound simple, but there are further elaborations elsewhere in the DMG (“Simultaneous Initiative” on p. 66, for instance) and other AD&D 1E rule books.

It takes a 20 page document, Advanced Dungeons & Dragons® Initiative and Combat Table, compiled by David M. Prata, (I1 or I2) to come anywhere near compiling and explaining the actual first edition AD&D initiative and combat sequence.

I'm not entirely convinced that there is a completely consistent interpretation of the rules, but people have spent a lot of time and effort trying to figure one out.

Oh, here's a brief but clear discussion of the AD&D Initiative Controversy, (mirror on archive.org) describing both The A.D.D.I.C.T. Method and the OSRIC method.

Last edited: 2021-09-13 17:13:50 EDT

Old-School Essentials Advanced Fantasy Referee's Tome

Old-School Essentials Advanced Fantasy Referee's TomeOld-School Essentials Advanced Fantasy Referee's Tome by Gavin Norman


This adapts the Dungeon Master rules (creating and running adventures; monsters; encounters, treasures, and magic items) of first edition AD&D to the scale and mechanics of the Moldvay/Cook/Marsh edition of Basic/Expert D&D, contrasting with Labyrinth Lord: Revised, Advanced Edition Companion, and Advanced Labyrinth Lord, which does it the other way around and adapts the B/X rules to the scale of first edition AD&D.

As is common with the other Old-School Essentials titles, this is very well organized and presented. It is interesting what was integrated from first edition AD&D and what was left out. (For instance, there is a Wand of Summoning, but no Summon Monster spells.)

I think that this is an excellent choice for someone new to D&D to learn the classic Dungeon Master rules. I wish something this clear had been available when I started playing D&D.

View all my reviews on Goodreads

Old-School Essentials Advanced Fantasy would probably be my first choice for any new D&D campaign I start, all other things being equal.

Last edited: 2021-09-11 12:41:55 EDT

Old-School Essentials Advanced Fantasy Player’s Tome

Old-School Essentials Advanced Fantasy Player’s TomeOld-School Essentials Advanced Fantasy Player’s Tome by Gavin Norman
My rating: 5 of 5 stars

This adapts the classes, races, spells, and other player facing rules of first edition AD&D to the scale and mechanics of the Moldvay/Cook/Marsh edition of Basic/Expert D&D, contrasting with Labyrinth Lord: Revised, Advanced Edition Companion, and Advanced Labyrinth Lord, which does it the other way around and adapts the B/X rules to the scale of first edition AD&D.

I must admit I miss the monk, and the two Hit Dice at first level of the Ranger from AD&D 1E, but I suppose the former is out because of the common perception that it doesn't thematically fit the pseudo-medieval setting of most D&D games, and the latter is part of adapting to the scale of B/X.

The OSE Advanced Fantasy Player's Tome is another excellent presentation of the classic rules in a well designed and sturdy hard back book. I'm impressed with the organization and clarity of the presentation. I think that this is an excellent choice for someone new to D&D to learn the classic player rules.

View all my reviews on Goodreads

The Incandescent Grottoes

The Incandescent GrottoesThe Incandescent Grottoes by Gavin Norman
My rating: 5 of 5 stars

Another excellent adventure from Gavin Norman. It even can be hooked up Hole in the Oak, an earlier adventure from him. It uses the same design as Hole in the Oak, where bolding and bullet points call attention to important points in the order you generally need them. This adventure improves on Hole in the Wall by including the relevant portion of the map on each two page spread describing the locations. Very well done.

View all my reviews on Goodreads

Delvers to Grow Omnibus Arrived!

My copy of the Delvers to Grow Omnibus written by Kevin Smith and produced by Gaming Ballistic arrived today. It is a book to help folks quickly make characters for Steve Jackson Games's Dungeon Fantasy Roleplaying Game, a “Powered by GURPS” dungeon crawling fantasy game.

Anyway, I've read it and it looks very useful.

I really want to run a Dungeon Fantasy RPG campaign with this and all the other stuff that Gaming Ballistic's Douglas H. Cole has produced for his Nordlond campaign setting.