Are unique node titles neessary?

Question: I am considering automatically assigning the uid to several of my content types automatically.  However, one other data type uses a number as its title too (product number actually.)  There is a strong potential for a uid to be the same as a product number.  Could this potentially cause problems?  What are some common problems that can arise from non-unique titles?
Comment: Node titles do not have to be unique unless you run into a situation where you are loading something by title, or doing a database call by title.
Answer: Drupal itself does not depend on titles or labels to identify entities, and there is no expectation within the core system that they would be unique. You could in theory have a completely functional site with ten thousand nodes all sharing the same title, tagged with ten thousand terms sharing the same name, linked by ten thousand menu items sharing the same label.
Drupal is full of locally unique, automatically generated IDs: each node has an nid, each term has a tid, each menu has an mlid, and so on (though for identifiers unique across the system, one must use UUID or something similar). Provided your custom code, theme output, Views filters, and so on can be written to reference these machine IDs, I would expect few problems.
It is not always possible to rely on those machine IDs; they are content, and so are subject to editing, deletion, and replacement. You might want a banner to appear on your About Us page, but depending on the season the About Us page may be node/25 or node/29, for example.
Thus it is possible, even unconsciously, to build parts of the site that do depend on labels. Many themes insert a class on the  based on title, or on the alias/context (which pathauto will by default set to the title); you may have CSS rules applying to the wrong pages. You may have an editorial policy that all nodes pertaining to a particular product include its product code in the title, and set up Views to filter them. But only takes one typo for a node to go missing, or one forgotten edit to the title of a cloned node to have extras appearing.
Comment: I would just clarify that "unique, automatically generated IDs" are unique w/in their use; they aren't globally unique w/in the system.
Comment: @MPD True; modules that need truly unique identifiers must rely on [UUID](http://drupal.org/project/uuid) or some such.
Answer: Drupal uses node ID (nid column in node table) as a unique identifier and uniqueness of the title is irrelevant for the system.
AFAIK, the only issues you might face are related to management and administration of such content.
For example on admin/content/node or other administrative views it will not be clear which piece of content should you edit or delete. You can easily overcome this by installing Admin Views and including node ID next to the node title in your custom views to make the difference visible.
In one of the projects I developed, titles were generated automatically for one content type. Some nodes had exactly the same titles, but it never caused any issues.
Answer: No major problems, in my opinion.   you will want to create a new view for editing content though,  because the default content view uses title.
also if you're using auto generated URLs they'll be kind of ugly, unless you change how they're structured.
Comment: To get around the content view is using the view bulk operations with administration views.  You can add the field you want to be able to distinguish this

Are unique node titles neessary?


Why does Bruce became angry at Niagara Falls?

Question: In Bruce Almighty (2003), the main character Bruce is reporting live at Niagara Falls. It shows Evan speaking for him  and then directs the camera to Bruce, so he finally gets a chance to be a live anchor. But Bruce becomes angry. Why does Bruce became angry at the Niagara Falls live anchoring scene?
Answer: Bruce was not an anchor in that scene, he was a correspondent.  If I'm not mistaken, he had just found out that Evan was going to be the new anchor, a job Bruce coveted.  After working so hard for a promotion and finding out his promotion went to a person he felt had inferior talent, Bruce went on a rant during his live telecast.
Answer: Bruce became angry because Evan Baxter was his competitor and he was going to be new anchor and will get promotion. And Bruce also said that ""First off, I want to add another congratulations to Evan Baxter. It's good to see what someone with real talent can accomplish when great opportunities are given to him instead of me. Anyway"
So Bruce was frustrated already from his mind, that was the reason.
Answer: An Anchor is the main presenter of a news show. They present or introduce every story, headlining the show for the entire night.
A correspondent or field reporter is just that. They do reports from the field, away from the studio.
Bruce specifically was a Slice of Life correspondent. He wasn't reporting important news. He was reporting boring happy news about general events in the city. He wasn't reporting important, human interest stories or anything. These reporters are seen as jokes amongst their peers. When the camera changes from the studio to Bruce, they call him Wacky Bruce. It's demeaning.

So Bruce is angry that he's getting stuck doing unimportant work and getting no respect, while Evan gets the most important job of a news show, the main on air personality. Bruce is stuck getting wet, when Evan is in the comfy chair in the studio.
Bruce's anger comes from his ego and self-entitlement, a lack of pride in his assigned job, which is the overall theme of the movie.


Changing between Local Host DB to Production DB and in reverse

Question: How can I manage that when I switching from Production to Local Host and in reverse all the changes will apply? How do I import changes from, when the site was live to when I switch it to the localhost. Is there a simple way to do so, without downloading databases and switching them?
Answer: The short answer is — no, there is no simple way.
WP is designed to work within a boundries of a single database as installed and with core exclusively manipulating that data. There are no concepts of database being manipulated partially and externally.
The most common and reliable workflow is that you copy database from production to development, but never in other direction. This is (relatively) easy to implement and production is safe from being wrecked.
If you do need to do complete or partial updates to production things get a lot more complicated and error–prone. There are some dedicated products out there, such as RAMP, but generally I had never heard anyone consider it anything but huge unsolved headache.


Stereoscopic camera export

Question: Working on integrating the stereoscopic camera into a render addon (appleseed).  Thanks to Brecht I figured out how to set the proper view and retrieve the X offset for the camera lens when off-axis mode is used, but I can't figure out how to get the matrices for the two views.  None of the camera matrices (world, local) change when the view is changed in the render engine.  Is there a matrix that I'm missing or do I have to do the math manually (which would suck)?
Answer: Thanks to Brecht (and some bug fixes to Blender), here's the workflow for using stereoscopic rendering in a render addon:
There are three main commands needed, all are part of the RenderEngine:
active_view_set: this is used to set the view to one of the stereo cameras.  Use the same name as the view, i.e. if the view is called 'left' the command would be active_view_set(view='left')
The camera matrix of this view is retrieved by using camera_model_matrix.
If you use the offset orientation then there is also an x-axis lens shift in one or both cameras.  That is retrieved with camera_shift_x.
For feeding render results into Blender, you need to add the view name to the begin_results call.  Blender expects the render engine to manage the logic of rendering the image twice from the different cameras and feeding the results to the correct view in the render results.
Note: Due to a bug that was fixed after the release of Blender 2.79b, camera_model_matrix only works correctly if a recent buildbot build of Blender is used.
Comment: Good addition byob

Stereoscopic camera export


Are countries that use 2-pin plugs less safe than countries that use 3-pin plugs given that the earth is missing?

Question: Will there be occasions when using 2-pin plugs is safer than 3-pin plugs? Is it accurate to say that 3-pin plugs are always safer given the presence of earth?
Comment: Welcome to the site. Unfortunately for you, this is not a free design house nor an on-line technical encyclopedia, copied out to you on demand. People are more likely to help you if you show that you have gone as far as you can with your question on your own. Please either revise your question with long details of your findings so far or delete it if you find Internet searches give you your answer anyway. Again, welcome.
Comment: In Europe there are both earthed and unearthed plugs ([1](https://en.wikipedia.org/wiki/Europlug), [2](https://en.wikipedia.org/wiki/Schuko#Compatibility_with_other_plug.2Fsocket_types)) - is Europe now "safe" and "unsafe" together? You should replace "countries" by "mains systems" or "distribution systems". Even a device with earth connection does not need earth connection and should be safe if it designed to meet [appliance class II](https://en.wikipedia.org/wiki/Appliance_classes#Class_II) (double insulation to mains).
Comment: I think this is a valid question, keep it open
Comment: In the UK, "Three-pin plugs" don't necessarily mean there is an earth connection. In fact the "earth pin" in the plug may be non-conducting plastic, to make it obvious that the device doesn't have an earth connection. The third pin is still physically required on the plug, to open the shutter that covers the live and neutral connectors when nothing is plugged into the socket.
Answer: That is actually an interesting question.
The truth is... it is complicated.
Consider the following three connection systems.

simulate this circuit – Schematic created using CircuitLab
The first is your typical appliance with a three pin plug and a grounded case. If there is a short from the live line to the case the line is shorted out and hopefully there is a breaker in there somewhere that will trip. This type of connection will prevent you from being electrocuted, but may cause overheating and a fire in the cables if the breaker system is not up to snuff.
Option 2 uses two pins, that is no ground connection. Obviously if the case is metal and there is a short to the case, you will be electrocuted if you touch the case. However, it is usual for such devices to be double-insulated such that two insulation faults must occur. Alternatively, all exterior parts should be non conductive. However, none of the latter is guaranteed, especially with cheap stuff like table lamps and the ilk.
However, the only reason you get a shock from option 2 is because the power system is referenced to ground.  The third illustration shows how, in an isolated power system, you will not get a shock from touching the case since ,by doing so, you will not complete a circuit back to the transformer. In order to be shocked in this system you need to touch both lines.
So, that should take care of your electrical question.
As to whether the country is any safer, that is a whole different question.
Comment: Note that the kind of trippers provided is important. I know at least some countries mandate the use of 'differential' trippers that detect leakage to ground without a proper grounding available using the 3rd pin. Also important as noted by @Anonymous is the 'floating' that occurs causing your ungrounded pins to float at a much higher potential.
Answer: It is important for all devices having same potential in the environment under consideration so that there would be no voltage and currents between their chassis, and when human touches two unconnected devices, s/he would not get electric shock (I do not consider electrostatic charge here which is another story).
Having everything connected through PE which is provided within 3-wire plug is one method removing the risk. But in such environment is it essential that all devices must be connected to this PE wire properly.
In two-wire power setup potential leveling is performed differently. The chassis potential is generated internally to the power supply. For example, you can find service manual of TV set KV-29FX66, and on page 36 you can see its power supply diagram, where you can see that there's a network of capacitors C6003/C6004 and another network based on C6013/C6013/R6013 form this chassis potential relative to the mains. If all devices are having same circuit inside we can expect that there's ideally no potential difference between two unconnected (to each other) devices' chassis, however most of the times it is not the case, and difference in potential may be up to half of input AC power in case circuits differ or one of the circuits is faulty.
That's why, if you had experience working in 2-wire supply systems, you very often may have even a spark between chassis of devices you connect live. I, personally, always disconnect devices from mains in such setup before interconnecting them.
Answering your question: 3-wire plug is safer, but only in case grounding is performed properly. It is possible to get injury if one device is grounded to PE and another is not.


Error installing command line appium on macos

Question: on running command npm install -g appium
Following error is shown:
/usr/local/bin/authorize-ios -> /usr/local/lib/node_modules/appium/node_modules/.bin/authorize-ios
/usr/local/bin/appium -> /usr/local/lib/node_modules/appium/build/lib/main.js

firstname.lastname@example.com install /usr/local/lib/node_modules/appium/node_modules/appium-chromedriver
  node install-npm.js

(node:2007) UnhandledPromiseRejectionWarning: Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/appium/node_modules/appium-chromedriver/201935-2007-2pczhq.vag1r'
(node:2007) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:2007) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
[15:57:21] [Chromedriver Install] Installing Chromedriver version '2.46' for platform 'mac' and architecture '64'
[15:57:21] [Chromedriver Install] Opening temp file to write 'chromedriver_mac64' to...
Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/appium/node_modules/appium-chromedriver/201935-2007-12eqg3q.3n01'
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! firstname.lastname@example.com install: node install-npm.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the email@example.com install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR!     /var/root/.npm/_logs/2019-04-05T10_27_23_058Z-debug.log
sh-3.2#
We tried giving sudo access to logged in user still same issue.
Answer: It seems appium-chromedriver has got issue if you are behind a proxy. You may install Appium Desktop as per the discussion here .
Never try 'sudo' with Appium.


Genlock Analog Video

Question: I am currently converting an TMDS signal into composite. Please see block diagram. The video encoder outputs the H-Sync and V-sync. I am also getting an external sync source that I need to use to Genlock the composite video that I am outputting. My questions are:

Should I just feed in the external H-Sync and V-Sync into the DAC ADV7393 and ignore the sync coming out of the ADV7610? If not why?
Is there an IC that can help me do what I want to do?
If not do I need to change the encoder or DAC ICs that have genlock capabilities?
Answer:
No of course not, it will not work because the two video sources have different clocks that have arbitrary frequency and phase relation to each other so if you use pixel clock and data from TMDS you also need H and V syncs that are related to TMDS data.

If you can't generate the pixel clock for the TMDS source from the external syncs you want to use, then the only thing left to mix two arbitrary video signals together is a video processor with a frame buffer. You feed in the TMDS video with the clocks and syncs it has into frame buffer, and then you use the external syncs to clock the video out from the frame buffer. You do need the pixel clock for the output too and that may be difficult to achieve stably with a PLL.
Comment: @miggyEE The CPU must use that clock for TMDS that relates to your external video instead of some unrelated internal clock. Which may not be possible of course.
Comment: using a PLL, I should be able to get pixel clock from it. Why would I still need H and V syncs that are related to TMDS data? I thought the purpose of the pixel cock is to discard the H and V syncs?
Comment: @miggyEE If you discard H and V sync, how do you know from a stream of billion pixels which ones of them start the image from top left corner and which of them is the first pixel on the next line? OK, so if you use embedded syncs then yes, but the embedded syncs have to be in sync with your external syncs.
Comment: Okay thank you for clarifying. I probably am understanding this wrong, but if  I do generate the pixel clock for the TMDS source from the external syncs, what do I do with this clock? Am I supposed to feed this clock into my CPU or the HDMI receiver?
Answer:
Should I just feed in the external H-Sync and V-Sync into the DAC ADV7393 and ignore the sync coming out of the ADV7610? If not why?

In the current circuit: no. The sync signal would have to be somehow supplied to the TMDS source, so that it would generate genlocked TMDS. Only then you could discard the sync provided by the TMDS-to-composite converter, assuming the converter has a minimal group delay.

Is there an IC that can help me do what I want to do? If not do I need to change the encoder or DAC ICs that have genlock capabilities?

By the time it reaches the DAC, it's too late more or less.
If the TMDS source cannot be genlocked - as would be the right way to do it - then the encoder would need to have a frame buffer.
And then it would just be the output that's genlocked, not the digital source. The encoder would be outputting the most recent frame, so sometimes a TMDS frame would get dropped, and sometimes it would be duplicated. That would depend on the relative phase of the TMDS vsync and the genlock vsync.

So, my strategy would be:

Look into genlocking the TMDS source; or
Get an encoder that has a framebuffer and can re-time the signals to an external sync; or
Add a two-port FIFO between the output from the encoder and the DAC. Read out the FIFO based on the pixel clock recovered from the genlock source. To protect against underruns, the FIFO would need a loopback from output to input that's enabled when the genlock VSYNC is very early in the source frame (say the first 1-2% of the frame period). That way the frame would be duplicated.
Comment: I might need to open up another question thread, but regarding option 2, it seems that there isn't much in the market out there. Is there an example of one that can help me start looking somewhere?
Comment: @miggyEE All it takes is an FPGA. Get one with enough block RAM to keep a few full-resolution lines to interpolate with, and then the SD-resolution output frame. Not terribly hard if you only need to deal with one or two resolutions on the input.

Genlock Analog Video


My brake pedal sinks

Question: What is causing my brake pedal to sink to the floor when I start my truck but when it's not running brake pedal is perfect.. please help 92 4runner 4x4 v6
Comment: Before you change anything major check all your lines for leaks
Answer: When you start the engine, the vacuum boost is then applied and the vacuum booster helps you press the pedal down. With the engine off, you get no power assist, so the pedal feels "nice and firm". You are not specific if the pedal is OK when driving, or ONLY when starting. If only when starting, that's normal, because you go from no vacuum power assist, to having it. Now if pedal is mushy or goes to floor also when driving, then you need to check the brake system.
Answer: If you are saying that the pedal goes to the floor without pressing on it, then it sounds like your brake servo (booster) has a faulty valve.  The servo uses the vacuum created by the engine to assist when pressing the brake.  If one of the valves in the servo becomes faulty, the vacuum assists when not pressing the brake and pull the pedal down.  When you turn the engine off, the vacuum releases and the pedal rises.  You likely need a new brake servo.
Comment: Booster and master cylinder are both bad my old man came up

My brake pedal sinks


Mining at night - is there a difference?

Question: While Katy Perry (well, BebopVox to be exact) does have a certain view, I wonder if the day/night cycle affects anything underground? Spawn rates, mob movements, mob hostility, etc?
Comment: No research done, but I'd think it *safer* to mine at night. Because the mobs that spawn at the surface (if you are mining close to it) fill spawnslots and thus reduce the amount of mobs that can spawn underground. Are spiders hostile underground during the day? If they are: I don't think movement/hostility makes a difference, if they aren't: well, that is the full difference then.
Comment: What on earth has Katy Perry to do with minecraft?
Comment: @Arperum Quite indirectly, [this](https://www.youtube.com/watch?v=X_XGxzMrq04). :)
Comment: If I don't forget I'll check tonight how spiders act and then update to an answer instead of a comment. But that'll be at least 6 more hours until I can do so.
Answer: Spawn Mechanics
The only thing that is affected underground is that at night you will have less mobs because they will be spawning above ground,
In single player the caps are as follows

Hostile = 79
Passive = 11
Ambient = 16
Water = 5

so at night say 20 mobs are spawned above ground that means that only 59 could spawn below and that is in all current cave networks that are loaded underground (chunks loaded)
The cap is checked once at the beginning of each spawning cycle. If the number of living mobs in a category is over its cap, the entire spawning cycle for that category is skipped.
This means that it is safer to mine at night. as there is the possibilty of more mobs underground during the day where it could reach the full cap.
Another win for the clock item
Additionally to note is that if a hostile mob has had no player with 32 blocks of it for more than 30 seconds then it has a 1/800 chance of despawning Per spawncheckcycle. and those are every 5 ticks, this applies to Y distance so the deeper underground you get the less mobs on the surface.
Also if you are more than 128 blocks of a hostile mob it will immediately despawn

Note that this is a Euclidean sphere, not a cylinder from map top to
  bottom and not a taxicab sphere (which is more like an octahedron)

Also Mob behaviour

Spiders are hostile as long as the light level immediately around them is 9 or less. If they are found in an area with a higher light level, they won't attack unless a player attacks first. Hostile spiders will continue to chase the player even if they are exposed to daytime or other well-lit locations. Conversely, a spider won't become hostile around a player when roaming in daylight, but if it wanders into a moderately shaded area (e.g. under a tree or rocky overhang) it will turn hostile and remain that way.

and then you have the obvious which is that zombies and skeletons will catch fire if they are in daylight.
No passive mobs are affected by the day/night cycle, their spawn rates and behaviour won't change during either. (wish the chickens would sleep so I could have peace and quiet)
Comment: Nice answer. You should make it clear that the 32/128 block distance is euclidean (i.e. radius), rather than a cube. The 1/800 chance to despawn is per tick, I assume?
Comment: Does Minecraft still have that glitch where making a spider fall from a height that causes damage while hostile and in bright light causes it to turn non-hostile towards the player?
Comment: Per spawncheckcycle. and those are every 5 ticks IIRC.
Comment: You should really put the sources of your information
Comment: information was taken from the minecraft wiki then interpreted
Comment: @Zibbobz it did the last time i did it but that was in 1.7.2


Pivot Tables and Charts Blank after Excel Opens and Refreshes Data Sources

Question: I have an Excel 2010 workbook that contains two SQL Connections.
Both connections are configured to refresh when the workbook opens.
There are two data tables in my workbook, each with a connection to one of these connections.
I have 3 Pivot Tables and 3 Pivot Charts that are sourced from these two tables.
When I open my workbook, for a split second, I can see the tables and charts formatted as one might expect them to be, and as I last saved them.
After the data tables have refreshed, all three of the Pivot Tables and Charts go blank:

Also, when I click anywhere on any Pivot Table, the Field List appears to the right with a list of generic Columns, like:
<code>[] Column1
[] Column2
[] Column3
[] etc.
</code>
If I right-click on the Pivot table and choose refresh, the Field List then updates with the actual column names shown at the top of each data table, from which that Pivot table is sourced...
But still no data, rows, or columns appear in the Pivot table.
What do I do to prevent this? My Pivot tables and charts should show updated data and results, not go blank.
Help, thoughts, comments always appreciated.
Answer: I was able to resolve the issue by going into the Connection Properties dialog box (on both connections), and on the Usage tab, un-checking the check box 'Remove data from the external data range before saving the workbook', which I had previously checked.
But I don't know WHY this fixed the issue.
Anyone care to explain?


Why do objects weigh less the further from Earth's center?

Question: I just finished watching a video on gravity. It stated that an object weighs less the further it is from the center of the earth. Example being on a mountain top or at the equator being that the earth is not round but slightly oval shaped and so at the equator an object is also further from the center of the earth. So my question is…why would the same object weigh more on a much larger rocky planetary body such as the size of Jupiter when the object would be many times the distance from it's center? By saying that the closer an object is to the center of Earth, the heavier it would be, then wouldn't the surface gravity of the moon be 6 times heavier than on Earth instead of 6 times lighter being that the object is so much closer to the moon's center?
I know there's a scientific answer but it doesn't seem you would weigh less at the equator because you are further from earth's center.
Comment: Are you only considering objects above Earth's surface? Related: https://physics.stackexchange.com/q/18446/2451
Comment: The point is that you use the assertion to compare objects having different mass. That is true for the same object as force of gravity inversely depends on the distance between the center of the mass of the main body and that of whatever you use as probe ( outside of the surface).
Answer: Let's make a little base first then come to the main topic of our concern. What is the weight of a body?
There are actually two definitions of weight which use commonly and are both acceptable. You can find them in any text (ref: Introduction to Mechanics Klepner : Section - 3.3.3 Weight). For our purpose, we will use
The weight of a body is the gravitational force exerted on it by the Earth( or any other planet on which you are). At the surface of the Earth, the weight of a mass $m$ is
$$\mathbf{W}=-G\frac{M_em}{R^2_e}\hat{r}=mg$$
The familiar quantity $g$ is what we call gravity whose value is around $9.8 m/s^2$.
Our definition of weight has one minor drawback.

Valid on the surface of the earth but a good approximation above the surface.
Doesn't count the effect of rotation of the earth.

Now let's be clear about the drawback. The first problem is the exact force that the earth exerts on the body depends on the distance between the center of the earth and the center of the body. But because the body is too close to earth we don't count that little distance. Second Earth is rotating and so we are in a rotating frame of earth, so there is the pseudo force that acts on our body (so-called centrifugal force). The direction of this force is outward to the rotation axis of the earth.
These two effects must be taken into account because the machine that weighs you take these into account so that effective gravity may be greater or maybe less in some cases.
The following is the definition taken by the machine. It is taken to be the magnitude of the force on a body that must be exerted by its surroundings to support the body under the influence of gravity.
So when you are in free fall and weight yourself it's turn out to be zero.

Now let's write some math and prove your statements. These can be done without any math too, just with little intuition but that we will do later.
When we take into account earth rotation, the effective gravity given by
$$g_{eff}=g-\omega^2R\cos^2\alpha$$
where $R$ is the radius of earth and $\alpha$ is the latitude where the body is.
for the body at the equator, We have $\alpha=0$
$$g_{eff}=g-\omega^2R$$
which is a minimum. That's one of the answers.
Distance correction :
The following formula approximates the Earth's gravity variation with altitude:
$$g_h=g_0\left(\frac{R_e}{R_e+h}\right)^2$$
Where
$g_h$ is the gravitational acceleration at height h above sea level.
$R_e$ is the Earth's mean radius.
$g_0$ is the standard gravitational acceleration.
Variation with depth:
$$g_{eff}=g\left(1-\frac{d}{R}\right)$$
These formulas clear the other question of OP.

You don't need to look at these formulas to prove that your weight reduce. For example, the effect of centrifugal depends on the radius of the circle that is made from the point where you are around the axis of rotation. This radius has the highest value at the equator so there will great outward force on the equator so you expect your weight to be reduced.
Note that these effects are not too great so the formula we learning starting to remain a good approximation. Proof for formulae can found here.

Cheers! :)


How to add an object with texture inside another object?

Question: I am trying to make an eye. I made the iris in Photoshop and now I am trying to add it to a UV Sphere. I would like to make a realistic eye but maybe I am not in the correct way. Any thoughts? This is my work so far:
Comment: what do you mean by adding object to another object ?
Answer: The first thing you need is to model a proper eye. Like so:

The outer part is 0.1cm away from the inner in this case.

The outer part needs to be refractive (or even just transparent) and it will also need specular as it will catch the high spec of the eye.
Depending on the render budget you have you can add SSS to the inner part. I did in this case but the difference here is subtle. In this case i'm aiming cartoon semirealistic eye but the principles are pretty much the same for any eye.
You now have to UV unwrap the inner part. Easy, divide the eye in two parts on its XZ plane center and Unwrap.

Now you can add the diffuse texture to the inner part of the eye, but note that for a proper eye render you will need more than just a diffuse shader.
Personally I add a specular map only to the iris using an high IOR and roughness value, a bump (or displacement if needed) map aswell.
Here is the final graph of my setup:

and a little GIF preview:
Comment: Consider including a .blend file so that the user does not have to build all this.
Comment: Thanks a lot @Akelian. It is so wonderful. When you say "You now have to UV unwrap the inner part. Easy, divide the eye in two parts on its XZ plane center and Unwrap." What do you mean?  Sorry I don't have enough knowledge. Thank you.
Comment: @Akelian. For sure I will follow your stepts but I want to  compare with iris makes in photoshop so I'll make the eye but how can I add the iris? Thank you again.
Comment: i'll update the answer in the hour ;)
Comment: @Meri I have updated the post.
Answer: Idle Chit-chat
If you are going for realism, I would suggest switching to Cycles Render (much faster, newer, better, AND built for photorealism). So, this tutorial is for Cycles. This will be the final result:

Materials
I will use a sphere to represent the eye (smooth shading), and the following eye texture from Google (full size linked) in my demonstration.

With the sphere selected, go to the Materials tab in the Properties panel. + New a material to the sphere. Go into the Node editor, and use the setup shown.

Now, go to the sphere in the 3D Viewport. Tab into edit mode, Numpad 1 to front view, and Numpad 5 to orthographic view. Enter Face Select Mode. Select these faces:

Press U and select Project from View (Bounds). Split the screen into a 3D Viewport and a UV Image Editor by dragging the marks in the top-right corner to the left. Make sure you are still in edit mode. Open the image of the eye through the toolbar at the bottom of the UV Image Editor. The orange should already be aligned over the eye.
Final Notes
I added the nodes at the bottom to create red veins in the eye. It's more realistic.
Here is the finished .blend file:
Comment: Try to avoid explicit tutorials. The idea is for this answer to be helpful to as many people as possible. I think the human eye is common enough that this will still be useful to a lot of people, but try to be generic.
Comment: Thanks Shady, but that will not provide realistic result. You have to reproduce the way a real eye is made. I'm preparing a proper answer.
Comment: There is a place where it should have 3 buttons: a dropdown, a + New, and an open. Also, if this helped, consider accepting.
Comment: Thanks @Shady but I think you didn't finish. Now the eye is unwrap. Please can you go on? Because I want to make the pupil part. Thanks a lot for your time.
Comment: if I can help. I saw this tutorial https://vimeo.com/2830890 but I can't follow because I don't see anything and also the man doesn't talk much.
Comment: I did finish. If u did the node setup, everything should be good.
Comment: Ok, thanks. Do you know how to do it?
Comment: Just copy it or download the .blend file.
Comment: Cycles is not faster than Internal
Comment: Perhaps consider accepting?
Answer: There are many ways to accomplish this. One approach would be to select your UV Sphere (Eyeball), Tab into Edit Mode, and select a ring of vertices

From here, press Shift + S and choose Cursor to Selected from the drop down menu. Then Tab into Object Mode and select your iris object. Press Shift + S and select Selection to Cursor from the drop down menu. NOTE: the origin of your iris object needs to be in the middle of it's geometry. If it's not, select the iris object in Object Mode and choose the Set Origin drop down menu in the tool bar (Pressing T with your cursor in the 3D Viewport will toggle the tool bar on and off) and choose Origin to Geometry from the drop down menu.

Then in Object Mode, you can select the iris object and while holding down Shift key select the UV Sphere and press Ctrl+J to join the meshes or in "Object Mode" you can select the iris object and while holding down Shift select the UV Sphere and press Ctrl+P to parent the iris object to the UV Sphere.


What does 'seeding' mean?

Question: Very simple question. What does the term 'seeding' mean in general? I'll put the context, i.e., you must seed for random functions.
Comment: The title is supposed to be short, and the actual post should explain the question ..... not the other way around.
Answer: It means: pick a place to start.
Think of a pseudo random number generator as just a really long list of numbers. This list is circular, it eventually repeats.
To use it, you need to pick a starting place. This is called a "seed".
Comment: Some slides that talk about seeding.  A simple LSFR PNRG is likely the easiest way to visualize this. See  and the associated links.
Answer: Most random functions that are common on personal computers aren't random, but deterministic to a degree.  The 'seed' for these psuedo-random functions are the starting point upon which future values are based.  This is useful for debugging purposes: if you keep the seed the same from execution to execution you'll get the same numbers.
To get numbers that are more random a different seed is often used from execution to execution.  This is often based on the time of the machine.
This method is completely different than generating a 'true' random number based on some sort of physical property in the world around us.  Lava lamps and sun spots are two of the more 'fun' properties that can be observed to generate 'more random' numbers.  Anyone can hit http://www.random.org/ to get a real random number if its truly neccessary like for a poker website.  If you don't have a good generator folks can attempt to figure out how the generator works and predict future numbers.
Answer: Imagine a card game and development of the game program vs. running the game to actually play it.
Pseudo-random number generators use a seed or seeds to determine the starting point of the sequence. Some of them always make the same sequence, others can produce different sequences depending on the seed. Some use a cascade, a simple RNG is given a simple seed, and this is run for a while to produce a more complex seed for the masterpiece RNG.
It is quite useful to be able to deliberately repeat the sequence when developing the program or when one wishes to reproduce previous results.
However, imagine a card game. It's obviously not a good idea to always deal the same sequence of cards.
Answer: "Seeding" random function prevents it from giving out the same sequence of random numbers.
Think of it as a super-random start of your random generator.

What does 'seeding' mean?


Is it ok to have similar content on my personal and business website?

Question: I have a personal site that has a totally different blogging audience than my business website; however, some content (like my About page) is almost exactly the same on both websites. Would I incur any type of penalties from search engines for having duplicate content if both sites have a link to each other?
Comment: Yes. Pick the site which is most important to you and have it be the canonical source (meaning put canonical URLs on the other site).
Answer: As John Pointed out, the best way to intimate Google about duplicate content would be via a canonical tag. If not done, I am not sure if there will be a penalty but Google will certainly prefer one of the pages over the other.
In case you prefer the page from the business website to be picked by search engines, your canonical should be present on the personal website's page and should look like this
<code><link rel="canonical" href="<your business website's about page url>" />
</code>
A suggestion: If I were in your position, I will do this - I will elaborate on my business on the business about page with a little introduction about myself. I will place a link to my personal about page from there. Similarly, on the personal website's about page, I will elaborate on my career, track record, achievements, etc., with a brief introduction to my business. I will place a link to my business about page from there. By doing this I would have improved the content quality, relevance, and uniqueness of both pages. Plus I would have eliminated the need to place a canonical.
Comment: Thanks! I think I'm going to go along with your suggestion as that sounds like the best idea. I appreciate it!
Answer: Don't copy paste or duplicate the content. There are only two methods to get rid of Google penalty.

Either add Canonical tag on website
Add Unique content on site


Does anyone have references on classical field theory that develops the differential form formalism?

Question: I am familiar with the usual way of doing Classical Field Theory, but I am currently taking a course where the professor works with differential forms to teach the subject. I wonder if anyone knows where I can read more about this.
Comment: isn't it easier to just ask your professor?
Comment: We did, but he didn't know any references.
Answer: A somewhat advanced but still physics oriented exposition can be found in Section 5.4 of

Geometry, Topology and Physics, Mikio Nakahara, CRC Press.

Another approach, still very physics oriented, but a bit longer and slightly less andvanced can be found at Chapter 18 of

Modern Geometry - Methods and Applications: Part I, B.A. Dubrovin, A.T. Fomenko, S.P. Novikov, Springer.

The book itself is very good, it builds everything from the start and I strongly recommend it for a first approach to geometry for physicists.
If you need something quick and to the point you might also like Section 2.8.2 of

D-Branes, Clifford V. Johnson, CUP.

Even though the book talks about $D$-branes, the section I pointed you to is self contained and understandable from someone that does not have that kind of background.
There is also Section 8.8 of

Quantum theory of Fields, Volume 1,  Steven Weinberg,  CUP.

which is really short but talks about $p$-form electrodynamics, so it might be interesting to look at.
Comment: From the banner: *Please write substantial answers that detail the style, content, and prerequisites of the book, paper or other resource*
Answer: Harley Flanders, "Differential Forms with Applications to Physical Sciences". Author spends a lot of time to develop the understanding of forms, exterior derivatives, determinants, star operator, push-forwrds and pull-backs. Developes the notion of integration on manifolds and the Generalised Stokes theorem. The style is Theorem-Proof+ some discussion. Does include specific sections to link it to Physics, but this feels like a book by a mathematician. I found it tough going and had to come back to it several times, but it did pay off.
David Lovelock and Hanno Rund, "Tensors, Differential Forms, and Variational Principles".
One of my favourites. Really good for developing the grasp of tensor calculus. Helped me to develop a strong understanding of the covariant and Lie derivatives. In the later sections links to Physics of General Relativity and Variational Calculus. There is a chapter on differential forms. This chapter is in my opinion not the strongest one, but it links to other parts in the text which helps to place the differential forms into the conventional context of vector/tensor calculus as it is taught to Physics students. The style is more common to physics books definitions+discussion (few Theorem-Proof sections)
David Bachman, "A Geometric Approach to Differntial Forms", helped me to tie together bits from the two previous books. In particular helped me to understand the notion of the tangent and co-tangent vector spaces on manifolds. Less axiomatic and more illustrated than Flanders, but still good.


Interpolation of $\mu(t,X(t))dt+\sigma(t,X(t))dW(t)$

Question: Let's assume that we have SDE
$$dX(t)=\mu(t,X(t))dt+\sigma(t,X(t))dW(t)$$
and we simulate it on a time grid which contains points $t_k$ and $t_{k+1}$. How can we then calculate value of $X$ at time $t_k < t <t_{k+1}$?
Comment: The log of this process is a Brownian Motion with drift. So perhaps you could use a Brownian Bridge on the log.
Comment: You could adjust your time grid, but presumably you would like to avoid this in order to save computation time.
Interpolation could be conducted in many ways, the easiest would be just a linear interpolation.
Comment: https://www.mathworks.com/help/finance/sde.interpolate.html
Answer: That is a tricky question because interpolation seems to be ok if you need one point $\tau$ between $t_k$ and $t_{k+1}$ but it is not.
The difficulty arise a direct way if you want two points inside $[t_k,t_{k+1}]$: you immediately see that there is no randomness between your two new points and the previous ones because they all belong to the same line: where is the $dW$ component of your SDE?
In fact even with one point it is not that simple, because you reduced the randomness in the $t_k,\tau,t_{k+1}$ sequence...
What you need is a Brownian bridge that will preserve the randomness.
But indeed what is the best is to simulate your SDE with more points from the start, because I guess that if you need one point soon you will need more. May be you are talking about sampling one new point between $t_k$ and $t_{k+1}$ for all your $k$s... that's too much because you will decrease the randomness of any statistic you will compute on this new "grid".
I do not know what is the usage of these new points,

if you simply want to understand what is happening between two nodes of your grid and you do not want to throw away what you have (without paying the "complexity" of coding a Brownian bridge), may be running another simulation with a grid that is translated by $(t_{k+1}-t_k)/2$ (that I suspect is constant) could be a solution. Now you will have two independent simulations and may be you can learn more with 2 than with one that has twice the number of points.
if you want to understand what happens between any two $t_k$ and $t_{k+1}$ independently of $k$, or for a specific value of $(X_k=x,\mu_k=m,\sigma_k=s)$ you can run a lot of simulations starting from this specific $(x,m,s)$ state with a finer step.

(It is alway good to start by the usage of a simulation to understand how to extend it optimally).


what are the hot areas/future in computer science/machine learning in the next decade?

Question: what are the hot areas in computer science/machine learning in the next decade ? I am interested in knowing this since deep learning/machine learning which dominated in the last decade has saturated almost .
Answer: Super broad question, however, in case you want to keep it more down-to-earth then MLOps will certainly get increasingly important. After peak hype we'll see peak adoption into everyday businesses - someone has to deploy and maintain those machine learning systems. Another area will be low-code/no-code solutions as I really don't think we are anywhere near 'saturation', but most untouched areas/businesses will get the advantages of machine learning via respective tools that don't require in-depth knowledge. With that, machine learning will become more focused on software application rather than actual development.
If you are disappointed and want to get more fancy maybe quantum machine learning - who knows? Since the disparity in AI regarding progress on different levels and in different areas increasingly grows, I think there will be many opportunities in different niches in AI. All depends on your definition of 'hot'.


How can I remember to periodically check the minimap and resources?

Question: During the game, or battle, I always forget to look at the minimap, to spend free money or build a pylon. Maybe someone knows any application that will monitor this and will not be blacklisted by Blizzard. I don't need cheat software for which you can banned in battle.net. I need a way to increase my own skills.
Answer: I know two such tools. Both of them based on day 9 mental checklist idea:

day 9 coacher that simply loops sounds
sc2drill application. I recommend this one. It allows you to define independent notification loops for map / production /resources event. Plus this tool has "smart" mode ("score & notify" as I remember) to notify only when you stops to check you production buildings etc
Answer: There really isn't a kind of program that will monitor it for you.
It's simply something that you'll have to practice.
During the heat of battle it is difficult to manage these things. One of the things I did a few times was just to do a few practice games versus the AI and all I focused on was building units, checking supply, upgrading, etc. I rallied my buildings to the AI's base so they would keep getting killed. I kept a few units at home to make sure I didn't keep dying. It also helped my micro to try to survive with small armies.
Eventually it becomes part of your mental checklist and it will become part of your gameplay.
Comment: ...Why the downvote?
Comment: +1. "Just freaking practice it" is excellent advice. You can develop your own tricks to doing it, but if you are bad at something, focus on that thing, play some games against AI and just freaking practice it until it becomes second nature. No tool can give you an instinct.
Comment: Thanks tenfour, I thought I said something wrong when I got the down vote. No program can give you the skills you require to play Starcraft well. And as a secondary note, stuff like that isn't allowed in tournament style play so a built up reliance on a program to remind you to build pylons or spend money is a pretty bad habit to form.
Answer: Cover your entire screen except the minimap and food count, so you will always look at the minimap and you will never psi block yourself :P
hehe kidding, you have to get used to ALWAYS look the minimap, and bounce at the food count constantly.
For spengind money, try watching Day[9]'s "steal a build" (#289) daily, it can really help.
You can find it on day9.blip.tv
Answer: One way to get better is turn on (or up) the in-game sounds which tell you when you are out of psi, or when "your forces are under attack" etc...  Every time you hear these reminders without being first aware of them, scold yourself (open-palmed face slap should work).  Eventually these things become second nature.  Somehow pylon timing is now ingrained in my brain, I almost cannot help but put them down when they are needed.
Comment: Good suggestion, it helped you while you are not 'heat' though.
Comment: Man, when it says "You need to build more pylons", you are already supply blocked... It's too late... I think no program can make you build pylons at the good time, only practice can.
Comment: dag, -1 huh?  I thought that was a decent suggestion, thats how I did it and I turned out all right...  My cannon rushes are unstoppable!!


How do I get a list of obsolete packages?

Question: I'm trying to figure out a way to get a list of the packages that are no longer available in the repositories that I have enabled. This workstation has been through quite a few versions of Ubuntu and has had many 3rd party repositories added and removed. I'd like to get a list of software that I have from these removed repositories, so I can clean it up or add back the appropriate repositories.
Answer: aptitude search '~o'

Aptitude has some very powerful searching available.  Unfortunately the syntax is a bit unwieldy and you have to dig past the manpage to find the documentation, but its worth it.
apt-show-versions can also be helpful:
apt-show-versions | grep 'No available version'

Comment: Another useful list is generated by ```apt-show-versions | grep "newer than version in archive"```
Comment: see a nice article about obsolete packages here: http://raphaelhertzog.com/2011/02/07/debian-cleanup-tip-2-get-rid-of-obsolete-packages/
Comment: I think apt-show-versions is the best simply because the aptitude line is extremely counter-intuitive to remember. Every single time I need it I have to google it/look it up/save it/make a script/etc.
Answer: Starting with Ubuntu 19.10 it is also possible to run
apt list ?obsolete

to get the list of obsolete packages.
For any release you could use the following Bash one-liner:
comm -23 <(dpkg-query -W -f '${db:Status-Abbrev}\t${Package}\n' | grep '^.[^nc]' | cut -f2 | sort) <(apt-cache dumpavail | sed -rn 's/^Package: (.*)/\1/p' | sort -u)

No need to install extra packages for this, plus this is relatively fast. This will also find partially installed packages (but will not find those that have only configuration files remaining; that could be changed easily, though). Note: this does not care of which architecture the packages are.
If you want to include packages that have a different version installed than what is available from the repositories, you could you one of the following:
Use modern apt:
 apt list --installed | awk -F/ '/\[installed,local\]/{print $1}'

As for Bionic (and maybe for earlier releases) there is yet another option:
ubuntu-support-status --show-unsupported

read the package names under "No longer downloadable:" section.
If you use Focal or later release, you can use
ubuntu-security-status --unavailable

instead; you can read the package names below text "packages are no longer available for download". This is not the fastest option. This command has been replaced later by
pro security-status --unavailable

Comment: 'apt list --manual-installed | grep -v cosmic' shows false positives. This answer is much better!
Comment: @TamusJRoyce, yes, I suppose so now after editing.
Answer: To get a list of apps that are not in a Registered Repository or PPA do this:
sudo apt-get install apt-show-versions
apt-show-versions | grep 'No available version'

That should output text like this:
app1 220.127.116.11 installed: No available version in archive
app23 0.3.6 installed: No available version in archive
app332 7.0.9377 installed: No available version in archive

For me this worked and showed three apps I installed using DEB packages and weren't available in a Repo or PPA.
Do remember though that it's impossible to check for all programs, only the ones that went through dpkg. For instance, some apps are installed by simply extracting them into the correct folders, or others use a standalone installer bin or script. So the best way is for you yourself to keep a list of apps you installed via any method other than APT.
Comment: Works for all my local `dpkg` installed packages. One exception. It lists `skype-bin`, whereas `apt-cache policy skype-bin` clearly shows the Canonical partner repo. I'm not sure what is going on. Multiarch issue? Still +1 for `apt-show-versions`!
Comment: aptitude calls these 'obsolete' packages. See chronitis comment above.
Answer: If you have aptitude installed use,
aptitude search '?obsolete'

or its short form
aptitude search '~o'

Here it is a sample output
i A gcc-4.7-base - GCC, the GNU Compiler Collection (base package)
id  libdb4.7     - Berkeley v4.7 Database Libraries [runtime]
i   libudev0     - libudev shared library

The first character of each line indicates the current state of the package. The most common states are:

p, meaning that no trace of the package exists on the system,
c, meaning that the package was deleted but its configuration files
remain on the system,
i, meaning that the package is installed, and
v, meaning that the package is virtual.

The second character indicates the stored action to be performed on the package, if any, otherwise a blank space is displayed.
The most common actions are:

i, meaning that the package will be installed,
d, meaning that the package will be deleted, and
p, meaning that the package and its configuration files will be removed.

If the third character is A, the package was automatically installed.
For a complete list of the possible state and action flags, see the section Accessing Package Information in the aptitude reference guide.
Comment: `aptitude search ?obsolete` may work in bash, but you should use `aptitude search '?obsolete'`
Comment: could you add some detail on parsing the output?
Comment: Is '?obsolete' different from '~o'?
Comment: @Sean No, they are not different. ~o is the short form for ?obsolete indeed.
Comment: The quotes are parsed out by the shell. I think what A.B. meant is that you shouldn't pass weird character unescaped on the command line because you don't know what your shell is going to do with them.
Comment: That makes sense. Quotes added to the answer.
Answer: More info to investigate.

ubuntu-support-status
echo "$(sudo apt-mark showmanual | wc -l) packages marked as 'manually installed'."

... ubuntu-support-status and apt-mark may require installation.
Comment: Read the output of `ubuntu-support-status --help`
Comment: No need to use `sudo` with `apt-mark showmanual`.
Comment: `ubuntu-support-status` lists the number of obsolete packages, but not the package names.
Answer: There may be a cleaner way, but off the top of my head you can do
dpkg -l | cut -f 3 -d ' ' > installed
xargs -n 1 --replace=X apt-cache search ^X$ < installed | cut -f 1 -d ' ' > available
diff installed available

Cleanup the first few lines of the installed file: it will have headers.
Bonus if anyone can fix my syntax highlighting...
Comment: if you are going to use the output of `dpkg -l` to get a list of installed packages, you should limit the results to lines with 'i' in the second column, as dpkg will also list packages which are not installed (perhaps removed but not purged).  as an example, altering your first command to be `dpkg -l | grep '^.[^i]' | cut -f 3 -d ' '`  it would return a list of packages, which are NOT installed. (but once were)
Comment: also, `apt-cache search someinstalledpackage` will return something even if the package isn't available from a repo, so I don't believe this will work at all.
Comment: @stew I'll leave this up here to see if anybody reaches conclusions, but your answer is definitely far better. +1 to you.
Comment: @stew `dpkg -l | grep '^.[^i]' | cut -f 3 -d ' '`also prints some header lines.
Comment: Even if this answer worked, it would be very slow as it would run `apt-cache search` for each package separately.
Comment: I can confirm what @stew told about `apt-cache search`. I used similar idea in my [answer](https://askubuntu.com/a/1174885/21005), but I used formatted `dpkg-query -W`, `apt-cache dumpavail` and `comm` instead of `dpkg -l`, `apt-cache search`, and `diff`, respectively.
Answer: As mentioned apt-get search is not a good method to check if a package is still available. Additional I've added everything to just one line:
for i in `dpkg -l | grep '^i' | awk '{ print $2 }'`; do apt-cache show $i > /dev/null || echo $i; done

Comment: And why `grep '^i'`
Comment: @A.B. good point; that does not tell, if the package is installed, but that the package's desired action is to be installed. See `man dpkg-query` for more information.
Comment: This is very slow
Comment: `apt-cache show` does is neither good for checking if the package is availabe. If you disable the respective repository, and no other enabled repository has it, it still shows the package.


Can you play in Minecraft Xbox one with a Xbox 360 Controller?

Question: Me and my friend want to have a split screen thing in Minecraft but he has  a Xbox 360 controller and we are playing in Xbox one. Can you play in Minecraft Xbox One with a Xbox 360 controller?
Comment: If someone accepts my edit add `controllers` tag please.
Answer: As per Xbox.com:

Q: Can I use my Xbox 360 wired/wireless controller, accessories (racing
  wheel, wireless headset, etc.), or power supply with Xbox One (or vice
  versa)?
A: No. Controllers and accessories that work with Xbox 360 won't work
  with Xbox One (and vice versa). Also, the power supply from the Xbox
  360 does not connect to the Xbox One console, and it will not satisfy
  the new console's power requirements.
Answer: If you have a PC you can stream the game via the Xbox app.  You can use a 360 controller to play streamed games.  Note, you will need to use a wired 360 controller or use a wireless adaptor for the PC to recognise the controller.
Answer: No, because they're in different platforms. A 360 controller won't work for an Xbox One.
Comment: "No, because they're different plataforms" isn't a good reason. You can buy a PS1, PS2, PS3 and PC compatible controller and it will work on all 3 consoles. One example is the [Lifetech Gampead AngEvil](http://www.lifetech-world.com/productdetail.cjp.htm?id=107) (Sorry, there's no English version)
Comment: Note: Xbone is short for Xbox One.


Optimal voltage range for A/D Conversion

Question: Why the voltage corresponding to the ADC  result of 25 is 1.07 v (for a 10 bit A/D converter with a low reference voltage of one and high reference voltage of four) shouldn't the A/D conversion result be as it is , meaning 25 volts? In the manual it says  the ADC result is more accurate if the value of the analog signal covers the whole voltage range from VRL to VRH.
Comment: Uh... what? Are you talking about the ADC in a microcontroller? Please provide some context, such as which device you're using, etc...
Comment: The reading is relative to the maximum value. According to my calculation, 25 corresponds to 1.097V which comes close to the expected value.
Answer: The output of a 10 bit ADC is a number between 0 and 1023.
But very few applications require measuring a voltage between 0 and 1023 V.
Luckily (for people who don't happen to want to measure voltages between 0 and 1023 V), we can arrange for the ADC output to be scaled to measure essentially any range we want. Typically we measure between 0 and some value \$V_{ref}\$, but other ranges are possible (for example \$-V_{ref}\$ to \$V_{ref}\$). The datasheet for your ADC will tell you what the conversion range for your device is, and may also allow you to adjust the range, for example by providing an external reference voltage on one of the device's pins.
For the case of 0 to \$V_{ref}\$, assuming an ideal linear ADC, the actual input voltage can be recovered from the ADC reading by
$$V_{in}=V_{ref}\frac{d}{2^n-1}$$
where \$d\$ is the ADC reading, and \$n\$ is the number of bits produced by the ADC.

In the manual it says the ADC result is more accurate if the value of the analog signal covers the whole voltage range from VRL to VRH.

This isn't quite right. It should say the ADC provides more resolution, or better precision, if the analog signal uses the whole voltage range.
For example, say your ADC is set up to give 10 bits of resolution for input voltages between 0 and 5 V, but your input signal actually only varies between 0 and 1 V. Then you'll only read output values between 0 and 205. So you have only 8 effective bits of resolution in your signal range. And the voltage resolution is only 4.89 mV per count.
If you reduced the ADC reference voltage to 1.023 V (a convenient value), then you'd have very nearly the full 10 bits of resolution over your signal range, and the resolution in terms of voltage would be 1.0 mV per count.
Comment: @MaryE, You can get higher resolution 3 ways: 1) Adjust the reference voltages to more closely match the actual signal range. (your first idea) 2) Add a preconditioning amplifier to adjust the input range to match the reference voltage (your second idea), or 3) buy an ADC with more bits resolution. Which one is best depends on the exact details of the situation.
Comment: Nice answer @Photon.
Comment: @The Photon, you are talking about reducing the reference voltage to 1.023 V in your example to increase the resolution, so in order to increase the resolution we should always change the VRL and VRH ? SO the input voltage is known and the voltage references of ADC in an MCU should be changed accordingly?
Comment: @MaryE, you never defined what VRL and VRH mean, so I can't really tell you anything for sure about them.
Comment: An A/D converter needs a low reference voltage (V RL ) and a high reference voltage (V RH ) to
perform the conversion. The V RL voltage is often set to ground, whereas the V RH voltage is often
set to V DD . Some microcontrollers simply tie V RL to the ground voltage and leave only the V RH
voltage programmable.
Comment: Quoted from a text book HCS12 microcontroller
Comment: I think I figured out the answer to my question in the comments: We use voltage scalers between the input and ADC so that the input voltage use the whole voltage range of ADC...Let me know please if I am wrong.


Connect PVC to metal drain pipe, no interior thread

Question: I moved into a house that has a slop sink in the basement. The sink drains through a PVC pipe, which is plugged in to an opening in a metal drain pipe. The PVC and the interior of the opening are both unthreaded. Not surprisingly, this connection leaks. How can I make a proper watertight connection? Here are two photos. Thank you!
Answer: That's probably a polypropylene drain trap tailpiece, not a PVC pipe at all. Thinner wall, different sizes, different techniques to seal.
The corroded bit with threads looks like a trap adapter upon careful examination. Tailpieces slip-fit into those and the nut on the end tightens to make a seal against a wedge-shaped washer around the tailpiece. No threads on the inside is normal and expected. Since the trap adapter appears to be threaded into the Tee, the expected threads inside THAT appear to be there.
Depending how bad the corrosion is, you might need a new trap adapter, or you might just need a new wedge seal inside that nut, around the tailpiece, and to tighten the nut properly when the trap is positioned correctly (they slip fit so you can adjust things.)
You might also need to adjust the height or angle of the trap, as the picture appears to show a rather severe angle that will make it difficult or impossible to get a seal. Some minor misalignment can be tolerated, but not too much.

The blue bit is either missing, or not being tightened enough by the yellow bit to work. Turn the diagram 90 degrees to match your connection. You don't have a second tube, you have a trap adapter that connects to pipe threads, but otherwise it's the best diagram I could track down for now.
IF you actually have a PVC pipe there, just remove the thing I think is a trap adapter and replace it with a PVC to MPT (Male Pipe Thread) adapter. But I bet that's not what you have here.
Comment: Thank you Ecnerwal! Your analysis of the situation is likely correct. I can't get the slip joint nut to turn at all. Perhaps it's too corroded to budge.
Comment: Then get a big pipe wrench and remove it from the Tee, and get a new one to replace it. Your choice of whether a big pipe wrench is a buy, rent, or "very expensive rental complete with operator" transaction.
Comment: I ended up just jamming the tailpiece into the trap adapter as firmly as possible and wrapping the junction in some waterproof, self-adhering, stretchy plastic tape. So far, so good.


lex (flex) generated program not parsing whole input

Question: I have a relatively simple lex/flex file and have been running it with flex's debug flag to make sure it's tokenizing properly. Unfortunately, I'm always running into one of two problems - either the program the flex generates stops just gives up silently after a couple of tokens, or the rule I'm using to recognize characters and strings isn't called and the default rule is called instead.
Can someone point me in the right direction? I've attached my flex file and sample input / output.
Edit: I've found that the generated lexer stops after a specific rule: "cdr". This is more detailed, but also much more confusing. I've posted a shorted modified lex file.
/* lex file*/
%option noyywrap
%option nodefault

%{
       enum tokens{
                CDR,
                CHARACTER,
                SET
        };
%}

%%

"cdr"                                               { return CDR; }
"set"                                               { return SET; }

[ \t\r\n]                                           /*Nothing*/
[a-zA-Z0-9\\!@#$%^&*()\-_+=~`:;"'?<>,\.]      { return CHARACTER; }

%%

Sample input:
set c cdra + cdr b + () ;

Complete output from running the input through the generated parser:
--(end of buffer or a NUL)
--accepting rule at line 16 ("set")
--accepting rule at line 18 (" ")
--accepting rule at line 19 ("c")
--accepting rule at line 18 (" ")
--accepting rule at line 15 ("cdr")

Any thoughts? The generated program is giving up after half of the input! (for reference, I'm doing input by redirecting the contents of a file to the generated program).
Answer: When generating a lexer that's standalone (that is, not one with tokens that are defined in bison/yacc, you typically write an enum at the top of the file defining your tokens.  However, the main loop of a lex program, including the main loop generated by default, looks something like this:
while( token = yylex() ){
    ...

This is fine, until your lexer matches the rule that appears first in the enum - in this specific case CDR. Since enums by default start at zero, this causes the while loop to end. Renumbering your enum - will solve the issue.
enum tokens{
            CDR = 1,
            CHARACTER,
            SET
    };

Short version: when defining tokens by hand for a lexer, start with 1 not 0.
Answer: This rule
[-+]?([0-9*\.?[0-9]+|[0-9]+\.)([Ee][-+]?[0-9]+)?
          |

seems to be missing a closing bracket just after the first 0-9, I added a | below where I think it should be.  I couldn't begin to guess how flex would respond to that.
The rule I usually use for symbol names is [a-zA-Z$_], this is like your unquoted strings
except that I usually allow numbers inside symbols as long as the symbol doesn't start with a number.
[a-zA-Z$_]([a-zA-Z$_]|[0-9])*

A characters is just a short symbol. I don't think it needs to have its own rule, but if it does, then you need to insure that the string rule requires at least 2 characters.
[a-zA-Z$_]([a-zA-Z$_]|[0-9])+

Comment: Fixed the mismatched square brackets, but no luck. However, I did manage to duplicate the issue with a shorter set of rules.
Comment: To answer how lex would react, it would just fail the rule and stop. Because the brackets never get matched, a valid rule is never stated. ( the 9* would just act upon the 9, and doesn't hurt the program too much)


Is there any reason in particular encryption keys aren't arbitrarily large?

Question: It's my understanding that the more bits an encryption key has, the longer it takes to break the encryption. What is the down side of having a larger encryption key or why don't we see keys of size 2^100 bits? Someone I worked with said it's the law made by the government encase they ever need to crack it, but this doesn't sound likely.
Comment: A key of 2^100 bits would take 144,115,188,075,855,872 terabytes of space just to store it.  Clearly it would be physically impossible to work with a key that large.
Comment: @BrianRogers where do you get that from? A 2^100 bit key is 2^100 bits?
Comment: Yes, "a _n_-bit foo" means "a foo of _n_ bits", for every meaning of "foo".
Answer: Speed. While keys can be large, if they are too large you're algorithm will be so slow that it's not workable. Normally multiple key sizes are defined by NIST and their estimate until it will be feasable to crack these.
For instance AES-128 would take:
<code>128-bit Key = (3.4 x 1038) / [(10.51 x 1012) x 31536000]
                = (0.323 x 1026)/31536000
                = 1.02 x 1018
                = 1 billion billion years
</code>
If you assume:

Every person on the planet owns 10 computers.
There are 7 billion people on the planet.
Each of these computers can test 1 billion key combinations per
second (and that's quite high).
On average, you can crack the key after testing 50% of the
possibilities.
Then the earth's population can crack one encryption key in
77,000,000,000,000,000,000,000,000 years!

So if you take a 2^100 you will not increase your security that much. Infinity is still infinity.
Your friend is not entirely wrong when it comes to requests of government agencies to weaken cryptography. Note that the U.S. still regards cryptography as a weapon. Since World War II, many governments, including the U.S. and its NATO allies, have regulated the export of cryptography for national security considerations, and, as late as 1992, cryptography was on the U.S. Munitions List as an Auxiliary Military Technology.
Recently it was discovered that RSA Laboratories was paid 10 million USD to cripple the random generation of one of their products:

Documents leaked by former NSA contractor Edward Snowden show that the
  NSA created and promulgated a flawed formula for generating random
  numbers to create a "back door" in encryption products, the New York
  Times reported in September. Reuters later reported that RSA became
  the most important distributor of that formula by rolling it into a
  software tool called Bsafe that is used to enhance security in
  personal computers and many other products.

On the other hand they also increased security of DES back in the 70's by helping on the design of the S-boxes of DES. In the early 90's it was discovered that this significantly increased the difficulty of brute forcing DES keys. As Bruce Schneier said:

So, how good is the NSA at cryptography? They're certainly better than
  the academic world. They have more mathematicians working on the
  problems, they've been working on them longer, and they have access to
  everything published in the academic world, while they don't have to
  make their own results public. But are they a year ahead of the state
  of the art? Five years? A decade? No one knows. It took the academic
  community two decades to figure out that the NSA "tweaks" actually
  improved the security of DES. This means that back in the '70s, the
  National Security Agency was two decades ahead of the state of the
  art.

References:

Mohit Arora,  eetimes, How secure is AES against brute force
attacks?
Joseph Menn, Reuters, Secret contract tied NSA and security industry
pioneer
Bruce Schneier, CNET, Saluting the data encryption legacy
Comment: I don't think that the way you calculate brute-force duration is meaningful. It's not like an attacker will use general purpose. If you'd use all of humanity's electricity production (2.3 TW) to power specialized cracking hardware (say 4 billion keys per Joule) it'd take six hundred million years to crack a 128 bit key.
Answer: The main reason for this would be speed as a trade-off against security.  Larger encryption keys usually take longer to process and (assuming that the underlying algorithm and implementation are sound) beyond a certain key length increasing it provides no practical additional security.
For example with 128-bit AES (which is a common standard used in SSL amongst other places) it would take an impractically long time to crack a 128-bit key, so making it any longer provides no practical benefit and does slow things down.
AFAIK the longest symmetric key that has been brute-forced in public was a RC5-64 bit key found by Distributed.net
Comment: Since a 128-bit AES key would be impractical to brute force, and AFAIK there are no known hacks, does this mean that the perfect encryption algorithm has been discovered and there isn't much research in the field of encryption?
Comment: I'm no cryptographer (you may be best asking that kind of question at http://cryptography.stackexchange.com/) but I'd say that AES isn't necessarily the best fit for all circumstances and there there is a lot of research in the field of encryption as there can always be better ways to do things :)
Comment: @Celeritas : The fact that there are no known ways to hack AES doesn't mean that it's impossible to find a hack in the future. Nobody proved mathematically that it's impossible to find a hack.
Answer: Keys of size 2^100 bits? Are not commonly used as there are not appropriate algorithms, handling such a large keys is inconvenient and slow. And, 256-bit keys are strong enough.

The answers to this question How much would it cost in U.S. dollars to brute force a 256 bit key in a year? on crypto.SE clearly indicate that 256-bit symmetric keys are strong enough. (Note: There exists some cases, where stronger than 256-bit crypto could be good idea, for instance, if intent is to keep a secret for more than, say, one hundred years.)
Some common asymmetric cryptography algorithms and MACs use larger keys, but that's it. There is little use for very large symmetric encryption key. Very large keys have following disadvantages:

It is harder to keep large keys secure (there is issue to store the key securely).
New algorithms would be needed. If keys are very long, it the algorithms to process data with the keys would be very complex.
Complex is also slow.
Current generation of cryptographic algorithms has been designed so that their features, including block size, key size, internal structure, key schedule, number of round work well together. To change any of these parameters (like key size, or block size) will mean that each of the other parameters need to be tuned for the new size. Likely design will change in few places.

In AES algorithm supporting 128-bit keys, 192-bit keys, 256-bit keys, change in key size produces following changes: somewhat more processing in key schedule for larger key, and, 10 rounds for 128-bit key, 14 rounds for 256 bit key. Finding good structure for the function and amounts of rounds providing suitable security margin is very hard.

Keys for algorithms like AES can be derived from key materials larger than, say, 256-bits. In some cases it is necessary, such as when the root of the security is a password.

Tidbit: Notable exception is famount unbreakable encryption "OTP". It can use arbitrary large key. In fact it needs to: the key must be the same length than encrypted message. However, OTP is notoriously hard to use securely in most modern use cases for encryption.


How do Bounds work in OpenLayers 3?

Question: Does the concept of OpenLayers.Bounds from OpenLayers 2.x still exist in OpenLayers 3?  How has it changed, and what is its new name?
Comment: var mapExtent = map.getView().calculateExtent(map.getSize());
Answer: UPDATE: OL4: https://openlayers.org/en/latest/apidoc/ol.html#.Extent
It seems that the new word for 'bounds' or 'bounding box' (BBOX) is 'extent'.
See:

http://openlayers.org/en/v3.20.1/apidoc/ol.extent.html
http://openlayers.org/en/v3.20.1/apidoc/ol.View.html#fitExtent
http://openlayers.org/en/v3.20.1/apidoc/ol.source.Vector.html#getExtent

One way to find out things at the moment is to run searches in the OL3 repo, for example:
https://github.com/openlayers/ol3/search?p=3&q=BBOX&type=Code
Comment: I can give you some rep for those questions :), that new tag will prove quite useful as OL3 is not compatible with OL3, for the moment both must be used otherwise no one will see those questions.
Comment: I mean 'as OL3 is not compatible with OL2'
Answer: Did'nt found any documentation about this feature but Extent seems to work :
var vectorSources = new ol.source.Vector();
var map = new ol.Map({
  target: map_id,
  layers: [
    new ol.layer.Tile({
      source: ol.source.OSM()
    }),
    new ol.layer.Vector({
      source: vectorSources
    })
  ],
  view: new ol.View({
    center: [0, 0],
    zoom: 12
  })
});

var feature1 = new ol.Feature({
  geometry: new ol.geom.Point(coords)
});
vectorSources.addFeature(feature1);
var feature2 = new ol.Feature({
  geometry: new ol.geom.Point(coords)
});
vectorSources.addFeature(feature2);
map.getView().fitExtent(vectorSources.getExtent(), map.getSize());

The method vectorSources.getExtent() can also be replaced by any Extent object, like this :
map.getView().fitExtent([1,43,8,45], map.getSize());
Since OpenLayer 3.9, the method has changed :
map.getView().fit(vectorSources.getExtent(), map.getSize());
Comment: Thanks.  This seems to be the **extent** of the documentation right now: http://openlayers.org/en/v3.0.0/apidoc/ol.extent.html
Answer: Just to add a little example to the answer:
Bounds is now called "extent" and it's not a sophisticated Object/Class anymore, but merely an array of four numbers. There're a bunch of helper functions for transformation and so on in "ol.extent". Just a little example on how to to a transformation:

var tfn = ol.proj.getTransform('EPSG:4326', 'EPSG:3857');
var textent = ol.extent.applyTransform([6, 43, 16, 50], tfn);

var textent = ol.proj.transformExtent([6, 43, 16, 50], 'EPSG:4326', 'EPSG:3857');

I could not find an API-Doc so far in http://ol3js.org/en/master/apidoc so you have to read the source to get information.

The API-Docs have been completed since the BETA. So you'll find it now.

As mentioned in the comments, the correct API-function is ol.proj.transformExtent() now.
Comment: I think ol.extent.transform has been renamed to ol.extent.applyTransform
Comment: The function to use for transforming an extent is `ol.proj.transformExtent`.
Comment: Thank you. At the time of writing this function did not exist. :-)
Answer: On OpenLayers 3.17.1 and after trying various thing I was able to set the bounds in two different ways:
A) As @Grmpfhmbl mentioned, using ol.proj.transformExtent function like below:
var extent = ol.proj.transformExtent(
    [-0.6860987, 50.9395474, -0.2833177, 50.7948214],
    "EPSG:4326", "EPSG:3857"
);

map.getView().fit( extent, map.getSize() );

B) A little bit unusual, using ol.geom.Polygon like this:
// EPSG:3857 is optional as it is the default value
var a = ol.proj.fromLonLat( [-0.6860987, 50.9395474], "EPSG:3857" ),
    b = ol.proj.fromLonLat( [-0.2833177, 50.7948214], "EPSG:3857" ),
    extent = new ol.geom.Polygon([[a, b]]);

map.getView().fit( extent, map.getSize() );

How do Bounds work in OpenLayers 3?


Are the 2s and 2p subshells degenerate in the He+ ion?

Question: I know that the 2s and 2p (as well as 3s, 3p, and 3d) electron subshells are degenerate in the hydrogen atom. I was wondering if they are also degenerate in other one-electron species, such as the $\ce{He+}$ atom.
Comment: He+ is pretty much the same as H.
Comment: I'd point out that there is only one 2s orbital so it can't be degenerate. The various p, d, and f orbitals can be, and they are degenerate in the $\ce{He+}$ atom in the ground state. However if the electron is in a 2p orbital say, then the other two are degenerate, but the one with the electron has a different energy.
Comment: @MaxW Sorry, I meant subshells, not orbitals. I know that the 2px, 2py, 2px orbitals are degenerate, but I was wondering if the 2s and 2p subshells are degenerate in all one-electron species.
Answer: Yes, because this system is identical to the original if we simply rescale the charge (or, if you'd like, modify the units of our new system). On a more fundamental level, degeneracies are caused by symmetries of the system, and these are affected not by the magnitudes of various constants or parameters, but rather by the form and structure of the relevant interactions.
The degeneracy of the subshells in the hydrogen atom corresponds to the SO(4) symmetry of the hydrogen atom, which leads to the conservation of the quantum-mechanical form of the Laplace-Runge-Lenz vector. This symmetry depends on the inverse-square law nature of the Coulomb force and appears also in celestial mechanics, where the corresponding inverse-square law force is now gravity.
Changing the charge of your hydrogenic atom will not break this symmetry. On the other hand, fine structure corrections to the hydrogen atom will: if you start looking at relativistic and spin-orbit corrections, you change the form of the Hamiltonian, break the symmetry, and hence resolve the degeneracy.
Comment: Thanks for your answer. To clarify, all subshells of given energy level in a one-electron atom (like H, or Li2+) are degenerate?
Comment: @user8081591, yes.


Why did Richard leave Peter alone?

Question: In Tinker Tailor Soldier Spy (2011), Richard is Peter's friend. Richard left him and Peter started crying. This scene happened right after Smiley told Karla's story to Peter. Why did Richard leave Peter alone?
Comment: I don't understand why this was closed. The scenario in question is readily identifiable to anyone who has seen the movie, and the nature of OP's query is also unambiguous.
Comment: I agree @Tom - as someone who has answered a number of TTSS from JMacBrown
Answer: Peter is homosexual and Richard is his gay partner. Peter ends their relationship because of his job spying for Smiley. Evidently, this abrupt end to their relationship comes out of the blue. Richard, true to his own words, does in fact take it like a "grownup." As soon as he has gone, Peter grieves the forced end of their relationship.
Why does this happen?
Smiley's spy operation is getting increasingly dangerous, particularly for Peter, as the only member of Smiley's crew whose day job is at the Circus. His assignments are more egregiously illegal while the odds of detection are also increasing. Case in point: on his last mission Peter was almost discovered stealing sensitive information from the Circus, despite he and his accomplice having taken meticulous precautions and executing their tasks flawlessly. (I describe this in more detail in this other answer.)
The purpose of that mission was to obtain evidence that could prove whether newly-resurfaced British spy (and presumed traitor) Ricki Tarr is telling the truth. When Peter brings the evidence to Smiley and discovers Tarr is present, he explodes in a burst of violence that reveals how conflicted he is over betraying his own country for the seemingly unimportant purpose of discrediting the flimsy cover story of Tarr, who he believes is a genuine traitor: a turned spy whose betrayal is possibly implicated in the supposed death of Jim Prideaux and all his contacts.
Crucially, after the day's business with Tarr is concluded, Smiley invites Peter to have a drink with him. This is when he tells Peter his story about Karla. At the end of their evening, Smiley advises him that if there's anything in his life that won't stand up to scrutiny, now is the time to clean it up.
I don't know if Smiley knew that Peter was gay; it was timely advice in any case. Likely, there were clues; we even see some: when Peter is stealing from the Circus archives, a pretty blonde lady flirts with him, but he begs off with a transparent excuse: his plans this weekend? "Oh, you know... visiting aunts." Right. Presumably, this kind of thing has happened before, and Smiley (who has worked with Peter previously) has probably noticed.
Why is Peter's gay relationship something that must be "cleaned up?"
1970s Britain was not as tolerant of homosexuality as it is today. I'm afraid I can't be more specific than that, sexual attitudes of Cold War-era Britain not being my specialty, but it doesn't seem like a controversial statement. I suspect that being gay could have disqualified Peter from working in the intelligence service, or even the whole government.
So, setting aside his job as a double-agent working for Smiley, and his job as a spy working for Britain: as a gay man in that era, Peter is already living a double-life and working to keep one of those lives secret. If anything about that double-life causes someone at the Circus to innocently start poking around Peter's life, it could lead to the discovery of Smiley's operation.
Peter ends his gay relationship so that he only has one set of lies to manage: the lies Smiley requires him to tell.
Comment: Good answer, but just wanted to add that being gay is a problem not so much that it could get Peter disqualified from the service but that it could be used to blackmail him.
Comment: In 1970s UK living openly as a gay man was simply not possible within normal society. If you were well known as homosexual you would be shunned. Even if The Circus knew and was prepared to tolerate your sexuality you were still in danger of being blackmailed by people threatening to reveal your nature to the public. And even if you were OK with that, your friends and relatives might not be. And at the time it would be assumed that a gay person would be also a licentious hedonist with no self control, and hence a bad risk for the spy services.
Comment: If I recall correctly, homsexuality in the UK was outright illegal, as in could get arrested, charged and convicted for homosexual acts, up to a few years before the movie was set.  I just checked and google leads me to Wikipedia's entry on the 1967 Sexual Offences Act, which legalized homosexuality.

https://en.wikipedia.org/wiki/Sexual_Offences_Act_1967
Comment: I would second what @magarnicle says. This is/was the whole purpose of the lifestyle polygraph. It wasn't that being homosexual (or an adulterer, or in fact, having committed any other crimes previously undiscovered) was bad in and of itself, it was because it could easily be used to blackmail the person into betraying their country.
Comment: @CGCampbell Yes, anything kept secret could be used as blackmail material. The question then becomes: _why_ must his homosexuality be a secret? Why couldn't Peter, instead of ending his relationship, just come out and be openly gay, thereby neutralizing the issue before it could be weaponized against him? I think the answer must be that admitting to being homosexual was not an option, because of that era's social attitudes (which, again, likely manifested at least partially in homophobic policies).
Comment: I've posted a [question about this](https://law.stackexchange.com/questions/81050/what-would-be-the-legal-repercussions-of-a-uk-government-employee-coming-out-as) over on Law.SE in the hope of shedding some light on the matter. In any case, I don't expect it will impact the plot explanation.

Why did Richard leave Peter alone?


Is reading a fantasy novel haram?

Question: Assalam alaikum, I want to whether will it be right to read fantasy novel that has magic in it(know that the magic that is haram in islam is black magic and the magic that I am referring to is different)also it is conducted in a different world would it be alright to read.
It will be easy if you guys study the novel yourself, the novel name is,the beginning after the end.
Plz answer
Answer: It is not permissible to read this kind of book that includes black magic, and has a different world. The reason is that it will teach you things that you are prohibited to know, and will make you love the magicians and it isn't allowed. So therefore it isn't permissible to read this book.
Comment: I think you did not read the question correctly

Is reading a fantasy novel haram?


How to add evm and ethereum pallet from scratch into substrate node?

Question: I want to add evm pallet and ethereum pallet into my substrate node from scratch, so how I can do that.
Answer: If you are totally new first take a look into the Substrate Documentation: Add a pallet to the runtime.
Then take a look into the Frontier Node Template, it is a template node that has this two pallets:

A FRAME-based Substrate node with the Ethereum RPC support, ready for hacking

Specifically how is adding the EVM pallet and the Ethereum pallet in the runtime, and how is using the chain_spec to have some initial configuration.
Finally check the Susbtrate Documentation: Access EVM accounts to learn how to interact with your pallets.
Answer: You may take reference from  some of the chains which have already integrated pallet_evm & paller_ethereum into substrate some e.g are ChainX & Reef-chain & Selendra


Google Analytics Search Term Exclusions doesn't work?

Question: I have a question concerning GA Search Term Exclusions. I excluded our brand search terms, but they still show up under "Acquisition" > "Channel" > "Organic Search". Any ideas why?
Answer: Changes in GA settings (e.g. search term exclusion) does not affect a historical data. Searches for brand terms does not appear since the exclusion (try to change viewed time period)


Is it possible to deploy xamarin.forms ios to iphone without apple developer accaunt?

Question: I want to test my xamarin.forms application on my Iphone 11 pro
witout Apple developer accaunt
I try this but it nor work
create swift app with xcode and use same bundle identifier from my xamarin.forms.ios app but this no work after swift app deploy ,i cant run my xamarin application
that thrown an erorr he0004 resone image not found
Comment: your title and the actual question you have asked seem to be completely unrelated
Comment: I tried to change it
Answer: Apple has finally introduced a new feature in Xcode 7 that allows you to deploy and run any number of apps on any of your devices, simply by logging in with your Apple ID. You will no longer need a paid Program membership to deploy apps on your own device.
You could refer to this.
Answer: You can do via 'Free provisioning for Xamarin.iOS apps', which will allow single application for single device with some limitations. You can find details here.


Impedance Control in Twisted Pairs and PCB

Question: Why do differential signal traces on a PCB require a reference plane to have a controlled impedance?
Whereas, in an unshielded twisted pair there is no reference, there are only the two conductors?
Thank you for any answers that you can provide.
Answer:
Why do differential signal traces on a PCB require a reference plane
  to have a controlled impedance?

They don't is the short and long answer. However, if you are wanting to fully utilize the space on your PCB for other components and other non-connected circuits you need to use ground planes to avoid upsetting the controlled impedance and avoiding unnecessary cross-talk or interference.
Comment: The ground plane disengages electric fields extending into unwanted areas where other components might be. Regard the ground plane as a wall in a house or building; a little noise or sound may leak through but, in the main, any activity in one room is segregated from activity in the next room.
Comment: Without a reference plane you resort to the general formula for a transmission line. That formula is (for high frequencies) Z0 = \$\sqrt{L/C}\$. So if you can evaluate the loop inductance and capacitance of the conductors, you can plug them into the Z0 formula.
Comment: So how would you calculate the controlled impedance without a reference? Every calculation I see for controlling the impedance requires there to be a distance from the reference (microstrip, stripline).
Comment: Thank you. So how does using a ground plane avoid upsetting the controlled impedance?
Answer: The coupling between differential pairs is different when differential traces are run over a ground (or power) plane on a PCB than when they are run using unshielded twisted pair (UTP) wires.
In the first case, assuming edge coupled traces on (or in) a PWB, each trace couples much more strongly to the ground plane than it does to the other trace.  This is why in most cases the differential impedance of a pair of traces is a little less than twice the single ended impedance of each trace.  For example, if you design a pwb with two traces, each one of which has a single ended impedance of 50 ohms, then the differential impedance of those two traces ends by being approximately 90 ohms. The ground plane in this case is used to establish the impedance of the traces, not upset them.
In the case of UTP wires, the wires couple to each other much more strongly than they do to anything else.


Do ninja clans have to keep relations only within the clan to ensure the inheritance of abilities?

Question: Are there any references to arranged marriages or forbidden relationships in the history of clans being used to avoid the clan abilities from being lost?
Comment: That's actually a very good question. We know that there wasn't such a strict law in the Senju or the Uzumaki, we haven't seen Sasuke's mother's Sharingan, so we can't know if she's a pure-blood Uchiha. We haven't seen Hinata's or Neji's mother either, so we can't tell. Unless someone remembers something that I can't.
Comment: I vaguely recall clans marrying their own clanmates to keep a bloodline limit. But I don't think they were necessarily arranged.
Comment: By "forbidden relationships", do you mean incest? Because that might not be forbidden there, just like it wasn't in European royalty.
Comment: No I mean forbidden like "not allowed by the clan"
Comment: After the main manga epilogue, we have so many cross clan relationship.
Answer: As mentioned in the series, the clans usually do not want their "powers" to fall into someone else's hand. As these could be used for research against this power or getting even greater power for the clan that obtains it. Therefore they try to keep relations within clans. Then again  relationships with different clans do exist. Naruto's parents would be a good example for this  as Minato Namikaze married himself into the Uzumaki clan with Kushina Uzumaki

Membership in a clan is usually determined by blood relations and
  genetics, which is vital in the usage of Kekkei Genkai and secret
  techniques. These attributes and abilities made many clans feared and
  renowned throughout many villages. While clans may be composed of many
  individuals and extended families, many clans mentioned and seen in
  the series were somewhat limited to a nuclear family. Wikia

Also this part of the wiki states that family's (clans) can be composed of many families.
As for forbidden relationships, yes they existed (not always in a romantic way ) Look at the first Hokage and Madara Uchiha. They were best of friends yet their family's did not accept their friendship. So if I were to guess I would say that there is a high probability that there are also forbidden relationships
I couldn't find any specific information about forced marriage´s so far. But if I do find some information on this I'll add it here later.