dnd 5e – What do official sources say about player access to the Monster Manual?

The Introduction of the Monster Manual makes it clear several times that it is a book for DMs (MM, p. 4; emphasis mine):

This bestiary is for storytellers and world-builders. If you have
ever thought about running a DUNGEONS & DRAGONS game for your friends,
either a single night’s adventure or a long-running campaign, this
tome contains page after page of inspiration.** (…)

If you’re an experienced Dungeon Master (DM)**, a few of the monster
write-ups might surprise you, for we’ve gone into the Monster
Manuals
of yore and discovered some long-lost factoids. (…)

The best thing about being a DM is that you get to invent your own
fantasy world and bring it to life, and nothing brings a D&D world to
life more than the creatures that inhabit it. (…)

The Monster Manual is one of three books that form the foundation of
the DUNGEONS & DRAGONS game, the other two being the Player’s
Handbook
and the Dungeon Master’s Guide. The Monster Manual,
like the Dungeon Master’s Guide, is a book for DMs.

However, it stops short of saying the Monster Manual is only for DMs, and does not specifically say that it should not be used by players.


Roll20, on the other hand, clearly made a decision to give players extensive access to information from the Monster Manual. Per the Roll20 wiki page for the Monster Manual:

Players can have direct access to the Monster Manual within the In-App Roll20 Compendium. You can share the Monster Manual with Compendium Sharing.


This is not a question about whether such information should be available to players – that is opinion-based and off-topic.

Rather, I am trying to understand:

  1. Besides the statements in the MM itself, what do other official sources say about to what extent the information players have access to the information in the MM?

  2. Did Roll20 ever explain their decision to provide players with full access to MM information?

While this is a list question, it is a bounded list – I am interested in official sources, and officially licensed sources.

It is not a ‘designer’s intent’ question in that I am not interested in opinion, interpretation, or speculation; I am just trying to track down relevant textual quotes about who has legitimate access to the MM information, and under what circumstances.

cryptography – Methods to Prove Data Authenticity from Potentially Compromised Sources?

I’ve been thinking about this problem for some time and I wanted to ask if there are any known methods, or research papers, about how to prove “authenticity” or correctness of data originating from a potentially compromised source (remote server, process, etc). Specifically what I’ve been imagining is say you have service A and service B, service B sources data from A but is worried that A has been compromised such that even if data is signed by A, B can’t trust that it was generated by code written by A‘s developers. Is it possible for B to prove to itself that data from A is authentic, that it was indeed generated by the expected code and not injected or generated by an attacker who has compromised A?

One solution I’ve been thinking about is using a sort of distributed ledger or blockchain so that multiple nodes compute the same data, and in doing so raises the bar such that an attacker would have to compromise N% of the services producing the needed data, this provides naturally replication and I can use an appropriate consensus protocol, but ofc introduces some overhead, efficiency concerns, and I would need to think hard about side-effects being performed more than once.

If there is only one node possible of generating data, such as a sensor node, and it is compromised, I’d imagine all hope is lost, but I also wouldn’t be surprised if there is some clever crypto scheme that attempts to solve this problem as well.

I hope it’s clear as to what the question is, thank you.

RED HOT! PERSONALIZED ASTROLOGY OFFER – WORKS ON ALL TRAFFIC SOURCES – WEEKLY SUBSCRIPTION

Hello together,

We’re throwing a party and all of you are invited to join!

About 2 months ago we launched the first serious astrology offer on Clickbank and it’s going up like a rocket
(​IMG)
Source: https://cbengine.com/id/codestiny-graphs

We’re now #12 in the category and we’re just getting started

Why would you care and why are our payouts constantly increasing (see screenshot above)?

Astrology is a huge market that’s growing rapidly

(​IMG)

Yes, the market almost doubles every year and that’s people who spend money on this

(​IMG)
SEMrush

We target ALL signs with a personalized reading

And yes, we provide custom links so you too can target individual signs and send your traffic directly to a reading customized for the sign – you can image what that does to your EPC and conversion rate!

This offer is clean as a whistle and works on all traffic sources, no need to worry about your Facebook account promoting us!!

Guys and gals, over 90% of Americans know their sign, that’s how big this market is
And it’s a GLOBAL MARKET
(​IMG)
But now to the most important question…

HOW MUCH $$$ CAN YOU MAKE?

We pay 75% on everything, higher rates for true super affiliates (not for wannabes)

a) Our front-end is priced very low at $7. BUT: This is a weekly subscription and yes, you get paid your 75% on the recurring! On average our clients pay for 3-4 weeks

b) We have 3 finely tuned upsells at $17, $27 and $47 which work and our average order value is currently at $15.26 (and growing) – keep in mind that you receive this money immediately, that doesn’t include the subscription payments you’ll receive over the weeks to come which can easily double or triple this!

c) We also have 2 order-bump on our order page which convert well without affecting our upsell take rate

Higher conversion rates

a) Unlike other merchants we don’t just drop our product on the market and ignore it.
We are actively driving traffic to the offer ourselves. Why would you care?

Because we have money on the line and we make damn sure to get the highest conversion possible. Check our site and subscribe to our updated on Clickbank and you’ll constantly see us running A/B-split tests to improve on our sales message.

b) We are one of the few merchants who doesn’t force visitors to give their emails, milking your leads while you suffer from a lower conversion rate. In fact, we have reduced the data input from customer to a minimum because we all know how sensitive people are with their privacy these days.

c) We’re using custom technology to have auto-video play with sound on all devices for our initial presentation. No click = higher conversions

Product & Support

a) The highest conversions are useless if buyers get a low quality product. This won’t happen with our offer. The astrological forecast the customer receives is done by professionals, value that is felt in low refund rate of only 5% – despite our aggressive billing.

b) We care for our clients and you, our affiliates. You have a question, we answer. You want to know what promotional methods work? We’ll help you out as best as we can. We know that your success is our success so let’s make some money together!

And here’s where to find us on Clickbank + our contact details

(​IMG)

PS: We have this offer available in Spanish and Brazilian Portuguese as well!!

 

Content generator : list of words or expressions that will allow you to exclude sources

Hello, Sven,

My suggestion

Create a list of words or expressions that will allow you to exclude sources that you do not want to retrieve.

Example: When doing marketing research, I find with sentences about marriage :'(

Thank you
Francois

Unit Testing a class that requests data from multiple sources

Context

I’m working on a project that pulls data from AWS using the various AWS SDKs for .NET. This specific example deals with the AWSSDK.IdentityManagement SDK

The goal is to query information from IAmazonIdentityManagementService and map it to a model that is helpful to the business domain I’m working in

I’ve been tasked with writing unit tests for the IamService class.

Problem

With the Unit Test setups being so verbose, I can’t help but think the method I’m Unit Testing (GetIamSummaryAsync) must be constructed poorly.

I’ve googled around for things like “Design patterns for mapping multiple data sources to single objects”, but the only advice I see given is to use the Adapter or Proxy patterns. I’m not sure how to apply them to this scenario

Question

  • Is there a better way I could construct my IamService class to make it easier (more succinct) to test?
  • If the Adapter or Proxy patterns are appropriate for this type of scenario, how would they be applied?
public class IamService : IIamService
{
    IAmazonIdentityManagementService _iamClient;

    public IamService(IAmazonIdentityManagementService iamClient)
    {
        _iamClient = iamClient;
    }

    public async Task<IamSummaryModel> GetIamSummaryAsync()
    {
        var getAccountSummaryResponse           = await _iamClient.GetAccountSummaryAsync();
        var listCustomerManagedPoliciesResponse = await _iamClient.ListPoliciesAsync();
        var listGroupsResponse                  = await _iamClient.ListGroupsAsync();
        var listInstanceProfilesResponse        = await _iamClient.ListInstanceProfilesAsync();
        var listRolesResponse                   = await _iamClient.ListRolesAsync();
        var listServerCertificatesResponse      = await _iamClient.ListServerCertificatesAsync();
        var listUsersResponse                   = await _iamClient.ListUsersAsync();

        IamSummaryModel iamSummary = new IamSummaryModel();

        iamSummary.CustomerManagedPolicies.Count = listCustomerManagedPoliciesResponse.Policies.Count;
        iamSummary.CustomerManagedPolicies.DefaultQuota = getAccountSummaryResponse.SummaryMap("PoliciesQuota");

        iamSummary.Groups.Count = listGroupsResponse.Groups.Count;
        iamSummary.Groups.DefaultQuota = getAccountSummaryResponse.SummaryMap("GroupsQuota");

        iamSummary.InstanceProfiles.Count = listInstanceProfilesResponse.InstanceProfiles.Count;
        iamSummary.InstanceProfiles.DefaultQuota = getAccountSummaryResponse.SummaryMap("InstanceProfilesQuota");

        iamSummary.Roles.Count = listRolesResponse.Roles.Count;
        iamSummary.Roles.DefaultQuota = getAccountSummaryResponse.SummaryMap("RolesQuota");

        iamSummary.ServerCertificates.Count = listServerCertificatesResponse.ServerCertificateMetadataList.Count;
        iamSummary.ServerCertificates.DefaultQuota = getAccountSummaryResponse.SummaryMap("ServerCertificatesQuota");

        iamSummary.Users.Count = listUsersResponse.Users.Count;
        iamSummary.Users.DefaultQuota = getAccountSummaryResponse.SummaryMap("UsersQuota");

        return iamSummary;
    }
}

Where the class IamSummaryModel is defined as:

public sealed class IamSummaryModel
{
    public ResourceSummaryModel CustomerManagedPolicies { get; set; } = new ResourceSummaryModel();
    public ResourceSummaryModel Groups { get; set; } = new ResourceSummaryModel();
    public ResourceSummaryModel InstanceProfiles { get; set; } = new ResourceSummaryModel();
    public ResourceSummaryModel Roles { get; set; } = new ResourceSummaryModel();
    public ResourceSummaryModel ServerCertificates { get; set; } = new ResourceSummaryModel();
    public ResourceSummaryModel Users { get; set; } = new ResourceSummaryModel();
}

public sealed class ResourceSummaryModel
{
    public int Count { get; set; }
    public int DefaultQuota { get; set; }
}

The problem I’m facing is that my Unit Tests turn into a mass of code in the Assemble section. I have to mock every call I make to each AWS SDK client method.

Example Unit Test

(Fact)
public async Task GetIamSummaryAsync_CustomerManagerPolicies_MapToModel()
{
    // Arrange
    var iamClientStub = new Mock<IAmazonIdentityManagementService>();
    
    iamClientStub.Setup(iam => iam.ListPoliciesAsync(It.IsAny<CancellationToken>()))
        .Returns(Task.FromResult(
            new ListPoliciesResponse()
            {
                Policies = new List<ManagedPolicy>()
                {
                    new ManagedPolicy(),
                    new ManagedPolicy()
                }
            }
        ));

    // Lots of other mocks, one for each dependency
    
    var sut = new IamService(iamClientStub.Object);

    // Act
    var actual = await sut.GetIamSummaryAsync();

    // Assert
    Assert.Equal(2, actual.CustomerManagedPolicies.Count);
}

Malformed entry 58 in list file /etc/apt/sources.list (URL parse) The list of sources could not be read

I saw How do I remove a malformed line from my sources.list? and did:

  • In the app software & updates, checked:

    • canonical-supported free and open-source software (main)
    • community-maintained free and open-source software(universe).

    Copping the code block in that thread (I could not show here because I do not have reputation) and pasted to sources.list, after replacing precise to focal.

    Saved, then,

    sudo apt-get update
    

    The result was the number ‘58’ became ‘55’- only.

  • Visited repogen dot simplylinux dot ch

    • My version Focal was not on the list.
  • hp-check and got:

    error: 'libcups2' package is missing/incompatible 
    error: 'libdbus-1-dev' package is missing/incompatible 
    error: 'libjpeg-dev' package is missing/incompatible 
    error: 'libcups2-dev' package is missing/incompatible 
    error: 'cups-bsd' package is missing/incompatible 
    error: 'cups-client' package is missing/incompatible 
    error: 'libcupsimage2-dev' package is missing/incompatible 
    error: 'build-essential' package is missing/incompatible 
    error: 'libusb-1.0.0-dev' package is missing/incompatible 
    error: 'libusb-0.1-4' package is missing/incompatible 
    error: 'libsane-dev' package is missing/incompatible 
    error: 'libsnmp-dev' package is missing/incompatible 
    error: 'snmp-mibs-downloader' package is missing/incompatible 
    error: 'openssl' package is missing/incompatible 
    error: 'python3-pyqt4' package is missing/incompatible 
    error: 'gtk2-engines-pixbuf' package is missing/incompatible 
    error: 'python3-dev' package is missing/incompatible 
    error: 'libtool' package is missing/incompatible 
    error: 'libtool-bin' package is missing/incompatible 
    error: 'build-essential' package is missing/incompatible 
    

opengl – GLSL: How can I optimize this lighting (fragment) shader? Basic 2D game, 30+ light sources cause significant frame loss

Switching to deferred shading would be the best solution with this many lights. ( https://en.wikipedia.org/wiki/Deferred_shading )

I am using a deferred rendering process

vec4 pixel = texture2D(LastPass, gl_TexCoord(0).xy);

That is not proper deferred rendering.

You’re supposed to accumulate all the light values by drawing additively into a lighting buffer (letting the GPU’s memory/cache subsystem do the accumulation) and when this is completed combine both the diffuse and lighting buffers in one final pass.

And draw each light as a quad/triangle over the lighting buffer covering only their visible radius.

But without re-engineering the whole pipeline the first thing would be to remove some of the divisions and use pre-calculated reciprocals.

Transform:

attenuation = (attenuation - light.falloff) / (1 - light.falloff);

Into:

attenuation = (attenuation - light.falloff) * light.one_minus_falloff_inverse;

By pre-calculating one_minus_falloff_inverse as 1.0f/(1 - light.falloff) on the CPU.

Turn d/light.radius into d*light.radius_inverse

And this is a red-herring:

    //This line runs VERY slow when there are many light sources.
    finalPixel += (diffusepixel * ((vec4(light.color, 0.4) * attenuation)));

Commenting out this line makes everything faster because the shader compiler eliminates the entire loop and removes one texture lookup because nothing in the entire calculation is useful when that line of code is gone.

See “Dead code elimination” ( https://en.wikipedia.org/wiki/Dead_code ) done by compilers.

bitcoin core – Finding legitimate sources of research and info regarding crypto, mining and the blockchain

I’m relatively new to Bitcoin, crypto and the blockchain and mining etc, however due to having over 15 years experience in IT Ive followed BTC etc since it kicked off in (2009?), and would like to learn more about it from a tech point of view and get involved in this exciting new tech that is, in my opinion kind of like e.g Linux (Ubuntu etc) and open source SW, where knowledge and freedom are more important than profit and all of its problems (eg greed , power, etc) and Linux Desktop open source is amazingly secure reliable OS that is available as an alternative to MS, IOS etc.

I am a firm believer in the internet and IT (even its all its current problems eg scams , hacking, etc) and shortfalls is the great leveler for the “the people” to connect, learn, collaborate etc without government or political and corporate interference or control.

I believe that BTC and its decentralized automatic system of transactions is the way of the future, but with so much -ve press its hard to find good sources of learning/info and how to get involved as a “genuine supporter of the new digital tech”

BTC, crypt etc is fast, very secure, and offers an alternative to corporate, government controlled and owned currency assets.

Your help is appreciated

dnd 5e – How to resolve multiple sources of cover when using a grid?

The cover rules in the PHB say:

There are three degrees of cover. If a target is behind multiple sources of cover, only the most protective degree of cover applies; the degrees aren’t added together. For example, if a target is behind a creature that gives half cover and a tree trunk that gives three-quarters cover, the target has three-quarters cover.

However the DMG (250/251) appears to have an alternate method for resolving multiple sources of cover:

To determine whether a target has cover against an attack or other effect on a grid, choose a corner of the attacker’s space or the point of origin of an area of effect. Then trace imaginary lines from that corner to every corner of any one square the target occupies. If one or two of those lines are blocked by an obstacle (including another creature), the target has half cover. If three or four of those lines are blocked but the attack can still reach the target (such as when the target is behind an arrow slit), the target has three-quarters cover.

The only case I can think where these might collide is something like the following:

multiple character cover

Individually T would not get cover from D1 or D3 and only get half cover from D2. The DMG seems to indicate T might get full cover since all 4 lines would be blocked. However if you use the guidance from the PHB (as shown above) T would only have half cover.

Seems to me it’s just a judgement call which interpretation is correct. Anyone know of any rules that clarify this other than a judgement call?

EDIT: assume D1, D2, and D3 are separate obstacles or monsters.

Maybe this makes it more clear:

separate defenders

dnd 5e – How to resolve multiple sources of cover?

The cover rules in the PHB say:

There are three degrees of cover. If a target is behind multiple sources of cover, only the most protective degree of cover applies; the degrees aren’t added together. For example, if a target is behind a creature that gives half cover and a tree trunk that gives three-quarters cover, the target has three-quarters cover.

However the DMG (250/251) appears to have an alternate method for resolving multiple sources of cover:

To determine whether a target has cover against an attack or other effect on a grid, choose a corner of the attacker’s space or the point of origin of an area of effect. Then trace imaginary lines from that corner to every corner of any one square the target occupies. If one or two of those lines are blocked by an obstacle (including another creature), the target has half cover. If three or four of those lines are blocked but the attack can still reach the target (such as when the target is behind an arrow slit), the target has three-quarters cover.

The only case I can think where these might collide is something like the following:

multiple character cover

Individually T would not get cover from D1 or D3 and only get half cover from D2. The DMG seems to indicate T might get full cover since all 4 lines would be blocked. However if you use the guidance from the PHB (as shown above) T would only have half cover.

Seems to me it’s just a judgement call which interpretation is correct. Anyone know of any rules that clarify this other than a judgement call?