[ Politics ] Open Question : Are Americans really okay with robots taking jobs?

There are several industries relying on AI and everyone seems to be okay with it. If you think that people affected will be getting some kind of check any time soon or ever to make up for this, you’re crazy. Why isn’t anyone bothered by this?  Some of you are pitiful. Hopefully you’ll remember this when you’re in your cardboard box and listening to the violent growls of your empty stomachs. 

Can a horse really travel this far per day?

Special Travel Pace (DMG p. 242–243):

In 1 hour, you can move a number of miles equal to your speed divided by 10 […]

  • For a fast pace, increase the rate of travel by one-third.

  • For a slow pace, multiply the rate by two-thirds.

Variant encumbrance (pn PHB pg 176) says up to str × 5 doesn’t slow speed & :

For each size category above Medium, double the creature’s carrying capacity and the amount it can push, drag, or lift. For a Tiny creature, halve these weights.

So a Riding horse has a Strength of 16, is large so that’s up to 160 pounds (16 × 5 = 80 then 80 × 2 = 160), not slowed. it has a move of 60ft or 6 miles an hour at normal pace, or increased by one-third at a fast pace (6 × 1.33 = 7.98) 7.98 or lets just say 8 for ease.

You can travel 8 hours a day without exhaustion. Plus you can gallop (inside that 8 hour limit) at double normal pace (6 × 2 = 12) for 1 hour. Makes most sense to go fast for 7 hours (7 × 8 = 56), then gallop the last hour (1 × 12= 12). For a total of (56 + 12 = 68) 68 miles a day. (A 5th the width of Florida! To do the math this horse could cross the WHOLE USA in under 31 days)

Is this right?

Is CTR really equally secure than CBC?

Here is a typical cryptographic situation:
A secret key exists that is only known to a sender and a receiver of messages. As it is hard to replace that key, since you either need a secure channel for transmission or a way how the receiver can send something to the sender to perform a key exchange and both may not exist, a lot of different messages will be encrypted all with the same key. Note, however, that the messages exchanged will all be different. It’s not impossible that two messages could start with the same couple of bytes or contain the same byte sequences somewhere within the messages but that would be pure coincident and is not generally expected to happen frequently.

Now when using CBC encryption, there is an IV and that IV is randomly chosen for every message exchanged. With a 128 bit block cipher, like AES, the IV has 128 bits as well, so the chances that two messages are encrypted with the same IV is only 1 to 2^128, which is rather tiny. And even if the same IV would have been used for two messages, does it really matter if the messages are entirely different in the beginning? After all the IV is XORed with the first 128 bit of the message first, so even for the same IV that operation has a different result if the first 16 byte of the message are different than the last message that had the same IV.

However, CBC is considered outdated by most people today, pretty much every paper about block cipher chaining recommends to only use CTR for new development, praising all it’s advantages. Sure, CTR has a couple of nice features but is it really equally secure to CBC in a situation initially described?

CTR also uses an IV, yet that IV is split into two parts: A nonce and a counter. As the counter values are for sure repeating for different messages, since all counters start at zero for the first block of every new message, the only randomness comes from the nonce. Yet the nonce will be less than 128 bit because there must be room for the counter. All papers say, you must never use the same IV with the same key to encrypt two different data blocks but the nonce space of CTR is always for sure smaller than the IV space of CBC, so the chances for a collision are much higher, aren’t they?

I’ve seen CTR implementation that split the IV in half, so there are 64 bit nonce and 64 bit counter. In that case the chances for a nonce collision are just 1 to 2^64 compared to 1 to 2^128 for the CBC case. While 2^64 is still a big number, it’s a whole lot smaller than 2^128.

Thus won’t using CTR force you to replace the key much more frequently, unless you want to risk the security of your encrypted data exchange? Is CTR really a suitable replacement for CBC in a situation as described above?

Aside from that, CTR doesn’t seem compatible to itself. Every CBC implementation can decrypt data correctly that any CBC implementation has been encrypted. That’s because there are no open question on how CBC works, everything is standardized. The same cannot be said for CTR as different CTR implementation can use different ways to split the IV into nonce and counter. When I know that my messages will never have more than 2^20 blocks, I could use only a 20 bit counter and thus get a 108 bit nonce, yet this won’t work if the other side expects a nonce to be exactly 64 bit long.

To make things even more complicated, instead of splitting the IV into two parts, one can also create the IV by adding nonce and counter together or XORing nonce and counter together, which avoids the issue with the IV space reduction, yet I have no idea what such a behavior means in regards to security of CTR. Also it will make the implementation incompatible to most existing CTR implementations.

Can quantum computers really compute a vast number of possible solutions simultaneously?

This link says

They are not constrained to stepwise calculations but, rather, can compute a vast number of possible solutions simultaneously—and at a speed that is far beyond anything we can imagine.

Is this really true? AFAIU quantum computers cannot compute a vast number of possible solutions simultaneously. A quantum computer is not a parallel computer. It is true that the wave function will exist in a superposition of states before measurement, but when we make a measurement it will collapse to a definite state. And measurements is all we can do.

From scott aaronson’s blog (https://www.scottaaronson.com/blog/)

If you take just one piece of information from this blog: Quantum computers would not solve hard search problems instantaneously by simply trying all the possible solutions at once.

curious to know what experts think

Does a Favored Soul really gains turn attempts if he chose the Glory domain from the dracolyte prestige class?

I think I figured a way to give more power to the Favored Soul class (Complete Divine, p. 6-10) that people shun so much and is weak compared to Clerics, not only do you gain a Domain this Way but I think you also gain Turn attempts, wich really boost that poor class.

With the Prestige Class Dracolyte (Draconomicon, p. 122-123) and choosing the Glory Domain (Good gets it, but Neutral characters must choose between Glory and Domination):

The Granted Power States (SRD):

Turn Undead with a +2 bonus on the turning check and +1d6 to the turning damage roll.

In the Draconomicon p.107 it states:

Granted Power: You can turn undead with a +2 bonus on the turning check and +1d6 on the turning damage roll.

In the SRD the wording suggests that it gives you turn undead, while the Draconomicon suggest that you can do it wich could seem ambiguous, note that the Glory domain is only tied to this class, and it is mentionned in the Prestige Domain section that you can indeed join this without having other domains (wich mean non clerics, and the prerequisites permits it too) so I guess it really gives you Turn attempts.

Nothing states you need to already have Turn attempts, it straightly gives you a more powerful version of it.

This might be because Favored souls were not introduced yet, but as Favored Soul is a weak class compared to Cleric, nothing from RAW says it does not work, yet it is reasonable to allow it I believe, what would you guys say about this? Even just a 1 level dip would make way more powerful but at the cost of two weak feats, so might as well continue the prestige class…

Sidenotes:

  • I’m using the new ability from Dead Levels II:

    Knowledge Specialty (Ex): At 1st level, a favored soul can choose whether to make Knowledge (arcana) or Knowledge (religion) a class skill. Once this choice is made, it cannot be reversed

    I chose Knowledge (religion) instead so I’m ok for Dracolyte.

  • The only restrictions is having 2nd-level divine spells,2 general feats and some skills… other classes such as druid or paladin could get into this prestige class as well if they meet the prerequisites.

Am I really not supposed to get Shield proficiency?

I really enjoy working out rather unusual character builds, or taking a subpar character concept and try to make it work using min/maxing, point buy and having every level from one to twenty planned out before even starting the adventure (ability increases, feats, equipment, etc). My latest project is a wizard that is as tanky as possible (tanky meaning having high AC in this case).

To achieve this, my wizard would be a mountain dwarf (starting with light and medium armor proficiency), and have 14 Strength. Depending on how the campaign goes, around the time I’m getting close to having enough gold to buy a suit of plate armor I would forego an ability score increase in favour of the “Heavily Armored” feat (also giving me +1 Strength, raising that ability to the score needed to wear plate armor without getting a movement penalty.

Now, I would have an AC of 18, which is quite high for a wizard. But, as stated, my goal is for my character’s AC to be as high as possible. Adding a shield to my character’s equipment would seem like a cheap way to get an extra +2 AC for an impressive total of 20. But this is where I finally get close to my question.

Shields have a separate proficiency in 5E and wearing armor you are not proficient with not only imposes disadvantage on any ability check, saving throw, ar attack roll that involves Strength or Dexterity, but also makes it impossible to cast spells. Not being able to cast spells would make my wizard kind of pointless so in order to make this work I would somehow have to get proficiency with shields.

At this point there are two ways to get shield proficiency in 5E: multiclassing one level in a class that has shield proficiency or taking the “Moderately Armored” feat. Multiclassing isn’t really an option for me since it would leave me unable to get the high level Wizard features. So I would have to take the feat just to get shield proficiency. Since I’m already proficient with medium armor this seems like a complete waste of a feat to me. If that is as it is intended to work I wouldn’t take the feat.

So my question is: Is the “Moderately Armored” Feat really the only way to get shield proficiency without multiclassing?

Because it sort of seems like an oversight. Now, the developers can’t reasonably be expected to take in to account people like me creating stupidly specific situations like this: a heavily armored dwarf wizard who uses a shield (my character would still be able to perform the somatic components for spells even wielding a shield since he would not wield a weapon). For the vast majority of character builds this would never be an issue, but I really think shield proficiency should also be included in the “Heavily Armored” feat.

In my other wacky character concepts I have found that sticking to the rulebooks generally works out just fine. My DM also sticks to RAW and doesn’t use any homebrew rules. Normally I’m all for sticking to RAW but this just seems kind of silly. According to the rulebook, my wizard could hold a chair in his left hand and would still be able to cast spells, but when he’s holding a shield this is suddenly no longer possible.

What does Reduce`FreeVariables really do? And can we rely on it?

Very frequently, in answers on this site, the undocumented function Reduce`FreeVariables comes up in the context of generating a list of variables inside an expression. It is especially recommended in answers and comments by reputable members Carl Woll (here, here, here, …) and J.M. (here, here, here, here, …).

Based on the name FreeVariables and how it has been used on this site, I was under the impression that it only generates a List of Symbols appearing in its input expression. I went so far as to document it as such in my post of undocumented functions (under ‘Some more stuff’).

However, it is not the case that it generates a List of Symbols. Indeed, it can output more complicated expressions. And, it even returns drastically different results with very little modification to the input. Consider the following very similar expressions:

expr1 = f[g[d[rho]],g[d[s[rho, m, n]]]]*(-x[0,a^2,u,v,m]-2*a*x[1,a^2,u,v,m]);  expr2 = f[g[d[rho]],g[d[s[rho, m, n]]]]*(-x[0,a^2,u,v,m]-2(*a*)*x[1,a^2,u,v,m]); 

In the expr2 a factor of a is missing in front of the x[...] function. Yet, the output of ReduceFreeVariables` is quite different for the two examples:

Reduce`FreeVariables[expr1] (*  {a, m, n, rho, u, v}  *)  Reduce`FreeVariables[expr2] (*  {f[g[d[rho]],g[d[s[rho, m, n]]]], x[0,a^2,u,v,m], x[1,a^2,u,v,m]}  *) 

Ordinarily, this behavior should be no cause for alarm. After all, it is an undocumented function. However, given the level of recommendation by various users on this site for this function, I would like to ask the questions (which I direct especially at the SE members who use it):

  1. What exactly does Reduce`FreeVariables do?
  2. Is it reliable?

Does a wizard really have the same chance to hit as a fighter?

In D&D versions Original to 3.5, the ability to hit your opponent varies from class to class (i.e. Cleric, Fighter, Rogue, and Wizard). The classes in 5th edition all seem to have the same basic attack adjustments from proficiency at every level (not counting ability score adjustment, skill expertise or racial adjustments).

This seems to be a major departure from previous editions, so I’m not sure if I’m reading it right or missing something major.

Do all character classes really get the same attack adjustments? Is there something in the rules that I am missing? Unless a wizard specifically focuses on using a specific weapon, I would have assumed fighting classes would be inherently better at hitting their target. As far as spell targeting, that makes sense, but not for physical combat.

Just to be clear, I am in no way criticizing the rules. I am just trying to understand how it all fits together.

All classes have proficiency in several simple weapons (Dagger, Dart, Sling, Quarterstaff, and light crossbows). With these weapons, all classes have the same proficiency bonus. I am purposely not considering ability scores to compare against previous edition. In previous editions, even with proficiency, there was a difference in ability to hit between classes.

Is this understanding correct? Is there something else that accounts for the differences, like combat tables or class combat adjustments?

It just seems that there is no basic combat difference between classes, other than ability scores and specialty skills, and I find that surprising enough to think I’m missing something.

Does a generator really stops the execution at the machine code level, and does it not use the stack?

Never have I heard of a partially executed function before. But it seems the idea of it has been out for some time. Does a generator really stop execution at the machine code level, and that next time when the iterator is invoked, then there is a jump back to that machine code location to continue the execution?

It seems quite strange, as

  1. it differ from mathmatics for what a function is.
  2. the traditional function will add to the stack, and once finished, everything is popped from the stack. But the generator is like a function that stays… so nothing is popped from the stack. So does it use something other than the stack for memory?

Example: JavaScript ES6 Generator:

function* generator() {     yield 1;     yield 3;     yield 5; }  const iterator = generator();  console.log(iterator.next()); console.log(iterator.next()); console.log(iterator.next()); console.log(iterator.next()); 

result:

{value: 1, done: false} {value: 3, done: false} {value: 5, done: false} {value: undefined, done: true}