How was the cyan cast of C-41 negatives originally removed?

Question: I just developed some C-41 negatives the other day, and previewed them with my phone on negative image mode. All the images have a fairly strong cyan cast. Looking online at other negatives people have uploaded, this seems to be very common. How were prints made of this film type (I understand the concept of enlarging and photo paper) with the cyan cast absent? When I say original I mean the pre-digital method. I would prefer to stay away from digital processing, as I do not own a film scanner and all my flatbed scanners create low resolution scans.
Answer: The C-41 negative film process arose from movie film that was marketed just after World War II. Previously, processing color films was a far more arduous task.
To simplify, three dyes, cyan (blue-green), magenta (red-blue), and yellow are incorporated into the film during manufacture. The dyes in this film is  incomplete. The three dyes are all missing the same ingredient. That ingredient is in the developer solution. The developer is rather common black & white formula plus the missing ingredient.
As the film is developing, metallic silver forms in the exposed regions. Dissolved oxygen in the waters of the developer rapidly oxidize the surface of this newly formed silver. The action is the catalyst that causes the dyes to unite with the missing ingredient. Now the dyes blossom and a color image forms.
The problem is, the cyan dye is not the correct color. The magenta dye is good but could be improved. The yellow dye is worthy. The industry never was able to find better cyan and magenta dye that would fill this bill, i.e. one missing ingredient that is needed to simplify the developing process. For example, Kodachrome required three separate developer baths.
How to bolster the poor cyan and magenta that must be used? The undeveloped cyan dye was tinted red. The undeveloped magenta dye was also tinted. Together they appear orange. As they developed the orange tint is lost, but not in the unexposed areas. Thus the orange "mask" markup is actually two positive image superimposed atop the three negative dye images. Thus the image is comprised of 5 dyes.This positive orange mask corrects the off frequency cyan and magenta dyes. It's complicated to make this film but easy to develop. The finished product yield pleasing prints.
The key here is "prints". The printing paper consist of three emulsion layers, one for the red exposure, one for the green exposure, and one for the blue exposure. The emulsion speeds are not equal. The paper speeds are adjusted so that the red emulsion needs less exposure. The green and blue emulsion will be over-exposed unless these light energies are mitigated. Magenta filters to mitigate the green light exposure and yellow filters to mitigate the blue exposing light are deployed during the printing exposure. The red exposure is controlled only by the lens aperture and the time of the exposure. The bottom line is, the color balance of the finished print is controlled by adjusting the amount of yellow and magenta filters. In this way the exposing light is custom adjusted for a good color balance.
Typically, the color balancing filters used will be heavy on the amount of yellow filters and moderate on the amount of magenta filters. If the resulting print is off-color, the ratio of yellow to magenta filters is altered and this color corrects the final print.
Comment: We print using an enlarger that accommodates cyan - magenta - yellow filters in adjustable densities. Typically, the starting filter settings are 0 cyan - 40 magenta and 80 yellow. After a print is made, the color balance is evaluated and the filters are adjusted. If the print is too yellow, we add yellow filters. If too blue, we reduce the yellow filter amount. If too green we reduce magenta filters. if too red we add magenta and yellow in equal amounts. If too cyan we reduce magenta and yellow in equal amounts. Each negative will likely require a different filter setting.
Comment: The additive method is three exposures to the paper. One with a strong red filter, one with a strong blue filter and one with a strong green filter. The final print is adjusted by changing the exposure times of each. This is the more difficult method. Best is the subtractive system using a white light enlarger and magenta and yellow filters to adjust final color balance.
Comment: How would I accomplish this? Would I use color filters and expose to the print paper for separate exposure times?
Comment: Excellent answer. It reminds me why I stick to the (comparatively) simpler black 'n white printing :)
Comment: @ Jindra Lacko -- Thanks -- For many years I was an instructor Professional Photographers of America School Continuing Education - Subject Color Print and Process.
Comment: @AlanMarcus ... and it shows! :)
Answer:
How was the cyan cast of C-41 negatives originally removed?

By applying color correction filters during the enlarging/printing process. Normally a strong yellow filter and a more moderate magenta filter were used. Other ratios between the yellow and magenta filters were used for color correction. For example, if tungsten film was shot in daylight it would need an even stronger yellow and magenta filter.
Comment: Reminds me of the original RIAA audio curve for LPs.
Comment: Except the exact tint of each type of film is not standardized. One might need to filter slightly differently for Kodak color film compared to Fuji color film.


What is linearization attack

Question: I know that

In cryptography, the linearization attack is a method of cryptanalysis
  for block ciphers

I am looking for an example of linearization attack couldn't find it online
Could anyone please explain it with an example?
Answer: A cryptosystem can be represented by multivariate equations and the analyzer tries to solve these equations efficiently in order to mount the algebraic attack. It is known that this is an NP-hard problem.
Linearization is a method for solving these where the degree of monomials is at most two. It first appears in Cryptanalysis of the HFE Public Key Cryptosystem by Relinearization by Kipnis and Shamir. It is simply renaming the variables and solving the new system and then determining the real solutions to the original problem.

Linearization is well written in Bard's book
Given a quadratic system of $m$ equations in $n$ variables;
\begin{align*}
x_1 + x_2 x_3  &= 1\\
x_1 x_2 + x_1 x_3 + x_1
 & = 0\\
x_2 x_3 + x_2
 & = 0\\
x_1 x_2 + x_1 + x_3 + x_2
 & = 0\\
x_1 + x_1 x_2 + x_3
 & = 0\\
x_2 x_3 + x_1 + x_2 &=1
\end{align*}
we are renaming the total ${n \choose 2}$ quadratic monomials and $n$ linear monomials. With renaming (linearization);
\begin{align*}
x_1 &= y_1\\
x_2 &= y_2\\
 x_3 &= y_3\\
x_1 x_2 &= y_4\\
x_1 x_3 &= y_5\\
x_2 x_3 &=y_6
\end{align*}
we get a linear system;
\begin{align*}
y_1 + y_6 &= 1 \\
y_4 + y_5 + y_1 &= 0\\
y_6 + y_2 &= 0\\
y_4 + y_1 + y_3 + y_2 &= 0\\
y_1 + y_4 + y_3 &= 0\\
y_6 + y_1 + y_2 &= 1
\end{align*}
Now one can perfrom the Gaussian Elimination  to get;
\begin{align*}
y_1 & = 1\\
y_2 & = 0\\
y_3 & = y_5\\
y_4 & = y_5 + 1\\
y_5 & = \text{free}\\
y_6 & = 0\\
\end{align*}
This gives out two solutions  $(1, 0, 0, 1, 0, 0)$ and $(1, 0, 1, 0, 1, 0)$. One is valid and one is not (left to reader). This is due to the fact that linearization destroy information. Therefore;

The solution of the original system of equation is also the solution of its linearization but the reverse will be not correct.

What is the benefit of the linearization?

If one can given $m = (n^2+n)/2$ equations the linearization will yield a few candiate solutions.
if $m \approx n' \approx n^2/2$ then the system will have too much information that will yield numerous spurious solutions.
Answer: You need to read the Wikipedia page on the theoretical XSL attack:  https://en.wikipedia.org/wiki/XSL_attack
...which, in theory, implements linearization attack against block ciphers.  Take note however, while this was proposed, it's never been shown to work.  And the theory behind it suggests it's as computationally intensive (work factor) as a plain brute force of the key space anyway.

What is linearization attack


USB To 3.5mm Jack mircophone

Question: I want to record live music directly from my sound board on my Samsung Galaxy. I assume this would be done by connecting the 3.5mm microphone jack on my sound board to the Galaxy's USB port.  There are plenty of products that work on Windows, but what about Android?
Comment: Could you please clarify? Am I right that you want to connect your Phone's USB port with the USB connector of a USB-2-Audio adapter and then connect this 3.5mm port to your soundboard?
Comment: Yes, that is correct. If there is another way then I'd like to know, please.
Comment: That a equivalent of looking for a USB-OTG mechanism which may or may not be supported by the kernel?
Answer: I assume the USB connection isn't the main point? You could look into a TRRS splitter to fit your 3,5mm plug into the headset jack on your phone. Here's one example, just to give you an idea of what I mean.
This way you can use a normal recording app to capture analog audio from your soundboard. Just be careful to check the levels since the jack isn't a line in jack, but a mic in jack.
Comment: You are correct that the USB connection is not the main point.  That seems like the way to go.  Thanks for answering.

USB To 3.5mm Jack mircophone


Everybody works together on the floor

Question: I found this expression in a US book, it refers to kitchen work. Does it mean that people work very close to each other? Or something else?
Comment: "On the floor", in a workplace (such as a retail store or a commercial kitchen) refers to the place where most workers do their work -- the "sales floor" for a retail store and the actual kitchen area for a commercial kitchen.  Ie, not in the back offices.  The term would not generally be used to refer to a household kitchen, except then referring to the actual floor where that egg landed and splattered all over everything.
Answer: It means that you are all one team, and you should feel free to cooperate with each other.

Everybody works together on the floor


Lyx Templates site

Question: Does anyone know of a site which collates Lyx templates and provides previews of how they look?
I don't just mean thesis layouts but also letters, essays and all sorts.
Many thanks in advance.
Answer: There are many examples in the LyX wiki: http://wiki.lyx.org/Examples/Examples. Among them are letters, presentations, CV, exercises and more.
Or check out the Layouts page on the same site.
Comment: Thanks for your answer but I think that list of examples is very poorly presented. Are there any other sources of templates?
Comment: I don't know a better presented LyX templates/examples site. It would be great if somebody knows one or creates one. Btw. some LyX (but thesis) templates have been mentioned on http://tex.stackexchange.com/questions/326/latex-templates-for-writing-a-thesis

Lyx Templates site


A simple, one-knob volume control for KDE (kubuntu)?

Question: What's the easiest way in KDE (Ubuntu 13.10) to have a simple, one-knob volume control for the default playback device? Right now there's kmix in the taskbar, which shows 3 volume sliders, none of which actually controls the volume of the default playback device. (I have to click "Mixer," look through the various playback devices and find "Built-in Audio Analog Stereo.")
In those rare cases where one needs to see every single playback device and stream, kmix is great, but for the other 99% of the time when I just want to turn down the music, a simple taskbar volume slider would be appreciated. Thank you!
Answer: KMix backends

What's the easiest way in KDE (Ubuntu 13.10) to have a simple,
  one-knob volume control for the default playback device? ... "Built-in
  Audio Analog Stereo.")

The KMix supports multiple backends: The Kmix blog: http://kmix5.wordpress.com/ and an older topic: http://kmix5.wordpress.com/2011/12/30/winter-of-69-welcome-kmix-v4/
To get the "Built-in Audio Analog Stereo." option:
Right click the KMix and pick the 'Quit'
Add the PULSEAUDIO to the kmixrc as the backend. This can be done with the command:
kwriteconfig -file kmixrc -group Global -key Backends -type string PULSEAUDIO

Start the KMix again - Alt + F2 and the command kmix.
The KMix should now start with the pulseaudio backend:

Click the wrench icon

and only pick the 'Playback Devices'.
After this the KMix should offer only the 'Built-in Audio Analog Stereo' option. At here it does.

Other mixers
Veromix: http://kde-look.org/content/show.php?content=116676 .
The Veromix is also in the Ubuntu repositories (plasma-widget-veromix).
ALSA Volume Control plasmoid : http://kde-apps.org/content/show.php/?content=138990
About kwriteconfig
kwriteconfig --help
Usage: kwriteconfig [Qt-options] [KDE-options] [options] value

Write KConfig entries - for use in shell scripts

Generic options:
  --help                    Show help about options
  --help-qt                 Show Qt specific options
  --help-kde                Show KDE specific options
  --help-all                Show all options
  --author                  Show author information
  -v, --version             Show version information
  --license                 Show license information
  --                        End of options

Options:
  --file <file>             Use <file> instead of global config
  --group <group>           Group to look in. Use repeatedly for nested groups. [KDE]
  --key <key>               Key to look for
  --type <type>             Type of variable. Use "bool" for a boolean, otherwise it is treated as a string

Arguments:
  value                     The value to write. Mandatory, on a shell use '' for empty

Comment: This link solved problem for me: http://kmix5.wordpress.com/2011/12/30/winter-of-69-welcome-kmix-v4/


Do I need a vapor barrier for seasonal cottages

Question: We have seasonal cottages in Parry Sound. We were wondering if there is a by-law stating that we are required to insulate and vapor barrier all exterior walls?
Comment: Where is this Parry Sound?
Comment: "By-law" to me, implies a planned unit development or restricted housing development not a code (mandated by a governmental agency) or general building practices. Do you mean "good building practices " or "common building practices ".
Answer: I would think you would want a vapor barrier, laws or not. A vapor barrier helps keep moisture out of your structure

A vapor barrier or vapor diffusion retarder is a material that reduces the rate at which water vapor can move through a material. The older term "vapor barrier" is still used even though "vapor diffusion retarder" is more accurate.

This is why it's very difficult to find unfaced rolls of fiberglass for walls. The kraft paper acts as your vapor barrier. If you don't have one, humid air can get into your structure much more easily, where it can then condense. This might not cause water damage, but it can cause the growth of mold, which can make you very sick. Since it seems that Parry Sound, Ontario, Canada is listed as being a humid area, you really need a vapor barrier.
If the main issue is wondering if you have to insulate, that's a different ball of wax. Assuming these are summer structures that are unused in the winter, you might be able to get away with that. Depends a lot on your local codes. If you don't have to insulate, you can probably get away with just using plastic sheeting. 6 mil plastic is sturdy enough to withstand construction, and you should be able to find some pretty easily (here's a good example on Amazon, and it adds termite resistance too). Just put it between your wall and the outside sheeting you're putting up. But I wouldn't skip the vapor barrier, or you'll regret it for sure, especially on a seasonal use cabin where the air is stagnant for long periods.


Success when deploy with Out bound change set, fail with deploy with Force.com IDE or Mavensmate

Question: So this is been going on for a while. Everything works when I use the build in outbound/inbound change set to deploy code form Sandbox to Production. And Fails every time trying to deploy the exact same code using either Force.com IDE (Eclipse) or Mavensmate. I get test class failure. "No such column ..... on entity". But the test class pass just fine when I run them in developer console. Please help, thanks.
Answer: Two things I can think of:
One, your package.xml file is out of date and you need to refresh - perhaps you are only refreshing selected parts of it. Do a system wide refresh.
Two, make sure you are at the latest possible api level - perhaps the object you are deploying has changed with an api update and your older version in package.xml contains an out of date version (with fields that are no longer there)
Comment: I tried both of them, didn't help. Just wondering what are the differences when you deploy from SF UI vs IDE (tooling api)
Comment: At https://gearset.com, we are building a service that aims to fix all these pesky deployment problems and get to a stage where deployment Just Works.

Would you be interested in working with us to help diagnose what issue you have and see if our service fixes it for you?
Answer: Can you try like below,
1) Find the field mentioned in the class failure("No such column ..... on entity")
2) Add the field also in package.xml. For example check below,
<code><types>
<members>Case.EngineeringReqNumber__c</members>
<name>CustomField</name>
</types>
</code>
3 Try to deploy.
Comment: Unfortunately, this doesn't work for me


Should I be concerned about covering the same stuff in multiple self-help books?

Question: I currently don't work with a writing mentor, and was wondering if I should worry about covering the same things in multiple books on the same subject for self help. I'm basically going through the Catechism writing on a subject.
Comment: The cynical answer is that it doesn't matter, because if self-help books actually helped people, there wouldn't be such a large market for them. Buying a self-help book satisfies a vague feeling that "things could be better than they are" while avoiding the hard work of "doing something to make things better than they are". When the hit wears off, buy another one!
Comment: How much is the same? If you're concerned there's too much that's the same, shouldn't it be a revised edition rather than a new book?
Comment: I'm trying to catechize people through learning how to have a healthy relationship, so I have 2 different markets.
Answer: Here are things to consider while deciding whether or not to repeat information:
How much overlap is there between the audiences of the two books?
If your two books are Cooking for College Students and Cooking for a Family of Five, then you should assuredly repeat the information, because most people only belong in one of those audiences, and therefore will only read one book.
On the other hand, if your two books are Cooking Chicken and Cooking Beef,  then there is a much higher chance that one person will read both books.
How fixed is the reading order?
On the other hand, even if your two books are in fact Cooking Chicken and Cooking Beef, you can't be assured that a reader will in fact read both of them, and certainly can't be assured that they will read the chicken book first.  On the other hand, if your two books are Cooking Simple Chicken Dishes and Cooking Advanced Chicken Dishes then readers are far more likely to pick up the first book before acquiring the second.
How important is the information?
Some information is critical to readers' understanding.  Some is not.  Most falls somewhere in the middle.  Assume the worst case scenario - your reader picks up the second book without knowing the first book exists.  (This will happen - even if they're labeled volume 1 and volume 2).  What happens?  Do they die of food poisoning because they tried to cook their chicken medium rare?  Or do they miss one cool trick to quickly debone a chicken?  One of those outcomes is disastrous - the other is minor.
How much space does the information take up?
If it's only a paragraph, then you might as well include it regardless.  Worst case is that some people spend an extra minute or two reading things they already know.  On the other hand if it's five chapters then maybe leave the redundant copy out of the second book.
Alternatively, summarize and reference
If the repeated information is long, but too important to leave out entirely, then consider summarizing and then referencing your other book.

Step 4: Debone the chicken.  For more information on quickly deboning a chicken, see Cooking Simple Chicken Dishes, chapter 2.

Here you get the best of both worlds - you give your readers the information they need without taking up too much space, and instruct them on how to find the rest of the information.  As a bonus, it serves as a plug for your other book and might gain you a few extra purchases.
Comment: These are what I'll be calling my "catechism books" to catechize people through the lens of my expertise (healthy relationships).
Answer: Well, it depends on exactly how much information is being repeated in your other books. For the most part, readers will want new information in the book they purchased. That doesn't mean you can't have any old information. One way would be to acknowledge and build on the idea that was in the last book. For example, if it is a self-help series, you could start a chapter by saying "As said in book _  you could achieve this by doing that..."
If you are worried about not repeating enough information, you shouldn't really be worried. However, it could be helpful to a reader to relay some of the most important key points from the last book, as long as you include a majority of new information.
Hope this helps! :)


What to do about hot neutral in switch?

Question: The light switch only controls a ceiling fixture. But, the cable powering the switch also powers 2 grounded outlets. The neutral wire on the switch is live/hot. The black wire is not. Right now all the 3 white wires are wire nutted together, thus making the white wires live on the two outlets and the light fixture. What to do?
Comment: Some photos, or a diagram of the wiring would be helpful.
Comment: How do you know the white wire is hot?
Comment: I know I've confused you. I've confused myself. Here it goes. The switch box contains 3 14/2 cables. The incoming cable that is the power supply has an energized white wire. I have used a voltage tester to determine that. I also used a multitester I have spliced all three whites together. I have connected the black from the power supply to the lower screw on switch. The top screw on switch black wire is connected to the light fixture. A black jumper connects to power the 1st outlet. Since the power supply white wire is energized, so is the white at the fixture and at the two outlets. Now what?
Answer: It's confusing when you say "The neutral wire on the switch is live/hot.", since typically there are no "neutral" wires connected to switches. Is it possible that the white wire from the cable is used as a switched "hot"? Wire color does not dictate purpose, how it's connected does.
If this is not the case. You'll have to locate the point in the circuit where the "hot" and "neutral" are swapped, and correct the problem. You'll then have to inspect the entire circuit, and insure it's wired properly.
Comment: +1 And if the white wire is used as a switched hot, mark it as hot by putting a black stripe on it using a marker, or wrap a small black piece of tape around it, to avoid future confusion.

What to do about hot neutral in switch?


How to give multiple user input CQL filters to a single layer using Geoserver?

Question: I have a layer in which I need to apply multiple check box filters. For example, I need to filter a layer based on state, city and some other attribute based on user input/ CQL filter. Basically, I need a dynamic filtering based on multiple attributes on the layer using CQL. could any one suggest me an idea on how to do it?
Comment: Are you wanting this filter to be on a http WMS or WFS call or within some UI application (e.g. GeoExplorer, QGIS....etc)?
Comment: Hi, I need this filter to be on a WMS or WFS call and the user should be able to query the layer dynamically.
Answer: Once you understand how to build the CQL query (web search on this should show you many examples), and since you have opengeo suite installed I would recommend using GeoExplorer as the client viewer to allow users to set their own filters or CQL filters.

Load layer you want user to query to GeoExplorer
Publish map and provide user with map url

The query may be defined by:

Select layer in table of contents and right click and select Layer Properties
Click on the Display tab and check the Limit with filters checkbox

Here you may define compound or CQL queries based on many layer field attributes.  End users will be able to view the results in both tabular and spatial format (Query:table, Map:features).
Answer: I cannot tell you how to build the CQL client side, but the CQL itself can be easily built in the form of state = 'state name' and city = 'city name' and otherAttribute = 'the value'


Scrollbar not visible in iframe

Question: I am trying to use iframe with src pointing to a website made in dojo framework. My URL is on different server and and my iframe is on different server. I am just using URL to load URL's content inside iframe. But I can't see the scrollbar with iframe although the page content is more than iframe.
My code is:

Can someone help me if this issue is due to some javascript or css used in dojo framework? If needed I can post the full code of URL also, what I am able to see in firebug.
Answer: Sorry this is in an answer, I don't have the points to comment yet.  Does your browser support iframes?  Check here:  http://www.w3schools.com/tags/tryit.asp?filename=tryhtml_iframe_scrolling

Scrollbar not visible in iframe


Using WSUS to download patches/updates

Question: Currently, I have WSUS(service pack 2) installed on Windows Server 2008 R2. The situation is, I do not know how to get updates from the internet using WSUS. Is there a guide reference in setting up the WSUS software to allow updates to be downloaded to the server computer? After the updates are downloaded using WSUS, there is a downstream WSUS server to pull the updates from the upstream WSUS server which is the one which I am facing an issue with.
Answer: Start with downloading the appropriate version for your server here. While you are installing this on your server, it will ask you for the products, languages, ... and types (critical, optional, ...) you want to update. I usually select them all because they aren't installed until you approve them.
Once that is over, you can start configuring the clients. Use the Group Policy Management Console to create a new policy and link it to the an Organizational Unit. Then edit it and browse to Computer Configuration > Policies > Administrative Templates > Windows Components > Windows Update. Here you'll need to edit a few policies:

Configure Automatic Updates: Enable
Specify intranet Microsoft update service location: Enable (and give the address to your SWUS server)
No Auto-restart with logged on users for scheduled automatic updates: Enable (Your users will hate you if you don't enable this, but it's optional)

That should get you up and running, if you want, you could divide the computers in groups and make different rules for applying patches. You might also want to create a few rules to allow certain patches to go thru automatically. You do not wan't to approve them all by hand.

Using WSUS to download patches/updates


Angular 9 - The target entry-point has missing dependencies

Question: I have upgraded an Angular library to Angular 9.   However when I attempt to use that library in another Angular 9 project I get an error like this:
The target entry-point "mycomponents/entity-selector" has missing dependencies:
 - mycomponents/shared-services
 - mycomponents/spinner
 - mycomponents/text-input

Package.json
{
  "$schema": "../../../node_modules/ng-packagr/package.schema.json",
  "name": "entity-selector",
  "version": "0.0.0",
  "ngPackage": {
    "lib": {
      "entryFile": "public_api.ts"
    },
    "dest": "../../../dist/mycomponents/entity-selector"
  }
}

This is a secondary endpoint which uses other components which are also secondary endpoints.
In the library project do I need to some define the dependencies in ng-packgr or somewhere else?  The module for the entity-selector component imports the appropriate module for the other components.  This issue cropped up since Angular 9.
Thank in advance.
Comment: Can you post the relevant sections of your library's package.json?
Comment: @ScottWalter Did you find a solution? I have the same issue
Comment: any answer yet?
Comment: No solution yet.  However this hasn't been a focus lately but I do need to get back to it.
Answer: ERROR in The target entry-point "primeng" has missing dependencies: - chart.js

ERROR in The target entry-point "primeng" has missing dependencies: - quill

ERROR in The target entry-point "primeng" has missing dependencies: - @fullcalendar/core

npm install --save chart.js
npm install --save quill
npm install --save @fullcalendar/core

Comment: Please avoid posting code-only answers. Try adding more info about pasted code.
Comment: How would upgrading angular version make dependencies get lost?
Answer: The First Problem
You're getting that error because your test project does not have those dependencies installed in its node_modules/ directory.  But I believe that doing as @Renato suggests and forcing the users of your library to manually install those dependencies is the wrong approach.
In order to have the missing dependencies automatically installed, it's necessary to add your library's 3rd party dependencies in two places (within the library itself):

package.json at the root of the library.  I believe you already have this done.
Putting all packages here ensures that there is only a single node_modules/ directory at the root when you run your project for development.
projects/entity-selector/package.json is the file that is used as the basis for the package.json file that Angular generates when you build your library.  It is necessary to add the dependencies here so that the consumers of your library know which packages they (well, their package manager) need to download.  I believe that this is what you're currently missing.

The Second Problem
After properly adding my dependencies to both places, I got build errors telling me that I should use "peerDependencies" and not "dependencies" for my library.
That is not applicable to my use case, so to get around it I had to explicitly whitelist my dependencies.  Doing so looks a little different depending on which of the following you're using:

projects/entity-selector/package.json
projects/entity-selector/ng-package.json.

In projects/entity-selector/package.json it should be:
{
  "$schema": "../../../node_modules/ng-packagr/package.schema.json",
  "ngPackage": {
    "lib": {
      "entryFile": "public_api.ts"
    },
    "dest": "../../../dist/mycomponents/entity-selector",
    "whitelistedNonPeerDependencies": [
      "mycomponents/shared-services",
      "mycomponents/spinner",
      "mycomponents/text-input"
    ]
  }
}

In projects/entity-selector/ng-package.json it should be:
{
  "$schema": "./node_modules/ng-packagr/package.schema.json",
  "lib": {
    "entryFile": "public_api.ts"
  },
  "whitelistedNonPeerDependencies": [
    "mycomponents/shared-services",
    "mycomponents/spinner",
    "mycomponents/text-input"
  ]
}

Finally, don't forget to build your project with ng build --prod or you'll get an error about the new Ivy compiler when you try to publish to NPM!
Comment: This is the answer that really helped me.  Thanks!
Comment: Ahh let me give this a try later today.   We have an Angular workspace project where we have a component library and a sample app.   I was targeting the components (secondary endpoints) into the dist directory.    As well as we only have a package.json for each second endpoint and not a ng-package.json
Answer: Modify your component project to change the absolute path to a relative path.
Such as:
import {xxx} from 'src/xxx/xxx.module';

to:
import {xxx} from '../../xxx/xxx.module';

Comment: I solve my problem with this modification. Thanks!
Comment: @yang zhou why would it solve the issue? What's the difference?
Answer: I had the same issue. This came after adding a symlink, so I had to use
npm unlink *@your/package*

or just globally
npm unlink

Comment: Thanks for this. I wasted almost half day and then realized this was the issue @AverageProgrammer
Answer: I think I have just worked through the situation you describe. I have an NPM package called my-pkg that contains several "libraries" (created with ng g library lib[1..N], etc). It just so happens that my libN depends on lib1. When I try to use libN in an application, I get the error:
The target entry-point "my-pkg/libN" has missing dependencies:
 - lib1

Here is how I originally imported lib1 into libN:
// libN.component.ts
import { Lib1Comp } from 'lib1';

This works when I build my-pkg. The problem is that 'lib1' doesn't resolve to a top-level package inside my application's node_modules folder. There, it should be known as my-pkg/lib1. So, let's change the import in libN.component.ts:
// libN.component.ts
import { Lib1Comp } from 'my-pkg/lib1'; // note lib1 is now prefixed with my-pkg

Of course, we don't have my-pkg installed in my-pkg's node_modules, so it can't find my-pkg/lib1 and now my-pkg doesn't build.
But what if we were able to "install" my-pkg into it's own node_modules folder? Let's try copying it in there via NPM scripts:
// package.json
...
"scripts": {
    "copy:lib1": "npx copy .\\dist\\lib1\\**\\* .\\node_modules\\my-pkg\\lib1",
    "build:lib1": "ng build --prod lib1 && npm run copy:lib1",
    // repeat copy/build scripts as needed for libs[2..N]
    "build:pkg": "npm run build:lib1 && npm run build:libN"
},

Now, we run npm run build:pkg. It builds lib1 then copies it to our local node_modules folder, and now libN can happily import from the path my-pkg/lib1 in both your library and your application!
Answer: ngx-quill needs library quill to be already installed
so just adding this solved the issue for me
npm i quill@^1.3.7
Answer: In the project that imports your library, add the following to the tsconfig.json. This ensures that tsc is able to resolve the "missing dependencies" between submodules in your library.
 "compilerOptions": {
    "paths": {
      "mycomponents/*": [
        "./node_modules/mycomponents/*"
      ],

With this, there was no need for whitelistedNonPeerDependencies.
Answer: I had The target entry-point has missing dependencies error when starting my Angular project with npm run start. A simple solution that worked for me was to clone my project from GIT into a new folder on my local machine and then run npm install, npm run start on a clean project. The issue went away.
Answer: For Angular and Primeng 9

ERROR in The target entry-point "primeng" has missing dependencies:

chart.js

My import before:
import {ToastModule} from "primeng";

Solution:
import {ToastModule} from "primeng/toast";

Answer: Try this command:
npm install @azure/msal-browser @azure/msal-angular@latest

It worked for me.
Comment: please explain in more detail why dependecy is needed and how it solves the issue
Comment: Your answer could be improved with additional supporting information. Please [edit] to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers [in the help center](/help/how-to-answer).


What is meant by Monte-carlo simulation? (would like an elaborated answer with some references)

Question: I have come up with simulations which involves monte-carlo method that I am not fully aware of. I would be very happy if someone can help me with some references to read and learn.
Comment: it can refer to sampling a dataset randomly many times to get a probability distribution.  see http://en.wikipedia.org/wiki/Monte_Carlo_method
Comment: What exactly would you like to know that isn't covered in the wikipedia article linked by farrenthorpe (which, incidentally, is the first Google hit for "Monte-Carlo simulation")? As it stands, your question is far too broad for this site. Also, as noted by Fred, Monte-Carlo methods are used in a huge number of fields, so without some geoscience-specific context this question isn't really on topic here either.
Comment: Can you provide examples?
Comment: Monte Carlo simulations are not necessarily specific to earth science applications - other applications include financial & social science modelling. It is an analytical/mathematical method that can be used to model possible outcomes based on applying probabilities of certain events occurring & running the calculations repeatedly many times with different values.
Answer: There are times when any realistic 'answer' has to incorporate some degree of randomness. For example, when interpolating missing data in a rainfall time-series. You can do this 'informally', or through a slightly more rigorous 'Monte-Carlo' approach - there are several possible ways to deal with such problems. J.E. Gentle's book; Random Number Generation and Monte Carlo Methods, is a good read, although being 2003, it's starting to look a bit dated. But it's more than enough to get you started, and then the rest you can do with off-the-shelf software.
Alternatively, as Farrenthorpe points out, the Wikipedia reference may give you all you need to know.


Can you find cocoa beans out-of-jungle?

Question: Other than a jungle, where can you find cocoa beans? I'd think you could find them in dungeon chests etc, but from experience this doesn't seem to happen.
Comment: You definitely used to be able to find them in chests, (that was the only place you could find them for a long time,) but I'm not sure if that's still the case.
Comment: villager trading as well IIRC
Answer: The only way to obtain cocoa beans in vanilla minecraft (Without spawning them in) is to:
Find them in dungeon chests (Including desert and jungle temples)
Harvest them from jungle trees
Trade for them with villagers (In older versions, cocoa beans are no longer included in the villager trade items)
Comment: So you CAN find them in structure chests? What about village chests?
Comment: According to the minecraft wiki on chest loot, you used to be able to find them in chests but this was removed in 1.6.1, so I believe this answer is currently correct.
Answer: You can find cocoa beans from any chest that spawns in the world. Villages before 1.6 will trade beans to you and you can find them on trees.
Comment: Only before 1.6?
Comment: @JamesOfDaPeach yes
Answer: No, they only grow on jungle trees. :(
Comment: Unique username.
Comment: A quick peek at the accepted answer above shows that this answer is not correct.  Also, we tend to expect more robust answers here on this site.

Can you find cocoa beans out-of-jungle?


How can i foward funds swaped from 0x api quotes in the same transaction

Question: ideally i will like to add more logic (like fowarding funds or fees) to the quote.data before letting a user send the transaction to the blockchain.
Answer: If I understand correctly you want to create a quote that includes affiliate fee and that fee be forwarded to an address.
On the 0x docs api documention here: https://docs.0x.org/0x-api-swap/api-references/get-swap-v1-quote#request you have the fields feeRecipient and buyTokenPercentage which could be used to get a fee on top of your quote.
For instance: https://api.0x.org/swap/v1/quote?buyToken=DAI&sellToken=WETH&sellAmount=100000000000000000&buyTokenPercentageFee=0.1&feeRecipient=0x5bd68b4d6f90bcc9f3a9456791c0db5a43df676d
You are getting a quote here to buy DAI with WETH, with a percentage fee of 0.1% that will be attributed to address 0x5bd68b4d6f90bcc9f3a9456791c0db5a43df676d


`': uninitialized constant User (NameError)

Question: spec/models/user_spec.rb
require 'spec_helper'

describe User do
  pending "add some examples to (or delete) #{__FILE__}"
end

я запускаю команды :
$ bundle exec rake db:migrate
$ bundle exec rake test:prepare
$ bundle exec rspec spec/models/user_spec.rb

выпадает ошибка :
E:/work/sample_app/spec/models/user_spec.rb:3:in `<top (required)>': uninitialized constant User (NameError)
        from c:/tools/rubies/ruby-2.1.5-p273/lib/ruby/gems/2.1.0/gems/rspec-core-3.2.3/lib/rspec/core/configuration.rb:1226:in `load'

        from c:/tools/rubies/ruby-2.1.5-p273/lib/ruby/gems/2.1.0/gems/rspec-core-3.2.3/lib/rspec/core/configuration.rb:1226:in `block
 in load_spec_files'
        from c:/tools/rubies/ruby-2.1.5-p273/lib/ruby/gems/2.1.0/gems/rspec-core-3.2.3/lib/rspec/core/configuration.rb:1224:in `each'

        from c:/tools/rubies/ruby-2.1.5-p273/lib/ruby/gems/2.1.0/gems/rspec-core-3.2.3/lib/rspec/core/configuration.rb:1224:in `load_
spec_files'
        from c:/tools/rubies/ruby-2.1.5-p273/lib/ruby/gems/2.1.0/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:97:in `setup'
        from c:/tools/rubies/ruby-2.1.5-p273/lib/ruby/gems/2.1.0/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:85:in `run'
        from c:/tools/rubies/ruby-2.1.5-p273/lib/ruby/gems/2.1.0/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:70:in `run'
        from c:/tools/rubies/ruby-2.1.5-p273/lib/ruby/gems/2.1.0/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:38:in `invoke'
        from c:/tools/rubies/ruby-2.1.5-p273/lib/ruby/gems/2.1.0/gems/rspec-core-3.2.3/exe/rspec:4:in `<top (required)>'
        from c:/tools/rubies/ruby-2.1.5-p273/bin/rspec:23:in `load'
        from c:/tools/rubies/ruby-2.1.5-p273/bin/rspec:23:in `'

spec_helper.rb
# This file was generated by the `rails generate rspec:install` command. Conventionally, all
# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
# The generated `.rspec` file contains `--require spec_helper` which will cause
# this file to always be loaded, without a need to explicitly require it in any
# files.
#
# Given that it is always loaded, you are encouraged to keep this file as
# light-weight as possible. Requiring heavyweight dependencies from this file
# will add to the boot time of your test suite on EVERY test run, even for an
# individual file that may not need all of that loaded. Instead, consider making
# a separate helper file that requires the additional dependencies and performs
# the additional setup, and require it from the spec files that actually need
# it.
#
# The `.rspec` file also contains a few flags that are not defaults but that
# users commonly want.
#
# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
RSpec.configure do |config|
  # rspec-expectations config goes here. You can use an alternate
  # assertion/expectation library such as wrong or the stdlib/minitest
  # assertions if you prefer.
  config.expect_with :rspec do |expectations|
    # This option will default to `true` in RSpec 4. It makes the `description`
    # and `failure_message` of custom matchers include text for helper methods
    # defined using `chain`, e.g.:
    #     be_bigger_than(2).and_smaller_than(4).description
    #     # => "be bigger than 2 and smaller than 4"
    # ...rather than:
    #     # => "be bigger than 2"
    expectations.include_chain_clauses_in_custom_matcher_descriptions = true
  end

  # rspec-mocks config goes here. You can use an alternate test double
  # library (such as bogus or mocha) by changing the `mock_with` option here.
  config.mock_with :rspec do |mocks|
    # Prevents you from mocking or stubbing a method that does not exist on
    # a real object. This is generally recommended, and will default to
    # `true` in RSpec 4.
    mocks.verify_partial_doubles = true
  end

# The settings below are suggested to provide a good initial experience
# with RSpec, but feel free to customize to your heart's content.
=begin
  # These two settings work together to allow you to limit a spec run
  # to individual examples or groups you care about by tagging them with
  # `:focus` metadata. When nothing is tagged with `:focus`, all examples
  # get run.
  config.filter_run :focus
  config.run_all_when_everything_filtered = true

  # Limits the available syntax to the non-monkey patched syntax that is
  # recommended. For more details, see:
  #   - http://myronmars.to/n/dev-blog/2012/06/rspecs-new-expectation-syntax
  #   - http://teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/
  #   - http://myronmars.to/n/dev-blog/2014/05/notable-changes-in-rspec-3#new__config_option_to_disable_rspeccore_monkey_patching
  config.disable_monkey_patching!

  # This setting enables warnings. It's recommended, but in some cases may
  # be too noisy due to issues in dependencies.
  config.warnings = true

  # Many RSpec users commonly either run the entire suite or an individual
  # file, and it's useful to allow more verbose output when running an
  # individual spec file.
  if config.files_to_run.one?
    # Use the documentation formatter for detailed output,
    # unless a formatter has already been configured
    # (e.g. via a command-line flag).
    config.default_formatter = 'doc'
  end

  # Print the 10 slowest examples and example groups at the
  # end of the spec run, to help surface which specs are running
  # particularly slow.
  config.profile_examples = 10

  # Run specs in random order to surface order dependencies. If you find an
  # order dependency and want to debug it, you can fix the order by providing
  # the seed, which is printed after each run.
  #     --seed 1234
  config.order = :random

  # Seed global randomization in this process using the `--seed` CLI option.
  # Setting this allows you to use `--seed` to deterministically reproduce
  # test failures related to randomization by passing the same `--seed` value
  # as the one that triggered the failure.
  Kernel.srand config.seed
=end
end

помогите решить
Comment: А выложите spec_helper. У вас не загружаются классы приложения.
Comment: MAXOPKA я добавил spec_helper.rb
Answer: В spec-rails-3 вместо require 'spec_helper' используется require 'rails_helper'
  Подробнее - https://relishapp.com/rspec/rspec-rails/docs/upgrade
Answer: Добавь в начало хелпера строку
require 'rspec/rails'
Comment: Я добавил строку в начало spec_helper.rb и получил очень много ошибок
``': uninitialized constant ActionView::Template::Handlers::ERB::ENCODING_FLAG (NameError)`
это не весь текст ошибки


Is there any scenario where using AsyncTask is better than AsyncTaskLoader?

Question: I am currently studying about Loaders and about how they could overcome changes such as screen orientation during application lifecycle, and so far, from what I have read, AsyncTaskLoader does the same job as AsyncTask and even better. Therefore, should not AsyncTask be considered obsolete or does it provide the developers with some hidden advantages?
Comment: AsyncTaskLoader requires more code compare to AsyncTask. If you don't need to retain the task when the orientation is change better use AsyncTask. Btw you might also consider ViewModel.
Answer:
I am currently studying about Loaders and about how they could overcome changes such as screen orientation during application lifecycle

The Architecture Components' support for view-models and LiveData is Google's current direction for addressing the problems that loaders tried to address.

AsyncTaskLoader does the same job as AsyncTask and even better

Note that AsyncTaskLoader uses an AsyncTask.

should not AsyncTask be considered obsolete

Yes, insofar as we have other patterns and libraries to use (e.g., RxJava, LiveData). That being said, AsyncTask, used correctly, is an OK option. The challenge is in using it correctly (e.g., from a retained fragment, with care to avoid interacting with the hosting activity on a background thread).

does it provide the developers with some hidden advantages?

Your argument seems to be "an ocean liner has more features than does a rowboat, so shouldn't we consider rowboats to be obsolete?". Ocean liners have their costs, and ocean liners cannot do everything that a rowboat can (e.g., travel in shallow water, be towed behind a truck).
Loaders were designed — to the extent that they ever had a "design" — to:

load data in the background, typically via an AsyncTask
retain that data across configuration changes
automatically deliver updates when the requested data happens to change

Not everything needs that. For example, the loader pattern targets read operations (where we actually "load" data), but it does not really help with write operations (where we are changing the data). Yet we still want to do write operations asynchronously and find out about the results even if we undergo a configuration change. You can squeeze write operations into loaders, but it is not a natural fit. Using an AsyncTask or something else, instead of a loader, would be more natural.
Answer: Think this way,
The AsyncTaskLoader can be used at any place where the AsyncTask is.
The main advantage is the ability to persist between the lifecycles.
If you use an AsyncTask and call a Network Operations to get some data from the Internet and the User rotates the phone, your AsyncTask will have to start the task again to grab the data, and this could be potentially dangerous to your application because you could have a memory leak.
So, in any case, Loaders are an evolution of the AsyncTask, they are basically improved AsyncTasks.
I believe that the AsyncTask is still alive because when you are performing some simple task in the Background Thread you can do this more simply using an AsyncTask with an anonymous inner class, and deliver the results right away to the UI Thread.
Comment: So, basically, the advantage consists in their ease of implementation comparing to AsyncTaskLoader. Thank you!


Why can't I adopt children despite having a steading in Falkreath?

Question: I bought two pieces of land. One from Morthal, and one from Falkreath. Morthal was the first plot of land I purchased. I only finished half of it. I bought the plot of land in falkreath because I liked the nature better. I finished the house completely in Falkreath. Every time I try to adopt a child off the streets it keeps saying "I have a place but no room for you" Even though I have the bedrooms in my Falkreath house. Why can I not adopt a child and have him/her live at my house in Falkreath?
Comment: @Michel About your removal of the [skyrim] tag: I believe Skyrim DLC questions should be (and are usually) tagged with both [skyrim] and the DLC tag. For example, see this [search query](http://gaming.stackexchange.com/questions/tagged/skyrim-hearthfire+or+skyrim-dawnguard+or+skyrim-dragonborn+skyrim). This makes it easy for followers of the [skyrim] tag to track all questions related to Skyrim, including the DLCs.
Comment: i have also that problem .. i don't know what to do.. Can somebody help me?
Answer: Make sure you have a childrens' bedroom built to be able to adopt children. And also have a child's bed and chests otherwise your dialogue selection will say you don't have room for them right now.
Comment: @Michel this answer seems pretty straight forward to me, not much else to elaborate.
Comment: Can you make a more elaborated answer?
Comment: @spartacus it IS too much straight forward. This is way I asked if there were any extra information that could be added. This is a correct and good answer, I just asked with the idea to improve even more.
Comment: He said he completely finished the house.
Answer: In order to adopt children you need to put in two childs beds AND the childs chests. You have to have the chests too otherwise it won't work :) That's what happened to me, if that didn't work then I literally have no idea, try and adopt homeless children (like in whiterun or windhelm) instead of the orphanage.
Answer: All you have to do is have the chests & the beds. Single beds work as well if you don't have the Bedrooms addition to your house. Just make sure your children have either the child beds + the chests or single beds if you have no Bedrooms addition. I freaked out too when I couldn't adopt a child. Time passed and my husband and I lived in a half decorated house. I asked my house steward to finish decorating the house. After the rest of the furniture came that I was too lazy to get the materials for, I talked to an orphan in the street of Whiterun. I decided to see if now, since the house was finished if I could adopt her. So, I looked, and it was an option. Simple as that. ♥
Comment: This doesn't seem to add much to the previous answers, it might be better shortened and left as a comment once you earn that privilege.
Answer: You must have a child's bedroom before you can adopt the little kids. You will become a parent and get and achievement called Proud Parent. Which gives you a 10 gamerscore.
Answer: Doesn't matter what house you have, whether it's premade or purchased. You must however have two beds and two chests. It doesn't matter which one you buy first.
Answer: It could be a glitch in your game, but I can assure you its most likely because you don't meet the requirements... meaning you don't have two beds and two chests in a children's room. Sometimes, like in my game, I had a glitch where it wouldn't let me adopt a child until I had a wardrobe as well as the beds and chests.
Also, I recommend trying to adopt children from the street, and then try the orphanage. I had a problem quite like yours, and I solved it by doing this: ask  homeless kid that wanders the streets, then an orphan kid, and then a homeless kid again. At the second homeless kid try, I was able to ask the kid to come live with me and was able to have the child as my own.
...I hope this does help, friend, and may you be successful in getting your child.
<3


Is it possible to make an operating system using java?

Question: I wanna know is it possible to make an operating like windows-xp which is written in C language like can I write that in java so that I will have same features as written in C
Comment: JOS never got anywhere ... http://www.jnode.org is a better example.
Comment: There already exists such an OS! Check this out => http://sourceforge.net/projects/jos/
Comment: Even a minimal amount of research uncovers that one has already been created.
Answer: In theory yes, but you'll still have to have some low-level assembly code to bootstrap the Java VM that will run on the machine, and also low-level code for accessing hardware drivers.
From wikipedia:

Given that Sun Microsystems' Java is
  today one of the most dominant
  object-oriented languages, it is no
  surprise that Java-based operating
  systems have been attempted. In this
  area, ideally, the kernel would
  consist of the bare minimum required
  to support a JVM. This is the only
  component of such an operating system
  that would have to be written in a
  language other than Java. Built upon
  that JVM and basic hardware support,
  it would be possible to write the rest
  of the operating system in Java; even
  parts of the system that are more
  traditionally written in a lower-level
  language such as C, for example device
  drivers, can be written in Java.
Examples of attempts at such an
  operating system include JX, JNode and
  JavaOS.
Comment: Hardware drivers should also be written in Java.
Answer: In theory, you could actually write the entire OS in Java with a Java processor. Basically it uses Java bytecode as the instruction set for the processor
Comment: Is there any place I could go to do this? Like where to get the Java processor, how to hook it up etc...
Comment: This was the best I could find https://www.electronicdesign.com/technologies/embedded-revolution/article/21772568/java-processors

Or here's an open source version that says it's been implemented successfully using FPGAs https://opencores.org/projects/jop
Answer: In theory, yes. But you would need to somehow get the Java VM running using low-level code (unless you want to compile Java down to assembly, which probably isn't possible without sacrificing a lot of Java's features).
Comment: Jikes RVM (formerly IBM Jalapeno) and Sun Lab's Maxine are two examples of self-hosting JVMs. The former has around 1000 lines of C. Java is usually compiled down to machine code.
Comment: @TomHawtin-tackline, did Maxine make it to the general public?
Comment: @Thorbjørn Ravn Andersen HotSpot is the Oracle production JVM. There still is JRockit, which will be phased out when important feature equivalents are added to HotSpot - no point in having two production JVMs. (There's also Java ME JVMs, which are likewise.)
Answer: It depends on what you consider "features". If you mean graphical interface, fancy window effects, etc. then yes, although you will need assembly language or C for the very lowest bits (i.e., interfacing with I/O ports, etc.). If you also include the Windows ABIs as a feature then it gets harder since they follow Pascal calling conventions.
Comment: Windows API's are not a necessary part of an operating system.
Answer: operation systems are closer to the hardware (like drivers). in my view this it not the area of Java (just the wrong solution of the problem domain operating-system).
Answer: As others mentioned above, it has already been attempter. Jnode is the only one that has withstood the test of time and is being actively worked on though they haven't released a new build in years.
But if you look at their Git commits, they're working on an imminent release as I write this. I'm a fan of Java and look forward to the release. People who hate verbose imperative languages like Java cringe at the idea but it's not for everyone.
Interesting too is the idea of implementing Java byte code in hardware. I don't think that will go anywhere as the strength of Java is that you don't need to worry much about hardware. You just need to get a OS in Java and it can be run on any JVM.
I think the true power of Java in the OS domain is virtualisation. I can't think of a better way to have a virtual OS as Java is everywhere.
As other posters noted above, it can't be implemented completely in Java without a Java hardware implementation. Jnode is completely written in assembly and Java. But then all modern operating systems use some assembly language.


Where is the Benefactor?

Question: I'm in the Aldmeri Dominion and am in Vulkhel Guard. The hooded figure told me to go see the benefactor, but the map tells me to get on a boat to Davon's Watch. I looked online and it says he should be on the Interim Suitor, but he isn't. Where is he? Is he in Davon's Watch?
Answer: The location varies depending on your alliance:

Aldmeri Dominion (Alliance) = inside The Interim Suitor ship at the Vulkhel Guard docks in Auridon.

Daggerfall Covenant (Alliance) = inside the Patheirry House near the southeastern gate in the city of Daggerfall in Glenumbra.

Ebonheart Pact (Alliance) = inside The Sadreno House by the bridge that goes over the two ponds in Davon's Watch city in Stonefalls.

Where is the Benefactor?


Puzzle design in Adventure games

Question: Creating interesting, original, logical, thoughtful puzzles is an art.
What techniques and methods do you use to create good puzzles?
Do you write storyline before designing puzzles or combine these 2 processes?
Comment: LucasArts-Sierra-of-90th-style. :)
Comment: Are we talking puzzles as in those sokoban style block pushing bits, to get through a cave?
Comment: Puzzles in Adventure games: http://tvtropes.org/pmwiki/pmwiki.php/Main/AdventureGame.
Comment: Oh, so Crimson Room style.
Answer: Some general inspiring approaches to create puzzles:

One possible inspiring method is to use puzzle classifications.
Adventure UML (Visual representation)
Adventure UML (Source article)
Mark Newheiser's classification
"Making Better Puzzles" by Stephen Granade
All these classifications can be used to stimulate your creativity and brainstorming.
TRIZ - "a problem-solving, analysis and forecasting tool derived from the study of patterns of invention in the global patent literature". It was developed by Soviet engineer and researcher Genrich Altshuller and his colleagues, beginning in 1946. In English the name is typically rendered as "the theory of inventive problem solving", and occasionally goes by the English acronym "TIPS".
TRIZ is variously described as a methodology, tool set, knowledge base, and model-based technology for generating new ideas and solutions for problem solving. It is intended for application in problem formulation, system analysis, failure analysis, and patterns of system evolution. Splits have occurred within TRIZ advocacy, and interpretation of its findings and applications are disputed.
TRIZ (wiki)
Edward de Bono's methods of creative thinking.
Edward de Bono (wiki)
Comment: Great, unusual, eye-opening answer!
Comment: @topright: This seems to be closed related to the first, now broken, link. Is it? http://www.adventuregamestudio.co.uk/forums/index.php?topic=38322.0
Comment: The first link is broken :(
Comment: @AlexanderGladysh, yes, that's the same link (but without images)
Answer: I prefer to design a situation, model it as accurately as I can, and allow as many standard manipulations as I can, and let problems and solutions emerge intrinsically and appropriately.
Early examples included Infocom's Suspended and FTL's Dungeon Master, though they were a mix of scripted puzzle logic and semi-realistic game systems.
Answer: An interesting way to design puzzles is through abstraction - look at objects around your home or elsewhere and think about how they interact with each other, how they can be manipulated and how they could benefit a goal or aim.
Don't forget to think in three dimensions, as this will help with the design of the puzzle space.
Puzzles can be about a whole variety of things applicable to simple day-to-day living. Some examples: shape, colour, memory, logic, primitive maths (addition, subtraction, multiplication and division), sound, depth, light, interaction of lifeforms.
Be sure to tie your puzzles in with the game world and the immersion of the game itself and you will have some thoroughly engaging mind-bogglers.
Answer: Experiment. Think about puzzle games you have played that come packaged with a level editor. How would you create a new puzzle using their tool?
Usually by experimenting you can find interesting interactions between puzzle elements.
Working backwards is also a very intuitive way to create puzzles of any sort. I would imagine this is the most common technique. When you know the answer it is easy to build complexity on top of it.
Think of IQ puzzle designers. If I give you a sequence 1,9,25,49,_ and ask you what is next you have to use logic to determine what is going on. Where as from the designers point of view it is just matter of making something up that takes no logic at all:
((n*2)-1)^2
So, I would suggest building a tool to edit levels / elements / etc in your game. Experiment yourself, and allow other designers to experiment. You will see interesting patterns emerge.
Comment: Working backwards is great point. Another might be to add and add complexity just think about puzzles as black boxes, they have input and output and they might connect like lego bricks ...
Answer: Adventure games rely heavily on the same motivations as readers or viewers of books or film. For this reason I'd recommend taking a look at the chapters on the section on the inciting incident and the principle of closing the action-expectation gap in Robert McKee's book Story: http://www.amazon.co.uk/Story-Substance-Structure-Principles-Screenwriting/dp/0413715604
The basic premise is that there is something (the story that you probably want to tell) that sets up a disparity between the expected outcome of an action of the hero, and the actual outcome of that action. This is the gap that needs to be closed by the hero during his adventure. This applies to Adventure game puzzle design by being the technique by which you reveal the new puzzles to be solved: If you know you need A, then you first need to find A, or find someone that can tell you where A is, and when you know that you might need to know how to get there, or how to get A once you get to it. Each thing you need to do to acquire A could be an action, or another item to find/use on another item to create another item/action/opportunity to find another step towards A. Even when you have A/get to A, the final outcome should be that A was not quite what you wanted, but took you someway towards getting what A originally represented as its outcome.
Now, i'll give you an example. You are a cook, and you have broken your frying pan. the story is the cook that has to cook food for your slave driving master. To mend the pan, you just need to get a new handle, the helper recommends using the broken broom in the corner, but it needs cutting, where to find a saw to cut it? Outside, maybe by taking the milk from the fridge to swap for a few moments with a saw... pan fixed, you cook, but the original solution of making breakfast has now been made harder as the time it took to fix the pan has caused the fire to go out...
The expectation of the player should be teased out so they almost always only feel a few clicks away from completing their task, but at the same time allowing the opportunity for a really long list of actions to complete in order to finish the game.
An important part of any long sequence of actions is that the player should know when they are about to finish the game, make sure it's obvious that they are, otherwise the game will feel like they're being short changed at the end, and there's nothing worse than an experience ending badly.
Answer: As an adventure game developer (Eternally Us, McCarthy Chronicles) I've found that adventure gamers are generally split into 2 camps. Those who play for puzzles and those who play for interaction and story.
Of course there is some overlap but it might be a good idea to establish your audience before thinking about puzzle design.
Those who play for story generally prefer 'puzzles', in a broad sense, with a heavy grounding in reality. This include the more modern post-adventure games like Heavy Rain and Dreamfall. The key with games like this is not to break the immersion and to consider your 'puzzles' as 'challenges' instead.
On the flip side, the old school adventure gamers tend to want hardcore puzzles like they saw in maniac mansion. The best way to design puzzles like this is to start at the solution and work backwards. This allows you to create multi-faceted solutions like those seen in Day of the Tentacle and the other classic Lucas Arts games.
These puzzles start with a concept and build the puzzle around it.
These games are generally easier to design puzzles for because its acceptable for puzzles to get ridiculous and unintuitive because it is, after all, a 'puzzle.
Think of how stupid some of the puzzles with the crystals were in The Dig.
The biggest advice I can give is to play a lot of adventure games. All puzzles generally fall within 1 of several specific categories with well established tropes. Just observe and imitate, then try to branch your puzzles into something new.
Answer: If we are talking about adventure games, then there are some things you can do in puzzles there that you can't do with puzzles in other games. However, puzzles in games have a lot in common. Personally, I find it best to brainstorm, and come up with a unique setup or interaction with npcs or item such, and figure out the best way to make the interaction feel natural. Even though some puzzles in adventure games make no sense at all, that doesn't mean you should make puzzles that make no sense.
A puzzle should be designed in a way that if you were to look up the solution, you would think that that totally makes sense within the rules of the universe you've created, and that you could have actually figured it out without just brute-forcing it and using every item on every thing, or just walking around spamming the interact button.
Let's create an imaginary scenario. There are three guys you have to get past. One of them always tells the truth, one of them always lies, and one tells the truth 50% of the time. You have to figure out which one is which to move on. They can only respond with Beck, or Reck, and you don't know which is yes or no. First, we need to find the random guy, as he could throw us off. The solution to finding him is simple. Just ask each one the same question over and over, and if one of them doesn't give the same answer to the same question every time, then he is the random guy.
Then, we must figure out what they are actually saying. To figure that out, the player would have to ask if Beck means yes. If they say Reck, then that means no. Is they say Beck, than it means yes. You could do the same thing with Reck, but the concept is the same. Then, you could, with your new knowledge, ask an objectively true or false question, such as whether Pluto is a planet or not. If they say whatever is false, then they are the lying one, and by process of elimination, you have found the one who tells the truth.
However, they don't always have to be this complex. Especially earlier on, you could have simpler puzzles that could potentially be just as hard, just with not as many steps.

Puzzle design in Adventure games


How to add default text that clears on focus with jQuery to a search form text field in Drupal

Question: I would like to have a default text in an Exposed Views Search form that says something like 'type in a keyword to search' which will disappear if the user clicks on the text field and reappear if the user removes the cursor and didn't type anything. I would like the title of the field which is added through Views to become the text in the text field box. Should I use pure jQuery to add the text to the box? Or should I use hook_form_FORM_ID_alter() to add the jQuery and change the location of the title?
Answer: You can do this by implementing hook_form_alter() in a custom module.
function custom_form_alter(&$form, &$form_state, $form_id) {
    if ($form['#id'] == 'search-block-form') {
        $search_text = 'Your search text here';
        $form['search_block_form']['#default_value'] = $search_text;
        $form['search_block_form']['#attributes'] = array(
        'onfocus' => "if (this.value == '$search_text') {this.value = '';}",
        'onblur' => "if (this.value == '') {this.value = '$search_text';}");
    }
}

Comment: Now it is searching for 'Your search text here' when landing on the search page. With Views Exposed filters setting the default value doesn't work.
Answer: I think the best solution is the both, hook_form_alter() like this, you can add the placeholderattribute for fallback.
And after, for browsers that don't understand placeholder, you can use pure jQuery.
Answer: Unfortunately, because the way Views Exposed filters is structured setting the default attribute also sets the filter which is rendered later. Using the jQuery Input Example plugin I added some custom code to a helper module.
First, I need to add the jQuery to the page. Since I think I might use this in the admin theme also I didn't put it in a theme so it gets added to the overlay.
function helper_preprocess_page (&$vars) {
  // Let's add some js to page for the search box.
  $path = drupal_get_path('module', 'helper');
  drupal_add_js($path . '/js/jquery.example.min.js');
  drupal_add_js($path . '/js/helper.js');
}

In the helper.js file I added the code to execute the helper plugin.
(function ($) {
  Drupal.behaviors.helper =  {
    attach: function(context, settings) {
      $('input#edit-search-job-aggregation').example('Enter a location (optional)');
      $('input#edit-search-api-views-fulltext').example('Enter a keyword (optional)');
    }
  };
})(jQuery);


Too much irony on naive questions?

Question: I've been following SO for some time and lately (or is it my impression?) I see many comments on users' posts being ironic or in no way constructive. I've flagged a couple but they seem to reappear. The question is, should there be some kind of other mechanism? Or is it ok to go about mocking naive users with stupid questions?
Comment: Related: http://blog.stackoverflow.com/2012/07/kicking-off-the-summer-of-love/
Comment: @PeriklisVenakis: Who is "flaming"? Also, specific examples are extremely useful and quite appropriate. In response to the "incapable" thing, the user said right in his post "i never worked with PHP before". My inital comment was not meant as an insult and I don't think it was taken that way by the OP, it was an honest question.
Comment: @PeriklisVenakis Could you perhaps quote some of the comments you find particularly problematic? Looking through the quotes on some of the questions you've mentioned, some have a problematic tone, but most are actually helpful and I find none flag-ably offensive (though I might have missed some).
Comment: What about linking to some of the comments you are talking about?
Comment: I really don't see anything I'd consider rude or not constructive in [this example](http://stackoverflow.com/questions/11823029/access-my-aol-email-from-my-own-website) either. Maybe the first comment is off topic, but really - I think possibly you're being overly sensitive (unless the comments were nuked already, in that case I apologize). Maybe the answer to your question is that not everyone agrees on what is and what is not rude or helpful. It's odd to me that in your own post, you state that the questions are "stupid" and the users "naive"... Isn't that a bit rude?
Comment: @ThiefMaster: Just a few I stumbled upon with a quick search (earlier today I noticed more, but I don't remember specific posts): http://stackoverflow.com/questions/11827704/checking-if-xml-is-valid-and-reporting-it-with-php-script, http://stackoverflow.com/questions/11829545/how-to-extract-text-using-preg-match, http://stackoverflow.com/questions/11823029/access-my-aol-email-from-my-own-website
Comment: well, I saw a few much worse earlier (which led to my posting here), and i admit I would probably not flag these myself, but quotes like "any answers would be over your head as well I assume" (rude), "Parsing HTML with REGEX? s/(?<!SHOOTING YOURSELF IN THE )FOOT/HEAD/g" (unconstructive) and "Does AOL mail still exist?" (unconstructive/chatty) are counter-productive
Comment: @PeriklisVenakis: Why do you consider [my comments](http://stackoverflow.com/questions/11827704/checking-if-xml-is-valid-and-reporting-it-with-php-script) to be not constructive or "mocking"? I actually tried to help the user and even upvoted him out of the -1 score. I prompted the user for code, knowing that it was crucial, was not rude in any way (at least I didn't *think* I was), and originally he posted a blob of code in the comments, and he corrected it after I showed him how to add it to the post. There is a big difference between rude/not-constructive and honest feedback or criticism.
Comment: I don't think we should start flaming here. My post was general and I had no intention of pointing out any specific user (although I did after all and I apologize). To answer, had you posted this comment on my question (which btw would probably be my first), implying that, well, I'm incapable of trying so just forget it, why would I want to visit the site again? Why can't you just say "hey, keep in mind that this is way too difficult" or just leave someone else to reply or comment?
Comment: @WesleyMurch -- FWIW I think your comments are fine. The comment about "Does AOL mail still exist?" isn't *rude*, per se, but it's noise, and I don't think it's a good idea to joke around with brand new people that way.
Comment: @ErnestFriedman-Hill: Actually we had a friendly back-and-forth but the user deleted his comments apparently. I'll leave mine be since they are in question here. I agree that there is too much noise/snark in comments but I don't totally agree with any of the given examples (unless of course, the offending comments have been removed and I don't see them). IMO, the sentence "is it ok to go about mocking naive users with stupid questions?" is rather snarky itself, as well as the implications that the questions are "stupid", by the OP of *this* post.
Answer: Thanks for caring about this, and wanting to be part of the solution rather than part of the problem!
If you see snarky comments, flag them for moderator attention, and they'll be deleted. You'll be doing  your part to make StackOverflow a nicer place.
Comment: No, _don't_ flag them for moderation attention, instead flag them as "rude or offensive", "not constructive / off-topic", etc, whichever applies. There's absolutely no need for moderation intervention, our moderators are already overworked as it is, 3 (?) comment flags is all it takes for the comment to go away.
Comment: @YannisRizos You are correct - it takes 3 flags for zero-score comments.  Apparently, [there is a formula](http://meta.stackexchange.com/questions/138168/reduce-the-threshold-for-comment-deletion-with-flags?lq=1#comment388189_138168) for the number of flags it takes based on the "great comment" score- `3 + (Score / 3)`

Too much irony on naive questions?


What should I put in my swamp cooler water to retard growth of nasty things?

Question: For the last 2 batches of beer I've used a swamp cooler to cool off the plastic bucket fermenter. The cooling worked well, but on both batches, there was a bit of mold growing on the outside and/or under the rim of the bucket where the wet towel was. I added some sanitizer to the water in the last batch, but it didn't seem to help. Adding bleach to the water seems like a bad idea. Would there be any chance of bleach or another mold-killer ruining my bucket and/or beer from the outside? Is there something safe I can add to the water to keep the mold and other nasties at bay?
Comment: For what its worth, if the bucket gets too moldy, retire it from service promptly. I had once get really speckled with black mold from sitting too long in a humid environment, and I just use it to hold sanitizer now.
Answer: I've used bleach before without any problems. I can't imagine it seeping through the bucket into the beer, unless you use 100% bleach instead of water...
The amount of bleach required to sanitize water is something ridiculously low, so if its freaking you out, then just make sure you only use a little at a time.
"Most emergency experts and health officials suggest a mixture of 8 drops of bleach to a gallon of generally clear water for best results." - http://www.csgnetwork.com/h2oemergencypurifycalc.html
I'd suggest adding a few ounces of bleach every 2-3 days, rather than throwing in a quart the 1st day and leaving it, as it doesn't take much bleach to purify the water, but bleach does evaporate out of the water within a day or so.
Comment: Bleach doesn't evaporate out, but the chemical oxidation potential once diluted in water decreases pretty quickly.  Thats the reason to refresh every day.
Answer: Bleach is a good choice.  But how long are you leaving the fermenter in the bucket?  Usually after the first few days temp control is much less critical.  I remove my fermenter from the bucket of water after a week and don't see any mold.
Answer: I think I would try using several towels and replace and wash them every couple of days.
Comment: The mold is growing on the bucket itself, though, not on the towel.
Answer: There are professional additives that are used in labs to keep mold from growing in water baths and humidity pans inside incubators. Do you know anyone who works in a lab? Can you find a lab supply store in your area (there is almost always one to supply schools and child care facilities with science equipment). I don't know what the chemical is, I'll try to figure it out next time I see a bottle.
Bleach will work to reduce growth in the water, but it will not "combat" the mold that has already grown. You'll need to scrub and sanitize any areas where you can visually see mold, otherwise it will simply grow back in the same area.


Transparent background not working with smoke domain

Question: I hope this is a simple question; I'm in Eevee trying to make an explosion of sorts, but when I render it with transparent turned on the image doesn't show the smoke domain (it shows when transparent is turned off though). Please just tell me if you need pictures.
Answer: There is a chance that this is because your smoke material's density is too low and the pixels of your render only have rgb values but no alpha value, which is why the smoke can only be seen if transparent is turned off.
You can check to see if this is the case by unchecking use alpha in the composite node, and see if there is any color.


How to permanently erase the deleted files from Nexus 6p?

Question: I had deleted several files like from my Nexus 6P, I want to permanently erase all deleted files, how to do it? where are the deleted files stored?
Answer: They are not 'stored' anywhere. The system marks them to be overwritten, so whenever that disk space is needed, it will write to it. There is no specific location,nor a way to trigger the overwrite. It'll happen as your device is used
Short of professional recovery tools, there is no way to get these files back especially as Android by default encrypted your phone
If you are really concerned, there are PC apps that can military grade format your phone


Can I include carrots in Tortilla de Patatas and can I use a casserole dish to make it taller?

Question: I want to make Tortilla de Patatas but I have extra carrots that I would like to use somewhere. Can I include them in the frying phase? And can the dish be cooked in a casserole dish in the oven to make a very tall 'omelet'?
Comment: Since you ask about another addition in a comment below, I hope you won't object to me mentioning that the one "standard" addition is onion. That is to say, in Spain tortilla de patatas can be described as "with onion" or "without onion".
Answer: If you would like to add carrots, make sure you cut them small enough (since it takes quite a while to get them soft). I'm not 100% sure it would be a good fit, but that's up to you.
You certainly can make a tortilla in the oven, I've done so in a spring form. I think I did it for about 45 min in an oven of 180°C/350°F. But this depends of course on how much food you use and how big your form is. Just keep an eye on it, the egg should be fully cooked and the potatoes soft.
Comment: In my opinion? Yes. I sometimes slice a tomato and put the slices on top. So don't add it to the stir-fry.
Comment: would tomatoes be better than carrots to add?
Answer: Tortilla de patatas can be mixed with some other vegetables in order to make some varieties (for example: tortilla campera). But I've never seen a tortilla with carrots, although I understand you need to cook somewhere those carrots. I'd love to know how it looks and tastes! ;)
If you add carrots, make sure carrots are at least a bit cooked before adding to any phase of the tortilla. If I were you, I would take one of these 2 options:

I would boil carrots and add them to the egg mix right after fried potatoes and onions.
Or, in case you want carrots to have some olive oil + onions + fried potatoes flavour, I would at least blanch them (or boil until they are tender / al dente) before adding to the frying phase (as cooking carrots takes longer than potatoes) at the same time than potatoes.

You can make it in the oven if you find it more convenient, why not? Just so you know that is far from a spanish traditional way of cooking it ;)
In case your concern is about making a taller tortilla, you can do that in a frying pan too (no need for an oven to do that). It only takes some more practice to learn until you do a taller one. Why? Basically because it implies that you have to fill much more your frying pan with more tortilla mixture. Which means when you would flip tortilla upside down you may find it heavier than other times and also you have to move quicker too because mixture tends to spread if it's too tall. Also, you should let tortilla in the heat for sometime longer too in order the inside is properly cooked (bearing in mind that the heat can't be very high as the outside could burn).
Well, I hope this help and good luck with your carrot-tortilla! :)
Answer: I'd most likely slice the carrots very thinly and fry them just before I did the potatoes.  Boiling to soften and drying before frying would be another possibility if you're not being lazy.
But I would not only boil them.  You want them going into the eggs while they're still hot, so the egg kinda congeals around them and binds well.  If you were to add cold carrots, or hot-but-wet carrots, it wouldn't adhere correctly.
And if you did it in a casserole dish, I would argue that it's a crustless, dairy-free quiche, as you're just not going to get the same fried exterior that you get with a spanish tortilla.  If you pre-heated the casserole dish with some oil in it, you'd get closer, but it's going to be closer to a frittata.
And one other tip for larger tortillas -- I use a pot lid, rather than a plate to flip it.  Use one that's curved or has a bit of a lip to catch the oil and is a little bit bigger than the pan you're using.  Slide the tortilla onto the lid, place the pan upside down on the lid, then quickly flip them both over.  I find that having a handle is easier for me than when using a plate.
Answer: You can put almost anything in tortillas. With tortilla de papas, you would typically fry the potatoes before hand, I would add the carrots there since those take a while to cook, like potatoes. I add carrots to them sometimes, also squash or make it with spinach.
You can cook them in the oven in a baking dish or cast iron pan. Cook at 190C, time would depend on the size.


How do you find the minimum height to open a parachute for a safe landing?

Question: What concepts/formulas can be used to find the optimum/minimum release height of a parachute?
Comment: You will need the mass of the object / body...
Comment: The equation for drag (along with gravity) will tell you haw fast you slow down. When the speed is low enough for a safe landing depends on how you define "safe"
Comment: Talk to experienced base jumpers.  They will be able to give you a very good answer.  Note - the base jumpers who were too aggressive are no longer alive, so the ones who are still alive definitely have safety in mind.
Answer: First determine the speed of landing.
Next calculate the area of the parachute
Using the area we calculate drag force(depends linearly)
Using the drag force you get the time in which u can get desired velocity.
From this time u will get the moment(or the height at which) you must open the parachute.
Answer: I'm going to talk concepts, because I think the formulas are not terribly applicable - you'll see why.
The answer depends a LOT on the purpose of the parachute and a lot less on fundamental physics.
For cargo chutes, where the rate of deceleration isn't a major issue, the answer is pretty much how long the lines are times about two. The chute pulls out, typically from a cloth bag pulled off by a much smaller drogue chute, and once it hits the air it opens very rapidly and decelerates to its terminal almost instantly. This still takes a little time, but much less time than it takes for the cargo to leave the plane. If you watch films of this on YouTube, you'll see the cargo is at terminal and descending vertically within about 1/2 the length of the plane and the cargo is perhaps 50 feet below it. This can be further lowered basically to zero if one opens the chute with the cargo still in the aircraft, the LAPES concept, at which point the parachute is fully (or almost) deployed before the cargo moves.
We punny humans are not built for such punishment,so our chutes are equipped with systems that deliberately slow down the opening so the peak deceleration is much slower. A typical skydiver falls at about 120 mph and once the chute is open we're going perhaps 20 mph. That is the equivalent of a very very bad car accident. So we fold them up so they don't catch the air, cover them with a "slider" to further slow things down,  then jam the whole thing into a surprisingly small bag held shut by rubber bands. Now it takes several seconds to open. In that case the minimum altitude is distance you travel in (say) 5 seconds (to be safe) at 120 mph, which is a little under 900 feet. In practice we always pull above that in case the main doesn't open, so we have a couple of seconds to pull the reserve. Unlike the main, the reserve is deliberately packed so it does not slow down the opening, and opens fully in a few hundred feet. I've pulled a reserve only once, and I can tell you my whole body hurt for a day. In any event, in this case the rate of opening is defined entirely by physiology, not physics.
BASE rigs are also designed to open almost instantly. They are packed without a sleeve or bag, they simply fold them up accordion style and put them in a velcro-closed backpack. According to one story that made sure I would never BASE, an acquaintance knows from direct experience that they can open fully from the balcony of a 13-story apartment building (which they were not at the top of, IIRC).
So... that's why it's less physics and more concept. The basic answer is "zero, if you want that, but likely don't".
All of that said, there is an interesting formula in all this. A six-foot snowdrift will safely stop you in freefall. That's easy to calculate, and there are several real-world examples of this happening.


Is the grid_terrain resolution in the units of the point cloud?

Question: My las tiles are all in a coordinate system that uses US feet, so if the res parameter for grid_terrain() is set to 1, is the output 1-ft resolution? I figured this is the case, but my professor wondered if the function only uses meter units, in which case the output is 1-m resolution.
Answer: Yes. In lidR, inputs are unitless. The software only makes stupid comparisons between the coordinates of the points and the input values. So if you ask for grouping by 1 unit it is 1 unit of the point-cloud. It works the same if you want to query point above x or anything else. The CRS of the input point-cloud is always propagated and preserved in the outputs.


Creating a momentary low pulse with a toggle switch

Question: I want to create a circuit with a SPST toggle switch that when flipped in one position the output signal is high and when flipped in the other the output has a momentary low pulse and then rises back to a high output again.
It seems very simple but I cannot for the life of me figure it out.
Comment: Connect the switch to a monostable multivibrator (555?)
Comment: SPST has opened/closed position so which one you choosen?
Comment: There is of course wide awareness of the 555, but it's also worth looking at other possibilities like the 74xx121 or`221
Comment: Jim Dearden input diode on the 555 timer worked excellent.
Answer:

simulate this circuit – Schematic created using CircuitLab
Figure 1. Crude pulse-low on switch closure.
You could play with this in a simulator or try it out. You haven't given any clues what the load is but if it's in the mA range this might work.

R1 supplies current to Vout. Vout is normally high.
R2 discharges C1. Both sides are at 5 V.
SW1 pulls the bottom of C1 low. The top side will be pulled with it causing Vout to drop close to 0 V.
If SW1 is held closed C1 will charge via R1 with time constant \$\tau = R_1C_1 \$. This will determine the width of your pulse.
When SW1 is released R2 will discharge C1 again and it will be ready in 3 to 5\$\tau\$ or about \$ 5 R_2C_1\$.
Answer: Solution 1
A simple 1 transistor circuit:

When SW1 is closed it pulls one side of C1 to 0V. The other side of C1 is at 0V so in order to maintain the voltage across C1 it pulls this plate to -V.
D1 (a general purpose diode) prevents this negative going edge exceeding the base-emitter breakdown voltage of T1 for supply voltages greater than about 5V.
This plate of C1 then charges back up through R2 to about 0V.
When the switch is closed that side of C1 rises immediately to +V causing the other side of C1  to do the same (can't instantly change the voltage across the capacitor). This side of then C1 discharges through D1 and Vbe in parallel with R2 causing T1 to switch on for a short time.
Once this plate voltage falls below 1.2V (2 x 0.6V drops) T1 turns off (again) leaving the output voltage at the collector of T1 high.
Solution 2
The  555 monostable
As it stands the standard monostable needs to be tweeked before it will answer this question.

Tweek 1 - is to produce a short negative edge pulse from the switch. (R1,C1,D1 and R2).
R2 holds the trigger and threshold inputs high. When the switch is closed the negative edge of the pulse is transferred across C1 pulling the voltage at C1, R2 low - triggering the 555.
Opening the switch will not trigger the 555 and any positive edge pulse produced is clamped by D1 to no more than 0.6V above the supply.
R3 and C2 control the timing of the pulse (standard timing elements- adjust values as required).
C3 is optional but recommended (smoothing of internal divider resistor chain)
Tweek 2 - The output of the 555 is normally LOW with the pulse going high. As you require the opposite (high-low-high) a simple transistor inverter circuit is added.
Comment: In that case the 74xx121/221 ends up being a simpler circuit, as it has outputs in both polarities.
Comment: @ChrisStratton I wasn't planning on answering this question but this answer (using a 555) was put up in response to the number of comments about using a 555, all of which seemed to fail to point out that a 'standard monostable circuit' (as suggested) was  unsuitable.  A 74xx121/122 does produce a simpler solution **but** you are then limited to a 5V (TTL) supply.
Answer: Use a 555 timer.
There are example circuits in the link below for monostable multivibrator.  This means that it triggers once (mono).  There are other modes you can get, such as continuous square wave, which is astable multivibrator.  In this case the toggle switch could be replaced with a SPST if that's all you have.  I won't go through the details because the link has a very good explanation for everything.
http://www.electronics-tutorials.ws/waveforms/555_timer.html
Comment: links die, better to put up an actual answer
Comment: There has gotta be hundreds of explanations for 555 timer setups; there is no reason to redo it.
Comment: Very true but (a) Answers here should be stand alone not just net references and (b) the standard 555 monostable output gives a positive pulse output and the questions requires a negative pulse.   The reason I made the comment was simply to **help you** put up an answer that wouldn't get down voted ( btw It wasn't a downvote from me as I rarely downvote). Over time, as folks come across your answer it is liable to attract more down votes and that is a very good reason to redo it.


Help with series convergence and divergence concept

Question: When you are trying to figure out whether a series converges or diverges why can you test for convergence at any term in the series as opposed to having to start at the beginning of the series. Is it because the ratio is the same throughout the series.
Answer: Write $S_n:= \sum_{1 \leq k \leq n} a_k$ and $T_n := \sum_{k > n} a_k$. Write $S:=  \sum_{k=1}^{\infty} a_k$. Can you show the following?
$S$ exists iff $T_n$ exists for all $n \in \mathbb{N}$, and in that case we have $S = S_n + T_n$.