graphs – Concrete example of an admissible A* heuristic compared to Djisktra

In other words, Djikstra is a form of A* where the heuristic always returns the actual distance.

This is wrong. Dijkstra’s is a form of A* where the heuristic is always 0.

Dijkstra’s algorithm is essentially the weighted-graph version of a breadth-first search. It simply spreads out from the start node in all directions until it researches the end node. It could spend a lot of time searching paths that are going in the complete opposite direction of the end, because it doesn’t know anything about the global properties of the graph.

That’s where the heuristic comes in. Since we know the approximate direction of the end, we can prioritize searches that move in that direction. In a 2D graph, for example, this would mean prioritizing searches that are closer to the end from a bird’s-eye view.

The heuristic is added to the total distance so far to determine which nodes to consider next. If the heuristic is 0, then we’re only using the distances known so far, meaning we don’t prioritize any direction and we get Dijkstra’s algorithm again. However, if it’s non-zero, we do prioritize certain directions, which hopefully leads to us reaching the end sooner.

Note that the heuristic is just an estimate, not the actual distance to the end. In fact, it’s more than an estimate – it’s a lower-bound to the actual distance (that’s what “admissible” means). In our 2D example, our heuristic is the bird’s-eye view straight-line, which is the shortest possible path between two points. Adding obstacles will never decrease this path length, only increase it.

dnd 5e – Is this homebrew spell for speaking with the dead balanced when compared to other divination and necromancy spells?

This spell is pretty bad

Considering that Contact Other Plane already specifically covers speaking with the dead, this spell is a major downgrade at the cost of a higher level spell slot.

Let’s go through it:

The spirit is under no compulsion to answer you or to be truthful, and depending on its demeanor may be actively hostile to you.

Here’s where we get to the first real issue. The spirit is under no compulsion to answer you or be truthful, which defeats the entire purpose of the spell: getting information. In both Speak With Dead and Contact Other Plane, the target of the spell is forced to answer your questions, even though it’s not required to do so truthfully (at least in Speak With Dead, Contact Other Plane is unspecified). With Dream, you at least have the option of attempting to deceive the target by appearing differently than yourself. This spell offers no such advantage.

While this spell is active, every 10 minutes you must make a Constitution Saving throw of DC 15, or take 4d6 necrotic damage as the spell steals your life essence. If the spirit is hostile to you, it can choose to force you to make this save every minute. If you fail this save, your hit point maximum is reduced by the same amount, and you gain a level of exhaustion. The reduction to your hit point maximum goes away when you next finish a long rest, and if your maximum hit points are reduced to zero by this spell then you die. You can end the trance and the spell by concentrating for 1 minute, after which the spell ends. Once a spirit has been summoned in this way, it cannot be targeted by this spell for a year and a day.

This next part, though, is a significant problem. If the target is hostile, then they get to try to just keep you locked in the spell until you die. No other spell in the game can just outright kill its caster, except for maybe Wish, if the wish is especially poorly worded and you have a mean DM.

I’m not sure why this is even here, is it a punishment for the players for “picking the wrong target”? Because if that’s the case, I disagree entirely. Players should never be punished for expending their resources.

To be honest, I’m not entirely sure what the purpose of this spell is supposed to be, since it covers much the same territory as Contact Other Plane, but with more risks involved, and has significantly less chance of an actual payoff for casting it, considering that even an indifferent spirit is unlikely to answer some random guy who just summoned them from the afterlife. Sure, the target can give full answers, but unless it’s someone you already know or you have a really really good reason why they should help you, I don’t see this actually providing any benefits when cast, only downsides.

programming practices – Is enforcing code formatting standard that important in 2021 compared to 2005 with microservice architecture?

As soon as the code is read more than it’s written, it doesn’t matter if you’re writing a microservice or not: bad code is bad code.

Formatting is important, because:

  • Consistent formatting decreases the time wasted understanding code. Whenever it’s your colleague reading your code when you’re on vacation, or you yourself six months after writing the code.

  • Correct formatting decreases risks of errors, where at the first glance, you think the code is doing this or that, but the code actually does something else. Popular example:

    if (this.enabled)
        this.disable();
        this.notifyServer();
    

    The second statement will execute whenever this.enabled is true or false. Nevertheless, it looks like it’s a part of the condition body. May not be a big deal to fix, but sometimes, one can waste a few hours on a problem like this.

Your 5.000 LOC threshold, or the presence of a microservice, or the presence of multiple languages is completely irrelevant.


Many of your bullet points, by the way, are plain wrong:

A microservice rarely exceeds 5000 lines of code (probably that is too much).

I would be interested to see your reimplementation of Amazon S3 or Amazon SNS in 5.000 LOC. More importantly, LOCs are completely irrelevant here: you can screw things up with bad formatting in three lines of code, as shown above.

We have multi language setup with microservices written in Java, Kotlin, Golang, Python.

Which is not the case of every project out there. Many use one or two languages. More importantly, the more languages you use, the more it is important to stick with the official style, specifically because the code will be written and read by developers who are not language experts. The most horrific pieces of C# code I’ve seen were written by programmers who mostly use JavaScript.

High level of redundancy. Code is duplicated much more often.

Which means… that consistency in code formatting becomes more important?…

Code is disposable, very easy to just throw it in the garbage and write something new.

This is your specific case. In most companies, it is not unusual to find code dating back ten or twenty years back. Once it works, it makes little sense to throw it away and write something new. Terrible formatting may explain why a team could decide to throw the piece of code away.

The code being disposable means we will not end up with a maintainer having to maintain it for many many years as it is with monoliths.

See previous point. And the lifespan of a piece of code has absolutely nothing to do with microservices. If you rewrite your microservices on regular basis, you’re doing it wrong.

unreal 4 – Are there any serious advantages for C++ compared to C?

If you want to accomplish anything in Unreal through code, then you have to use some object-oriented features. The way you implement game mechanics is by creating C++ classes which inherit from the standard classes provided by the engine and override virtual methods with your own code. And any of the engine features you want to access in your code are also accessed through objects. So you can not really use Unreal using only C features. You need a basic understanding of classes, objects and inheritance.

That being said, you don’t really need to understand that much about the finer intricacies of C++ to make use of Unreal. The engine API handles a lot of the nitty gritty details of the C++ language for you. Also, the Unreal engine got a very powerful visual scripting system (called “Blueprints”) which allows you to implement most game mechanics without writing any code at all. There are Unreal Engine games which use visual scripting for everything and do not contain a single line of code. Not that this is always a good idea, but it is certainly possible.

apk – Signature of two different apps are being compared inside the code of an app

For a particular Mobile App, I am trying to understand the client-side code of an apk by decompiling the apk using Jadx-GUI. While I was going through the code, I found out interesting code snippet (shown in the image). Signature of the existing app is being compared with that of the app named “Android”.

enter image description here
I observed this type of comparison in more than one app. I fetched the certificate details and found out that they both are different and the certificates are self-signed (they are not using Google Play Signing)

So, my question is Why the developers are comparing the signature of two different apps? Under what scenarios, this type of signature verification is useful?

dnd 5e – Is this homebrew Sea Domain Cleric balanced compared to the other subclasses?

I am making a compendium of homebrew Cleric subclasses, spells and feats, but I want to make sure it is actually balanced and there are no glaring loopholes or broken combos with existing feats, spells, and subclasses before I release it. Is this homebrew Sea Domain balanced compared to the other cleric subclasses?

The landlubber cultures see the sea as an unconquerable force, so why not harness it to your advantage? The gods of the sea include Umberlee, Posiedon, Habbakuk, and Njord.

Domain Spells

Level
1st Create or Destroy Water, Earth Tremor
3nd Find Steed, Protection from Poison
5th Tidal Wave, Wall of Water
7th Control Water, Watery Sphere
9th Commune with Nature, Steel Wind Strike

Bonus Proficiencies

You gain proficiency in Aquan, martial weapons, and Vehicles(sea).

Sea Master

You become more adapted to life in the water. You gain a swimming speed equal to your walking speed, you can breath underwater, and you know the Shape Water cantrip and can cast it as a bonus action. You add twice your proficiency bonus to any check to navigate at sea.

Channel Divinity: Heart of the Sea

At 2nd level, you can use your Channel Divinity to bolster yourself with the strength of the sea. As an action while you are fully submersed in water, you can spend a use of Channel Divinity to make yourself resistant to all nonmagical damage for one minute. This resistance ends if you begin a turn not fully submersed in water. At 16th level, this ability conveys resistance to magical damage as well.

Channel Divinity: Grace of the Dolphin

At level 6, you can meditate for 10 minutes and use your channel divinity to gain the following benefits until you take a long rest:

  • Your jump distance is tripled while you are swimming.
  • When you are piloting a sea vessel, it moves at twice its normal speed.
  • You can communicate with aquatic beasts, and you have advantage on Charisma checks involving them.
  • You can dash as a bonus action while swimming.

Divine Strike

At 8th level, you gain the ability to infuse your weapon strikes with the divine energy of a crashing wave. Once on each of your turns when you hit a creature with a weapon attack, you can cause the attack to deal an extra 1d8 bludgeoning damage to the target. When you reach 14th level, a creature hit by the attack must also make a strength saving throw or fall prone.

Wrath of Poseidon

At 17th level, as an action, you can summon a whirlpool of watery whips around you. The whirlpool is a sphere centered on you that is 20 feet in radius. It counts as difficult terrain for all creatures except you. Ranged weapon attacks made from outside the cylinder automatically miss any target inside the cylinder. Any creature other than you who starts their turn inside your whirlpool must make a dexterity saving throw, taking 1d10 bludgeoning damage and being pushed 20 feet away on a failed save or take half as much damage and not be pushed on a successful one. You cannot concentrate on spells while your whirlpool is summoned. You can dismiss your whirlwind as a bonus action. Additionally, you learn the Tsunami and Earthquake spells and always have them prepared.

dnd 5e – Is this homebrew Hearth Domain cleric balanced compared to the other domains?

I am making a compendium of homebrew Cleric subclasses, spells and feats, but I want to make sure it is actually balanced and there are no glaring loopholes or broken combos with existing feats, spells, and subclasses before I release it. Is this homebrew Hearth Domain balanced compared to the other cleric subclasses?

Protectors of homes everywhere, clerics of the Hearth domain defend their party and when they rest, they protect them from evils. Gods of the hearth include Boldrei, Cyrollalee, Vesta, Berrorar Truesilver, and Frigg.

Domain Spells

Level
1st Alarm, Sanctuary
3rd Warding Wind, Arcane Lock
5th Leomund’s Tiny Hut (R), Aura of Vitality
7th Aura of Purity, Mordenkainen’s Private Sanctum
9th Wall of Light, Hallow

Defender of the resting

After finishing a short rest within 30 feet of you, a friendly creature gains temporary hitpoints equal to your level. These are lost when the creature takes another rest.

Home Maintaince

As an action, you can touch a structure and heal it 10 hitpoints. You can do this a number of times equal to your cleric level, regaining all uses on a short rest.

Channel Divinity: Protective Mote

At level 2, as a bonus action, you can use your channel divinity to throw down a mote of magical light at a point within 60 feet of you. The mote stays at that point and emits dim light out to 30 feet. All friendly creatures have their armor classes increased by 2 while they are within 30 feet of the mote. This bonus increases to 3 at level 10 and 4 at level 19. The mote disappears if you are reduced to 0 hitpoints, or if it is targeted by dispel magic or is within an antimagic field.

Channel Divinity: Secure Building

At 6th level, while inside a structure no larger than 10,000 square feet, you can meditate for one minute, using your channel divinity to detect and expel intruders. You learn the number of hostile, neutral, and friendly creatures currently within the building. All hostile creatures must make a charisma saving throw or be teleported to a random location outside the building within 1000 feet determined by the DM. They will not be teleported to a location that would cause them immediate harm. Invisible creatures have advantage on this saving throw. For the next hour, the building cannot be teleported into except by a wish spell.

Defensive Spellcasting

At 8th level, whenever you cast a spell of first level or higher, you regain hitpoints equal to your wisdom modifier.

Punish intruders

At 17th level, whenever a creature you can see takes damage (or you take damage yourself), you can use your reaction to have them take no damage instead. If the damage was caused by a creature, that creature takes damage equal to the damage they would have dealt, ignoring resistances, vulnerabilities, and immunities either creature had. Once you use this feature you cannot use it again until you finish a long rest.

dnd 5e – Is this homebrew Dreams&Sleep domain balanced compared to the official domains?

I am making a compendium of homebrew Cleric subclasses, spells and feats, but I want to make sure it is actually balanced and there are no glaring loopholes or broken combos with existing feats, spells, and subclasses before I release it. Is this homebrew Dreams&Sleep Domain balanced compared to the other cleric subclasses?

Dreaming and sleeping might seem like the last thing to do in battle, but by infiltrating dreams one can undermine an enemies psyche, and by controlling their sleep, you can cause them to enter a slumber during the heat of combat. Gods of sleep and dreaming include Diirinka, Sehanine Moonbow, Niorun, Hypnos, and Morpheus.

Domain Spells

Level
1st Sleep, Dissonant Whispers
3rd Gentle Repose (R), Mind Spike
5th Catnap, Enemies Abound
7th Phantasmal Killer, Shadow of Moil
9th Dream, Synaptic Static

Aura of Mental Protection

As reaction, when a creature within 30 feet of you fails a wisdom, charisma, or intelligence saving throw, you can make them reroll the saving throw and take the higher result. You can use this a number of times equal to your wisdom modifier, regaining uses on a short rest.

Sleep Optimization

For you and creatures within 30 feet of you, a long rest only requires 7 hours instead of 8. This decreases to 6 hours when you reach 19th level.

Channel Divinity: Psychic Reconnoitre

At 2nd level, as an action, you can touch an unconscious or sleeping creature and use your channel divinity to affect its dreams to tear down its mental defenses. For 8 hours after the creature wakes up, they will have disadvantage on the first wisdom saving throw, the first intelligence saving throw, and the first charisma saving throw they make. They can get rid of this effect by taking a short or long rest.

Channel Divinity: Inception

At 6th level, as an action, you can target a creature within 60 feet of your who has taken psychic damage from a spell you cast in the last minute or has failed a saving throw against a spell of the enchantment or illusion school you cast in the last minute. You use your channel divinity to create layers and layers of dreams within their mind. That creature must make a wisdom saving throw or take 4d12 psychic damage and be stunned for the next round. The creature also ages by 1d4 years. The damage increases to 8d12 at level 15. A creature who fails a saving throw against your Inception once can never be aged by it again.

Psychic Spellcasting:

Starting at 8th level, whenever you deal damage with a cleric cantrip, you deal additional psychic damage equal to your wisdom modifier.

Mental Fortress:

At 17th level, you are always under the effects of a Mind Blank spell.

dnd 5e – Is this homebrew Chromatic Dragon domain balanced compared to the official domains?

I am making a compendium of homebrew Cleric subclasses, spells and feats, but I want to make sure it is actually balanced and there are no glaring loopholes or broken combos with existing feats, spells, and subclasses before I release it. Is this homebrew Chromatic Dragon Domain balanced compared to the other cleric subclasses?

Fears rightfully by almost all creatures, Dragons terrorize vast swaths of the world and possess half its wealth and magic. If you worship them enough, or if you have draconic ancestry, you may share a sliver of their power.

Domain Spells

Level
1st Cause Fear, Absorb Elements
3nd Dragon’s Breath, See Invisibility
5th Elemental Weapon, Fly
7th Icestorm, Wall of Fire
9th Wrath of Nature, Destructive Wave

Subclass Restriction

Only Humans, Half Elves, Kobolds, and Dragonborn may take this domain.

Bonus Proficiencies

You gain proficiency in martial weapons and intimidation.

Draconic Type

At the end of a long rest, you choose a dragon color to embody. This grant you abilities depending on what you select that last until your next long rest.

Red

You gain a small breath weapon. As an action, you can exhale fire in a 15 foot cone. All creatures in that cone must make a dexterity save or take 1d4 fire damage. This increases to 2d4 damage at level 10 and 3d4 at level 19.

White

The water immediatly under your feet freezes, allowing you to walk across water. You are resistance to cold damage and are acclimatized to cold climated.

Green

You can cast protection from poison or detect poison and disease once each. You temporarily have the poison spray cantrip as one of your cleric spells.

Blue

You temporarily have the shocking grasp cantrip as one of your cleric spells. Whenever you cast, it, you can fly up to your remaining movement. You fall if not supported at the end of your turn.

Black

You are immune to acid damage.

Channel Divinity: Dragonic Fear

At 2nd level, as an action, you use your channel divinity to imbue your self with fear. You gain advantage on intimidation checks for the next hour.

Channel Divinity: Dragonic Transformation

At 6th level, as an action, you use your channel divinity to turn yourself into a draconic avatar. You gain a flying speed of 60 feat and a +2 to your armor class for one minute.

Divine Strike

At 8th level, you gain the ability to infuse your weapon strikes with the divine energy of a dragon. Once on each of your turns when you hit a creature with a weapon attack, you can cause the attack to deal an extra 1d8 damage to the target. The damage type depends on your current Type: Red is fire damage, white is cold damage, green is poison damage, blue is lightning damage, and black is acid damage. When you reach 14th level, the damage increases to 2d8.

Dragon Master

At level 17, you gain additional features based on your current type.

Red

You are immune to fire damage.

White

Your skin is so cold that whenever you a creature escapes your grapple, or you escape a creature’s grapple, that creature takes 8d4 cold damage.

Green

Whenever a creature reduces you to zero hit points, they are poisoned for one minute.

Blue

You can cast lightning bolt twice.

Black

You can cast the acid splash cantrip as a bonus action.

dnd 5e – Is this homebrew Music Domain balanced compared to the official domains?

I am making a compendium of homebrew Cleric subclasses, spells and feats, but I want to make sure it is actually balanced and there are no glaring loopholes or broken combos with existing feats, spells, and subclasses before I release it. Is this homebrew Music Domain balanced compared to the other cleric subclasses?

Although usually the realm of bard, musical magic is often used by divine entities. God of music include Apollo, Bragi, Olidammara, and Milil.

Domain Spells

Level
1st Heroism, Alarm
3nd Calm Emotions, Enthrall
5th Beacon of Hope, Tongues
7th Dominate Beast, Conjure Woodland Beings
9th Danse Macabre, Commune (R)

Bonus Proficiencies

You gain proficiency in the performance skill, and in 4 instruments of your choice. Choose one instrument you are proficient in. You double your proficiency bonus for skill checks made that involve playing that instrument.

Song Of Encouragement

Whenever you cast a spell of first level or higher that has a verbal component, choose one creature within 30 feet of you. That creature gets a bonus to one ability check, saving throw, or attack roll they make within the next minute of their choice equal to the level of the spell you cast. If they do not use the bonus within the minute it is lost. If a creature has multiple bonuses, they can only benefit from one on any given use.

Holy Voice

You are unaffected by the silence spell.

Channel Divinity: Musical Number

At second level, when you are not in combat, you can use your channel divinity to perform a 1 minute divinely inspired song and dance routine to convince/intimidate onlookers. For the next 10 minutes, you gain advantage on all charisma checks involving creatures who saw and heard your performance.

Channel Divinity: Enchant Creatures

At 6th level, you can use your channel divinity and perform a one minute song that enchants weak onlookers. At the end of the song, all creatures of CR 1/8 or lower who were within 60 feet of you during your performance must make a wisdom saving throw. Otherwise, they serve you loyally for the next hour, though they will not put themselves in immediate danger, and all enchanted creatures will stop serving you and run away if any of them take damage.

Potent Spellcasting

Starting at 8th level, you add your Wisdom modifier to the damage you deal with any cleric cantrip.

Epic Composition

At level 17, you can spend 10,000 gold and 100 hours to create a musical masterpiece, a scroll of sheet music with immense power. You can do this only once, though you can recreate the same piece for 1,000 gold and 10 hours if the original is destroyed. As an action when you have both hands free, you can unroll the scroll and the sound of the music will begin to play magically all around you for the next minute. You must have both hands free during the entire minute to conduct the magical music. During this minute, you cannot concentrate on spells, make attacks, or cast spells. If you are unconscious, the music ends. At the end of the minute, if the music played for the entire minute an effect occurs depending on the piece you created and the scroll is destroyed:

Also Sprach Zarathustra:
All creatures, excluding yourself, within 120 feet of you take 10d10 radiant damage and are blinded until the end of their next turn. All magical darkness within 120 feet of you is dispelled. This counts as one round of exposure to direct sunlight.

Cannon in D:
You cast meteor storm without expending a spell slot.

Komm Susser Todd:
All creatures within 1 mile of you become telepathically linked. They can read the surface level thoughts and emotional state of any other creature in the linking, regardless of language proficiency, as long as they are in the same plane of existence. This linking lasts for 1 hour, after which, all creatures in the linking, including you, take 6d12 psychic damage. A creature killed by this damage disintegrates into orange goo.