Can a virus that’s in a file stream infect a computer?

I have a java web application that accepts base64 image strings from users. These strings are first converted to a byte stream after which the stream is scanned for viruses. After that the file is stored as a resized version of the actual image.

My question is, when the file has been transformed from a base64 string to an in-memory byte stream and it happens to contain a virus, will that virus be able to escape the byte stream and infect the rest of the server? Or can it only do that after the stream has been transformed to a file stored on disk?

What happens when Daern’s Instant Fortress expands into a space that’s too small?

Daern’s Instant Fortress (DMG 160) is ordinarily a 1-inch metal cube, but rapidly grows into a 20x20x30 ft fortress when activated, dealing 10d10 bludgeoning damage to anything in its way.

What if the 10d10 damage is not enough to clear its space? For example, what would happen if a player tried to activate the Fortress deep inside a small cave? Would the item fail to activate, or would it take damage/be destroyed, or would it burst through the walls of the cave?

While this question is specifically about the Instant Fortress, I’m also interested about a general rule for this circumstance. Some items, like the Figurines of Wondrous Power, have an explicit restriction on changing size in enclosed spaces, whereas others, like the Staff of the Woodlands, do not. Is there a general way to reconcile these inconsistencies, or do I just have to make a ruling?

Is odd-numbered damage that’s halved then doubled the same value as before, or one less?

Let’s say there’s a Dust Mephit at full health that was hit by the Fireball spell and made the save. The damage on the die is low at 17, so the fire damage is halved. But, Dust Mephits are vulnerable to fire damage, so it’s doubled again. Does the rounding happen after the final total, and it stays at 17? Or does rounding down happen after each step, reducing it to 8, then double to 16?

Apt update command took 213503982334601 days to complete (that’s what it says)

I ran sudo apt update command and to my surprise, it took 213503982334601 days to fetch 7945 kB from Internet. (all other output was normal)
The actual wall clock time, of course, wasn’t that big, not even comparable.
But I’d like to find what causes this, if possible. Anyone knows if this is a known issue?


Where is the rule for moving slowly when searching for traps that’s referenced by Dungeon Delver?

I’m having trouble finding the rule for one of the bulleted items for the Dungeon Delver feat:

  • You can search for traps while traveling at a normal pace, instead of only at a slow pace.

I can’t find anything that talks about searching at a slow pace. In which book is this referenced?

Offering a compressed file for download that’s around 1.2 GB, should we split it into smaller parts?

The file contains thousands of PDFs and will be posted on a government website. The primary audience is researchers and the media, desktop, not mobile. We plan to indicate the filesize. Given 1.2 gb is pretty big, are there any reasons we should split the file into smaller parts? Asking because I’m just not sure.

apt-cache policy shows an apt repository that’s not in my sources.list

On a fresh ubuntu 16.04 Docker image I ran apt-get update and then apt policy:

root@7b9b53f65af4:/etc/apt# apt-cache policy apt-file apt-file:   Installed: (none)   Candidate: 2.5.5ubuntu1   Version table:      2.5.5ubuntu1 500         500 xenial/universe amd64 Packages 

But I do not see this apt repo anywhere in /etc/apt. Is this expected?

root@7b9b53f65af4:/etc/apt# grep -ri 'amd64' . root@7b9b53f65af4:/etc/apt# 

I did find these, but they’re not exactly the same:

root@7b9b53f65af4:/etc/apt# grep -ri 'xenial.universe' * sources.list:deb xenial universe sources.list:# deb-src xenial universe 

Full contents of /etc/apt/sources.list pasted below. No other .list files in that directory or its subdirs.

root@7b9b53f65af4:/etc/apt# cat sources.list # See for how to upgrade to # newer versions of the distribution. deb xenial main restricted # deb-src xenial main restricted  ## Major bug fix updates produced after the final release of the ## distribution. deb xenial-updates main restricted # deb-src xenial-updates main restricted  ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team. Also, please note that software in universe WILL NOT receive any ## review or updates from the Ubuntu security team. deb xenial universe # deb-src xenial universe deb xenial-updates universe # deb-src xenial-updates universe  ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team, and may not be under a free licence. Please satisfy yourself as to ## your rights to use the software. Also, please note that software in ## multiverse WILL NOT receive any review or updates from the Ubuntu ## security team. deb xenial multiverse # deb-src xenial multiverse deb xenial-updates multiverse # deb-src xenial-updates multiverse  ## N.B. software from this repository may not have been tested as ## extensively as that contained in the main release, although it includes ## newer versions of some applications which may provide useful features. ## Also, please note that software in backports WILL NOT receive any review ## or updates from the Ubuntu security team. deb xenial-backports main restricted universe multiverse # deb-src xenial-backports main restricted universe multiverse  ## Uncomment the following two lines to add software from Canonical's ## 'partner' repository. ## This software is not part of Ubuntu, but is offered by Canonical and the ## respective vendors as a service to Ubuntu users. # deb xenial partner # deb-src xenial partner  deb xenial-security main restricted # deb-src xenial-security main restricted deb xenial-security universe # deb-src xenial-security universe deb xenial-security multiverse # deb-src xenial-security multiverse 

How to clarify a field contains a smart default/suggestion that’s still editable?

I’m designing a flow for businesses to add new credit card users. Since we want to make the flow as short as possible, we came up with the idea to show smart defaults for the embossing name (the name that is used on the physical card). This default would be a combination of the initials and the surname that was filled in previously.

However, since it’s not mandatory to have your legal name on your card you can in essence write down whatever you want as embossing name. We want to prevent locking people in to using what we tell them, yet we also want to help save time by providing smart defaults.

My question is; how do you show that a field is ‘prefilled’ or contains a suggestion, but can still be changed to whatever you like?

Currently I have a regular filled field with a caption underneath that reads ‘We’ve already made a suggestion for you based on the provided initials and surname.’

Edit: added a mock-up Input field with suggestion caption

How to have a continous player experience in a setting that’s likely to favor tpk?

I am planning to design a Adventure which has a strong political flavor and is taking place in the Nine-Hells. Its gonna be an evil campaign. I plan to let the heroes start at level 15 and require the group to be lawful, as long their Character has no background provided, that clearly prevents them from turning against each other. So they at least have a chance to withstand the dangers of everyday life the 9-Hells are bringing.

But when I started designing all the Political party’s and hidden forces being involved into the plot it started reminding me a bit on the first 4 seasons of Game of Thrones. And I started realizing that a single bad decision might lead to forces turning against the party, even a group of level 20 heroes is unlikely to survive. I mean its the powerplays of arch devils the group will be taking part in.

I could mitigate this to some extend by a NPC that is a spy for the opposing political party getting intel from the group, becoming not a spy anymore and some yet unknown NPC being the plot relevant spy and such alike. But in other situations like siding with the wrong forces in a battle taking place, might inevitable lead to a TPK, as I can’t see how I could reshape such an complex plot just on the run.

So given that wrong decisions are likely to lead to a TPK, how can I ensure the players still having an continuous experience of the adventure, despite they will be very limited in recreation of new characters? As the characters are required to have specific intel about the plot and what the previous party figured out to be going on hidden in secrecy.

I could imagine that a new group simply could be a special force of one of the Lords the party was working for and simply being briefed about what they need to know. But I fear, being dispossessed by the freedom to design their characters background, makes it feel not like their character anymore from the moment the first TPK happened.

DynamoDB: How to model data that’s shared and queried by all users?

I am very intrigued by DynamoDB, and it works incredibly well when I model the data for my main use case for my application. That being said, there is one specific use case that I can’t wrap my head around.

Let’s say I have users in a table, with the user id being the primary key. Most information is specific to the user. I want to be able to communicate with my users so I want the ability to make announcements to them. These announcements are shared across all the users. I can store user specific information about announcements in their own attributes like read and unread announcements.

The problem (if it’s not clear already) is that there is only one set of announcements but they will be queried by every user frequently, leading to an anti-pattern of DynamoDB and potential throttling.

My initial thoughts are to make k copies of announcements and label the keys announcement_copy_1, announcement_copy_2 … announcement_copy_k, and then on the query to check for new announcements, I would randomly assign an integer 1-k to query the announcements. Each announcement copy would be the partition key and I would have sort keys with the date of the specific announcement, and attributes with the text and type of announcement.

I’m not confident if this is the best approach to this problem, or if I’m missing something. Also I am looking at going serverless with AWS Lambdas if that affects anything.

Thank you in advance for any suggestions or advice!