How do you change the default font of GIMP in Windows?

Question: How do you change the default font used in GIMP 2.8 on Windows 7?
The default font seems to be Sans Bold (which is used in a lot of applications that originated from Linux). I am not referring to the Text tool, but the font used by the UI.
Any help?
Answer: If you only want to change the menu fonts, you could try editing the gtkrc file (Edit > Preferences > Themes). There should be an entry called "font_name".
But, if you want to go beyond that, you could try the GTK+ for Windows Runtime Environment Installer. I haven't used it so I'm not sure how exactly you'd do it, but they state that:

This installer contains the GTK+ dlls with everything they depend on.
  Theme and theme-engine packages can also be found here, along with an
  utility to change GTK+ preferences.

And from the GTK website:

GTK+, or the GIMP Toolkit, is a multi-platform toolkit for creating
  graphical user interfaces. Offering a complete set of widgets, GTK+ is
  suitable for projects ranging from small one-off tools to complete
  application suites.

This thread on Gimptalk has some more ideas :)
Answer: This is a big problem.  There are literally 15 different gtkrc files on my Win10 system on a fresh install.  The current GIMP Preferences panel, Edit->Preferences->Interface->Theme, which presumably invokes the incorporated theme-engine package Preference Tool, lets you switch themes but DOES NOT LET YOU SET THE UI FONT SIZE.  The old "GTK+ for Windows Runtime Environment" has been abandoned, and the gtk2_prefs tool is now dead in the water stuck with a 32-bit build from 2012.  GimpTalk.com is also dead.  No one has fixed this show-stopper for 8 years?!??
So what to do?  As of 2020, inside file
C:\Program Files\GIMP 2\share\gimp\2.0\themes\System\gtkrc
search for lines
# Uncommenting this line allows to set a different font for GIMP.
#
# font_name = "sans 10"

take out the hash mark, and change it to
font_name = "sans 15"

then restart your GIMP.
Simply reloading the preference changes the prompts but doesn't seem to change the menu sizes.
sheesh.
Comment: Could you just be more explicit: I am on Windows 10 with Gimp 2.10.18. I found this file. I Opened it with Notepad. I found this line. I deleted the `#` and space before `font` using backspace. I changed the font-size number. I attempted *File→Save* but was refused and told to contact the administrator – despite being logged in as Administrator. — Can you provide slightly more basic-level instruction, please?
Comment: @AlastairS: I am no Windows expert, but that sounds like a basic permission problem unrelated to GIMP. It would probably make a good question for [su]. (If you get a helpful answer there, feel free to edit a link into this answer for reference.)
Comment: ... thanks, I can't afford to delete my older font set, so I used TextEdit on MacOsX to remove the # comment code and change the font to another typeface in the gtkrc file, had to experiment to see which font name would work but managed to get it to work. font_name = "sans 10" changed to font_name = "Avenir 14" (old eyes)
Answer: Once in the C:\Program Files\GIMP 2\share\gimp\2.0\themes\System\gtkrc folder, right click the gtkrc icon, select properties, then select the security tab. Select 'Users' under the 'Group and usernames' tab. Click 'Edit' In the 'Permissions for gtkrc' window, click 'Users' then click the 'Allow' box next to 'Full control'. Click 'Apply'.
This let me save the file without any permissioning complaints. Unfortunately, after making the changes specified in this article and saving this file, there was no change to the font size in the GIMP menus.
Answer: I'm using Gimp 2.10.20 on Windows 10. I changed the font+size using the method mentioned here.
Steps:

Open Notepad
Paste the following:

style "win32-font" {
  font_name = "tahoma 12"
}
class "*" style "win32-font"

Save file named .gtkrc-2.0 in folder C:\Users\<User Name>
Restart Gimp

IMPORTANT : While saving (Step 3), change the 'Save As Type: ' from Text Document (*.txt) to All Files(*.*).
Comment: gtkrc method doesnot work in Windows 10 with Gimp 2.99. Themes there are defined with CSS.
Comment: 2.99 (preparation for GIMP 3) uses different gtk version (GTK3). So this may not work for it. It's also a development release, So I haven't tried it on windows yet.


Rotation of earth and helicopter

Question: If in a helicopter, you have an altitude and you maintain that altitude without any motion will you revolve around earth in 24 hours due to coriolis effect as helicopter unlike airplanes is not affected by wind speeds when it is stationary in air?
Comment: What do you mean by "stationary in air"? Does that mean airspeed is zero? Does that mean groundspeed is zero? If airspeed is zero, you move with winds. If the groundspeed is zero, you won't go around Earth, obviously. I can't think of any other definition that a respectable pilot would call "stationary in air"
Comment: Related: http://physics.stackexchange.com/q/58154/2451 and links therein.
Answer: No, because you forgot to take into account the W-->E motion the helicopter had upon takeoff. What matters (ignoring winds and such) is the relative linear speed and the altitude.  Calculate the circumference at the ground, compare with the circumference at altitude, and you'll see that since both the Earth and the helo have the same linear W-->E speed that you'll basically travel the difference in the two circumferences.
Answer: The coriolis effect only applies to objects in relative motion -- specifically, motion that changes the distance from the rotational axis (of the earth in this case). A hovering helicopter cannot feel this force. You seem to be confusing the coriolis effect with wind: the coriolis effect is the consequence of us pretending the earth is not rotating: under this assumption, we interpret the effect of rotation of the coordinate system that we pretend to be stationary, as extra forces (coriolis and centrifugal).
However, the wind itself is influenced by the coriolis forces so the winds felt by the helicopter are indirectly connected to the rotation of the earth (just look at the rotation of the cyclones).
A minor side remark: the rotor itself does spin, so there are systemic torques acting on it due to rotation of the earth. This would (in ideal conditions - a spinning top suspended in perfect vacuum) lead to precession.
Comment: Not entirely true: the Coriolus effect depends on the total time a (ballistic) object is airborne. The object's W-->E speed is set at launch time, and the total offset depends on the  total time before falling to ground.  The difficulty with a real-world helicopter is in avoiding any horizontal acceleration.
Comment: Well if it hovers (no vertical or horizontal motion with respect to the ground), there is no velocity in the local coordinate frame. If there is no falling and no W->E motion, there is no Coriolis force. So if the air is not moving with respect to the earth (no wind) and you started stationary, you will remain stationary (OP says maintaining the altitude). However, as you said, upon takeof, things are different.
Comment: True, since "without any motion" is an ambiguous phrase.

Rotation of earth and helicopter


(Euclideanized) QFT on $S^d$ vs $S^{d-1}\times S^1$

Question:
Broadly I would like to understand what is the difference in the physical interpretation of a (Euclideanized) QFT which is on space-time $S^d$ and which is on a space-time $S^{d-1}\times S^1$.
In the later case I am comfortable thinking of it as being a theory actually on a Lorentzian space-time where the spatial manifold is $S^{d-1}$ but the theory is heated to a temperature equal to the circumference of the $S^1$ factor. But for the first case what is the interpretation?

Specifically consider the action of a conformally coupled Euclidean scalar on $S^d$ space-time as, $S = \frac{1}{2} \int_{S^d} d^dx \sqrt{G} \left [ (\nabla \phi )^2 + \frac{d-2 }{4(d-1) }R \phi^2 \right ]$. (where $R$ on $S_d$ is $\frac{d(d-1) }{a^2 }$)
Knowing this is it obvious as to how to write down the action for the same conformally coupled scalar theory on a spatial $S^{d-1}$ at a finite temperature?
Answer: The analytic continuation of $S^d$ is de Sitter space, often denoted as $dS_d$. Euclidean QFT on $S^d$ then corresponds to Lorentzian QFT on $dS_d$. This can be seen a number of ways, but the quickest is to simply note that the sphere is the maximally symmetric Euclidean signature space with positive curvature, and de Sitter is the maximally symmetric Lorentzian signature space with positive curvature. For a rather famous paper which goes into both the continuation and de Sitter QFT in detail, see http://journals.aps.org/prd/abstract/10.1103/PhysRevD.32.3136.
Just a few additional comments: Euclidean QFT on $S^{d-1}\times S^1$ can be continued to Lorentzian QFT on $S^{d-1}$ at finite temperature, or it could be continued to be Lorentzian QFT on $dS_{d-1} \times S^1$, depending on how the continuation is done. Also, the action for a conformally coupled scalar does not depend on the spacetime when written covariantly as you wrote it above--therefore the formula you have is general and applies to any background manifold.


I am looking for a 2X extender for a Canon 100mm EF 2.8 (non L series)

Question: I have a Canon 100mm EF 2.8 Macro lens (not an L series) for my 70D.  I want a 2x extender, but am not sure what to get that will fit and work.  I have not seen a 2x for a non L lens.
Comment: I would typically consider a "2x extender" to be a teleconverter, however you've used the tag for extension tubes, which is something different. Can you clarify what you want and/or your intended use/goal?
Comment: @Mary Anne Wilmouth - What do you wish to photograph with a 2x extender plus your 100mm f/2.8 lens?
Comment: Are you looking to use the extender (teleconverter) to increase macro magnification, or to use the lens as a 200mm telephoto at normal focus distances?
Comment: Canon refers to their teleconverters as "Extenders".
Answer: Canon's own teleconverters (which they for some perverse reason call "extenders") will only fit a limited number of long L lenses, as the teleconverter has a protrusion in front which has to fit into a similar recess at the rear end of the lens. This means that you can't use a Canon teleconverter on the Canon macro.
The good news is that there are third-party extenders that you can use. Not the Sigma ones as they have a protruding bit just like the Canon, but the Tamron/Kenko/Whatever (basically one and the same product, rebranded) are flat at both ends and will work.
(The usual caveats apply as to whether it is actually a good idea to hang a 2x converter on a given lens. But it will work. You will get 200mm f/5.6 lens-converter combination, probably best used at f/8-f/11 to regain some of the sharpness and contrast lost to the teleconverter.)
Comment: You'll also increase the maximum magnification by 2x, which can be handy for a macro lens. If the use case is just to gain reach then the same money would be better spent on a longer lens.


python exception  No module named gdb:

Question: I've just compiled gdb 7.8 from source in my home directory on a server machine running linux. I had previously been using gdb 7.6, and aside from stability issues with gdb itself (the reason for the upgrade) everything worked fine.
Since the upgrade of gdb, when I run cgdb 0.6.7 I immediately get the following message:

Python Exception <type 'exceptions.ImportError'> No module named gdb:

warning:
Could not load the Python gdb module from `/home/username/bin/gdb//python'.
Limited Python support is available from the _gdb module.
Suggest passing --data-directory=/path/to/gdb/data-directory.

When I built gdb, I used ./configure --with-python.
When I run cgdb and my program reaches a segfault, I type backtrace and get the following message:

Python Exception  No module named gdb.frames:

So it seems like I am effectively unable to use gdb/cgdb without python support. What can I do to resolve this?
FWIW; I don't use python, I usually write c++.
Answer: You should specify the value of "--data-directory". For example, if you load gdb from the build directory, the command should be:
./gdb -data-directory ./data-directory

Then gdb can know where to find python module.
You can refer this discussion.
Comment: I don't have a `data-directory` in the folder where the `gdb` binary is, so doing this results in the same error.
Comment: If you no longer have the source tree with `data-directory` in it, you can try `/path/to/your/gdb --data-directory=/usr/share/gdb` (or wherever your distro puts it).
Comment: Even more useful : what config file can I put this path in, so I can forget about this problem?
Comment: @Arman: I think you should specify the `-data-directory` value as the build folder for gdb.
Comment: If you build GDB from source then the data-directory is copied to the build/gdb folder.
Answer: root@labs:~/gdb-8.1# gdb --version
Python Exception <type 'exceptions.ImportError'> No module named gdb:
gdb: warning:
Could not load the Python gdb module from `/usr/local/share/gdb/python'.
Limited Python support is available from the _gdb module.
Suggest passing --data-directory=/path/to/gdb/data-directory.
....

Try to cp python lib to --data-directory=/path/to/gdb/data-directory. My data directory is /usr/local/share/gdb/python,
# mkdir -p /usr/local/share/gdb/python/gdb
# cp -rf ~/gdb-8.1/gdb/python/lib/gdb/* /usr/local/share/gdb/python/gdb/

# gdb --version
GNU gdb (GDB) 8.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".

Answer: I just ran into this and wanted to share what I found. During compilation, specifically the 'make install' step, I noticed this message:
WARNING: `makeinfo' is missing on your system.  You should only need it if
         you modified a `.texi' or `.texinfo' file, or any other file
         indirectly affecting the aspect of the manual.  The spurious
         call might also be the consequence of using a buggy `make' (AIX,
         DU, IRIX).  You might want to install the `Texinfo' package or
         the `GNU make' package.  Grab either from any GNU archive site.

It sounds as if it's OK that I don't have makeinfo, but in fact it led to the error that the OP asked about. After installing texinfo I then reran make install and ran gdb with no python error message.
Answer: just to complete the above responses:
Probably you have copied the executable gdb to /usr/local/bin (which is my way to prioritize the lastest gdb that I installed as default shell gdb, while preventing messing up with the default Ubuntu's gdb). Then you should consider that you must give the data-directory parameter from the original place to the one that you have copied in /usr/local/bin. So that would be:
/usr/local/bin/gdb --data-directory=/path_to_fully_installed_gdb_folder/data-directory

PS: I did this for gdb-8.1 on Ubuntu 16.04

python exception  No module named gdb:


When does a monowhip count as a whip?

Question: So I am running a Steelbound fighter in an Iron Gods campaign who has chosen whips. Assuming I get a monowhip, what, if anything, can I use for the monowhip?  Can I use it as my bonded weapon and/or use the whip specific feats (weapon focus, serpent lash, and others)?
Answer: It counts as a whip when it is activated
From the weapon's description:

A monowhip is a deadly melee weapon capable of inflicting horrible wounds, even in the hands of the weak. An inactive monowhip looks like a short metal baton, but when it's activated, a small weight detaches, revealing a 15-foot-long monofilament length. Wielded like a whip, a monowhip slices deeply into targets and can inflict grievous critical hits with shocking ease. Attacks made with a monowhip resolve as touch attacks, and they ignore hardness as if the monofilament were made of adamantine. A monowhip's damage cannot be enhanced by strength, as the monofilament slices with equal ease regardless of the force applied. Activating a monowhip is a move action; once activated, the whip consumes power incredibly quickly, at the rate of 1 charge per round.

Basically, for all purposes, an activated monowhip counts as a whip, for as long as it has charges left.
As for the Steelbound fighter archetype, you need a bit of GM Fiat there. It counts as a whip when it's activated, for all purposes. Otherwise, it's a metal baton and not a whip, which is not a valid target for Steelbound Awakening. It's up to the GM to decide if it can be a bonded weapon or not in that situation.
Personally, unless the player is able to find a way to supply it with power indefinitely (which is possible), I would say it's not a valid target for that ability.
For instance, we know that you can install a Power Generator in a technological weapon. Those generators yield a certain number of charges per hour, which can be used to supply any technological gear. Considering that a Fission Reactor Generator can supply 1000 charges per hour, and we have 600 rounds of combat per hour, you could use one of those to keep your Monowhip supplied with energy 24/7. Then, I would consider it a valid target to become an intelligent weapon.
Comment: I think I understand your conclusion with the steelbound archetype, but i do have one concern about it, your claim that the monowhip is a metal baton when not active. My concern is the wording states that it looks like a baton, and when activated it reveals the whip aspects.  I assume that is something you already took into consideration when writing this. I just have concerns about how that line of thinking affects other weapons that don't look like weapons until used.
Comment: I suppose there is another possible issue.  If i had picked, for some awful reason, a monowhip as my bonded weapon, would I need to keep it active 24/7 to bond with it or is that only because it only counts as a whip when wielding it?  If i can't bond with it even choosing monowhip because it needs to be active, does that mean i cannot bond with a gun or bow unless they are ready to fire 24/7?
Comment: @shuffy if your weapon of choice at first level, from *Weapon Focus*, was "steel baton", then sure, it could be your bonded weapon while not activated. But ultimately, this all seems like *GM Fiat* to me.
Comment: So if I picked "monowhip" I could only bond with the monowhip if it was active 24/7? I would need to pick "steel baton" to bond with an inactive monowhip? That doesn't seem right to me.  It seems like that would mean an unloaded gun isn't a gun, or a magic staff is only a magic staff when you are casting a spell from it.
Comment: Sounds like a good time to consult your GM.
Comment: i already have an answer from my gm, from before i even asked the question.  i felt that it was a question that should atleast be asked on here though.
Answer: A monowhip counts as a whip as a weapon
According to the general rule of technological weapons:

If an existing weapon proficiency allows the new weapon's use, that weapon proficiency is listed in parentheses.

The monowhip entry has Proficiency exotic (whip) listed, so it is considered a whip whenever a whip is needed as a weapon. So most feats and class abilities will consider a monowhip a whip.
Depending on your GM a monowhip might not be able to be used for more utility things, such as grabbing small items. This is not because it isn't a whip, but because:

A monowhip's damage cannot be enhanced by strength, as the monofilament slices with equal ease regardless of the force applied.

As a result you will probably still want to keep a non-monowhip around.

When does a monowhip count as a whip?


What is the number of 5 digit numbers divisible by 3?

Question: What is the number of $5$ digit numbers divisible by $3$ using the digits
$0,1,2,3,4,6,7$ and repetition is not allowed?
Comment: Hint: the sum of the digits must be divisible by 3.
Comment: Can the first digit be $0$?
Answer: I mostly agree with the previous answer. You can add up all seven numbers in that set which is equal $23$. For a five digit number to be divisible by $3$ the sum of its digits has to be a multiple of three.
So we have to find all possible combinations of $5$ digit numbers that when all digits are added equals a multiple of $3$.
The sum of the $7$ numbers equals $23$ and we have to subtract $23$ by two numbers from the set to get the sum of five numbers. $23 - a - b$
Where $a+b$ has to equal a multiple of $3 +2$. e.g. $3n+2$. So like $5$ or $8$. Because $23 - (3n+2) = 21 - 3n$ which is divisible by $3$ meaning the five digit number is divisible by $3$.
So we find all possible pairs that equals a multiple of $3 + 2$
$(0,2)  (1,4)  (1,7)  (2,3)  (2,6)  (4,7)$
Which is similar to the previous answer except there are more pairs. There are $5!$ or 120 ways to order $5$ digits so the answer is $6×120=720$
This is true assuming that $02367$ is considered to be a $5$ digit number. It might not be considered a $5$ digit number since it starts with zero. Otherwise the answer would be $720 - 5×4! = 600$
Answer: If I'm not mistaken, the only ways $5$ of these digits can add up to a multiple of $3$ are:
$01236, 02367, 01467, 13467, 02346, 01347$
$5$ of these include a $0$. In which case, there are only $5!-4!$ ways to arrange these digits, since we cannot have the number start with a $0$. Otherwise it would be a $4$-digit number. In the case where there is no $0$, there are $5!$ ways to arrange its digits. All together,
$$5(5!-4!)+5!=600$$
Comment: I got to my answer through trial and error. The others have better methods for the general case.
Answer: the rule of three says that a number is divisible by three the sum of the digits is divisible by three.  SO if one five digit number is divisible by three then any arrangement of its digits is divisible by three.
So it's a matter of finding the ways of picking $5$ out of $7$ numbers that add to a multiple of $3$ and multiplying by the number of ways we can arrange $5$ digits.
If $0$ is among the $5$ the number can't start with $0$ so there are four choice for the fist digit and $4!$ for the rest so $4*4!$ total.  If $0$ is not among the $5$ there are $5!$ ways or arranging them.
Picking $5$ numbers that add to a multiple of three is a matter of picking the $2$ that we don't need.  $0+1+2 +3+4+6+7= 23\equiv 2 \mod 3$ so this is matter of picking two numbers that add to $2 \mod 3$ (so the remaining $5$ will add to $0 \mod 3$.  That is to say, $2$ that add to $2,5, 8,$ or $11$.
So those pairs are $(0,2),(1,4)(2,3),(1,7),(2,6),(4,7)$.
Of the sets of five remaining, $(1,3,4,6,7), (0,2,3,6,7), etc.$ only one has no $0$; $(1,3,4,6,7)$ and $5!$ ways to arrange them.  The remaining $5$ have $0$s and so $4*4!$ ways to arange them.  So there are $5*(4*4!) + 5! = 4*5! +5! = 5*5! = 5*120 = 600$ possible numbers.


BIND9 as DNS server unable to fallback not defined directions to public DNS

Question: The Setup
I have a containerized named service which is given their own IP with the following container file
FROM alpine:latest
RUN apk --no-cache add bind bind-tools bind-dnssec-tools bind-dnssec-root

COPY --chmod=500 --chown=root:root init.sh /usr/sbin/init

COPY --chmod=444 --chown=root:root bindetc/named.conf /etc/bind/named.conf

RUN chmod 770 /var/bind
RUN chown root:named /var/bind

COPY --chmod=440 --chown=root:named bindetc/direct.db /var/bind/direct.db
COPY --chmod=440 --chown=root:named bindetc/reverse.db /var/bind/reverse.db

VOLUME "/var/bind"
EXPOSE 53/tcp 53/udp
CMD /usr/sbin/named -f -g -u named

I have a mix of an authority server and an recursive one with the following configuration
bindetec/named.conf
acl LAN {
  192.168.0.0/24;
}

options {
  directory "/var/bind";

  allow-recursion {
    192.168.0.0/24;
    127.0.0.1/32; // localhost
  };

  forwarders {
    220.127.116.11; // Cloudflare
    188.8.131.52; // OpenDNS
  };

  listen-on { 192.168.0.136; 127.0.0.1; };
  listen-on-v6 { none; };

  allow-transfer port 53 { 192.168.0.136; 0.0.0.0; };
  allow-query { localhost; LAN; };

  recursion yes;

  pid-file "/var/run/named/named.pid";
  dump-file "/var/bind/data/cache_dump.db";
  statistics-file "/var/bind/data/named_stats.txt";
  memstatistics-file "/var/bind/data/named_mem_stats.txt";
};

zone "." IN {
  type master;
  file "/var/bind/direct.db";
  allow-update { none; };
};

zone "in-addr.arpa" IN {
  type master;
  file "/var/bind/reverse.db";
  allow-update { none; };
};

With the the following bindetc/direct.db:
$TTL 3600
$ORIGIN intranet.domain.
@ IN SOA ns1.intranet.domain. postmaster.intranet.domain. (909090 9000 900 604800 1800)

@ IN NS ns1.intranet.domain.

ns1    IN A 192.168.0.136

and the following bindetc/reverse.db:
$TTL 604800
@ IN SOA ns1.intranet.domain. postmaster.intranet.domain. (909090 9000 900 604800 1800)

@   IN NS ns1.intranet.domain.

126.96.36.199   IN PTR ns1.intranet.domain.

The IP of the container is 192.168.0.136.
The problem
When trying to resolve any public dns record like for example google.com it gives basically and empty response like the following instead of asking Cloudflare or OpenDNS what is the IP of such DNS record.

; <<>> DiG 9.16.44 <<>> google.com @192.168.0.136
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 27326
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: 1f5514b62f24a19b0100000065ed3501a3ae047abe73afef (good)
;; QUESTION SECTION:
;google.com.            IN  A

;; Query time: 48 msec
;; SERVER: 192.168.0.136#53(192.168.0.136)
;; WHEN: Sat Mar 09 22:20:17 CST 2024
;; MSG SIZE  rcvd: 67

Answer: The dig command indicates your BIND is responding with a SERVFAIL error code, so it probably thinks your configuration has a fatal error. You really should see what log messages BIND is producing.
Your zone declaration zone "." IN specifies your BIND is type master for the DNS root zone, so effectively you're telling BIND that it already knows all the top level domains in existence. So why should it ask someone else about "google.com" when it already knows there is no such top-level domain as ".com"?
Unless you really want to declare a separate DNS universe for yourself, or are actually maintaining a root nameserver, you should never configure your nameserver as a master of zone ".".
A more normal declaration for the root zone might be:
// prime the server with knowledge of the root servers
zone "." {
        type hint;
        file "/usr/share/dns/root.hints";
};

where /usr/share/dns/root.hints is a standard list of root DNS servers, available at https://www.internic.net/domain/named.cache . At startup, BIND will use this list to contact one of the root name servers, to get an absolutely up-to-date version of the same list.
Because you are planning to use forwarders, you can also omit it entirely: BIND will use its built-in list of root DNS servers if you don't specify it. The zone "." of type hint is just a way to replace the built-in list if it becomes out of date.
Since your BIND should send queries for any zones it isn't authoritative for to the forwarders, you shouldn't need to care whether BIND has an up-to-date list of root nameservers or not.
If you don't want your BIND to start attempting to contact other nameservers on its own if the forwarders are not responding, you may want to add the line forward only; to the options{ ... }; segment of your configuration.
You should declare your intranet.domain forward zone as:
zone "intranet.domain" IN {
  type master;
  file "/var/bind/direct.db";
  allow-update { none; };
};

Since you have allow-query { localhost; LAN; };, you probably should have an acl LAN { ... }; block somewhere, too.


Does a black hole really slow down time?

Question: When an object gets pulled into a black hole it seems to slow and stop, but could it be possibly be because the speed of light that hit the object and came back was slowing down as the object got closer and not that time was messed up?
Comment: Time is that which the clock shows. You think a clock gets messed up in a black hole? :-)
Comment: Isaac In other words, on the boundary of a black hole not only the speed of the light is zero, but the speed of the attracted matter is it too?
Comment: Say we saw a clock fall into a blackhole, it would seem to speed up as it got closer, but to the clock it is normal, however it might be possible the light hitting the clock and bouncing off then returning to us has slowed down, Making it seem time is going faster for the clock when really the light particles have slowed down.
Answer: "Does a black hole really slow down time?"
No. Gravitational time dilation is an absurd concept. General relativity predicts that gravitational time dilation occurs even in a HOMOGENEOUS gravitational field ("the homogeneous gravitational field is the gravitational field which, in every point, has the same gradient of the potential. Such a field is produced by an infinite material plane with the constant surface density of mass"). That is, two clocks at different heights are in EXACTLY THE SAME immediate environment (experience EXACTLY THE SAME gravitational field) and yet one of them ticks faster than the other. Absurd isn't it? Effect (difference in the ticking rate) without any physical cause.
Photons accelerate in a gravitational field, just as ordinary falling objects do, and this variation of the speed of light causes the gravitational redshift (or blueshift):
http://courses.physics.illinois.edu/phys419/sp2013/Lectures/l13.pdf
 University of Illinois at Urbana-Champaign: "Consider a falling object. ITS SPEED INCREASES AS IT IS FALLING. Hence, if we were to associate a frequency with that object the frequency should increase accordingly as it falls to earth. Because of the equivalence between gravitational and inertial mass, WE SHOULD OBSERVE THE SAME EFFECT FOR LIGHT. So lets shine a light beam from the top of a very tall building. If we can measure the frequency shift as the light beam descends the building, we should be able to discern how gravity affects a falling light beam. This was done by Pound and Rebka in 1960. They shone a light from the top of the Jefferson tower at Harvard and measured the frequency shift. The frequency shift was tiny but in agreement with the theoretical prediction."
http://www.einstein-online.info/spotlights/redshift_white_dwarfs
 Albert Einstein Institute: "One of the three classical tests for general relativity is the gravitational redshift of light or other forms of electromagnetic radiation. However, in contrast to the other two tests - the gravitational deflection of light and the relativistic perihelion shift -, you do not need general relativity to derive the correct prediction for the gravitational redshift. A combination of Newtonian gravity, a particle theory of light, and the weak equivalence principle (gravitating mass equals inertial mass) suffices. (...) The gravitational redshift was first measured on earth in 1960-65 by Pound, Rebka, and Snider at Harvard University..."
Comment: If gravitational time dilation is absurd, and light speeds up as it falls, we should measure a variable speed of light and *not* a blue shift, which is exactly backwards of the observations. Explain that one.
Comment: "we should measure a variable speed of light and not a blue shift".  The blue shift is a measure of the increase in the speed of light - see the two quotations.
Comment: It's a measure of the change in frequency, which effects the color. But to measure the frequency we must know the speed and wavelength: so which does gravity change - speed, frequency, or wavelength? And if it changes more than one at a time, how?
Comment: "But to measure the frequency we must know the speed and wavelength". No the frequency shift is measured without knowing speed or wavelength, but then we have two hypotheses: 1. The frequency shift is due to a speed change; 2. The frequency shift is due to a wavelength change. The former hypothesis is the correct one (in my view).
Comment: Let me rephrase: the frequency has no *meaning* unless we know the speed or wavelength. Nevertheless, "your view" that the speed changes is not experimentally verified. The frequency change is due to a gain of energy of the photon, just like the changing speed of a falling object is due to a changing energy. Falling massive objects gain velocity, falling light has a constant velocity but "gains" frequency. This is what experiment in the real world shows.


Printing the value of QUrl in gdb

Question: I want to look up the value of QUrl type. QUrl has a toString method which returns a QString.Using something like this should have produced desired results
<code>printq4string urlvar.toString()
</code>
How to do you print the value of QString in gdb ?
Answer: There are GDB pretty printers for Qt types: http://nikosams.blogspot.ru/2009/10/gdb-qt-pretty-printers.html

Printing the value of QUrl in gdb


Selecting the correct ILI9341 Drive Mode for STM32F407 using FSMC

Question: I have selected the STM32F405 for my next project. With this controller, I am planning to drive a 240x320-TFT with an ILI9341 display controller by using the STM32's internal FSMC interface.
I have not decided exactly which display I am going to take but I have chosen two almost identical TFTs with ILI9341 for the selection that only differ in terms of FPC pinout.
The FSMC interface of the microcontroller can either drive displays in 8-bit or 16-bit mode. In terms of display speed, I would like to adhere to 16bit mode.
So, I have been looking at the different drive modes of the ILI9341 and have found out that there are 15 modes, which can be selected through IM0-IM3 (page 27).
Datasheet: https://cdn-shop.adafruit.com/datasheets/ILI9341.pdf
However, I am currently in the process of designing the schematics and I am not sure which 8080-mode I have to select.
What is the difference between 8080-I 16bit and 8080-II 16bit (p.70-75)? I have looked at the diagrams and have found that different channels of the datachannels D[17:0] are used. But I can not imagine that this is the only difference. Can anyone tell me or recommend the appropritae mode that complies with the STM32's FSMC interface? As I am not using the STM32F427/37 direct TFT-driving is not relevant in this case.
Answer: Look at the table on page 26. The difference is in the pin allocations on the 18-bit data bus. In 8, 9 and 16 bit interface mode, there are more data bus pins than required, and the two modes select which pins are left unused. In 8080-I mode, the data is aligned to the least significant bit of the bus and the most significant bits are left unused, while in 8080-II mode the data is aligned to the most significant bit, and the least significant bits are unused.


Can item despawn rate be changed in minecraft?

Question: I'm running a minecraft 1.8.8 server using craftbukkit. I've read about a config option to change the item despawn rate after death. how is this done if possible or is there a plugin that i can download?
Answer: I don't know if you can do it with a plugin but it is possible with command blocks.
Basic concept: Set the age to the desired amount for newly dropped items
Setup:
/scoreboard objectives add newItem dummy

Loop:
/entitydata @e[type=Item,score_newItem_min=!1] {Age:<Despawn Rate>}
/scoreboard players set @e[type=Item] dummy 1

Replace <Despawn Rate> with 6000 - Life length of item in terms of ticks.
Answer: Spigot, which is effectively a follower for CraftBukkit and compatible with the same plugins (and more of its own), has item-despawn-rate configuration option.
Comment: As a side-note, [Paper](https://paper.readthedocs.io/en/paper-1.11/) (AKA PaperSpigot) is a high-performance fork of Spigot with more performance-oriented configuration options.


What does the "mass" of a box plot mean?

Question:
By "mass" I mean the size of the two subretangles that make up the box in a standard box plot. I thought the mass quantified the observations below and above the median but if it did so every box plot would always be symmetric, because 50% of the observations would fall below and above the median. If so, then the mass would be the same below and above the median line.
Comment: The width of the box in a standard boxplot contains no information. The lengths of the box-halves don't represent counts or proportions of observations.
Comment: good, you both killed it
Answer: The box represents the range from the first to the third quartile, so it only covers about 50% of the values. As such, the median bar does not need to reside in the middle.
Comment: You and @Glen_b killed my 2 yo question.
Answer: A typical box plot has seven regions.
At the lowest end, (1) in my image, are the low "outliers". A standard way to determine these if by considering the points that are 1.5 interquartile ranges below the first quartile (25% point).
Next, (2) is the lowest point that is not an "outlier".
Next, (3) is the first quartile point. This is the point at which 25% of the data are accounted for.
Next, (4) is the median, the point at which half of the data are accounted for. This could be considered the second quartile, though I do not hear that term used.
Next, (5) is the third quartile point. This is the point at which 75% of the data are accounted for.
Next, (6) is the highest point that is not an "outlier".
Finally, (7) is the region of the high "outliers", often the points that are 1.5 interquartile ranges above the third quartile.

<code>set.seed(2021)
x <- rt(1000, 4.1)
boxplot(x)
</code>
While half of the observations are below the median and half above (sort of...there is not just one way to calculate median, and you could have an even number of points), that gives no sense of the scale. For instance, consider the set $(1,2,3,4,5,98, 99)$. Half of the points are above $4$ and half below, but the points above tend to be much further from $4$ than the points below.


Stop Editing vs Save and Close

Question: When in EDIT PAGE mode in SP2013, how do I get the full complement of "Save & Close", "Save and Keep Editing", and "Stop Editing" to show up in my "Save and Close" drop down off the toolbar?  Currently I have only 'Stop Editing' which basically removes any chance of CANCELing all my changes.
Answer: Does the "Save" button in the ribbon have a little triangle at the bottom, just under the text that says "Save"?  If so, you can click on this to get the different options.

Stop Editing vs Save and Close


What if people understand or interpret words differently in their mind?

Question: Let's think about it, we have all adopted to learn the meaning of words through experiences or emotions. We didn't learn each and every word from a dictionary. What if I understand a word slightly differently in my complex mind? Could it result in some sort of pessimistic or optimistic or abstract outcome? And how often is this case true in our society?
Comment: It's not even "if", it does happen from my experience ;) My esperience is that it results in a discussion\conflict\fight, where the parts will hopefully manage to figure out why they have different opinions. Then they will figure out that some word has different meanings to each of them, and suddenly they are agreed.
Comment: I am pretty sure that about 99% of what goes on in the mind we are not conscious of, let alone consciously shaping. Words are like the hair waving on the top of your head: not really indicative of much about the whole being. (but every hair is numbered) (Shhh! you'll ruin the story)
Answer: Quite certainly this is the case (even if you learn all words from a dictionary), but this is more of a philosophical debate. It is unclear what you are after when referring to 'pessimistic', 'optimistic', or 'abstract' outcomes, but I can point you in the right direction in case you want to read up more on this subject.
One concept that comes to mind from linguistics and philosophy of language is  indexicality.

... an indexical behavior or utterance points to (or indicates) some state
  of affairs. For example, I refers to whoever is speaking; now refers to the time at which that word is uttered; and here refers to the place of utterance.

However, some argue the same holds true for almost any utterance. (Suchman, 1986)

Among philosophers and linguists, the term indexicality typically is
  used to distinguish those classes of expressions whose meaning is
  conditional on the situation of their use in this way from those such
  as, for example, definite noun phrases whose meaning is claimed to be
  specifiable in objective, or context-independent terms. But the
  communicative significance of a linguistic expression is always dependent on the circumstances of its use. A formal statement not of
  what the language means in relation to any context, but of what the
  language-user means in relation to some particular context, requires a
  description of the context or situation of the utterance itself. And
  every utterance's situation comprises an indefinite range of possibly
  relevant features. Our practical solution to this theoretical problem
  is not to enumerate some subset of the relevant circumstances—we
  generally never mention our circumstances as such at all—but to "wave
  our hand" at the situation, as if we always included in our utterance
  an implicit ceteris paribus clause and closed with an implicit et
  cetera clause.

Suchman, L. (1986). Plans and situated actions. New York, Cambridge University.
Comment: @nocomprende Yes, in case by 'absolute' you imply 'the full meaning'. However, it is possible to elaborate on meaning to such a degree so that the likelihood of misunderstanding due to different interpretations becomes minimal. In addition, this implies one should always be aware of (and thus ready to discuss) potential differences in interpretation of the topics discussed.
Comment: So, we cannot say anything absolute, including this.
Comment: Thus, Religion.
Comment: Also related is within philosophy of science what is called the [Duhem-Quine thesis](https://en.wikipedia.org/wiki/Duhem%E2%80%93Quine_thesis): _"it is impossible to test a scientific hypothesis in isolation, because an empirical test of the hypothesis requires one or more background assumptions"_.
Comment: Thus, "Dependent Origination", "Dependent Co-arising", Nonduality, Monism, Quantum Mechanics and lots of other terms for the same thing (perhaps ironic). This is basically what Robert M. Pirsig was saying in his books.
Answer: Much of what we perceive cannot be expressed by language. It's unspeakable. As a consequence, differences in interpretation are very common, especially when it involves complex abstract concepts or highly subjective emotional experiences.
To quote Kim Krizan:

Creation seems to come out of imperfection. It seems to come out of a
  striving and a frustration. And this is where I think language came
  from.
I mean, it came from our desire to transcend our isolation and have
  some sort of connection with one another. And it had to be easy when
  it was just simple survival. Like, you know, "water." We came up with
  a sound for that. Or "Saber-toothed tiger right behind you." We came
  up with a sound for that.
But when it gets really interesting, I think, is when we use that same
  system of symbols to communicate all the abstract and intangible
  things that we're experiencing. What is, like, frustration? Or what is
  anger or love?
When I say "love," the sound comes out of my mouth and it hits the
  other person's ear, travels through this Byzantine conduit in their
  brain, you know, through their memories of love or lack of love, and
  they register what I'm saying and they say yes, they understand.
But how do I know they understand? Because words are inert. They're
  just symbols. They're dead, you know? And so much of our experience is
  intangible. So much of what we perceive cannot be expressed. It's
  unspeakable.
And yet, when we communicate with one another, and we feel
  that we've connected, and we think that we're understood, I think we
  have a feeling of almost spiritual communion. And that feeling might
  be transient, but I think it's what we live for.
Comment: +1 for 'unspeakable'. Interesting to think that "we live for" something that cannot be proven and is as likely as not to be wrong. But, most people don't speak about that.


Migrate files from OS 9 software and hardware to OS X

Question: I'm trying to migrate some files from my old PowerComputing PPC computer(SCSI) that ran OS 9.0.4 to my current MacBook Pro running OS X (default 10.9.4 but 10.6.8 avail via external disk). I've gotten most of the way there. Short version of my quest below in case it helps others, but have been hit by what appears to be a TCP/network configuration issue between the two networks.
Tried the obvious but they don't have compatible ports so no USB(new system but not old - thumb drive, external drive), no Firewire (new system but not old - External drive, target mode), SCSI(on old system but not new).
I found a path that has high potential though, Ethernet. I have an old Farallon adapter on the PPC system that takes the AAUI port and converts it to 10-base-T.

Had issues with the TCP/IP config on the old system. But went to the TCP/IP control panel to update connection to use DHCP instead of the old static values I had.
Hooked them both up to the same router and got the IP addresses. Tuned on file sharing via the Control Panel on OS9( and made sure I had a user with access and a password I knew)
Pinged to make sure there was connectivity
Tried to connect from OSX 10.9 to OS9 but failed with message about software being incompatible; Did some digging, and it turns out that Apple had removed some needed components.
I had an external drive that still had 10.6.8 so I tried that. Yeah - it connected
:-) (Use AFP - afp:// 192.168.0.7 in my case)
Started to copy some files. It got a little ways in and died and then disconnected the remote OS9 system.
it said that the data could not be read or written and gave error code - 36
If I go back and try it in smaller chances from where it died the copies work.
During my earlier searching I do remember seeing a post (which I can't find again) that talked about modifying some of the block sizes in the TCP config. Does anyone have any ideas of what they might be?

Thanks for any clues/pointers
Update- I'm getting closer. While it still does fail. I can do it smaller chunks when I hit an error. Since these are OLD SCSI drives the file size/count isn't as large as it would be on a new drive. So while not quick its not as bad as it could have been. I'm going to make one friend very happy. I found an archive of the very first website I had made for her years ago. Some drives are having issues are are saying I need to update the Drivers on it. Going to try everything else I can before I take what might be an irreversible action.
Comment: Possible alternative: pull the HDD out of the old machine and use something like [this](http://kingwin.com/products/cate/accessories/adapters/usi_2535.php). Not sure what interface the internal drive on the OS 9 machine is; if it's IDE or ATA, that would work fine.
Comment: I may do that as a last resort, but its multiple drives. One internal on the computer and a bunch externals that will be a pain to open just to see what lower level connector may be used. I don't want to disable the drive just to find out I can't connect to it. Plus it looks like some have issues and I may have to update the drivers on them
Answer: ftp.  osx hosts it, os9 goes in as client.
ever faithful, ever sturdy.


Material for knowing more about Cylinder Chess

Question: I love the usual way of playing chess, but I also like a lot Cylinder chess. Does anybody know a book, website or other way of learning more about it? Like maybe a strategy book about cylinder chess or a book about opening theory on it.
Answer: There exists several books presenting quickly various variant of chess, here is one example :
http://www.barnesandnoble.com/w/fairy-chess-books-llc/1103593111?ean=9781157372424
About learning strategy or opening theory, both of this concept require a lot of experience and games to be played. For instance in classical chess we had to wait centuries before such thing become available. A first step is to watch games played by the best players. A world championship and tournaments are organized by The Circular Chess Society :
http://www.circularchess.co.uk/
Also, it should be decent training to practice with exercises, many studies has been created with this variant of chess, here is one example :
http://www.mayhematics.com/v/cylin.htm


Hyper-V Root and SQL Server 2008

Question: I have a Server 2008 R2 server.  Is it a good idea to make this a Hyper-V root partition, and install SQL Server 2008?  What issues might I run in to?
Answer: Sure.
I typically have almost nothing running in the root of my hyper-V servers.  I like to make them as simple as possible.
I also have several SQL 2008 servers in child partitions.  Have to admit that the SQL servers are NOT overloaded...at all.  Would just be careful with how much you load up the SQL boxes.  Check out brent ozar's blog for some overview kind of links to SQL on Hyper-V.
http://www.brentozar.com/
Comment: At the end this is not a hyper-v problem. If yuo have a busy server then sharing the hardware just dont work - because most of the resources go to one machine anyway.The usual caveats apply - Sql Serer in higher usages wants carefully layed out disc setups, so a "typical" hyper-v server wont work (lots of ram, some cpu, shitty disc subsystem). The requirement to plan your IO budgets does not magically disappear for SQL Server just because you use it on a Hyper-V child.

Hyper-V Root and SQL Server 2008


How to run a script each time I login AND unlock session

Question: In Saucy salamander I need to run a script each time I login then each time I unlock the session after manual lock or auto sleep.
I can't use "Startup Application" for that because it wouldn't trigger on unlock.
Comment: Related question on Unix SE: https://unix.stackexchange.com/q/28181/4292
Answer: Found this, which was made by Ubuntu Forums user opus1.  Maybe it can help.

This is what the post gives as a solution:

For anyone interested, here's what I did: I looked at the logs
  (specifically /var/logs/auth.log) and saw that an entry is made when
  ever the password is checked and accepted. My log said:
Aug  7 14:10:57 mumble gnome-screensaver-dialog: gkr-pam: unlocked login keyring

Ultimately I found an application called "Swatch" which monitors a log
  for you and will run a script when a string that you specify appears
  in that log. Swatch requires a config file (.swatchrc), and mine looks
  like this:
watchfor /unlocked login keyring/
  exec /root/.gnome2/nautilus-scripts/wakeServer

where "/unlocked login keyring/" is the string to look for and "exec"
  defines the script to run when it is found. My wakeServer script looks
  like this:
#!/bin/bash

#wake the server
wakeonlan AA:BB:CC:DD:EE:FF

#record info in the log file
myVar="woke server at login:"
echo "$myVar">>/home/me/.serverWake.log
date>>/home/me/.serverWake.log

where "AA:BB:CC:DD:EE:FF" is the MAC address of my server.
Swatch will need to be entered as a start-up application (create an
  entry in System | Preferences | Startup applications called
  "runSwatch" and make the command "swatch --tail-file /var/log/auth.log
  --daemon". (In Debian, only root can read logs So the start up command needs to be prefaced with "sudo" and swatch will need to be added to
  the sudoers file without a password. In Ubuntu it appears non-root
  users can read logs. There could be a security issue with granting
  password-less access to swatch, but in my case it seems acceptable).
So far it has worked perfectly!
Comment: Thank you GabrielF. I now have to understand the commands after dbus-monitor...
Comment: The link doesn't use `dbus-monitor`. You found a different solution?
Comment: @GabrielF HAAAA thanks mate works like magic, this is exactly what I was looking for :D
Comment: /var/logs/auth.log does not exist on my Ubuntu 17.10 for some reason.  I dislike this answer because it requires installing a special package, Swatch, and understanding low-level things when Gnome should provide a way to run a user-supplied command upon unlock, separate from the startup scripts. At least https://unix.stackexchange.com/a/28183/21372 uses dbus-monitor which seems to be installed already, but still requires some low level knowledge to run that in the background from a startup script.
Comment: I am using ubuntu 16.04 the file `auth.log` does not exists at `/var/logs/auth.log` but at `/var/log/auth.log`.
Answer: .bashrc will be the place you want to use for that process.  .bashrc holds users' profile and all of configurations, and that's what system will read first thing when you log in, therefore that's where you want to put your codes for your customized scripts to run upon logging in.
Here's an example from my codes that I use.  This is code I added to the bottom line of .bashrc:
if [ -f ~/.myscripts ]; then
. ~/.myscripts
fi

And .myscripts holds my scripts in bash shell that I want to be fired off when I log in.
Comment: .bashrc isn't sourced when you lockout or login a graphical session.
Comment: Sorry it doesn't work although

~$ ls -aF .my*
.myscripts*

and I added the reference to .bashrc. I tried tweaking .bashrc with force prompt color just to see how this work and I don't even need to unlog to see the change, just close re-open the terminal.

when i run . /.myscripts from terminal the script works ok but is not triggered when I log in a locked tty7.
Comment: I believe I begin to understand. This will maybe work in addition with the link below given by GabrielF. Thank you Faron.
Comment: Yes, but I ended in understanding it is a place from which one can launch a resident script (the one that will monitor logon). An other guy proposed a different solution: /etc/pm/sleep.d/20_kill-notify-osd https://bugs.launchpad.net/ubuntu/+source/gnome-settings-daemon/+bug/1232454
Comment: upvote for @Braiam in pointing out when it's not sourced upon lock out or logging via graphical.  No wonder why few of my scripts didn't function properly.


How do you tie the plot of your story together in the end?

Question: I'm nearing the end of my story, and I'm trying to tie it all together. I've read books that are great, but when you come to the ending, it's extremely disappointing because nothing in the ending connects to anything in the earlier story. But in some stories, it all ties together so you think "ohh, that's why they put that! This is amazing it fits perfectly." I don't want my writing to end up like the former, so I was wondering if anyone  has any tips to help avoid that.
Answer: I am a discovery writer, meaning I don't plot out the story before I start writing. I write the first quarter of the story without knowing the plot or the ending.
Discovery writing is character oriented writing. I plan my main characters out, and before I begin writing, I generally know them very well; I will walk around for weeks figuring out my characters.
Using the 3-Act structure, I divide the story into four equal parts, Act 1, Act 2-a, Act 2-b, Act 3.
Act 1 is split into two parts, roughly equal. The first part introduced my protagonist, other main characters, dealing with some everyday problems so you get to know them. It ends with the inciting incident, a new problem, that will eventually grow to dominate the story.
I usually know the characters and the inciting incident before I begin writing.
In the second half of Act 1, they try to solve this problem, but fail, and it grows, until the protagonist is forced to leave her "Normal World", either physically or metaphorically, in order to solve the problem. (For an example of the latter,metaphorically leaving her Normal World, suppose by the end of Act 1 she discovers her boss is not who she thought he was, but is actually a criminal, and has implicated her in his crimes -- She can no longer be his obedient assistant now, she knows what he is and must find a way to protect herself and get away from him without ruining her life. She is not physically leaving, but her Normal World will no longer do.)
After that ... I don't know what I am going to write. The characters are fleshed out enough that to me they feel like real people, I can "become" them, and they will make the best decisions they can with the information they have and act accordingly. I don't force them to do anything (but I won't let them stand still for long, they must make decisions and do something).
And, as Stephen King says (also a Discovery writer), "the story will come out somewhere." (In his case, writing horror, it is often a bloody and horrific case, but I don't write horror).
For the ending, by the end of Act I, I usually have an idea for the possible ending, based on what has transpired so far.
I write down a description of that ending, just a paragraph basically, and when I am writing I don't write anything that would contradict it or make it implausible.
However, my experience after completing several stories is that my original choice of ending will change 4 or 5 times before I finish the story. I think of better endings as the story evolves and comes to light.
When that happens (I think of a better ending, and want that more than my original ending), I go back through my entire story up to that point, and look to see how much needs to change to support the new ending. I mark stuff in the text that doesn't work with the new ending, using something easily searchable, like "&&&" that isn't going to appear in any normal text.
If the change is feasible (it usually is if I don't have to scrap any chapters), then I will search for those marks and rewrite. That's my new ending, and it all ties together.
And I will do it again if I think of an even better ending!
Discovery writing involves a lot of rewriting, at least for me.
I'm not the only one: When Stephen King was writing "The Stand", he hit a plot impasse that blocked him for weeks. He thought he was losing the novel. The only way he could think of to resolve it: He scrapped the last two hundred pages he had written (months of work and almost a novel in itself!), and had the villain kill half of all the "good guy" characters with a bomb, and then took off in a new direction to finish the novel.
My endings always tie everything together, because I rewrite, three and four times, to make sure the ending will do that.
A huge advantage of being the author is you can "time travel", once you think of a cool surprise, you can go back through the book and subtly justify that surprise with little sprinkles and comments; change reality to fit it, in ways the reader (or viewer in a screenplay) probably will not notice.
In one story I was writing, already in Act 3, I realized that the coolest ending would be if there were a traitor in the main group of protagonists.
And I rewrote dozens of passages throughout the book to make it possible that one of them was a traitor, and was discovered in the middle of Act 3, the main protagonist figured out all the clues (I had just written) that had occurred over many months in her timeline, and they all made sense! There was only one logical conclusion!
That's one way you can tie the plot of your story together in the end -- Time Traveling Rewrite!
Answer: I'm going to disappoint you greatly.
This is generally something you should have figured out before you even start writing. There's little you can do to shoehorn an all-threads-tying ending into a story when you haven't been purposefully  guiding the threads in the right direction all along.
And if you force them at the last moment, what you get is likely to be worse than an ending flowing wide like a delta. Contrived, unbelievable, not making sense.
The good news is that a delta-type ending can still be pretty good if you give a good climax to the main storyline. If you're trying to be realistic, it can even be better - endings with all threads tied in one knot tend to have "scripted fiction" written all over them.
If you really insist that you need to tie all the threads of a story that you've already written most of, then it's likely to mean lost and lots of going back and rewriting. Lots of redirecting the threads so that they will lead into the knot where you want them, gently, subtly, plausibly. Weeding out whole minor storylines that are irrelevant to your resolution. Maybe adding some that are.
No promise it will be worth the effort. No promise whether you can even do it.
Sorry.


Looking for fish theme with powerline, full path and return and carriage return after the prompt line

Question: I'm looking for a theme I noticed some time ago and that I can't find again, it was a theme on fish or zsh where the prompt line (user & path) had powerline theme, the full path was displayed and after that line there was a carriage return so the typed command was done on an empty line. Could anyone refer me to that config I'd like to implement that with fish.
Answer: It sounds like you're talking about oh-my-zsh's "bira" theme. You can check it out here.
It could also be amuse.


Django foreign key query returns records that are not in the database

Question: I have a strange situation where Django seems to be giving me records that do not actually exist in the database when queried via a related_name on a foreign key.  Here's a simplified example:
Let's say I have a Person model and a Pet model, where each Pet has an owner, which is a foreign key on Person:
class Pet(models.Model):
    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    name =models.CharField(max_length=50, null=False, db_index=True)
    owner = models.ForeignKey("Person", null=False, related_name="pets", on_delete=models.CASCADE)
    relationship = models.IntegerField(null=False, choices=PetRelationship.choices(), db_index=True)

Now, I have the below function that retrieves a person's pets:
def pet_tester(person):
    for pet in person.pets.filter(relationship=PetRelationship.FRIENDLY):
        pet_id = pet.id
        LOGGER.info(f"*************** pet.id = {pet_id}")
        LOGGER.info(f"******* Pet exists? = {Pet.objects.filter(id=pet_id).exists()}")
        ...

Note that this is NOT a "minimal reproducible example".  I can only reproduce it in my much larger application.
For some reason (in the real app), the "exists" query is coming back as False.  The output is like this:
*************** pet.id = 123e4567-e89b-12d3-a456-426614174000
******* Pet exists? = False

If I query the actual database (Postgresql) directly (outside of Django), that pet ID sure enough does NOT exist.  However, the person.pets.filter query is returning it just the same.
I do not understand how this is even possible. It JUST retrieved the pet from the database (or so it would seem - it even has a UUID), but it's not really there after all when I immediately try to query it back.
It seems like the Django "filter" results are somehow inconsistent with the underlying database, but I don't know why. This is very reproducible in my app (it happens every time, consistently).  It doesn't appear to be a corrupt database, as it happens consistently even on brand new machines, with the app and database freshly installed.
I know you don't know what else my app is doing. I obviously can't post all the source code, but I can assure you that the beginning of the actual function is pretty much verbatim of the pet_tester function above. I only changed the class/field names.  There are no extra lines in the actual app between the "for" line and the 3 lines below it.
I'm mostly looking for ideas about how this can possibly happen, and what to look for in the app's other code.
Comment: I am fascinated by your Pet Semetary situation. If you figure it out, please post! I don't have a solution for you , but I'd look to see what's in person.pets.filter(relationship=PetRelationship.FRIENDLY) to make sure you don't have some weird name confusion with the related_name and something else, as we have to assume the direct Pet.objects call is accurate.
Answer: It turns out that there is another service that is deleting the "pets" from the database.  There must be some kind of caching in Django, and since the deletion happened outside of Django, Django didn't invalidate its "person.pets" cache.


Where does Ubuntu store the picture that I set as my desktop?

Question: I have a pretty picture set as my desktop background, but I've lost the original file. However, my desktop is still set to this picture. How can I get back my picture?
Answer: Open up the file browser and press Ctrl+H, to show hidden files (ones that start with a .), now navigate to .cache → wallpaper.
Or hit Alt+F2 and type nautilus .cache/wallpaper/
Comment: These seem to be zoomed versions of the original. Does Ubuntu also store the original file somewhere?
Comment: No, it doesn't - unfortunately. You can use `find / 2> /dev/null | grep warty` to search everywhere on your disk. Replace warty with something that you would expect in the file name of the image. *Perhaps* there happens to be a copy somewhere, but nautilus doesn't create one.
Answer: If your image came from the internet, then I would suggest taking a Screenshot (Applications->Accessories->Take Screenshot).
Then upload your screenshot to TinEye.com. On the results page select "Biggest Image" from the left hand side navigation. Then look to see if the website has found your image.
This "Reverse Image Search" has enabled me to do what you're doing before.
Comment: This is another good trick.
Answer: If you run gconftool --get /desktop/gnome/background/picture_filename in a terminal then it will output the location of the image file.
(GConf is the GNOME settings manager, and /desktop/gnome/background/picture_filename is the particular setting you are retrieving. You can also browse these settings graphically by using the gconf editor.)
Or hit Alt+F2 and type
 eog `gconftool --get /desktop/gnome/background/picture_filename`

(this opens your image with the default image viewer, Eye of GNOME)
Answer: In the case when you absolutely misplace a file and aren't able to get  online to ask about the location of where it might be stored, always remember this... it has helped me a lot throughout the years.
CTRL + ALT + T to get shell, then:
locate (type file name you are looking for here, without the parentheses)
NOTE: if you've never used locate before you'll need to run updatedb first like this:
sudo updatedb

or if you are already root, just run updatedb, usually it can take time so I run it in the background like this:
sudo updatedb &

the & causes the command to be run in the background, you can type jobs to see if its still running, but you'll get notified when it terminates like this:
[1]+ Done     updatedb

Some people hate the shell, but even so, I have found it good to learn both GUI and shell no matter what OS you are using. There ARE going to be times when something can't be done via the GUI, esp in a linux environment. This was very true when it came to bridging ethernet interfaces, etc..


Is there any program that shows all hardware?

Question: Is there any program that shows all hardware (e.g. Graphic card NVIDIA GeForce 9600GT, Network card, and so on) on your computer?
Answer: There are a couple of command line programs that give you this kind of information, you could try lshw and lspci.
For a GUI that nicely displays information from these and other sources, try hardinfo .

It will appear in the applications menu under System > System Profiler and Benchmarks.
As the name suggests, it also offers some benchmarks ;)
Answer: Sounds like you're looking for lspci. It's not all hardware; but it is the ones you listed and it's usually the one I want.
(lshw also exists, although I'm not sure if it's installed by default. It's usually more info than I want)
Answer: The old school method that I use is to type dmesg at the prompt.  It will show you the last startup log of the Linux system.
Answer: Find Hardware Specs (Details) on your Computer

I stumbled upon the nifty "lshw" tool today. lshw lists your hardware.
  Try it now:
sudo lshw

You can get specific details by using the -C flag:
sudo lshw -C disk

will list all you hard disks.
It can create a html page with your hardware details if you do:
sudo lshw -html > your-file-name.html

Comment: The lshw GUI looks like this:  http://dailypackage.fedorabook.com/uploads/2008-02-28-lshw-gui.png


Diagnose cold radiator

Question: I recently moved into a new place which has two floors. It is heated with hot water and the heater gas-powered heater is in the lower floor. There are two radiators in the upper floor that stay ice-cold, while one, in another room also upstairs is warm. I am unsure if the problem is just a failure to properly turn them on or something else. The two cold radiators are different from the others in that they don't have knob to turn them on. I have attached a picture of what it looks like. There are two pipes connected to them but they are also always cold, and vanish into the wall. I called the previous owner who built the whole place but he is very old and doesn't remember anything about it. How do I start diagnosing what's wrong?
Comment: No knob, but certainly looks valve-ish. I'd also consider the possibility of trapped air preventing circulation, so I'd look for a bleeder valve.
Answer: That looks like the body of a Thermostatic valve (TRV). It looks like the actuator pin (in the center of the front face) is stuck in. This can usually be unstuck by wiggling with a pair of pliers. If it's really stubborn, some WD-40 or a LIGHT tap with a small hammer may help. You can then get a new TRV head and add that to control the room temp. There should be another valve on the other end of the radiator and it's usually worth screwing that closed and then re-opening it.
Comment: Definitely a TRV body.
Comment: Hello, and welcome to Home Improvement. Thanks for the answer; keep 'em coming. And, you should probably [take our tour](//diy.stackexchange.com/tour) so you'll know how best to contribute here.

Diagnose cold radiator


what is ftp username and password for vsftpd?

Question: I installed VSFTPD on ubuntu 12.04, and now how do I log in? Which username and password do I use? I tried using root and the password for root, but that didn't work.
Comment: You get to choose a username and password at installation. If you can't remember those, you're going to need to reset the password
Answer: If you installed with the default vsftpd configuration, then you should be able to login using any valid local user account on the target machine. If that doesn't work, then check that local_enable=YES is set in the /etc/vsftpd.conf file and restart the vsftpd service.
Answer: DO NOT TURN ON anonymous_enable=YES
It might be provide security defect on you ftp enterance.

type adduser YOURNEWUSERNAME for create new identity on your system.

setup user list options
userlist_enable=YES userlist_deny=NO

create vsftpd.userlist and add your user name to file.

It must make you available to login with your id and password
Answer: Try turning on anonymous_enable=YES in /etc/vsftpd/vsftpd.conf and logging in as "anonymous" with any email.


Proof that (ring-)LWE secret is unique

Question: I read Regev's paper in 2005 about Learning with Errors and he mentioned that the secret of a LWE sample is unique but I have not seen a proof of this claim. Can someone point me to a paper proving this claim? Also, for the ring-LWE case, in particular for power of two cyclotomics, is the secret always unique?
Answer: Regev's LWE Survey contains a sketch of the proof.

Algorithms. One naive way to solve LWE is through a maximum likelihood algorithm. Assume for simplicity that $q$ is polynomial and that the error distribution is normal, as above.  Then, it is not difficult to prove that after about $O(n)$ equations, the only assignment to $s$ that "approximately satisfies" the equations is the correct one.  This can be shown by a standard argument based on Chernoff's bound and a union bound over all $s\in\mathbb{Z}_q^n$.  This leads to an algorithm that uses only $O(n)$ samples, and runs in time $2^{O(n \log n)}$.  As a corollary we obtain that LWE is "well-defined" in the sense that with high probability the solution $s$ is unique, assuming the number of equations is $\Omega(n)$.

It may also be useful to view LWE from a different perspective --- namely as a parameter range for SIS where it is a priori unclear whether a solution should exist or not, so one "plants" one. See these notes for some perspective along these lines.
Note that for standard SIS many solutions exist with high probability, so "LWE = Decisional SIS (in some parameter range)" is easy to get confused by if one is not careful, see for example this question.
Comment: Thanks for the answer but I still don't see how the claimed algorithm above goes. Is there any available reference where this was explicitly proved? I am not exactly sure but my idea is suppose $b=A^Ts+e=A^Ts^\prime=e^\prime$, $e,e^\prime$ short. Then $A^T(s-s^\prime)=(e^\prime-e)$, then I don't know what comes next.
Comment: @ChitoMiranda I don't know of it being written down anywhere. The argument (as I interpret it) is somewhat simple. Look at the probability (over uniformly random choice of $A$) of $\lVert A(s - s')\rVert$ being small. You can choose your favorite norm here, but the $\ell_\infty$ norm seems like a particularly good choice, as then you can reduce the problem to $\Pr[\forall i\in [m] \langle a_i, s_i - s_i'\rangle\text{ is small}] = 1 - (1 - \Pr[\langle a_i, s_i - s_i'\rangle \text{ is small})^m$.
Comment: Then union bound over all choices of $s'$, e.g. show $\Pr[\forall s' : \lVert A(s -s ')\rVert\text{ is big}] = 1-\Pr[\exists s'\neq s : \lVert A(s -s ')\rVert\text{ is small}] \geq 1 - q^n \Pr[\lVert A(s-s')\rVert\text{ is small}] = 1 - q^n (1 - \Pr[\langle a_i, s_i-s_i'\rangle\text{ is small}])^m$. That being said, working out the details seems fairly annoying, so I'll leave it to you (or someone else) to do so.
Comment: thanks for the help. I will definitely try your ideas and see if I come up with a rigorous proof. I struggle reading LWE-related papers since they leave out a lot of details that seem trivial to them but not for a novice like me. Thanks again and will probably post a proof if I succeed.
Comment: @ChitoMiranda There exist indirect ways of proving this as well. Specifically it suffices to show that $\lambda_1(\Lambda_q(A))$/2 is larger than $\lVert e\Rvert$ with high probability. This should be a consequence of lemma 7.9.2 of Zamir's *Lattice Coding for Signals and Networks*, where it is shown that for random $q$-ary codes $A$, the number of points of $\Lambda_q(A)$ in $S$ approaches the density of $\Lambdaa_q(A)$ times $\mathsf{Vol}(S)$, e.g. what one would expect if the lattice points were "independent".

Proof that (ring-)LWE secret is unique


Question about compare Bell-LaPadula and Biba models with Chinese wall policy

Question: what the Chinese wall  models try to achieve and how it differ from or improve upon the Bell-LaPadula and Biba models
Comment: I want to know what the different between these models.
Answer: Chinese Wall Model
This is an access control confidentiality policy. The access control policy states that a subject may access information from any company provided that the subject has never accessed information from a different company in the same conflict class. Consider the following conflict classes:

{Ford, Honda, Toyota}
{Bank of America, Wells Fargo, Chase}
{Microsoft}

If you access a file from Honda, you're prohibited from accessing files from Ford and Toyota, but you can access files from Bank of America, Wells Fargo, Chase, and Microsoft. The policy restricts access according to two properties:

Simple security rule: A subject can be granted access to an object only if the object (a) is in the same company datasets as the objects already accessed by the subject and (b) belongs to a different conflict of interest class
Star property: write access is only permitted if (a) access is permitted by the simple security rule and (b) no object can be read which is (i) in a different company dataset than the one for which write access is requested and (ii) contains sanitized information

The Chinese wall model addresses a specific concern: conflicts of interest by a consultant or contractor.
Biba Model
This model aims at the preservation of data integrity. Data integrity has three goals:

Prevent data modification by unauthorized parties
Prevent unauthorized data modification by authorized parties
Maintain internal and external consistency (i.e. data reflects the real world)

In short, it's characterized by the phrase: "read up, write down." This differs from the Bell-LaPadula model, which is captured by the phrase "read down, write up." In the Biba model, users can create content at or below their integrity level. For instance, a monk can write a prayer book that can be read by the common folk, but not by the high priest. On the other hand, users can only view content at or above their own integrity level. To continue the analogy, a monk may read a book written by a high priest, but may not read something written by a commoner.
The security rules for the Biba model are below. Note that they are the reverse of the Bell LaPadula model:

Simple Integrity Property: a subject at a given level of integrity must not read data at a lower integrity level (read up).
Star Integrity Property: a subject at a given level of integrity must not write to data at a higher level of integrity (write down).
Invocation Property: a process from below cannot request higher access; only with subjects at an equal or lower level.

Chinese Wall vs Bell LaPadula vs Biba
Now, to your questions:

what the Chinese wall models try to achieve and how it differ from or improve upon the Bell-LaPadula and Biba models

I described what the Chinese wall model and the Biba model try to achieve above. In doing so, I also explained how they are different. The Chinese wall model is an improvement on Bell LaPadula and Biba because it provides confidentiality and integrity of data, whereas Bell LaPadula provides confidentiality, and Biba provides integrity alone.
Please see these sources for additional reading:

https://coronaluo.wordpress.com/2013/10/08/chinese-wall-vs-blp-vs-biba/
https://www.cs.utexas.edu/~byoung/cs361/lecture25.pdf
https://en.wikipedia.org/wiki/Chinese_wall#Computer_security
https://en.wikipedia.org/wiki/Biba_Model


Do I need my own lawyer for lot line adjustment?

Question: I have a cottage, and behind the cottage is a single parcel of ~80 acres that the neighbour owns.
I made him an offer and he agreed to sell me 1.5 acres which would be added onto my existing lot due to local planning not allowing new lots within 300m of the lake.
I had my lawyer put together a purchase agreement, which after being signed the survey was completed, the lot adjustment was approved by municipality and everything is done.
Do I now need my lawyer involved again to complete the process, or because this is just a lot line adjustment will the sellers lawyer handle everything? This is in Ontario, Canada.
Answer: If you want it done right, the best approach is to have your own lawyer do it so that the details will be handled by someone with your interests at heart.


How to disable annoying 'parenthesis completion'?

Question: Whenever I type a (, [, or {, Notepad++ completes it with the corresponding closing bracket. I find this 'feature' annoying and would like to disable it. It doesn't seem to be listed in the Preferences dialog and a search of the online documentation didn't yield any useful result.
Does anybody here know where the option for this is hidden?
I'm currently using Notepad++ 5.0.3.
Comment: Most annoying aspect is that it's triggered when modifying existing code. This feature is useful only when writing new code, and only if you're on the last character of the new code.
Comment: @EricGrange You exaggerate the usefulness of the feature. In practice, it is useful only in the toilet.
Comment: Very annoying, but worse it stuffs up keystroke macros
Answer: From version 6.6.8 onward:
Go to Settings -> Preferences -> Auto-Completion
In the second grouping called "Auto-Insert", check/un-check the appropriate auto completion/inserts.
Answer: TextFX > TextFX Settings > Uncheck +Autoclose {([Brace
Comment: @ValentinTihomirov I haven't used N++ in a long time, but I believe TextFX is a plugin and you get a 'TextFX' menu if you install that. If you don't have that one installed, maybe it's the Preference mentioned in ganders' answer that's doing it in your case (or perhaps the *other* plugin that Norbert mentions that does the same thing!)
Comment: Actually in my case, the option was already unchecked. When I tried checking it, my brackets got closed twice, like so: when I typed ( npp filled in with )). Maybe some odd bug.
Now I've uninstalled and reinstalled npp, and the problem is gone. Still I'll mark this as answer for posterity's sake. :)
Answer: Actually it's more probable it's turned on in the ConvertExt plugin : Plugins->ConvertExt->Options
Tab Notepad++:  uncheck brackets autocompletion
Answer: Settings | Options | Autocompletion
Comment: add description on english, please.
Answer: If none of the above helps (as in my case), there's also a plugin called Xbrackets Lite.
Plugins -> XBrackets Lite -> Uncheck Autocomplete brackets.
I seem to recall installing this because the other two (settings/auto-complete and TextFX .. AutoClose) did not work.
Notepad++ 7.3.3.


Link-local (zeroconf) networking with multiple hosts/interfaces

Question: I have a machine (hostname foo) with two wired network interfaces, eth0 and eth1.  When I connect another host bar to one of them (eth0), I can see in either one's NetworkManager that it's using "Link-Local Only" mode:

This works great—I can instantly communicate between the two hosts just with ping foo.local or ping bar.local.
However, as soon as I plug in a second host onto eth1, foo.local and bar.local become unreachable to each other, due to now having multiple overlapping 169.254.0.0/16 routes.  How do I fix this permanently, such that I don't need to repeat some ip incantations on each host every time I connect a host, and also minimize the amount of static IP configuration I have to do (I'd like to solve this in the most ZeroConfNetworking-ish way possible)?
Answer: It a shot in the dark, but could you try this on the host foo:
echo "1" | sudo tee /proc/sys/net/ipv4/ip_forward


How do I address responses asking me why I'm asking a question?

Question: Often, I ask a question on various Stack Exchange sites, and instead of people answering the question, I get a lot of replies "why do you want to do that?". I get why people are curious as to why I want to know, but that's not why I'm asking. And I don't have lots of cred on any accounts, so often I am just left trying to justify what I'm trying to do, instead of getting an answer. I'm just looking for an answer, and I'd prefer actual answers or suggestions for answers, or questions regarding more details about my question, instead of "why are you asking this?". Heck, even "you can't do that" is acceptable.
Comment: People may ask this, because they smell a XY-problem.
Comment: If this happens frequently, have you tried adding more context to your questions to start with?
Comment: Possible related: [What is the XY problem?](https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)
Comment: [Do I have to explain why I am asking a question on so](https://meta.stackexchange.com/q/97170); [How do you get people to answer the question rather than argue the premise?](https://meta.stackexchange.com/q/11009); [Is it okay for people to question your choices/practices which aren't related?](https://meta.stackexchange.com/q/218557); [Is it ok to suggest the OP change his approach in order to offer a new answer?](https://meta.stackexchange.com/q/179543); ["Why would you want to do that" or "I can't see any reason to do that"?](https://meta.stackexchange.com/q/51178)
Comment: Can you post an example?
Comment: I faced [a similar case](https://meta.superuser.com/questions/7466/what-can-i-do-to-discourage-subjective-downvoting-on-my-question) a while back on Super User.
Comment: The reason is sometimes important suggest just explaining in the future
Comment: Are you asking about this when done in comments or when done in answers?  I think the term responses can be applied to both.
Answer: In the communities I participate in, people ask for motivation and background for a couple reasons:

(Primarily) because they suspect an XY problem.  Instead of saying "no, you can't do that" or even "yes here's how, but it causes these problems you might be unaware of", people are trying to help you solve your underlying problem.  It's like asking "how do I wipe my hard drive?" when the problem you're really trying to solve is "how do I get more room for my email?".
(Secondarily) because knowing your reasoning provides some insight into your level of expertise, which helps people write answers that are suitably calibrated.  An answer like "patch your OS and these packages, but be sure to override this setting, and don't forget to fix your SMTP settings" doesn't help much if you've never used sudo before and have never heard of SMTP.

If your question looks like an XY problem but it's really not -- you're sure that yes, what you want to know how to do is what you're asking -- then a sentence or two of explanation in your question can forestall the questions and diagnostics.  If you don't include that, we don't know if you're asking about your underlying problem, or if you're going to follow our answers and then be back with questions about how to undo the mess after you reformatted your hard drive unnecessarily and it didn't fix your original problem anyway and now you don't have your email either.
Comment: Thank you. I had no idea what an XY question is; I'm now wrapping my head around that. I try to ask a question (how to wipe a hard drive) with that being my only concern. I hadn't really stopped to think of this aspect.
Answer: Having looked a question of yours that illustrates this - simply because there may be another way to get the same effects you're getting disabling cortana and there's often a need to solve a problem with a broader context.

We don't know what exactly you broke

is a critical thing here when using an OS with components disabled, because we don't know how deeply the component is embedded and, as you can see, the effects of it.
So, comments are for clarification - and these forms of questions are clarification. Even if it seems irrelevant, they're worth considering, if not replying to, in trying to solve your problem.
Comment: I completely understand that, and at the time of this posting, I had no replies on that question.
The first comment was one along a lot of lines I typically see: "Is there any specific reason you're screwing around with system files rather than using the privacy settings to limit/disable Cortana?" Cortana isn't disabled, and the limitations are questionable at best. That's why I stated I disabled it, and let's just set my whole reasoning for that aside and answer my question.
I realise now that my question is often ambiguous. You've explained the XY effect even better, and I thank you.
Answer: Stack Exchange focus is content, not personal motives. If someone asks a question, we assume they thought hard before asking it, and understand what they need.
Hence, asking why you ask the question is just non relevant noise, which can be ignored.
Regarding the XY problem, a constructive question can be "Did you mean to ask [Y], and not [X]?", which is guiding towards something, not just blank "Why you ask it?" which isn't really helpful.
If this was posted as answer, you can also flag as NAA:

If posted as comment, you can flag as "no longer needed":

If you want to be nice and polite, you can reply with a comment like "The reason I want this is not relevant to the question, thanks". (Then to be prevent your own comment from being non relevant, delete it after a while)
Comment: It *is* relevant if the OP may be asking an XY question.
Comment: If someone replied back, saying it wasn't relevant, I would flag that comment for not being civil. If I want to know, the reason for the question, I typically have a reason and knowing that reason allows me to answer the question.  I am not going to explain why I need to know, if I did that, I would spend all my time explaining why I need to know something
Comment: @Ramhound focus should be on content, not motives. Maybe OP is just curious. Maybe they're making research. Maybe they have secret agenda. That's non of our business.
Comment: @DavidPostill valid point, edited.


How accurately do I need to maintain my altitude while VFR-on-top?

Question: Is holding altitude as stringent a requirement when flying VFR-on-top? If the deviation exceeds say 200 feet off a given VFR altitude (i.e. 5500' heading eastbound) is this as big of an issue for ATC?
Comment: Am I right to assume you're receiving a service from ATC, either ATSOCAS or you're in CAS?
Answer: Considering, as a pilot, you should be able to maintain an altitude with Less than a 100 foot accuracy, I would say that you should be doing the same when VFR-on-Top. If you change (vacate) that altitude for any reason, you should let ATC know. They are still maintaining aircraft separation. They need to anticipate your current and future position. If it's a brief departure from the previously reported altitude (say for instance, due to turbulence), reporting the discrepancy is not important if you return to the original altitude immediately. Though, you might want to give ATC and/or FSS a PIREP.
Answer: In the US, when I enter "OTP" in your flight plan, my radar will display your reported mode C altitude. If you're consistently out of tolerance (200 ft) from a VFR cruising level, and I've given you a current altimeter, it's my job to advise you of the discrepancy.
After all, your equipment could have a problem.
If you reply that you're having trouble holding altitude for weather, or staying clear of clouds, and I have no traffic for you, I'll probably leave it be for awhile, but I will check up on you.
There are also times when I may use the phraseology "VFR cruising levels for your direction of flight are (odd/even) cardinal altitudes plus 500 feet". This is usually in conjunction with traffic advisories, such as, you're flying eastbound at FL105, but I've got westbound traffic at the same altitude, that may be in conflict. They're at a correct cruising altitude, so I'd give you the advisory.
Answer: See AIM 5-5-13. The clearance must be requested in the flight plan or subsequently. 5-5-13(a)(1) and AIM 4-4-8. There are 3 requirements: 1) The pilot must fly at an appropriate VFR altitude as defined in 14CFR91.159, comply with VFR visibility and cloud clearance as established in 14CFE91.155 and finally, comply with the IFR rules applicable to the flight. By requesting VFR on Top, the pilot assumes see and avoid responsibility and, per 5-5-13 (a)(3) should advise ATC of any altitude change prior to making such change. Typically ATC will approve VFR on top if the clearance is requested but the pilot continues to be controlled by his IFR flight plan and remains clear of Class A airspace.  PIREP's as to top heights and layer conditions assist ATC in the assignment of such a clearance and flight level.


How can I make an inventory system in Unity?

Question: I am trying to make an inventory system for the game I'm working on with Unity and I want it to expand and compress whenever objects are added or removed.
Is there any go-to way to do this?
Comment: Hi dear friend welcome to gamedev stack exchange.did you search in google before asking this question? there are many tutorials that learn you how you can make Inventory.but if you have specific problem in Implementing inventory share code and tell me what is your problem.
Comment: theres many many different ways. You could store everything you are holding as purely a string in a big long string, but that is likely not particularly useful. I'm currently trying to make a decent inventory myself. You have to make a class called InventoryItem, then that can hold any number and types of fields of data you like (regarding what makes an inventory item eg. Sprite, Name, valueInGold, MagicValue etc etc) . Then on your player class for example you can make an Array of InventoryItem[]. Hope that helps get you started! (NOTE. I'd actually use List<> rather than Array, because...
Comment: ...List<> can be a dynamic size (you don't need to specify the size in advance when you initialise the List, but with array you would need to initialise it with a fixed capactiy
Comment: @BigTLarrity please avoid answering questions in the comments. If you feel a List is a good solution here, share it as an answer.  And Miya: can you clarify what you've tried so far and what part of the problem you're stuck on? There's a lot that could potentially go into an inventory system, so to be sure we're giving you what you need it helps to describe your situation in detail.
Comment: Hi DMGregory , I did have it answered, but then I realised my answer might not have worked so I deleted it. ..I'll undelete it and get rid of the wrong part.
Answer: A very basic version to get started (note I'm still learning myself, but I happen to be several weeks into making my own games with inventories).
You can make a class such as :
using UnityEngine;
using UnityEngine.UI;

public class InventoryItem : Monobehaviour
{
    // you could for example attach this script to any object that can be picked up,
    // and then assign values to these fields in the Unity Inspector...
    public string uiTextName;
    public int saleValue;
    public int magicValue;
    public int healthValue;

    public Player player; // note it is better to keep track of the player in a GameController type script which will hold all the game info such as the current player, when to spawn enemies, make game over, and other things. But for now you could add it here using inspector.

    // check if mouse is pressed on this object, find the player
    // and add the item to its inventory:
    private void OnMouseDown()
    {

         player.AddToInventory(item); // we make this class and function in a second, below.
         // ... perhaps here you can un-enable the MeshRenderer and Collider of this Item so it vanishes in the scene...
         MeshRenderer m = GetComponent<MeshRenderer>();
         Collider c = GetComponent<Collider>();
         if (m != null)
              m.enabled = false;
         if (c != null)
              c.enabled = false;
    }
}

then make a Player class:
using UnityEngine;
using System.Collections.Generic; // this is needed to make us of c# List<>

public class Player : Monobehaviour
{
     // declare a List<> to hold all InventoryItems we collect.
     List<InventoryItem> playersInventory = new List<InventoryItem>();

     // this public function can be called to 'Add' and 'InventoryItem' to the players inventory....
     public void AddItemToInventory(InventoryItem item)
     {
          playersInventory.Add(item);
     }

}

I hope that makes sense to you and helps you along the way, if you need more help let me know as I only recently have been learning this myself.