home.social

#1a1a1a — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #1a1a1a, aggregated by home.social.

fetched live
  1. Ever wondered what’s up with the #08B74F, #1A1A1A and #FAFAFA colours in FOSS United’s website, events, socials and campaigns.
    In this community call, we'll get to have a peek on what happens in Design @ FOSS United. This will be followed by a general Q&A.
    1/n

  2. Ever wondered what’s up with the #08B74F, #1A1A1A and #FAFAFA colours in FOSS United’s website, events, socials and campaigns.
    In this community call, we'll get to have a peek on what happens in Design @ FOSS United. This will be followed by a general Q&A.
    1/n

  3. Sorry for posting the same (kind of) screenshot again and again. But I try to reduce my desktop more and more.
    At the moment it is mainly two colors: #1a1a1a and #8eb33b ... just in various opacity.
    I really love #niri as my window manager. Such a game changer...

  4. Sorry for posting the same (kind of) screenshot again and again. But I try to reduce my desktop more and more.
    At the moment it is mainly two colors: #1a1a1a and #8eb33b ... just in various opacity.
    I really love #niri as my window manager. Such a game changer...

  5. Drop #603 (2025-02-12): Suggest • Static • Search

    Zed Edit Predictions (Beta); Data-Driven 11ty Site Generation; Pagefind

    The Drop is back after the $WORK-fueled hiatus. Travel to and from San Diego was horrendous, and it took most of the weekend to recover from the ~36 hours it took me to get from San Diego back to the Maine compound. The missed Monday Drop was due to porting 47 Watch to Eleventy/11ty. We’ll talk more about that in one of the sections. Tuesday’s miss was due to the ~57 minutes of slumber between Monday and Tuesday thanks to the still unabated long covid resurgence.

    Anyway…

    Thanks to said 11ty work, today’s Drop showcases some of the tech used to make the new site.

    Type your email…

    Subscribe

    TL;DR

    (This is an AI-generated summary of today’s Drop using Ollama + llama 3.2 and a custom prompt.)

    • Zed’s new beta edit predictions feature offers multi-line code completion and cross-language awareness, proving especially useful for mixed-language projects and repetitive code modifications.
    • 11ty’s data-driven document generation capability enables efficient site building by pairing templates with JSON data files, eliminating the need for multiple individual markdown files.
    • Pagefind provides framework-agnostic static site search functionality with efficient chunked indexing, supporting multiple languages and content types while maintaining small network payloads.

    Zed Edit Predictions (Beta)

    Zed Completions Beta

    I’ve almost entirely switched to Zed for everything but R work (where I use RStudio, since I will not suffer Positron on my systems due to the Microsoft corruption); and, I do a great deal of work in Zed every day. Said work usually involves switching between many projects, which may be Go, Rust, Shell, or Java|TypeScript-based, plus a healthy dose of HTML, CSS, and Markdown mixed in.

    I make heavy use of most of most of Zed’s features, including the AI Assitant Panel and inline AI assistance (which is incredibly handy in the Zed Alacritty terminal, too). I also let Zed collect telemetry, since I work for a startup who uses quite a bit of telemetry in our Visualizer app (so, “fair’s fair”). I mention that last bit as I guess I use Zed just enough for the Zed team to hit me up to test out their beta edit predictions feature. If you’ve used GitHub Copilot or Cody in VS Code/Codium, you’ve experienced edit predictions there. The TLDR for the feature is that Zed’s “Zeta” model has your file and project context at its disposal, keeps track of what you’ve been typing, and tries to pick what it thinks is the likely desired next bit of code or content. The video in the section header does a fine job showing off the functionality.

    I got in the beta right before I started the 11ty conversion of 47 Watch, and I cannot fully descibe how handy it was to perform that port. I haven’t been using VS Codium much, of late, so I don’t know if Cody (et al.) has advanced there enough to have a simialr feature set, but — for starters — Zed’s completion works across multiple source code lines (i.e., it can — with oddly great accuracy — see you’re modifying one tag or bit of code, and can surmize you want to make similar changes to similar lines, and it just “does it” after you tab-complete). In a co-mingled project with a Go microservice back end and HTML/JS/CSS front-end, it has yet to get confused by said source diversity, and consistently suggests proper in-language completions for each file type. In fact, it does an uncanny job suggesting front end route code completions when a new back end REST API handler is added.

    This new feature saved me hours during the porting process, and I’m writing this section mostly to suggest (heh) you give Zed a go again (if you’re not using it already), and try to get into the beta.

    You can disable it entirely or per-project if you don’t want it showing up in, say, a markdown document like the one I’m editing right now, where I want my own words.

    I’ll risk one more bit of extended blather and also note that it is super important to treat all the AI “code for me” tools as actual junior-grade assistants, where you sort of trust the output of the task you’ve given them, but also verify and fully grok said output before using it. And, (finally), I also highly suggest — every so often — doing some of the boring coding you may be offloading to LLM assistants. Think of them as katas that keep your brain grounded in the fundamentals. It’s way too easy to let certain skills atropy if you’re relying on a power tool to do the work for you.

    Zed Bonus Section

    I snuck in this bonus section since one of the few things that kept me from using Zed for editing the Drop posts was the lack of an HTML-based preview for markdown documents. The built-in previewer is fast and looks great, but I can’t copy from it, paste the contents into the WordPress editor, and have formatted content ready to go.

    This Zed task snippet:

    {  "label": "markdown preview",  "command": "pandoc ${ZED_RELATIVE_FILE} -f markdown -t html --metadata title=' ' --no-highlight -s --include-in-header=/Users/hrbrmstr/.cache/darkmeta.html -o /tmp/markdown-preview.html && open /tmp/markdown-preview.html"},

    Uses pandoc with a dark-mode template (see below) to provide the functionality I’m used to from VS Codium. We’ll eventually talk more about Zed tasks in a future Drop.

    <meta name="color-scheme" content="dark light"><style>* {  font-family: sans-serif;}html {  color: #e0e0e0;  background-color: #1a1a1a;}body {  margin: 0 auto;  max-width: 36em;  padding-left: 50px;  padding-right: 50px;  padding-top: 50px;  padding-bottom: 50px;  hyphens: auto;  overflow-wrap: break-word;  text-rendering: optimizeLegibility;  font-kerning: normal;}@media (max-width: 600px) {  body {    font-size: 0.9em;    padding: 12px;  }  h1 {    font-size: 1.8em;  }}@media print {  html {    background-color: white;  }  body {    background-color: transparent;    color: black;    font-size: 12pt;  }  p, h2, h3 {    orphans: 3;    widows: 3;  }  h2, h3, h4 {    page-break-after: avoid;  }}p {  margin: 1em 0;}a {  color: #7eb6ff;}a:visited {  color: #b19eff;}img {  max-width: 100%;}svg {  height: auto;  max-width: 100%;}h1, h2, h3, h4, h5, h6 {  margin-top: 1.4em;  color: #ffffff;}h5, h6 {  font-size: 1em;  font-style: italic;}h6 {  font-weight: normal;}ol, ul {  padding-left: 1.7em;  margin-top: 1em;}li > ol, li > ul {  margin-top: 0;}blockquote {  margin: 1em 0 1em 1.7em;  padding-left: 1em;  border-left: 2px solid #404040;  color: #b0b0b0;}code {  font-family: Menlo, Monaco, Consolas, 'Lucida Console', monospace;  font-size: 85%;  margin: 0;  hyphens: manual;  background-color: #2d2d2d;  color: #e0e0e0;  padding: 0.2em 0.4em;  border-radius: 3px;}pre {  margin: 1em 0;  overflow: auto;  background-color: #2d2d2d;  padding: 1em;  border-radius: 5px;}pre code {  padding: 0;  overflow: visible;  overflow-wrap: normal;  background-color: transparent;}.sourceCode {  background-color: transparent;  overflow: visible;}hr {  background-color: #404040;  border: none;  height: 1px;  margin: 1em 0;}table {  margin: 1em 0;  border-collapse: collapse;  width: 100%;  overflow-x: auto;  display: block;  font-variant-numeric: lining-nums tabular-nums;}table caption {  margin-bottom: 0.75em;}tbody {  margin-top: 0.5em;  border-top: 1px solid #404040;  border-bottom: 1px solid #404040;}th {  border-top: 1px solid #404040;  padding: 0.25em 0.5em 0.25em 0.5em;}td {  padding: 0.125em 0.5em 0.25em 0.5em;}header {  margin-bottom: 4em;  text-align: center;}#TOC li {  list-style: none;}#TOC ul {  padding-left: 1.3em;}#TOC > ul {  padding-left: 0;}#TOC a:not(:hover) {  text-decoration: none;}code{white-space: pre-wrap;}span.smallcaps{font-variant: small-caps;}div.columns{display: flex; gap: min(4vw, 1.5em);}div.column{flex: auto; overflow-x: auto;}div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}ul.task-list[class]{list-style: none;}ul.task-list li input[type="checkbox"] {  font-size: inherit;  width: 0.8em;  margin: 0 0.8em 0.2em -1.6em;  vertical-align: middle;}.display.math{display: block; text-align: center; margin: 0.5rem auto;}</style>

    Data-Driven 11ty Site Generation

    For my 47 Watch project, I edit Executive Orders (et al.) as markdown documents with a particular structure, which makes it easy to turn them into data. After each new edit session in 47 Watch, I rebuild a bunch of data files, including this 11ty master JSON file that contains all the posts nestled up into a nice data frame-esque structure.

    While I could have had a script generate dozens (or, eventually hundreds) of 11thy markdown post files I did not have to. All I needed to do was ensure that aforelinked executive-orders.11tydata.json file was in the right directory and then take advantage of 11ty’s excellent data-driven document generation capability.

    On build, 11ty will pair up the base template (in this case executive-order.njk) with that data file, then proceed to generate as many of the files as there are in the array. The index for that collection will also iterate over the array.

    There are a few Community posts which will help you explore this feature further (or you can clone and play with the 47 Watch code directly).

    Pagefind

    Pagefind is an open-source library that addresses a common challenge in static site development: providing robust search capabilities without relying on external services or heavy server infrastructure.

    I ended up using it for 47 Watch as it has a pretty innovative approach to handling large-scale search operations. The library employs a clever chunking mechanism for its search index, ensuring that folks only download the necessary portions of the index when performing searches. This architectural decision yields some pretty impressive performance metrics — imagine being able to implement full-text search across 10,000 pages while keeping the network payload under 300kB, including the library itself.

    The framework-agnostic nature of Pagefind is especially valuable if you’re a gadfly like I am. Whether you’re working with modern frameworks like Next.js and SvelteKit or traditional static site generators like Jekyll and Hugo, Pagefind operates on the final built files, which eliminates the need for framework-specific implementations or affordances.

    Pagefind’s also has multilingual support and that plus the rich filtering engine makes it particularly suitable for knowledge bases and research-oriented websites. The ability to customize content weighting and metadata tracking allows for fine-tuned search experiences that can be tailored to specific academic or research needs.

    The library’s capability to index non-traditional content types through its NodeJS indexing library — including PDFs and JSON files — extends its utility beyond simple web page searches, making it a versatile tool for comprehensive digital resource management.

    If you look at some of the provided demos (MDN, Godot documentation, and XKCD), you can observe for yourself how Pagefind maintains its performance.

    All I really had to do was add "postbuild": "pagefind --site _site", to the package.json and it worked the first time.

    I had originally intended to use Algolia, but I’m trying to avoid external third-party dependencies for this project, and Pagefind has all of the features I need for the immediate future.

    FIN

    Remember, you can follow and interact with the full text of The Daily Drop’s free posts on:

    • 🐘 Mastodon via @[email protected]
    • 🦋 Bluesky via https://bsky.app/profile/dailydrop.hrbrmstr.dev.web.brid.gy

    Also, refer to:

    to see how to access a regularly updated database of all the Drops with extracted links, and full-text search capability. ☮️

    #1a1a1a #2d2d2d #404040 #7eb6ff #b0b0b0 #b19eff #e0e0e0 #ffffff #TOC

  6. Drop #603 (2025-02-12): Suggest • Static • Search

    Zed Edit Predictions (Beta); Data-Driven 11ty Site Generation; Pagefind

    The Drop is back after the $WORK-fueled hiatus. Travel to and from San Diego was horrendous, and it took most of the weekend to recover from the ~36 hours it took me to get from San Diego back to the Maine compound. The missed Monday Drop was due to porting 47 Watch to Eleventy/11ty. We’ll talk more about that in one of the sections. Tuesday’s miss was due to the ~57 minutes of slumber between Monday and Tuesday thanks to the still unabated long covid resurgence.

    Anyway…

    Thanks to said 11ty work, today’s Drop showcases some of the tech used to make the new site.

    Subscribe

    TL;DR

    (This is an AI-generated summary of today’s Drop using Ollama + llama 3.2 and a custom prompt.)

    • Zed’s new beta edit predictions feature offers multi-line code completion and cross-language awareness, proving especially useful for mixed-language projects and repetitive code modifications.
    • 11ty’s data-driven document generation capability enables efficient site building by pairing templates with JSON data files, eliminating the need for multiple individual markdown files.
    • Pagefind provides framework-agnostic static site search functionality with efficient chunked indexing, supporting multiple languages and content types while maintaining small network payloads.

    Zed Edit Predictions (Beta)

    Zed Completions Beta

    I’ve almost entirely switched to Zed for everything but R work (where I use RStudio, since I will not suffer Positron on my systems due to the Microsoft corruption); and, I do a great deal of work in Zed every day. Said work usually involves switching between many projects, which may be Go, Rust, Shell, or Java|TypeScript-based, plus a healthy dose of HTML, CSS, and Markdown mixed in.

    I make heavy use of most of most of Zed’s features, including the AI Assitant Panel and inline AI assistance (which is incredibly handy in the Zed Alacritty terminal, too). I also let Zed collect telemetry, since I work for a startup who uses quite a bit of telemetry in our Visualizer app (so, “fair’s fair”). I mention that last bit as I guess I use Zed just enough for the Zed team to hit me up to test out their beta edit predictions feature. If you’ve used GitHub Copilot or Cody in VS Code/Codium, you’ve experienced edit predictions there. The TLDR for the feature is that Zed’s “Zeta” model has your file and project context at its disposal, keeps track of what you’ve been typing, and tries to pick what it thinks is the likely desired next bit of code or content. The video in the section header does a fine job showing off the functionality.

    I got in the beta right before I started the 11ty conversion of 47 Watch, and I cannot fully descibe how handy it was to perform that port. I haven’t been using VS Codium much, of late, so I don’t know if Cody (et al.) has advanced there enough to have a simialr feature set, but — for starters — Zed’s completion works across multiple source code lines (i.e., it can — with oddly great accuracy — see you’re modifying one tag or bit of code, and can surmize you want to make similar changes to similar lines, and it just “does it” after you tab-complete). In a co-mingled project with a Go microservice back end and HTML/JS/CSS front-end, it has yet to get confused by said source diversity, and consistently suggests proper in-language completions for each file type. In fact, it does an uncanny job suggesting front end route code completions when a new back end REST API handler is added.

    This new feature saved me hours during the porting process, and I’m writing this section mostly to suggest (heh) you give Zed a go again (if you’re not using it already), and try to get into the beta.

    You can disable it entirely or per-project if you don’t want it showing up in, say, a markdown document like the one I’m editing right now, where I want my own words.

    I’ll risk one more bit of extended blather and also note that it is super important to treat all the AI “code for me” tools as actual junior-grade assistants, where you sort of trust the output of the task you’ve given them, but also verify and fully grok said output before using it. And, (finally), I also highly suggest — every so often — doing some of the boring coding you may be offloading to LLM assistants. Think of them as katas that keep your brain grounded in the fundamentals. It’s way too easy to let certain skills atropy if you’re relying on a power tool to do the work for you.

    Zed Bonus Section

    I snuck in this bonus section since one of the few things that kept me from using Zed for editing the Drop posts was the lack of an HTML-based preview for markdown documents. The built-in previewer is fast and looks great, but I can’t copy from it, paste the contents into the WordPress editor, and have formatted content ready to go.

    This Zed task snippet:

    {  "label": "markdown preview",  "command": "pandoc ${ZED_RELATIVE_FILE} -f markdown -t html --metadata title=' ' --no-highlight -s --include-in-header=/Users/hrbrmstr/.cache/darkmeta.html -o /tmp/markdown-preview.html && open /tmp/markdown-preview.html"},

    Uses pandoc with a dark-mode template (see below) to provide the functionality I’m used to from VS Codium. We’ll eventually talk more about Zed tasks in a future Drop.

    <meta name="color-scheme" content="dark light"><style>* {  font-family: sans-serif;}html {  color: #e0e0e0;  background-color: #1a1a1a;}body {  margin: 0 auto;  max-width: 36em;  padding-left: 50px;  padding-right: 50px;  padding-top: 50px;  padding-bottom: 50px;  hyphens: auto;  overflow-wrap: break-word;  text-rendering: optimizeLegibility;  font-kerning: normal;}@media (max-width: 600px) {  body {    font-size: 0.9em;    padding: 12px;  }  h1 {    font-size: 1.8em;  }}@media print {  html {    background-color: white;  }  body {    background-color: transparent;    color: black;    font-size: 12pt;  }  p, h2, h3 {    orphans: 3;    widows: 3;  }  h2, h3, h4 {    page-break-after: avoid;  }}p {  margin: 1em 0;}a {  color: #7eb6ff;}a:visited {  color: #b19eff;}img {  max-width: 100%;}svg {  height: auto;  max-width: 100%;}h1, h2, h3, h4, h5, h6 {  margin-top: 1.4em;  color: #ffffff;}h5, h6 {  font-size: 1em;  font-style: italic;}h6 {  font-weight: normal;}ol, ul {  padding-left: 1.7em;  margin-top: 1em;}li > ol, li > ul {  margin-top: 0;}blockquote {  margin: 1em 0 1em 1.7em;  padding-left: 1em;  border-left: 2px solid #404040;  color: #b0b0b0;}code {  font-family: Menlo, Monaco, Consolas, 'Lucida Console', monospace;  font-size: 85%;  margin: 0;  hyphens: manual;  background-color: #2d2d2d;  color: #e0e0e0;  padding: 0.2em 0.4em;  border-radius: 3px;}pre {  margin: 1em 0;  overflow: auto;  background-color: #2d2d2d;  padding: 1em;  border-radius: 5px;}pre code {  padding: 0;  overflow: visible;  overflow-wrap: normal;  background-color: transparent;}.sourceCode {  background-color: transparent;  overflow: visible;}hr {  background-color: #404040;  border: none;  height: 1px;  margin: 1em 0;}table {  margin: 1em 0;  border-collapse: collapse;  width: 100%;  overflow-x: auto;  display: block;  font-variant-numeric: lining-nums tabular-nums;}table caption {  margin-bottom: 0.75em;}tbody {  margin-top: 0.5em;  border-top: 1px solid #404040;  border-bottom: 1px solid #404040;}th {  border-top: 1px solid #404040;  padding: 0.25em 0.5em 0.25em 0.5em;}td {  padding: 0.125em 0.5em 0.25em 0.5em;}header {  margin-bottom: 4em;  text-align: center;}#TOC li {  list-style: none;}#TOC ul {  padding-left: 1.3em;}#TOC > ul {  padding-left: 0;}#TOC a:not(:hover) {  text-decoration: none;}code{white-space: pre-wrap;}span.smallcaps{font-variant: small-caps;}div.columns{display: flex; gap: min(4vw, 1.5em);}div.column{flex: auto; overflow-x: auto;}div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}ul.task-list[class]{list-style: none;}ul.task-list li input[type="checkbox"] {  font-size: inherit;  width: 0.8em;  margin: 0 0.8em 0.2em -1.6em;  vertical-align: middle;}.display.math{display: block; text-align: center; margin: 0.5rem auto;}</style>

    Data-Driven 11ty Site Generation

    For my 47 Watch project, I edit Executive Orders (et al.) as markdown documents with a particular structure, which makes it easy to turn them into data. After each new edit session in 47 Watch, I rebuild a bunch of data files, including this 11ty master JSON file that contains all the posts nestled up into a nice data frame-esque structure.

    While I could have had a script generate dozens (or, eventually hundreds) of 11thy markdown post files I did not have to. All I needed to do was ensure that aforelinked executive-orders.11tydata.json file was in the right directory and then take advantage of 11ty’s excellent data-driven document generation capability.

    On build, 11ty will pair up the base template (in this case executive-order.njk) with that data file, then proceed to generate as many of the files as there are in the array. The index for that collection will also iterate over the array.

    There are a few Community posts which will help you explore this feature further (or you can clone and play with the 47 Watch code directly).

    Pagefind

    Pagefind is an open-source library that addresses a common challenge in static site development: providing robust search capabilities without relying on external services or heavy server infrastructure.

    I ended up using it for 47 Watch as it has a pretty innovative approach to handling large-scale search operations. The library employs a clever chunking mechanism for its search index, ensuring that folks only download the necessary portions of the index when performing searches. This architectural decision yields some pretty impressive performance metrics — imagine being able to implement full-text search across 10,000 pages while keeping the network payload under 300kB, including the library itself.

    The framework-agnostic nature of Pagefind is especially valuable if you’re a gadfly like I am. Whether you’re working with modern frameworks like Next.js and SvelteKit or traditional static site generators like Jekyll and Hugo, Pagefind operates on the final built files, which eliminates the need for framework-specific implementations or affordances.

    Pagefind’s also has multilingual support and that plus the rich filtering engine makes it particularly suitable for knowledge bases and research-oriented websites. The ability to customize content weighting and metadata tracking allows for fine-tuned search experiences that can be tailored to specific academic or research needs.

    The library’s capability to index non-traditional content types through its NodeJS indexing library — including PDFs and JSON files — extends its utility beyond simple web page searches, making it a versatile tool for comprehensive digital resource management.

    If you look at some of the provided demos (MDN, Godot documentation, and XKCD), you can observe for yourself how Pagefind maintains its performance.

    All I really had to do was add "postbuild": "pagefind --site _site", to the package.json and it worked the first time.

    I had originally intended to use Algolia, but I’m trying to avoid external third-party dependencies for this project, and Pagefind has all of the features I need for the immediate future.

    FIN

    Remember, you can follow and interact with the full text of The Daily Drop’s free posts on:

    • 🐘 Mastodon via @[email protected]
    • 🦋 Bluesky via https://bsky.app/profile/dailydrop.hrbrmstr.dev.web.brid.gy

    Also, refer to:

    to see how to access a regularly updated database of all the Drops with extracted links, and full-text search capability. ☮️

    #1a1a1a #2d2d2d #404040 #7eb6ff #b0b0b0 #b19eff #e0e0e0 #ffffff #TOC

  7. Mario Land D6

    To Nina Nadu and to my children, Olivia and Henry, you all are myeverything

    ©  2024. William Moore. This document is licensed under the OPEN GAMINGLICENSE Version 1.0a.

    Credits

    The author would like to thank LaTeX  and Krita (https://krita.org).Without these tools, this document would not be possible.

    This game would not have been possible without the play testingperformed by the Clowns Gang, which the following participated in thetesting:

    =2em=2em Henry Moore, Olivia Moore, William Moore

    All characters in the book are ©  and registered trademarks ofNintendo.

    The setting of Mario Land game system is loosely based on the worldssurrounding the Super Mario  games and takes the name directly from theGameBoy  Super Mario  games. The role-playing system used is OpenD6(https://opend6project.org/). OpenD6 is a game strictly using six-sideddice. This book will present the rules for OpenD6 as they apply to MarioLand RPG. Additionally, you can use aspects from the base game with itswild (and WILD) six-sided dice or you can use any of its flavors.

    In this book, when referring to a number followed by a D, this isreferring to a six-sided die. For example, Burlock has an attributewith 5D+1 as its value. This means they roll 5 six-sided dice and add 1to it.

    To play the Mario Land role-playing game, you will need some tokensand a few six-sided dice, which can be found just about anywhere anddon’t need to really be accurate, unless you want them to be.

    What is outside the scope of this book is how to be a greatgamemaster, a great player, and role-playing in general. The authorfeels strongly it has been covered to death in other role-playing gamesand other materials, which can do these topics greater justice.

    The part on the “Denizens and Places of Mario Land” should containcomplete information from Super Mario 1 and Super Mario 2, and it willcontain partial information from Super Mario 3. While not an exhaustivelist, it should serve as a starter, and inspiration, for what you wantin your own adventures!

    D6 Basics

    Character Creation

    Each player begins creation with 18D to be distributed among theirattributes and skills. These dice can be broken into +1’s. There arethree +1’s per die. At +3, it becomes 1D. So, there can be 1D, 1D+1, and1D+2.

    Attributes

    There are six attributes: Coordination (dexterity in some games),Endurance (stamina in other games), Reflexes (also known as agility),Knowledge, Intellect, and Strength (most games contain this attributename). At the beginning of the game, characters can only put no morethan 2D in a given attribute. These attributes add their dice to theskills or may be used on their own to perform actions.

    Movement

    In 5 seconds, players move 10 meters. Using a Reflexes roll withdifficulty equal to the number of meters moved rounded up to the nearest10, a player may move faster.

    Skills

    In OpenD6, skills represent actions a player may take and are basedon an attribute or a combination of attributes. They are given adifficulty number and players must roll this number or higher. In MarioLand, there is a decidedly smaller list than what the standard OpenD6rules contains. However, any of the standard skills can be used withprecedence given towards those presented in this book.

    There are difficulty values assigned to ranges for skill checks. Thefollowing table describes them.

    DifficultyResult RangeVery Easy1 – 5Easy6 – 10Moderate11 – 15Difficult16 – 20Very Difficult21 – 25Heroic26 – 30Heroic+31+

    For everything inside “<  >”, it must be taken multiple timesfor a different aspect. For example, Burlock wants to brawl and domartial arts. They must take Weaponless Fighting multiple times.For abilities that deal damage, it is equal to the ability value, unlessotherwise specified. Burlock has martial arts at 2D+1. This means ona successful check, this is what the player must roll to determinedamage.

    Acrobatics – Based On Reflexes. Requires 5 seconds.They may do any acrobatic task, including those to reasonably avoiddamage from falling. The difficulty of the action is determined by howdifficult the ask is.

    Customs of <Specific Region> – Based OnIntellect. Requires 5 seconds. They have knowledge of a particularcustom or customs of a given region. This may be taken multiple timesbut only for a different region. General Traditions have an Easydifficulty. The meanings of said traditions are Moderate. Finally, fullknowledge of the esoteric ones is Very Difficult.

    Etiquette of <Specific Region> – Based OnKnowledge and Intellect. Requires 5 seconds. They have knowledge ofsocietal behaviors which are considered generally acceptable. This maybe taken multiple times but only for a different region. Proper tablemanners have an Easy difficulty. Specific forms of conduct are Moderate.Finally, full knowledge of all ceremonies is Very Difficult.

    History of <Area> – Based On Knowledge andIntellect. Requires 5 seconds. They have knowledge of an areaṪhis may betaken multiple times but only for a different region. Knowledge of majorevents is an Easy difficulty. This such as nations, leaders, and warsfought are Moderate. Next, legends and myths are Difficuilt. Finally,ancient knowledge is Very Difficult.

    Jumping – Based On Reflexes and Strength. Requires 5seconds. Jump splendidly in any direction. Add +5 for each horizontalmeter and +10 for vertical meter which the character will jump. This canbe used as an attack dealing 2D+1 damage.

    Lore – Based On Knowledge and Intellect. Requires 5seconds. They may learn any amount of lore, arcane or otherwise. Thedifficulty increases by 1 for each subsequent attempt after failure.

    <Melee Weapon> – Based On Reflexes. Requires 5seconds. May use an attack with a specific melee weapon.

    <Missile Weapon> – Based On Coordination.Requires 5 seconds. May use an attack with a specific missileweapon.

    Ostro Riding – Based On Reflexes. Requires 5seconds. An Ostro may be ridden. The skill difficulty is determined byhow disagreeable is their temperment.

    <Weaponless Fighting> – Based On Reflexes.Requires 5 seconds. May use an attack fitting in one of the followingcategories: martial arts, wrestling, or brawling. If multiple categoriesare desired, this skill must be taken multiple times.

    Character Evolution

    At the end of each session, the storyteller gives character pointsout to the players and in the intersession, they can use to evolve theircharacters. Only skills may be improved and to do so involves spendingcharacter points.

    To improve the skill by +1, the player will spend an amount ofcharacter points equal to the part before the D. For example, 15D+2requires spending 15 character points to make it 16D.

    Alternatively, the player may choose to add to their skills. Thisfollows the same pattern. If the player wantes to learn a specificmelee weapon, they will need to spend a character point to get 1D(+0) init.

    Character Death

    If a character receives 5 wounds, they are immediately dead. However,a green-speckled mushroom, for example, may bring them back to 4 woundsif the other characters can get them to eat it. Otherwise, they’re gonefor good.

    Weapons

    Buzzy Beetle Shell – A shell which will bouncearound the area, wrecking havock and dealing +1 damage every time itmakes contact with something, when kicked. It will not stop untilsomeone jumps on top of it.

    Cobrat Shooters – A small Cobrat which shoots abullet dealing +1 damage upon contact.

    Koopa Troopa Shell – A shell which will bouncearound the area, wrecking havock and dealing +1 damage every time itmakes contact with something, when kicked. It will not stop untilsomeone jumps on top of it.

    Super Hammer – A large hammer which can be used toattack for +2 damage on a given target.

    Power-Ups

    Power-ups, when activated by players, confer on them some sort ofability. Unless specified, these abilities are permanent until theplayer receives any wounds after activating the ability.

    Fireflower – When touched by the player, thefireflower disintegrates and grants the player:

    =2em=2em Shoot fireball (Coordination roll) – Target may make aReflexes roll to avoid. Deals +2 damage if successful.

    Green-speckled Mushroom – When consumed by theplayer, this heals the player 1 wound.

    Leaf – When touched by the player, the leafdisintegrates and the player dons a raccoon suit which only revealstheir face and hands. Grants the player the ability to fly. Can strikewith the following:

    =2em=2em Tail attack (Coordination roll) – Target may make aReflexes roll to avoid. Deals +2 damage if successful.

    Red-speckled Mushroom – When consumed by the player,this doubles the player’s height and strength based dice.

    Starman – When touched by the player, the starmandisintegrates and grants the player invincibility and automaticallydefeats any enemies. Lasts 10 rounds.

    Tanooki – When touched by the player, the tanookidisintegrates and the player dons a tanooki suit which only revealstheir face and hands. Grants the player the ability to fly. Can strikewith the following:

    =2em=2em Tail attack (Coordination roll) – Target may make aReflexes roll to avoid. Deals +2 damage if successful.

    =2em=2em Turn to stone (Endurance) – Turn to stone, madeimmovable, and rendered invincible for 2 rounds. Once used, cannot beused for the rest of combat.

    Actions

    Combat

    Combat in OpenD6 is straight-forward. First, everyone rolls theirReflexes attributes to determine play order, ties are rerolled to breakthem. Next, when an encounter occurs, the steps are as follows:

    1. Apply Offense modifiers

    2. Roll attack dice (e.g. Reflexes for melee weapons)

    3. Compare to attack difficulty

    4. If hit, roll damage (e.g. Strength on a melee weapon)

    5. Defender subtracts Endurance dice and applies result determinewounds.

    The general idea is for every factor the damage roll is over theendurance, this is the wounds. For example, an attacker rolls 22 fortheir damage dice and the player rolls 10 for their Endurance. Thisattack is worth 2 wounds because it is less than 30 but greater than20.

    Something to keep in mind. If the character performs a defense, thiscounts as an action for the round.

    Dice Rolling

    This section is all about the rolling of the six-sided dicedetermining the fate of players and their adversaries.

    Skill Rolls

    When a skill is rolled, the player will combine the attribute dicewith the skill dice, keeping in mind the fact a +3 bonus results in anew die. The rule of thumb is always “Higher isbetter!

    Wild Dice

    “Wild dice” are dice set aside with the start of each roll. Alwayshave one die be different somehow than the others when doing dice rolls.This is referred to as the “wild die”. One of three things can happenwith this die. If it rolls a one, it is critical failure and and youimmediately fail the skill attempt. If a six is rolled, it meanssomething special happened. Add another die roll to the total, includingthis six, and may roll again and again if continuous sixes are rolled.Otherwise, it acts just like any old die result getting added to thetotal.

    Denizensand Places of Mario Land

    Heroes

    In Mario Land, there are a handful of creatures which may help youout. This chapter lists their abilities because it is assumed at thispoint you know all about them.

    Generic Toads – All stats are 1D. They punch for1D-1.

    Luigi

    =2em=2em Attributes: Coordination: 1D; Endurance:1D; Reflexes: 2D; Knowledge 1D; Intellect: 1D; Strength: 2DSkills: Jump (4D); Ostro Riding (2D); Super Hammer(2D); Cobrat Shooters (2D)

    Mario

    =2em=2em Attributes: Coordination: 2D; Endurance:2D; Reflexes: 4D; Knowledge 1D; Intellect: 1D; Strength: 4DSkills: Jump (4D); Ostro Riding (2D); Super Hammer(2D); Cobrat Shooters (2D)

    Princess Peach Toadstool – All stats are 1D. She hasthe following special ability outside punching:

    =2em=2em Fly (Coordination) – She may hover over the ground for1D rounds.

    Toad – All stats are 2D.

    Baddies

    In Mario Land, there are a number of baddies found. Each onepossessing different abilities and features. They range from small tobig and can be bosses. For the sake of ease, all baddies have the samedice for each of the 4 main stats. There is some assumption offamiliarity for the way each of the baddies looks. Therefore, there willbe no description.

    Small Baddies

    All small baddies have 1D for all their stats and attacks do 1D+1damage, unless otherwise specified. Furthermore, they can only take 1wound before being defeated.

    Albatoss – Flies around. Has only two attacks: dropbob-ombs and bite.

    Beezo – Flies around. Has only one attack: stabusing their tridents.

    Blooper – Found only in water. Has only one attack:tentacle sting.

    Bob-omb – Walks back and forth. When injured or anenemy is sighted, they stand still and explode after 3 rounds, dealingdamage to everything within 10 feet.

    Bullet Bill – Only flies around and emerges fromspecific bullet bill shooters. Has only one attack: shove. Cannot beharmed by punching due to the hard shell.

    Buzzy Beetle – Walks around. Immune to fire. Hasonly one attack: bite. If defeated, hides in shell and shell can be usedas a weapon. After 10 rounds, emerges from the shell and tries to punchwhoever is holding the shell deemed an enemy.

    Cheep-cheep – Flies for 2 rounds from water and thengoes back into the water. Has only one attack: bite.

    Cobrat – Found in tall pots. Emerges every 5 roundsand tries to bite or, additionally, shoot bullets from their mouth.

    Flurry – Only walks around and found in frozenclimates. Has only one attack: kick.

    Hoopster – Climbs vines endlessly. Has only oneattack: bite.

    Goomba – Only walks around. Has only one attack:bite.

    Hammer Bro – Walks back and forth. One attack: throwhammer.

    Koopa Troopa – Only walks around. Has only oneattack: punch. If defeated, hides in shell and shell can be used as aweapon. After 10 rounds, emerges from the shell and tries to punchwhoever is holding the shell deemed an enemy.

    Koopa Paratroopa – Can either walk around or flyaround for 2 rounds. Has only one attack: punch. If attacked, the wingsfly off and acts like a regular Koopa Troopa. If defeated, hides inshell and shell can be used as a weapon. After 10 rounds, emerges fromthe shell and tries to punch whoever is holding the shell deemed anenemy.

    Laikitu – Flies around on a cloud, throwing spinyeggs at the ground, which immediately hatch into a Spiny.

    Ninji – Has only one attack: karate chop.

    Panser – Cannot move. Every 5 rounds, it opens theflower and fires 3 fireballs into the air, which slowly fall to theground and fizzle out when touching the ground, and cause damage whentouched.

    Para-Goomba – Can either walk around or fly for 2rounds. Has only one attack: bite. If attacked, the wings fly off andacts like a regular Goomba.

    Phanto – Cannot move unless summoned by stealingtheir treasure. Once their treasure is stolen, they emerge from the walland chase the thief until the treasure is returned or dropped.

    Pidgit – Flies around on a magic carpet. Has onlyone attac: bite. Can be defeated and their magic carpet stolen.

    Piranha Plant – Found in pipes. Emerges every 5rounds and tries to bite. Additionally, they may also have another: spitfireball.

    Pokey – Moves back and forth and found only indeserts. When touched, the spikes deal 1 wound. When attacked, onesegment is destroyed and Pokeys are not defeated unless all segments aredestroyed.

    Shy Guy – Only walks around. Has only one attack:shove.

    Small Fry Guy – Walks back and forth. Two attacks:punch and spit fireball. Small Fry Guy is immune to fire attacks.

    Snifit – Only walks around. Has only one attack:shoot bullets from mouth.

    Spark – Moves back and forth along a predeterminedpath. Has one attack: energy burst, which deals damage if within 5feet.

    Spiny – Moves back and forth. When touched, thespikes deal 1 wound. Has one attack: bite.

    Trouter – Swims around in water and up waterfalls.Has one attack: bite.

    Tweeter – Runs around hopping, periodically. Has oneattack: peck.

    Big Baddies

    All big baddies have 3D for all their stats. Additionally, they mayonly take 2 wounds. Their attacks do 2D+1 damage.

    Birdo – Walks back and forth. Two attacks: punch andshoot eggs.

    Fryguy – Walks back and forth. Two attacks: punchand spit fireball. Fry Guy is immune to fire attacks.

    Mouser – Walks back and forth. Two attacks: punchand throw bob-ombs.

    Tryclyde – Walks back and forth. One attack: spitfireball from all three heads with each fireball treated as a separateattack.

    Bosses

    All bosses have 5D for their stats, deal 3D+1 damage with theirattacks, and can take 5 wounds.

    Bowser Koopa – Walks back and forth. Two attacks:fire breath and punch.

    Wario – Walks back and forth. Two attacks: punch andthrow bob-oms.

    Wart – Walks back and forth, spitting up vegetables.Other than the damage from spitting up vegetables which hit targets,Wart has one attack: punch.

    Vehicles

    Autobomb – Controls allow the shooting of afireball, which does a Reflexes roll +2 damage.

    Flying Koopa Ships – A giant flying fortresscontaining traps, pitfalls, rotating cannons, and Bullet Bill shooters,as well as various small baddies.

    Mechanical Shoe – Has one attack: stomp, which doesa Coordination roll +1 damage.

    Ostro – Has one attack: peck, which does 1D+1damage.

    Kingdoms

    Again, as mentioned previously, not much effort will go intodescribing these individual lands because they’re mentioned in othersources. Instead, I will list those relevant to this book. If astoryteller wishes to use others from other games, feel free!

    Koopa Kingdom – The kingdom ruled by the ruthlessBowser Koopa.

    Mushroom Kingdom – This is the land of Toads andruled by Princess Peach Toadstool.

    SubCon – The kingdom of Wart and only enterablethrough dreams.

    Adventures

    Adventures in Mario Land can take on any form and can, through themagic of OpenD6, use anything from compatible games. However, thissection will present a few adventure hooks to get you started. Here area few suggested hooks:

    Mario is lost in the land of SubCon. He’s running from way too manyShy Guys and Snifits. Can he reach Wart in time and free the land of histyranny?

    Bowser has, yet again, captured Princess Toadstool. Will Mario andLuigi, armed with the power of their raccoon suits, be able to save herin time?

    The players are enlisted to figure out why buildings are mysteriouslygetting set on fire in the Mushroom Kingdom. Is this the work ofFryguy?

    Armed with bomb-omb shooters and Cobrats, they are invading the KoopaKingdom. Can they discover if the rumor of Bowser building airships?

    A large group of Goombas keep eating all the crops. Can the team stopthem?

    The team of players need to cleanse Princess Toadstool’s castle inthe Mushroom Kingdom of errant Koopa Troopa and Koopa Paratroopasresiding in the castle and running amok. Will the players save thecastle in time before doing too much damage?

    OPEN GAMELICENSE Version 1.0a

    The following text is the property of Wizards of the Coast, Inc. andis Copyright 2000 Wizards of the Coast, Inc (“Wizards”). All RightsReserved.

    1. Definitions: (a)”Contributors” means the copyright and/ortrademark owners who have contributed Open Game Content; (b)”DerivativeMaterial” means copyrighted material including derivative works andtranslations (including into other computer languages), potation,modification, correction, addition, extension, upgrade, improvement,compilation, abridgment or other form in which an existing work may berecast, transformed or adapted; (c) “Distribute” means to reproduce,license, rent, lease, sell, broadcast, publicly display, transmit orotherwise distribute; (d)”Open Game Content” means the game mechanic andincludes the methods, procedures, processes and routines to the extentsuch content does not embody the Product Identity and is an enhancementover the prior art and any additional content clearly identified as OpenGame Content by the Contributor, and means any work covered by thisLicense, including translations and derivative works under copyrightlaw, but specifically excludes Product Identity. (e) “Product Identity”means product and product line names, logos and identifying marksincluding trade dress; artifacts; creatures characters; stories,storylines, plots, thematic elements, dialogue, incidents, language,artwork, symbols, designs, depictions, likenesses, formats, poses,concepts, themes and graphic, photographic and other visual or audiorepresentations; names and descriptions of characters, spells,enchantments, personalities, teams, personas, likenesses and specialabilities; places, locations, environments, creatures, equipment,magical or supernatural abilities or effects, logos, symbols, or graphicdesigns; and any other trademark or registered trademark clearlyidentified as Product identity by the owner of the Product Identity, andwhich specifically excludes the Open Game Content; (f) “Trademark” meansthe logos, names, mark, sign, motto, designs that are used by aContributor to identify itself or its products or the associatedproducts contributed to the Open Game License by the Contributor (g)“Use”, “Used” or “Using” means to use, Distribute, copy, edit, format,modify, translate and otherwise create Derivative Material of Open GameContent. (h) “You” or “Your” means the licensee in terms of thisagreement.

    2. The License: This License applies to any Open Game Content thatcontains a notice indicating that the Open Game Content may only be Usedunder and in terms of this License. You must affix such a notice to anyOpen Game Content that you Use. No terms may be added to or subtractedfrom this License except as described by the License itself. No otherterms or conditions may be applied to any Open Game Content distributedusing this License.

    3. Offer and Acceptance: By Using the Open Game Content You indicateYour acceptance of the terms of this License.

    4. Grant and Consideration: In consideration for agreeing to use thisLicense, the Contributors grant You a perpetual, worldwide,royalty-free, non-exclusive license with the exact terms of this Licenseto Use, the Open Game Content.

    5.Representation of Authority to Contribute: If You are contributingoriginal material as Open Game Content, You represent that YourContributions are Your original creation and/or You have sufficientrights to grant the rights conveyed by this License.

    6.Notice of License Copyright: You must update the COPYRIGHT NOTICEportion of this License to include the exact text of the COPYRIGHTNOTICE of any Open Game Content You are copying, modifying ordistributing, and You must add the title, the copyright date, and thecopyright holder’s name to the COPYRIGHT NOTICE of any original OpenGame Content you Distribute.

    7. Use of Product Identity: You agree not to Use any ProductIdentity, including as an indication as to compatibility, except asexpressly licensed in another, independent Agreement with the owner ofeach element of that Product Identity. You agree not to indicatecompatibility or co-adaptability with any Trademark or RegisteredTrademark in conjunction with a work containing Open Game Content exceptas expressly licensed in another, independent Agreement with the ownerof such Trademark or Registered Trademark. The use of any ProductIdentity in Open Game Content does not constitute a challenge to theownership of that Product Identity. The owner of any Product Identityused in Open Game Content shall retain all rights, title and interest inand to that Product Identity.

    8. Identification: If you distribute Open Game Content You mustclearly indicate which portions of the work that you are distributingare Open Game Content.

    9. Updating the License: Wizards or its designated Agents may publishupdated versions of this License. You may use any authorized version ofthis License to copy, modify and distribute any Open Game Contentoriginally distributed under any version of this License.

    10. Copy of this License: You MUST include a copy of this Licensewith every copy of the Open Game Content You Distribute.

    11. Use of Contributor Credits: You may not market or advertise theOpen Game Content using the name of any Contributor unless You havewritten permission from the Contributor to do so.

    12. Inability to Comply: If it is impossible for You to comply withany of the terms of this License with respect to some or all of the OpenGame Content due to statute, judicial order, or governmental regulationthen You may not Use any Open Game Material so affected.

    13. Termination: This License will terminate automatically if Youfail to comply with all terms herein and fail to cure such breach within30 days of becoming aware of the breach. All sublicenses shall survivethe termination of this License.

    14. Reformation: If any provision of this License is held to beunenforceable, such provision shall be reformed only to the extentnecessary to make it enforceable.

    15. COPYRIGHT NOTICE

    Open Game License v 1.0 Copyright 2000, Wizards of the Coast, Inc.The D6 System (WEG 51005), Copyright 1996, West End Games West EndGames, WEG, and D6 System are trademarks and properties of PurgatoryPublishing Inc.

    PRODUCT IDENTIFICATION:

    Product Identity: The D6 System; the D6 trademark, the D6 and relatedlogos; OpenD6 and any derivative trademarks; and all cover and interiorart and trade dress are designated as Product Identity (PI) and areproperties of Purgatory Publishing Inc. Use of this PI will be subjectto the terms set forth in the D6 System/OpenD6 System Trademark License(D6STL). Open Game Content: All game mechanics and materials not coveredunder Product Identity (PI) above.

    https://caranmegil.com/2024/03/10/mario-land-d6/

    #1a1a1a #606060 #e6e6e6 #fdfdfd #TOC

  8. @kyleshevlin Aaaaah, I follow. You actually can (and often do) create arbitrary classes with Tailwind, tho. I'm thinking of things like text-[#1a1a1a], or custom gradient backgrounds.

    I think the difference is that Tailwind creates more friction in that process, whereas it's the default in CSS.

  9. @kyleshevlin Aaaaah, I follow. You actually can (and often do) create arbitrary classes with Tailwind, tho. I'm thinking of things like text-[#1a1a1a], or custom gradient backgrounds.

    I think the difference is that Tailwind creates more friction in that process, whereas it's the default in CSS.