Issue Overflow: M-x dunnet

By Zachary Flower

Whelp. They’ve done it. The members of The MUD Coders Guild have broken email. For those of you who subscribe to The MUD Coders Guild Newsletter, you may know just how full they get. In fact, the past few newsletters have had some much content that they have been truncated in many email clients. So, to combat this problem, and to better serve our subscribers, I’ve decided to devote the newsletter to sharing the content that is created directly by the members of The Guild.

But, just because the newsletter is going to serve up member-created content, that doesn’t mean we won’t be sharing all of the other resources discovered by the community. Moving forward, every issue of The MUD Coders Guild Newsletter will be accompanied by an Issue Overflow like this one, sharing all of the articles, videos, projects, and resources curated by our members.

> open source

trust-dns

A Rust based DNS client, server, and resolver.

warp

A super-easy, composable, web server framework for warp speeds.

todd

A highly extensible framework for distributed capacity and connectivity testing (Testing on Demand….Distributed!).

texty

A new MUD engine written with Python 3 and tornado. Features a rich web client and an advanced movement and ranged combat system.

> inventory

Computer Language Benchmarks Game — Rust vs. C

The ultimate benchmark challenge: Rust vs. C.

Barometric Formula

The barometric formula, sometimes called the exponential atmosphere or isothermal atmosphere, is a formula used to model how the pressure (or density) of the air changes with altitude. Some members have played with modeling weather in their games, and have found this useful!

Chaotic Shiny

Chaotic Shiny is a generator site aimed at people who write, game, or live in fantasy worlds of their own creation. Grappling with writer’s block? Need a character on the fly? Party just walked into a tavern and you want it to be a little more exciting than normal? Want to flesh out a setting with some detailed religions? Chaotic Shiny is the site for you.

Twine

Twine is an open-source tool for telling interactive, nonlinear stories.

> cast ‘inspiration’

Intermud-3: a Proposal for The Future

This document details a proposal for a future generation of Intermud protocols. It is designed to use the high level communication facilities provided by the MudOS LP driver.

Dictionary of Cussing

A little inspiration from Discworld MUD. This dictionary’s purpose seems to be to teach you how to launch a devastating attack against another person’s ego and ears. Its effectiveness is easily doubted though.

A collection of MUD greeting screens. Gotta love all that ASCII-art goodness!

> train int

Notes on structured concurrency, or: Go statement considered harmful

In this post, the author wants to convince you that nurseries aren’t quirky or idiosyncratic at all, but rather a new control flow primitive that’s just as fundamental as for loops or function calls.

How to deal with dirty side effects in your pure functional JavaScript

If you start learning about functional programming, it won’t be long before you come across the idea of pure functions. And as you go on, you will discover functional programmers appear to be obsessed with them. “Pure functions let you reason about your code,” they say. “Pure functions are less likely to start a thermonuclear war.” “Pure functions give you referential transparency”. On and on it goes. And they have a point. Pure functions are a good thing. But what do you do with the impure bits of your code?

Don’t just check errors, handle them gracefully

I’ve spent a lot of time thinking about the best way to handle errors in Go programs. I really wanted there to be a single way to do error handling, something that we could teach all Go programmers by rote, just as we might teach mathematics, or the alphabet.

Comparing US City Street Orientations

Comparing urban street network orientations and compass bearings in 25 US cities with Python and OSMnx through Kevin Lynch’s imageability and legibility.

Mathematics of Satellite Motion

The motion of objects is governed by Newton’s laws. The same simple laws that govern the motion of objects on earth also extend to the heavens to govern the motion of planets, moons, and other satellites. The mathematics that describes a satellite’s motion is the same mathematics presented for circular motion in Lesson 1. In this part of Lesson 4, we will be concerned with the variety of mathematical equations that describe the motion of satellites.

Documenting Architecture Decisions

Context Architecture for agile projects has to be described and defined differently.

If you are making an RPG, you need to know the Sigmoid function

So you’re designing your RPG combat system, and you think “I want this character’s dexterity to affect the likelihood of this arrow hitting the target.” How do you go about modeling that? How do you balance it? There are lots of ways to do it, but my favorite approach is with a custom sigmoid function.

The Total Beginner’s Guide to Game AI

This article will introduce you to a range of introductory concepts used in artificial intelligence for games (or ‘Game AI’ for short) so that you can understand what tools are available for approaching your AI problems, how they work together, and how you might start to implement them in the language or engine of your choice.

Crafting Interpreters

This book contains everything you need to implement a full-featured, efficient scripting language. You’ll learn both high-level concepts around parsing and semantics and gritty details like bytecode representation and garbage collection. Your brain will light up with new ideas, and your hands will get dirty and calloused. It’s gonna be a blast.

Hunt the Wumpus

Hunt the Wumpus is a hide-and-seek game that takes place in an underground cave network full of interconnected rooms.

> quaff elixir

From $erverless to Elixir

This post is not a critique of NodeJS, Lambda, or the Serverless movement, but a word of caution about how pricey it can become if your service ends up going webscale™.

Splitting APIs, Servers, and Implementations in Elixir

tldr; I think the conventional way of structuring Elixir code could be improved by paying more attention to decoupling.

Playing with Elixir and Go concurrency models

An article about the concurrency models of Elixir/Erlang and Go; how they’re equivalent and where they’re different.

> ooc

What Your Conference Proposal Is Missing

As a developer, doing talks at tech conferences is great for lots of reasons: boosting your career, promoting your company, and getting more excitement into other parts of your life. As an introvert, though, the best perk as far as I’m concerned is the stream of people who come up and talk to me. No more awkward unstructured break time!

Writing the CFP

A lot of conferences will require you to submit a Call For Papers, or CFP, which means you’re going to have to take this half-baked idea you have and add a bunch of words to it even though the conference probably won’t happen until six months from now and how the hell are you supposed to finalize this already do you know how much can change in six months I could be dead did you think about that, conference? I could be dead, dammit.

Make me an offer I can’t refuse — Writing an abstracts for a CFP

TL;DR; Writing abstracts is hard. Write the abstract as if the person reading it, will be making a decision on it in about 15 seconds of reading.

Double Shipping

If you’ve built, written or created something new, talk about it publicly more than just once. You don’t need to go overboard, but people generally want to know what you’re doing, want to support what’s new, and sometime miss things. It’s cool to be proud of what you’ve done.

> afk

A brief history of text-based games and open source

Learn how open source has fostered the growth and development of interactive fiction.

New book POSTMORTEMS

My new book Postmortems is now available at various booksellers. The print edition ships on the 26th. Various sites may have the ebook already, some may not just yet.

Worldbuilding Magazine V2I4: Creatures: Monstrous, Magical, and Mundane

It’s time once again for a brand new issue of Worldbuilding Magazine. We put a lot of effort into ensuring that each and every issue is filled with high quality worldbuilding content, and Creatures is no exception.