How to effectively represent and generate 2D cellular automaton rules that are invariant under rotation and reflection of the input matrix?

Consider cellular automaton rules for a two-dimensional universe with two states, where a cell’s new state can depend on its previous state and the states of the cells in its Moore neighborhood. Such a rule can be modeled as a function that takes as input a 3 by 3 matrix of bits, and outputs a bit.

Such a rule can be represented easily using a string of 512 bits representing the output for each of the $ 2^{3 \times 3}$ input states. Since this representation is bijective, a rule can also be randomly generated by sampling 512 bits.

However, it is sometimes preferable for reasons of aesthetics and comprehensibility that the output of the rule be the same when the input matrix is rotated or flipped horizontally or vertically. The rule for Conway’s Game of Life is an example of a function satisfying this restriction.

Given a function $ r : 2^9 \to 2$ which does not necessarily obey this restriction, we can obtain a function that does by mapping the input to the lexicographically smallest matrix obtainable by reflecting or rotating it before passing to $ r$ . However, this provides little insight into the questions I am interested in:

  • How many functions obey this restriction?
  • How can they be compactly representing using a bit string?
  • How can they be efficiently randomly generated?

Rules for being stealthy while mounted

Are there official rules or rulings for attempting to use stealth while mounted?

My research on the internet has found a number of opinions on the matter, but none of them seem to be backed by a reference to a book or a ruling. Is using stealth allowed while riding a mount?

For example, I do not see how a horse could be commanded to be stealthy. If you tried, then would that be an animal handling roll? Lets say that you could give the command, then how would a less stealthy mount like a horse even move stealthily?

I am playing in a 5e campaign. My ranger on horseback will move through a forest, outside of combat, and I want to be stealthy while scouting out possible enemy locations for the rest of the party to strike. I could do it without my horse, but if I get spotted, I really will want to get out of there fast.

Are there any rules covering selfmade gear as starting equipment on higher levels?

Let’s say that a player creates a 6th level character with maximum possible ranks in craft (armorsmithing) . They want to start with selfmade full plate armor. Should they still cover the full price of the armor or just the materials, which are one third of the price? I believe that selfmade starting gear should be less pricey than one bought on the market. On the other hand I am afraid, it could be heavily exploited, like starting with +5 adamantium battle plate armor. Are there any books, including third parties covering how to deal with this problem?

Are there any rules about taking damage whilst holding your breath in combat?

Can’t find any official rules about holding breath in combat in 5e. If there’s a poisoned gas in the room, and party is fighting against some creature with poison immunity, like golem, and so this golem smashes one of PC’s hard – do this player need to roll something not to lose his breath? It is quite normal in real life to blew all what you’ve got in your lungs once you get punched. What do you think?

Can I Manage Rules for 2 fields at the same time?

I have a list, and I have 7 fields: Country, subregion, product, category, email address, concatenate, concatenate2

Rule 1 Field Concatenate: If Concatenate = (Country),(Product) (ex. IndiaPantry) then input to field email address then send email using sharepoint designer

What if not all countries need to take into consideration the region?

Rule 2

Field Concatenate2:

If Concatenate2 = (Country),(subregion) (ex. IndiaNorth) then input to field email address then send email using sharepoint designer

I tried putting both rules but only rule 1 worked. Can I put 2 different rules in 2 different fields at the same time? I used infopath to manage rules

How is the power of a magic item measured according to the rules?


The DMG states a relation to a magic item’s power, it’s rarity, and character level.

Rarity provides a rough measure of an item’s power relative to other magic items. Each rarity corresponds to character level..

It follows up immediately with an example

A character doesn’t typically find a rare magic item, for example, until around 5th level.


The rules seem to have some sort of definition of what power means. What is it?


A number of questions seem predicated on estimating the power of a magic item. E.g:

  • Is item rarity really tied to how powerful it is?

  • How can I balance the power of loot between players?

Do steeds summoned with Find Greater Steed have other options than the usual control rules during mounted combat?

During mounted combat, I understand there are two possible options:

  1. You can control your mount, in which case your mount cannot make an attack, or
  2. You can opt to leave it independent (and controlled by the DM) in which case it can attack, but may do things you don’t expect.

The text of find greater steed contains this excerpt:

Your steed serves you as a mount, both in combat and out, and you have an instinctive bond with it that allows you to fight as a seamless unit.

Does this phrase imply that there is some special way to control the steed beyond the above two normal options for mounts? Are steeds summoned in this way special in regards to the control rules, or is that just flavor text? It seems to me that an independent mount which can take actions that I cannot predict is not fighting as a seamless unit with me. Am I misunderstanding something?

The question here certainly provides an answer, but it’s not satisfying since it assumes that the mount has to use one of the two above options and does not consider that there may be alternatives.

What is the Cloudflare equivalent of these two .htaccess redirect rules?

I usually set up my sites to rewrite URLs in the following cases:

  1. All http traffic is redirected to https (and www), with a 301
  2. All non-www traffic is redirected to www (and https), with a 301

In .htaccess, the rewrite rules are as follows:

RewriteEngine on RewriteCond %{http_host} ^ [NC] RewriteRule ^(.*)$$  1 [L,R=301]  RewriteCond %{HTTPS} !=on RewriteRule ^.*$   https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L] 

Note that all redirects are achieved with only one hop. Non-www traffic goes to www and https, and non-https traffic goes to https and www. How do you achieve the same results in Cloudflare?

P.S. I’m not sure if Cloudflare’s “Always Use HTTPS” option is worth enabling since it doesn’t use a 301 and I have to write a separate rule for a https redirect rule with a 301 anyway.

multiple /dev/video devices for 1 camera causing issue with udev rules

Since upgrading from ubuntu 16.04 (kernel 4.15.0-60-generic) to 18.04 (kernel 5.0.0-27-generic) v4l now returns multiple /dev/video devices per physical device. This causes issues when trying to map video devices to aliases using udev rules. One of the /dev/video devices can stream video, the other cannot. The udev alias I’ve created does not seem to consistently choose the correct /dev/video index (the one with streaming capabilities).

I know this post is very similar to this:

Four /dev/video entries but just one camera

However, the accepted answer (bug with skype) does not adequately address the udev issue I’m experiencing.

I see someone has a similar question on stack exchange:

However, no answer has been accepted.

Additional Information:

Computer make/model: Asus ROG GL503V

Webcam make/model: Genius WideCam F100, Logitech C920, and more.

v4l2-ctl --list-devices


USB2.0 PC CAMERA: USB2.0 PC CAM (usb-0000:00:14.0-11):  /dev/video4  /dev/video5  USB_Camera: USB_Camera (usb-0000:00:14.0-3):  /dev/video0  /dev/video1  HD Pro Webcam C920 (usb-0000:00:14.0-4.1):  /dev/video6  /dev/video7  USB2.0 HD UVC WebCam: USB2.0 HD (usb-0000:00:14.0-7):  /dev/video2  /dev/video3 

Here’s a detailed look at the Genius WideCam F100:

user@AsusROG:~$   sudo v4l2-ctl --list-devices USB_Camera: USB_Camera (usb-0000:00:14.0-3):     /dev/video0     /dev/video1  USB2.0 HD UVC WebCam: USB2.0 HD (usb-0000:00:14.0-7):     /dev/video2     /dev/video3  user@AsusROG:~$   sudo v4l2-ctl --device=/dev/video0 --all Driver Info (not using libv4l2):     Driver name   : uvcvideo     Card type     : USB_Camera: USB_Camera     Bus info      : usb-0000:00:14.0-3     Driver version: 5.0.21     Capabilities  : 0x84A00001         Video Capture         Metadata Capture         Streaming         Extended Pix Format         Device Capabilities     Device Caps   : 0x04200001         Video Capture         Streaming         Extended Pix Format Priority: 2 Video input : 0 (Camera 1: ok) Format Video Capture:     Width/Height      : 640/480     Pixel Format      : 'YUYV'     Field             : None     Bytes per Line    : 1280     Size Image        : 614400     Colorspace        : sRGB     Transfer Function : Default (maps to sRGB)     YCbCr/HSV Encoding: Default (maps to ITU-R 601)     Quantization      : Default (maps to Limited Range)     Flags             :  Crop Capability Video Capture:     Bounds      : Left 0, Top 0, Width 640, Height 480     Default     : Left 0, Top 0, Width 640, Height 480     Pixel Aspect: 1/1 Selection: crop_default, Left 0, Top 0, Width 640, Height 480 Selection: crop_bounds, Left 0, Top 0, Width 640, Height 480 Streaming Parameters Video Capture:     Capabilities     : timeperframe     Frames per second: 30.000 (30/1)     Read buffers     : 0                      brightness 0x00980900 (int)    : min=-64 max=64 step=1 default=0 value=0                        contrast 0x00980901 (int)    : min=0 max=95 step=1 default=32 value=32                      saturation 0x00980902 (int)    : min=0 max=100 step=1 default=55 value=55                             hue 0x00980903 (int)    : min=-2000 max=2000 step=1 default=0 value=0  white_balance_temperature_auto 0x0098090c (bool)   : default=1 value=1                           gamma 0x00980910 (int)    : min=100 max=300 step=1 default=165 value=165            power_line_frequency 0x00980918 (menu)   : min=0 max=2 default=1 value=1       white_balance_temperature 0x0098091a (int)    : min=2800 max=6500 step=10 default=4600 value=4600 flags=inactive                       sharpness 0x0098091b (int)    : min=1 max=7 step=1 default=2 value=2          backlight_compensation 0x0098091c (int)    : min=0 max=1 step=1 default=0 value=0                   exposure_auto 0x009a0901 (menu)   : min=0 max=3 default=3 value=3               exposure_absolute 0x009a0902 (int)    : min=50 max=10000 step=1 default=166 value=166 flags=inactive user@AsusROG:~$   sudo v4l2-ctl --device=/dev/video1 --all Driver Info (not using libv4l2):     Driver name   : uvcvideo     Card type     : USB_Camera: USB_Camera     Bus info      : usb-0000:00:14.0-3     Driver version: 5.0.21     Capabilities  : 0x84A00001         Video Capture         Metadata Capture         Streaming         Extended Pix Format         Device Capabilities     Device Caps   : 0x04A00000         Metadata Capture         Streaming         Extended Pix Format Priority: 2 

Here’s the versions of various v4l packages I have installed:

ii libv4l-0:amd64 1.14.2-1 amd64 Collection of video4linux support libraries ii libv4l-dev:amd64 1.14.2-1 amd64 Collection of video4linux support libraries (development files) ii libv4l2rds0:amd64 1.14.2-1 amd64 Video4Linux Radio Data System (RDS) decoding library ii libv4lconvert0:amd64 1.14.2-1 amd64 Video4linux frame format conversion library ii v4l-utils 1.14.2-1 amd64 Collection of command line video4linux utilities 

here’s an excerpt from lsusb:

Bus 001 Device 017: ID 0458:708c KYE Systems Corp. (Mouse Systems) Genius WideCam F100

and the associated udev rule:

KERNEL=="video?", SUBSYSTEM=="video4linux", ATTRS{idVendor}=="0458", ATTRS{index}=="0", ATTRS{idProduct}=="708c", SYMLINK+="v4l/hd_cam" 

Any input would be greatly appreciated