Ionic tabs shows a white background between tabs for a fraction of a second

Question: I have tried to find a solution to this white background problem but after searching and testing all your answers, nothing works.
<ion-tab title="News" icon-off="ion-android-earth" icon-on="ion-android-earth" href="#/tab/news">
        <ion-nav-view name="tab-news"></ion-nav-view>
        <ion-view>
            <ion-nav-bar class="hackbg">
            </ion-nav-bar>
        </ion-view>
    </ion-tab>

Even with this, I can see the white background for a fraction of a second when I navigate through the tabs which is really annoying if you ask me frowning
I have 4 tabs, 3 of them get dynamic data from an http call, the last tab loads an iframe with a video from YouTube. When I launch the app, and navigate through any of the tabs, I can see the annoying white background. Now, if I click on the 4 tab (the iframe video) the first time, I will also see the white background for a fraction of a second. However, if I navigate to another tab (which that said, I will also see the white background), and I come back to the video tab, I will then NO see the white background anymore. All the other 3 tabs I will always see the white background, independently of the times I visit the tab section.
My individual tabs pages look like the following:
<ion-view hide-nav-bar="true" class="hackbg">
    <ion-header-bar class="bar-positive bar-header" align-title="left">

Logo...

            <button ng-click="go1()" class="button button-icon icon  ion-ios7-1"></button>
            <button ng-click="go2()" class="button button-icon icon  ion-ios7-2"></button>
            <button ng-click="go3()" class="button button-icon icon  ion-ios7-3"></button>
            <button class="button button-icon ion-android-more" ng-click="popover.show($event)"></button>

    </ion-header-bar>
...

As you can see, I have also added the hackbg on the ion-view with the hope that would fix the problem but it didn't.
I have try/catch all over the code to try to see if I have an error somewhere in the code and that's why the white background. However, no luck, I don't see any error anywhere.
If I go to the individual pages from the navigation (e.g. look at buttons like go1(), I do not see any white background). The problem are only related to the tabs.
Ah, my splashscreen also shows the white background for a fraction of a second after it loads my splashscreen. I also went and google all possible solutions but none did the trick. I also went through all the possible answers I could find on stackoverflow but nothing did the trick.
My .run contains the following:
 $ionicPlatform.ready(function () {
        setTimeout(function () {
            navigator.splashscreen.hide();
        }, 6000

I extended the delay to 6000 hoping it will make the white background disappear. It didn't. Interesting thing is that sometimes you see it longer and sometimes extremely fast. It is not consistent.
Does anyone knows another trick I could try to fix this?
Comment: I'm having this same issue as well, Have you been able to find a way ?
Comment: Could it be caused by angular.css.injector?
Comment: Please try to change ion-tabs to transparent
Comment: Does not work..
Comment: same problem here with an old app.
this maybe can solve https://forum.ionicframework.com/t/when-changing-tabs-there-is-a-empty-view-with-white-background-until-the-content-is-rendered/7079/3
Answer: I think this is not possible due to Ionic pages only loads once.
Comment: There should be some way.


Heat semigroup representation

Question: It is known that the Laplacian operator with Dirichlet boundary condition in $L^2(\Omega),$ (with $\Omega$ being  a open subset of $R^n$) generates a $C_0-$semigroup in $L^2(\Omega)$). Moreover, in the case of the whole space $R^n$, the semigroup can be expressed  by the means of the Gauss–Weierstrass kernel.
I m wondering if this is also true for a bounded open subset $\Omega$ of $R^n$.
Answer: If you have a bounded region with a smooth boundary, and Dirichlet conditions, then $\Delta$ can be represented using an eigenfunction expansion, and the heat semigroup can be expressed in terms of the eigenfunctions of the Laplacian as well. That is,
$$
             -\Delta \varphi_n  =\lambda_n \varphi_n, \;\;\; \|\varphi_n\|_{L^2(\Omega)}=1,\\ \lambda_1 \le \lambda_2 \le \lambda_3 \le \cdots,
$$
and the eigenfunctions can be assumed to be mutually orthogonal. And the Heat semigroup $H(t)f=e^{t\Delta}f$, which is the solution of $\psi_{t}=\Delta \psi$ can be expressed in terms of the eigenfunctions of $-\Delta$,
$$
                H(t)f = \sum_{n=1}^{\infty}e^{-\sqrt{\lambda_n}t}\langle f,\varphi_n\rangle\varphi_n.
$$
There would not generally be any simplification of this form. This is a $C^0$ semigroup on $L^2(\Omega)$.
Comment: In fact I m interested with the continuity of the mapping $t\to \|S(t)x\|_{L^\infty(\Omega)}, $ and I didn't succeed to do it using  this formula.
Comment: @Rabat : I would expect that you would need some additional regularity assumptions on the boundary in order to assert what you want. Sharp cusps on the boundary would affect the eigenfunctions.

Heat semigroup representation


How to fix A RenderFlex overflowed during Widget Test

Question: During widget testing, I am testing different screensize. And I am getting:
The overflowing RenderFlex has an orientation of Axis.horizontal.
The edge of the RenderFlex that is overflowing has been marked in the rendering with a yellow and
black striped pattern. This is usually caused by the contents being too big for the RenderFlex.
Consider applying a flex factor (e.g. using an Expanded widget) to force the children of the
RenderFlex to fit within the available space instead of being sized to their natural size.
This is considered an error condition because it indicates that there is content that cannot be
seen. If the content is legitimately bigger than the available space, consider clipping it with a
ClipRect widget before putting it in the flex, or using a scrollable container rather than a Flex,
like a ListView.

On the actual device, I do not get this error. That is because I changed the screensize of test to check if this error occurs. Now that I know this error occurs, how to fix it?
Because if this was not a widget test, I would just look at the yellow and
black striped pattern on the rendering. But in widget test, there is no rendering.
This is how I changed the screensize:
 void setScreenSize({int width, int height}) {
    final dpi = tester.binding.window.devicePixelRatio;
    tester.binding.window.physicalSizeTestValue = Size(width * dpi, height * dpi);
  }

Comment: What widget caused this problem, also show more code of the layout
Comment: Does this answer your question? [RenderFlex overflowed error only appears in the widget test, if i run the app everthing is ok](https://stackoverflow.com/questions/61305860/renderflex-overflowed-error-only-appears-in-the-widget-test-if-i-run-the-app-ev)
Answer: I've experienced this issue, It appears that the screen size when running widget tests are smaller. You can find out by running flutter run <path-to-test-file>.
What you should do is modify the widget where the RenderFlex overflow is coming from. Make it more adaptive to different screen sizes.


64 bit negative integers in two's complement form

Question: I was reading the source of GNU PDF library, particularly their implementation of 64 bit integers. They have defined 64 bit integers as structs of two 32 bit integers - the higher order int is signed and lower order int is unsigned. Here's the relevant code from the header file:
/*Definition of internal structure of the pdf_i64_t type*/
struct pdf_i64_s
{
  pdf_i32_t   high;
  pdf_u32_t low;
};

typedef struct pdf_i64_s pdf_i64_t;

According to the architecture manual negative numbers are represented in two's complement form. I have a doubt regarding this function though:
[code from pdf-types.c]
void pdf_i64_assign_quick (pdf_i64_t *bignum,
                      const pdf_i32_t value,
                  pdf_status_t *p_status)
{
  ASSIGN_SAFE(p_status, PDF_OK);

  if (bignum != NULL)
    {
      if (value < 0)
        {
          bignum->high = 0xFFFFFFFF;
        }
      else
        {
          bignum->high = 0;
        }
      bignum->low = value;
    }
  else
    {
      ASSIGN_SAFE(p_status, PDF_ERROR);
    }
}

From what I read, to get the two's complement of a number, you need to invert all the bits and add 1 to the result. In the above function though, for value<0 they are only setting the higher order bits to 0xFFFFFFFF but not changing the lower order bits at all. Shouldn't the bits of 'value' be inverted too, followed by the addition of 1? Can someone explain this?
Thanks.
Comment: It should be noted that this code has undefined behavior, assigning values outside the range of a signed integer type to a variable of that type. Instead it should assign `-1`.
Answer: You'll note that value is already a signed 32-bit integer - if it's negative, it's already been inverted appropriately. All that needs to be done is the sign-extension.
Answer: I think you're mixing up a few things -- to negate a number in two's complement notation, you flip all the bits and add one.
There's no negation here though. This is storing a value, and doing sign extension -- the top bits has to be extended through the upper 32 bits. This is what's going on, since the input is already signed, two's complement input.
Answer: Anon already answered this, I just wanted to post a slight optimization that does exactly the same thing without branching.
void pdf_i64_assign_quick (pdf_i64_t *bignum,
                      const pdf_i32_t value,
                  pdf_status_t *p_status)
{
  ASSIGN_SAFE(p_status, PDF_OK);

  if (bignum != NULL)
    {
      bignum->high = (value >= 0) - 1;
      bignum->low = value;
    }
  else
    {
      ASSIGN_SAFE(p_status, PDF_ERROR);
    }
}

0xffffffff is 32 bit hex for -1 and (value >= 0) evaluates to either 1 or 0, so it also sets high to 0xffffffff for negative values of value and to 0 for positive values.
Answer: It says there that value is a 32 bit int...value would already be in 2s complement form so no need to change


Threatening to sue with no intention to do so

Question: Let's say that a person is rightfully owed a sum of money, and the debtor refuses to pay them.  Can they threaten to take the person to Beis Din or a secular court, even if they have no intention of actually following through, if this is the only way they have to get their money?
Answer: The Gemara in Bava Kamma discusses a guy who gave his shor to a shomer to watch, and it gored while the shomer has it, and the shomer hands it over to pay for the damage caused (because shor tam meshalem migufo).  The owner says that the shomer owes him for the loss of his shor, and eventually the claim the Gemara comes onto for the shomer is that had the owner had it, he would have hidden it in a swamp so that they couldn't have taken it.  Tosefos is bothered that how could he have any rights based on that he could have stolen!  Rather, he would have said that he was going to hide it in the swamp, even though really he wouldn't.
So it looks like you can make a claim which you don't plan to carry out, at least if it is the way in which you are able to defend your property.
Comment: Do you have a source by any chance?
Answer: Please consider what I write as material to discuss with your rav. This is a complex issue...
The debtor MAY have committed a host of sins by not paying you; or he may not have committed any, such as if he became too poor to pay you. You didn't specify all the conditions of the sale terms as well as the debtor's conditions.
Regardless, threatening to sue someone when you don't mean it is problematic in several areas. Among them is the violation of "Ona'at Devarim" - I.e. - you MAY be using words that hurt another (depends much on what you say and your mannerism in the threat). It may also be a form of genevat da'at, as you are definitely misleading someone - you THREATEN to sue, but in your own mind, you don't intend to do this. It may also be a case of "lifnei iver" - placing a stumbling block before the blind, because your threat may cause him to countersue or prepare a defense causing him to get a lawyer, pay fees to defend himself, etc. - and you never intended to sue in the first place!
The above list is just a few violations among others that may be there. Best ideas - work out another way, forgive the debt (the money ain't yours in the first place. It's G-d's money! Consider it  a "kapparah" as well as a lesson not to lend this person again under same circumstances! I know - it's hard to do, but think about it ... you may be much happier at the end, anyway.) Or, you could take the case to Bet Din and, perhaps, as a last (or first) option don't threaten to sue. If you feel you have to, DO IT for real - preferably in Bet Din rather than a secular court.
Comment: I'm not sure that second to last paragraph is true. I know that in certain circumstances, if a person is being wronged by someone else, they ARE allowed to lie to get what is rightfully theirs. For example, if a contractor demands a higher price for his work halfway through a job, you are allowed to agree to it and then only pay the original price halfway through. In this case too, one might be allowed to say certain things (especially threatening to sue, which he is could do if he wanted) to get what is rightfully his.


Facebook Page Like using Facebook Connect

Question: Is there any way so that Facebook connect button could be used for liking facebook page too ?
Means If a user clicks on facebook connect button on my website then he automatically likes my page after authentication.
Answer: You cannot perfom multipule actions in a single plugin. Or Facebook are not allowing to perfom this type actions. You have to put Facebook Like button to your site
Help Center -TheTricksLab.com


Change the Central Administration administrator

Question: How do you change the Central Administration Administrator in SharePoint 2010 ?
Answer: I don't have a 2010 CA in front of my face, but it's the same as changing any other site collection administrator.  Click the link for Site Collection Administrators, find the central admin web application and set the new owners.
Comment: Ok thank you but I haven't any Site Collection.. I just install SharePoint 2010 and I don't have access to Services Manager or service account configuration. I use the only one account which was asked during installation... What can I do ?
Comment: You mean you want to change the farm account? Or the administrator for the central admin site collection?
Comment: Not really, I wan't my farm account I usually use as Central admin to be the central admin. Habitually I don't have any problems and my farm account is set central administrator during installation but this time, I can connect to central administration with my farm account but for example I can't launch services in central admin... Maybe it's because for the first time my Database is not on the same server than SharePoint ?
Comment: It's OK ! I Just have to add My farm account as an Local Administrator and I become a Central admin !


CUDA: driver version is upgrading properly, but Runtime API not upgrading

Question: I am trying to install cuda 11.1, both the runtime api and on my gpu.
I am running Ubuntu x86_64 18.04. I have tried upgrading my Cuda runtime to 11.1 but have not been able to do so. The driver has been updated, but not my runtime api.
nvidia-smi
Shows that I have upgraded to 11.0, but
nvcc -V
Shows version 10.0.130 installed for the runtime API.
Following the instructions from
https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html
I will go through the commands in order listed in the guide.
Section 2. Pre-installation Actions
lspci | grep -i nvidia resulted in
19:00.0 VGA compatible controller: NVIDIA Corporation Device 1e04 (rev a1)
19:00.1 Audio device: NVIDIA Corporation Device 10f7 (rev a1)
19:00.2 USB controller: NVIDIA Corporation Device 1ad6 (rev a1)
19:00.3 Serial bus controller [0c80]: NVIDIA Corporation Device 1ad7 (rev a1)
1a:00.0 VGA compatible controller: NVIDIA Corporation Device 1e04 (rev a1)
1a:00.1 Audio device: NVIDIA Corporation Device 10f7 (rev a1)
1a:00.2 USB controller: NVIDIA Corporation Device 1ad6 (rev a1)
1a:00.3 Serial bus controller [0c80]: NVIDIA Corporation Device 1ad7 (rev a1)
67:00.0 VGA compatible controller: NVIDIA Corporation Device 1e04 (rev a1)
67:00.1 Audio device: NVIDIA Corporation Device 10f7 (rev a1)
67:00.2 USB controller: NVIDIA Corporation Device 1ad6 (rev a1)
67:00.3 Serial bus controller [0c80]: NVIDIA Corporation Device 1ad7 (rev a1)
68:00.0 VGA compatible controller: NVIDIA Corporation Device 1e04 (rev a1)
68:00.1 Audio device: NVIDIA Corporation Device 10f7 (rev a1)
68:00.2 USB controller: NVIDIA Corporation Device 1ad6 (rev a1)
68:00.3 Serial bus controller [0c80]: NVIDIA Corporation Device 1ad7 (rev a1)

uname -m && cat /etc/*release resulted in
x86_64
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.3 LTS"
NAME="Ubuntu"
VERSION="18.04.3 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.3 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

gcc --version results
gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

uname -r results in
5.4.0-51-generic

sudo apt-get install linux-headers-$(uname -r) results in
Reading package lists... Done
Building dependency tree
Reading state information... Done
linux-headers-5.4.0-51-generic is already the newest version (5.4.0-51.56~18.04.1).
linux-headers-5.4.0-51-generic set to manually installed.
The following packages were automatically installed and are no longer required:
  dkms libaccinj64-10.0 libatomic1:i386 libboost-python1.65.1 libbsd0:i386 libc-ares2 libcublas10.0 libcudnn7 libcufft10.0 libcufftw10.0 libcuinj64-10.0 libcupti-dev libcupti-doc libcupti10.0 libcurand10.0
  libcusolver10.0 libcusparse10.0 libdrm-amdgpu1:i386 libdrm-intel1:i386 libdrm-nouveau2:i386 libdrm-radeon1:i386 libdrm2:i386 libedit2:i386 libelf1:i386 libexpat1:i386 libffi6:i386 libgflags2.2 libgl1:i386
  libgl1-mesa-dri:i386 libglapi-mesa:i386 libglvnd0:i386 libglx-mesa0:i386 libglx0:i386 libgoogle-glog0v5 libgrpc7 libjs-sphinxdoc libleveldb1v5 libllvm10:i386 liblmdb0 libnppc10.0 libnppial10.0 libnppicc10.0
  libnppicom10.0 libnppidei10.0 libnppif10.0 libnppig10.0 libnppim10.0 libnppist10.0 libnppisu10.0 libnppitc10.0 libnpps10.0 libnvblas10.0 libnvgraph10.0 libnvidia-cfg1-450 libnvidia-common-450
  libnvidia-compute-450:i386 libnvidia-decode-450 libnvidia-decode-450:i386 libnvidia-encode-450 libnvidia-encode-450:i386 libnvidia-extra-450 libnvidia-extra-450:i386 libnvidia-fbc1-450 libnvidia-fbc1-450:i386
  libnvidia-gl-450 libnvidia-gl-450:i386 libnvidia-ifr1-450 libnvidia-ifr1-450:i386 libnvrtc10.0 libnvtoolsext1 libnvvm3 libpciaccess0:i386 libprotobuf18 libprotoc18 libsensors4:i386 libsleef3 libstdc++6:i386
  libthrust-dev libvdpau-dev libx11-6:i386 libx11-xcb1:i386 libxau6:i386 libxcb-dri2-0:i386 libxcb-dri3-0:i386 libxcb-glx0:i386 libxcb-present0:i386 libxcb-sync1:i386 libxcb1:i386 libxdamage1:i386 libxdmcp6:i386
  libxext6:i386 libxfixes3:i386 libxnvctrl0 libxshmfence1:i386 libxxf86vm1:i386 pkg-config protobuf-compiler python-absl python-astor python-cffi python-configparser python-future python-gast python-grpcio
  python-leveldb python-networkx python-pasta python-ply python-protobuf python-pycparser python-pywt python-skimage python-skimage-lib python-termcolor python-typing python-wrapt python3-absl python3-astor
  python3-cffi python3-future python3-gast python3-grpcio python3-leveldb python3-markdown python3-networkx python3-pasta python3-ply python3-pycparser python3-pyinotify python3-pywt python3-skimage python3-skimage-lib
  python3-tensorflow-serving python3-termcolor python3-werkzeug python3-wrapt screen-resolution-extra xserver-xorg-video-nvidia-450
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 179 not upgraded.

Section 2.7. Handle Conflicting Installation Methods
I ran the following commands
sudo /usr/bin/nvidia-uninstall
sudo apt-get --purge remove cuda*
sudo apt-get --purge remove nvidia*
sudo apt-get --purge remove libcuda*

I tried looking for
sudo /usr/local/cuda-X.Y/bin/uninstall_cuda_X.Y.pl

But there wasn't any file with that name in bin, so I don't think the previous cuda was installed with runfile.
I checked both nvidia-smi and nvcc -V and both times the commands weren't found, but when. When I was running the installer, I kept getting a warning message there is is a previous installer,

Existing package manager installation of the driver found. It is strongly recommended that you remove this before continuing.

so I tried some other methods to remove the cuda installations
sudo apt-get --purge remove cuda-11.0
sudo apt-get --purge remove cuda-11.1
sudo apt-get --purge remove cuda-10.0
sudo apt-get purge nvidia*
sudo apt-get remove --purge cuda-* libcuda* nvidia*
sudo rm /etc/apt/sources.list.d/cuda*
sudo apt remove --autoremove nvidia-cuda-toolkit
sudo dpkg -l | grep nvidia
sudo apt purge cuda
sudo apt purge -y nvidia
sudo apt remove -y nvidia-*
sudo rm /etc/apt/sources.list.d/cuda*
sudo apt autoremove -y && apt autoclean -y
sudo rm -rf /usr/local/cuda*

Section 6. Runfile Installation
6.3. Disabling Nouveau
I ran the following commands
touch /etc/modprobe.d/blacklist-nouveau.conf

And added
blacklist nouveau
options nouveau modeset=0

To that file. Then I executed
update-initramfs: Generating /boot/initrd.img-5.4.0-52-generic

Which resulted in
update-initramfs: Generating /boot/initrd.img-5.4.0-52-generic

I then tested lsmod | grep nouveau to see if it prints anything, and it didn't.
I then tried this installation
https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=runfilelocal
Which gave these commands
wget https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda_11.1.0_455.23.05_linux.run
sudo sh cuda_11.1.0_455.23.05_linux.run

I downloaded the installer and ran sudo sh cuda_11.1.0_455.23.05_linux.run
Which resulted in this message
 Installation failed. See log at /var/log/cuda-installer.log for details.

I opened that file, and this was the contents
[INFO]: Driver not installed.
[INFO]: Checking compiler version...
[INFO]: gcc location: /usr/bin/gcc

[INFO]: gcc version: gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)

[INFO]: Initializing menu
[INFO]: Setup complete
[INFO]: Components to install:
[INFO]: Driver
[INFO]: 455.23.05
[INFO]: Executing NVIDIA-Linux-x86_64-455.23.05.run --ui=none --no-questions --accept-license --disable-nouveau --no-cc-version-check --install-libglvnd  2>&1
[INFO]: Finished with code: 256
[ERROR]: Install of driver component failed.
[ERROR]: Install of 455.23.05 failed, quitting

So it looks like the installation is failing at the driver. I'm not sure what may have been causing this error since 11.0 had been previously installed onto the GPU.
I then tried to install via deb
https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=deblocal
Which gave these commands
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda-repo-ubuntu1804-11-1-local_11.1.0-455.23.05-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1804-11-1-local_11.1.0-455.23.05-1_amd64.deb
sudo apt-key add /var/cuda-repo-ubuntu1804-11-1-local/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda

The last command seemed to give an error, the rest of the commands seemed to run fine without issue. This was the output for the last command sudo apt-get -y install cuda, which gave this output
`Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 cuda : Depends: cuda-11-1 (>= 11.1.0) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

In trying to troubleshoot the driver install, I found that sudo apt install nvidia-450-dev might work instead, so I tried it, and it worked
nvidia-smi
Showed the following
Mon Oct 26 18:27:49 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 450.66       Driver Version: 450.66       CUDA Version: 11.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  GeForce RTX 208...  Off  | 00000000:19:00.0 Off |                  N/A |
| 22%   31C    P8     1W / 250W |      6MiB / 11019MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   1  GeForce RTX 208...  Off  | 00000000:1A:00.0 Off |                  N/A |
| 22%   35C    P8     4W / 250W |      6MiB / 11019MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   2  GeForce RTX 208...  Off  | 00000000:67:00.0 Off |                  N/A |
| 22%   37C    P8     6W / 250W |      6MiB / 11019MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   3  GeForce RTX 208...  Off  | 00000000:68:00.0 Off |                  N/A |
| 22%   39C    P8     1W / 250W |     26MiB / 11016MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1314      G   /usr/lib/xorg/Xorg                  4MiB |
|    1   N/A  N/A      1314      G   /usr/lib/xorg/Xorg                  4MiB |
|    2   N/A  N/A      1314      G   /usr/lib/xorg/Xorg                  4MiB |
|    3   N/A  N/A      1314      G   /usr/lib/xorg/Xorg                  9MiB |
|    3   N/A  N/A      1653      G   /usr/bin/gnome-shell               14MiB |
+-----------------------------------------------------------------------------+

However, the driver is for 11.0, not 11.1.
So I then tried installing and old version of cuda, 11.0 instead of 11.1.
This is only for the driver, and not the runtime API.
Running nvcc -V gives "bash: /usr/bin/nvcc: No such file or directory"
I then tried to install 11.0, as the runtime API should be a lower or equal version than the driver version.
From
https://developer.nvidia.com/cuda-11.0-download-archive
I selected this install
https://developer.nvidia.com/cuda-11.0-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=runfilelocal
Which gave the following commands,
wget http://developer.download.nvidia.com/compute/cuda/11.0.2/local_installers/cuda_11.0.2_450.51.05_linux.run
sudo sh cuda_11.0.2_450.51.05_linux.run

After downloading the installer, running sudo sh cuda_11.0.2_450.51.05_linux.run
First gave me a warning about a previous version being installed again, probably from the driver installation. I selected to continue since I would only be installing the toolkit and not the driver. I continued, and selected to install everything except for the Driver
 CUDA Installer                                                               │
│ - [ ] Driver                                                                 │
│      [ ] 450.51.05                                                           │
│ + [X] CUDA Toolkit 11.0                                                      │
│   [X] CUDA Samples 11.0                                                      │
│   [X] CUDA Demo Suite 11.0                                                   │
│   [X] CUDA Documentation 11.0                                                │
│   Options                                                                    │
│   Install                                                                    │
│                                                                              │
│                                                                              │
│

After the installation, I got this message
===========
= Summary =
===========

Driver:   Not Selected
Toolkit:  Installed in /usr/local/cuda-11.0/
Samples:  Installed in /home/santosh/, but missing recommended libraries

Please make sure that
 -   PATH includes /usr/local/cuda-11.0/bin
 -   LD_LIBRARY_PATH includes /usr/local/cuda-11.0/lib64, or, add /usr/local/cuda-11.0/lib64 to /etc/ld.so.conf and run ldconfig as root

To uninstall the CUDA Toolkit, run cuda-uninstaller in /usr/local/cuda-11.0/bin

Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-11.0/doc/pdf for detailed information on setting up CUDA.
***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least .00 is required for CUDA 11.0 functionality to work.
To install the driver using this installer, run the following command, replacing <CudaInstaller> with the name of this run file:
    sudo <CudaInstaller>.run --silent --driver

Logfile is /var/log/cuda-installer.log

I added /usr/local/cuda-11.0/bin to PATH and set LD_LIBRARY_PATH to /usr/local/cuda-11.0/lib64
I then attempted the post installation instructions here https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#power9-setup
systemctl status nvidia-persistenced resulted in "Unit nvidia-persistenced.service could not be found."
sudo systemctl enable nvidia-persistenced resulted in
The unit files have no installation config (WantedBy, RequiredBy, Also, Alias
settings in the [Install] section, and DefaultInstance for template units).
This means they are not meant to be enabled using systemctl.
Possible reasons for having this kind of units are:
1) A unit may be statically enabled by being symlinked from another unit's
   .wants/ or .requires/ directory.
2) A unit's purpose may be to act as a helper for some other unit which has
   a requirement dependency on it.
3) A unit may be started when needed via activation (socket, path, timer,
   D-Bus, udev, scripted systemctl call, ...).
4) In case of template units, the unit is meant to be enabled with some
   instance name specified.

I was able to do the udeve rule instructions without issue; I ran the following commands
sudo cp /lib/udev/rules.d/40-vm-hotadd.rules /etc/udev/rules.d
sudo sed -i '/SUBSYSTEM=="memory", ACTION=="add"/d' /etc/udev/rules.d/40-vm-hotadd.rules

I tried nvcc -V just to check if the installation somehow worked otherwise. This time I got this message
Command 'nvcc' not found, but can be installed with:

sudo apt install nvidia-cuda-toolkit

So I tried the command, and it seemed to install with no issues. When I ran nvcc -V again, I got this message
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Sat_Aug_25_21:08:01_CDT_2018
Cuda compilation tools, release 10.0, V10.0.130

Which is the version of CUDA that I started with.
Looking at this message
https://forums.developer.nvidia.com/t/cuda-10-installation-problems-on-ubuntu-18-04/68615

follow the instructions in the linux install guide: https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html 836

get your installers from http://www.nvidia.com/getcuda 267

Now that you've already installed the wrong drivers, read the linux install guide carefully. Failure to follow it carefully will result in more trouble.

It seems that the alternative ways on installing onto the gpu and toolkit (with sudo apt install nvidia-450-dev and sudo apt install nvidia-cuda-toolkit)  )are not recommended, and that the instruction guide should be followed exactly.
However, I followed the instructions, and it was not able to install onto the driver. Driver installation doesn't seem impossible as the alternative command somehow worked, but the error log didn't give me any insights into how I might be able to install it the official way.
Answer: I solved the issue. The hardware came with it's own installation files for cuda, which I didn't know about. Once those were blocked installation worked perfectly.
Comment: How did you block those installation files provided by the hardware? Thanks,
Abhidip


Understanding chemical potential in AdS/CFT

Question: I always find it very difficult to understand the notion of chemical potential physically/intuitively unlike pressure and temperature in statistical mechanics. Can some one suggest some nice references or briefly discuss about it intuitively. Actually I came across it again in the context of AdS/CFT. It will be really helpful if it is discussed in holographic context.
Answer: $\mu =\frac{\partial G}{\partial N} $ i.e. it is free energy per particle in an ensemble, or energy needed for a particle to add it to the system so that the system will stay in equilibrium. (Some call it Gibbs free energy/enthalpy. Free energy is usually the name for helmoltz free energy).
Formal definition -
$$ G(T,P,N)=E(T,P,N)+P\cdot V(T,P,N)-T\cdot S(T,P,N) $$
so the equilibrium state is given for minimal value of $ G $. If you put in contact 2 closed systems with $ G_1(T_1,P_1,N_1) $ and $ G_2(T_2,P_2,N_2) $ , the combined system  system will seek a new equlibrium with maximal entropy and minimal $ G $ -
$$ G^*(T^*,P^*,N^*)=G_1^*(T^*,P^*,N_1^*)+G_2^*(T^*,P^*,N_2^*) $$
Because of the maximal entropy principle - one of the ways the system tries to minimise  $ G $ /maximize entropy is by flow of particles from one system to another. The particles will flow from system with high value of $ \mu $ to the system with low value - that according to the principle of minimizing free energy in the system.
Comment: Thanks for the answer. Actually I was looking for a more intuitive way of understanding chemical potential and specially in the context of AdS/CFT.


Application not appearing on IIS after running setup

Question: I have created a web setup in visual studio 2013. When I install it, only the bin folder is created in IIS, hence I cannot browse my website. Help please.
I have added the Primary Output in the Web Application folder in my setup.
Answer: Your question is too confusing. Are you uploading your files on to the web server? Or are you trying to setup your visual studio for debugging, test, editing and coding purposes?
If you are trying to run Visual Studio locally, IIS is setup for you automatically.
If you are trying to setup files to a webserver, try to talk to the live support. Sometimes, we, users, dont have full control or lack of knowledge debugging it on the dedicated server.
Other thing to consider is reinstalling your visual studio carefully.


Are any questions about any linguistic aspects allowed?

Question: So over here, are any questions about any linguistic aspects allowed, such as the different pronounciations of Spanish, silent letters in French etc. (I was just asking about this site)
Answer: Your question is too vague to result in an informative answer. What do you mean by "any linguistic aspects" or "the different pronunciations of Spanish"? Not everything that has to do with language is "linguistic". Linguistics asks scientific questions about language, therefore it has to be underlyingly a scientific question, meaning that it has to look scientific. For example questions about pronunciation might be about the theory of phonology or the theory of phonetics, for example "does any language have both x and χ as phonemes?" is at least implicitly a theory question (if the answer is no, why are there no such languages – an interesting theoretical puzzle). Questions about what is "common" in language would be theory questions of a sort, since many people think that theory is supposed to explain statistical distribution.
The question should have a discernible relation to some aspect of linguistic theory, it is not enough that a question "be about" language. Orthography is one aspect of language that is treated scientifically, but what possible scientific question could be asked about "silent letters" in French (answers: (1) what historically gave rise to silent letters n French; (2) are silent letters in French processes psycholinguistically as efficiently as non-silent letters?...)
Answer: No. For your specific examples, https://spanish.stackexchange.com/ and https://french.stackexchange.com/ would be appropriate. If the language you're interested in is not covered by some language-specific site, try https://languagelearning.stackexchange.com/. This SE is primarily is about the scientific study of language.


Gimp 2.9 How add alpha channel

Question: In Gimp 2.9 I want to add an Alpha Channel (Layers>Transparency) I expect to see a layer of transparency beneath my main image. However t no new layer of transparency appears. Its in RGB mode.
What to do?
Answer: The alpha-channel is a property of a given layer. Adding one allows you to make transparent pixels later (for instance with the eraser), but doesn't make your layer transparent immediately.
The alpha-channel exists when the image is loaded from a format that allows transparency (such as PNG...). It is also added automatically to all new layersbecause it rarely makes sense to stack opaque layers (except for GIF animations).
There is no such thing as a "layer of transparency". The checkerboard pattern isn't a layer, it it below the lowest layer, you see it where all the stacked layer are transparent.
Answer: I am currently using Gimp 2.10 but if I remember properly I think you should select adding a new layer, whatever you choose will be right and then you will realize that adding an alpha channel option has been enabled.
If you're wondering why it seems like you magically get alpha channels sometimes, it looks like GIMP will add an alpha channel automatically when you add a layer (even if that layer doesn't have a background of type Transparency); I suspect that GIMP uses alpha channels for its internal use. E.g., this caught me off guard when editing a single layer grayscale image, then it silently converted my image on save to an RGB with alpha image. Check the channels tab if you are ever in doubt.
Hope it helps.
Comment: Gimp put an alpha channels to the layers you add because it allows them to be transparent, which is what is wanted in 99% of the case when you stack layers.

Gimp 2.9 How add alpha channel


Magento 2.4.2 Order Status stuck on processing

Question: When an order comes in an invoice is created automatically and gets send out. I can also find that invoice when i click on the order. If I ship the order then, the shipment email goes out to the costumer but the process is still on processing in the order overview but not in the order itself. If i go on shipments then there is also no shipment shown. The same problem comes up with a credit memo.
Answer: Data in grid comes from separate table sales_order_grid. The magento updates this table by cron. Please check that your cron properly configured and run.
Also maybe this one topic will be in interest Rebuilding sales_order_grid


How can we tell what our gifting, calling and anointing are?

Question: What is gifting, calling and anointing of the Holy Spirit
Comment: @Wilson Yeboh Welcome to BH and thanks for your question. You may want to edit your question to add in where in the Bible you are quoting from. Also some indication of why you find difficulty with these words would be helpful for someone trying to answer you.
Comment: Welcome to BHSX.  Thanks for your contribution.  Please remember to take the tour (link below left) to better understand how this site works.  Do you have a specific text of Scripture to consider??
Comment: This question may struggle to be answered because anointing of people (other than Christ) is only mentioned in three places, 1 John 2:20, 27 and 2 Cor 1:21.  Apart from this, the NT is silent.  The gifts of the Holy Spirit are discussed in 1 Cor 12 and 14.
Comment: @Dottard  That is an inaccurate statement.  The NT includes more than this about anointing people _other than Christ_.  Consider James 5:14; Revelation 3:18; John 9:6, 11; Mark 6:13; and Matthew 6:17 for a few more.
Comment: @Biblasia - my references are to spiritual anointing, not physical anointing.
Comment: @Biblasia please do not answer Off Topic Questions, and remember to use the VTC button to help manage low quality content on the site.
Answer: Spiritual anointing, calling and gifting are all integral to the work of the Holy Spirit in those called to be born again of the Spirit, from above.
As there is a dearth of detail in the question, this answer will be succinct, in the hope that the OP then adds details, such as a biblical text, which this site usually requires. (Otherwise, the question might be transferred to the more general Stack Christianity site.)
The answer simply put is this: all those who are born again (spiritually) and who become part of the family of God in the sense of John chapter 3, have that anointing which enables them to discover their calling, and they discover as they start to exercise that calling that they have also been given the gifts necessary to perform that calling.
This answer has a link to the scripture:

"And we know that all things work together for good to them that love
God, to them who are the called according to his purpose. For whom he
did foreknow, he also did predestinate to be conformed to the image of
his Son, that he might be the firstborn among many brethren. Moreover
whom he did predestinate them he also called: and whom he called, them
he also justified: and whom he justified, them he also glorified."
Romans 8:28-30 A.V.

However, that may not be a text in the mind of the OP, so more detail is needed to allow for specific answers to a specific text.
Answer: It is not up to others to tell someone what his or her gift or calling is.  When God puts a burden on the heart to do something, it is natural to at first think that such a work is too much for oneself to accomplish and one must seek another of greater ability to do it.  But with the calling, God often bestows the ability.
A prime Biblical example of this is found in the story of the making of the tabernacle/sanctuary in the wilderness.  God gave very specific directions to Moses as to how this should be done, but it required expertise in working with gold, wood, and other materials--expertise that would have been virtually impossible to find among all the formerly downtrodden slaves in Egypt.  What craftsmanship could they have mustered?
But God, the Master Craftsman, gave skill to a specific Israelite for this purpose.

30And Moses said unto the children of Israel, See, the LORD
hath called by name Bezaleel the son of Uri, the son of Hur, of the
tribe of Judah; 31And he hath filled him with the spirit of
God, in wisdom, in understanding, and in knowledge, and in all manner
of workmanship; 32And to devise curious works, to work in
gold, and in silver, and in brass, 33And in the cutting of
stones, to set them, and in carving of wood, to make any manner of
cunning work. (Exodus 35:30-33, KJV)

Wow!  Bezaleel was given some amazing skill and artistic ability to be able to make the special things for the worship of God in His holy sanctuary.  He didn't even go to school to get this ability.  As a son of the tribe of Judah, he had just barely emerged from slavery as all the others--probably making bricks like all of them.  Where did this skill come from?
God, who created us, also creates our abilities.  If He puts a burden in our heart to do something, He will give us what we need to accomplish it.  It may not seem as wonderful as what someone else might do--but that someone else is busy doing his or her own work, and would have been unable to do this one, too.
No one but God can help us know what our gifts are.  It is often the case that others will think we cannot do something.  They will say discouraging things.  If we allow such thoughts and words to turn us aside from the duty God has given, we may never realize the ability He was prepared to grant that would be equal to the need.


Name of provider for ODBC .Net?

Question: I'm trying to configure a testing tool to use ODBC.Net to connect to a CA-Datacom database.
So I just downloaded & installed ODBC.Net. The testing tool wants a provider name, i.e. "MSDASQL" for Microsoft OLE DB Provider for ODBC Data Sources.
If I try to type in a provider name, such as "ADODB," I get an error saying that the provider isn't registered on the local machine.
Does anyone know what the appropriate provider name is for ODBC .Net?
Comment: Does the site from which you downloaded the ODBC connector not list the provider name?
Answer: Documentation explains that both system and user DSNs are created when the driver is installed. You therefore should be able to instantiate ODBCConnection with a connection string that uses the DSN syntax.

Name of provider for ODBC .Net?


How to get raspi-config on Ubuntu 21.04? - Failed to update superblock on microSD on Ubuntu. Needed to setup USB boot

Question: I wanted to do a USB boot from a PI 4. (My microSD card would not boot. Superblock not writable ... see below). I am currently running Ubuntu 21.04 on a Raspberry PI 4 with 8GB of RAM and using zram to manage swap space (hoping to forestall the superblock not writable problem).
I created a new microSD flash card for Ubuntu 21.04.  After booting:
First I upgraded the firmware with rpi-eeprom-update.
I found that when ran raspi-config that there were no boot options for booting from a USB device. I then retrieved the latest version of raspi-config with wget.
I made sure that everything is up to date with apt-get.
I installed the raspi-config source with dpkg (note that the wget stored the file in your current directory).
Launched raspi-config
Select "6 Advanced Options"
Select "A6 Boot Order"
Select the boot order option you want, "B1 SD Card Boot" or "B2 USB Boot"

I ran into the problem with Ubuntu that the superblock on the microSD card was not longer writable (Flash drive wear?) and every attempt would drop into Busybox with a failed fsck. Running fsck manually did not help. If you are worried about running into this situation you may choose to set up your Raspberry Pi to optionally boot from USB.  Note that the specific version of of the raspi-config was found by browsing the archive shown below.  You may want to check for a later version.
sudo rpi-eeprom-update -d -a
wget https://archive.raspberrypi.org/debian/pool/main/r/raspi-config/raspi-config_20210604_all.deb
sudo apt-get install -fy
sudo dpkg -i raspi-config_20210604_all.deb
sudo raspi-config

6 Advanced Options     Configure advanced settings

A6 Boot Order              Choose network or USB device boot

B1 SD Card Boot Boot from SD Card if available, otherwise boot from USB

B2 USB Boot     Boot from USB if available, otherwise boot from SD Card

I wound up putting the failed microSD card into a USB microSD card reader and I was able to extract all of the files I wanted before tossing the microSD
Answer: This is an exercise in futility.
Raspi-config is a simple (if long) bash script to configure Raspberry Pi OS.
Ubuntu has a different structure (so even though it shares some files they are located in different places), it uses different networking and has a different kernel.


Do evil actions stem from good intentions?

Question: Good actions and bad actions exist. But could it be possible that all bad and evil actions could stem from some sort of good thing making it at its root not evil. Like say I want to do something to make me happy at someone else's expense. Sense the goal was to make me happy shouldn't it have been good, does this mean that this somewhat evil action at its root is good?
Comment: See: 'All evil is potential vitality in need of transformation' https://philosophy.stackexchange.com/questions/51482/all-evil-is-potential-vitality-in-need-of-transformation/51484#51484
Comment: ["*The road to hell is paved with good intentions*"](https://en.wikipedia.org/wiki/The_road_to_hell_is_paved_with_good_intentions). But surely not *all* bad actions stem from that. Some people are quite open about their intentions, and those are pretty bad. Making oneself happy at someone else's expense is among them, although how bad depends on the expense. Serial killers and pedophiles come to mind for worst examples.
Answer: Buddha said even acting with good intentions can lead to a bad result, and so advocated no-deed.  The take-away here is that if you must act, be aware that you are taking a gamble.
<code>There are dark deeds with dark results.
There are bright deeds with bright results.
There are dark and bright deeds with dark and bright results.
There are neither dark nor bright deeds with neither dark nor
 bright results, which lead to the ending of deeds.
</code>
AN 4:232 Deeds In Brief and longer version
Anguttara Nikaya 4:232
Samuel Johnson wrote something similar: "Hell is paved with good intentions", but interestingly a different interpretation I doubt Buddha would agree with can be made of this:

The road to hell is paved with good intentions means that it is not enough to simply mean to do well, one must take action to do well. A good intention is meaningless unless it is followed by a good action.

Grammarist article
Nevertheless, with regard to acting in your own interests, note that Hegel actually defines evil as total self-centeredness and egotism.
From The Science of Logic

Remark: The unity of the One and the Many
§ 356
Self-subsistence pushed to the point of the one as a being-for-self is
abstract, formal, and destroys itself. It is the supreme, most
stubborn error, which takes itself for the highest truth, manifesting
in more concrete forms as abstract freedom, pure ego and, further, as
Evil. ...

Re: Evil/good understood as selfish/cooperative
Answer: One way to arrive at an ethical stance is by assessing how it relates to your goals.
If your goals are utilitarian for example (ie: you generally aspire to maximise pleasure or wellbeing and minimise pain or suffering for all affected individuals), then deriving pleasure at another person's expense will likely only be ethical if you deem that the pain you are inflicting is insignificant in relation to the pleasure you are deriving. Perhaps, by stealing a loaf of bread, you enable your family to survive another day or two, whilst the expense to the retailer is a relatively minor loss in profits.
A person might of course however possess very different goals. If your goals are purely to maximise your wellbeing at any cost, then you may deem any pain you cause to someone else in the process as trivial. You might deem it reasonable to kill the retailer in order to steal a loaf of bread you didn't even need, but merely desired.
It is not difficult to foresee the problems that arise from such a self-oriented approach however, which is why healthier societies tend to adopt utilitarian(ish) policies, although their methods of attempting to maximise wellbeing may differ.
Only you can decide what is right, but if your goals are incompatible with those of the society in which you live, you will likely find it difficult to sustain them.
If a person finds themselves thinking that no-one else matters; that the only person who possesses any moral value is themselves, and if they find themselves increasing willing to act according to such an attitude, there is a reasonable case to suggest that they might in fact be experiencing one or more of a range of disorders classified by the Diagnostic and Statistical Manual of Mental Disorders, some of them potentially very serious and even dangerous to the self and/or others, such as Anti Social Personality Disorder.


Why won't bitcoind work correctly on windows 7?

Question: When I go to bitcoind using "bitcoind -daemon" in Windows 7, it won't run in the background. When I type that, it just sits there and does nothing. If I keep it like that and open another command prompt and use eg. "bitcoind getpeerinfo" , it says it can't get a lock on some directory.
Answer: What are you expecting it to do?  It is a daemon (server) that is waiting for RPC connections on port 8333.
Your bitcoin.conf needs to have configured the rpcuser and rpcpassword.  Then you can access the bitcoin API.
With Bitcoin-Qt version 0.7 and higher, the Debug window gives you access to run a console, so you don't need to run bitcoind if you are just trying to execute some commands interactively.
Comment: Thanks, I didn't really know what to expect from bitcoind. I thought it would return a response.


Is it legal to sell a 3d scan of a car in the USA?

Question: Suppose someone were to provide high quality 3D scans of vehicles for the off-road industry.  Would it be legal to sell these scans via an online marketplace?  They would be either component, chassis, or whole vehicle scans.
Comment: My apologies for the bad format.  This was my first post, won't happen again!  Yes, if somebody were to sell scans of vehicles could the auto manufactures shut it down.  It is very common for a company to sell scanning services but there are very few marketplaces where scans can be purchased retail.
Comment: Are you asking whether an auto manufacturer can enforce copyright in the design of a vehicle?  If you put your question in general terms like that it won't be closed as a request for legal advice.  As it stands, it will be.
Answer: Most cars have a design that is protected by a design patent. The elements of that design are protected for the duration of the patent. In the U.S., design patents are valid for 14 years from the date of issue if filed prior to May 13, 2015, or 15 years from the date of issue if filed on or after May 13, 2015.
Some components of the styling of a design may also be protected by trademarks, for example, the "brand badge", and the intellectual property rights in the trademarks would survive the expiration of the design patent indefinitely, so long as the trademark remains in force.
There is an argument that in addition to the design patent, that there would be a copyright protection for the design. Some objects, such as the Statue of Liberty were the subject of both a design patent and a copyright, back in the days when copyrights were fairly short lived. I haven't seen any modern case law concerning what copyright rights, if any, survive the expiration of a design patent under modern copyright law, and I don't know whether residual copyright protections are available under modern law for designs covered by expired design patents.


What are the required platform to make mobile app that has dapp features?

Question: I recently went over dapp with ethereum block chain but most of the coureses and documentation follows example in webApps. I want to know what are the possible frameworks/library, technology/ languages etc that i would need if i want to develop a android/ios app that has dapp feature of implementing smart contracts and communication with the ethereum or any other network.
P.S. for cross-platform development i wanted to use react native and would to work with domains that are compatible with react-native
Answer: Use Uno Platform with Nethereum


Reserved multicast addresses

Question: I can see MC address assignments HERE. However, I'm looking for what groups in the 225.0.0.x range represent.  I know that the MACs for this range overlap the 224.0.0.x range in some (if not all) cases, so maybe that's why there's no table explaining what 188.8.131.52 is (and perhaps why they're 'reserved').  That being said, why would applications ever use groups in the 225.0.0.x range and not the 224.0.0.x range if they know it's going to get pushed to those overlapped ranges regardless?  I have 220.127.116.11-3 sitting on some switches now which is why I was curious.
Answer: Technically, no application should be using anything in the 184.108.40.206/24 range. That range is reserved for future use. In most cases, the programmer should actually be using something in the Administratively Scoped Block of 220.127.116.11/8. There are programmers (see multicast questions on Stack Overflow) where the programmers just don't care or actually understand enough about multicast to do it correctly. In fact, I see a lot of questions about network programming in general where the programmer has no business writing network applications because he simply doesn't understand the networking aspects well enough.
Using something in the 126.96.36.199/24 range would limit multicast to the link; the multicast could not be routed if necessary.
As far as overlapping layer-2 multicast addresses go, a layer-2 multicast address represents 32 different layer-3 IPv4 multicast addresses. That is because the layer-3 IPv4 multicast address range has 28 bits for the individual multicast groups, but the 48-bit layer-2 MAC multicast address range only has 23 bits available for the individual multicast groups. The 28 bits for IPv4 addresses minus the 23 bits for MAC addresses is five bits, and 2^5=32.
Comment: With IGMP snooping, the frames will be sent to any switch interfaces that have devices subscribed to any of the matching 32 groups. Those devices will look at the layer-3 addresses and reject anything not for the layer-3 multicast groups to which they have subscribed.
Comment: Ok, so I need to track down the owners of the sources for those groups and ask them what's up...  Regarding the overlap topic - Everything destined for example to 126.96.36.199 is also being replicated to anyone in the 18.104.22.168 group and vice versa correct?
Comment: Yep, 100% tracking with you on that.  So - as long as those overlapping groups aren't showing up in any of my devices, it won't matter.  Thanks again Ron, marking as an answer!

Reserved multicast addresses


Is it theft if someone picks up a dropped wallet and keeps it?

Question: Say I drop my wallet and 5 minutes later return to the spot to find it gone.  Is it theft for the person who took it or is it a case of finder's keepers?
Comment: Related: [Search LawSE: "lost property"](https://law.stackexchange.com/search?q=%22Lost+property%22)
Answer: england-and-wales
In England, their conduct would be considered 'Theft by Finding' in that they've (presumably) taken no steps to locate the rightful owner.

This means that if you find a wad of cash on the street and don't
attempt to return it to its owner – by handing it into the shop, for
example, or the police – you're guilty of theft.
Metro - When are you legally allowed to keep money you find on the floor?

Per the Theft Act (1968)

A person is guilty of theft if he dishonestly appropriates property belonging to another with the intention of permanently depriving the other of it ...
A person's appropriation of property belonging to another is not to be
regarded as dishonest ... if he appropriates the property in the
belief that the person to whom the property belongs cannot be
discovered by taking reasonable steps.
Answer: It depends on your exact location.
In California, it is legal to pick up lost property on the street. As the finder, you have to make a reasonable effort to return it to the owner. That will involve contacting the police and telling them. If even with all your efforts you can't find the owner, then you can keep the property after six months. If my bank cards were in my wallet, or my driving license, there is no way you can keep it without it being theft. (The exact name for the crime may be different, but it will be about the same severity as theft).
Finding banknotes is likely different (because finding the owner would be much more difficult), and finding a wallet in a place owned by someone (on the train, in someone else's home) and keeping it will be more serious, because you had no right to take it in the first place.


raspberry pi 3 b+ audio CONTROLS not working

Question: So, Linux (Raspbian) finally throws a issue at me. I am using a raspberry pi 3 b+ . So, here's how it went. I got a starter kit with an outdated copy of Raspbian/Debian Linux, then I upgraded it to Buster (Using a guide that used the manual way of doing things. Later discovered that there was a simpler, but better way on rpi website. OOF MOMENT).
HERE'S THE PROBLEM:
The sound is kind of broken (note the words "kind of"). The sound works, BUT the icon on the toolbar for the sound is crossed out, and the only way to control the volume is by using the sound config menu (first marking the hdmi input visible). Is there any way to fix the icon?
P.S. I know I have written too much, so don't tell me that I am a dunderhead. I already know...
Update:
I SOLVED IT (SEE ANSWER FOR MORE DETAILS)
Answer: I figured it out! Luckily, my version of Raspbian was super old and I was able to get alsa controls running by upgrading LITERALLY 500 PACKAGES AND OVER 14 CONFIG FILES. I'm so silly...


Can I turn off macOS Catalina's internal display without close the lid while using an external monitor?

Question: I'm using two external monitors, and I want to be able to disable the built-in monitor without closing the lid. Option with disabling brightness doesn't fit my requirements because I don't want every time to search my cursor in the black screen. I need the lid to be opened because I'm ofently using touch id sensor.
Comment: i tried solution found in similliar topics but for earlier versions of macos, sudo nvram boot-args="iog=0x0" and its not working here- nvram: Error setting variable - 'boot-args': (iokit/common) not permitted
Comment: Disabling SIP using csrutil disable in recovery mode will allow you to set boot-args in a normal boot session. WARNING: You should not disable SIP unless you really need to - and you should already know how and why!
Comment: ok, then i need another solution without SIP
Answer: Yes, it's possible.
Well, I can do it.  MacBook Pro, MacOS 10.11, if that matters.
Just find the spot where the lid sensor is,
(about 1/3 from the bottom on the left edge of this laptop) and
park a magnet on it.   The internal display goes dark, but
the external still displays, and the keyboard types, and both
the trackpad and external pointing devices still work.
It moves the dock onto one of the external screens, of course, and other items shift accordingly, taking a few seconds.
Comment: Nice. Can you add a photo or schema? The position of the dock can be set by dragging the little menubar icon in System Preferences > Displays > Arrangement to the desired screen.
Comment: Will TouchID work?
Comment: @n1000 It doesn't disable any USB devices (like keyboard and trackpad); my model doesn't have TouchID sensor, but it's likely just another USB peripheral.
Comment: Doesn't work on my 16" 2019. I even tried it with two magnets.
Answer: This is not a standalone answer, but since comments can't contain pictures, I added a new answer showing the picture requested in a comment above.
Here's a picture that shows a magnet in action, fooling the lid sensor into believing the lid is closed while the lid is open.  The purple thing is a magnet used to attach a paper to a whiteboard.  The paperclip on the screen shows how I found where the lid magnet was.  I tried to be careful to not scratch my screen (actually the border of the screen) while moving it around to find the location.


Problem with Mist Wallet synchronization

Question: I've installed the Mist wallet app v0.9.3 and it says "Synchronizing", and then after a few minutes the progress numbers stop changing. The log file shows repetitious socket errors (what is strange because my network is working perfectly fine). I kill the Mist process and restart it, and then it starts synchronizing again for a few minutes, and then gets stuck again. Rinse and repeat.
Any idea how to fix it?
Comment: Try downloading the latest version of Geth and synchronize using geth command
Answer: When you start geth (done implicity by mist) for first time it starts in fast sync mode. Fast syncing goes up until 1000 blocks left, then get slows down and pulls latest state of the blockchain. At that stage it might look like things hang (but you can see counters increasing). See also What is Geth's "fast" sync, and why is it faster?.
I suggest you use wireshark/tcpdump to see how critical your socket errors are. Some errors might be harmless. Look for packets with port number 30303.
You can get a better view on what is happening if you run geth manually. (You have not specified what platform you are using and if you are syncing with mainnet or testnet. I will assume Linux and mainnet, tell me if you need instructions for another environment.)
Stop mist and run your node: "~/.config/Mist/binaries/Geth/unpacked/geth". Then, in another terminal, attach to geth console: "~/.config/Mist/binaries/Geth/unpacked/geth attach". On that console you can do "debug.verbosity(5)" to make geth node show debug and trace messages. Some network errors are normal. You can also type "eth.syncing" to observe counters changing (or not changing). You can also check "admin.peers" to see how many peers your node has acquired. It might take few minutes to find any, be patient.
Answer: Mist and geth have a lot of problem on syncing.
If you are in a pinch and have to deploy a contract you don't need the full node sync, just follow this simple steps instead (i found in a post and help me a lot):

Install https://metamask.io/ and
Navigate to https://remix.ethereum.org/
Click on settings -> choose your compiler (e.g. 0.4.19+commit.c4cbbb05). Note that optimization is unchecked.
Login to metmask and choose your network (i would suggest first testing using ropsten test network and using the buy button to get ETH from a free faucet)
Go back to the compile tab,
Delete the contents of the example contract,
Paste in your contract (it should auto compile).
Click on the run tab
If you contract have input data you have tu put that data on double quoute (").
Click on create.
Metamask will open, choose your gas price and click Submit to sign your transaction
Open metmask again, click on the transaction hash.
Once published. in etherscan go to the contract address and Click on Contract Code tab on etherscan, click Verify and Publish.
Set the name of the contract to the exact name as in remix, Compiler to the same exact version as in remix and set optimization to "No" if you didn't click it on remix in step 3.
You should now have a published contract, with source code on etherscan.
Answer: Find the location of geth that mist uses,  if on windows you can open that task manager find it , right click and go to the location.
Now you have the location, kill geth and mist.
run geth with the --light parameter it should only take a few minutes like 5mins.
Once you see its synced to the latest block start mist.


CreateProcess doesn't run application (nc.exe) as it should?

Question: The problem is that when i am open nc.exe from the CMD using the nc syntax as in the above code it works and is connecting to my server. But when i am doing so through my program (using the above code) it just open the nc.exe window but it doesn't let me run commands i just get a blank CMD window without any prompt .
    PROCESS_INFORMATION pi;
    STARTUPINFO si;
    memset(&si, 0, sizeof(STARTUPINFO));
    si.cb = sizeof(STARTUPINFO);

    TCHAR nc[] = TEXT("nc.exe localhost 4444");

    CreateProcess(NULL, nc, NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi);

should i use any other arguments to CreateProcess in order to make it work as it should (or as it works when i am running it manually)? i am thinking maybe the problem is somehow relate to the StdInput StdOutput thing but i am not sure on where to go from there.
Thanks.
Answer: You can run it via cmd.exe with the /K argument to force the DOS window to remain open, e.g.:
cmd.exe /K nc.exe localhost 4444


Frequency de-modulation question

Question: Why is in some cases that the messaged received from the demodulation process has slightly more amplitude  then the original message?
Answer: Your question is not at all clear.  What do you mean by "message"?
IF you are asking about the peak-to-peak or RMS amplitude of a demodulated FM signal - the absolute amplitude of the modulating signal is not a captured or encoded in an FM signal.  The recovered (demodulated) signal has the same relative amplitudes between loud and soft passages, but the absolute signal amplitude in volts is not modulated onto the carrier.
Answer: In AM super heterodyne radio theory, the AGC or automatic gain control circuit will increase the amplification of the RF antenna amplifier that is fed to the heterodyne mixer. Thus the amplitude of the detected audio signal can be greater, depending on the gain in the AGC circuit.

Frequency de-modulation question


Can an application wipe or corrupt a SD card?

Question: Is it possible for apps to eliminate or corrupt SD Card specifically the apps that are installed from Play Store? Lately my micro SD card got wiped out on its own and I couldn't recover any of my data since I formatted it as the default disk to write earlier on my phone. I also wonder if it is possible for Beta version of apps to distort an SD Card
Comment: This isn't impossible but rarely happens. Apps with android.permission.MOUNT_FORMAT_FILESYSTEMS are able to format external sd cards or those with android.permission.WRITE_EXTERNAL_STORAGE can erase files from external storage. Also apps with root access can do almost everything they want. But it hardly makes sense to erase data unless one has clearly destructive intentions. Usually the data loss is associated with some malware activities or hardware failures.
Answer: Yes, it is possible for an application to maliciously wipe or potentially corrupt data on a SD card. However, that is very unlikely to happen.
More likely is that the SD card had some sort of hardware failure.


How to make inline assembly keccak256 work like Solidity keccak256

Question: Is there a way to use inline assembly keccak256(p, n) work like the Solidity keccak256(p)? I imagine there would be a neutral input I could give for either p or n to make that happen?
Comment: What do you mean with "neutral input"? Any input (uint, string, bytes...)?
Comment: @alberto meaning an input to the line assembly keccack256 that along with the intended input would give the same result as calling the Solidity keccack256 with one input.
Comment: Hope I have understood your comment correctly.
Answer: From this answer, we know that we need the pointer and the length of the data to use inline assembly keccak256(p, n). Therefore, when using inline assembly keccak256 you need to indicate the length of the input to use a neutral input.
For this example I will use bytes since according to the docs the keccak256 function receives bytes. If you use a different variable type, such as uint you need to convert it into bytes. So, note that the function should be modified depending on your input.
Hence, one option to make a general function could be the following:

We need to load the length (first 32 bytes) using mload(_a).
We need to load the data using add(_data, 0x20). Just to clarify, 0x20 is 32 bytes in hex.

Thus, inline assembly keccak256(p, n) will have the following parameters:
keccak256(add(_a, 0x20), mload(_a))
You can test on Remix the following functions:
function solidityKeccak (bytes memory _input) public pure returns (bytes32) {
    return keccak256(abi.encodePacked(_input));
}

function assemblyKeccak (bytes memory _input) public pure returns (bytes32 x) {
    assembly {
        x := keccak256(add(_input, 0x20), mload(_input))
    }
}

Example with a storage reference:

We need to load the value in storage. Please read the following sections of the docs: Layout of State Variables in Storage and Mappings and Dynamic Arrays.
Then save the value in memory, preferably in the free memory pointer (0x40)
Compute the keccak256 function by indicating the pointer and the length of the data.

Code to test on Remix:
// For dynamic array variables, this slot contains the length.
bytes example = hex"0000000000000000000000000000000000000000000000000000000000001234"; // Storage slot #0

function assemblyKeccakStorage () public view returns (bytes32 x) {
    assembly {
        let value := sload(keccak256(example.slot, div(sub(sload(example.slot), 1), 2)))
        let ptr := 0x40 // Free memory pointer
        mstore(ptr, value)
        x := keccak256(ptr, div(sub(sload(example.slot), 1), 2))
    }
}

To understand better the code:

example.slot returns 0.
div(sub(sload(example.slot), 1), 2)) is the reverse operation from the docs:

For byte arrays that store data which is 32 or more bytes long, the
main slot p stores length * 2 + 1 and the data is stored as usual
in keccak256(p).
Comment: Is `add(_data, 0x20)` the storage location for the data?
Comment: @scorpion9979 Is where the data starts, yes. Because the first 32 bytes is for the length, so you need to count after this 32 bytes to get the data.
Comment: Oh, it's the memory location for data because memory layout always has first 32 bytes for length, and then the consequent 32-byte locations for data without any packing (elements padded with zeros).
Comment: Would be great if you could also include an example where the function input is a storage reference.
Comment: @scorpion9979 Done. Just do the same, get the value in storage and then save it in memory. After that, you need to indicate the pointer where the value is stored and the length to compute the ´keccak256` hash.


Visual Studio 2017, F7 not working

Question: I still have F7 as my global View code key, but it doesn't work.
My F7 key on keyboard is not broken (because I can use F7 in other app)
How can I detect what happened with my F7 key in Visual Studio?
Comment: Accordingly to developercommunity.visualstudio.com the upcoming release (15.7.4.) should fix that.
Answer:
The Web Tools team added a new command in 15.7 that supports
  switching between a Razor View and its C# code file, and mapped it to
  F7 because that's a common mapping for similar commands. However, we
  didn't realize that this overlaps with the build command in certain
  keyboard schemes and needs to be removed from those schemes.
We are working on a fix that we will push out very soon. In the
  meantime, you can unblock yourself with the following workaround.

Go to Tools->Options->Environment->Keyboard
In "Show commands
  containing" type "ToggleRazorView"
Select "EditorContextMenus.CodeWindow.ToggleRazorView"
Next to "Shortcuts for selected command" click "Remove"

Answer by Vino Wang from Visual Studio Developer Community
UPDATE:

Thank you for your feedback! We have fixed the problem in an upcoming
  release (15.7.4.) Thank you for helping us build a better Visual
  Studio!

Finaly! :D
Answer: Build.Solution is also assigned to F7. In my case, that's the shortcut that does not work.
Generally, in case of shortcut issue, find the command you that the shortcut does not work for you, click "Remove" shortcut, then reassign again the same shortcut. VS will show in "Shortcut currently used by" command that uses the same shortcut and causes conflict.
Answer: You need to remove the F7 shortcut that is attached to:
ToggleRazorView
Comment: thanks for comment, After some tries, I've update some more setting then F7 work again,
https://imgur.com/a/s1dLq5A
Answer: After some tries, I've added F7 to anything related to "ViewCode" option, than it works again,
Comment: For who minus this, what did you expected for?

Visual Studio 2017, F7 not working


Trying to boot Kali Linux from USB on Mid 2010 macbook pro

Question: I created a Kali Linux Live USB (MBR with compatibility for both BIOS+EFI) and created an /EFI/BOOT directory on the USB's root directory, with the file bootx64.efi in it. However, when I tried to boot into it, it said something about (hd0,1) not being found and that I need to start the kernel first... Any help?
If i'm being vague with what I did to make the USB, I followed these instructions: http://forums.kali.org/showthread.php?271-How-to-EFI-install-Kali-Linux
Answer: You should go to the partition that says File System, find the boot folder and copy the grub.cfg file located there to your partition containing /EFI/BOOT/ into that very same folder that you have bootx64.efi and also from Fedora besides bootx64.efi. You need everything else from Fedora EFI folder besides the fonts folder. Try again and let me know how it goes.


Code reviews in Scrum?

Question: I would like to introduce code reviews in our agile process, my developers however think that it is a waste of time since they do not code in the same languages (front and back end dev). What is the best way to introduce it?
Comment: Are you the process facilitator or one of the developers who wants code-reviews?
Comment: Scrum master aka process facilltator
Comment: Nice, updated my answer with some more background :)
Answer: There are (broadly) two purposes for code review: improving code quality, and disseminating knowledge.
Your developers are right in that, with their current skills, they can't really do anything for the first goal.
Which is why, for now, you should focus on the second. I'm going to assume you only have two developers (putting aside that that's too small for an effective Scrum Team...). In which case, both of your developers have a current bus factor of 1. That's a significant problem, from a business perspective.
The next important point, after the actual problem has been identified, is to bring the problem, not the solution, to your Team. Ask them if they have any ideas for solving the problem. You might find they'll come up with a different, viable solution.
If they don't come up with a solution (or only come up with untenable ones, such as 'hire more people' when you have a tight budget), then you can bring up code review, and discuss. The important part is to get the Team to feel involved in the decision-making process. This will vastly improve their buy-in.
And then, after a while, as your front/back-end developers become full stack... the purpose of the code review will start to legitimately include the quality aspect.
Of course, as I mentioned, this assumes you have a Team size of 2. If you have at least 2 front-end and 2 back-end developers (or more)... then just have them review each others' code.
Answer: The best way to introduce teams to new practises is to let them find out they need them and then let them implement it themselves. Forcing practises does not really feel self-organizing.

They still require mentoring and coaching, but they don't require
  "command and control."
https://scrumalliance.org/community/articles/2013/january/self-organizing-teams-what-and-how

Discussing lots of defects during a retrospective could lead to an extension of the definition of done including code-reviews.
What I would propose it to signal a problem to the team, the situation you think could be solved with code-reviews. Now let the team find a solution to the problem. If they pick code-reviews great! If they don't, but they do another experiment, great! If they don't know and look at you for advice, give them some ideas they could try. Let them decide what to try.
My experience is that the ideas of process improvements that I think are good for the team. And those that I was implementing for them. These were the improvements with the least effect. Anything they choose themselves and implemented themselves had the best effects.
Teach them how to improve their process. Just grabbing practises that worked for others is not how you solve complex processes, it leads to cargo-cult agile.

Code reviews in Scrum?


Is there any sort of permenant tracking spell or device in 5e? Could one be made?

Question: I was wondering if tracking devices/enchantments could be made. They would be given to guild members so the guild could keep track of their mission progress, and help if they're in trouble.
Comment: Have you read the rules in the DMG for crafting items?
Answer: The item Crystal Ball
From the DMG (159), emphasis mine.

The typical crystal ball, a very rare item, is about 6 inches in
diameter. While touching it, you can cast the scrying spell (save DC
17) with it.

The scrying spell on PHB (273), emphasis mine.

You can see and hear a particular creature you choose that is on the
same plane of existence as you. The target must make a Wisdom saving
throw, which is modified by how well you know the target and the sort
of physical connection you have to it. If a target knows you're
casting this spell, it can fail the saving throw voluntarily if it
wants to be observed.

You can use this item to spy on your guildmates as long as the NPC keeps touching the ball.
A Warlock alternative.
As an alternative, if you want a more automatic response you can, instead of using a super rare item, create a NPC level 3 warlock. A warlock 3 with Pact of the Chain and Voice of the Chain Master can maintain a group and the Warlock always communicated. The familiar "spy" can deliver information as long as they are in the same plane of existence.
Voice of the Chain Master (PHB 111)

You can communicate telepathically with your familiar and perceive
through your familiar's senses as long as you are on the same plane of
existence.

Homebrewing
If homebrewing is an alternative, you can create almost any magical item that your campaign needs. Being for thematically reasons or as a way to solve a particular problem, there is nothing in the rules that stops you (if you are the DM) to adjust as needed.
Retracting a decision
As the DM you have all the rights to retract a decision on your games. If a change suddenly seems more powerful than expected and its ruining everyone game, you can always take it back.
Comment: It's true there's nothing in the rules against homebrewing - in fact, there's a whole section to help, as KS pointed out. Probably good to point people there in that section of your answer.


Composition of solar spectrum

Question: I read some where that there are three types of UV and infrared rays namely UV-A, UV-B, UV-C and near infrared, mid infrared and far infrared. Which is the most abundant among the the three in Ultraviolet and infrared radiation from sun? I mean there is a total of 1000 W per unit area illumination by sun among which more than 500 watts is infrared, around 450 watts in visible and the rest part is ultraviolet so in the infrared rays which are the most abundant means which contribute to most of the 500 watts?
Also, what are the sources of infrared at night and what is the power density of infrared rays at night!.
Comment: Hi Saurbh. Welcome to Physics.SE. Can you provide a reference on the power distribution?
Answer: Wikipedia has a good plot of the power versus frequency spectrum, well labeled.

One can integrate numerically to get the percentage at each wavelength. There exists also an article on ultraviolet.

Please also tell what are the sources of infrared at night and what the power density of infrared rays at night!.

Infrared at night comes from the stored sun energy on matter, ground and air. It follows the black body radiation spectrum, which is directly dependent on the temperature, which falls as energy is radiated away. This is a small number in watts/m^2 and can be calculated using the Stephan Boltzman law.
Comment: Just to add to this answer: you can see from the first plot that the sun's output is peaked around visible light. Therefore UV-A has a higher intensity than UV-B and UV-C sice it has a [longer wavelength](http://en.wikipedia.org/wiki/Ultraviolet_A#Subtypes); and similarly near infrared has a higher intensity than mid and far infrared. To calculate how much power per unit area is in the form of UV-A (for example), you would need to find the area under this curve from 315 to 400 nm.

Composition of solar spectrum


$(\mathbb{Q},\leq)$ is an elementary substructure of $(\mathbb{R},\leq)$

Question: I'm trying to understand why $(\mathbb{Q},\leq)$ is an elementary substructure of $(\mathbb{R},\leq)$.
It is obviously a substructure, and I also know that both structures are elementary equivalent (because the theory of dense linear orders with no maximum or minimum is complete), but that's not enough.
The proof I've seen involves quantifier elimination, but I haven't learned that subject. I'd be happy to hear about different approaches.
Comment: Do you know (1) the downward Löwenheim–Skolem theorem (which implies that $(\Bbb{R}, \le)$ has a countable elementary substructure) and (2) the theorem (due to Cantor) that any two countable dense linear orders without endpoints are order-isomorphic? Aside: you should learn a bit about quantifier-elimination: the quantifier-elimination process in this case is easy and intuitive.
Comment: @AlexKruckman: You are right. I was reading the question as asking if the rationals could be embedded as an elementary substructure of the reals.
Comment: @RobArthan I don't think those two ingredients are enough. Suppose $M$ is a countable elementary substructure of the reals. To conclude that the rationals are an elementary substructure of the reals, you have to show that there's an automorphism of the reals moving $M$ to the rationals. And that's not true for an arbitrary $M$ (e.g. the set of all rationals in $(0,1)$).
Answer: If $\phi$ is an $n$-ary formula and $b_1,\ldots,b_n\in\Bbb Q$, we want to show
$$\tag1(\Bbb Q,\le)\vDash \phi(b_1,\ldots, b_n)\iff (\Bbb R,\le)\vDash \phi(b_1,\ldots, b_n)$$
Assume that $\phi(x_1,\ldots,x_n) $ has the form
$$ Q_1 y_1Q_2 y_2Q_3 y_3\ldots Q_my_m\colon\psi(x_1,\ldots, x_n,y_1,\ldots,y_m)$$
where each $Q_i$ is either $\forall $ or $\exists$.  We can show $(1)$ by induction on the number $m$  of quantors.
If $m=0$, it is clear that $(1)$ holds as we are left just with a logical combination of a bunch of true or false relations among given rationals.
For $m>0$, first assume that $Q_1=\forall$.
To show $\Rightarrow$, assume the left hand side of $(1)$ is true. Let $y_1\in\Bbb R$ be arbitrary. Let $\hat y_1$ be a "nearby" rational, i.e., if $y_1\in\Bbb Q$ let $\hat y_1=y_1$, otherwise let $y_1$ be a rational number in the same open interval determined by the $b_i$ as $y_1$ is. One readily defines a piecewise linear automorphism of $(\Bbb R,\le)$ that leaves the $b_i$ fix and maps $y_1\mapsto \hat y_1$.
By induction hypothesis, the equivalence in $(1)$ holds for
$$\tag2 Q_2 y_2Q_3 y_3\ldots Q_my_m\colon\psi(x_1,\ldots, x_n,\hat y_1, y_2\ldots,y_m)$$
and we have $(\Bbb Q,\le)\vDash (2)$, hence also $(\Bbb R,\le)\vDash (2)$. Via our piecewise linear automorphism, also $$(\Bbb R,\le)\vDash Q_2 y_2Q_3 y_3\ldots Q_my_m\colon\psi(x_1,\ldots, x_n, y_1, y_2\ldots,y_m).$$
As $y_1$ was arbitrary, we infer that the right hand side of $(1)$ is true, as desired.
To show $\Leftarrow$, assume the right hand side of $(1)$ is true. Let $y_1\in\Bbb Q$ be arbitrary. By induction hypothesis, the equivalence in $(1)$ holds for $$\tag3 Q_2 y_2Q_3 y_3\ldots Q_my_m\colon\psi(x_1,\ldots, x_n, y_1, y_2\ldots,y_m)$$ and we know that $(\Bbb R,\le)\vDash (3)$, hence also $(\Bbb Q,\le)\vDash (3)$. As $y_1$ was arbitrary, we infer that the left hand side of $(1)$ is true, as desired.
A similar argument works if $Q_1=\exists$: One direction works directly, for the other we need can make use of a piecewise linear isomorphism of $(\Bbb R,\le)$ that maps $y_1$ to a "nearby" rational.


Aggregate postal code based aggregated data to district scale (MAUP)

Question: I have data aggregated to postal codes for cities in Germany. Is there anyway to aggregate this data to city districts (which look very different from postal codes spatially) in ArcGIS? It is really important for my project because I have managed to obtain some crucial data on the postal scale whereas all my research is based on the district scale.
Comment: Why do you have MAUP in your summary? There does not appear to be a component regarding MAUP issues or solutions in your question. The process of aggregating data between different scales/levels is not referred to as MAUP,. The MAUP relates to the statistical issues that arise as a function of aggregating data through space, time or both.
Answer: To do this I would start with the Union tool to perform a polygon overlay of your postal code and city districts boundary.
You then know the amount of overlap between each postal code and its city district(s) and if you assume that whatever you want to re-aggregate is dispersed evenly then you can add that to that or those city district(s).


Distributed Algorithm Problem

Question: Consider a t-resilient read-write shared memory system (0 < t < N) with initial failures only: faulty processes take no steps. How could one give a consensus algorithm in this system? I don't understand why the proof of the consensus impossibility doesn't work in this case?
Answer: There are two questions here. Let me start with the second: "I don't understand why the proof of the consensus impossibility doesn't work in this case?".
First, I do not know what proof you are talking about. I suppose you are referring to a proof that consensus is not solvable in a t-resilient SWMR system when $0<t<N$.
If $t<N-1$, the easiest way I know to prove this fact it to reduce t-resilient SWMR consensus to $(N-1)$-resilient consensus (i.e. wait-free consensus). This is done via the BG Simulation, which allows $t+1$ wait-free processors in a SWMR system to simulate a t-resilient SWMR system. The BG simulation does not work if failures are initial. Thus this is where the proof fails when $0<t<N-1$.
Now, let us consider $t=N-1$. In this case, one way to prove the impossibility of consensus is to use the critical-state argument. Let me explain why the critical-state argument does not apply if failures are initial only.
The key is that, in a wait-free SWMR algorithm, there are only finitely many executions given a fixed number of processors (this is a consequence of Koenig's lemma: infinite executions are not allowed and the execution tree is finitely branching, thus the execution tree is finite). In consequence, the set of continuations of an execution prefix is finite, and thus by repeatedly increasing the length of the prefix (and thus ruling out more and more continuations) we eventually arrive at a point at which all remaining continuation have the same consensus outcome. By removing one step from this prefix we have our critical state (assuming that the outcome was not predetermined by the inputs).
If we now assume that failures are initial only, we have to allow busy loops in which a processor reads until it sees a particular processor that it saw before, or otherwise we cannot take  advantage of the fact that failures are initial only. Thus, for any n, we have executions that exceed length n (e.g. when a processors polls n times when busy-waiting for another). Thus we now have infinitely many executions, and the reasoning used above to justify the critical-state argument does not apply anymore.
Now, let me answer your first question: "How could one give a consensus algorithm in this system?"
One way to do it is to use a "doorway": take a MWMR register initialized to 0, called the doorway register, and have all processors (a) announce their participation, then (b) read the doorway register, then (c) close the doorway by setting the doorway register to 1, and then (d) announce whether they successfully entered the doorway (i.e. whether they read 0). Finally, a processor (e) takes a snapshot, (f) waits for all processors it sees are participating to announce whether they successfully entered the doorway (using a read loop), and (g) outputs the value of the processor that has the max identifier among those who entered the doorway (any other deterministic function can be used instead of max).

Distributed Algorithm Problem