Difference between bookmarking and installing an web app in Chrome?

Question: What is the difference between bookmarking an web page (or web app) and installing an web app in Chrome? Is there any performance improvement for installed web apps? Or any other benefit?
Answer: I watched the keynote from google about it here and there are several advantages (that I took away) for users to install apps:

There is a central location to find all of your apps: Icons are put on the "new page" page
Making the way web security is run is easier: when you install an app it saves permission so you don't have to click hundreds of alert messages every time you load
The chrome app store makes purchasing access to sites and tools and such much easier
Aesthetic things to make the page act more like a desktop application: automatic full screen, little icons on the top of the page and such.  Though, I believe These features are in the works and not included yet.
 All these things are settings that you can edit.

IMO, the app store and installing apps was made more for developers.  It streamlines the developers access to payment processors, taxes, going international, etc.  It also gets the app/page searchable in the app store, thus reducing marketing efforts/costs, providing accessibility to more users and hopefully allowing you to sell more apps.
Afterall, it's all about making money right ;)
Answer: They also allow installed apps to be placed in the background. Blog post announcement:
http://blog.chromium.org/2011/02/amping-up-chromes-background-feature.html

Apps and extensions that use the new "background" feature can
  continue to run in the background—even if the user closes down all of
  Chrome's windows. "Background apps" will continue to run until Chrome
  exits. The next time Chrome starts up, any background windows that
  were previously running will also be re-launched. These windows are
  not going to be visible but they will be able to perform tasks like
  checking for server-side changes and pre-emptively loading content
  into local storage.

Developer info:
http://code.google.com/chrome/apps/docs/background.html
Answer: Installed web apps can access the Chrome browser extension API. This means they have access to bookmarks etc.


Running baseband analog audio signal over cat 5 cable

Question: What will happen to a single ended (not differential) 1Vpp analog audio signal(4khz bandwidth, not modulated) if it runs through long cat5 cable (length can be 50 meters)? How much signal voltage can drop? Can there be any change in frequency?
What will happen if the input signal is differential (say 0.5Vpp signal in each differential line)?
Comment: Do you know what a telephone sounds like?
Comment: A small consideration: the audio technically  won't run over "cat5". It will run on the individual lines within he cable. Audio over twisted-pair is common in the AV industry.
Comment: Professional audio is typically run over 600 ohm shielded twisted pairs (STP) as a differential signal.
Comment: I've used Cat 5 and worse in the past for audio applications (speaker output of PC to power amplifier). Does it work? Yes. Will an audiophile scream at you for using the "wrong" cable? Probably. But for 20m it worked fine.
Answer: Your question is impossible to answer quantitatively since the level and type of interference along the cable is unknown, and you haven't told us how the end is terminated.
Look up the resistance per unit length of the cable you want to use.  From that you can calculate the resistance in series with your signal.  Don't forget that the signal makes a round trip, so the total wire length is twice the cable length.
That all said, sending single ended audio over a long unshielded cable sounds like a really bad idea to me.
My first reaction would be to send the data digitally.  That's what cat 5 cable is intended for.  You can easily send a few Mbit/s over one pair.  To put this in persepective, 16 bit samples at 50 kHz rate (better than CD quality) is only 800 kbit/s.
Digital gives you a certain noise immunity directly.  It also allows for easy common mode rejection at the receiving end, by using opto-isolators or pulse transformers.
My second choice would be to use one pair of the cat 5 cable to send differential audio.  I would make the voltage higher than you suggest.  That makes it larger relative to the inevitable noise along the way.  A small audio transformer at the receiver is a easy way to eliminate most common mode noise, and that also removes the need to for a third wire to carry ground.
Comment: Whoever downvoted this, what do you think is wrong?
Comment: OP could also reduce sensitivity to noise by using shielded Cat 5, though of course that's more expensive than plain Cat 5. And, if they don't have a transformer to use at the receiver, they may be able to tie some of the other pairs in the Cat 5 to ground and prevent ground loops that way – though the feasibility of this depends on the actual potential difference between source ground and receiver ground (Cat 5 is only rated to 60V and 360mA).
Answer:
What will happen if the input signal is differential (say 0.5Vpp
  signal in each differential line)?

When sending an analogue signal from one place to another, the biggest hurdle faced is usually interference pick-up. To minimize pick-up you should make the impedance of each differential wire the same. The result is that when interference comes along, the same interfering voltage is developed equally on both wires.
This is called balancing the impedances and it leads to the term "a balanced transmission". It does not mean that you have to send signals differentially although this helps because it doubles the signal amplitude resulting in a 6 dB improvement in signal-to-noise ratio.
To balance the impedance on each wire, the wires have to be very similar in construction and, of course, twisted pair is the usual solution but, the driving impedance also needs to be the same for both the hot lead and the return wire. For example, if you are driving the line with an op-amp, it is usual to put (say) 600 ohms in series with the hot-wire and the same impedance in series with the return wire.
This ensures that interference induces the same unwanted voltage on each wire.
At the receiving end, the input amplifier must be differential and present a balanced impedance to ground else it could also imbalance the interference voltage on one wire with respect to the other and the differential amplifier wouldn't be able to adequately cancel it at its output: -

This method also overcomes the problem of a different earth potential between transmitter and receiver caused possibly by earth currents from localized plant equipment.

Can there be any change in frequency?

There will be no change of frequency but there can be a relative attenuation of some frequencies with respect to others due to the complex input impedance presented by any cable at audio especially on long wires such as in telephones.

How much signal voltage can drop?

There won't be much attenuation for audio base-band on a 50m cable but, if in doubt, the cable can be modeled and attenuation figures acquired via simulation.
Comment: @user287001 the voltages at each op-amp input are the same (due to op-amp negative feedback action), therefore if the resistors are the same value then the impedance looking into those resistors from the line is the same. However, to avoid other folk getting confused about this I shall consider making the input stage appear less ambiguous but, I'll wait for your counter-comment.
Comment: I removed it Apologies.
Answer: Forget single ended signals - 50m is so long distance that any ground connection simultaneously at both ends make an enormous interference collecting loop. Hum and buzzes spoil the signals totally if they are only few hundred millivolts.
See Cat5 spec: https://en.wikipedia.org/wiki/Category_5_cable
All wave phenomenas at audio frequencies and 50m cable length are neglible. You can well think one pair as RC lowpass filter which has 10 Ohm resistor and  C=2500pF. It alone affects virtually nothing, but the source resistance at the signal transmitting end will affect radically. If there's several kOhms at the transmitting end, you will get  treble loss. Only 1500 Ohms can be tolerated for full 20kHz band audio. 4kHz allow 7500 Ohm, but the higher is the resistance, the more sensitive the system is to collect hum and other noises.
How much there's interfering fields in your operating environment. I cannot say it. An AC power cord side by side with your cable can cause troubles if the terminating resistance at both ends is high. You must do some tests.
Answer: The other questions point out the electrical effects, but I also want to mention that there are commercial products that do exactly this with good results.  The keywords to search for are "cat5 audio balun".  For example, here's one meant for professional audio applications that is rated to work up to 1900ft/500m: https://www.markertek.com/product/ets-pa202m/ets-pa202m-instasnake-adaptor-4-mxlr-to-rj45-jack-all-pins .  If you're looking to DIY something similar, the designs of these things would be a good starting point.
Answer: Here is a bit of math, to inject a voltage from a magnetic field.
We'll assume the wire-wire spacing of your signal/ground within the CAT5 is 2mm. We'll assume a single  power wire (not hot / return) located 10cm away. And we'll assume the power wire is driven by a PURE 60Hz power line, thus no spikes, no rectifier diode fast-on edges, just a pure 60Hz sin, at 1 amp.
By the way, dI/dT is 377 amps/second.
What will be induced, for worst-case orientation of the CAT5 versus the power wire? Use the formula
Vinduce = [MU0 * MUr * Area / (2 * pi * Distance)] * dI/dT
which we can rewrite for MU0 = 4 * pi * 1e-7 Henry/meter and for MUr = 1 (for air, vacuum, copper, aluminum) as
Vinduce = 2e-7 * Area/Distance * dI/dT
Inserting numbers, we find
Vinduce = [2e-7 H/meter * (50 meters * 2mm)/ 100mm ] * 377
Vinduce = 2e-7 * 377 = 754e-7 volts
= 75 microVolts
= 0.075 milliVolts
=================================
If your power wire (again, this is just ONE WIRE, not the standard field-reducing HOT+RETURN) has any spikes on it, such as from a microwave-oven where the internal 2,000 volts have fast slewrate and thus rectifier diodes can turn on in 100nanosecond, thus dI/dT can be 10 amps peak / 100nanoSec or 10^8 amp/sec, your interference will be 100,000,000/377
or 200,000X worse.
Comment: here's some attempt to give something concrete +1 for reminding.


Does a voice activated conversation with an AI constitute as natural speech?

Question: Since AI bots fulfil all the requirements of speech, but don't fulfil the criteria of 'natural speech' production since it wasn't done impromptu and wasn't developed naturally, do you guys think that a conversation with a chatbot linguistically constitute as a natural conversation? Where would you draw the line?
Answer: Ignoring the call for opinions, there is a specific term for such kind of speech: It is elicitated speech. You have this in many forms, including the use of scripts in experiments, visual stimuli, or interaction with speech bots. It typically occurs in linguistic experiments where the stimuli create a comparable environment for all tested speakers.


IE9 XAML Security - Does a Full-Trust Certificate suffice?

Question: Recently the IE developers (in their infinte wisdom) enhanced the way IE9 security works when it downloads an XAML browser file - which I need to do as I have a Winforms application hosted 'within' an XBAP
IE9 now requires me (as a user) to go onto its Security panel and click on 'Enable XAML browser applications' before it will run my application.
Now while I am more than happy to purchase  a Full-Trust certificate from a provider (e.g. Symantec) my question is this:
'With this certificate attached to my website - and by implication my application - will users STILL have to re-configure their browser(s) to 'Enable XAML browser applications' before my application runs, or will the Full-Trust certificate be enough to allow it to run seamlessly i.e. without the user modifying their browser settings?'
For what its worth my application might be used by hundreds (or hopefully) thousands of people, and I would hate the thought of them all having to change their browser settings to gasp in awe at its beauty(!!).
Will a Full-Trust certificate attached to it avoid this problem?
Many thanks in advance
Answer: My understanding is the certificate makes no difference in this case.


Bounded Quadratic Concave Minimization

Question: Say I have the following optimization problem
\begin{equation*}
\begin{aligned}
& \underset{x \in \mathbb{R}^n}{\text{minimize}}
& & x^\top Qx + c^\top x \\
& \text{subject to}
& & 0 \leq x_i \leq u_i, \; \forall i
\end{aligned}
\end{equation*}where $Q$ is a negative semi-definite matrix and each $u_i$ is a non-negative real number. This problem is non-convex as we are trying to minimize a concave function. However, since the problem is bounded there exists a solution. If we envision the bounded region as a hyper-cube, my question is this: is one of the corners of the hyper-cube always a minimizer of the function? Note I am not asking if it is possible for a non-corner point to also minimize the function, just if is possible for a non-corner point to have a strictly lower function value than any of the corner points.
Comment: There is always an extreme point solution, in this case a corner point. Any other point can be formed as a convex combination of corner points.
Comment: @Michael if you've got the time I recommend developing that into an answer. If in particular you offer the simple proof that the non-corner points cannot have a lower value than those on the corresponding corners, you'd be done.
Comment: @MichaelGrant : Thanks, I just did that below.
Answer: Let $u_i$ be given positive real numbers for $i \in \{1, ..., n\}$. Define the box $H$ by:
$$H = \{(x_1, …, x_n) \in \mathbb{R}^n : 0 \leq x_i \leq u_i \quad \forall i \}$$  Note that $H$ is the convex hull of its corner points.  Let $f:H\rightarrow\mathbb{R}$ be a concave function.
Suppose $z \in H$.  But $z = \sum_{i=1}^{M} \theta_i c_i$ for some positive integer $M$, corner points $c_i \in H$, and probabilities $\theta_i\geq 0$ such that $\sum_{i=1}^M \theta_i=1$. Then
$$ f(z) = f\left(\sum_{i=1}^M \theta_i c_i\right) \overset{(a)}{\geq} \sum_{i=1}^M \theta_i f(c_i) \geq \sum_{i=1}^M\theta_i\min_{i \in \{1, …, M\}} f(c_i) = \min_{i \in \{1, …, M\}} f(c_i)$$
where (a) uses the definition of concave. So for every point $z \in H$, there is a corner point $c_j \in H$ such that $f(z) \geq f(c_j)$.  A similar argument implies that if $W$ is any subset of $\mathbb{R}^n$ and  $f:Conv(W)\rightarrow\mathbb{R}$ is a concave function, then for any $z \in Conv(W)$, there is a point $c \in W$ such that $f(z) \geq f(c)$.

The case when $H$ is a box allows one to   represent every point $z=(z_1, ..., z_n) \in H$ as a convex combination of the corner points as follows:
$$ z = \sum_{i_1=0}^1\sum_{i_2=0}^1...\sum_{i_n=0}^1 p_{1,i_1}p_{2,i_2}...p_{n,i_n} \underbrace{(u_1i_1, u_2i_2, ..., u_ni_n)}_{\mbox{corner point}} $$
where $p_{i,1} = z_i/u_i$ and $p_{i,0} = 1-z_i/u_i$.  This representation sums over all $2^n$ corner points.  (There are representations that sum over only $n+1$ corner points.) To see that this particular representation works, take the first entry:
\begin{align}
\sum_{i_1=0}^1\sum_{i_2=0}^1...\sum_{i_n=0}^1 p_{1,i_1}p_{2,i_2}...p_{n,i_n} u_1i_1 &= \sum_{i_1=0}^1 p_{1,i_1}u_1i_1 \sum_{i_2=0}^1...\sum_{i_n=0}^1p_{2,i_2}...p_{n,i_n} \\
&= \sum_{i_1=0}^1 p_{1,i_1}u_1i_1  \\
&= (1-z_1/u_1)0 + (z_1/u_1)u_1 \\
&= z_1
\end{align}
Similar holds for all other entries $\{2, ..., n\}$.

Bounded Quadratic Concave Minimization


Can a pre made jam be thickened into pate de fruit?

Question: I have a wonderful locally made jam and want to turn it into fruit de pate to sell alongside the jam in my market. Can I add more pectin to the jam after heating it to thicken it into a jelly?
Answer: Here is a discussion on Jam to Pate de Fruit? at eGullet Forums.
Question posted by pastryani:

Is it possible to make PDF from jam or jelly?  Jam is essentially a more fluid version of PDF, so I would think that I could either (1) boil off extra liquid from the jam until it's thicker, or (2) warm the jam and add a bit of pectin to it to thicken it.  If I were to try the latter, anyone know what amount of pectin would be needed?  Thanks!

One answer by ElainaA:

I've done (an unsophisticated) PDF from jam many times. The recipe is from one of the first candy books I bought, years ago, Weinstein's The Ultimate Candy Book. It uses gelatin: 2 envelopes of unflavored gelatin, softened in 1/3 cup. 3/4 c. granulated sugar and 1/3 c. water combined and heated to a boil. 1 c. jam or marmalade stirred in to dissolve, gelatin added, bring to a boil and cook 2 minutes. Pour into an oiled pan and refrigerate until set.
There is a very similar recipe in Ruth Kendrick's Candymaking called 'fruit jam jellies'.
I'm not sure if these are true PDF but they are good. I've made both with various types of jam or jelly. I preserve so much I have to do something with it.

Conclusion: It is indeed possible, and not hard to do.


Using device fingerprint to prevent an attacker from calling my login REST service for doing dictionary attacks, is this an effective solution?

Question: As you know, REST services of mobile application are vulnerable from calling by other unauthorized users, some attacks can be done, and we don't have any prevention mechanism for them, such as dictionary attack.
In web applications the basic mechanism that we can implemented is a Captcha, but for REST services of mobile application there's nothing we can do.
I guess the device fingerprint can be effective solution in this way, what do you think about this?
Answer: It's VERY difficult to prevent random users from calling your endpoint. I would not recommend fingerprinting (assuming this is a general service). How is the fingerprint generated and verified? Can you ensure confidentiality, integrity and authentication of the fingerprint? What's stopping another user from analyzing the requests and sending the same fingerprint? Generally, you should assume that attackers know EVERYTHING about your endpoints and build security controls inside of your endpoints. Security by obscurity is almost always a bad idea.
Not entirely the same, but following the same concept, a great example of how client filtering failed magnificently would be the Pokemon Go application (story here). The short summary of what happened was that Pokemon Go wasn't able to limit the requests sent from just their mobile application. So, hackers starting building secondary clients that would send fake location requests back to the application, thus allowing users to jump anywhere on the map and collect Pokemon from all locations.
If your service is only used by a known set of immutable users, IP filtering would be a great technique to prevent others from calling your API.
Otherwise, you would want to build security controls within your API. (Ex. a 5 minute timeout for every 3 incorrect logins per IP, etc.)
Answer: You can't distinguish a good device fingerprint from a bad one. A suspicious fingerprint might actually be legitimate, if the user has changed device or is connecting from another network, for example. And a good fingerprint might actually be malicious, if the attacker has been able to spoof it by sending acceptable parameters. Device fingerprints can be useful to send alerts like "somebody signed in from a suspicious device or location, was that you?", but you can't use them reliably to filter traffic.
The right way to avoid remote bruteforcing is to limit the attempts, introducing a delay or a block when too many login failures are detected. This limitation is usually applied only to the IPs that are failing to authenticate. If you decided to delay or block logins in general you would introduce DoS issues for legitimate users. Provided that the passwords or the authentication keys are strong enough, limiting failed logins will make remote bruteforcing totally unfeasible.
Comment: Thank's for your response. Actually, I want use some DNA parameters together such as device fingerprint, network packet parameters and user behaviour.  By these items, I can create a likelihood table and find out malicious behaviour. This table help me to have a precisely recognition in finding attacker.
Comment: Honestly, Dictionary attack on login service is my concern and I want to create such a honeypot application to make a delay for users who did malicious behaviour.


Trying to derive the formula for the volume of a cone

Question: I was looking at a water bottle and trying to find the volume for fun, but couldnt remember the formula off the top of my head. So what came to me was i'd just think of the height of the cone and radius of the base as the sides of a right triangle, and then give said triangle a spin around the z-axis/center of the cone overlapping with its height. How do i go about doing that? Possibly integrate using the circumference of the circle on a third axis and then assuming the resulting shape will be of equal volume?
Comment: Hey, welcome to site, give Pappus's centroid theorem a try.
Comment: Just to clarify: you are assuming that the water bottle is a right circular cone with base in the $xy$-plane and centered on the $z$-axis?
Comment: That is correct @Sam. Thanks, I'll look it up @ K.K.
Answer: This approach uses triple integrals. Typically, one obtains volumes of certain geometric objects by evaluating integrals such as:
\begin{eqnarray}
\int_{V} dxdydz \tag{1} \label{1}
\end{eqnarray}
where $V$ is an appropriate domain of integration in $\mathbb{R}^{3}$. Now, let us consider an 'upside-down' circular cone with vetex at the origin, base radius $R=a$ and height $h$. Then, an appropriate domain of integration in (\ref{1}) would be:
\begin{eqnarray}
 \frac{h}{a}\sqrt{x^{2}+y^{2}} \le z \le h \quad \mbox{and} \quad 0 \le x^{2}+y^{2} \le a^{2} \tag{2}\label{2}
\end{eqnarray}
This reduces the integral (\ref{1}) to:
\begin{eqnarray}
\int_{x^{2}+y^{2}\le a^{2}}(h- \frac{h}{a}\sqrt{x^{2}+y^{2}})dxdy \tag{3}\label{3}
\end{eqnarray}
Using polar coordinates, $x=rcos\theta$, $y=r\sin\theta$ with $0 \le r \le a$, $0 \le \theta \le 2\pi$ and $dxdy \to rdrd\theta$, we get:
\begin{eqnarray}
\int_{x^{2}+y^{2}\le a^{2}}\frac{h}{a}\sqrt{x^{2}+y^{2}}dxdy = \frac{h}{a}\int_{0}^{a}\int_{0}^{2\pi}r^{2}drd\theta = 2\pi \frac{h}{a} \frac{a^{3}}{3} = \frac{1}{3}2\pi a^{2}h
\end{eqnarray}
and also:
\begin{eqnarray}
\int_{x^{2}+y^{2}\le a^{2}} h dxdy = h \frac{a^{2}}{2}2\pi
\end{eqnarray}
so that (\ref{3}) is now given by:
\begin{eqnarray}
\pi a^{2} h - \frac{2}{3}\pi a^{2} h = \frac{1}{3}\pi a^{2}h
\end{eqnarray}
Answer: Let $r$ be the base radius of the cone and $h$ be the height of the cone.
On an $xy$-plane, find the straight-line equation of your orthogonal triangle:
$$\begin{align*}
\frac yh + \frac xr &= 1\\
y &= -\frac{h}{r}x+ h
\end{align*}$$
Find the volume of revolution around the $y$-axis for the line from $x=0$ to $x=r$,
$$\begin{align*}
V &= \int_0^r 2\pi x \left(-\frac{h}{r}x+ h\right) dx\\
&= 2\pi h\int_0^r \left(-\frac{1}{r}x^2+ x\right) dx\\
&= 2\pi h\left[-\frac{x^3}{3r}+ \frac{x^2}2\right]_0^r\\
&= 2\pi h\left(-\frac{r^3}{3r}+ \frac{r^2}2\right)\\
&= 2\pi h\left(\frac{r^2}6\right)\\
&= \frac{1}3\pi r^2 h\\
\end{align*}$$
Answer: I find it easier to integrate the area along the axis of revolution.
Since the cross section here is circular, the area is
$$A(r) = \pi r^2 \tag{1}\label{EQ1}$$
Let's say we have a right circular cone of height $h$.  The radius is $0$ at $z=0$, and $R$ at $z=h$:
$$r(z) = R \frac{z}{h} \tag{2}\label{EQ2}$$
The volume is the integral of the cross sectional area over the total height,
$$V = \int_{0}^{h} A(r(z)) d z \tag{3}\label{EQ3}$$
Expanding $\eqref{EQ3}$ we get
$$V = \int_{0}^h \pi \left( R \frac{z}{h} \right)^2 d z = \frac{\pi R^2}{h^2} \int_{0}^{h} z^2 d z = \frac{1}{3} \pi h R^2 \tag{4}\label{EQ4}$$


There is a CPU spike once per hour when logging "TraceLedgerEvent.TookSnapshot". Is it a bug, or is there a fix?

Question: About once an hour, when TraceLedgerEvent.TookSnapshot is written to the log, there is a CPU spike and at the same time the slotMissedNum is increasing. Is this a bug in the node? Or is there a fix?
cardano-node v1.27.0
CPU 6Core
Mem 16GB
Comment: +1. Welcome to our new community and thank you so much for contributing your question here! We hope to see much more of you in the future !!! Please take a look at the edits that I suggested since they may improve how well your question is received here.
Answer: That CPU usage spike is only at most 8% of the CPU capacity, which is extremely small. I get spikes on my laptop CPU of 100% for longer time intervals than the spikes here, when just casually browsing the web.
If anything is being written anywhere on the computer, or anything is happening such as slotMissedNum increasing, I would  expect a CPU usage spike of around the size of the extremely small spikes you're seeing here.
I hope that takes care of the CPU spikes part of the question. If you believe that the increasing of slotMissedNum is a bug, then that's a different matter, for which I'm not immediately able to offer a solution, but that bug can be addressed entirely independently since the CPU spikes do not create any additional concerns.
Comment: To clarify on the above answer, this spike occurs when it rights the state of the ledger in memory to disk at an interval. As the above comment states, it's a very small spike. If we didn't do this periodically, you'd have to rebuild the entire ledger state from scratch every restart of the node.
Comment: Some of you have pointed out the same problem, what do you think?

https://github.com/input-output-hk/cardano-node/issues/2731
Comment: I think you mean, as the above ***answer*** indicates.


"Nose" is to "nasal" as "throat" is to what?

Question: We use nasal as an adjective for something related to nose.
What is the word to refer to something related to throat?
Comment: Are you looking for 'laryngeal'?
Answer: Throaty and gular both mean "of the throat" with different nuances and different senses coming most immediately to mind.
Glottal, guttural, laryngeal, and tracheal are all related to parts of the throat, and hence more appropriate in some cases, while inaccurate in others.
Comment: *Pharyngeal* as well.
Comment: Yes, there are a lot more linguistic things one can do in the throat than in the nose.
Comment: Yes. There's more bits that can get wiggled in speech. The nose can be turned on or off (occasionally there are three or more degrees of freedom, as in Acehnese, but mostly it's binary), and that's all. But there are dozens of possibilities with glottalization, pharyngealization, creaky voice, breathy voice, voicing itself, etc. -- all using the throat as an instrument, rather than just one stop of many.
Comment: Though that's really because there's more biological bits to a throat than a nose. Of the above, *tracheal* refers to the trachea, *glottal* to the glottis (the vocal chords and the space between them) and so on.
Answer: The Latin for throat is gula, and its adjective is gular. Reference
However it's more usual in humans to narrow down the area of the throat in question: epiglottal, laryngeal, tracheal, and so on. Wikipedia on the throat
Comment: _Throat_ would sometimes be the correct answer here. Although probably best not considered an adjective, the noun-modifier usage can parallel the adjectival nasal: _He had a nasal / throat infection_.
Comment: @EdwinAshworth I'd say that counts as an answer. And a very relevant and appropriate one at that. I would prefer *throat infection* to anything-*itis*, just as most doctors today.


Simple translation for one of my Anki cards, why is 上り translated to going "downtown"?

Question: So I THOUGHT I understood the meaning, but the sentence translation threw me off.
Wouldn't it technically be UPtown since the train is going up? If not, can someone explain why it's set up this way? I might have misunderstood. Thanks in advance!!
Answer: 上り used like this means the train is going to a major location, just like English "up-train" does. However, English "downtown" happens to refer to a major location in a city. Therefore, in English practice, a train can be up when it goes to a downtown. This is not a problem in Japanese.
Comment: Okay, I see what you're saying. Is there an opposite that's equivalent to it? As in NOT heading in a downtown direction? I guess I was thinking about it from a New Yorker point of view. Uptown train takes you north while downtown trains take you south.
Comment: @Cruzible A 下り電車 is a train from a major/central location (it can be going north, south or whatever). Please read the "in Japan" part of the Wikipedia link.
Comment: I failed to see there was a section in Japan, thank you so much. Good to know this information!


Does light take the path of least time because it travels in straight lines or vice versa?

Question: My question is which of these two feats is a consequence of the other?
Light travels in straight lines, mostly. Does it do that as a result of Fermat's principle of least time? and if so, is there a reason as to why it follows the path of least time? or is this another "that's the way the universe works" question?
And by reason I mean a physical explanation not mathematical deduction.
Or is it the other way around? meaning light taking the path of least time is just an obvious manifestation of the fact that it goes in straight lines?
Comment: I recommend that you get a copy of "QED" by Feynman.  It's a thin little paperback, and contains a nice intuitive explanation of why light takes the shortest (least time) path.  Actually it doesn't necessarily take the shortest path; it's just most likely to take a path that's very nearly the shortest possible path.
Comment: Physics is mostly about how not why.
Comment: Light only goes in straight lines when there is no gravity. In other words, light NEVER goes in straight lines, it only approximately does. The path that light follows falls from the lightlike geodesic equations. It has to do with the curvature of spacetime. I'd post an answer but this is the extent of my knowledge and this isn't clear enough. However, if you don't find an answer, look into the lightlike geodesic equations.
Answer: The fact that light travels at straight lines has the same reason as any particle moving on straight line if there is no external agent to change its path - the fact that spacetime is homogeneous and isotropic in any inertial frame of reference (actually that is the definition of inerial frame of reference).
In general relativity, there are (in general) only local inertial frames, and then the straight lines are called geodesics.
Light would move on straight lines due to symmetry even without fermats principle. The fermats principle is usefull when there is no symmetry and the actual paths must be computed
Answer: Light travels in straight lines because it takes the path of least time. The reason it takes the path of least time is because this is the path where the phase, which is proportional to the time, is a minimum. Since it is minimum, its derivative is zero with respect to small changes in the path. Thus, decomposing the light into many coherent wavelets, each with amplitude
$$ A \sim e^{i \vec{k}\cdot{x} - ik t}$$
 the path of minimum phase, i.e. the path of least time, is the path where the wavelets all add up in phase because the derivative there (of the phase) is zero. Thus, for this path, all the wavelets add up constructively, and we have a nice light ray. Away from this path, the wavelets add up destructively because all the phases are different, and we get zero.
From Feynman QED, pp. 38-45
Answer: Feynman used to say that a good physicist knows many different ways to arrive at the same result. If you assume Fermat's Principle, you will get that light travels at straight line. If you assume light travels in straight lines and snell's law, you will get Fermat's Principle. This equivalence makes it hard to decide which one is the "fundamental" description.
I personally think that the Differential Equation is always the correct form to consider as the fundamental one. A differential equation describe the evolution of a state through time, which is what one observes. This view also lets you avoid some relativity problems.
So to your question, the answer will be that both results are direct byproducts of Maxwell's Equations, making neither one of them more fundamental than the other.


Why do laptop chargers need such a large transformer?

Question: Cell phone chargers need a much smaller transformer, usually ones that sit on the wall. Lamps cords don't need any transformer. Why do I need a giant brick in the middle of my laptop charger?
Answer: Your cell phone charger supplies 5-10 watts or so, your laptop charger supplies 65-150 watts.
E.g the label on one cell charger on my desk it says "OUTPUT 5.0V = 2.0A", and on one laptop charger it says "OUTPUT 19V = 4.74A". Power is voltage times current, so the cell charger supplies 10W, and the laptop supplies 90W.
Comment: I learned it once, but I don't remember. You don't explain why more power means you need a larger magnetic core in the transformer ?
Answer: Mobile phones do not need as much power as a laptop in order to charge. You'll notice that a phone battery may last a day or two running on battery, whereas a laptop might struggle to last 4-5 hours.
The power equation states that P=IV, where I is the current and V is the voltage. A typical phone charger outputs 5 volts at 1 ampere, giving a power of 5 watts. Laptop chargers vary, but taking my own charger as an example, it outputs 19.5V at 10.3A - giving a power of just over 200W.
The extra current requires thicker wires and more space to stop the generated heat from melting the casing or setting fire to the surface it rests on. Indeed, most laptop transformers become quite warm after only 15-20 minutes of use.
To answer your question about lamp cords: a lamp does not require a transformer, as it is designed for local mains power (which may be 240V or 120V, depending on where you are). Phones and laptops are designed with a certain voltage in mind, and use tranformers to 'bring the voltage down' to their level.


Can apt-get be used on Red Hat systems?

Question: We know that apt-get is used on debian based systems so what is used on Red Hat Enterprise Linux (RHEL) systems? Is it possible to install and use apt-get on Red Hat?
Comment: `aptitude` or `apt-get` is the Debian package manager.  In RedHat distributions, the package manager is `rpm` or `yum` for the Fedora/Centos flavours.  You could probably figure out a way to manually install aptitude on RedHat, but that sounds like quite a bit of work.
Comment: No, you should be using yum.
Comment: Even if you could get it installed, would any of the downloaded packages work?
Answer: No, apt is Debian specific. apt uses dpkg to install .deb files (which are binary files that are specific to Debian).
Red Hat based Linux distributions uses the rpm package management system. You can use yum to retrieve and install rpms on Red Hat distributions:
 yum search som-package-name
 yum install some-package-name

If you want to install an rpm that you've downloaded on your own, you could use rpm -i some-package.rpm to install it (and rpm -qa to retrieve a list of all installed rpms). This is equivalent to dpkg -i some-package.deb (and dpkg --get-selections to retrieve a list of all installed deb packages) on Debian based distributions.
Answer: There is a project out there that claims to support apt style repositories (as well as the apt-get command) on RPM based distros. It is called apt-rpm and is used as the default package manager on a few distros, though not on RHEL/Fedora.
Problems:

It seems not to be really maintained since ~2008; it may have incremental patches or fixes since then, but nothing major.
Yum repositories are not compatible with apt-rpm, so even if you were to install it on your computer, you would need an apt-rpm repository to connect to in order to use it.

There is a fork of apt-rpm that has been updated to be mostly compatible with rpm version 5, which is used in all recent RPM distros. So if you insist on using it, a good starting point is to check out the Gitorious branch for apt-rpm for rpm5.
The command syntax of yum is close enough to apt-get that you should be able to learn one if you know the other within a day, or at most, a week. So unless there is some very strong business need for using apt and you're willing to create your own apt-rpm repository (and deal with the cruftiness of software that's basically unmaintained), I would advise against proceeding down this train of thought.
Comment: just small query i simply tried to cut a file from current directory to other directory using this command {sudo rm filename ./Desktop} and it said  that **user is not is the sudoers file. This incident will be reported** . Doesn't this means that SUDO is available in RHEL
Comment: First thing: `rm` removes a file, not moves it. Do NOT use `rm` unless you wish to **delete** a file (possibly with no ability to recover it). Use `mv` instead to rename or move files. Considering that you almost deleted a file by mistake, I would advise you to learn basic console commands **before** you become root, so you don't destroy your system.
Comment: Oh sorry it was **mv** not **rm** apologies. A TYPO
Comment: Anyway, your question is off-topic for the comments of this question, as it is completely unrelated. This is not a chatroom. If you have a question about Sudo on RHEL, ask a new question -- although I'd advise you to **search** SuperUser first because this question has been asked dozens of times.

Can apt-get be used on Red Hat systems?


What is the 'deleted' daemon in macOS?

Question: Since installing macOS 10.12 I noticed a flood of messages from deleted in the logs. I haven't been able to find any information about this daemon. Could anyone enlighten me what this does?
Comment: Just had it take about 30% of CPU for minutes at a time in 10.15.7 Catalina so definitely not fixed (or they reintroduced the same bug they fixed before).
Comment: Just a heads up, this issue was fixed in the beta release of 10.12.1 (16B2338c). `deleted` still shows up every now and then, but it doesn't consume as much as a core anymore (from 25% to around 0.4% for me).
Answer: I came here due to an issue on my MacBook Pro (2018 15") running on macOS Catalina 10.15.7.
In fact, the deleted process was showing up in my process list and consuming around 50% CPU - more or less. After following some hints which I found here and there (deinstalling iStats, resetting SMC and so on) I realized that this process kept on being open as long as my About this Mac window was open. The deleted process disappears shortly after closing the About this Mac window.
Comment: I had the exact same issue with "About this Mac" which I had left open in the background. Closing it immediately solved the issue.
Comment: I didn't have the 'About this Mac' open, but I opened and then closed it. Now the deleted and IDECacheDeleteAppExtension processes finally stay gone. Before that I had tried 'killall deleted IDECacheDeleteAppExtension' and 'launchctl remove com.apple.cache_delete', to no avail. Thanks a lot!
Comment: Thanks, the "System Info" window in the background was the culprit for me too!
Comment: Opening and closing the "About this Mac" dialog fixed this for me too. Very strange!
Comment: Thank you for sharing this solution. I thought I had deleted a Fluid Browser app (hence the deleted_helper) which was still running in the background. I couldn't understand why it kept restarting after being forced quit.
Comment: Thank you! This does solve my problem as well!
Comment: Crazy! Yeah, this open/close action of the "About this mac" worked immediately for me. Thank you for this great time and CPU cycle saver :-D
Comment: Found this answer again after having to Google this issue a second time. What a stupid bug. THANK YOU!
Comment: Thanks! I would upvote more than once if possible, saved me from this very annoying bug!
Answer: deleted is the process for CacheDelete, which is used to purge caches on disk. Looking in /System/Library/CacheDelete/ you can see what services are registered as a client.
Comment: This is a good starting point, but is crucially missing a way to troubleshoot further - I hit this issue with Catalina, and all I had in this folder were macOS's own bundled components.

@vaughan 's answer below shows how to dig deeper with the Console app; I would add that similar can be achieved in commandline with `log show --predicate 'processImagePath CONTAINS "deleted"' --last 10m --info`.
Answer: For me, this problem was being caused by problems with iStat Menus on macOS Sierra 10.12.0. There seems to be a bug which causes issues with the deleted process. Once I uninstalled iStat Menus the problem ceased.
This issue has been resolved, see https://bjango.com/help/istatmenus5/knownissues/
Comment: I had the same problem and tracked it to iStat Menus.

But instead of uninstalling it completing, I fixed this just be disabling iStat's "Disk" menu item and then doing a global restart of it. This totally fixed it.

I think what's happening is that iStat Menu is just asking macOS for the amount of purgable disk space every ~10 seconds and that's what's causing the extra stress.
Answer: I found that the deleted was activated when I started the Disk Utiulity and selected disk container which has macOS system.
Comment: Confirmed this on Catalina. I have Disk Utility open constantly, so `deleted` was taking more cpu time than any other process. My workaround is to mount a read-only dmg and keep that selected instead. I also use AppPolice to limit cpu just in case.
Answer: In Console.app search for deleted and look for an entry like this:
default 17:23:45.621668+0100    deleted 1426 com.apple.deleted_helper APFS Purgeable update for Calling process: iStat Menus Status on "/Volumes/ExternalSSD2TB - Data" ET: 1.452986,  results:
default 17:23:45.621690+0100    deleted     CACHE_DELETE_TOTAL_AVAILABLE : 0
default 17:23:45.621879+0100    deleted     CACHE_DELETE_ID : com.apple.cache_delete
default 17:23:45.622014+0100    deleted     CACHE_DELETE_URGENCY : 0
default 17:23:45.622149+0100    deleted     CACHE_DELETE_TOTAL_FSPURGEABLE : 0
default 17:23:45.622311+0100    deleted     CACHE_DELETE_CALLING_PROCESS : iStat Menus Status
default 17:23:45.622447+0100    deleted     CACHE_DELETE_QUERY_PATH : SLOW
default 17:23:45.622582+0100    deleted     CACHE_DELETE_NO_CACHE : 1
default 17:23:45.622718+0100    deleted     CACHE_DELETE_VOLUME : /Volumes/MBP
default 17:23:45.622838+0100    deleted     CACHE_DELETE_TOTAL_PURGEABLE : 1
default 17:23:45.622984+0100    deleted     CACHE_DELETE_ELAPSED_TIME : 0.145932097

The line CACHE_DELETE_CALLING_PROCESS : iStat Menus Status reveals that the iStat Menus Status process is causing the calls.
This issue started occurring for me when I activated the Disks option in iStat.
After removing unchecking this option, the issue still occurred, but after I killed the iStat Menus Status process from Activity Manager (I also killed some other ones too), the deleted activity went away entirely.
Looks like an iStat bug.
Answer: On my recent M1 running Monterey I was trying to rename a directory but got a notice that it couldn't be done because 'another operation' was in process. Running Activity Monitor showed the 'delete' process running with CPU% hitting about 30%. Tried a few solutions offered here but none worked. Relaunching Finder did the job.

What is the 'deleted' daemon in macOS?


Heroku Create Command Yielding "ENOENT" Error

Question: When attempting to call "heroku create", I get the following results:
Creating app... done, stack is cedar-14
      ENOENT: spawn git ENOENT

How can I fix this error?
Comment: https://stackoverflow.com/questions/45011280/heroku-git-enoent-spawn-git-enoent
Answer: Turns out the application was being created fine, but when I attempted to push my local repository using the command "git push heroku master" I didn't have a git remote setup.
Solved by running: git remote add heroku firstname.lastname@example.com:your-app-name-here.git
Answer: I was also facing same problem while deploying sample node js application on heroku cloud by following the heroku tutorial. I was trying to run the "heroku create" and "git push heroku master" from Window's command prompt and it was not working due to above and other reasons.
Things started working for me when I did the same things from Gits bash session. I started git bash and ran the above commands from git bash command line.
Answer: This happens because your command prompt can't access git. I am sure you use git bash for version control.
You can avoid this if you run heroku create in your git bash.
Answer: Above problem will be solve by typing following command in the command Prompt.

heroku login -i
Answer: I had the same problem . I think you all did  this  instructions :
git clone https://some reposit
cd node-js-getting-started

And you entered to that  catalog.
My problem  was solved when i went up in the catalog above  and tried the following command :
heroku create

Answer: This problem will most probably happen because you are using windows as your operating system. So in windows you might be using GitBash for Git and command prompt for Heroku.
Just try checking out the git version from command line in your directory, most probably the output will be 'git' not recognized.
So now if you use Gitbash for git commands, this is where the problem lies because GitBash does not recognize Heroku.
When you enter the command Heroku create in Command line it creates the app but instead of returning a link of your project, it yields an error message like this - 'ENOENT: spawn git ENOENT',
If you try to enter Heroku commands in GitBash they'll also not be recognized.
Hence the only solution to this is try making the command line recognize Git by re-installing Git and choosing Command Line as its terminal instead of Bash .This might solve your problem.
Answer: if your have cloned some project and trying to upload it, at this time it can show this type error. so just delete the original git repo (ex .git folder) and try again  command

heroku create your_app_name

and than create new git repo


PCIe Understanding

Question: As this domain is new for me, I have some confusions understanding PCIe.
I was previously working on some protocols like I2c,spi,uart,can and most of these protocols have well defined docs(a max of 300 pages).
In almost all these protocols mentioned, from a software perspective, the application had to just write to a data register and the rest will be taken care by the hardware.
Like for example, in Uart, we just load data into the data register and the data is sent out with a start, parity and stop bit.
I have read a few things about PCIe online and here is the understanding i have so far.
During system boot, the BIOS firmware will figure out the memory space required by the PCIe device by a magic write and read procedure to the BAR in the PCIe device(endpoint).
Once it figures out that, it will allocate an address space for the device in the system memory map(no actual RAM is used in the HOST, memory resides only in the endpoint.The enpoint is memory mapped into the Host).
I see that the PCIe has a few header fields that the BIOS firmware figures out during the bus enumeration phase.
Now,if the Host wants to set a bit in a configuration register located at address 0x10000004(address mapped for the enpoint), the host would do something like(assume just 1 enpoint exists with no branches):
<code>*(volatile uint32 *)0x10000004 |= (1<<Bit_pos);
</code>
1.How does the Root complex know where to direct these messages because the BAR is in the enpoint.
Does the RC broadcast to all enpoints and then the enpoints each compare the address to the address programmed in BAR to see if it must accept it or not?(like an acceptence filter in CAN).

Does the RC add all the PCIe header related info(the host just writes to the address)?
If Host writes to 0x10000004, will it write to register at location 0x4 in the endpoint?
How does the host know the enpoint is given an address space starting from  0x10000000?
Is the RC like a router?

The above queries were related to, only if a config reg in the enpoint was needed to be read or written to.
The following queries below are related to data transfer from the host to the enpoint.
1.Suppose the host asks the enpoint to save a particular data present in the dram to a SSD,and since the SSD is conneted to the PCIe slot, will PCIe also perform DMA transfers?
Like, are the special BAR in the enpoint that the host writes with a start address in the Dram that has to be moved to ssd, which in turn triggers the PCIe to perform a DMA tranfer from host to enpoint?
I am trying to understand PCIe relative any other protocols i have worked on so far. This seems a bit new to me.
Answer: The RC is generally part of the CPU itself. It serves as a bridge that routes the request of the CPU downstream, and also from the endpoint to the CPU upstream.
PCIe endpoints have Type 0 headers and Bridges/Switches have Type 1 header. Type 1 headers have base(min address) and limit registers(max address). Type 0 headers have BAR registers that are programmed during the enumeration phase.
After the enumeration phase is complete, and all the endpoints have their BARs programmed, the Base and Limit registers in the Type 1 header of the RC and Bridges/Switches are programmed.
Ex: Assume a system that has only 1 endpoint connected directly to the RC with no intermediate Bridges/Switches, whose BAR has the value A00000.
If it requests 4Kb of address space in the CPU(MMIO), the RC would have its Base register as A00000 and Limit register as AFFFFF(It is always 1 MB aligned,though the space requested by the endpoint is much less than 1MB).
 If the CPU writes to the register A00004, the RC will look at the base and limit register to find out if the address falls in its range and route the packet downstream to the endpoint.
Endpoints use BAR to find out if they must accept the packets or not.
RC, Bridges and Switches use Base and Limit registers to route packets to the correct downstream port. Mostly, a switch can have multiple downstream ports and each port will have its own Type 1 header,whose Base and Limit register will be programmed with respect to the endpoints connected to its port. This is used for routing the packets.
Data transfer between CPU memory and endpoints is via PCIe Memory Writes. Each PCIe packet has a max payload capacity of 4K. If more than 4K has to be sent to the endpoint, it is via multiple Memory Writes.
Memory Writes are posted transactions(no ACK from the endpoint is needed).

PCIe Understanding


How to read each bitcoin block by python

Question: I need to read all Bitcoin transactions from the first one until now and extract all Bitcoin addresses for further analyses
Any idea how to do it in Python?
Answer: I wrote the Python script that can parse bitcoin raw dumps. There is no need of any modules or APIs, just Puthon 2.7 and blk00*.dat files. I hope it can help.
Blockchain parser
Answer: I once used blockchain.info APIs in python for similar purpose, you can traverse with block height from 0 to latest with a python script.
And can write input and output addresses to a csv file. You can use 'set' to make sure there is no duplicates.
You will get response as json object. But it might be quite time consuming to fetch and read all the blocks and transactions.
Comment: Really slow, I have bitcoin-core up and running and I don't need blockchain.info APIs (network overhead) but still, bitcoin-core is slow too
I need to find a way to read blocks with levelDB one by one but I don't know how
Comment: I don't know much in the context then, can't help..
Answer: To expand on Amaclin's answer you can look into JSON-RPC python wrappers such as python-bitcoinrpc which will allow you to make calls to your nodes database. With a fully synced node and txindex=1 you can begin iterating through each block with for loops with getblockhash getblock getrawtransaction and decoderawtransaction. Yes, this will take a long time.
Answer: Starting from this

Per espandere la risposta di Amaclin, puoi esaminare i wrapper Python JSON-RPC come python-bitcoinrpc che ti consentiranno di effettuare chiamate al database dei tuoi nodi. Con un nodo completamente sincronizzato e txindex=1puoi iniziare iterando attraverso ogni blocco con per i cicli con getblockhash getblock getrawtransactione decoderawtransaction. Sì, ci vorrà molto tempo.

I had a similar problem, and in the beginning when bitcoin was dark for me, it led me slightly to think that the address data was contained within the transactions,
this thing is true but the address data with which to block the transactions are inside the scriptPubKey, only inside it therefore, to build a logical thread between these, besides having the reference to the current transaction, you must also have the reference to the output transaction that the input transaction refers to.
So in summary you have a transaction X and you want to decode your receiver, then access its data with the commands in the cited answer and using the command decodescript () with hexadecimal of the scriptPubKey you can get its id wallet.
But to get the data related to those satoshi, you must access the raw transaction contained in the Outpoint of the input transaction, perform the decoding and access the outuput transaction in position "n" (value contained within the outpoint) and execute the decodescript command of thePubKey script related to this output.
Only in this way can you reconstruct the public key inserted in the scirpt, and only by going back to the previous transaction linked to the current input transaction, can you execute a sort of chronology.
I want to add more information:
 - With these steps you may want to build an information graph to connect the wallet ids, well this is not enough, because with the P2SH scripts you can not expose the public key because you use a P2SH script address and therefore a wallet has potentiality endless addresses.

This process is very slow, because it forces many queries on bitcoin
core, (it would speed up the thing using a parser of the blk files
and execute only the decoding of the scripts on it)
Once the addresses have been decoded, an analysis must be carried out
on which addresses are valid or not, keeping in mind that a
transaction of X satoshi to pay a sum


Will moldable play foam work in a camera bean bag?

Question: I'm making my own bean bag and was going to experiment with moldable play foam something like this, as it's very lightweight and holds a shape nicely. I'm wondering if anyone can alert me to any drawbacks. (I also intend to fly internationally with it.)
Comment: I don't see why not. If you try, come back and post your results as an answer!
Comment: Sounds like a step up from the traditional bag of beans. The only possible problem might be how it shows up on X-ray and other scanners. So if possible, use clear plastic for the bag itself and it couldn't hurt to save part of the box, either.
Comment: Like others, I like your idea and am interested in your experience.  Importantly, let me reinforce @AndyBlankertz concerns about airport scanners.  My old beanbag camera support would regularly slow my Airport throughput.  Eventually, I learned to simply pull the beanbag out of my carry-on along with my laptop.  That way, the TSA agent could examine it quickly.  As you may guess, they are concerned by a mass of material that looks like it could be some clay-like substance to their scanners.
Comment: Thanks for the feedback. I ordered the play foam and will report back.
Answer: It works well enough that I'll continue to use it.
Drawbacks:

Significant pressure is required to mold the play-foam to conform to the shape of the camera.
There seems to be very slight motion as the play-foam springs back a bit once the camera is resting on it.

Advantages over a bean bag:

Extremely light weight.
Compact. A small bag supports the camera with almost no foam
displaced to the sides.

Coincidentally, in the airport while I was traveling, I saw a store selling sand with goo (probably the same goo) holding it together. It would be heavier, but I think it might overcome both drawbacks.
Answer: I have never done this, so this is only a guess.  I suspect the problem with the clay is that it will creep slowly over time with steady applied pressure.  Granules like sand or beans won't do that.
If you plan to use the clay in a bag only to steady the camera while taking hand-held shots, then it should work.  If you plan to use the bag to hold the camera still long-term as you might use a tripod, then I think you will have problems.
There may be a particular weight below which the clay won't more anymore, so maybe you can experiment and see what works and what doesn't.


to prove that {$f(e_i)$} is also an orthonormal basis of $V$

Question: Let {$e_i$} be a basis of n dimensional inner product space $V$. Let $f:V \to V$ be a function  such that $f(0)=0$ and $||f(x)-f(y)||=||x-y||$. then how can I able to prove that {$f(e_i)$} is also an orthonormal basis of $V$
Answer: At least the answer is true when $f$ is surjective. In this case, the Mazur-Ulam theorem implies that the isometry map $f$ is affine and since $f(0)=0$ we conclude that it is in fact linear. The we can use polarization identities. For example, for a real vector space:
$$ <f(e_i),f(e_j)> = \frac{1}{4} \left( \lVert f(e_i)+f(e_j) \rVert ^2 - \lVert f(e_i)- f(e_j) \rVert ^2 \right) = \frac{1}{4}\left( \lVert e_i+e_j \rVert ^2 - \lVert e_i- e_j \rVert ^2\right) = <e_i,e_j>=\delta_{ij}$$
The Polarization identity has a different form for a complex vector space, but the proof is equally trivial.
Comment: Note that $f$ is not assumed to be linear, So it is better to use $$\langle f(e_i),f(e_j)\rangle=\frac{1}{2}\left(\Vert f(e_i)\Vert^2+\Vert f(e_j)\Vert^2-\Vert f(e_i-e_j)\Vert^2\right).$$ the Complex case needs more attention.
Comment: @OmranKouba You are right, only if $f$ is surjective we can use them the way I stated. Thanks for the observation.


jquery datepicker missing (wordpress) after updating to 5.26 from 4.6.33?

Question: A site I inherited a while back finally needed to be updated to a much more modern level including PHP version, MariaDB version and Wordpress version along with CiviCRM.
Seen first in the LYBNTY report - the date range fields are simply dropdowns with entries like 'Yesterday', 'Last week', etc. but no ability to actually pick a date range.
I have checked Access Control which all looks good (but I am administrator so should have all those already).
Checked the header links for jquery and seems I have access to them.
Is there a setting somewhere to turn jquery entities off/on?  Or could I be missing a path even though the update was in place and not moved?
Everything else seems to be working just fine.
I might add that the Summary Fields extension is still quite old and is marked as needed an update.  Could this have anything to do with this as in not being compatible with the 5.26 version of CiviCRM?
I'm stumped here so any suggestions would be fantastic!
TIA!
Comment: In checking more, I am getting a console error of:
`Uncaught TypeError: Cannot read property 'indexOf' of undefined
    at HTMLDocument. (admin.php?page=CiviCRM&q=civicrm%2Freport%2Finstance%2F10&reset=1&output=criteria:774)
    at i (jquery.min.js:2)
    at Object.fireWith [as resolveWith] (jquery.min.js:2)
    at Function.ready (jquery.min.js:2)
    at HTMLDocument.J (jquery.min.js:2)`
Which is called in calling the datepicker.  Could I just have an old version of jquery that needs to be replaced?
Answer: Never mind - all working now.
I modified the CiviCRM Resource URL from the default that was in there of [civicrm.root]
to be the full URL http://example.com/wp-content/plugins/civicrm/civicrm and the choice of 'Choose Date Range' showed up in the drop down giving the functionality needed.
Or it is entirely possible that Choose Date Range was there the whole time and I just missed it.  Been such a slog of updating this ancient site that that is entirely possible.
Strangely, that jquery error is still showing up in the console, though.  But I will look at that tomorrow.


Creating web service app for enterprise Java vs C++?

Question: So we want to develop a service app (web Service with post/get API). What is language to go for secure, fast, enterprise app for about 2000  employers to use with about 20~40 services for interacting with DB server (which in my case will be Oracle) Dev time a year Dev team of 3. All capable of righting C++ code as well as Java (so they will now them equally bad at the beginning of process)
Comment: We will not create any GUI just service side.
Answer: Definitely java! You might want to check the jee6 tutorial on JAX-WS to get an idea of how web services are created using enterprise java (http://download.oracle.com/javaee/6/tutorial/doc/bnayn.html)
This will also guide you on how to do it using the netbeans IDE (http://netbeans.org/kb/docs/websvc/jax-ws.html)
Cheers!
Answer: You'd be masochistic to try this with C++! Definitely Java, J2EE whatever (look at various technologies from groups such as JBoss). The development process will be significantly faster using these existing technologies than writing your own...
Answer: The question is not what language to choose but which "architecture" or paradigm.
If you want/need to use SOAP then C++ might be fine, go and google for "gsoap". However I would recomend Java and REST as architecture paradigm, well we would need to know more what you really want to do. Perhaps some RMI or CORBA would be much easier. If you want to play with Java, Groovy or Scala (all languages run on the Java JVM), then google for "restlet".
Best Regards
Angelo
Comment: Your answer seems subjective may I ask for reference to support your statement please?
Answer: I would suggest using the Java / Netbeans combination.
Netbeans has a number of tools which makes web service development easy.
Good overview here.
Netbeans allows full use of JAX WS and Metro and is integrated with Glassfish and Tomcat servers (part of Netbeans download) so you can get up to speed really quickly.
Answer: you can use either C++ or Java depending what you're implementing. To see an example on C++ check out this great post by IBM Engineers: http://www.ibm.com/developerworks/webservices/library/ws-xml-rpc/


Why are Wolverine's teeth not Adamantium coated?

Question: Wolverine's skeleton is fully coated with Adamantium, even his claws. But his teeth don't seem to be Adamantium coated, or at least he doesn't have Jaws's smile. Why?
Answer: Whilst still calcified, teeth are not bone in the sense that his skeleton is. They grow and change in a different way. It's also possible when his healing factor adapted to the infusion of Adamantium it forced the metal out of his teeth.
Furthermore, as HNL points out, when the Adamantium was first injected, it was only into his bones, not into his teeth. I doubt it would have gotten very far before solidifying however, so there must have been some factor spreading it about his body. Whatever this was probably missed or couldn't effect his teeth.
Comment: Plus teeth are made of dentin, not bone. A Jaws smile would be pretty sweet, though, DavRob.
Comment: And if one could assert logic to this comically preposterous scenario, having his teeth remain unaffected isn't much different than his ligaments and cartilage also not being affected, among every other part of his body that isn't bone, or whatever the writers decided to inject adamentium into.
Answer: The Adamantium infusion (especially as shown in the X-Men Origins: Wolverine) appears to involve drilling into all the major bones and feeding the alloy into the marrow. I doubt his teeth were ever drilled into. He has to rely on his usual healing factor to survive blows to his teeth.
Answer: Teeth you see in an X-ray grow more like a tree with roots from the gums and are separated from our actual skeleton. That's why you can lose and grow new teeth through your lifetime and losing a tooth isn't considered a broken or lost bone.
Comment: Whilst some nice information you may want to [edit] this to explain how this applies to Wolverine and his teeth and Adamantium skeleton.
Comment: Hi, welcome to SF&F.  On its own this doesn't make a complete answer, because it doesn't explain why either it was not possible to alloy his teeth with adamantium or a choice was made not to inject adamantium into them.
Comment: Humans get baby teeth and adult teeth. That is not "you can lose and grow new teeth through your lifetime", it's twice, both of them relatively early in one's lifetime.


In Harry Potter, what year did Hermione Granger start working at the Ministry?

Question: In Harry Potter and the Cursed Child and many quotes from J.K. Rowling, I think Hermione Granger starts to work at the Ministry in the Department for the Regulation and Control of Magical Creatures, becomes the deputy Head of the Department of Magical Law Enforcement, and eventually becomes Minister of Magic. Is there any clue to when Hermione starts to work at the Ministry?
Answer: 1999 probably, based on a couple of quotes from JKR about Hermione's time after Hogwarts.

We know she completed her N.E.W.T.S. We can assume this was in 1998 after school restarted since there's no mention of her taking a break

JKR: No, she would definitely, definitely go back. And she would want to graduate, and I think that she was- I mean,I love Hermione. She went with Ron and Harry because she has a really good heart. That's not about brain. Ultimately, she had a bigger heart than she had a brain and that's saying something for Hermione. But did she- Was she naturally drawn to battle? No, she wasn't. She's not a Bellatrix. She's not a woman who actually wants to be hurting, fighting, killing. Not at all. She would be glad to go back to school, be glad to get back to study, and then would join them at the Ministry.
Pottercast #130

and that she "began" her career afterwards, within the Ministry, again with no mention of her taking a break.

Hermione began her post-Hogwarts career at the Department for the Regulation and Control of Magical Creatures where she was instrumental in greatly improving life for house-elves and their ilk. She then moved (despite her jibe to Scrimgeour) to the Department of Magical Law Enforcement where she was a progressive voice who ensured the eradication of oppressive, pro-pureblood laws.
Bloomsbury Live Chat: 2007


Wordpress metaboxes - textfield suggestion automatically populated

Question: [Long story short]
Is there any Wordpress plugin/function that would allow the creation/integration of a metabox's textfield that automatically populates a dropdown menu (in the admin area, while in the article creation screen) where to pick the desired value withouth having to write it down by hand every time? And if so, is there anything like that?
[A little bit of information]
I'm taking care of an infected Wordpress site by doing a fresh new installation and configuring it from scratch. The owner used "Verve metaboxes" in order to manage 3 custom fields (coutry, town, and address): he states that - while creating a new article - he could click on the country textfield and pick from a populated dropdown menu the correct value. He then proceded to say that once
he selected a county and clicked on the "town" textfield, he would get a list of the towns of THAT and ONLY country. The same goes for the street (once selected the town, he would get only results for that town only).
Verve Metaboxes is now discontinued due to vulnerabilities and I cannot (nor want) to use it - I've then spent a few hours trying to find an alternative and/or a tutorial that would allow me to duplicate this feature but I couldn't find any.
So I wonder, is there anything like that or the owner of that website is merely delusional/trying to ask for new features without any clue?
Thanks in advance
Answer: I am familiar with Advanced Custom Fields and he has many nice features, but not this one.
Just did some tests with Custom Content Type Manager and looks like it also doesn't have it.
Case you don't find a fit one, I think some jQuery may solve your problem using any plugin or hand made meta boxes.
Start with only the main meta box showing (countries). And detect changes in its field value so as to show/hide the second level of meta boxes. This second level will do the same for the third.
Refer to this answer where you have an example of showing/hiding the Featured Image meta box according to changes in the dropdown field Template that belongs to the Page Attributes meta box.
[update]
Another variation I did of the same script, a bit more complex.
Comment: Advanced Custom Fields *can* do this, it just takes a bit of fiddling and time to enter all the options. You'd need to create a main dropdown for the "country", then secondary dropdowns for the "town", one for each country. Then each town dropdown has a "conditional logic" option where you can display based on the "country" value.


Drupal newbie question

Question: Are all requests handled in index.php?
Comment: what do you mean with request?
Answer: Yes. All* requests will go through index.php there is a rewrite rule in the .htaccess file which masks this and gives user friendly urls.
# Rewrite URLs of the form 'x' to the form 'index.php?q=x'.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

If Drupal can't invoke these rules then you will see index.php in the browser URL.
**There are cron.php and update.php which don't but these are special files for admin so are not part of the run of the mill site.*
Comment: To clarify a bit: The rewriting block first checks if a file of the requested name actually exists on the given path. If it does, it gets called directly. Only if there is no such file will the request be rewritten to call index.php. That's how e.g. cron.php and update.php can be called directly. So it is possible to place other files in the drupal installation folder and call them directly, thus circumventing index.php (and all drupal logic) - not recommended, though.
Answer: Yes. If you're looking for certain code snippets that handles URL parsing and calls various modules then take a look inside bootstrap.inc

Drupal newbie question


Why do Rogues get more ability increases than other classes?

Question: Why do Rogues get more ability increases than any other class apart from Fighters? As the mechanism of ability increases is an arbitrary boost, from the view point of class equality, why should a rogue get more increases than any other class except fighters? I can see why a fighter would get more as that gives access to feats, most of which are combat-related.
Comment: Are you asking about designer intent or something else like class balance?
Comment: What problem are you trying to solve with this question?
Comment: Is your question why rogues get more than most classes, or why rogues & fighters get more than all the others?
Comment: Here is [a related answer](https://rpg.stackexchange.com/a/96625/22566) that tries to explain who/what the rogue/thief is in the genre of swords and sorcery rpgs that includes D&D.
Comment: @gizmo23 there were substantial edits to this, which were performed by someone other than yourself. Can you verify if those edits conform to your intent?
Answer: Rogues & Fighters in some form or another in previous editions of D&D gained more talents / feats as opposed to more spells or spell-like abilities. So it can be said that one part of this decision was to throw back to a previous version of the class.
Specifically at level 10 in 3.5 (maybe 3rd I do not recall) rogues had a small list of special feats they could access called Special Abilities.
A few of the 5e feats; such as Skulker, Dual Wielder, and particularly Skilled, seem to be directly lifted from that list as it was expanded over 3.5's long life.
The rogue seems designed for balance with this throwback feature in mind.
Comment: Increasing thief skills with level has been a thing since the beginning of the thief class.  It's not a parallel to getting more feats, it's a parallel to skills/non-weapon proficiencies/tool proficiencies/etc.  You can see that in the conversion guides for the various editions.  And *Fighters* certainly got no such thing!  Fighters got additional attacks and to-hit and hit points and such, but hardly anything exceptional in terms of NWPs!  In *3.x* fighters get bonus feats, though.
Comment: That is true *only* of 3.x.
Comment: And this is how 5e keeps the expectation of such a mechanic alive. It also gives the melee classes a little more customization as part of their growth.
Comment: The 2e parallel was access to more Thief Skills, and abilities in AD&D. The 5e version is closest to the 3.5 version of course, but similar mechanics have been apart of the class for awhile.


Lowering the Rover from the Skycrane

Question: During the earth to mars cruise and until the Skycrane lowering system was initiated Perseverance must have been attached to the SC frame and presumably released by frangible bolts...my question is: were the suspension cables stowed in Perseverance's body and then fed out via a braking system or was there a lowering system on the SC
Answer: The skycrane fed the cables out from a spool contained in the Bridle and Umbilical Device (BUD).

As the DS maintains a constant vertical velocity of 0.75
m/s, the rover is lowered on a triple bridle to 7.5 m below
the DS through the use of an electromagnetic brake
connected to a spool containing the three bridles. All of the
bridles pass through a confluence point on the DS which is
nearly collocated with the DS center of mass. In doing so,
the Rover imparts minimal disturbance on the DS. Since all
three bridles pass through a single point, it is impossible for
differential loading of the bridle to produce moments on the
DS. Figure 15 shows the BUD.

....Once touchdown is declared, the DS halts vertical motion
and the triple bridles are cut. The BUD has built-in
retraction springs to retract the now free bridles away from
the Rover top deck.

DS = Descent Stage
Source MSL Entry, Descent, and Landing Overview
Comment: That answers 100% of my question, well done
Answer: A lowering system was present on the SC. So the cable doesn't interfere with Perseverance. Also, you can see on Perserverence's pictures thoses cables cutted.
This picture is from Curiosity but the technique was the same.
From What was the use of these cutted cables?
 click for larger

Lowering the Rover from the Skycrane


What is this citrus fruit?

Question: I had this delicious citrus fruit today that I'm having trouble identifying. I think it might be a tangelo, but I'm not sure. It was seedless and had a tangy/sour taste. Unlike a clementine, it did not peel very easily. It came with a delivery of other assorted fruits, so I don't know its geographical origin. In terms of size, it was about as big as a lime (too small to be a regular orange).
Comment: There are so many different types of citrus fruit... particularly so many varieties of oranges/clementines/tangerines... It would be miraculous if anyone could possibly pin this down exactly and know that they're correct. You've included a lot of good information to help, which is great... it may still be very difficult to pin down.
Comment: Thanks, Catija. I know it's a long shot, but I figure it couldn't hurt to ask.
Comment: Looks like a tangelo to me, but I'm not game to say i'm 100% sure.
Answer: It looks like a honeybell. Also known as a tangelo.
Comment: It could help to describe in what ways this fruit resembles a tangelo (the bump at the stem end; possible to peel although not as easy to peel as, say, a clementine; smaller than a navel orange, larger than a clementine; tart, aromatic taste; seedless, although I've met tangelos in both seedless and full-of-seeds varieties, sometimes in the same bag).
Comment: Agree. Definitely looks like a Honeybell.
Comment: Also know as Minneola in my area.

What is this citrus fruit?


Photodetector for short laser pulse

Question: I'm looking at building a detection system for fast laser pulses (532nm wavelength for 250 ps duration). It seems to me that this will require a very fast photodiode with sub nano-secind rise time. Are such components manufactured and sold commercially, and if so, what is an estimate of the cost I can expect.
Comment: Are you trying to measure the width of the pulses or just detect them? Width will require a fast photodiode but detection (what you asked for) does not. Even femtosecond pulses can be detected by nanosecond or slower photodiode. You just get a longer electric pulse.
Comment: If you want pulse duration, and the width of every pulse is the same, consider using an autocorrelator rather than a photodiode. These are relatively inexpensive to build and much more accurate than a photodiode.
Comment: Why does a web search for **ultra-fast photodetector** not satisfy your questions?
Comment: @user1850479 I am only interested in detecting them, not measuring their width. Specifically I want to determine where in a 20*20mm area the pulses are hitting. The idea I had was to use photodiodes to construct a target to place in front of my laser and use this to locate the pulse.
Comment: @ThomasHolle Then you don't need a fast photodiode and the answers to your question are not relevant to your problem. Normally beam tracking uses an ordinary CMOS or CCD sensor, or if higher speed is needed, a position sensitive photodiode.
Answer: Photodiodes are not specified by rise time. They are specified by capacitance, and this capacitance combined with the gain and stability requirements of the transimpedance amplifier defines their rise time. Then there are tricks like bootstrapping and cascoding to reduce the effective photodiode capacitance so increase the speed for a given feedback resistor but the relationship is not straightforward.
What this means is no one can give you a price range because no oen can even narrow down what photodiode you might even need since you have not provided your level of illumination which means no one can narrow down what photodiodes you may be looking at. A huge part of photodiode cost is active area. Larger active area means more capacitance which means a slower photodiode, but also collects more light so better for low illumination. Since you are shining a laser at it you probably don't need a very sensitive photodiode.
However, you also did not specify detection or measurement. This matters because measurement requires a larger active area to capture the entire laser spot to deal with spatial variations in the laser spot and/or to not saturate the laser spot. The required active area could literally make the difference between needing a $1 photodiode and a $100 or even $500 photodiode.
A 10-90% rise time works out to approximately have the highest Fourier frequency component of the signal be:
$$BW = \frac{0.35}{t_{rise10-90}}$$
So a 1ns rise time would require a bandwidth of 350MHz.
You will need to read how a transimpedance amplifier works conceptually with a photodiode. This is a basic photodiode transimpedance amplifier calculations which you will also definitely need to read:
https://www.ti.com/lit/ug/tidu535/tidu535.pdf?ts=1664111058976
It's a bit confusing so I will leave these bullet points:

Reverse biasing a photodiode reduces the capacitance which lets you operate it faster at the expense of some noise
A real transimpedance amplifier required a feedback capacitance to be stable
The feedback resistor in the amplifier determines the gain which means you need to know the photodiode response and illumination to know the gain you require
The feedback resistor and feedback capacitance together determine the bandwidth.
...but wait...where does the photodiode capacitance come in to determine the bandwidth then? It doesn't really...at least not directly. Two things are at work: required gain and stability. Things that increase stability will put an upper limit on bandwidth but they don't determine the bandwidth.

Here is the convoluted relationship feedback resistance, feedback capacitance, photodiode capacitance, bandwidth, stability, gain, and opamp gain bandwidth product (GBWP):

higher value feedback resistors means more gain but lower bandwidth
higher value feedback resistors will increase the GBWP required for stability
higher feedback capacitances mean lower bandwidth
lower feedback capacitances will require higher GBWP to remain stable
higher photodiode capacitance and higher op-amp input capacitances will require higher GBWP for stability

If your calculations tell you that to get your combination of gain and bandwidth require photodiode capacitances or feedback capacitances that approach
<1pF, or even a few pF then your specifications are not feasible. In that case you need to start augmenting the
basic transimpedance amp such as reverse biasing the photodiode (by
far the simplest and almost free), bootstrapping it , and/or
cascoding or other techniques.
If you don't understand any terms I used that doesn't matter. I didn't explain everything required anyways and what I did explain was in almost zero detail. You are going to need to read about these topics starting with how a transimpedance amp works and how to size components for them when using a photodiode (which is the link I posted). Augmenting the basic circuit is a whole other story: https://zeus.phys.uconn.edu/halld/hpd-3-2005/frontends.pdf
There are many levels of understanding between the two links.
For 350MHz  you are going to need augmentation such as bootstrapping and/or cascoding.
Comment: I regret that I have but one upvote to give for this answer.
Comment: Detecting pulse position requires actual measurement in most implementations that do not involve a massive grid of photosensors.
Comment: Yep. Silicon detectors are easy in principle, but a good measurement chain to get a challenging result from them can take years of work.
Comment: If you buy a ready-assembled photodiode module ([example](https://www.thorlabs.com/thorproduct.cfm?partnumber=DET025A/M#ad-image-0) that might actually work here with enough attenuation - it's very sensitive even though un-amplified) the rise time *is* specified.  For pusle detection as opposed to pulse width measurement I've been known to use deliberately slow photodiodes.  Honestly if this is a one-off it's better to just buy something off the shelf - by the time you've designed and built something it will cost more because of the labour.
Comment: @ChrisH Yeah. If I knew my laser was strong enough to run unamplified and was able to get my hands on a photodiode that could produce produce enough output and was fast enough without a TIA I would run it bare with just a resistor. At least for detection. Not for measurement where linearity matters.
Comment: @DKNguyen admittedly my ns and ps lasers are a bit on the big side. But the slower reverse biased photodiode I use for triggering needs a fair bit of attenuation even though it's only looking at backscatter off one of the optics. Direct detection needed something like 10^12 optical attenuation
Comment: Many thanks for your reply. I am not so much interested in measuring the pulses as I am just detecting them. My application requires me to determine the position of the laser spot in a 20mm * 20mm area

Photodetector for short laser pulse


Game map for platformer megaman-style game

Question: I want to make platformer game that would be sort of like megaman. I'm using SFML library for it. I have a problem with creating a map. Should I hardcode every single platform, add it colliders and so on? I've heard that 2d array of segments would be better, but I would still have to manually fil an array that's like 1000x1000 segments. Is there an easier way to approach this?
Comment: The question you have is a very generic.   The best way to get more responses is to dot point all the considerations you have about your intended platformer.  Try to limit your general question, if you state I have X problem and I have Y and Z options I am exploring, then people can more easily guide you through other considerations.  You won't get a  direct answer, but you will get more guidance if you are looking for advice on how research and grow your learning.
Answer: Well it sounds like you should use or make this into a Tile-based platformer Engine. Another really helpful thing to know is if you're using images?
Among a lot of tile-based engines-You should load your images either by making code for your images (listed below) or if you're using image Files some how load each image into a sort of structure like below:
(Here's the important part so listen up)

/c/b means color/byte or you could have a number/
/Structure started/ = {
    c/b, c/b, c/b, c/b, //New line
    c/b, c/b, c/b, c/b, //New line
    c/b, c/b, c/b, c/b, //New line
    c/b, c/b, c/b, c/b, //New line
}

Here we have a grid of what (could be bytes or colors or, well it depends) to represent each image.
Options
Either what structure you're using (it doesn't matter) Loading the images into a special structure where it is easier to process collision. You could do 2+ things:
1. *sew* all the images/image structures together and actually have them connected some how. (Like a segment structure or an adjacency array) Or some structure where everything can easily build itself while connecting it self

together; like:
/iteration 1/

- * * * *
       * * * * * *
       * * * * -

/iteration 2/

- * * * *
       * * - * *
       * * * --*

/iteration .../
Until it is all filled up! (You get the idea) So the it does the work for you.
Also while processing collision you could just have everything relate to itself
2. The second option: Don't *sew* everything together and have it fill up by using like an array to copy in the structure you used to represent the map in. In this state your colliders create themselves.

And of course you could use a similar structure to represent the map as the image. I recommend you branch off of my ideas somehow to suit your needs. While you could use option #1 (preferably).
Relating the data together
And of course in a more direct state sort of sense. No don't be hardcoring parameters.
Make a structure for your images to be turned into something to go in like a [option #2 gameObject or as in option #1 just put it directly in your world structure]! That would be easily processed by collision handlers.
Make sure you have multiple layers for your game to work in.
Segment/Array and under that all images stitched together into one big image!
Now with multiple images together (Unless you want to directly work with the images) while creating the code for that remember to store the image coordinates in an array (Called imgStorage) so you can create the top layer.
Referencing Objects
You could use that method to also get data from that imgStorage array and also to add bounding boxes (to the world structure) so you could put extra code in
to help you represent/stitch/reference for your collision.
Now with everything in mind it's time to piece it all together!

You have your images imported with their data in their structure(s).
You have your grid/data/array to tell where to put the images/game objects.
Your images have gotten (and put) their parameters in imgStorage!
(Optionally) You made the image layer (piece together the images) backing the level(s)!
You've built your World structure (in part) by using the structure where
You've set you're bounding boxes imgStorage in their (image data/game object place) or structure where it needs to go
You've added extra references for bounding boxes to tell them they can collide and told them whether they are "static" or "dynamic"

That's it, all you need now is to put in the collision code the operates on the images...
And then you're done!
I hope this helps!


Resource for learning about the Laplacian on Riemannian manifolds

Question: Does anyone have any recommendations for, as the title suggests, a book from which to learn about the Laplacian on Riemanian manifolds, or even just on smooth manifolds? I found this presentation, which deals with it in cursorily and without proofs - in the style of a presentation - and at a deeper-than-introductory level. I do not know much about the Laplacian at all (I'm familiar with smooth manifold theory and Riemannian geometry through Lee's and do Carmo's books, respectively, but none of Lee's books cover the Laplacian and neither does do Carmo's). My main goal is to learn about the isospectral problem, that is, "Can one hear the shape of a drum?"
Comment: Try Rosenberg's *The Laplacian on a Riemannian manifold*, although I don't think it says much about the isospectral problem: http://www.amazon.com/The-Laplacian-Riemannian-Manifold-Introduction/dp/0521468310
Comment: It looks like Rosenberg spends about 2.5 pages on the isospectral problem, describing the Sunada construction. Can you be more specific about what you wanted to learn?
Comment: http://www.springer.com/birkhauser/mathematics/book/978-0-8176-4991-3
Comment: @QiaochuYuan For a final project in a class on Riemannian geometry, I am writing a short exposition of the problem and one of its solutions (and an introduction to the Laplacian - we did not cover that in class). From what I've read, the Sunada construction seems like the best way to go.
Answer: This (great) book of Peter Buser is about the spectrum of the Laplace Beltrami operator over manifolds. He also gives methods to build isospectral but not isometric manifold based on the Sunada Theorem (which answers the question: "Can one hear the shape of a drum?").
Answer: Here is the book entitled "The Laplacian on a Riemannian Manifold". But I did not study it in details. Instead, I would recommend Chapter III of Schoen and Yau's book "Lectures on Differential Geometry, which I have studied in details. It introduces many results about eigenvalues of Riemannian manifolds.
Answer: Here's a set of lecture notes by Michael E. Taylor: http://mtaylor.web.unc.edu/notes/functional-analysis-course/
Chapter 8 "Spectral theory" contains some results about spectral theory of the Laplacian on complete Riemannian manifolds: Its extension to a self-adjoint operator, and compactness of the resolvent.
He gives many references, but I haven't found which of them talks about Riemannian manifolds.
He doesn't mention the isospectral problem, if that is what you are looking for.


scattering of light

Question: How does the path of light become visible due to scaterring of light? According to me it will only tell the presence of colloidal particle but the book give the example of cinema hall projector and says that you could tell path of light due to scattering of light. Nevertheless, without scaterring of light also we can tell its path.
Answer: The book just means the slight scattering of the light beam from dust gives the chance to see the path of light visually. Of course, you also see the presence of colloidal particles. Without this scattering, you will not "see" the beam, which is travelling in exactly one direction, as your eyes will have nothing to detect.

scattering of light


How to attach Zeikos extension tube to D5100?

Question: How to attach the Zeikos macro extension tube to Nikon D 5100 and to the kit lens 18-55mm?
Neither side of the tube seems to fit the body of the camera nor the lens. Perhaps I bought the wrong item for my camera and lens?
Any help to fit these onto the camera and lens would be appreciated. I have attached the pics of the lens, and both sides of the extension tubes. Kindly tell which side will attach to which side of the lens and camera. (note: I donot have the manual)
Zeikos extension tube on amazon
Comment: in particular it seems to me that the rectangular built of the one side of the tube is a misfit in the built of the camera body shape which is circular...
Comment: The rectangular hole is not the problem. As the image sensor is rectangluar, the hole lets through all the light that goes to the sensor. Actually it's a positive feature, as it will mask off some of the stray light that would otherwise bounce around inside the camera and reduce the contrast.
Answer: It appears that you have received the Canon EF-mount tube set, not the Nikon F (AF) version. The contacts and alignment aids are where you'd expect them for Canon EF, and the pass-through screw drive for Nikon AF is missing. Not surprising, then, that it won't fit your Nikon gear.


13 week old kitten will not stop sucking on me

Question: I have a 13 week old kitten, which I took away from her mama when she was 9 weeks old. She stopped nursing from her mom and started sucking on my ear lobes and neck (and sometimes the tip of my fingers). She is definitely a healthy happy kitty! She only does this when she's ready to go to sleep. I feel like I can't bond with her because I'm constantly setting her down on the floor or pushing her off my earlobes. It's like I give the Tabby more attention than I give her. (She's a Calico.) Is this normal? Will she eventually stop, or do I need to double check on her health? I don't think shes stressed, she will only fight me when she's being put down. Until I give her something to suck on, she wins every time.... How do I get her to stop sucking on me?
Comment: Welcome to Pets! If you have a minute, please take the [tour] and have a look at the [help]. Your question is one never-ending string of words without any punctuation, which makes it very hard to understand. Could you please [edit] your question to format it in sentences and paragraphs to make it more understandable?
Answer: Allow it her. She still thinks, you are now her mom.
In general, you are very alien for her, she simply doesn't have any instinctual idea, what are you. But you seem to behave like her mommy, and now she thinks, you are her mommy.
If it is not disgusting, allow her to play with you.
This is a crucial period for she, the negative experiences what she collects now from you, might she alienate from you for life. What she now learns, will in her in her whole life. Later will she be mentally incapable to learn such things, like humans are not bad, or that you love she.
The time until the cats are capable to understand causality, is 5 seconds. (This is why it is reasonless to punish a cat for anything after more than 5 seconds - she won't understand, why she got it. She will think that you attacked she for no reason.)
On this reason, I would suggest: allow her to lick you for 5 seconds. After that, take she up and put to a different location on you - still on you, but not more in a position where she could still lick you. The thinking of the cats is very location-oriented - if you move she to another place, she understands very well: "My mom wants me to be here".
Sometimes around a half year (latest as she would start to heat), she will forget their kitten behaviors, including the licking, but she will still love you. So better you treated she as a kitten, so better will she love you, and this love will be eternal.


Can I give someone limited access to an Azure account?

Question: I want to outsource the development of a WordPress website that will be hosted in Azure.  Is there a way to create a Cloud Service that I can give someone access to, but at the same time not giving them my Azure subscription credentials?
Answer: From an Azure subscription perspective, you can only grant co-admin privilege; a co-admin gets full access to a subscription. This leaves you with a few options (I'm sure you can think of others):

Set up a separate subscription solely for the outsourced WordPress work. At completion of project, you can choose to remove the co-admin rights of the subscription
Grant admin access to the WordPress site, along with specific Azure resource keys (e.g. storage account namespace+key; service bus, MySQL credentials, etc.) for your developer to do the work. You can always change access keys once the project is completed
Have your developer set up WordPress in their own subscription, and then transfer the contents to your subscription when the project is complete.

EDIT - I slightly misunderstood the question, and was thinking the outsourced dev needed certain subscription-level resources. As Mike pointed out, source control is a good solution for Web Sites. You'd still need to set up resources such as Storage accounts if you don't want to set them up as co-admin.
Comment: Many thanks for the suggestions.  Very useful indeed.  I also thought of creating an Azure VM and giving the dev Remote Desktop access.
Comment: I'm going to mark this as an answer.  I hadn't realized how easy it was to do the WordPress install.  Eventually I did that, and just gave the dev admin access to the site.
Answer: If you are using Cloud Services then you could set up continuous integration between TFS and your cloud service.  This would allow you to give the other person their own accounts to your TFS source code.  Thus they check in and trigger the build, and it deploys.  They don't have access.
If you don't have to have Cloud Service then you also have the same option with Windows Azure Web Sites (it's under development so this should be fine to run in even under the free, and bump up if you want to load test, etc.).  With that you can give ftp access only, or also set up TFS or GIT source control integration.
Comment: Many thanks for the suggestion... I hadn't thought of TFS at all... I'll take a look at that.


same color scheme during update, insert and read only modes of details view

Question: In asp.net Detailsview has several predefined templates but these template changes according to details view mode. Like if the details view has update mode then it will have different color scheme (though template is same).
Problem: i want to apply same color scheme during update, insert and read only modes of details view plz help some body.
Answer: You might have given EditRowStyle in DetailsView just comment it that and check.