Captain Toofsnaggle

Captain Toofsnaggle quick combat spells and abilities skills and saves choices starting ability scores race starting choices levels starting magic items background ability scores fluff appearance direction mannerisms rival road to adventuring after the shipwreck quest log inventory acquisition log current equipment current money riddle Captain Toofsnaggle Captain Toofsnaggle is a half-orc seaman that is full of bluster. He has a reputation of mayhem following his every move, yet nobody seems to be able to confirm his claims of his legendary ship or crew. ...

2020-12-28 · 15 min · 3180 words · Logan Barnett

Promise and map with JavaScript

Typically when we think of map we think of lists, but we can widen our thinking of map and through it get a simpler understanding of how the elusive JavaScript Promise works. the type signature of map Let’s take the ML notation for map of a list: ((a -> b) -> List a -> List b) With ML notation, the best way to read this is that the last arrow is the return type. The reason the notation exists this way is because functions in a functional language can be modeled as unary, or meaning they only have one argument. One can imagine multiple argument functions as sytactic sugar. ...

2020-08-01 · 6 min · 1155 words · Logan Barnett

World Building

These are my thoughts on world building for a fictional world. There will be a skews towards worlds in a table top role playing experience, and moreso towards a fantasy setting. cause and effect A fun thing to think about with world building is what you would think would fall out of it. There are basic decisions to societies, fantastical or not. When you introduce something to your world, you’re making it different from the world we live in now. No matter how remote your world is from our current world, the created world will be defined by how it is different from our current one. When you change something about the world, think about how it effects the major aspects of society, the bestiary (if applicable), and even the world’s geography. It might not shape all of these things, but it should influence at least one. I would even go as far as to say with a little thought you can make your world change effect everything - some in minor ways and others in major ways. ...

2020-05-17 · 9 min · 1780 words · Logan Barnett

Sans Dungeon Master

Playing without a Dungeon Master Dungeon masters can be hard to come by. It’s a lot of work to be a dungeon master even if you can get away with minimal preparation. It can also be emotionally exhausting as you try to provide incentives for your table full of chaotic neutral cunctors to move forward. Cat herders have it easier than this. but really, why? It’s worth noting that any mechanism that removes the need for a DM also necessarily means that, as an actual DM, you could reduce the work you need to do. ...

2020-03-31 · 8 min · 1586 words · Logan Barnett

RPG GM Tropes

RPG GM Tropes some background I DM’ed 2nd edition Dungeon and Dragons in my early teens. I’d say it was an awkward phase of my life, but things haven’t really gotten less awkward, just differently. My DM career has improved with my life experiences. I’ve been running a campaign series since 2018. I’ve lost players, gained players. I’ve run bad sessions, and had to lock horns with some players that are very opinionated. ...

2020-02-24 · 18 min · 3812 words · Logan Barnett

Dirshum

Dirshum map Golani Grumsvelt’s Guide to Dirshum Account of Duranae Avandra’s Smile Elves variety of blood harpies banshees eldarin TODO ghouls Bel’aheldan magical wonderment army dress houses magic neighbors trade Minheimia fertile land unspoiled military structures neighbors shrouded past Human domains Tribes of Egalstan Natural Intuition Cyorro Valan summary astronomy customs based on Valan Valan resolutions Vyxt and dragonborn origins courts titles trade food army research and discovery religions external affairs Glintstrad Cyorro Nomasgard Pirates historic characters Golani Grumsvelt magic items Gray’s Grandeurs Inventory magic item list Bag of Compound Interest Badge Eye of Reholding Eidetic Diary Goodge Mace of Remembrance Immortal Baconator Lens of Seeing Fine Print Platonic Dispenser Rope of Tangling Ruby hilted dagger Stickers of Weapon Dazzling Shield of Friendship Unseen Staff campaigns Wand of Woe recaps session 1 session 2 session 3 session 4 session 5 session 6 session 7 session 8 session 9 session 10 session 11 session 12 session 13 session 14 session 15 session 16 session 17 session 18 session 19 session 20 session 21 session 22 session 23 session 24 session 25 session 26 session 27 session 28 session 29 session 30 session 31 session 32 session 33 session 34 session 35 session 36 Jerry the Joblin A world made for my D&D campaigns. It’s easy to destroy a world that you made yourself! ...

2020-01-17 · 150 min · 31907 words · Logan Barnett

Software Engineering - Starter Web app 4

In this episode, our hero (that’s you!) will be learning a tool that is helpful in virtually any kind of development you will wind up working in: Version control. Version control is rarely taught in school. It can be somewhat a deep topic, but we’ll go over some basics of how you see it in the open source world, which can carry over significantly to the commercial world. what’s version control? Version control is like the double-entry bookkeeping technique of saving all of your hard work. If you recall on the last lesson, there was an off-the-cuff statement about how your computer is just a fancy interface for working with files. Version control typically excels at handling text files. This blog post is a text file. HTML is text files. The original file that the blog post is generated from is a text file. SVG images are also text files. There’s also non-text files. Generally we call these binary files, but really we could also call them shit-files. That’s a completely objective industry term and not me showing any bias at all. Honest. ...

2018-08-21 · 12 min · 2542 words · Logan Barnett

Software Engineering - Starter Web app 3

This is the third installment of this Starter Web App series I’m doing. In part 2 we made our app server respond with different formats based on headers the client sends. Now we’re going to use dynamic data! If you’re still on lesson 2, this will be cheating to continue. Spoiler alert! This is about what we should have had from lesson 2. const express = require('express') const app = express() app.get('/', (req, res) => { if(req.accepts('text/html')) { res.set('Content-Type', 'text/html') res.send('\ <html>\ <body>\ Welcome to the official site for <em>justified</em>\ <strong>cat hatred</strong>.\ </body>\ </html>') } else { res.set('Content-Type', 'text/plain') res.send('ohai') } }) app.listen(3000, () => console.log('Example app listening on port 3000!')) providing data Let’s add an endpoint (request handler) that gets us a list of cats. We’re going to model our endpoints after REST. I have a post that gives a very high level overview of REST, which you can read but isn’t required to move forward. The real basic gist is that with REST, our endpoints are modeled as noun-like things, and we have a very small number of fixed verb-like things we can do with the noun-like things. ...

2018-07-10 · 7 min · 1447 words · Logan Barnett

Software Engineering - Starter Web app 2

As a continuation of Starter Web App, we’ll be making our server respond with some well formatted HTML. We want this so we can also test our web server with a real web browser. why? If your server is already running, you can visit it in your browser by navigating to http://localhost:3000. You will see the “ohai” we added earlier in a very flat, ugly “page”. It’s not actually a page, but instead how the browser displays plain text content. We want to give back some actual HTML so we can make a pretty page with meaningful content. ...

2018-06-15 · 6 min · 1136 words · Logan Barnett

Software Engineering - Starter Web app

Hi there! I believe questions are wonderful opportunities to enhance documentation. In this case I’ve put together a series of posts for putting together your first web application using this buzzword list: HTML, CSS, Node.js, Express.js, bash (or just a shell), yarn, git, Homebrew, and maybe some other stuff I forgot to include. part 1 - getting set up with your local environment, and a tiny server part 2 - using curl, mime types, and fulfilling an automated test part 3 - working with data part 4 - backing it all up with git While this isn’t complete, I’ll expand upon it anytime I get a chance to help someone pick up the trade. Don’t worry if it seems like a lot! Fairly consistent exposure will keep you moving along the never-ending fractal that is learning about software engineering.

2018-06-13 · 1 min · 139 words · Logan Barnett