When would you use an edge list graph data structure instead of an adjacency list or adjacency matrix?

In what applications would you choose an edge list over an adjacency list or an adjacency matrix?

Sample Question, VisuAlgo: Which best graph DS(es) should you use to store a simple undirected graph with 200 vertices, 19900 edges, and the edges need to be sorted? Suppose your computer only has enough memory to store 40000 entries.

There are three choices: adjacency lists, adjacency matrix, and an edge list.

Edge lists are the correct answer here because sorting by weight is most efficient, but what are some other use cases?

Thanks!

Why do we call the class “Barbarians” instead of “Berserks” or “Berserkers”?

This is a history-of-gaming question, and it has to do with the name choice between Barbarian and Berserkers. Due to the race-and-class mixing and matching of many different gaming systems, you can get combinations of barbarians with very non-barbaric races. Examples could include: “High Elf Barbarian” and “Gnome Barbarian.” On the surface, these combinations seem unusual but otherwise OK. It gets worse when you grab a dictionary.

According to Merriam-Webster:

Barbarian:

1: of or relating to a land, culture, or people alien and usually believed to be inferior to another land, culture, or people

2: lacking refinement, learning, or artistic or literary culture

Berserk:

1: an ancient Scandinavian warrior frenzied in battle and held to be invulnerable

2: one whose actions are recklessly defiant

If you look at the features of a “barbarian” class, in almost any system, you notice that they align better with the definition of a Berserk (or Berserker). This is reinforced when you read about berserkers in norse sagas. Furthermore, if you look at the linguistic roots of barbarians, it was used to refer to anyone who was not of a particular culture.

Why do we call these classes “Barbarians” instead of “Berserks” or “Berserkers”?

Is using stunting and pranks to gain advantage instead of stealth mechanically sound?

I would like to break the stereotype that rogues are always super stealthy sneaky types that appear from the shadows and strike and then disappear, for me that makes the flavor of the game not as fun and reduces the amount of decision making in-game. This is the reason I haven’t considered playing rogue ever.

I am selecting the thief rogue archetype in order to be able to take advantage of the use an object bonus action, and combine it with free actions for maximum effectiveness to allow for stunting and debuffing to gain the advantage required for sneak attacks. Is this a mechanically sound way to reliably trigger sneak attacks?

Ways this could potentially be implemented in practice:

  • Throwing dust into the eyes of an enemy
  • Using tinderbox to light their clothing, hair, or fur on fire
  • Using ten foot pole or quarter staff to poke and harass them
  • Using ropes and whips to attempt to trip them up or lasso them
  • Throwing caltrops, ball bearings, or oil, under their feet
  • Pantsing them or messing with their clothing in a similar way

Why is ID token used instead of Access token to get temporary credentials in AWS?

After a user logons to cognito, he receives access and ID tokens. the ID token contains sensitive info like phone number, email, etc..

From all standards – ID token should not be used to gain access to an API: https://auth0.com/docs/tokens?_ga=2.253547273.1898510496.1593591557-1741611737.1593591372

In the backend, to get a session credential (to work with AWS resources) – you typically do this:

identity_id_response = boto3.client('cognito-identity').get_id(     IdentityPoolId=identity_pool_id,     Logins={         provider: id_token #ID token! not access token     } ) 

Then:

provider = f'cognito-idp.{region}.amazonaws.com/{user_pool_id}'  response = boto3.client('cognito-identity').get_credentials_for_identity(     IdentityId=identity_id_response,     Logins={         provider: id_token #access token again     }, ) 

Then, you can use AccessKeyId, SecretKey, SessionToken etc..

This is problematic as what if you want to send the ID token to multiple services (via SNS, etc..) so you could perform processing on behalf of the user? you basically send a sensitive token that contains sensitive user data over the backend.

So – it requires an encryption before sending this token, which seems like an overhead.

Any thoughts?

[ Movies ] Open Question : Movies Section: What if Batman & Robin was directed by Tim Burton (Instead of Joel Schumacher)?

If the movie of Batman & Robin (1997) was directed by Tim Burton (Produced, too) instead of Joel Schumacher, what do you think about this cast of characters? Cast: Michael Keaton as Bruce Wayne/Batman (Instead of George Clooney) Marlon Wayans as Dick Grayson/Robin (Instead of Chris O’Donnell) For the villains instead of Mr. Freeze, Poison Ivy, and… Bane Nicolas Cage as Dr. Jonathan Crane/Scarecrow Courtney Love as Dr. Harleen Quinn/Harley Queen And as for the last main character as a heroine character… Alicia Silverstone as Barbara Gordon/Batgirl (Not Barbara Wilson) Any thoughts?

When creating a race in Pathfinder, can you give them two racial types instead of one? [duplicate]

I noticed in the Advance race guide for Pathfinder, that most of the races have a single type except for hybrid races like half-orcs which have two for the Humanoid type.

So when your creating a race in Pathfinder, are you able to combine two racial types or is it just one type only?

Using Ubuntu 18.04: On VestaCP installation, how to get result (https://subdomain.domain.tld:8083) instead of (https://123.312.321.23:8083) [closed]

I’m trying to install VestaCP on Ubuntu 18.04 but keep getting the following result after successful installation:

https://123.231.312.23:8083 instead of:

https://subdomain.domain.tld:8083

What do I have to do get this result: https://subdomain.domain.tld:8083?

I set hostname to server1: $ sudo hostnamectl set-hostname server1

then edit host file: $ sudo nano /etc/hosts

IP_address subdomain.domain.tld subdomain 

After all is done,I get hostname and FQDN as shown below, which is as it should be:

$   hostname server1 $   hostname -f server1.domain.tld 

But then, the result after successful installation: https://123.231.312.23:8083

What am I doing wrong?

DDoS using websites instead of bots?

What if a ddos attacker hits public websites (google, amazon etc) with some requests but spoofed the souce ip to the victim’s ip. Now the responses will be sent to the victim’s ip.

Attacker can rotate between the millions of public websites so that the site wont find anything suspicious.

This seems like an easier way than having a malware botnet to do it. The attacker is just using the websites as botnet. Anyone can just do it with the personal computer (or faster and high bandwidth aws/azure VM) and with just 10-20 lines of code.

Why ddos attackers are not doing this instead of buying botnets?