List of Updates to Existing Pages
Gathered in one place, all updates made to pages for Take on Rules. There are four components of each update:
- Date
- Page Title
- Link to Page
- Content of the Update
update: I switched the Updates page from TABLE html element to a series of DETAILS html elements.
Updates
Invoke Patron, a “World without Number” Form
updateOn Reddit someone suggested mentioning the existing support that WWN has for patrons. Certainly the Infernal Iterum Tools section of WWN could be useful. As would the Character Tags section of The Atlas of the Latter Earth 📖.
Creating an Emacs Function to Create Yardoc Stubs
updateI received an email pointing out that I had mixed the treesit
(e.g. treesit-inspect-node-at-point
) and tree-sitter
(e.g. tsc-get-child-by-field
) functions.
Gah! I had that in my kill-ring
. I also tried the following to no avail:
(let ((func-node (tree-sitter-node-at-point 'method))
(params (tsc-get-child-by-field func-node ':method_parameters)))
(message "%s" params))
The email also pointed out that my “Reply by Email” link was broken; so I fixed that.
Thank you dear reader!
The updated version of my Denote config is available at https://git.sr.ht/~jeremyf/dotemacs/tree/main/item/emacs.d/jf-denote.el
My “live” version of my Denote config is available at https://github.com/jeremyf/dotemacs/blob/main/emacs.d/denote-emacs-configuration.org
A Second Walk Through of Composing a SQL Query
updateOn DEV.to, someone pointed me to a simplification:
SELECT
user_id,
count( DISTINCT extract(isodow from created_at)) AS created_at_ctd
FROM
page_views
WHERE
created_at > CURRENT_DATE - 7
AND
user_id IS NOT NULL
GROUP BY
user_id
HAVING
count( DISTINCT extract(isodow from created_at)) >= 4
;
Gearing up to Run Creative Options Role-Playing Engine (CORE)
Tod has released the CORE Micro rules under the Creative Commons Attribution License CC-BY 4.0.
update
A reader reminded me of the XKCD #1205: Is It Worth the Time?.
That comic strip provides some guidelines on how long it will take to see a return on time spent for a task.
My hope, in my post, is to allude to the compounding nature of working on your toolset. To not simply look at the how much time will I save but to leaves space to answer the following question:
While I’m figuring out and telling the computer how to save me time on this task, what else am I learning about myself and my toolset?
In other words, take time to play (as in the developmental process by which we learn) with your tools.
A Sixth Winter Haiku 2022 Edition
updateWhen I originally wrote this, I mispelled whiteness as whitness. I corrected it before I published. But then I got to thinking, is witness or whiteness more fitting? And then there’s whit-ness. So, I wonder, what is the correct version?
My intention was whiteness, but I love the little bits of word-play from a typo.
Caffeinated Dream States and Leaving a Job
I first published this on but didn’t “socialize it” it on Twitter.
Caffeinated Dream States and Leaving a Job
I don’t know who made those claims, but this is a reminder to consider Relationship Triangles. In this case, the person that received the initial statement became the “Rescuer.” Their initial response to a statement weighs heavily on how the situation and narrative develops.
Caffeinated Dream States and Leaving a Job
The Wayback Machine has a copy of the Github conversation which began the slow march towards affirming the status quo.
Caffeinated Dream States and Leaving a Job
It appears that my former employer has taken steps to edit and remove history, here’s a PDF of my screen shots for this pull request.
Iterating on a Hiring Process (Part 2)
One organization refined the process, in the first part of the screening interview they first answer the applicant’s questions. After answering those questions, the interviewers ask their follow-up questions of the candidate. That refinement helps ease into an interview, and those responses help the candidate get a sense of the interviewers.
Do I Now Favor Online over Face to Face?
updateI forgot to mention, but Alex Schroeder brought up one other consideration for online gaming:
There are some things that don’t quite work as well. If the group is large, it’s hard to joke with your table neighbour while somebody else is taking their turn. I’m easily bored and seeing human faces nearby keeps my monkey brain busy. But the more I think about it, the more I’m inclined to just play with fewer people and use rules that don’t have long fights, or don’t have a level up system that results in combat slowing down the longer we play.
I’ve always struggled with limiting the number of players at the table. In years past, I’d think there’s always room. After all, if I’m the one running the game, I have a lot of control over pacing. But, when faced with a wall of faces, that very reality becomes quite different.
Give me an online game with 4 people; that’s my happy spot.
The Circles Subsystem of “Burning Wheel Gold”
updateAs I’ve thought more on the subject of the Circles subsystem, I also began realizing that one of the things that draws me to RPGs 📖 is the chance to act and improvise. The Circles subsystem provides a place for me as a player to guarantee a moment of in-character dialogue. And with the framing of task and intent and consequences, there’s at a minimum implicit bounds for the scene.
Blades in the Dark Probabilities
Checkout Probabilities of 2d6 Compared to d6 Dice Pools – Troy Press for additional comparisons between Blades in the Dark and the “traditional” 2d6 Powered by the Apocalypse 📖 game.
To Link Test or Not in Burning Wheel Gold
updatePaulo De Tiège posted on Reddit the following addition to this post:
An interesting post as usual, thank you for linking this. The post focused on the mechanical aspect of Artha generation vs test opportunity, but I'd also focus on the narrative aspect of it all.
If the narrative is focused on having the players talk to the duke, I'd use a single test to make this a small footnote in the story of them getting to talk to the duke; however, if the narrative is a heist to steal the Duke's jewels, I'd absolutely use more linked tests to put the microscope on the individual steps and increase the dramatic potential. ("Oh no! The guard raises the alarm! Mad scramble for the exit after having yanked the jewels back out of their hands!")
This does, of course, tie in with BITs, as you suggested.
Ever Further Refinements of Org Roam Usage
In Diving into the Implementation of Subject Menus for Org Roam, I wrote about the implementation details for the following post.
A Wonderful Cascade of Tests in Burning Wheel
Nentres has a B4 Will, Beren a B5 Will (which gives +2D for help), and Sir Vaughn a B6 (which gives +2D for help).
Emacs Script to Review Git Status of Repositories
After some input on /r/emacs, I wrote Using Magit Built-in Functions for Workflow. Those changes supplant what I’ve written below.
Burning Wheel and What’s the Deal with Wises
Someone pointed out that allowing some one to FoRK other wises would make sense. And I agree. If, in the above scenario, my character has Knight-wise and Military Campaign-wise, then I’d certainly consider those valid FoRKs.
As Aidan and I have talked, we can’t recall a time that he’s won. I think I’m at a 99% or greater win percentage for Wyatt Earp
Using the Eberron Setting and “Worlds without Number” System
In 5E, the Mark of Finding lets you cast hunter’s mark; which if you blur your eyes a bit is what my version of the Mark of Finding does.
Using the Eberron Setting and “Worlds without Number” System
Is quality too vague? Originally I thought about material or compound. But why not go for something far more abstract. In 5E, the Mark of Detection lets you cast detect magic or detect poison and disease. But that seems rather boring. Why not open this up to something more abstract.
Amplifying the Blogosphere (v2021-06-13)
Trollish Delver posted an update Have I Thrown Baby out with Bathwater.
Amplifying the Blogosphere (v2021-06-13)
From Trollish Delver cuts ties with Tunnels & Trolls in Ken St Andre protest:
Ken St. Andre has since apologised for joining the conversation. St Andre has clarified his position, stating that he simply objects to anyone telling him how to behave and that he doesn’t like racists either.Notice, someone made a flippant response, another person held them to account, and the initial responder clarified. In other words, challenge those “neutral” statements.Quite true. @ammourazz, I apologize for saying anything in a conversation that I wasn’t actually part of. I just kind of resent others telling me implicitly or explicitly how I must behave unless I work for them. I don’t like racists either. — Ken St. Andre (@Trollgodfather) June 13, 2021
Thinking Through Group Rolls for Stars and Worlds without Number
As a point of clarification, if one or more of the helpers succeed, then add a single +1 to the main character’s roll. This is a restatement of Stars without Number: Revised Edition’s Aiding a Skill Check on page 47: Multiple PCs can try to help, but the acting PC can’t earn more than a +1 total bonus.
Molding Emacs to Reinforce Habits I Want to Develop
I’ve updated the code below to provide a bit more utility. I’ve also favored a plist instead of positional parameters.
Molding Emacs to Reinforce Habits I Want to Develop
I’ve since updated the code and it now does what I’m describing in the preceding sentence.
update
I had nor have no current problems with Ivy/Swiper/Counsel (ISC). I think they’re great tools. What I found is that Selectrum/Consult/Embark (SCE) covered how I used ISC. There may be additional functionality of ISC that I’m missing out on, or don’t know exist.
So, given that my desired feature set exists in ISC and SCE, then I started looking at package size and surface area of functionality. In my experience, the larger that surface area the more effort will be required to maintain it. Which isn’t to say that that effort won’t be applied, it’s instead framing that as a risk.
And in taking the time to test and use both, I’m in a better position to be more specific in why I’m using the package.
Recontextualizing my Relationship with Burning Wheel
Luke Crane has issued an update. I am not going to dissect the statement; that is for you to decide.
I have updated my dislcaimer to advise consideration before buying any Burning Wheel Headquarters 📖 products.
Here’s @alendrel’s My KS Report for The Perfect RPG extensive summary and reportinig on the situation.
Recontextualizing my Relationship with Burning Wheel
And before I go any further, understand that I’m writing about Luke Crane’s behavior. Eric Lang, a friend of Luke’s, has written an open letter.
Contributors have come forth saying they were surprised by Adam being part of the The Perfect RPG. Those contributors included, but are not limited to: Sage LaTorra, Meguey Baker, Vincent Baker, and Jason Morningstar. There may be others, but those four have more secure positions relative to game publishing. They have also clarified that they have not received anything they consider harassment.
I am not writing about Adam’s behavior, which you can find described at this Reddit thread (Content Warning: Sexual assault, survivor stories, manipulative business practices). In the context of Luke Crane’s decision, in a way, I consider Adam’s participation as a radioactive token.
Luke setup a dinner party, invited some friends to each bring a dish. Meanwhile, Luke brought a chunk of uranium and tossed it on all of the dishes and people.
Recontextualizing my Relationship with Burning Wheel
As of , the only quasi-public communication from Luke is his “for Backers-only” update to The Perfect RPG and a few interactions with people requesting Luke cancel and refund their Torchbearer pledges.
I add this because my hope is Luke is doing the hard-work of reaching out to the many people who’s trust he broke. However, Luke could issue a public apology in the following form: “To whom it may concern, I made a mistake. I am sorry. In the days ahead I’m working to understand the impact of my mistake. In the days ahead, I will be communicating further specifics about my apology. My plan is to communicate more details within 7 days from now.”
That kind of apology acknowledges there’s an immediate problem, explains that you are taking the time to understand the impact, and establishes a time-frame for next steps.
Recontextualizing my Relationship with Burning Wheel
The snarky voice in me says that Luke thought the silent subtitle of The Perfect RPG was is the games we played with our friends. I can read that phrase, that I conjured up, through a charitable or manipulative lens.
Recontextualizing my Relationship with Burning Wheel
Luke Crane is the Vice President of Community at Kickstarter.
Recontextualizing my Relationship with Burning Wheel
One immediate task is to bring to the Burning Wheel Gold group the current understanding of it’s creator. To give everyone an opportunity to consent or decline playing the game with that system. And if someone says “I’m not comfortable.” We’ll drop the game without question.
Likewise, I intend to run Burning Wheel Gold’s in the future, but I’m going to introduce the understood context to the group. It’s about modeling consent, accountability, and transparency.
Recontextualizing my Relationship with Burning Wheel
I read about one person’s account of bringing an unrelated but serious concern to Luke. Their account provides further context.
Software to Migrate Data from Square to Shopify
updateI added a Services: Migrate Data from Square to Shopify page. That page details the migration process.
The blog post below describes my original process.
update
I found Why I Still Use RSS from atthis.link to add some add more to this conversation.
However it wasn’t until I began working from home and everything in my life moved online that I really began to notice how beneficial RSS could be with relation to Digital Wellbeing. By selecting only the sites, blogs, creators etc. that I had a serious interest in, I could effectively remove the negative effects of social media and excessive online usage from my life. It was easier to get involved in serious Deep Work as I had no social feeds to endlessly scroll through. It was easier to stay informed as I could only see the latest items rather than being given an algorithmic infinite feed of supposedly “breaking news.” I could open my reader maybe twice a day, skim through the latest items and continue on with my work, a process that could be over and done with in under 5 minutes - a far cry from opening Twitter and suddenly 2 hours have passed…
Having only the content I want to see only be shown when I want to see it with the freedom to jump between readers as I please, all with no ads? For me, no other service comes close to the flexibility, robustness, and overall ease-of-use that RSS offers.
Happy 10th Birthday Take on Rules
updateOver on Mastodon, I added a bit to the conversation:
One bit of early advice that I forgot to write in that post goes something like this:
In everything you write, there is someone just a step behind you, interested in the knowledge that you have and that they are close to needing.
Were I to write a gardening blog, for which I’m very much a novice, there is still someone even less experienced than me. By writing where I’m at, I help others join me at my spot, and from there grow and learn together.
Burning Warhammer: The Captain and the Witch (Character Creation)
While this post is useful and valuable, it no longer reflects the character I’ll be bringing to our Burning Wheel Gold 📖 game.
On , I wrote up Burning Warhammer: The Captain and the Witch (Alternate Character Creation). That post has the version of James van Shaw that I’ll be playing.
A post around deplatforming came through my feed, read the societal dangers of these platforms having what the author dubs “demi-state powers”:
Today some online network is gagging your political opponents and you approve of it because you deplore those people. Tomorrow the banking system of a cashless economy will be able to render anyone monetarily homeless just by denying them services. Extend that to health insurance and pharmaceuticals and all other industries where platformarchs exist. And then try to answer with sincerity, who governs and wheres is the locus of power.
Everything I Ever Wanted in an RPG
updateI wrote extensively about creating a Burning Wheel Gold 📖 character. In that newer post, I discuss a bit more about Burning Wheel’s BITs and 5E’s BITFs.
The Rise (and Fall) of Session 0
I wrote about strategies for cold opens for games. In that post, I went over some strategies for jumping right into a game.
And in Burning Warhammer: The Witch and the Captain (Character Creation), I go into my thoughts about Burning Wheel Gold 📖 character creation; In particular how to sketch character backgrounds through game mechanics. And use those backgrounds to open situations in your first sessions.
Letter Sent to Samvera Community in Regards to Github
update, the community put forth a working group charter.
While Github has responded Read the update below. , members of the Samvera community agree that we should evaluate our tools through the lens of our community values.
Letter Sent to Samvera Community in Regards to Github
updateThis morning I received the following from Github:
I want to follow up real quick and let you know that the independent investigation we have started last Monday has concluded today. On the evening of Friday, January 15th, the investigation revealed significant errors of judgment and procedure. Our head of HR has taken personal accountability and resigned from GitHub yesterday morning, Saturday, January 16th.
We stand by our earlier statement that GitHub condemns the attack on the US Capitol on January 6th and any and all belief systems that are discriminatory. Antisemitism, neo-Nazis, and white supremacy – along with all other forms of racism – are vile and have no place in our community.
The public blog post on this subject is available at https://github.blog/2021-01-17-update-on-an-employee-matter/. I’ll mark this ticket as solved, but if you have further questions or comments feel free to let us know. The ticket will reopen automatically.
Letter Sent to Samvera Community in Regards to Github
updateEarlier this morning, the Samvera community received the following:
We’re troubled by this incident as it calls into question whether Github is compatible with our community values. We agree that there should be a working group to assess that, especially if more information about the situation becomes available, and consider the process for switching to another source code hosting provider. Even if we decided to stay with Github in this instance, the results of this working group could serve as a useful framework for Samvera in evaluating other tools and vendors if similar circumstances arise in the future.
And one member has committed to drafting a charter for the working group.
Letter Sent to Samvera Community in Regards to Github
updateThe company has not yet told employees why the Jewish worker was fired. GitHub COO Erica Brescia responded to his original Slack thread saying: “This has been a tough week. We are listening and understand people are concerned. Many across the leadership team have spent time today with Hubbers who have had questions and concerns about this separation. Separating with an employee isn’t easy for anyone. When we do separate we want to protect and employee’s privacy so we do not provide details regarding separations.”
To employees, the comment fell flat. “This is a deeply unsatisfying response,” one wrote. “And it makes me feel sick to my stomach. It seems that GitHub chose to fire a Jewish employee for either accurately labeling the (literal, verifiable) Nazis at the Capitol as Nazis; or that they were fired for expressing a religious sentiment. I don’t see how either of those comport with GitHub’s values. I respect the privacy of departed employees, but there simply must be something else that can be said as to why this isn’t as bad as it looks.”
Apparently, there was not.
This follow-up brings back a lot of reminders of a past lived event. It also draws attention to some creepy cult like framing: “separation”, “empathy circle”, and “Hubbers”.
Github terminated the employee. Using the phrase “separation” looks to position the topic adjacent to “amicable separation.”
Letter Sent to Samvera Community in Regards to Github
updateNow hundreds of GitHub employees are protesting the termination. GitHub CEO Nat Friedman sent out a message to the company pledging that management “will take any and all appropriate action following a thorough investigation” of the employee’s termination.
Friedman also denounced the insurrection and wrote that “Antisemitism, neonazis, and white supremacy — along with all other forms of racism — are vile and have no place in the world, and especially no place in our community.”
In a message to coworkers regarding his firing, the employee wrote, “This can be an opportunity for people to see white supremacy is a problem. It’s not just a cultural thing. It can be a structural thing.”
Letter Sent to Samvera Community in Regards to Github
updateThis afternoon, I received the following response from Github:
Thank you for reaching out to us.
GitHub and its leadership team condemn the attack on the US Capitol on January 6, and any and all belief systems that are discriminatory. GitHub does not tolerate discrimination, harassment, or retaliation. This applies to both our everyday interactions with other employees and any separation decisions.
GitHub is actively looking into the circumstances surrounding the separation of the employee and will take any appropriate action after running a thorough process.
In other words, keep watching and trust internal audits.
I use Nearly Free Speech to host my site. Why the move? Because I'm angry at Github's recent firing of a Jewish engineer. Also because Nearly Free Speech’s hosting policy regarding free speech is as admirrable as I could hope.
At the Intersection of Work, Play, and Learning
I purchased this book, but Robert Martin’s behavior and world views as a Trump supporter and apologist run contrary to mine. So I’ve removed the link and hope you look elsewhere for coding insights. I recommend Avdi Grimm and Corey Haines as two authors.
Revisiting Hydra Menu for Org Roam Lookup in Emacs
Based on my directory structure fixed the permanent,bibliographies
and permanent,cards
to account for the comma separation of the roam tags.
update
Following the recommendation of WAVE Web Accessibility Evaluation Tool, I removed accesskey
usage.
Many Small Tools Make Light Work (in Emacs)
I extracted the glossary to my Hugo theme repository; Checkout the README for more information.
Probability of Stabilizing the Dying in “Stars without Number”
update ConclusionInstead of applying a brute force check on each possible dice combination, I pre-compiled some of that information into what I dubbed the Universe.
The Universe represents the distribution of possible dice rolls. From that distribution, I then determine the probability. This new method appears to be 100 times faster than the brute force method I used in Thinking Through Group Rolls for Stars and Worlds without Number.
On a lark, I may go back and revisit that script to use the “universe” approach.
Thinking Through Group Rolls for Stars and Worlds without Number
From a conversation over on Reddit, one person had an interesting approach. You take the base DC, multiple that by the number of participants to get a success threshold. Then everyone rolls. If the sum of everyone’s rolls equals or exceeds the success threshold, the group succeeds. I wanted to see that probability, so I added another scenario (eg. Group rolls to beat sum).
I also expanded the probability tests from the original Difficulty Class (DC 📖) 8 and 12 to DC 6, 8, 10, and 12.
Many Small Tools Make Light Work (in Emacs)
I added the fourth piped shell command (e.g. tr
) to the elisp function. In adding that fourth shell command, I can now account for spaces in my game entries.
Let's Read “Stars Without Number” - Character Creation
Since writing this post, I wrote up an example character creation.
Revisiting Hydra Menu for Org Roam Lookup in Emacs
Over on org-roams Slack channel, @nobiot
provided some clarity on exploring the solution. Neither @nobiot
nor myself are experienced Elisp developers.
Revisiting Hydra Menu for Org Roam Lookup in Emacs
updateIf you dig into the code, you’ll see quite a bit of duplication. I spent just a bit of time trying to remove the duplication.
The one that sticks out most is the filter
lambda. Those two lambdas are duplicates, and have a rather large contextual concern. Below is a copy:
(lambda(completions) (
xah-filter-list
(lambda(item) (string-match-p (concat "\\W" ,project "\\W") (first item)))
completions)
))
Let’s step through this from the inside out.
The following code (lambda(item) (string-match-p (concat "\\W" ,project "\\W") (first item))
creates is the filter. The given item
is list from a completion result alist
. The first item of the list is a string. The lambda returns true if there’s a match. Let’s replace this logic with the symbol predicate-matching-function
.
Stepping out we have (xah-filter-list predicate-matching-function completions)
. In this section I’m calling xah-filter-list
with the function predicate-matching-function
and completions
, an alist
of candidate results. xah-filter-list
returns a new alist in which each completion is a match. We use the predicate-matching-function
to determine if its a match. Let’s replace this with completions-filtering-function
.
Stepping out again, we now have lambda(completions) (completions-filtering-function)
; This is what we will use as the filter-fn
parameter for both org-roam-find-file
and org-roam-insert
. Both methods require that filter-fn
be a function that takes one parameter; eg. the alist of completions.
I could refactor this, but at this stage it’s good enough for my needs.
And if I start refactoring, I’ll need to look at consolidating the two macros that each generate a function. And I might look at my menu generation.
Let's read “Stars without Number”
updateI wrote up an example of Stars without Number character creation. In part to provide an example of character creation to compare with my Traveller's character creation examples.
Let's Read “Traveller: Core Rulebook - Character Creation”
updateFor those interested, I made four characters to demonstrate Traveller character creation.
- Pat
- A pilot and astrogator
- Quinn
- A veteran gun slinging psychic
- Kris
- An administrator and advocate
- Jean
- A gun lugging rogue
Random Bonds Generator for Dungeon World
While originally written for Dungeon World, the following Random Bond generator works well for Dungeons and Dragons: Fifth Edition (5E 📖).
To Father Jenkins, President of the University of Notre Dame
updateOther football schools are having their problems with coronavirus outbreaks, lots of them, but Notre Dame appears to be the only one taking the gate receipts and then blaming spectators for the same uncontrolled passions of their unmasked leaders, while making pale after-the-fact confessions and gestures at discipline.
Notre Dame has always sought to position itself as a unique and visible leader of college football, a maker of manners. Notre Dame’s president had a powerful opportunity to send a national message about this pandemic and personal responsibility. Instead he sent the opposite. No wonder everyone ignored his rules.
As a leader, when you draw down power make sure it isn’t targeted at a transgression you yourself committed; The optics are poor.
Synchronizing OSX, Terminal, and Emacs Dark/Light Appearance
update Emacs ConfigurationLater on , I started tinkering to see about Emacs synchronizing with the Dark/Light mode of MacOS.
(defun jnf-dark ()
"Toggle system-wide Dark or Light setting."
(interactive)
(shell-command "osascript -e 'tell application \"System Events\" to tell appearance preferences to set dark mode to not dark mode'")
(jnf-emacs-theme-by-osx-appearance))
(defun jnf-emacs-theme-by-osx-appearance ()
“Set theme based on OSX apperance state.”
(if (equal “Dark” (substring
(shell-command-to-string
“defaults read -g AppleInterfaceStyle”) 0 4))
(progn
(disable-theme ‘modus-operandi)
(modus-vivendi-theme-load))
(progn
(disable-theme ‘modus-vivendi)
(modus-operandi-theme-load))))
;; Load the appropriate Emacs theme based on OSX appearance
(jnf-emacs-theme-by-osx-appearance)
I added this to my one of the files I load for Emacs.
Using Emacs While Running Online Games
updateGretzuni.com posted Why (non-techie) Emacs?, which provides some non-technical insights into Emacs.
Reducing Duplication in my Emacs Config
updateBased on feedback on Reddit, I reworked the code.
In this work I have two considerations. First, is the code should be legible. One commenter rightly pointed out that I was jumping through some hoops with the defmacro
.
As a Ruby developer, I always look at the eval
function with trepedation. It’s presence usually means something’s not quite right.
I learned a less convoluted way to do what I wanted to do. Here’s the code I’m going with:
(defmacro go-org-file-fn (file)
"Define a function to go to Org FILE."
(let* ((fn-name (intern (concat "go-org-file-" file)))
(docstring (concat "Go to Org file at: " file)))
`(defun ,fn-name ()
,docstring
(interactive)
(gorg ,file))))
(global-set-key (kbd “C-c o i”) (go-org-file-fn “index.org”))
(global-set-key (kbd “C-c o a”) (go-org-file-fn “agenda.org”))
(global-set-key (kbd “C-c o b”) (go-org-file-fn “permanent/bibliographic_index.org”))
(global-set-key (kbd “C-c o c”) (go-org-file-fn “permanent/card_index.org”))
(global-set-key (kbd “C-c o e”) (go-org-file-fn “elfeed.org”))
(global-set-key (kbd “C-c o i”) (go-org-file-fn “index.org”))
What’s happening? The go-org-file-fn
returns a named function. Each of the global-set-key
calls binds the keyboard combination to the named function.
Now, when I type C-c o ?
I get a description of the key bindings. They look like:
Global Bindings Starting With C-c o:
key binding
--- -------
C-c o a go-org-file-agenda.org
C-c o b go-org-file-permanent/bibliographic_index.org
C-c o c go-org-file-permanent/card_index.org
C-c o e go-org-file-elfeed.org
C-c o i go-org-file-index.org
Were I to use an anonymous function they would look like:
Global Bindings Starting With C-c o:
key binding
--- -------
C-c o a #<anonymous-function>
C-c o b #<anonymous-function>
C-c o c #<anonymous-function>
C-c o e #<anonymous-function>
C-c o i #<anonymous-function>
The named binding is much nicer. Yes there’s still duplication, but the next step would be a loop and iteration. Which might obfuscate what was going on.
As it turns out, I’m more concerned about the legibility than removing all of the duplication.
A commenter also reminded me of
Emacs (Emacs 📖)’s bookmark system. It’s not quite what I want in this moment, but I think it’s going to be quite close going forward. I’m overloading behavior in this gorg
function; I’ll continue to think on how I’m using it.
Let's Read “Traveller: Core Rulebook - Trade”
updateI wrote up an example of the Trade system. That post also connects characters I rolled up with the system I rolled up.
Let's Read “Traveller: Core Rulebook - World and Universe Creation”
updateI wrote up a visit to Daelisar by the characters I rolled up. They secure passengers, freight, and some illicit cargo using the Traveller trade system.
Influences on my Blog's Design
updateI started using the Modus themes in Emacs (Emacs 📖). I liked the design principles and brought the color scheme to my site. You can read more about thevisual changes.
The colours allow me to call out semantic elements. I hope it’s not to invasive, but instead encourages a bit of curiousity.
Free Time During a Pandemic: Three Weeks Later
updateI didn’t make it far with Vim. I found the modal editing foreign. I also found
I instead picked up Emacs 📖. I wrote about my principles for a text editor and the experience of learning Emacs.
In the months since writing, the Republican party has demonstrated its willingness to burn everything down, and rule over the smouldering cinders.
This past week, Samvera convened for its annual conference. We gathered via Zoom. During the plenary, we remembered Julie Allinson.
The Court Procedure from Lavender Hack
updateOver the last five months, we’ve continued to play Lavender Hack. Phil’s been modifying and adjusting the game. Twice, I’ve failed an Astral Project spell check, resulting in a slow and dangerous exploration of two dungeons. This exploration yielded a high value map which set our group’s fortunes. It’s been a highlight game during the Covid-19 Pandemic.
update
I’ve been using Emacs (Emacs 📖) since , and wrote about the Emacs packages I am currently using. Over the weeks and months, I’ve configured Emacs to suit my needs. I’ve reworked the colors of my site to match an Emacs theme.
At this point, I’m happy, enjoying my text editor, and can’t see switching.
Let's Read “The End of Policing” by Alex S Vitale - Chapter 3 (Part 2)
updateI’ve stopped writing about my read through of “The End of Policing.” I found it challenging to write about this while reading through the book.
Samvera is Hiring a Community Manager
On , Heather Greer Klein started as Samvera’s community manager. I’m excited that she’s joined and look forward to someone helping to grow and advance a community that I love and cherish.
Why I Chose Emacs as My New Text Editor
update Modus ThemesThe Modus Themes by Protesilaos Stavrou have become my go to themes.
It’s been a bit of a circuitous path to get to this point, but it’s been worth it. Protesilaos is developing the Modus themes with the following guiding principle:
Accessible themes for GNU (GNU 📖) Emacs (Emacs 📖), conforming with the highest accessibility standard for colour contrast between background and foreground values ( Web Content Accessibility Guidelines (WCAG 📖) AAA).
In past editors, I’ve often used a dark theme. I made a Vibrant Ink Ruby Atom text editor (Atom 📖) theme that works with Hugo (Hugo 📖). This also involved a few tweaks to a language-markdown plugin for Atom. In my current office setup, I often need a light theme. In my current setup, a dark theme often truns my glossy monitor into a mirror. But sometimes, I want a dark theme. And I don’t want the shift between dark and light to highlight the code via a different scheme.
Enter the Modus Themes:
-
modus operandi
for light -
modus vivendi
for dark
I’ve grown quite fond of the color palette. I also appreciate the work Protesilaos is doing on visually conforming to WCAG. I’m going to look at leveraging that work to refresh the color palette of my website. But that’s an adventure for another day.
Switching from Inoreader to Newsboat for RSS Reader
In , I switch my everyday text editor Emacs (Emacs 📖). In , I began exploring Elfeed, an Emacs plugin. In doing most of my work in Emacs, I find it convenient to have an RSS feed right in the text editor. Newsboat remains a solid RSS reader, its just I’ve found something closer to my toolkit.
Adding a “Stars without Number” Dataset for gm-notepad
updateA blog reader reached out to me asking about parsing the Stars without Number: Revised Edition (SWN 📖) ePub (ePub 📖). I pointed them to the code I wrote to generate the data set. They need to secure their own ePub; Which is available as part of the paid version of Stars without Number.
Why I Chose Emacs as My New Text Editor
update YASnippetI forgot to mention YASnippets. Back in the day, I wrote a few snippets in Textmate, ported them to Sublime, and reworked them in Atom. With YASnippets, I’ve found an easy to use snippet manager.
The documentation is easy to follow. I wrote up a handful of snippets to help with blogging. The following snippet provides guidance for making a custom Hugo Shortcode:
{{< update date="`(format-time-string "%Y-%m-%d")`"
mode="${2:$$(yas-choose-value '(
"inline"
"marginnote"
"paragraph"
"sidenote"
"section"))}"
>}}
$0
{{< /update >}}
This snippet builds the parameters for my update shorcode. It sets today’s date and provides a list of valid modes for the shortcode.
List of Updates to Existing Pages
I switched the Updates page from TABLE html element to a series of DETAILS html elements.
Let’s Read “Stars without Number” – Scenes, Saves, and Skill Checks
Improved accessibility of Table 90: Probabilities for NPC vs. PC by following advice from Hey, It’s Still OK to Use Tables.
To Father Jenkins, President of the University of Notre Dame
updateFather Jenkins released a video issuing an apology. I receive and acknowledge his apology. I now reflect on my expectations.
I have sought to disentangle my disdain Father Jenkins's behavior from the entire Rose Garden Event, and the brazen and naked power grab by the Replubican (GOP) party in ramming through a nomination.
Setting the nomination aside (for the moment), I am reflecting on Father Jenkins's latest statement and apology. I accept the apology and expect Father Jenkins to be a model in health protocols.
I’m also reflecting on the role of forgiveness and accountability. I know I falter, but rarely on a national stage, nor as a leader of an institution that has issued such clear and direct reminders. I see this as a time for forgiveness, reconciliation, and accountability.
As I see it Father Jenkins must receive forgiveness. President Jenkins may warrant censure or a vote of no confidence, but that is not for me to decide. However, those two realities must be held in tension.
I appreciate the timeline of the apology. I do not expect any person to live their lives on a 24-hour news cycle. Instead, I hope to see others take the time and space to reflect on their actions and form their apology. We all deserve that time and space. Which is not to conflate that with the person's position. The Office of the President of Notre Dame may well have required a more rapid response. The Office of the President of Notre Dame operates within the 24-hour news cycle.
I must add, Father Jenkin's has not said "I'm sorry," instead he chose "I apologize."
Let's Read “Traveller: Core Rulebook - Space Combat”
updateOver on Reddit, someone pointed out in the "High Guard: Space Combat Primer" article in Journal of the Travellers' Aid Society Volume 5. This article provides some tactical advice and synthesis of Space Combat rules from the Traveller: Core Rulebook, High Guard, and Pirates of Drinax.
You don't need all of these to play, but the synthesis in its rephrasing helps clarify the rules. It also includes page references.
Let's Read “Traveller: Core Rulebook - Space Combat”
A reader pointed out that this is incorrect. In the core rulebook, there are no instructions on how to calculate hull points. Nor do the example ships list their Hull points. It appears the default formula is hull points are 40% of the ships displaced tonnage. Which changes some of my thoughts.
Let's Read “Traveller: Core Rulebook - Space Combat”
updateWith the correct Hull Points (e.g. 40 instead of 100), it looks like a hasty Jump early in a conflict is still viable, but the likelihood of a critical hit appears higher. The odds of sustaining damage in excess 10% of a ship’s starting Hull Points looks probable; At least for that 100 tonnage example ship.
Burning Wheel Lifepaths Inspired by Warhammer Fantasy
One of the joys of owning the ecosystem of your blog is that you can mold it to your liking. I build the tables on this page via a Hugo shortcode. The shortcode parses a Yet Another Markup Language (YAML 📖) file to generate the HTML of the page.
Were I to get curious and empassioned about this, I might write something to generate the JSON version of these tables. Or of all tables the tables that I render on this site.
To Father Jenkins, President of the University of Notre Dame
updateOn , I received an email announcing that Father Jenkins had contracted Covid.
During self-quarantine this week, University of Notre Dame President Rev. John I. Jenkins, CSC, learned that a colleague with whom he has been in regular contact tested positive for COVID-19. Fr Jenkins was tested and found to be positive for COVID-19 too.
Let's Read “Traveller: Core Rulebook”
updateTraveller exclusively uses six-sided dice. Its notation is 1D or 2D for 1d6 or 2d6 respectively. Throughout this series, I will likely shift between 1D or 1d6.
To Father Jenkins, President of the University of Notre Dame
updateThe Notre Dame Observer, a student publication, ran an editorial and reported on a petition from the students calling for Father Jenkins to resign.
I know many of you have read about the White House ceremony I recently attended. I write to express my regret for certain choices I made that day and for failing to lead as I should have.…
I regret my error of judgment in not wearing a mask.
In messages sent over the last few weeks, Father Jenkins apologized for the inconvenience of changing the Spring 2021 schedule. Yet Father Jenkins offered no apology in the September 28, 2020 message.
I expect more from a leader. To state specifically what action they regret. And given the violation of their own litany of health protocols, to offer an apology.
To Father Jenkins, President of the University of Notre Dame
updateI have since learned that Professor G. Marcus Cole, Dean of the Notre Dame Law School was the person sitting to the right of Father Jenkins. Professor Cole wore his mask. And sent him the following thank you email:
It seems like a small thing, but I want to thank you for wearing a mask during the ceremony at the White House. It is uplifting to see demonstrable leadership in modeling the health protocols of the university.
Once More, a “Stars without Number” Campaign
In preparation for the session, I added a list of the trade goods that they’re effectively smuggling into Efesos.
Let's Read “The End of Policing” by Alex S Vitale - Chapter 3 (Part 2)
Also, read Against Cop Shit · Jeffrey Moro. Moro looks to remove “any pedagogical technique or technology that presumes an adversarial relationship between students and teachers.” Education should set you free, which cannot be done with adversarial methodology.
Upcoming Dungeons and Dragons Game
After this evenings session, we updated our characters to 5th level. Those changes are inline. I also added checkboxes to allow for my to track my character during the session.
The Court Procedure from Lavender Hack
updateYears ago, I wrote about Transitions in Table Top RPG. And Lavender Hack’s court procedure provides guidance to transition into a social encounter.
“Five Torches Deep” by Sigil Stone Publishing
updateWith the Wandering Gamist’s second part of an unspecified number of posts.
Thornburg by J.B. Mannon and Jeremiah Shepersky
updateI removed a broken link and reworked the markup to include a Schema.org/Review element.
Upcoming Dungeons and Dragons Game
I spent a bit more time thinking, and chose to go with the Circle of the Land: Mountain archetype. This felt a bit more correct for the character. I also found that Goodberry and Beast Sense are not listed on 5esrd.com.
And to really get a sense of Matt as a player, take a look at when Matt played the doppelganger that killed his original character
“Five Torches Deep” by Sigil Stone Publishing
updateAnd another reivew of Five Torches Deep at Wandering Gamist.
I implemented Webmentions, an open-standard for one site to notify another site of linking. If you write a post in reply to one of my posts. Send me a Webmention or an email.
You can learn more about the standard at indieweb.org/Webmention.
I ran an audit of TakeOnRules at https://indiewebify.me/. It’s a few screens testing to see if things work. They do!
At the Intersection of Work, Play, and Learning
I have added ALT
-tags to the two cluster images. If I were to re-run the scripts for the second cluster, I would choose Knights, Dragons, and Magic.
At the Intersection of Work, Play, and Learning
Since posting this, I briefly blogged at ndlib.github.io. I have stopped doing that, and am moving more of my blogging onto Take on Rules.
Software to Migrate Data from Square to Shopify
I have added the ability to transfer customers from Square to Shopify. At present, this does not include transaction history. That is on my eventual to-do list.
Switching from Inoreader to Newsboat for RSS Reader
Two weeks into using Newsboat, and I’m loving it. Because of the text-based RSS reader, I discovered that my site’s RSS feeds were publishing items that had relative Uniform Resource Locators (URLs 📖). Which could’ve resulted in broken URLs for RSS subscribers. From a habit stand-point, I’m checking my RSS feeds twice a day: once during breakfast and once in the evening.
Reflecting on Migrating from Wordpress
I have removed a page’s related index.json, the JSON+LD remains imbedded in the HTML source.
update
Switching Atom RSS feed from /feed.xml
to index.xml
and JSON feed from /feed.json
to /index.json
. This addressed an issue in Hugo’s ExecuteAsTemplate
, which did not render absolute URLs.
update
I have long since switched from Jekyll to Hugo. Read more about that switchin in Why Hugo when I'm a Rubyist
Books I Read (or Started to Read) in 2019
Reading through various quotes that I wrote down, I unearthed another book that I had abandoned: “Packing My Library” by Alberto Manguel.
Books I Read (or Started to Read) in 2019
I read these books in 2019 not 2018 as the original title stated.
Books I Read (or Started to Read) in 2019
Looking through piles of books, I forgot to include “The Book of Taliesin.” I picked this up from Fanfare Books in Stratford Ontario. It is one of several books that I forgot to record reading in my journal.
update
I received an email (thank you dear reader) drawing my attention to a few services that might help disentangle me from Google: Disroot, Framasoft, and Posativ. All for future consideration.
update
Julia Evan’s provides another useful blog post “How tracking pixels work” to understand how pervasive things get.
update
On , as an experiment, I tweaked my blog. First, I stopped using custom fonts. Instead, I’m using three long-standing fonts: Times, Courier, and Arial; I wanted to use Helvetica, but encountered an odd rendering issue beyond my skills. Second, I opted to inline the CSS files; Instead of referencing them as a link. Inlining the CSS added 14KB to each page. Both of these changes reduced the number of HTTP requests speeds up performance and improves the stability of the page.
Playstorming a Burning Wheel Fight using Twilight in the Duchy Verdorben stat blocks
Minor update to remove strikethrough in table captions. These didn’t look nice in the aria-labels.
Blades in the Dark by John Harper
Updating to include references to more Forged in the Dark games: Scum and Villainy and Band of Blades. Both of these games leverage the “Forged in the Dark” framework which powers “Blades in the Dark.”
“Five Torches Deep” by Sigil Stone Publishing
updateYou can find another review Five Torches Deep at Cannibal Halfling Gaming.
5th Edition House Rules: Modified Injury and Recovery
I consider the rules on Dropping to 0 Hit Points, Knocking a Creature Out, Resting, and Conditions deprecated as they are less elegant than the refined procedures. The Magical Healing and Hit Dice as well as Lay on Hands are still relevant.
5th Edition House Rules: Modified Injury and Recovery - Take 2
Based on feedback on Reddit, I made a few updates and clarificatoins. First, I removed the death save language. Second, I removed the exact requirements of getting healing in short-rest (though those will likely continue). Third, I added some reference on time for each type of rest. And fourth, I introduced an alternate exhaustion table.
Switched Uniform Resource Locator (URL 📖) of takeonrules.github.io to takeonrules.com.
In Response to “I'm Bowing Out” - Hack & Slash
Switched Uniform Resource Locator (URL 📖) of takeonrules.github.io to takeonrules.com.
Switched Uniform Resource Locator (URL 📖) of takeonrules.github.io to takeonrules.com.
Precognitive Prep - A Divination Spell for 5th Edition
updateBased on Reddit feedback, I’m rethinking the above spell as a feat (see below).
5th Edition House Rules: Modified Injury and Recovery
I wrote a modification to these rules, refining the procedures.
“Five Torches Deep” by Sigil Stone Publishing
updateUpon reflection, and feedback on reddit, the post is missing a “review.” My overall impression of the game is that for me to use it, I’d need to write up some clarifications, and look to some modifications (namely about character identity). I would consider this to be a top candidate for packing in a hiking backpack where weight matters; It’s compact and I wouldn’t hesitate to run nor play it. (I’d say the same for Whitehack).
“Five Torches Deep” by Sigil Stone Publishing
updateYou can find another review at Mythlands of Erce.
Playstorming a Burning Wheel Fight using Twilight in the Duchy Verdorben stat blocks
Based on Reddit conversation, I adjusted the positional advantage language. Instead of giving successes to the one with positional advantage, they effectively subtract successes from the one with positional disadvantage.
Playstorming a Burning Wheel Fight using Twilight in the Duchy Verdorben stat blocks
And thank you Burning Luke for pointing out that I had mispelled Duchy as Ducky.
Playstorming a Burning Wheel Fight using Twilight in the Duchy Verdorben stat blocks
For those looking for other Fight like playthroughs, I do have an old session report that eschewed fight for declared actions and speed tests.
Playstorming a Burning Wheel Fight using Twilight in the Duchy Verdorben stat blocks
Playstorming is a misnomer. This is a solo playthrough.
Burning Warforged - A New Stock and Lifepaths for Burning Wheel
What follows is incomplete, penciled in, and all around untested. I posted to /r/burningwheel and we’ve had some discussion.
Assassin Lifepaths for Burning Wheel
I did some refactoring of the lifepath code, and brought this post inline with that change. As I look at the lifepaths, they achieve a goal of creating an adversary for a Dungeons and Dragons game. They do not, however, provide a nuanced path nor insight into the person that becomes the Grandfather of Assassins.
Burning Wheel Lifepaths Inspired by Warhammer Fantasy
updateI did some reworking of the underlying processing for tables. An astute reader may notice that I have added an indicator to the source of the classes. Under the hood, I have loaded the Burning Wheel Gold lifepaths and Burning Wheel Codex lifepaths. Those, however, are for my personal use. I will not make them public. If you are interested, consider exploring the Charred Character Burner App.
Welcome to My New Take on Rules
I have also started using the DataTables jQuery plugin for my Metadata pages. The tables will work just fine without javascript. With javascript you get some lovely search and sort behavior.
Welcome to My New Take on Rules
I have switched to using Hugo for my blogging engine. While not proficient in Go, I appreciate the almost one-hundred fold speed increase in my website build times.
Once More Into the “Tomb of Annihilation”
I forgot to mention that they also teamed up with a dao and briefly with a gray slaad.
Exposing More Metadata for Take on Rules
I went ahead and added the redirects for each table. Following the pattern: /tables/:table_number
, you can now link to that directly.
I sent a response to Judd for episode 21 of Daydreaming about Dragons. You can hear Judd’s response to my email in Reply Show Sierra.
Playstorming a “Stars without Number” Space Combat
I have added a second in the series. By the rules, to get a +3 skill bonus, your character must be at least 6th level. The crew of the Waukeen are skilled and competent.
Situation Mining: It Begins in Graywall
updateI learned about “Backdrop Graywall” by Keith Baker in Dragon Magazine #368; I suppose I have more reading to do. In any campaign, I do not consider any written material canon until we bring it to the table.
Index of Allowed Classes, Races, Cultures, and Backgrounds
updateI posted a follow-up The How and the Why of Indices of Game Crunch.
“Ode to a Nightengale” by John Keats
updateReading the poem again, I feel the pull of words that rest at the boundaries life and death: aches, numbness, drowsy, pains, hemlock, dull, drains, sunk, shadows, leave, unseen, viewless, dull, night, glooms, embalmed, darkness, fading, flies, eves, darkling, death, quiet, pain, soul, vain, requiem, death, sad, sick, tears, perilous, forlorn, toll, fades, buried, dream, fled.
Originally, this had an additional tag but upon reading Luka Rejec’s A Bad Turn of Words: Fantasy Heartbreaker, I’m expunging that tag. Thank you Luka for writing your piece. Your voice in the Role Playing Game (RPG 📖) seen is valued, and I’m glad to support your RPG efforts. Way more than academically veiled “bad-wrong-fun” essays.
Aaron Griffin pointed me to his What is a Sandbox? post from 2018-11-09. I concur with his tl;dr—a sandbox is a game where play is driven by characters with strong goals, as opposed to a game driven by an overarching story.
Seven years later, and we are 4 years into Dungeons and Dragons: Fifth Edition (5E 📖). A few months after the 5E launch I wrote about the then 400 pound guerilla waking up. Today, Dungeons & Dragons 5E is wildly popular, driven by access to a tremendous well of content: actual play podcasts, dmsguild.com, blogs, Twitch streams, etc. In D&D’s abdication during 4th Edition, a well spring of creativity emerged. With 5E, we witnessed a return of Wizards of the Coast using the lingua franca of the gaming industry; the framework of Dungeons and Dragons: Third Edition (3E 📖), updated and also released under the Open Game License.
World of Dungeons by John Harper
World of Dungeons is now available for legal download at dungeon-world.com.
Playstorming Embarkation Tweaks in Adventures in Middle-earth
I posted this to Reddit, and there have been some great comments.
Life During a Wartime - Random Village Generator
I need to dig up the expanded table I have for this. The 3d6 results are boring. I’d rather have d8+d12 range.
Divorce - A Personal Experience
A few weeks ago I had coffee with my now 18 year old daughter. For the past 3 or 4 years she’s been living with her mom. During our coffee, we talked through a lot of things. Deep revelations and dreams. At one point she said something like “I don’t have these kind of conversations with mom.” Immediately, my heart swelled. I had a real and deep connection with my daughter; the one who had chose to live with her mom full-time. My eyes welled with tears.
Divorce - A Personal Experience
I wish even this were true. I see them perhaps an hour every other week.
Divorce - A Personal Experience
My oldest daugher is gearing up for college; looking towards Spanish and American Sign Language (ASL 📖). My youngest daughter has been active in marching band. She decided the winter of 8th grade to learn French Horn and Mellophone. Two years later, she was lead of her section in the 200+ person marching band.
Divorce - A Personal Experience
My son graduates from college this year. It sounds like he’ll spend a year working, then look to voluntary service and perhaps grad school. He went from a student that failed to turn in homework, to one that took Organic Chemistry II as an elective, and earned the second highest grade.
Divorce - A Personal Experience
She’s a successful small business owner, growing the Soapy Gnome into a treasured business of downtown Goshen Indiana.
Features of Burning Wheel That I Enjoy(ed?)
As I’ve run more 5E, I’m less excited about the Helping mechanic; In part because I’ve found success without help to favor the players. Adding help further exacerbates this. I find myself interested in adding complications, but the pass/fail mindset of D&D weighs against this.
Having listened to the Sunday Skyper’s Burning Beards podcast, I see that they track beliefs in a forum. I think in the future, I’d track Beliefs, Instincts, and Traits (BITs 📖) using a shared Google Doc. Giving direct access to everyone. I also think it is important each and everytime to review beliefs and craft them at the start of the session to get a sense of where people want to go.
I think I should’ve made a linked test. First Inconspicuous, then Circles. Failure for Inconspicuous would mean that you are escorted Brother Michael, and the Circles would then inform his disposition.
In future first sessions, I would encourage everyone to write a belief that points to the player character to their left.
Medieval Demographics Made Easy
I also found “The Borderlands” as a host of Medieval Demographics Made Easy
Medieval Demographics Made Easy
I also found “Gaming Ballistic” as a host of Medieval Demographics Made Easy
Irv’s player passed away three years ago, and I would love to have back the contents of that note tube. Just for one more reading with my old high school gaming group.
Let’s Read “Stars without Number” - Starships
I wrote a post Playstorming a “Stars without Number” Space Combat - Take 2. I built on the previous playstorm, but instead chose for the Player Character (PC 📖)’s spaceship to return fire.
Let’s Read “Stars without Number” - Starships
I wrote a post Playstorming a “Stars without Number” Space Combat. On that page you can see the Space Combat in action.