Would this homebrew version of True Strike be balanced?

True Strike has been a popular discussion point. On one hand, it’s considered one of the weakest spells in the game, but on the other, balancing it as being a bonus action seems to make it overpowered.

My approach is based on its fluff text.

Your magic grants you a brief insight into the target’s defenses.

I propose that, similarly to the Fighter’s Know Thy Enemy feature, True Trike would grant advantage on an attack in the next turn, as before, and, additionally,

The DM tells you if the creature is your equal, superior, or inferior in regard to two of the following characteristics of your choice:

  • Intelligence score
  • Wisdom score
  • Charisma score
  • Armor Class
  • Current hit points
  • Total class levels, if any
  • Total spellcasting levels, if any

I’m not sure if two characteristics is too much, compared with the Fighter’s 7th level feature. This would be one of the few ways (if any?) to get information about a creature’s mental scores, and it clearly has more of a caster-vibe than Know Thy Enemy.

How balanced would this be?

Does an OGL Version of D6-Legend exist?

I’m wondering. I saw a few references that aside from the normal D6 also D6 legend could be OGL. (d6that is success based and 5+ is a success).

When I searched I stumbled only over one single book there that didn’t seem very official and deviated greatly from d6 legend as it had 3+ as a success.

So my question is: is there a OGL variant of d6 legend?

Is this Ubuntu kernel version vulnerable to dirty cow? [closed]

I am attempting to escalate privileges on a CTF Ubuntu box but I am afraid to run dirty cow due to possible crash is this kernel version vulnerable to the exploit:

Linux ip- 3.13.0-162-generic #212-Ubuntu SMP Mon Oct 29 12:08:50 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux?

The Ubuntu version is Ubuntu 14.04

Dirty cow documentation shows Ubuntu 14 versions < 3.13.0-100.147 are vulnerable although I am confused as to if this version is vulnerable and want to be somewhat positive before running it on the CTF / CapturetheFlag machine.

Combinatorial Problem similar in nature to a special version of max weighted matching problem

I have a problem and want to know if there is any combinatorial optimization that is similar in nature to this problem or how to solve this special version of the max weight matching problem.

I have a general graph $ G(\mathcal{V},\mathcal{E},\mathcal{W})$ . I want to find a maximum weight matching of the graph $ G$ that must cover a certain subset of vertices and has a specific size. For example, if I have a graph with eight vertices, I want to find a max weighted matching that must cover the subset of vertices $ \mathcal{V}’=\{1,2,3\}$ and the size of the matching is $ \lceil{|\mathcal{V}’|/2}\rceil$ . So one more vertex needs to be chosen that maximizes the weighted matching. How to find the optimal solution in polynomial time if possible?

slow and jerky Graphics in 12.1 compared to older version 9.0

Consider the following piece of code

Manipulate[ Graphics[ {{Gray, Line@Table[RandomReal[1.5 {-1, 1}, {2, 2}], {10000}]}, Dynamic[Disk[{0.1 a Cos[a], 0.12 Sin[a]}, 0.1]]}, PlotRange -> 1.5, FrameTicks -> False, Frame -> True], {a, 0, 4 \[Pi]}] 

Running the above code I find that the Graphics in newer versions of Mathematica (e.g. version 12.1) are jerky and are rendered considerably slower. I ran the same code in version 9.0 and it runs relatively smoothly.

Does someone know why this is so? and what changed between the older and the newer versions of Mathematica?

How do I fix ‘Could not determine java version from ‘14.0.2’.’ when trying to make Minecraft mods?

I try to build my mod like this.

I get the error:

FAILURE: Build failed with an exception.

  • What went wrong: Could not determine java version from ‘14.0.2’.

What causes this? How do I fix this? I never used Gradle or Java before so please be specific. Is this caused because Gradle doesn’t support Java 14.0.2? If so, how do I tell Gradle to use a Java version it does support? I’m a noob. I have no experience with Gradle at all, I don’t even know what it is or what it’s for, all I know is I’m trying to make a basic Minecraft mod. However I do know Java.

Can a caster use a readied spell to counterspell a lower (less potent) version of the same spell?

I have a scenario that will likely never happen, but I am curious in how it would work.

First, the preliminary, Combining Magical Effects:

The effects of different spells add together while the durations of those spells overlap. The effects of the same spell cast multiple times don’t combine, however. Instead, the most potent effect — such as the highest bonus — from those castings applies while their durations overlap, or the most recent effect applies if the castings are equally potent and their durations overlap.

Now the setup:

Bob the 3nd-level Generic Wizard and Doug the 3rd-level Earth Wizard face off. Bob knows Doug’s favorite tactic and readies a spell. Doug casts Earth Tremor under Bob. The spell say, "You cause a tremor in the ground within range. Each creature other than you in that area must make a Dexterity saving throw."

But Bob was ready and casts Earth Tremor as a 2nd-level spell for his reaction making it more potent (more damage) in the same area.

So what happens?

Doug’s casting means Doug is not targeted by the tremor. But as a reaction Bob casts a more powerful version where Bob is not targeted by the spell. So does that overpower Doug’s spell? And if so, does that mean Bob no longer has to make a Dexterity save and Doug does?

There may be other spells that do this but Earth Tremor was the first I found with wording stating that regardless of the target point, the caster is not affected.

Why did “terminal commands” never get a version of SQL “parameterized queries”?

I was taught horrible bad practice when I initially "learned" SQL, which baked in user-submitted input with quotes and attempted to "escape" this (in the beginning, I didn’t even escape it at all…). I then had to spend many years unlearning this, to instead do things like:

SELECT * FROM table WHERE id = $  1; 

And then the $ 1‘s data is sent separately to the database, not part of the actual query string, to make it impossible for "SQL injections" to happen.

However, terminal commands frequently need to be sent untrusted user input, such as:

generate_PDF.exe --template="a path goes here" --title-of-report="arbitrary title from user" 

Every time I have to run such a command, I’m scared to death that my "terminal argument escape" function isn’t working correctly, or has some unknown bug, so that users can make a title along the lines of "; rm -rf /; to execute arbitrary code on my machine.

This becomes even more of a serious issue when the normal "OS quotes" cannot be used, such as:

pg_dump --format custom --file "a real path" --exclude-table="schema name"."table name" 

The "schema name"."table name" part has to be provided in full from the user, and thus I have to attempt to verify the syntax myself, as it cannot just be quoted in its entirety with the "terminal argument escaper" function wrapping it all. (Even if it might be possible in this specific context, I’m talking in general and just using this as an example of when it gets "hairy".)

This has made me wonder why the terminal commands, for example in PHP (since I use this myself for everything) cannot be done like this:

pg_dump --format custom --file $  1 --exclude-table=$  2 

And then we send the actual arguments separately as an array of strings, just like with the "parameterized queries" in SQL databases?

Please note that the $ 1 and $ 2 here do not refer to PHP variables, but to "placeholders" for the "engine" which interprets this and which lives either in PHP or the OS.

Why is this not a thing? Or maybe it is, only I haven’t heard of it? I’m continuously baffled by how many things which I constantly need and use just "sit there and rot" while they keep releasing a new programming language every week which nobody uses. I feel more and more frustrated about how "stale" everything I care about seems, but this risks getting off-topic, so I’ll stick to the question I’ve just asked for now.