Can we define factorials in sufficiently nice categories?

Question: In sufficiently nice categories, we can define an exponential object $B^A$ for all objects $A$ and $B$. Now I tend to think of $B^A$ as an internalization of $\mathrm{Hom}(A,B)$ to the category. This begs the question: given an object $A$ living in a sufficiently nice category, is there a way to define a new object $A!$ that somehow "internalizes" the set of all isomorphisms $A \rightarrow A$?
Answer: Yes if the ambient category $\mathcal{C}$ has pullbacks (and, of course, is cartesian closed). I will denote $B^A = \underline{\mathrm{Hom}}(A,B)$ and construct a subobject $\underline{\mathrm{Isom}}(A,B)$ as follows: Consider the morphisms
$$\underline{\mathrm{Hom}}(A,B) \times \underline{\mathrm{Hom}}(B,A) \to \underline{\mathrm{Hom}}(A,A) \times \underline{\mathrm{Hom}}(B,B) \longleftarrow \star$$
given by $(f,g) \mapsto (gf,fg)$ and $(id_A,id_B) \leftarrow \star$ (if the notation is not clear, ask). Let $\underline{\mathrm{Isom}}(A,B)$ be their pullback. The composition $\underline{\mathrm{Isom}}(A,B) \to \underline{\mathrm{Hom}}(A,B) \times \underline{\mathrm{Hom}}(B,A) \to \underline{\mathrm{Hom}}(A,B)$ is a monomorphism, which exhibits the subobject of isomorphisms from $A$ to $B$.
For $A=B$ I wouldn't use $A!$ as a notation, but rather $\underline{\mathrm{Aut}}(A)$.
A typical example is $\mathcal{C}=\mathsf{Sh}(X)$, the category of sheaves on a space $X$. If $A,B$ are sheaves on $X$, the isomorphism sheaf $\underline{\mathrm{Isom}}(A,B)$ is the subsheaf of the usual homomorphism sheaf $\underline{\mathrm{Hom}}(A,B)$ whose sections on $U \to X$ are the isomorphisms $A|_U \to B|_U$.
Comment: I like your answer but I have to object that to my intuition the factorial is something different, maybe more naive: $n!=$ "what you get when you multiply $2\cdot 3\dots (n-1)\cdot n$". Your procedure obviously gives rise to the categorification of the automorphism group of a finite set, but I think we've lost the "combinatorial" side of the story. Multiplication is of course the decategorification of a monoidal product, so I would have taken a different path, albeit extremely more naive.
Comment: For example (absolutely without any desire to superimpose my opinion to yours) I think that a natural definition for $[n]^{\times }!$ in the category of simplicial sets would be the cartesian product of all representables $[n]\times [n-1]\times\dots \times [2]\times [1]\times [0]$; or even more simply in the category $\Delta$ of simplices, $[n]^\oplus!$ would be...
Comment: Have you read the question at all? It was about an internalization of the set of automorphisms of an object. Also observe that your product formula doesn't make sense in general categories (in fact not even for the category of sets, when the set is infinite).
Comment: Of course I read it! My point is that I wouldn't call such a thing "factorial"; but nevermind, it's not so important. I didn't want to give an answer, only to point out that to my intuition the factorial is an arithmetic notion, whose categorification is linked to the categorification of operations between natural numbers, much more than to the notion of automorphism. I'm sorry if I intruded!
Comment: @tetrapharmakon, actually *I* called it factorial; Martin advocated calling it $\underline{\mathrm{Aut}}(A)$. Anyhow, the intent of the question was not to capture the combinatorial aspects of factorial, so much as about internalizing the group of isomorphisms of an object.


Wiring generator with two 200 amp service panels

Question: Installing 9500 watt, 30 amp generator.  I have two 200 amp service boxes coming from the same meter.  I plan to run the generator to one box and install an interlock device on that service box and relocate the needed circuits/breakers from the other panel to the generator powered panel and move the circuits not needed in a blackout to the unpowered service box.  I understand I can extend the wires from each circuit to move them from box to box through conduit and need to move both the hot and neutral wires.  I am guessing the grounds should also be transferred accordingly also.  Any thoughts and input greatly appreciated.
Comment: One thing is good about your plan: breaker panels are also junction boxes, so you're okay to make splices in there as needed. Where I'm less certain is if it's okay to have generator power heading through another panel.
Comment: How many circuits are you looking to back up?
Comment: 30A @ 240V Only adds up to 7200W - must have 2300W of "marketing magic" power you can't use.
Comment: You are right.  It is a 9500 watt surge with 7200 watts.  Didn't mean to mislead.  Thank you to all that have replied.
Answer: You are correct, there is no way to feed 2 panels with 1 generator (except for some arcana using an isolation transformer).
Electric current flows in a loop. On 120V circuits, neutral is an equal partner in the loop (Even if its role is underplayed).  Thus neutral must come over with the hot(s).  This is unlike safety ground, which only handles current during (hopefully) momentary fault conditions.  Ground can simply land in the panel that the Romex cable enters.  Hot(s) and neutral must be extended.
When someone installs 2 panels next to each other, it is wise to install several short conduit pass-throughs between them.  If this is done, then the circuit can be extended to the other panel simply with two THHN wires white and black.   (Or 3 if it is a MWBC or 120/240V circuit).
Keep hot/neutral pairs identified or twisted together, and make sure any given circuit's hot and neutral go through the same conduit.
Comment: Harp,. you a bright guy and I respect and agree with nearly all of your posts....been giving you many UVs over the last couple of years. But in your above answer I have to disagree.  Theoretically the first panel will be fed by the generator and of course with the appropriate automatic or manual lockouts (maybe plate style) MTS.  Then the second panel could also have a MTS (plate type lockout) fed by a breaker from the first panel.   Now this all just theoretical  In practice, a 30 amp generator seems pretty wimpy to supply 2 200 amp  panels w/o turning of HOLE BUNCH of circuits.  Comment?
Comment: @manassehkatz there's something to that, but we are talking <0.5mA per switch.   I have to assume UL accounted for all the wonky grounding arrangements that can exist in the field, e.g. retrofit grounds.
Comment: Interesting edge case with ground: Smart switches where they are UL/ETL listed to use ground for mA current return where neutral is not available. If you *knew* you had such equipment would you be obligated to move grounds for those circuits? Or is the current so little compared to the actual current used by the switched equipment that nobody really cares?
Comment: @GeorgeAnderson The problem is **neutral** on the cross-feed from generator-powered panel A to panel B.  If you omit neutral, you violate 300.3 because panel B neutral is getting back to panel A via the meter pan.  If you include neutral, now your neutral has a redundant route (loop).    That's why I mentioned the transformer, it breaks that loop.
Comment: @Harper-ReinstateMonica    That's a good point. Hadn't thought of that.  Even though all the neutrals are connected, you're right , any neutral current would end up going thru the meter base neutral connections ...not a good thing.
Comment: Harp makes a good point, I appreciate him chiming in, my comment isn't code legal, I was wrong.


How to debug flow

Question: I want to see the values of an SObject collection variable in the flow. Is there a way to see the values of a SObjectcollection variable? I want something like debug statement in apex.
Answer: If you set the debug log for user running the flow for Workflow to be Finer, it will show your assignment actions and values.
Here are the log actions you can get:
https://www.salesforce.com/us/developer/docs/apexcode/Content/code_setting_debug_log_levels.htm
Answer: Perhaps the quickest way to see your sObject values is to add a Screen element where you display one or more fields. If you have a collection of records you'll need to loop through the collection, which means your screen will pop up each time, so if you have a large collection you'll want to try to filter it down for debugging purposes.
Another quick trick is to simply count the number of records in your collection to see if you're getting the number that you expect. Sometimes that can help you identify a problem before you inspect fields on each record.
'Hope this helps!
Answer: I know this is an old thread but just in case people are stuck like i was and there seems to be something "new" that I missed. But the debug button next to run is pretty awesome!
Answer: Without more context, your question is difficult to answer. When you run your flow, you can enable debugging for the user and a log will be created. So in a controller, you could add debug statements that would appear in your log. You can also display the current value of any variables at any point for development even if they're not being used or needed. Later, you can hide or remove the code for those variables.
Comment: This question was about flow. Your answer was only about code. There is no controller in Flow. There is no ability to add debug statements in Flow.
Comment: @JodieM You may want to read up on your documentation about flows. Salesforce auto creates a controller for you when you create a flow which can also be edited. Flows have a controller that sets the finish point and a number of other parameters that flows use to run.
Comment: Oh wow, thank you for that, I had no idea. Thanks to flow expert Jen Lee for helping me find the documentation on creating a Class for a Flow https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_flows_advanced.htm. @crmprogdev I wonder if you can help us understand this more, by providing an example of how you would get to the variables from each part of the flow, or would you just reference each variable in the controller and put a statement as a debug against each variable?

Thankfully now we have the Debug button that basically does all that. But this is good to know.
Comment: @JodieM Much has changed with flows and flow builder since this question was asked nearly 4 years ago. Your question should be posted as a new question rather than as part of discussion in an answer to an existing question. I recommend it be specific enough to meet the guidelines of this forum. See [How do I ask a good question](http://salesforce.stackexchange.com/help/how-to-ask).

How to debug flow


Which language is better for raspberry pi compute module for image processing?(Python/CPP/JAVA)

Question: As I want to  develop product using raspberry pi Compute module.
Which language is better for image processing if I am using OpenCV??
Camera in project is steady taking video & doing processing...
Comment: Given we know nothing about the detail of your image processing it's hard to see how we can answer.
Comment: C++ is always the winner, on any platform and any OS. You are asking the wrong question and researching in the wrong direction. First write the software so its fast, then find your platform. Because its possible that you may benefit from x86 technology that ARM does not offer so its possible you could use Intel Graphics better than VideoCore due to using SSE which ARM does not have. You first need to decide that. Good luck.. you gonna need it.
Comment: Thanks....My platform is fix which is raspberry pi(for this project only). But after implementation of this if I want to choose platform other than raspberry pi then which one is good??
Comment: If you define better in more detail Im sure someone could answer your question.
Answer: All the languages that you mentioned can be used for image processing using opencv. It depends on the requirements of the application and your skills in a particular programming language.
If you are a beginner then I suggest Python, even though it is slow, it is easy to learn and reduces the complexity of the code. Also Python has various other libraries like machine learning which will make your application open for future modifications.
If performance is what you need then go for C++, but you need to have good knowledge of programming and since opencv library is built using C and C++, at the end of the day whichever language you use they depend directly or indirectly on C++
Java on the other hand is not usually preferred for image processing using opencv because of it is slower and instable
Comment: Hello and welcome! Given that in OpenCV, all algorithms are implemented in C++, the key aspects you stress here ("Python is slow") are not of significance.
Comment: Compared to c++ python is slow
Comment: Thanks I am beginner & know python. Please suggest me the steps/good links for OpenCV + Python + Image Processing
Comment: You can refer sentdex tutorials, they are good just google 'sentdex image processing'


Graph Coloring Problem

Question: Can solutions to the graph coloring problem be used in the prison system to keep known enemies apart with the goal of reducing violence?
Comment: Can you give a simple example to further clarify your intention?
Answer: It's unclear exactly what level you're asking the question at.
In principle, you could set up a graph where the vertices are prisoners, there's an edge between any two prisoners who need to be kept separate, and each prison corresponds to a colour. In practice, there are probably too many prisoners in any reasonably sized country for this to be a computationally tractable approach (though the conflict graph would probably be rather sparse), there are more constraints on the system that would be hard to model in this graph-colouring approach, and two prisoners getting into a fight could cause a re-colouring that might cause a large proportion of the prison population to be moved, which is neither feasible nor desirable.
Answer: Yes, in theory, assuming the prison has $n$ separated blocks.
Let each vertex be a prisoner, let each hostile relationship be a graph edge between their two respective vertices and color the graph.
The color of each vertex determines what block the prisoner ends up in, no two prisoners that have a hostile relationship will end up in the same block.
Note that this isn't very useful in practice without other requirements, as for example blocks have limited capacity.

Graph Coloring Problem


Are you Dragonborn in any Elder Scrolls Games other than Skyrim?

Question: Is The Elder Scrolls V: Skyrim the only Elder Scrolls game where you are Dragonborn, and if so, are there other Dragonborns in the other games?
Comment: While I can understand the perspective of those who've VTC this question, I instead interpret it as a question about the lore of a series, which is isolated enough that it is acceptable. Hence, I've VTRO.
Comment: You shouting your wife off the edge of a mountain made you think, "Hmm I wonder if there are others like me out there?"
Comment: Yes. Yes it did. Until I realized she had all my deadtic artifacts.
Comment: Based on our [latest meta about game identification](https://gaming.meta.stackexchange.com/questions/12501/why-is-the-baseball-rule-question-considered-off-topic), we have hardened our stance a bit more.  This can easily be considered to be asking for games that meet specific criteria.  The scope of just a few games is irrelevant; it's still asking for games that meet specific criteria, and thus should not be reopened.
Answer: Given this seems to be more of a lore question, it is good to make note that elderscrolls lore is complex in detail yet leaves some up to the players imagination and interpretation. I recommend reading the wiki and other places on the internet for interpretation on lore.
In Summary
The only player character confirmed to be a dragonborn is in Skyrim, all others are up to interpretation with varying degrees of support as to whether or not they are a dragonborn.

In Detail
I will cover the facts, though this is from memory of personal exploration and reading, I could have missed important facts in some places. I will edit if necessary. (And I did more reading, esp. on the dragonborns before Saint Alessia. Saint Alessia was the one to make a contract with Akatosh and have her bloodline infused with dragon blood, making them dragonborns)
First, Paarthunax states that dragonborns are mortals blessed with the Dragon Blood of Akatosh, the Father of dragons. Also note that some may be dragonborns without notable or recorded use of the thu`um.
To cover the known facts though, Skyrim is the only elderscrolls game where the player is confirmed to play as the dragonborn. Definitely the only one so far with the ability to use the Thu`um.
In Oblivion, the player character is not able to wear the amulet of the kings, which in lore can only be worn by those of the emperor's bloodline who share the blood of Akatosh. Note, that it is stated in Skyrim that the emperor's bloodline, the descendants of Talos (but actually Saint Alessia), are all dragonborns by blood. I am currently uncertain if the amulet requires the wearer to only have the blood of dragons or to also have the blood of Alessia. This apparently is up to interpretation, but most likely, since the amulet was used in the forging of the pact between Saint Alessia and Akatosh, and it is noted to contain the souls of the emperors, starting with Saint Alessia, I believe it requires the wearer both to be dragonborn and a descendant of Saint Alessia, which honors the origins of the pact.
I originally thought that being unable to wear the amulet of kings meant that the player is not dragonborn, but due to the necessity of Saint Alessia's bloodline for the amulet to be worn, as I prefer to believe, means the player could be a dragonborn, but must not be of her blood if so (An example of a dragonborn not of Saint Alessia's descendants is obviously Miraak, the first dragonborn). So the player character in Oblivion is also up to interpretation on whether or not they are a dragonborn.
The only emperors i know not to be dragonborns are the current one in Skyrim, who is related to a Dark Brotherhood quest. And the underking from arena or Daggerfall, i cannot remember which. The underking tricked people into thinking he was Uriel Septim, the one who died in the beginning of Oblivion.
Arena, Daggerfall,and Morrowind all are up to interpretation. The Nerevarine (player character in Morrowind) is mentioned briefly to be a dragonborn, but there is speculation that this means they are under the rule of the Imperial Empire, given they were sent here by Uriel Septim. I suspect the player character in the game Redguard, where the player character actually has a defined history and personality, is not related to Talos Saint Alessia nor has any mention of Dragons blood (as far as I know), thus can be confirmed as not a dragonborn. No idea about battle spire, but I doubt the player character is a dragonborn.
For more information, I recommend doing some wiki reading:
Unofficial Elderscrolls Pages on Lore of the Dragon born
Comment: Just because they aren't related to the emperors bloodline, doesn't mean they can't be dragonborn in Oblivion.
Answer: Yes, Shouts and the player being Dragonborn are unique to Skyrim.
Comment: Martin septim in oblivion was dragonborn even though you are not the dragonborn there were dragonborn in previous games
Comment: Yes, that is true. I will edit the answer to be more clear.
Comment: Clarification: Martin Septim was not Dragonborn, he was a descendent of one, however.
Answer: You do not play as another Dragonborn in the series, and in fact, other than Miraak in the Dragonborn DLC for Skyrim, never meet one in the series.
Answer: As for non-player characters, I agree with prijatelj that Uriel and Martin Septim are most likely dragonborn. Additionally there is evidence to suggest that the player character from Morrowind is dragonborn as well, though this is highly subject to interpretation.
During Morrowind's main quest, the player collects a information regarding the Nerevarine, a prophesied hero of the dark elves, whose appearance would be signaled by a number of qualifying factors. Throughout the main quest, your character inevitably fulfills most (if not all) of the qualifying factors, convincing most NPCs that you are, in fact, the Nerevarine. The following is a passage from one of those prophecies, known as "The Lost Prophecy" (emphasis mine):

From seventh sign of eleventh generation,
  Neither Hound nor Guar, nor Seed nor Harrow,
  But Dragon-born and far-star-marked,
  Outlander Incarnate beneath Red Mountain,
  Blessed Guest counters seven curses,
  Star-blessed hand wields thrice-cursed blade,
  To reap the harvest of the unmourned house.

However as a prophecy, this passage is inherently subject to interpretation.


Hamiltonian Open String

Question: On page 38 of Becker Becker Schwarz, we're given equation 2.69 which is the Hamiltonian for a string given as $$H=\frac{T}{2}\int_{0}^{\pi}(\dot{X}^{2}+X^{'2}).\tag{2.69}$$ Considering the open string we have $$X^{\mu}(\tau,\sigma)=x^{\mu}+l^{2}_{s}p^{\mu}\tau+il_{s}\sum_{m\neq0}\frac{1}{m}\alpha^{\mu}_{m}e^{-im\tau}\cos(m\sigma)$$ where we can calculate our terms $$\dot{X}=l_{s}\sum_{m\in\mathbb{Z}}\alpha^{\mu}_{m}e^{-im\tau}\cos(m\sigma)$$
and $${X}^{'}=-il_{s}\sum_{m\neq0}\alpha^{\mu}_{m}e^{-im\tau}\sin(m\sigma)$$ remembering that $\alpha^{\mu}_{0}=l_{s}p^{\mu}$. If im correct, plugging our expressions into our Hamiltonian gives us $$H=\frac{T}{2}l^{2}_{s}\sum_{m,n\in\mathbb{Z}}\alpha_{m}\cdot\alpha_{p}e^{-i(m+p)\tau}\int_{0}^{\pi}\cos(m\sigma)\cos(p\sigma)d\sigma-\frac{T}{2}l^{s}_{2}\sum_{m,p\neq 0}\alpha_{m}\cdot\alpha_{p}e^{-i(m+p)\tau}\int_{0}^{\pi}\sin(m\sigma)\sin(p\sigma)d\sigma$$ Evaluating our integrals gives us $$H=\frac{T}{2}l^{2}_{s}\sum_{m,n\in\mathbb{Z}}\alpha_{m}\cdot\alpha_{p}e^{-i(m+p)\tau}\frac{\pi}{2}-\frac{T}{2}l^{s}_{2}\sum_{m,p\neq 0}\alpha_{m}\cdot\alpha_{p}e^{-i(m+p)\tau}\frac{\pi}{2}$$ By equation 2.72 I know that I should get $$H=\frac{1}{2}\sum_{n\in\mathbb{Z}}\alpha_{-n}\cdot\alpha_{n}..\tag{2.72}$$ The issue that Im stuck on is based on my equation that I found $$H=\frac{T}{2}l^{2}_{s}\sum_{m,n\in\mathbb{Z}}\alpha_{m}\cdot\alpha_{p}e^{-i(m+p)\tau}\frac{\pi}{2}-\frac{T}{2}l^{s}_{2}\sum_{m,p\neq 0}\alpha_{m}\cdot\alpha_{p}e^{-i(m+p)\tau}\frac{\pi}{2}$$ I can use $$m=-p$$ I think to get $$H=\frac{T}{2}l^{2}_{s}\sum_{p\in\mathbb{Z}}\alpha_{-p}\cdot\alpha_{p}\frac{\pi}{2}-\frac{T}{2}l^{s}_{2}\sum_{p\neq 0}\alpha_{-p}\cdot\alpha_{p}\frac{\pi}{2}$$ but im not sure how to get equation 2.72 from here. In addition if I write out my sums the only term that survives is the m=0 terms im not sure what went wrong here whether it was my mistake in doing $m=-p$ or evaluating my integrals incorrect which I dont think is it the case.
Comment: @schris38 hello !! I'm integrating over \sigma so I only have my cos(m\sigma)cos(n\sigma) and sin(m\sigma)sin(n\sigma) being integrated. I'm not sure how I would integrate over \tau though in this case
Comment: Hi and welcome to PSE. What is the variable(s) that we are integrating with respect to in (2.69)? I haven't done the calculation, but it seems to me that an integration wrt $\tau$ would solve most of your problems...
Answer: The orthogonality relations for sine and cosine functions should be proportional to the Kronecker $\delta$ symbol. Namely
$$\int d\sigma \cos(m\sigma)\cos(n\sigma)\sim \delta_{mn}$$
$$\int d\sigma \sin(m\sigma)\sin(n\sigma)\sim \delta_{mn}$$
with the appropriate proportionality constants. This is where your mistake is located I think. This would kill one of the sums and identify the indices of the Fourier coefficients.
If there is anything you are unsure of, please comment...
Comment: I see how this would work, but it brings up an issue in determining when I should use complex conjugate or not. I do agree with your integral relation between the sines and cosines but I feel like this should be derivable using your integral relation on its own. I'm not sure how to incorporate the negative modes without using a substitution in my sum like $m=-p$ but I don't think that's a valid substitution considering it gives me the wrong answer.
Comment: Hello !! Thank you, I appreciate your comment and advice. So I've plugged in the orthogonality relations and as you said, it kills off one of the sums resulting in let's say the first term looking like $$\sum_{m\in\mathbb{Z}}\alpha_{m}\cdot\alpha_{m}e^{-2im\tau}$$ but now from here I'm unsure how to proceed to get my first alpha as a negative mode and combine with the second sum $$\sum_{m\neq 0}\alpha_{m}\cdot\alpha_{m}e^{-2im\tau}$$
Comment: Normally you should multiply $\dot{X}$ with its complex conjugate and the same goes for $X'$. However, I think both $\dot{X}$ and $X'$ are thought to be real and hence the respective creation operator (or c.c. of the Fourier coefficient) one would found in the mode expansion of the complex conjugates of $X$, can be replaced by $\alpha_{-n}$. The complex exponentials accompanying the respective creation operator contain the opposite sign in their exponents. This is another hint for deriving the expression
Comment: It is a valid substitution. Any substitution is valid. But, I think, due to the fact that the Lagrangian must be real in any case and on top of that you require the field also be real in the case of open strings, it is okay to use the $a_m^{\dagger}=a_{-m}$ suggestion. It is valid
Comment: Anything you do is legit, as long as you do not violate any mathematical rule (i.e. substituting the integral of the cosines with an expression that does not involve the Kronecker $\delta$), but in the end, you want to bring the expression in the form of the book's equation (without meaning that anything else is not correct)... But this is the form the authors want to exhibit

Hamiltonian Open String


An essay on Career Goals

Question: I have to write an essay on career goals. I am applying for a Master's program. Do I start from the basic as to why I chose the subject and how and what do I intend to do after the master's immediately and in the long run? Or do I just start from what I will do post doing master's from my target university? What are the essential points that I should include?
Comment: maybe ask your teachers? they probably had to do something similar to get their degrees.
Answer: (Please note that there is not a single, universally applicable answer to this question.  So grab a large grain of salt...)
Usually the selection committee will be looking to see if, within the department's discipline, the topics that interest you align with the research goals of their faculty.  At the next level they will be looking to see if you write about the discipline with any depth of knowledge, and with any passion.
Beyond that, there are some "strategies" you could adopt while writing your letter.  I am not advocating that you adopt any of these, I am just offering some alternatives to consider before you start writing:

You could go the route of digging through the faculty's research, and
writing a targeted letter, basically applying to a specific faculty member -- but be careful.  Going that route it is
easy to start drifting away from what you in the long term might
actually be interested in achieving.  Remember though, that
challenging your intellectual abilities and the image you may hold of
yourself as an academic are part of graduate school.  So delving into
a topic outside your core interests can be a part of your growth as a
[insert discipline specialist title].

At the other end of the spectrum, be personal.  Write about your
passions for the discipline, and don't be afraid to wax poetic.  If
your academic record is very strong, use the letter as an opportunity
to reveal how your personal relationships with other researchers and
the research community have stoked your interests.  Take this
opportunity to speak to any initiatives you've taken to reach a goal
(one that could be framed as a "research goal").

Hope this helps!

An essay on Career Goals


Use CHAP with NPS and a Domain Controller in Core

Question: I've noticed a difference on the authentication behavior of Active Directory where the Core version failed to authenticate properly when using CHAP from the NPS server.
I have reproduct the problem on a dedicated network as following:

1 domain controller (ad+dns) on windows server 2016 core
1 domain controller (ad+dns) on windows server 2016 gui (same domain)
1 nps server on windows server 2016 acting as a radius server (member of the domain)
1 workstation to simulate a RADIUS auth (with radlogin)

I use CHAP on my network to do 802.11x MAB (Mac Address Bypass). This is used to authenticate some devices that cannot support a better auth protocol like EAP-TLS.
For CHAP to work properly, the password MUST be known by Active Directory. The user accounts matching those devices have the flag to store the password using a reversible encryption.
The NPS has a very basic configuration:

a radius client with a shared secret, to receive requests from my switch (here radlogin)
a network policy to check against a user-group, auth in CHAP

I have enabled the audit for NPS login. You can find the settings on the local group policy: Local Computer Policy > Computer Configuration > Windows Settings > Security Settings > Advanced Audit Poolicy Configuration > System Audit Policies - Local > Logon/Logoff > Audit Network Policy Server.
When the NPS authenticates the user against the core domain controller, I get on the eventid 6273 on the Security log (on the event viewer):
<code>Network Policy Server denied access to a user.

Contact the Network Policy Server administrator for more information.

User:
    Security ID:            NULL SID
    Account Name:           77b6e93eb3f0
    Account Domain:         LAB-RADIUS
    Fully Qualified Account Name:   LAB-RADIUS\77b6e93eb3f0

Client Machine:
    Security ID:            NULL SID
    Account Name:           -
    Fully Qualified Account Name:   -
    Called Station Identifier:      00-0c-29-f4-f2-62
    Calling Station Identifier:     77-b6-e9-3e-b3-f0

NAS:
    NAS IPv4 Address:       192.168.12.25
    NAS IPv6 Address:       -
    NAS Identifier:         RADIUS_TEST_CLIENT
    NAS Port-Type:          Ethernet
    NAS Port:           10

RADIUS Client:
    Client Friendly Name:       radius-client
    Client IP Address:          192.168.12.25

Authentication Details:
    Connection Request Policy Name: wired
    Network Policy Name:        -
    Authentication Provider:        Windows
    Authentication Server:      radius.lab-radius.lab
    Authentication Type:        MD5-CHAP
    EAP Type:           -
    Account Session Identifier:     -
    Logging Results:            Accounting information was written to the local log file.
    Reason Code:            16
    Reason:             Authentication failed due to a user credentials mismatch. Either the user name provided does not map to an existing user account or the password was incorrect.
</code>
When I do the same against the GUI domain controller, I got a success (evenid 6772). I momentarily cut the communication between the RADIUS server and a DC to force the RADIUS to use the other DC to authenticate.
The two domain controllers have been deployed exactly the same, are on the same OU and have the same GPOs applied.
Wireshark revealed me the authentication between the NPS and the Domain controller is done through DCERPC with the NetrLogonSamlogonEx remote call. When it failed, I've got a STATUS_PROCEDURE_NOT_FOUND (0xc000007a). When it success, I've got a VALIDATION_SAM_INFO2 result.
What's missing on Active Directory when installed on a Windows Server Core that is present when using the graphical Windows variant?
Note: I KNOW very well CHAP is terrible. The question is why this problem and how to fix it on the core domain controller, not what would be better. CHAP is the only protocol supported by my NAS (not even PAP)
Answer: A Microsoft representative give me their answer.
Doing CHAP authentication with NPS and Core DC is not supported by Microsoft. This is by design, even though it's not indicated anywhere on their documentation.


SSRS Install SharePoint 2013

Question: I am installing SSRS on my SP 2013 farm. 2 web front ends and 2 app servers. I am confused as to what I need to install on what and if I need to install it on all servers.
Run in SharePoint mode.
Its more of confusion as to whether I need say for the WFE side I need to install the add-in on both WFE servers or if it can be just one and the same for the app server
Comment: Integrated mode or native mode and what's the step that cause to you confusion?
Answer: The SSRS add-in must be installed on all SharePoint servers in the farm. As for the SSRS instance, that can be installed on any server in the farm, although you'll get better performance from an end user perspective by installing it on one or both FEs, should your FEs be capable of handling the additional load.
As for the addin, make sure to install the latest supported version for your combination of SSRS and SharePoint.
Supported Combinations of SharePoint and Reporting Services Server

SSRS Install SharePoint 2013


Does the Play with Pikachu/Eevee function do anything?

Question: Quick in Let's Go, you get a tutorial where you play and pet Pikachu.
Is there any stat boost in doing so, or is it just to play with your companion?
Answer: I've found that showing your partner Pokemon attention will give them special abilities in battle.  According to serebii.net, this could include: "[increased] Critical Hit chance, ability to remove status conditions and hold on in battle."  I believe "hold on" here means the ability for the Pokemon to survive a strong attack with 1 HP left. [1]
Additionally, after showing your Pokemon attention for some time, you will receive gifts (items) from them:
Comment: I've managed to dodge a lot of attacks through the bond as well.
Answer: From GamesRadar:
"As you bond with your buddy, it'll unlock various perks, the two most important being a pair of sure-hit moves that you can use in battle. If you're fighting with Pikachu, a quick shake of the Joy-Con or Poke Ball Plus when prompted will cause it to unleash a sure-hit attack called Pika Pow. Doing the same while fighting with any other Pokemon will cause Pikachu to use the simply named Pikachu's support, which improves the all the stats of your attacking Pokemon."
Answer: "Playing" with your buddy will allow you to give them new hair styles!
If you ruffle up their hair with either 1 or 3 fingers (in tablet mode at least) you can cycle between different haircuts depending on how many fingers you used.
It is also possible to give them an afro by using all 10 fingers. Its difficult to do with adult sized hands but the easiest way I found was to hold down 1 finger first to enter the "ruffling" stage and then try to fit all 10 fingers on the screen and move in the same direction.


Best way to use http get with php server for mobile app

Question: I am using an http server on Amazon Web Services running php and connecting to an RDS DB, also on AWS.
I am sending GET requests to the server to get Information.
The requests dont contain any private information.
I am trying to think of the best way to secure the requests as much as I can within the GET limitations.
The reason is obviously to make sure only valid requests reach the server.
One way I thought of was to pass a token that allows the server to recognize the request as a valid one. I just could not think of a way to generate a token that is not constant and can be calculated by the server and the client.
Is there a better way? In general, what is considered a good approach for this kind of problems?
Comment: If you could describe what a "valid request" exactly is in your use case one could maybe help with the question. Examples might be specific (authorized) sender, specific syntax of request etc. If its about finding out if your app is the  likely origin of the request you might use a [HMAC](https://en.wikipedia.org/wiki/Hash-based_message_authentication_code) over the request which uses a shared secret.
Comment: In my case, a valid request is one that came from the my app client.
Answer: Edit:
In light of the new information (it's a mobile app, only requests from this app should be allowed) this post is updated. The old answer was removed as not relevant.
The OP wants so ensure that requests are sent from his mobile application and not some attacker defined program. This kind of assurance is normally achieved by digitally signing the requests using a certificate (public and private key) at the client side and using the public key at the server. If applied to the scenario of mobile applications, the certificate should be present in the application (shipped together or transmitted when the app is first used) in order for requests to be signed.
Now assume the attacker wants to craft his own messages to send to the server. For these requests to be accepted they need to be signed. To sign those messages he needs the private key that is contained in the app one way or another. The attacker downloads onto an attacker controlled device. Since the integrity of the mobile device can't be guaranteed (device may be rooted, emulated, ...) there is always a way of obtaining the certificate. The only thing you can do is trying to make this retrieval VERY hard. Obfuscating the application can help against static analysis but one also needs to make sure that the certificate is hard to find in memory at runtime.
To prove the difficulty of this problem, let's take Pokemon Go as an example. Within days of it's launch, someone had intercepted network traffic from the app to the server and wrote his own program (running on a desktop computer or laptop) that mimics the behaviour of the app (sending updates of the position of the player, throwing a pokeball, etc.) that automatically played Pokemon Go. This is known as a 'bot'. The developers releasef several updates to protect the requests (I assume they tried digital signing as well) but every time the attackers where able to reverse the logic and craft their own requests. The only thing that really worked was looking at patterns in the requests at the server side to detect that they were coming from a 'bot' instead of a legitimate mobile app. Things they will have used is timing of the requests (exactly 1 second apart), location of the player changing in certain patterns, etc. If a player was assumed to be cheating by using a bot, he got banned. Attackers responded to this by adding some randomisation to their requests to make the analysis harder. So it became a cat and mouse game between attackers and defenders. Pokemon Go also sent cease and desist letters to people they could identify as developer of the bots. This shows how powerless they were against the problem.
Comment: The server is accessible only from the client app, with the token. But my question was what sort of token should I use and not weather or not to use one.
Comment: Sorry Yinon but you need to provide more information:
What type of client (web application, mobile application, fat client,...)
Who has access to the client side code? Anonymous users? is the client distributed to a few individuals?
Do you care about someone taking a valid request from a valid client and just resending it?
Do you have a method of storing a secret in the client that nobody can obtain or is hard to obtain?
Should an attacker be able to modify the request? Or do you want to do integrity checking on the request (digital signature)?
What technology are you using?
Comment: The client is a mobile app. The code is not accessible to users. It will be available to users from the app store/market. I would like to be able to separate requests from the app to any other request and only accept the ones from the apps. I have no secret data but storing a secret string can be possible. I am using a php server on EC2 client on AWS with a MySQL database on AWS RDS.
Comment: Mobile apps can be reverse engineered. You need some damn good obfuscation to hide a secret. The other solution is to send a secret to the app. But what prevents an attacker from requesting a secret from your back-end?

To be honest, Pokemon Go didn't even succeed in doing what you are trying to do. You can't enforce that a request comes from a certain client that is distributed publicly since everyone has access to the code which depending on the platform is hard or easy to reverse engineer.
Comment: I got a little lost. What are you suggesting?
Comment: You can't enforce that requests are coming from a certain client/app. You can make it hard for someone to mimic the requests that your app is sending by digitally signing them with a certificate that is shipped with an well obfuscated app.

Why is there no secure way to ship a certificate with an app? Simple, because you are delivering the app and all it's data to a user controlled device. It can even be an emulator. You can only try your best to hide the certificate. You might wonder if you can't encrypt the certificate. Where are you going to store the decryption key? On the device!
Answer: for your token use a hash of the current time, a secret, and the rest of the query.
Comment: If his client is a web application and his client side code is javascript. How does he store a secret?
Comment: HTML5 local storage
Comment: Or prompt the user like a password
Comment: Then you are either sending the secret to the client. The attacker can also request such a secret from the backend. Or you are using passwords which authenticates the user, not the client. The OP want to be sure that requests come from one client which is not possible.
Comment: the client was a mobile [device] app, then you moved the goal posts.
Comment: Sorry I don't follow you.
Comment: the question at the top of the page is discussing a mobile app , software than runs on a smart phone or tablet, this is compiled code so the source is not available and reverse-engineering it can be considered to be difficult.   the client is not a web application. if it is there is less possibility for security.
Comment: depends on the platform. Android compiles to bytecode which is very easily decompiled. There are solutions to obfuscate this code such as proguard but even then it is always possible to reverse. If the aim is to simply find a private key and not understand the full app, reverse engineering can focus on this part and often requires little effort.


I paid off a car loan early, but it was reported on my credit score as "closed" bringing it down. Shouldn't paying off that debt increase my score?

Question:
I paid on it for at least 3 to 4 years.
It was reported as a "closed account" instead of paid off in good standing.
I called the creditor and customer service ultimately send me a letter stating that I paid off my car not with zero payments missed.
Why doesn't the credit bureau take that into consideration?
Comment: What did your credit score change from, and to, before and after the car loan was paid off?
Answer: Your account is closed that's not an error, typically a car loan would show paid-in-full, but closed means the same thing and does not impact your credit score differently.
Paying off a car loan typically has a minor negative impact on credit score because it affects multiple categories used in common scoring models. It affects your credit mix, credit utilization, and credit history (average account age, oldest account).
Here are a handful of articles that go into more detail about credit scoring and impact of paying off a car loan:
Motley Fool - What Happens to Your Credit Score if You Pay Off a Car Loan?
Nerdwallet - Does Paying Off My Car Loan Early Hurt My Credit?
CarsDirect - Will My Credit Score Go Up After I Pay Off My Car?
Answer: The bureaus DO take it into consideration, once they have all the data.  Sometimes the lender doesn't report the payoff status right away, but it will get resolved.  Give it time.  I went through the same thing with a personal loan with Navy Federal I paid off.  They reported it "closed" but didn't update the status that it was a payoff for about two weeks.
In the meantime, the bureaus know your loan was paid off by virtue of the fact it would have been closed with a zero remaining balance.  It isn't quite time to panic! (smile)


Is 教授 a form of address?

Question: The news report about a visit by Chinese vice president to the Netherlands said 会见威廉—亚历山大时,韩正首先转达了习近平主席和彭丽媛教授对国王和王后的亲切问候和良好祝愿
As far as I know, only PhD is used to address a respectable person, Dr. So and So, other titles are not heard of.
First Lady Peng is better known as a singer in China much earlier before her husband's presidency of the country about 11 years ago.
Also, I notice this is the first time 教授 is added to the name of the first lady on official occassions.
When and how is it to be used properly? If her title is not 教授 but 主任医师 or 高级工程师, is it still OK to be used this way?
Answer: 教授 (professor)is a formal address, a title for a teacher who teaches at the university level. They have to be at least a Ph.D. or above.
As long as 彭丽媛 once taught in a university, people can address her as 彭丽媛教授, unless she has another title with higher honor. For example, Dr. Jill Biden is also the First Lady, people can address her as Dr.Jill Biden or First Lady Jill Biden depending on which title they consider more important
Comment: Not all teachers are addressed as 教授. It is a title and one needs to get to certain level in university to be a 教授. There is no such thing called Assistant Professor in China. Also, in the past, they did not have to have a Ph.D. like today.

Is 教授 a form of address?


Should tags be added for each security patch, such as supee-6788?

Question: It seems reasonable to have tags for each security patch, but it doesn't look like they've been used so far.  Any objections to tagging patch-specific questions with a tag like supee-6788?
Answer: Since the tag supee-6788 has been introduced, there are 70 questions, seraching for "supee-6788" yields 233 results. So individual patches, at least those with bc breaks or other complications could be a topic big enough to warrant its own tag.
But for previous patches there were not that many questions, even for the shoplift patch SUPEE-5344, there are only 63 search results, and for SUPEE-6285 with the infamous "access denied" errors, there are only 61 seach results.
As a conclusion, I would say that an individual tag for each patch is not necessary and there is no real benefit for it.
Remember the reason for tags:
They should make it easy to find questions that you can answer. So for example, if you are an expert for the Magento import, you can follow the import tag (4 followers). Can you be an expert for a specific patch? Maybe, but it seems like that's too specific for anybody to follow:
The tag supee-6788 has 0 followers, the tag patches has 2 followers, the tag security has 4 followers.
Comment: I'm not sure if subscribing to tags is very popular at all. Even the most popular tag 'catalog' has only 63 followers.
I personally like tags to add them to my favorite tags.
Comment: And yes, I agree that for example supee-6788 should have its own tag. Might not be that important for less complicated patches.
Comment: Anna your point about tag subscriptions is important though it may have some other implications.  Party I think the UI of subscribing is not as easy as it could be (you have to "edit" your list of favorites then enter the tag manually.  Before I worked this out it was easier for me to just use my chrome InoReader plugin to have it figure out the RSS feed for the tag page and follow along in the same reader I use for all the other stuff I follow. SE is improving the UI and will continue to do so. Also, as more users become active and naturally specialize I think it will be more commonly used.
Comment: None of that may really change anything important about how we analyze you or Fabian's input, but I think tags are really young and not fully matured as tech & also not broadly understood even on SO & Server Fault so our opinions are likely to change both as they become more widespread across the growing SE network and mores specifically as our own Comunity becomes more familiar with their behavior then how we can incorporate them into our own workflows.


A book for relativistic quantum mechanics

Question: What is the best book to learn relativistic quantum mechanics at first time? I would like a book that also talk about the representations of the Lorentz group and the Poincaré group.
Comment: Relativistic quantum mechanics, most known as quantum field theory :p
Answer: Note that it is inevitable to go to quantum field theory, that is, many-particle theory, if you want relativistic extension.
A book giving the complete answer to what you asked is Weinberg, vol. 1. However an accessible book would be Peskin and Schroeder. A particle theory book like Halzen and Martin would be also a good starting point.
Answer: Relativistic extension of quantum mechanics will extend naturally into quantum field theory and on a beginner level, my suggestions would be to follow the book by Lewis H. Ryder and Mark Srednicki. A more theoretical approach can be found in the book named "Quantum Field Theory in a nutshell" by Anthony Zee. QFT books of Peskin and Schroeder, and Weinberg Volume 1 are the ultimate books to go to in the end.
Answer: Previous posts highlighted that it proved to be difficult to design a relativistic quantum theory that is not a quantum field theory. As a reference to why that is the case, maybe the book by Strocchi is helpful. It is mostly about quantum field theory, but the first chapter deals with attempts to formulate relativistic wave equations that have a probabilistic interpretation.


Why doesn't anything happen when I select a search action from the CiviCRM search results?

Question: I'm in CiviCRM 5.5.0 and everything works perfectly - except that nothing happens when I select a search action like "Add an activity".  There are no errors in the Javascript console.  What's happening?
Comment: Getting this same issue on CiviCRM 5.33.5 on Drupal 8.9.17. Occurs for any set of search results that has the action drop down... the dropdown is made active when one or more contacts are selected, but no action is exe Select2 is installed on Drupal, but even with it disabled no search action is available. (Noting that v8.x of Select2 does not provide for exclusion rules.)
Answer: The cause was that I had the "Select2" Drupal module installed, which was adding a second Select2 widget to my search actions, breaking them.
To resolve:

Go to Drupal Configuration menu » User Interface » Select2.
Click the Exclusion Rules tab.
Under Don't load Select2 for specific pages, enter civicrm/* and save your changes.

This should fix your search actions.


Partitioning win 10 for dual boot ubuntu 20.04

Question: HP Envy laptop, 16GB ram, 500GB SSD with Win 10 already installed.
Installing 20.04 and have to choose 'Something Else' since there is no option to install along side Windows. When partitioning the Windows C  partition (511316 MB), I get the Edit Partition box. I select about half the size of that partition for the size I want for Ubuntu but what should I select as the 'Use as' entry? Should it be Ext4 journaling, FAT32 or EFI System Partition?
Comment: Do not use Ubuntu to work on Windows partition/s, use windows for best results.  Should also make sure Windows 'fast boot' is disabled, and am thinking your Windows might have dynamic partition instead of basic.
Comment: See also:  https://help.ubuntu.com/community/UEFI
Shows Windows screens
https://askubuntu.com/questions/221835/installing-ubuntu-on-a-pre-installed-windows-10-with-uefi
Comment: You can take a look at [this website](https://www.pcsteps.com/3305-prepare-windows-dual-boot-installation/) on how to allocate disk space, and check out [the links](https://www.pcsteps.com/961-install-ubuntu-linux-windows/) within the web page too.
Answer: Your Ubuntu installation should have the ext4 file system.
EFI is a system partition that should already exist if you have UEFI compatible firmware and Windows is installed using UEFI.
FAT32 is unable to handle UNIX permissions or ownership, so you can't use Ubuntu on a FAT32 file system.


keybinding for macOS Sierra

Question: As it needs 3 keys on a German keyboard (alt shift 7) to get a backslash, I would like to use the keys on the numerical keyboard to get this character (and others difficult to obtain as é).  I tried two different versions of ~/Library/Keybindings/DefaultKeyBinding.dict
available at
http://alexanderstoffel.selfip.org/KeyBindings/DefaultKeyBinding1.dict
and
http://alexanderstoffel.selfip.org/KeyBindings/DefaultKeyBinding2.dict
After rebooting, the first version has the effect that hitting the corresponding keys does neither insert the former nor the desired character but the acoustic system alert is audible. The second version does not have any effect. How can I get the desired effect?  I am using a MacBook Air with macOS Sierra (10.12.1) and with an additional Apple Keyboard (Product-ID: 0x0250).
Answer: I haven't had much luck the keybinding dict route, seems very spotty what works and what doesn't. Far easier to use an app like Ukulele to make a tweaked keyboard layout exactly how you want it - no issues whatsoever. Much recommended.
Comment: Thanks for the hint to Ukelele. After getting acquainted to the quite complex program, I could solve the problem. It seems still a little clumsy to me to establish a whole keyboard layout file just to change about 10 keys, but anyway, the practical problem is solved. If someone finds out the mistake in the keybinding files, I would still be interested in.

keybinding for macOS Sierra


TikZ Graph with a circle alround some of it's vertices

Question: I want to draw the following Graph with the tikz package and/or tkz-graph package, but I'm still very new to this. Could someone please help me? :)

Comment: Welcome to TeX.SX! Are you able to do any part of it? If so, can you add that code to your question?
Comment: No, I'm afraid, I don't even know how to approach this. :/ I've only made really really simple graphs until now.
Comment: possible duplicate: http://tex.stackexchange.com/questions/8890/tikz-how-to-draw-boxes-around-set-of-nodes , related: http://tex.stackexchange.com/questions/59012/how-to-use-fit-to-frame-the-nodes-and-labels and http://tex.stackexchange.com/questions/73129/make-some-extra-space-when-using-tikz-fit-package , see also http://www.texample.net/tikz/examples/feature/fit/
Comment: You want to check out the fitting library `fit` of TikZ.
Answer: As the fit library has been mentioned a few times, here's a suggestion using that. It requires nodes, so all the black dots are created using \node. Note that by changing the node distance you can modify how stretched out the figure should be, in the y and x direction.
The cross is drawn using a different technique, and relative to the nodes around it, so modifying the node distance will also change the cross.
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning,fit,calc}
\begin{document}
\begin{tikzpicture}[
  dot/.style={fill,circle,inner sep=0pt,outer sep=0pt,minimum size=3pt,label={[label distance=0.3cm]#1}},
  node distance=0.6cm and 1.5cm,]

% draw left column of symbols
%      options                           node name   node label
\node [dot={left:$v_h$}]                 (vh)        {};
\node [below=of vh]                      (vdots1)    {$\vdots$};
\node [below=of vdots1,dot={left:$v_2$}] (v2)        {};
\node [below=of v2,dot={left:$v_1$}]     (v1)        {};

% draw right column of symbols
\node [right=of vh,dot={right:$v_n$}]         (vn)     {};
\node [below=of vn]                           (vdots2) {$\vdots$};
\node [below=of vdots2,dot={}]                (vN)     {};
\node [below=of vN,dot={right:$v_{n-h+1}$}]   (vnh)    {};
\node [below=of vnh]                          (vdots3) {$\vdots$};
\node [below=of vdots3,dot={right:$v_{h+1}$}] (vh1)    {};

% draw lines between dots
\draw (vh) -- (vn);
\draw (v1) -- (vN) -- (v2) -- (vnh) -- (v1);

% draw cross in middle
\foreach \y in {-1,1} {
  \draw  ($(v2)!0.35!(vn) + (0,\y pt)$)  -- ($(vn)!0.35!(v2) + (0,\y pt)$);
  \draw  ($(vh)!0.35!(vN) + (0,\y pt)$)  -- ($(vN)!0.35!(vh) + (0,\y pt)$);
}

% draw rectangle around right column
\node [fit=(vh1)(vn),draw,rounded corners] {};
\end{tikzpicture}
\end{document}

Answer: Here is one attempt using tikz:

The code:
\documentclass[border=5mm,tikz]{standalone}
\usepackage{mwe}
\usepackage{tikz}
\begin{document}

    \begin{tikzpicture}
      \draw(0,0)--(2,0)--(0,1)--(2,1)--(0,0);
      \draw(0,3)--(2,3);
      \draw[very thin, double distance=2pt](0.6,2.2)--(1.4,1.6);
      \draw[very thin, double distance=2pt](0.6,1.6)--(1.4,2.2);
      \foreach \y/\lab in {0/1,1/2,3/h} {
          \filldraw(0,\y) circle[radius=2pt]node[left]{$v_{\lab}$};
      }
      \foreach \y/\lab in {0/n-h+1,3/n,-2/h+1} {
          \filldraw(2,\y) circle[radius=2pt]node[right=3mm]{$v_{\lab}$};
      }
      \filldraw(2,1) circle[radius=2pt];
      \node at (0,2) {$\vdots$};
      \node at (2,2) {$\vdots$};
      \node at (2,-1) {$\vdots$};
      \draw[rounded corners] (1.7,-2.3) rectangle (2.3,3.3);
    \end{tikzpicture}

\end{document}

Comment: Glad it's helpful. This code, which uses tikz, is highly configurable. I'd recommend looking at the the [tikz manual](https://www.ctan.org/pkg/pgf) -- or `texdoc tikz` from the command-line. The tikz manual is huge but very readable. The radius of the vertices is controlled by `radius=2pt` so if you instead use `radius=4pt` then the vertices will have a  diameter of `8pt`. The line width can be controlled with `\draw[line width=1.5pt] ....`. This is very similar to `\draw[ultra thick]...` which gives lines of thickness `1.6pt`.
Comment: This is awsome! Thaks a lot!!! :) Is there maybe also some way to change the size of the vertecies to 8pt and the thickness of the edges to 1.5pt?
Comment: Both this answer and the answer by @torbjørn-t are very instructive, but isn't this and example of vampire feeding? (no offense intended, this seems to be standard terminology ;))
Comment: @Marijn I've not come across the term "vampire feeding" before:) The two obvious interpretations would make either the OP or me the vampire! Assuming/hoping that you mean the form, I often comment on posts by saying that 'some people take exception to questions of the form "Please draw this for me"', which may be what you are getting at. In this instance I thought that the OP genuinely did not know where to start and I am trying to avoid doing some marking, so...


What can cause the engine temperature to be high in piston engines?

Question: What can cause the engine temperature to be high in piston engine aircraft?
Comment: What engine temperature, exactly? Oil temp? Cylinder head temp? Exhaust gas temp? Coolant temp for a liquid cooled engine?
Answer: Low oil quantity, improper cooling, running excessively lean of peak.  Excessive boost from a turbo or supercharger at high altitudes where sufficient cooling is not possible.  Ther are quite a few reasons.
Comment: Running lean of peak should actually cause lower CHTs, assuming proper fuel mix (calibrated fuel-injectors, for ex). Martin Pauly has an excellent video on this using his bonanza as an example: https://www.youtube.com/watch?v=h3bATVXMHQg
Comment: To a degree, yes.
Answer: There could be any number of reasons, and it really depends on the aircraft's systems to determine how it is set up. As always - if you suspect a problem in your aircraft, it's always a safe choice to temporarily ground the aircraft and have an A&P or engine mechanic take a look.
Typically, piston engines (o-320, io-360, etc.) control temperature through two primary means - fuel mix, and oil cooling.
Oil is usually air-cooled as it passes through a radiator, and the cooled oil is used to lubricate the engine. Oil temperature is regulated via the use of a thermal bypass valve to avoid it becoming too cold.
The second mean, by regulating the fuel mixture, is controlled by the pilot. AOPA's 2016 article, "Temperature, Temperature, Temperature" talks at length about how mixture can be used to affect both the Exhaust Gas Temperature (EGT) and Cylinder Head Temperature (CHT):

There are basically three different strategies for keeping CHTs low during cruise:

Baby the engine
Operate very rich
Operate lean-of-peak

Essentially, when you put fuel and air together with a spark, the fuel will oxidize rapidly (burn). This oxidization has an ideal ratio of fuel to air, where both will be used up completely. Excess fuel will lead to incomplete combustion, and excess air will lead to a reduction in available power. This ideal ratio is what we refer to when we say "peak", since it causes the highest temperatures to occur within the engine cylinder.
Operating rich of peak, i.e. with excess fuel, decreases temperatures due to the cooling effect of the uncombusted or incompletely-combusted fuel absorbing excess heat from the combustion reaction. In order for these effects to be visible, however, engines need to be run well rich of peak. This is because adding more fuel does react, even if incompletely, and so the temperature reduction to the cylinder head does not fall off as fast as the EGT might.
Operating lean of peak, i.e. with excess air, decreases temperatures due to a lessening of the combustion happening within the cylinder, along with the excess ambient air causing a cooling effect within the cylinder. Because reducing the amount of fuel available to the engine causes less combustion within the combustion chamber, this causes a decrease in performance.
As the article notes:

In any of these cases, you're trading power and airspeed for reduced temperatures and increased longevity. For most of us, that's a reasonable tradeoff to make.

In an engine that's overheating, the forces that cause the engine to cool aren't effectively counteracting those things that cause excess heat. As for what might cause the temperatures to be high in the first place, it could be any number of things. A miscalibrated fuel injector or carburetor,, a problem in the oil circulation that causes poor regulation, a bad seal causing oil to combust, running at too high a power or improper leaning technique, or some other mechanical or electrical issue.


back button on iPhone app

Question: i want to make a back button in my Iphone app which is similar to this :
http://www.youtube.com/watch?v=FEAkVCouI_Y  (its name is "retour" in french).
unfortunately i can`t find it in the library in interface builder..any suggestions ?? THX in advance :)
Comment: Are you talking about the ripple effect?
Answer: You want a UINavigationController
Answer: The button labeled "retour" is a standard back button from a UINavigationController.  In the video, the main interface is a UINavigationController. A UITableViewController is visible, and transitions to another view controller via pushViewController:animated:.
View Controllers, including Navigation Controllers are described in the View Controller Programming Guide for iOS.
Answer: A UINavigationController is a class that automatically handles the going back operations. It is basically a stack of view controllers (stored as an NSArray)—you push and pop (add and remove) views from the stack (as in a stack of cards—only one is visible on top). When you're on any view other than the bottom-most (the root view [controller]), the back button will automatically appear with the title of the previous view. Check out the documentation for more information.
Comment: THX all, you really save me :))

back button on iPhone app


What problems could be caused by inserting into a database on an HTTP GET?

Question: I have code that checks if the scanned qr code exist in the database and if it exist it will insert data into another table but I did it in the HTTP GET request, is this alright to do it this way or there are other ways to do it correctly?
Comment: What had your research told you about how GET is typically used?
Comment: Are there worse ways to achieve the same goal? How do you know that one way is more or less right than another way?
Comment: Yes, its its fine.
Comment: Writing a sentence in capital letters is interpreted as crying, which is not well received here.
Comment: Can you edit the question to say **why** it will insert data into another table? What application feature does this provide?

Users generally aren't interested in internal things like what goes into a database when  - they care about how the application as a whole behaves.
Answer: In genereal it's not a good idea. There are exceptions however. An access log can be implemented with a database, GET being a safe http method should never change the resource, but access log is not the resource so that is ok.
If you need to integrate with some system that doesn't understand the semantics of http (PLCs i'm looking at you) you can be forced to do it, but it's not ideal.
You need to be aware there can be issues if not using the methods correctly. E.g. webbrowsers+crawlers will call these methods as part of preload or scraping because they know they are safe. Example of what can happen if you don't use the correct method
Answer: Side effects aside, for example, an exponential increase of entries in the DB due to bots, web crawlers or a (un)intended miss usage of the API, I can think in one that would worry me. GET is supposed to be cacheable. Caching unsafe operations (those with side-effects) is something you will rarely see and it's for good reason. Makes the system hard or impossible to predict (depending on the eviction strategy) and harder to track too.
Unless you disable the cache between the server and the client, in such a case you end up realising that using POST you achieve the same result without much less overhead.
Another issue is if your API is convenient for me. If your GETis unsafe, I need to know. If your GET complicates my developments then I might look for another API.
To me, the main problem with ignoring the semantics is not how we wrap our head around that idea, is how the rest of the world do it. For 99% of us (including browsers and HTTP clients developers), GET is safe, idempotent and cacheable, so that 99% feels comfortable calling GET as many times as necessary with no fear of breaking anything.1.
But it matters only if it matters. You have to find out if the issues mentioned here are feasible in your system. Even if they are a problem at all.

1: It might happen due to evil intentions, due to load tests or due to bugs in the client-side which cause your API to be bombed with countless GET requests
Comment: It's probably worth referencing https://tools.ietf.org/html/rfc7231#section-4.2.1 or similar here.
Answer: The most obvious problems are:

The database could run out of space and cause downstream failures
A failed attempt to insert into the database could cause the attempt to get the resource to fail (a more specific variation of the above)
The response to another GET for the same resource could fail incorrectly due to the database change (for instance, you give one response to the first 100 requests and a different response to those after.  And then you incorrectly update the database as having 100 requests on the first request).

There is nothing inherently wrong with doing an insertion a GET, but it can cause problems of both scale and logic, and it's an obvious target for a misconception because others may assume that asking for that resource won't change anything.
Answer: There are a couple of questions you need to ask yourself which weren't 100% clear when I read what you had written.
1. Non-existent QR codes: If a GET request is received for a QR code which is not in the database, does anything happen in the database? I think you are saying "No", which is safe. If you did do something (such as synthesise a new record for the new code), then that is unsafe because, as other answers have pointed out, you might get 10,000 random requests from a mad robot.
(In principle the same problem also exists with POST, but robots do not usually use POST unless they are specifically designed with malicious intent).
2. Repeated requests: The first time a GET request is received for a QR code in your database, you insert something into a separate table. What is inserted the second, third, fourth, fifth, sixth time? If the answer is "nothing", then you are safe. If the answer is "six records get inserted into the table", then you are at risk.
To amplify this point: I can imagine, for example, that you might have some physical products that have unique QR codes, and that those codes are sent to your server as part of a registration process. In that case you would probably only want to have one "registration details" entry per QR code. You could decide to accept the first GET for a given code and ignore the others, or you could decide that the most recent GET supersedes all the previous ones. Either of those approaches is safe, because either of them leads to a table which has at most one record per valid QR code.
Looking at it from a greater distance - with browser caches and so on - you are safe if, when a subsequent GET request is submitted to the same browser, it doesn't matter whether (a) the browser sends the request to the server and receives a response to it or (b) the browser sends nothing to the server and just uses the last remembered response.


Can't run android application with release keystore

Question: I developed a Simple Applicaiton , and generated a Google API Map key.
I provided the api console with a signature created from the debug keystore.
When I got ready for release , I created a releasekeystore , and signed the application with it .
Then I used the releasekeystore to generate a new fingerprint , and updated the google api console.
However when i run my application locally , it gives an error saying
<code>10-10 14:37:42.571: E/Google Maps Android API(12369): Ensure that the following correspond to

what is in the API Console: Package Name: com.evento.simplemap, API Key: key, Certificate Fingerprint: 16C737A318E97CFF92EE4C1A1A72A785CBaa0C03
</code>
This fingerprint is the fingerprint obtained from the debug.keystore.
How should I force the releasekeystore to work (whose fingerprint I have uploaded in the console).
I am sorry all of this is too complicated for me , as I had no previous experience with google map api . Please give me some insight
Answer: The key shown in log in not valid kay to access Google Maps API. Please check that the kay is active or not.
Comment: i just removed the actual key from the question with the word "key"
Comment: ok. But is that original key is working fine. If any further problem persists then generate a new key. Definitely the problem is with the key.
Answer: First of all create your fingerprint proper, using your signed apk keystore not debug.keystore.
Then generate map api key, there you must need to give your application's package name, example below:
Your SHA1 fingerprint; Your App Package Name(com.test) and click on generate new android key.
Be sure that you have activated Google map api v2 active .
It will generate a key, copy that key and put it in your project's Android manifest file in reaplace with your debug key. Then run it will work.


using either 2-propanol or isopropyl alcohol for writing a report

Question: I'm writing a report based on testing I've done on a material. I'm wondering if there is any convention on using different nomenclature for isopropanol. Which way of writing this molecule is consider the most accepted or the most "correct?"
Comment: The answer depends on the audience. For theoretical, more nomenclature inclined chemists, I would use the preferred IUPAC name propan-2-ol,  but technicians would probably use isopropanol or isopropyl alcohol.
Answer: Many compounds can have more than one systematic IUPAC name. A compound may be named correctly in two or more ways in accordance with the several methods recommended by IUPAC.
However, "isopropanol" is one of the rare cases of a widespread name that is actually considered wrong and not just not preferred.

Designations such as isopropanol, sec-butanol, and tert-butanol are incorrect because there are no hydrocarbons isopropane, sec-butane, and tert-butane to which the suffix "-ol" can be added; such names should be abandoned.

– Nomenclature of Organic Chemistry (The IUPAC 'Blue Book'), Sections A, B, C, D, E, F, and H. Oxford: Pergamon Press. 1979.
Isopropyl alcohol, however, is correct but not preferred.

Isopropyl alcohol, sec-butyl alcohol, and tert-butyl alcohol are, however, permissible (see Rule C-201.3) because the radicals isopropyl, sec-butyl, and tert-butyl do exist.

– ibid.
The preferred name in accordance with the current version of Nomenclature of Organic Chemistry – IUPAC Recommendations and Preferred Names 2013 (Blue Book) is propan-2-ol.


How to ask in English with model verbs?

Question: I know modal verbs like  want, can, should etc. However, Which is the better way to ask with these verbs? I use 'Do you can?', 'Do you should' etc. Are there better way to ask with modal verbs and ask a request?
Comment: Those are incorrect. "Can" and "should" are auxiliaries. They do not require "do" in front of them. It should be "Can you...?" and "Should you...?". "Want", however, is not an auxiliary. Therefore, it requires and auxiliary ("do") for interrogation and negation: "Do you want..."
Comment: Oh ok! Can I say "Want you" too?
Comment: No, you cannot, as per my second point, "want" is not an auxiliary verb and therefore *requires* an auxiliary in front of it for negation and interrogation.
Answer: Want is not a modal verb but a catenating ('chaining') lexical verb. In questions it requires "do support" to provide a leading auxiliary which can invert with the subject:

You want to do it this way → Do you want to do it this way?

Modal verbs are never employed with auxiliary do because they are 'defective': they have no infinitive form which can act as the complement of do (or any other auxiliary. That's why a modal verb must always be the first auxiliary in a verb phrase.
And because modal verbs are always auxiliaries and always head the verb phrase, they invert with the subject in questions, like other leading auxiliaries:

Can you answer this question?
  Should he come tomorrow?

How to ask in English with model verbs?


manage.py syncdb fails to create tables because they are not there

Question: I have a strange behaviour of syncdb and I know that it worked in the past. Since the last time I executed syncdb I made changes to my models but the changes were minimal, mostly adding columns to my models. syncdb fails now to create a table because it doesn't exist yet. I cannot really understand why.
My django projects has two packages. The first package which I call remusdb is more or less a standalone application that uses django.db.models.Model for the communication of the database. For applications that use my remusdb package I have written a sample settings.py file that looks like
REMUSDB_DB_ID   = "remusdb"
DATABASES = {
        'default': {
            # django.db needs a "default" database
            # make django.db happy.
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME':   '/dev/null',
        },

        REMUSDB_DB_ID: {
            'ENGINE': 'django.db.backends.postgresql_psycopg2',
            'NAME':   'remusdb',
            'OPTIONS': { 'autocommit': True },
        }
}
DATABASE_ROUTERS= [ "remusdb.RemusDBRouter" ]
SECRET_KEY = "Make.here.something.random"
INSTALLED_APPS = (
        'remusdb'
)

The idea is that this application can determine a database with a custom name and if you include remusdb in a django projetc, then you don't need to mix up databases by having to create the remusdb-databases in your default database. Hence I also wrote a database router that automatically uses REMUSDB_DB_ID for read and write access whenever you use a model from remusdb.models.
This works great as a standalone application and I don't have any problems with it. I even created small scripts that run command from manage.py like syncdb, shell and sqlall.
#!/usr/bin/env python
# filename: remusdb_syncdb

import sys
import os
import re

if __name__ == "__main__":
    if len(sys.argv) != 2:
        t  = "Usage: %s settings-unix-path\n" % sys.argv[0]
        t += "\n"
        t += "settings-unix-path       The path of the settings module\n"
        t += "                         in Unix-path format.\n\n"
        t += "NOTE: DO NOT USE %s if you are using RemusDB\n" % sys.argv[0]
        t += "inside of a Django application. In this case please call\n"
        t += "python manage.py syncdb && \\\n"
        t += "    python manage.py syncdb --database=<your database name>"
        sys.exit(t)

    settings_list = sys.argv[1].split("/")
    mod_settings  = settings_list[-1]

    del settings_list[-1]
    settings_path = '/'.join(settings_list)
    if settings_path == "":
        settings_path = "."

    mod_settings = re.sub(r'\.py$', "", mod_settings)

    sys.path.append(settings_path)

    os.environ.setdefault("DJANGO_SETTINGS_MODULE", mod_settings)
    from django.core.management import execute_from_command_line
    from django.conf import settings

    argv = [sys.argv[0], "syncdb", "--database=%s" % settings.REMUSDB_DB_ID]
    execute_from_command_line(argv)

Calling remusdb_syncdb <path to settings>/settings.py the database gets created and I can use my application.
Now I want to use remusdb inside of my django project which has its own database that I don't want to mix with the database of remusdb. I had to make changes of the settings.py file according to my sample above and it looks like this:
... the usual stuff
REMUSDB_DB_ID   = "remusdb"
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'remusweb',                     # Or path to database file if using sqlite3.
    },

    REMUSDB_DB_ID: {
        'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'
        'NAME':   'remusdbdev',                             # Name of DB or path if sqlite is used as engine
        'OPTIONS': { 'autocommit': True },
    }
}
DATABASE_ROUTERS= [ "remusdb.RemusDBRouter" ]
...
INSTALLED_APPS = (
    ...
    'remusdb',
    'monitor'
)
...

When I first added remusdb as dependency of the django project I created the database createdb remusdbdev and executed then python manage.py syncdb --database=remusdb and the tables in remusdbdev were created.
After two months developing the django application I had to add columns to some tables in remusdb and I didn't want to execute the sql code by myself. So I made dropdb remusdbdev and running python manage.py syncdb --database=remusdb generates now this error:
  File "/home/shaoran/devpython/lib/python2.6/site-packages/django/db/backends/postgresql_psycopg2/base.py", line 52, in execute
    return self.cursor.execute(query, args)
django.db.utils.DatabaseError: relation "remus_process" does not exist
LINE 1: ..."."last_stop", "remus_process"."last_change" FROM "remus_pro...

Well, of course it doesn't exists yet, the point of syncdb is that it creates the tables. The funny thing is that if I execute remusdb_syncdb (from my standalone app) with django's settings (I have to temporaly remove the monitor line in INSTALLED_APPS) then syncdb creates the tables. After that python manage.py syncdb doesn't fail anymore.
Am I missing something here? Why was I able to execute manage.py syncdb --database=remusdb in the past and now I get this strange error?

While reading over my question before submitting it I thought about how I started the django project in the first place. I created the django project and added the changes in settings.py that are needed for remusdb to work. Then I executed syncdb for the first time. Now I have a second package, monitor , that has views and templates. So I dropped the database once more, created it again and this time I temporaly removed the 'monitor' line from INSTALLED_APPS. Then I executed python manage.py syncdb --database=remusdb and it run without a problem. Next time I repeated these steps but I didn't temporarily remove the 'monitor' line and the error returned.
What is going on here?
Comment: Syncdb does not support alter table.  You need to look into a 3rd party app called south to achieve that
Comment: I know that, but the problem here is not altering the table but creating it at all. If I remove the `monitor` line of `INSTALLED`APPS` then it suddenly works. I cannot understand why.
Comment: you mean using remusdb in your INSTALLED_APPS create problems?
Comment: No, using `monitor` in `INSTALLED_APPS` creates problems. Without it I can execute `syncdb` with `--database=remusdb`.
Comment: I think you should provide the full exception traceback. Perhaps importing that app executes some code which tries to execute DB query
Answer: I think you should also try moving 'monitor' above 'remusdb' in INSTALLED_APPS. It might resolve the problem.
i.e.
    INSTALLED_APPS = (
        ...
        'monitor',
        'remusdb'
    )


Is this normal for the brick to extend past the concrete slab foundation?

Question: I am in the process of buying a home and noticed that the brick extends past the concrete slab foundation. I checked different houses around the area and all were flush with the concrete slab. Is this normal or a concern?
Answer: Back in the day, at least my day, the building code allowed for a maximum of a 1" corbel (extention).
I do not see any cracks in the photo that suggests shifting has occurred.
If there is a basement or maybe not, while the foundation is laid, or in the case of concrete, while it is poured, the top of the wall can rack out of square. The break between the lower wall and the upper gives the chance to re-square the walls. This may be a symptom of that.
Answer: The overhang is not a concern.  If the brick were set back from the edge of the foundation, that could possibly result in a weep point where water running down the brick could be conducted into the crawlspace.
When installing siding which goes on in layers (shakes, shingles, lapboard, etc.), it is standard procedure for the material to overlap and extend slightly below the top of the foundation to divert water flow.
Answer: I contacted Knox City Council and was advised that the overhang should not exceed 10mm. So, if you have a brick wall which is for example approx 40 to 50mm overhang then it would be deemed unsafe. The building surveyor should inspect. It may be the wall will need to be pulled down and rebuilt correctly.


Apache Webserver, Tomcat, AJP, "All workers are in error state for route"

Question: To preface this, I've been all over the internet attempting to find a solution.  Below are just the latest links that have provided some information, none of which however seems to be working.
https://serverfault.com/questions/19947/apachetomcat-having-problems-communicating-unclear-error-messages-bringing-do
Tomcat stops responding to Apache
Despite many configuration changes which I outline below I have not been able to prevent the errors, which appear in the log thusly:
[Tue Jan 07 14:56:12.158345 2014] [proxy_ajp:error] [pid 12094:tid 140002805655296] (70007)The timeout specified has expired: AH01030: ajp_ilink_receive() can't receive header
[Tue Jan 07 14:56:12.158409 2014] [proxy_ajp:error] [pid 12094:tid 140002805655296] [client 10.4.65.146:58551] AH00992: ajp_read_header: ajp_ilink_receive failed, referer: http://xxxx/yyy/
[Tue Jan 07 14:56:12.158430 2014] [proxy_ajp:error] [pid 12094:tid 140002805655296] (70007)The timeout specified has expired: [client 10.4.65.146:58551] AH00878: read response failed from 10.4.3.33:8009 (tomcatworkerX), referer: http://xxxx/yyy/
[Tue Jan 07 14:56:12.229559 2014] [proxy_balancer:error] [pid 12094:tid 140002932012800] [client 10.4.230.138:57407] AH01167: balancer://lb: All workers are in error state for route (tomcatworkerX), referer: http://xxxx/yyy/zzz

Users that go down see the "Server Unavailable" screen, but the connect restores after a few minutes. Sometimes however the same server connection goes up/down many times; this could be due to user behavior on the same (I use sticky sessions) but I haven't been able to confirm this.
My configuration is that I have a single Apache Webserver instance running in a Windows environment, with 4 Tomcat workers configured via AJP.  All Tomcat workers, currently, are hosted under Windows on separate hosts.
All hosts in my scenario are VMs in a robust production environment, with multiple cores devoted to each.
Apache Version:
Server version: Apache/2.2.22 (Win32)

Tomcat is version 7.0.29
Each BalancerMember has these configuration parameters:
keepalive=On timeout=600 ttl=600

Each Tomcat instance currently using the native connector (org.apache.coyote.ajp.AjpAprProtocol).
Connector config:
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" maxThreads="450" connectionTimeout="600000" />

The application itself connects to Oracle via the Oracle ojdbc15_g JDBC driver, v18.104.22.168.0.
Things that I have observed:

It does not appear that the Tomcat server is getting overrun with requests from Apache.  This is from observations of log activity, as well as verifying through the Apache Webserver server-status data, bolstered by thread activity via jconsole. (I never see the number of execution threads increase anywhere near the limit I set above).  This is an internal application servicing ~400 users, most of whom aren't on at the same times; so the load shouldn't be the issue.
I don't appear to have any thread deadlocking issues ... when monitoring the Tomcat instances remotely using jconsole, and I look at the ajp-apr-8009-exec-# threads to confirm this, and most are in a wait state while some I can see actively processing.
We DO have some long-running requests - some that, at times, will exceed beyond the 600s timeouts I outlined above. This is an area I'm currently exploring now; the reasons for the length of the requests is usually a federated search on a very large data-store that simply takes time, though usually returns within seconds.  When it takes longer, it's typically due to a poorly constructed keyword search by the user that is causing Oracle to block for quite a while while it builds the results.  Currently I'm refactoring this so that it runs in a separate thread from the request/apr exec thread, and if it takes longer than 280s (4 minutes 40 seconds) to execute it will kill the thread and throw an error back to the user; this way I can rule out Tomcat taking too long to process a request.

As to what I am doing now to try and address it, I feel I've exhausted my ability to configure (which includes googling for every possible solution online, as I'm a software guy by trade, not infrastructure) .. so I'm trying a different tact by switching platforms: I have run up Apache Webserver on a Linux machine, and using a DNS round-robin a portion of users get routed through Linux rather than Windows.  This doesn't appear to have helped, but the Tomcat workers are still running on the same Windows boxes.
I'm currently getting the Tomcat app itself up on a Linux machine as well, and when I have that stable (some minor code changes are necessary due to assumptions about Windows being the only platform the app would be hosted on) I will add that as a worker to see if that particular instance encounters the same issues.
If nothing else, I'd like confirmation that my suspicion about the long-executing requests is the right path.  I've tried various configuration changes to no avail.
Comment: Welcome to Stack Overflow. As you mentionned it, your question owould collect more answers on Server Fault. GOod luck.
Answer: that error is in the apache error_log here...
We had a ELB with a timeout of 600 in front of apache...
tomcat set to a timeout of 600
Our error was teh webserver timeout
If apache is not explicitly configured its timeout is 60 seconds
TimeOut 600 in the httpd.conf for example
the timeout between the apache webserver and the tomcat instance could time out on long running sessions ... a long api call for instance.


Rhomobile asynchttp multiple calls

Question: Hi I am stuck using the webinars on rhomobile.com: 'Using AsyncHttp to load data from JSON'. I followed the example and its working fine. The only problem i have is everytime AsyncHttp  is called the same products are parse repeatedly. Is there a way to call AsyncHttp  without reapeating these outputs?. Sample code will be appreciated.
Thanks
Answer: Hmm... you make a request to the same url repeatedly and get back the same results?  Sounds like it's working to me.
If you want different results, you need to request from a different url, or more simply (if you're using that products example), you'll need to add or edit some product records.
The url seems to be open (http://rhostore.heroku.com/products), so you can just navigate to that page and simple create some new products using that web application.

Rhomobile asynchttp multiple calls


Unable to access Ssl error list from QNetworkAccessManager

Question: I'm working on a project where I'm trying to send request to our webservice via REST requests. First I only connected the finished(QNetworkReply*) signal to a slot but since it never finished possible due to ssl issues I aslo tried to connect the sslErrors(QNetworkReply*, const QList<QSslError>&) slot as well since the request is https.
connect(&_accessManager, SIGNAL(sslErrors(QNetworkReply*, const QList<QSslError>&)),
        this, SLOT(printSslErrors(QNetworkReply*, const QList<QSslError>&)));

Then in my print function I'm not able to access the error list in any way.
void AssetManager::printSslErrors(QNetworkReply *reply, const QList<QSslError>& errors) {
     ...
}

I'v tried:
const QSslError test = errors.at(0); // error on 'test'
QSslError test = errors.at(0); // error on 'test'

or
foreach(QSslError error, errors) {
    qDebug() << error.errorString(); // error on 'errors'
}
for(int i = 0; i < errors.count(); i++) {
     qDebug() << errors.at(i).errorString(); // error on 'errors'
}

which results in:

error C2079: 'test' uses undefined class 'QSslError'
  error C2440: 'initializing' : cannot convert from 'const QSslError' to 'int'

or

error C2027: use of undefined type 'QSslError'
  error C2228: left of '.toString' must have class/struct/union

also, that IntelliSense underlines errors or test with the message:

IntelliSense: incomplete type is not allowed

(Notice that it doesnt complain when I do errors.count())
I include <QSslError> in the headerfile...
I've been struggeling quite a lot with the sslError signal and a few weeks ago I was not even able to connect the signal to anything since it "doesn't exists". I'm I missing a module or something?
Thanks for your help
Edit:
Still getting the error:

Object::connect: No such signal QNetworkAccessManager::sslErrors(QNetworkReply*, const QList&)

Also, cannot check if I have Ssl
qDebug() << QSslSocket::supportsSsl();

Since QSslSocket is undefined even though it's included. It must something major that im missing here right? Do I have to install something? I am completly lost here :(
Answer: Make sure your Qt is built with SSL support turned on (and that OpenSSL dlls can be found on the PATH).
This is usually only a problem if you built Qt yourself (I often keep forgetting those config options too), or if you are using Qt from linux distribution that happened to build it without SSL (although I've never seen that).
EDIT:
If you need to build it on windows (and can't use prebuilt binaries for some reason):

Download and unpack OpenSSL and Qt into the same folder. For example:
c:\root\openssl-1.0.1
c:\root\qt-everywhere-opensource-src-4.8.1
Launch Visual Studio command line and run c:\root\openssl-1.0.1\ms\32all.bat, wait for things to build
cd into c:\root\qt-everywhere-opensource-src-4.8.1 and run
configure.exe -platform win32-msvc2010 -openssl -I c:\root\openssl-1.0.1\include
make sure Qt detected and enabled OpenSSL support (configure prints out the list of everything)
run nmake to build Qt itself

(modify appropriately for other versions of VS)
Comment: do you know how to build it for windows? seen so many guides and they are all different ...
Answer: I just had the same error and wondered why the signal was not valid. As indicated above, it is indeed since OpenSSL support is not enabled. See QNetworkAccessManager.h:144:146:
#ifndef QT_NO_OPENSSL
    void sslErrors(QNetworkReply *reply, const QList<QSslError> &errors);
#endif

i.e. the signal is only declared if OpenSSL support was in place when Qt was compiled.


Where does the RF power go that is sent to a reactive portion of an antenna?

Question: The impedance of an antenna can be lumped-represented as Rr (radiation resistance), Ro (ohmic resistance), XL (inductive reactance), and XC (capacitive reactance). The incident power from a generator via transmission line is lost as heat through Ro and is emitted into space through Rr. What happens to the power incident on the reactive portion? Is my understanding correct, that power incident upon a reactive impedance is not emitted, but reflected? If so, how do you know this? My reading of Maxwell's "Reflections III" does not seem to make this clear. TIA!
Comment: VSWR is the key of 'emitting' wave ...
Comment: If a reactance were to constantly accept power -even a little- cycle after cycle, then it would accumulate (since a reactance cannot dissipate). That's impossible, so power must go somewhere else, since AC power is always in motion until it dissipates away.
Answer:
Where does the RF power go that is sent to a reactive portion of an antenna?

What happens to the power incident on the reactive portion?

The power does get reflected back along the transmission line, but still has to end up somewhere. There are only 2 places:

It gets absorbed in the source resistance, thereby heating the transmitter.
A standing wave along the transmission line, turns the transmission line into an antenna, thus radiating into the surroundings.

How do I know?
I have measured with a field strength meter along the transmission line.
I have felt the transmitter get hotter than usual.
I have measured the transmitter supply current, watching it vary with antenna match.
Answer:
What happens to the power incident on the reactive portion? Is my
understanding correct, that power incident upon a reactive impedance
is not emitted, but reflected?

Any power travelling along a transmission line that hits a reactive or partially reactive load produces a reflection unless, the characteristic impedance of the transmission line matches the reactive load.

If so, how do you know this?

By studying transmission line theory.
Comment: Yes, that is what Maxwell (Reflections III) is all about. Thanks!
Comment: @Noji If we are done here, please take note of this: [What should I do when someone answers my question](https://electronics.stackexchange.com/help/someone-answers). If you are still confused about something then leave a comment to request further clarification. In other words, it's helpful to others if you select an answer and accept it (it doesn't have to be mine).
Comment: Done...thanks for the reminder!


using GRASS on a .ply file

Question: I have a point cloud (.ply format) that I got after using Structure from motion techniques (with MicMac). I would like to calculate its volume with r.report in GRASS.
Will r.report work on a ply file?
If not, how can I convert my file into something that will work with r.report?
Answer: You can import PLY files with v.in.ply which creates a GRASS GIS vector map from a PLY file (install v.in.ply with g.extension). Then you can set the computational region to this vector map, set an appropriate raster target resolution at the same time and convert or interpolate it to a raster map for the volume calculation.
Comment: I have used v.in.ply, but I have an error:ERROR: "Wrong number of properties", do you know how to deal with it? Also I am beginning on GRASS so can you be more precise on how to do the steps you are describing here?
Comment: Perhaps there are PLY subformats existing? Could you make (a fraction of) the file available? Hard to say otherwise...
Comment: Yes of course, how can I share it? I am beginning on this website too...
Comment: I saw you wrote to the grass-user list (https://lists.osgeo.org/pipermail/grass-user/2018-June/078374.html), very good. I hope and expect we'll get it sorted out
Comment: Yes, the problem is that I had white spaces at the end of every line, so GRASS counted it as another property.
Answer: As Marion mentioned in the comments of the other answer, this error can be caused by whitespace at the end of each vertex line. I'm adding an expanded answer so that google makes it easier to find.
In my case, I used Colmap to generate binary .ply, then MeshLab to convert the binary version to ascii. I used all combinations of options in MeshLab export, including and excluding face flags, flags, colors, and normals, and GRASS v.in.ply gave two different error messages:
ERROR: Wrong number of properties

or
ERROR: PLY faces must have only one property

The second occurs any time face properties are included, but the first is fixable by removing the trailing space on each line.

using GRASS on a .ply file