How can a lawful good Paladin help a lawful evil Giant? [closed]

The story:

The Fire giant King has a daughter who was possessed by a powerful Demon. The Daughter is also a powerful evil Cleric with a hundred followers. Under the influence of the Demon she and her followers start to terrorize the region. Fire giant King calls a group of heroes to save the daughter and slay the Demon. As you may have guessed, the dwarf from the question is part of this group of heroes.

A few more details

There is a known animosity between dwarfs and giants, dwarfs even have a racial trait +4 dodge bonus on AC when fighting giants. My DM and my whole party thinks that I should kill any evil giant at sight if possible because:

  • I’m a Dwarf – they hate giants
  • I’m a Paladin – they smite evil

I have a different approach. If I can stop a creature/monster/person doing harm without killing it I let it live.

So the question is:

how can a lawful good dwarf, who is a Paladin and also a Cleric, help a lawful evil fire giant king without breaking his alignment?

Optimizing a Wizard that does no direct damage in D&D 5e [closed]

I’ve thought of building a wizard who emphasizes supporting the team instead of just picking all the spells that do damage. And I want to take that a step further: no direct damage. Flavor-wise, he is an elderly character that loathes hurt and suffering. He leaves combat for the young-uns and understands its necessity, but does not directly harm enemies.

Build Concept

Build a Wizard (that may multi-class into other casters) that takes no spells that directly damage enemies. This includes: spells with an attack roll, spells that cause damage based on a Saving Throw, spells that enhance my own attacks, and spells that increase the damage I do on other attacks.

Build Parameters

Standard point-array, feats and multi-classing allowed. Wizard supports the following party members: monk, warlock, barbarian, ranger. I’m not sure what my other members are specializing, but I’m confident about an UA Zealot Barbarian and a Hunter Ranger. They are all damage-oriented players who like to compete and shine in battle, damage-wise. Our campaigns usually have a full-level progression, but we can focus on levels 1-14 (which I can realistically expect to play). Role in battle:

  1. Support the team

  2. Control enemies

  3. Prevent deaths

  4. When the party really needs the damage output, to use an army of creatures to fight for him.

The Build So Far

400 year old Forest Gnome (INT +2, DEX +1), knows Minor Illusion, able to speak with small animals (good for scouting). The spells for my book.

Cantrip list

  • Mage hand, Light, Message
  • Blade Ward
  • Prestidigitation / Mending

Spells List:

Support/Control oriented:

  • Find Familiar (ritual) – to Help our warlock with his few but powerful spells
  • Hold X – keep a nasty target on lockdown until party can focus him
  • Blur / Mage Armor – one requires concentration, other lasts a lot longer
  • Darkness / Fog Cloud – for defense tactics
  • Polymorph – turn comrades out of resources into powerful beasts
  • Fly
  • Counterspell / Dispel magic
  • Wall of X
  • Mass Suggestion

Combat oriented

  • Create Undead
  • Animate X
  • Conjure X


  • Breathe underwater
  • Fly
  • Invisibility
  • Leomund’s Tiny Hut

I seek feedback on how to optimize my spell list. However, recommended feats and schools of magic to get the right fit for this concept are welcome

Did I miss any spell that would further my goal of supporting the party?
Are there unnecessary spells here that will not work together or that are too situational?

TL;DR: What spells should I take to make a great combat-support Wizard whose spells do not do direct-damage to enemies, and that can enhance the party’s other members strengths or cover their weaknesses?

The answers should be measured by:

  • Team synergy – spells that draw on the strengths of party members and help them shine and stand-out. Despite knowing the party can change (people die, people leave, etc), to be able to make another character give it his best and then some, is the best thing a support can do, is it not? (e.g., keep the familiar helping the warlock. His few spells are the most potent, and him having advantage on them really makes them worth it)
  • Detail – not just a list of spells, but also why they are (or are not!) useful. Feel free to also reject the spells I have listed. To measure their usefulness, you can resort to your experience in D&D games, as to what is commonly found and what is regularly needed (e.g., the Light spell is always a must if someone in your party does not have Darkvision). If the explanation of the spells is not clear, add an example of it’s utility (or lack-there-of). E.g., “dont take X and Y, both require concentration and are for self-defense” or “don’t take Darkness and Fog Cloud, since Fog Cloud just outshines Darkness”.
  • Versatility / Avoid Redundancy – a good spell list that works against a well-rounded variety of enemies AND with utility for non-combat situations. So, not just something that works against a single melee boss. Bonus points for giving examples of the situations (e.g., “spells X, Y, Z make a good combination VS a Lich boss and his underlings”, “X and Y are good against melee targets”, “the overall list has a hard time against this type of enemy, so in this case you must change your playstyle and rely on the party as you take a step back”, or “spell Levitate not only is good against melee enemies, but is also useful to explore hidden zones”)

Is there a better alternative to the folder-based file system, and will it be replaced any time soon? [closed]

All file systems I’ve encountered have been based on folders – you have a root folder, which contains files and subfolders, which in turn contains files and subfolders, and so on.

Is there a better alternative to organizing files, and will it replaced the current system any time soon? Feel free to include some history about file systems, if you judge that’s in order in your answer.

Interpret the term “better” any way you please.

Why Variables in Python Are Different from Other Programming Languages? [closed]

According to my understanding, a variable in Python is:

A name that refers to a value stored in the computer memory, like a label on a box.

but in other programming languages a variable describes:

A location, in memory, where values are stored, and it’s like a box.

  • Why that difference? (What distinguishes Python?)

  • Python Documentation doesn’t say what a variable is, so how do Python book authors know what it is?

Converting a Recurrence Relation to its Closed Form

I have a recurrence relation of the form given below (taken from Analysis of Algorithms – An Active Learning Approach by Jeffrey J. McConnell):

$ T(n) = 2T(n – 2) – 15 $

$ T(2) = T(1) = 40 $

I am asked to find a closed-form for the recurrence relation i.e. to remove the recursive nature of the equations.

Working: My professor said it would be easier if you could see the patterns taking form if you expand the equations up to a few steps. So,

$ T(n) = 2T(n – 2) – 15 $

$ = 2(2T(n – 4) – 15) – 15$

$ = 4T(n – 4) – 2\times 15 – 15 $

$ = 4(2T(n – 6) – 15) – 2\times15 – 15$

$ = 8T(n – 6) – 4 \times 15 – 2\times15 – 15$

I observe that the coefficient of $ T$ in each step is a power of 2. The size of the problem during each recursive call decreases by 2. Also, there is a -15 term multiplied by the next power of 2.

But I am stuck here and do not know how to proceed further i.e. to obtain a closed-form. The book says to consider cases when $ n$ is odd and even. But I do not get it at all. Any help would be appreciated.

Note: The material hasn’t covered advanced topics like solving recurrence relations yet.

What time horizon and level of abstraction is the right for the maintainable and evolvable software? [closed]

From time to time I feel exhausted in my software development efforts because I am pressed to think and develop in very specific and very short term manner. One client here and now requires one feature and I should implement it for him. Nor client, nor management of my company are interested in investing some time and effort in investigation how can we make this feature adaptable and more general (e.g. introduce configuration instead of hard coding the one branch of feature) for other clients or for future use.

From the one side this may be bad business decision. From the other side it is certainly bad HR decision. Ancient masters achieved excellence precisely because they made or built their artifacts for for the future, for the generations to come, for the eternity. Maybe software developers can achieve similar mastery and excellency if they are allowed to build software for eternity?

So – are there technical criteria (best practices, industry standards, etc.) for building maintainable and evolvable software, criteria that determines the required level of generalisation and future-proofness for implementation of specific feature?

My domain of application is accounting and business software (backoffice).

Why is elastic search popular? [closed]

Elastic search is basically about indexing of data.

In database world,

Multiple indexes can be created on a MongoDB collection

Collection in MongoDB can be schema-less.

In MongoDB, BSON encoding of JSON syntax is used to communicate queries to MongoDB

In Elastic search, indexing is performed on such schema-less documents with JSON syntax.

1) I could not see the difference between,

  • indexing of a MongoDB collection


  • indexing in Elastic search

2) I would like to understand the value-add of indexing in Elastic search over indexing of a MongoDB collection.

3) Why would I use Elastic search, if I already index a MongoDB collection?


Why is elastic search so popular?