How can I make an object (nearly) indestructible?

Is there any way to protect an object from destruction, as a player? If so, how expensive would it be?

Let’s say I become a lich — is there any spell/ritual/artifact/other that can make my phylactery indestructible? (Apart from hiding it, obviously.) I’m thinking of Voldemort’s Horcruxes, wich were pretty much a PITA to destroy.

Any means mentioned in official source is good, and needing to use multiple things together is fine.

Is dispelling nearly impossible to succeed?

The rules for dispelling say:

A Dispelling test is the dispeller’s Counterspelling + Magic [Astral] v. spell’s Force + caster’s Magic (+ amount of Karma spent on quickening the spell, if any) […] Every net hit reduces the number of hits the caster had in casting the spell.

Our mage cast a Force 10 illusion with 8 magic (6 + 2-Force focus). She had 8 hits in her spellcasting test. An enemy mage would like to dispel that illusion.

If I understood the rules correctly, that means the enemy needs at least 19 hits on their dispelling test to even start to affect the spell. The enemy mage has 6 dispelling and 6 magic, so they can’t possibly hope to succeed. On top of that, the attempt will cost them the drain of the 10-Force spell.

Is my understanding of the rules right? Is Dispelling really that weak?

Kubuntu 19.04 stuck with “Started waiting until snapd is fully seeded” for nearly 10 minutes

$   journalctl -u snapd.seeded.service --since today  -- Reboot -- jul 19 10:29:22 pc systemd[1]: Starting Wait until snapd is fully seeded... jul 19 10:29:22 pc systemd[1]: Started Wait until snapd is fully seeded. jul 19 10:41:41 pc systemd[1]: snapd.seeded.service: Succeeded. jul 19 10:41:41 pc systemd[1]: Stopped Wait until snapd is fully seeded. -- Reboot -- jul 19 10:43:04 pc systemd[1]: Starting Wait until snapd is fully seeded... jul 19 10:43:04 pc systemd[1]: Started Wait until snapd is fully seeded. jul 19 10:48:26 pc systemd[1]: snapd.seeded.service: Succeeded. jul 19 10:48:26 pc systemd[1]: Stopped Wait until snapd is fully seeded. -- Reboot -- jul 19 10:50:36 pc systemd[1]: Starting Wait until snapd is fully seeded... jul 19 10:50:36 pc systemd[1]: Started Wait until snapd is fully seeded. jul 19 10:52:05 pc systemd[1]: snapd.seeded.service: Succeeded. jul 19 10:52:05 pc systemd[1]: Stopped Wait until snapd is fully seeded. -- Reboot -- jul 19 10:53:43 pc systemd[1]: Starting Wait until snapd is fully seeded... jul 19 10:53:43 pc systemd[1]: Started Wait until snapd is fully seeded. jul 19 10:54:46 pc systemd[1]: snapd.seeded.service: Succeeded. jul 19 10:54:46 pc systemd[1]: Stopped Wait until snapd is fully seeded. -- Reboot -- jul 19 10:58:07 pc systemd[1]: Starting Wait until snapd is fully seeded... jul 19 10:58:07 pc systemd[1]: Started Wait until snapd is fully seeded. jul 19 11:11:38 pc systemd[1]: snapd.seeded.service: Succeeded. jul 19 11:11:38 pc systemd[1]: Stopped Wait until snapd is fully seeded. - Reboot -- jul 19 11:25:49 pc systemd[1]: Starting Wait until snapd is fully seeded... jul 19 11:25:49 pc systemd[1]: Started Wait until snapd is fully seeded. jul 19 11:32:03 pc systemd[1]: snapd.seeded.service: Succeeded. jul 19 11:32:03 pc systemd[1]: Stopped Wait until snapd is fully seeded. -- Reboot -- jul 19 10:58:07 pc systemd[1]: Starting Wait until snapd is fully seeded... jul 19 10:58:07 pc systemd[1]: Started Wait until snapd is fully seeded. jul 19 11:11:38 pc systemd[1]: snapd.seeded.service: Succeeded. jul 19 11:11:38 pc systemd[1]: Stopped Wait until snapd is fully seeded. -- Reboot -- jul 19 11:14:41 pc systemd[1]: Starting Wait until snapd is fully seeded... jul 19 11:14:41 pc systemd[1]: Started Wait until snapd is fully seeded. jul 19 11:20:14 pc systemd[1]: snapd.seeded.service: Succeeded. jul 19 11:20:14 pc systemd[1]: Stopped Wait until snapd is fully seeded. -- Reboot -- jul 19 11:25:49 pc systemd[1]: Starting Wait until snapd is fully seeded... jul 19 11:25:49 pc systemd[1]: Started Wait until snapd is fully seeded. jul 19 11:32:03 pc systemd[1]: snapd.seeded.service: Succeeded. jul 19 11:32:03 pc systemd[1]: Stopped Wait until snapd is fully seeded. -- Reboot -- jul 19 11:37:40 pc systemd[1]: Starting Wait until snapd is fully seeded... jul 19 11:37:40 pc systemd[1]: Started Wait until snapd is fully seeded. jul 19 11:40:27 pc systemd[1]: snapd.seeded.service: Succeeded. jul 19 11:40:27 pc systemd[1]: Stopped Wait until snapd is fully seeded. 

Why is my gallery app (designed using Glide) taking nearly 500mb RAM

I made a gallery app which show offline stored images using GLIDE library in recyclerView but when i view the Profiler in android Studio it shows me that the app is taking nearly 500mb memory. Is this normal that my app is taking this much memory.

However my app is not crashing but it hang sometimes while showing images and also images are load all togethor (i can see the size of scrollbar getting smaller)

Also after asking User-permission images are not shown instantly. I have to start the app again to view these images. Those images should have been visible after accepting the permission.

This is the normal look of my app  Sometime when scrolling some white space also come between the images.

1This is the normal look of my app.

2Sometime when scrolling some white space also come between the images (shown in brown shaped oval).

for reducing the memory, I tried to decrease the height of the imageView (thinking that may be now glide had to load less pixels) but didn’t work at all. for user-permission i tried using Android Developers Guide but still no luck.

// this is my main activity     private static final int MY_PERMISSIONS_REQUEST = 100;     private Cursor mCursor=null;      @Override     protected void onCreate(Bundle savedInstanceState) {         // layout initialization code         mCursor = getImageCursor();         requestStoragePermission();          recyclerView = findViewById(R.id.imageRecyclerView);         mAdapter = new mayankImageAdapter(this,mCursor);        //..... (setting the recyclerView)         RecyclerView.LayoutManager mLayoutManager = new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL);         recyclerView.setLayoutManager(mLayoutManager);         recyclerView.setItemAnimator(new DefaultItemAnimator());         recyclerView.setAdapter(mAdapter);      }      private void requestStoragePermission() {         if (ContextCompat.checkSelfPermission(MainActivity.this,                 Manifest.permission.READ_EXTERNAL_STORAGE)                 != PackageManager.PERMISSION_GRANTED) {             ActivityCompat.requestPermissions(MainActivity.this,                     new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},                     MY_PERMISSIONS_REQUEST);         }     }      @Override     public void onRequestPermissionsResult(int requestCode,                                            String permissions[], int[] grantResults) {         switch (requestCode) {             case MY_PERMISSIONS_REQUEST: {                 // If request is cancelled, the result arrays are empty.                 if (grantResults.length > 0                         && grantResults[0] == PackageManager.PERMISSION_GRANTED) {                      // permission was granted, yay! Do the                     // file-related task you need to do.                  }                 else {                      // permission denied, boo! Disable the                     // functionality that depends on this permission.                 }                 return;             }         }     }       public Cursor getImageCursor(){         try{             Uri externalUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;             String[] projection = new String[]{MediaStore.Images.Media._ID, MediaStore.Images.Media.TITLE,                             MediaStore.Images.Media.SIZE, MediaStore.Images.Media.DATA};             String sortOrder = MediaStore.Images.Media.TITLE+" ASC";              Cursor imageCursor = getContentResolver().query(externalUri,                         projection,null,null,sortOrder);             return imageCursor;         }catch(Exception e){             return null;         }     }     @Override     protected void onDestroy() {         mCursor.close();         super.onDestroy();     } } 

mayankImageAdapter.java

\ onBindViewHolder method     @Override     public void onBindViewHolder(@NonNull MyViewHolder myViewHolder, int position) {         if(imageCursor!=null) {             imageCursor.moveToFirst();             imageCursor.moveToPosition(position);             int strIndex = imageCursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);              String str = imageCursor.getString(strIndex);             File myimageloc = new File(str);             GlideApp.with(callingActivity).load(myimageloc).into(myViewHolder.imgView);          }else{             return;         }     } 

acitivity_main.xml

<?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.RecyclerView android:layout_width="match_parent"     android:layout_height="match_parent"     android:scrollbars="vertical"     android:id="@+id/imageRecyclerView"     xmlns:android="http://schemas.android.com/apk/res/android" /> 

I want to know the reason why my app is taking so much memory and what are steps to decrease this memory and how can i show images just after asking permissions from the user.

Thanks

Rephrased Question- Why is nearly all of the Conjure Minor Elemental Spell decided by the DM? [on hold]

Trying to phrase this so that the question will get answers rather than flags. Why is the conjure minor elementals spells set up in such a way that the only two things a player can select are the maximum CR of the elemental conjured, and, arguably, the location its summoned in?

Why would a wizard cast a spell that’s essentially an open invitation to whatever elemental from a list decides to show up? You cant strategize around the spell very much as written because you don’t choose what gets summoned, and you can easily end up with something you weren’t counting on. It won’t be useless, but why would you cast a spell that has such an unpredictable result? It’s like the difference between the chromatic orb and chaotic bolt – if the chaotic bolt didnt have the chance to bounce. You’d never pick a random damage type over a damage type of choice. Why would you choose a spell that might do something you want over something that does exactly what you intend it to do?

Could not solve this equation by Solve and also get nearly correct plot by wolfram alpha

Input:

Solve[y'[x] == -(224.8 ((y[x]^2 - y[x]/10^11 - (0.000010385 x^3)/E^(2 x))/x^2)), y[x], x] 

Output:

{y[x] -> 0.0022242 x^2 (2.248*10^-9/x^2 - (1. Sqrt[5.0535*10^-18 +   2.09923         E^(-2. x) x^3 - 899.2 x^2 Derivative[1][y][x]])/x^2)}, {y[x] -> 0.0022242 x^2 (2.248*10^-9/x^2 + Sqrt[5.0535*10^-18 + 2.09923 E^(-2. x) x^3 -  899.2 x^2 Derivative[1][y][x]]/x^2)}} 

Plot of y vs x by Wolfram Alpha

Using Wolfram Alpha I got nearly a correct plot but the raw wolfram alpha code also seems problematic can any one see this wolfram alpha issue also(Since it is very helpful if i can do some solutions by wolfram alpha also)

Will C++ Header Only will the future direction of the C++ programming style with the supporting compiler / tools in the nearly future

To write C++ code with a header only is more convenient but however, it is not efficient when the program needs to recompile all the time. Is it possible in the future that C++ will fully be optimized in this style of programming? This will help a lot for new programmers in C++ and to avoid the complex compiling process.

Does Bitcoin security rely on the assumption of nearly continuous transactions? [duplicate]

This question already has an answer here:

  • What happens if there are no transactions in a block? 3 answers

So for an attacker not to overcome good nodes, I believe we rely on the fact that blocks are always being produced, making the attacker essentially outpaced. But in the extreme and ridiculously unlikely case that no Bitcoin transactions occur within a certain sufficiently large time window, could an attacker gain control of the chain and do damage? If not, why?

Macbook battery runs flat while “charging” with nearly full USB Brick

Road warriors buy Macbooks for untethered working and at times find themselves in a place without a powerpoint. So charging a Macbook from a USB Brick is a fundamental operational requirement. I thought I’d just plug my 2018 Macbook Pro into a USB Power Brick and it would just “work”. How wrong I was

The USB Brick charged at such a poor rate my Macbook’s battery would run flat despite having almost a full 26800 mAH Brick. Something was badly wrong. Was it the USB brick I was using? Was it the cable? Was it a combination of these things? Much head scratching…

Since this is an issue I feel of broad interest for all mobile workers, I’ll give a thorough treatment of the issue and the solution.

nginx seems to use http2 random (nearly always) and regardless of configuration

I just was debugging a site (with Lighthouse 3.2.0) for which I had http/2 enabled on the nginx (1.15.9 / official docker image) proxy with

listen 443 ssl http2; 

but Lighthouse still said that all resources were loaded via http/1.1, when I found out that nearly all my other sites, which are also delivered over this nginx proxy, pass the http2 test (and in fact all resources are delivered via h2 for those sites).

However, all their listen stanzas definitely only have

listen 443 ssl; 

and there is only one site in the whole config with http2.

So what could be going on here? I’m more interested in why h2 seems to be enabled although I have never configured it than the one site which isn’t delivering it (maybe this is due the fact that there is a node.js on the other side of the proxy_pass or something else…).
Is http2 a default for newer nginx versions regardless of the listen stanza? I couldn’t find anything like that in the docs…