Is concept of virtual memory about memory isolation or about ability to swap? Or both?

Most reading I found about virtual memory, such as http://www.linux-tutorial.info/modules.php?name=MContent&pageid=89 or https://en.wikipedia.org/wiki/Virtual_memory always state that virtual memory is a concept that allows operating system to make it “appear as though you have more memory than you really do”.

But isn’t that what overcommit is about? Isn’t whole virtual memory concept primarily about the fact that each process has an isolated virtual memory pool, thus being unable to read or modify other process memory?

If not, what is this technology of memory isolation within own virtual memory pools called?

Persuading players to be less attached to a pre-session 0 character concept

I am currently running a campaign that is coming to a close. This is fine, and as planned. However I would like to start another campaign after. I mentioned this to (some of) the players, who seemed happy(ish) to switch over when the conclusion was reached, including that I was considering a vaguely Gothic-horror theme. I also specifically stated that there would be a session 0 to discuss things like setting and appropriate characters.

Having heard this a couple of players have, I discovered, started creating characters, of varying levels of appropriateness. I have tried subtly suggesting that those may require revision but at least one player seems attached already.

My question then is: At session 0 how can I persuade players to be more willing to abandon (potentially campaign inappropriate) character concepts, especially ones they already seem somewhat attached to?

Ideally without causing offence. If it would be better for me to change my plans, I might accept that as an answer.

How can I persuade my DM to play my warlock’s patron in a way that respects my character’s concept?

I’m interested in playing a witch character in a D&D 5e game. The things I want to emphasize in playing a witch are the importance of family, in particular the bond of sisterhood, and that a witch’s magic offers an alternative to both physical and political power. I see these as the sort of ‘subversive’ aspects of witchcraft and that’s what I really want to play up. I think a case could be made for the Cleric class (follower of Hecate perhaps) or an enchanter Wizard, but the clear intent of the designers was that players would use the Warlock class in building an archetypal witch – they can access a book of shadows, ‘witch’ is in the name of two eldritch invocations, and of course ‘warlock’ often gets used colloquially to mean simply ‘male witch.’

When I talked to my DM about the character, he indicated that to his mind the pact and the patron are the real core of the Warlock class. His idea seemed to be that a patron could, and most likely would, expect my character to do things that she otherwise wouldn’t agree to. I was planning on going with an Archfey patron, who I hope would not command acts as despicable as would a Fiend or Great Old One. To be sure, the pact can be both a source of power and a burden, but I was left feeling like my DM was going to place the emphasis on burden. I guess I’m less interested in the pact if it’s played as just another unequal power relationship (something the enchanter Wizard wouldn’t have to put up with).

I take inspiration for my character from the admittedly more modern and light-hearted depictions of witches in media such as Charmed and Practical Magic, where witches don’t get their power from pacts. And saying a witch got her power by making a deal with the devil sounds more like an excuse to burn her at the stake than the basis for a heroic character. But I’m worried if I try to downplay the pact concept, my DM will say that I just want the benefits of the class without the restrictions.

My question: How do I persuade my DM to play my patron (a rather significant NPC) in a way that honors my vision for my character?

Is there a postgres function documentation pattern that is similar in concept to javadoc?

I am mostly a Java developer. Today I am writing some postgres functions. Out of habit I keep trying to document these functions using a Javadoc-like comment style describing the function parameters and return type. Is there an official or widely supported pattern for documenting postgres functions?

Proof of concept for enterprise level Microservices

I’ve been studying gRPC a lot and went through several presentations from youtube. I’m presenting two options. The idea is to develop a minimalistic but comprehensive demo in a scala and the right way of doing things in microservices.

First I thought the gRPC is inter-service communication only until I saw this video (5:40) (screenshot) and turns out there are libraries for browser as well so is that mean REST or http+json is out of the window?

I’ve read that the companies who used REST as inter-service communication are struggling.

Appreciate if someone can even upscale it to make it an enterprise level, and suggest me more ideas and features to put in, doesn’t matter over-engineer it because it’s just a proof of concept.

I’ve also read that I should have a separate database for each microservice but using shared one at the moment, I want to get more enlightenment on connecting pieces for the middleware.

enter image description here

enter image description here

Please review my drunken master concept

One of my players wants to play a drunk monk, with inspiration from the famous Jackie Chan movie.

I’ve been reading about a few homebrew classes but they don’t really feel close enough to the movie, which involves drunken gods, each with their particular style.

The main focus of this class is to work around two aspects:

  • Drinking more matters: you get advantages for drinking more, but also drawbacks
  • Techniques are inspired by the Jackie Chan movie

Here’s what I was thinking, would love any feedback, especially in terms of balance, and wording.

Before diving into the class I first have to establish some homebrew rules for alcohol (those apply to all non-drunken master characters).

Homebrew Alcohol Rules (applies to all players)

Alcohol is measured in units of alcohol. The more units, the more a character is drunk. The current units of alcohol for a character will hereafter be referred to as CUA. Every 1 hour after the last consumption of alcohol, CUA is reduced by 1.

Drinking alcohol:

Depending on the strength of an alcohol, it takes more or less quantity to gain a unit. The following table establishes those quantities, as well as the number of doses you can fit in a standard waterskin, and the time it takes to drink that quantity while in combat.

+-----------------------+--------------+--------------+-------------------+ |       Strength        | Qty per unit | In Waterskin |   Time to drink   | +-----------------------+--------------+--------------+-------------------+ | Light (table beer)    | 50 cl        |            4 | 2 rounds          | | Medium (strong ale)   | 25 cl        |            8 | 1 round           | | Strong (Wine)         | 15 cl        |           13 | 1 round           | | Very Strong (Spirits) | 3 cl         |           65 | 1 standard action | | Pure                  | 1 cl         |          200 | 1 standard action | +-----------------------+--------------+--------------+-------------------+ 

Effects of alcohol:

Effects of alcohol can be handled with the standard exhaustion rules. Every time a character increases his CUA, he must make a successful CON saving throw (DC= 10 + CUA) or gain a level of drunkenness:

+-------+------------+-----------------------------------------------------------------------------+ | Level |   Status   |                                 Description                                 | +-------+------------+-----------------------------------------------------------------------------+ |     0 | Sober      | A character's normal state                                                  | |     1 | Tipsy      | Disadvantage on atk rolls and ability checks                                | |     2 | Drunk      | Disadvantage on all saving throws                                           | |       |            | Attackers have advantage.                                                   | |       |            | WIS and INT have a -CUA penalty.                                            | |       |            | If any ability score drops to 0 or less, the character becomes unconscious. | |     3 | Hysterical | STR, DEX, CHA also gain a penalty.                                          | |       |            | The player can't control his character's actions                            | |     4 | Coma       | CON also gains a penalty.                                                   | |       |            | The character becomes unconscious regardless of ability scores.             | |       |            | If CON drops to 0 or less, the character is dead.                           | +-------+------------+-----------------------------------------------------------------------------+ 

Recovering from alcohol:

If the standard exhaustion rules were used, alcohol is just another form of exhaustion, and recovers likewise.

However when using the homebrew rules, whenever a character’s CUA decays, the character makes a CON check (DC= 10 + CUA). In case of success the character loses a level of drunkenness but gains a level of exhaustion. In case of failure nothing happens.

If the character had ability score penalties, they remain until all units of alcohol have decayed, regardless of drunkenness level.

When a character drops to 0 units of alcohol, the character gains a level of exhaustion for each remaining level of drunkenness, and the character is now sober.

Way of the Drunken Gods

Alcoholic Fuel:

Starting at 3rd level, your monk abilities are fuelled by alcohol. To benefit from your monk powers, you have to have at least 1 CUA. Adepts of the Drunken Gods don’t gain exhaustion levels as they sober up.

While Drunken monks gain great benefits from being drunk, there is also a disadvantage: for every 2 units of alcohol their WIS score is reduced by 1 (rounded down).

Ki Shot:

Starting at 3rd level, your monk can use a bonus action and spend 1 ki to gain 1 unit of alcohol. This ability can be used even if you have 0 CUA.

Prone fighting:

Being prone is a natural combat stance for you. Starting at 3rd level, you don’t suffer any consequence for being prone during combat. Attackers more than 5ft away still have a disadvantage on their attack rolls. You can go prone or stand up as a free action.

Drunken Mastery:

Starting at 3rd level, the monk is able to harness his drunkenness to his advantage. When gaining a unit of alcohol you can choose to ignore the saving throw to automatically gain a level of drunkenness.

As your mastery grows, so does your ability to ignore drunkenness penalties and change their effect.

Level 3: Drunken Novice

Tipsy: You can use a bonus action to taunt a single foe (WIS save vs Performance) for 1 round.

Level 6: Drunken Initiate

Drunk: You have an advantage on all your performance throws. Taunted enemies have a disadvantage on their attack rolls against you. You can taunt up to 2 foes

Level 11: Drunken Master

Hysterical: You have an advantage on all your attack rolls. You can taunt up to 3 foes

Level 17: Drunken God

Coma: You can use Drunken Gods Techniques at will, but each use costs a unit of alcohol. You can taunt up to 4 foes.

Disciple of the 6 Drunken Gods

You master the techniques of the drunken gods.

Once per short rest you can use a bonus action and spend 1ki to perform one of the drunken gods techniques.

You gain an additional use at levels 6, 11 and 17.

Drunken Strength:

Make an attack with a +CUA bonus to your attack roll and damage

Drunken Cripple:

Make a swipe attack against all characters within a 5ft radius. Any character hit must make a STR save (DC = 8 + mastery + WIS + CUA) or be knocked prone.

Drunken Pot Defense:

Gain +CUA bonus to AC (lasts 1 round, you may spend up to 2 extra ki to last as many extra rounds)

Drunken Toss:

Make a Strength(Athletics)+CUA check contested by your opponent’s Strength(Athletics) or Dexterity(acrobatics) to toss your opponent 5 feet away and knock him prone. The opponent takes 1d4 + CUA bludgeoning damage.

Drunken Throat Lock:

Perform an ki strike to your opponent’s throat. He must succeed a CON save (DC = 8 + mastery + WIS + CUA) or be silenced for 1 turn.

Drunken Flurry:

Perform a number of attacks equal to your CUA against a single target. All attacks rolls are done with a -CUA penalty, and cannot benefit from an advantage even if another effect would give one.

Is this class balanced in terms of the power of the abilities?

More concisely:

  • Is the “lose wisdom to gain power” mechanic is too big of a drawback?

    The overall problem for answers to this question to address is balance.

Lisp program construct concept dilemma

I am unsure how to construct title for this question.

But this is quite simple question that started puzzling me recently. I have read some Lisp books and web sites and this subject is somewhat obscured by other Lisp properties that seem to be having more meaning to the authors. So I cannot find this subject in books and I have no one to ask to help me out figure it out, because I do not know anyone who ‘speak’ Lisp. So this forum seem to be appropriate place to ask.

Here’s a question (explanation first):

Lisp program can be generally described as a list of s-expressions executed in sequence (in a file, including other source files loading). As far as I understand Lisp program generally looks like this:

(op data, data...) (op data, data...) (op data, data...) (op data, data...) (op) 

whereby above s-expressions may take number of different forms (function definitions, variable declarations, branching and flow control etc…)

So, how come Lisp program is not defined as:

(program    (op data, data...)    (op data, data...)    (op data, data...)    (op data, data...)    (op)    ... ) 

?

It would seem logical and natural that program is a list of s-expressions to execute (as it is already implicitly understood just looks like missing explicit list declaration).

Is there particular (design) reason why first form is used and not the second? ( Or reasons are completely historical? Or ?)

Thank you!