Sexual deviance (zoophilia, etc)

Question: If homosexuality is okay because it is never explicitly stated in the canonical texts, then how about zoophilia, or necrophilia? Those aren't explicitly stated in the texts too, so are those 'okay'?
Comment: There is a verse in the Theragatha where a monk develops sexual feelings towards a dead human body, and that this was seen as a hindrance. Thus he corrected himself. Would you be interested in my providing an answer with that verse in mind?
Comment: There's lots about sexuality in the Vinaya so by "canonical texts" I assume you mean "the suttas". I think that what you mean by "okay" is, given there's nothing explicit about homosexuality (see [here](https://buddhism.stackexchange.com/q/1886/254) and [here](https://buddhism.stackexchange.com/q/1367/254)), it's in the same kind of category as heterosexuality.
Answer: Maybe this will help with your question...

I, a monk, gone to the charnel ground, saw a woman cast away,
discarded there in the cemetery.
Though some were disgusted, seeing her — dead, evil —             lust
appeared,
as if I were blind  to the oozings.
In less time than it takes for rice to cook, I got out of that place.
Mindful, alert, I sat down to one side. Then apt attention arose in
me, the drawbacks appeared,   disenchantment stood    at an even keel:
With that, my heart was released. See the Dhamma's true rightness! The
three knowledges have been attained; the Awakened One's bidding,
done.
Thag 5.1

Here is the background to this verse, with an additional instance of lust by a monk called Kulla, in which the Buddha felt it neccessary to step in and assist Kulla with his practice due to his lust being so persistent.

Religious Reflections on the Human Body - Page 86
From memory, I cannot think of any instances regarding lust towards animals. There was the case of Nanda, who suffered greatly with lust, and who was mentioned in the Jataka tales. I believe Nanada was a donkey and suffered the plight of lust in that form too. That's the nearest I can get to animals and lust. In any cases, in no way whatsoever would I consider zoophilia to be inline with Buddhist practice.
Comment: Thank you for your answer!
Comment: Thanks for sharing these stories. Rajadatta's story seems to be more about attachment to an individual, so strong that it persisted even when she was dead. Kulla seems to have been truly necrophiliac, but again, the issue presented is not that "sex with corpses is bad", but that arousal during meditation practice distracts from spiritual progress.
Answer: There is a story about queen Mallika in the comy to Dhammapada

One day, Mallika went into the bathroom to wash her face, hands and feet. Her pet dog also came in; as she was bending to wash her feet, the dog tried to have sex with her, and the queen appeared to be amused and somewhat pleased. The king saw this strange incident through the window from his bedroom. When the queen came in, he said angrily to the queen, "Oh, you wicked woman! What were you doing with that dog in the bathroom? Do not deny what I saw with my own eyes."
https://www.tipitaka.net/tipitaka/dhp/verseload.php?verse=151

She then denies what she had done & goes to hell for a rather short time but it wasn't due to her misbehaving with dog.

From that time, the queen was full of remorse for having lied to the king and for having brazenly accused him of misbehaving with a she-goat. Thus, even when she was approaching death, she forgot to think about the great unrivalled charities she had shared with her husband and only remembered that she had been unfair to him. As a result of this, when she died she was reborn in niraya. After her burial, the king intended to ask the Buddha where she was reborn. The Buddha wished to spare his feelings, and also did not want him to lose faith in the Dhamma. So he willed that this question should not be put to him, and King Pasenadi forgot to ask the Buddha.
However, after seven days in niraya, the queen was reborn in the
Tusita deva world.

He who asserts what is not true, goes to hell, as do those who deny what they have done. The lowly behaving pair becomes equal after death. - dhp 22 (chapter on hell).
Comment: Thank you for your answer!
Answer: I'm quite sure there is something about monks somewhere having sex with monkeys, and I'm positive there are texts forbidding it. Unfortunately all I could find on the topic is this audible podcast where the description says the same: https://www.audible.com/pd/Humans-Just-Want-To-Have-Sex-With-Monkeys-Podcast/B0949SHM3H
I agree that the lack of discussing something should not be assumed as condoning it nor as forbidding it.
Comment: "Monkey" is mentioned on page 32 of https://www.dhammatalks.org/Archive/Writings/Ebooks/BMC1&2_200826.pdf -- but it's every form of sexuality is forbidden to monks (in the vinaya -- except perhaps while dreaming, page 141).

Sexual deviance (zoophilia, etc)


TrafficStats functions always return -1

Question: When i try to retrieve traffic data using TrafficStats class,
TrafficStats.getTotalRxBytes() and TrafficStats.getTotalTxBytes() functions always return -1 even if i use the browser to load some web pages.
I knew from some forums that -1 mean that the device don't support the action. I used WVGA, NEXUS ONE and NEXUS S and the problem persists.
Thank you.
Answer: If you are using emulator it might not work. Try on a real device.

TrafficStats functions always return -1


Combined shear stress due to shear force and torsion

Question: Let's assume I have a rotating shaft supported with bearings at both ends. This shaft is exposed to a point load (by means of another bearing) at some point and a torque. I want to calculate shear stress so as to find plane stresses at some infinitesimal part. I'm confused about how to combine the shear stresses due to torque and transverse shear. Should I just sum them, or calculate the square root of the sum of the square of them? I'm perplexed by some figures I saw that illustrate the transverse shear downward but torsional shear in a tangential direction.
I would be grateful if you explain it for me.
Answer: The shear stresses due to torque will point in a direction which is tangential to the radial coordinate. This means that depending on which point you pick, the direction of the shear will change.
In design considerations, you want the maximum net shear stress, because the  failure criterion will be applied to the that critical case. Thus you have two shear vectors $\tau_{torsion}$ and $\tau_{transverse}$. $\tau_{transverse}$ always points in the same direction (direction of point load), whereas $\tau_{torsion}$ can be in any orientation with respect to $\tau_{transverse}$. Thus the maximum net shear happens at the point where they point in the same direction and therefore simply add up.


Using the EM Algorithm for unimodal distributions?

Question: I've really only seen EM used for mixtures where one can point out multiple modes visually - e.g, the classic mixture of gaussians example.  I would like to use EM for a mixture of an empirically defined, sharply peaked distribution and something that is more uniform - does anyone have an idea as to how much confidence I should put in the resulting estimates, or prior experience with similar applications?
Comment: Re your e.g.: It's a common misconception that a mixture of two Gaussians is necessarily bimodal. A mixture of two Gaussians with equal standard deviations is bimodal only if the difference in their means is at least twice their standard deviation. See: Schilling, Mark F.; Watkins, Ann E.; Watkins, William (2002). "Is Human Height Bimodal?". *The American Statistician* 56(3): 223–229. http://dx.doi.org/10.1198/00031300265
Answer: There are two questions here: 1) how much confidence should you put in your model with peaked and flat components. 2) how much confidence should you put in the EM algorithm as a way to fit this model.
Question 1 has the same answers as any other model, e.g. a regression model with particular covariates or a factor analysis model with a certain number of factors.  The only specific consideration I can think of is that you may be introducing a the alternative flat data generating source to make a more robust estimate of peaked data source.  This is a standard noisy measurement model.  For comparison, you might also work with a fatter tailed peaked source, e.g. T-distribution vs. Normal + Uniform.
As for Question 2, EM is just a maximum likelihood method.  This means, first that there may be better parameter values available, because it may have found a local minimum, and second that you can get degenerate solutions because there is no prior / regularization in the setup.  Both are standard ML problems, not really anything to do with the EM algorithm, although the latter is probably made slightly worse by having missing data in the mix.
For a more elaborate discussion, see McLachlan and Krishnan's 'EM Algorithm and Extensions'.
Answer: I have used various algorithms, including Bayesian approaches (and, I am sorry to confess, even Excel many years ago), to fit mixtures.  When there is not a clear visual indication of the two (or more components) in the histogram, you can expect the likelihood function to be extremely flat--almost parabolic--near its peak.  This is because the visual impression translates mathematically into an ability to trade off some proportion of one mixture with an equivalent proportion of the other (adjusting the parameters of the components to keep a good fit) while making only a minor change to the likelihood.  In many cases it's difficult to pin down the maximum likelihood.  (This is evidenced by regime-switching in the Markov chains, for instance: a chain will pursue an area where one component predominates and after longish periods switch to an area where another component predominates, never really settling down to a single optimum.)  In any event you also want to assess uncertainty.  This is reflected by how much change is needed in the mixture parameters to reduce the likelihood by some threshold amount.  The near-parabolic flatness near the optimum delineates a long "ridge" of near-optimum values, resulting in a long elliptical confidence region for the mixture.  Usually the major axis of that ellipse corresponds to the mixture proportions.  Thus, you might conclude that your data are $p$ percent of component A and $1-p$ percent of component B, but $p$ might be anywhere from 0 to 70%.  (Yes, there are boundary value problems with mixtures, too.)  It can take an extraordinary amount of data to reduce these wide confidence intervals if you can even reliably find them.
These problems are exacerbated when only the tails of the data provide most of the information needed to disentangle the distributions.  This would often be the case for unimodal data.
Answer: I have a paper in press that explores application of EM to estimation of a Von Mises & uniform mixture in the circular domain. (The Von Mises is the circular analogue of a gaussian.)
Comment: This issue has come up on other SE sites, too. The point is that answers should be stand-alone, for many reasons. The intent is to make our threads a source of information, not just some gateway of links to possibly evanescent material. The response "an answer is at such-and-such a place" is appropriate when the answer is simple, standard, and easily reachable from a search (e.g., has a good Wikipedia article).  Otherwise, *especially* when the answer reflects a significant investigation like yours, please at least provide a summary. There's no need to attack me for making this reminder.
Comment: That's nice, Mike, but *what does the paper say?*
Comment: @whuber: possibly you missed the link to the paper posted in my response. If not, possibly you didn't bother to look at it, in which case the gist is that I find that the EM algorithm performs well in some cases (lots of data, reasonable proportion of reasonably concentrated Von Mises data), not so well in others (little data, low proportion of Von Mises, Von Mises with low concentration).


Is a single-table relational database similar to a simple NoSQL database?

Question: One advantage touted for NoSQL databases is the lack of a schema. In the case of a single-table relational database, there are no relationships between multiple tables, and new columns can be easily added to the single table. It seems like it is just as good as a NoSQL database, since there is no need to design a schema. So, is a single-table relational database similar to a simple NoSQL database?
Are there good reasons to use NoSQL databases if single-table relational databases are good enough, given that relational databases like SQLite are better tested and likely more stable?
Comment: Relational DBMSs store relation(ship)s/associations as tables, not FKs. FKs & other constraints are for integrity & are not needed to query or update. FKs get ubiquitously wrongly called "relation(ship)s".
Comment: More prosaically, FKs are one enforcement mechanism for referential integrity of a table-to-table relation, but they are not the relation itself (neither Codd nor Chen).
Answer: No - a single table relational database is more akin to a spreadsheet than a NoSQL database. NoSQL is not about having no schema, it's more about having a flexible schema!
Wikipedia puts it very well when it says NoSQL:

provides a mechanism for storage and retrieval of data that is modeled
  in means other than the tabular relations used in relational
  databases.

The key (pardon the pun) word here is modeled - i.e. there is a model, it's just not a relational one!
As an aside, it's well worth reading the entire article - it's detailed and well written!
IBM says:

It's important to emphasize that the "No" in "NoSQL" is an
  abbreviation for "not only" and not the actual word "No." This
  distinction is important not only because many NoSQL databases support
  SQL like queries, but because in a world of microservices and polyglot
  persistence, NoSQL and relational databases are now commonly used
  together in a single application.

And indeed many NoSQL systems (it's difficult to say "vendors" since many of these systems are Open Source) are scrambling (or have scrambled) to put SQL interfaces on top of their systems because so many programmers are familiar with that paradigm (and it's one which has worked well over the years).
One could write entire essays (as indeed I have in College) on NoSQL vs. the classic RDBMS, and I'll go no further down this avenue other than to urge you to read around the topic.
It's fascinating to watch the evolution of the database ecosphere - new SSD chip technology, and for me, the most interesting development is the recent focus on LSM (Log Structured Merge tree) which is widely used in NoSQL systems and also NewSQL ones. IMHO, these NewSQL systems are the way of the future and I expect to see Oracle, SQL Server &c. to adopt many of their paradigms (or embrace and extend them to coin a phrase).
Again, it's a complex technology about which reams could be written, but from here:

At the heart of the LSM algorithm is a rolling merge process:.... LSM trees cascade data over time from smaller, higher performing (but more expensive) stores to larger less performant (and less expensive) stores.

Instead of updating in place, data is "chunked" and from here:

Once the in-memory tree reaches a threshold size, a new in-memory tree
  is created and the old tree synced to disk. Once written to disk,
  trees are read-only, though they are merged in the background with
  other on-disk trees to reduce the cost of reads.

You mention SQLite in your question - it may surprise you to learn (it did me) that there is a Key-Value "version" of SQLite that was developed between 2012 and 2014. From here:

Lessons learned from SQLite4 have been folded into SQLite3 which
  continues to be actively maintained and developed. This repository
  exists as an historical record. There are no plans at this time to
  resume development of SQLite4.

I'll leave the last word to Brian Aker, former Director of Architecture for MySQL who presents his amusing take on NoSQL which is available on YouTube here. I think his views can be best summed up by a cartoon which he presented during that talk:

+1 for an interesting question (which I hope won't be closed!) and welcome to the forum!
Answer: Yes, you can use a single-table relational database as if it were a NoSQL database. You can also use a spoon to paint your house.
You have to use a tool the way it was intended else you're fighting both the tool and the problem you're trying to use the tool to solve. If you want normalisation and the absence of data anomalies it brings you're likely to have many tables. If you push all the logical entity types into a single physical table you'll have many columns (and all DBMS have limits), most of which will be null making queries a nightmare, as will be DRI. You could shove all those values in a JSON or XML column. If all shredding occurs in the application you've just invented the key-value store. If you expect the DBMS to query it you have a tree parser pretending to be a SQL parser pretending to be a schemaless parser. Who needs performance anyway.
Now, where's my paint spoon.
Comment: +1: "*You can also use a spoon to paint your house*"  LOL, i'm definitely stealing that one...
Answer: At it's most basic, a NoSQL system is a single table with exactly two fields: a limited length key field, and a larger "generic" value field, which would commonly hold json, but might also hold binary data (images or other files, for example) or some other object notation as an alternative to json.
However, there are three points where this breaks down.
First, I see this statement:

"In the case of a single-table relational database, there are no relationships between multiple tables, and new columns can be easily added to the single table."

The idea that new columns could easily be added to such a table as needed won't hold up for very long. Instead, individual records would often be single (complex) entries in the value field, again often in a json format.
Second, rather than looking up by exact key, NoSql systems often allow you to retrieve sets of records where keys match some pattern. This pattern matching is less common in relational databases, and when it is present it's not as likely to be well supported in terms of index performance.
Third, most NoSql data stores provide the ability to peer into those complex json values. The ability is limited, but still far greater than what you'd expect to find in a relational database. It lets you do things like retrieve a set of values for all keys that match a pattern and where the value of a json property in those fields meets some criteria, or update a record matching some specific key, where you only change the value of a single json property in the record.
I've used JSON here as an example, but it's not limited to JSON, either, with some different products using or supporting other mechanisms for the internal schema of records.
Comment: You are describing a key-value database, which is not synonymous with a NoSQL database.


How do I add system_filter on Debian Exim single file config?

Question: I'm trying to add a system_filer on a single file configuration in Exim.
The problems is that when running update-exim4.conf I'm getting option "system_filter" unknown. I have searched the file if there are macros to enable this option without success. How can this be achieved?
Comment: Exim has many sections in its configuration file. Where are you setting that option? If it's in the wrong location, this won't work.
Answer: The exim.conf file has a few sections. These start with the keyword begin followed by the section name; e.g., the acl section starts at the line begin acl, and ends at the next section (or the end of the file, whichever is first).
There is one extra section, the one that holds global options. This section does not start with a begin keyword; instead, it starts at the beginning of the file, and ends at the first begin keyword (i.e., at the next section).
The system_filter setting is a global setting, and therefore must be set in the global section of the file. Since you state that you put it at the end of the file, you did not do so.
Just place it somewhere near the top of the file, before the first line that starts with begin. It will work then.


Why are the Night King and his minions advancing now versus later in winter?

Question: Winter may be several years long, which is effectively a natural siege in itself. Why not simply wait a year or two for the people of Westeros south of the Wall to be starving and worn down, versus attacking relatively soon after winter begins?
Comment: What if it's not still winter in a year or two?
Comment: We don't really know what the Night King or the White Walkers want to achieve. Yes, Bran offered a suggestion last episode ("A Knight of the Seven Kingdoms"), but we still don't know if it's accurate. If we don't know what the enemy wants to achieve, who knows why they choose one situation or the other?
Comment: Seriously, we waited 7 seasons for this, you want us to wait two more??? :)
Comment: Welcome to Sci-Fi & Fantasy Stack Exchange! Be sure to check out [the help section](https://scifi.stackexchange.com/help) for tips on writing a great question...
Comment: Ha! True... but they could easily have had a time jump two years forward into winter if this was the case. As for what they want to achieve, it would seem the permanent destruction of mankind is their only charter. (I asked in case I've missed something obvious along the way.)
Answer: There are 2 theories that are linked to this that I have seen, neither has been confirmed. I have my own theory as well.
Theory 1 :- The White Walkers are the cause of this long winter and it can only spread across Westeros as they move across the land, this would mean that if they stop and wait the winter actually wont be so bad in the more southern parts of Westeros allowing people to prepare, grow more food etc.
Theory 2:- The White Walkers come with the winter, moving with the cold and the dark like animals migrating with the sun. It may be that the White Walkers are more like Animals then people and act largely on instinct. They understand that a big winter is coming and so are driven to move with it understanding it will allow them to go to lands they could not travel to normally because it is to hot. In the books we have only seen the White Walkers in darkness, they seem to be averse to light, even avoiding moonlight. The TV show ignores this, largely because it is really hard to make it clear what is happening in night shot scenes. It could well be that as the nights get longer the white walkers are simply moving taking there wights etc with them.
Theory 3 (my theory) The Night King had his hand forced by Jon Snow, he understands that by taking the wight the people of the 7 kingdoms will now see the myths are true and start preparing, so he needs to attack now before they have time to prepare, ironically Jon's actions at the frozen lake hastened the attack of the Night King it might also be a case that everyone north of the wall is dead, so there are no more people to fill his armies, if people know the night king is coming body's in Westeros will be burned as a matter of course reducing the number of corpses that can be raised.
Comment: While I asked on the presumption there is a given answer I just wasn't seeing, I like your theory - if not for that, the Night King could've just waited a bit til the living were thoroughly worn down by the weather and then slowly picked them off.
Comment: If Theory 1 was correct, then you're saying that The Wall stopped winters from hitting the southern parts of Westeros? I'm pretty sure the whole kingdom was worried about winter until you got as far south as Dorne, even before they knew about the White Walkers.
Comment: I was just repeating the 2 theories I have read I agree with you with the first one
Answer: I would say this is because the wall is destroyed, and the way to Westeros is open. The Night King doesn't need to wait for the people to starve, because he doesn't have to worry about losses.
Comment: The wall is destroyed because they are advancing though.
Comment: If the Night King wasn't planning ahead, indeed, he might not worry about losses. But the taking and raising of the fallen Viserion suggests planning and patience (which I suspect we will see more evidence of before it's over). So while I think there are reasons he's advancing now, tactical overconfidence isn't one of them.
Answer: Any answer would only be speculative and as such the question may be out of scope of this SE
That being said, magic or a simple tactical decision
There are way to many ways to explain how magic could enter into it.
There are also many ways a simple tactical decision could enter into it.
TLDR
There is no way to know currently


Center of mass of a rocket

Question: Is it correct to say that the center of mass of any space rocket is stationary here on earth? roughly speaking, without external forces the motion of the center of mass is preserved, so since the rocket is stationary before the start, so is the center of mass still here?
Comment: What do you mean by 'rocket'? Are you referring to the rocket plus the fuel inside of it or just the rocket?
Answer: Technically, no, because the initially exhausted fuel interacted with the ground and thus, the system of rocket + fuel was acted upon by the external force. However, once the rocket is at a certain high enough height where you can ignore the interaction of the exhausted gases with the ground, yes, the system of rocket + fuel is not acted upon by any external forces, and thus, its center of motion continues to move with a constant velocity (ignoring the air resistance, and gravity, of course). However, by this time, it would have picked up some velocity, and thus, it won't stay at rest.
In a more idealized version of the scenario, if you imagine a rocket being fired from somewhere in the space where the exhaust gases never experience any force from the ground, you are correct, the center of mass of the rocket + fuel system would remain at rest in the frame of reference in which it was at rest before the launch.
Answer: If you are considering just the rocket, then there are external forces acting on it, namely the thrust, drag, and gravity.
If you want to consider an isolated system so there are no external forces, you would have to consider the rocket, fuel, surrounding air, and the Earth.
But yes, you are correct that if there are no external forces then the center of mass will not undergo any acceleration.

Center of mass of a rocket


NotesSQL Driver not working in Server 2008

Question: I'm trying to install the NotesSQL Driver on a Server 2008 machine in order to run Reports in Report Server against a Lotus/Domino database but I can't get it to work at all. I downloaded the latest version 8.5 but it doesn't even show up in the ODBC window.
Comment: Not really a solution, but if you need to do a lot of Notes to SQL data transfer (vica versa) you might prefer to buy a package called Notrix. It requires a Domino server to host the applicationm, but doesn't require a Notes client on the SQL Server. You also need the latest SQL Server ODBC driver as SQL Server 2000's driver memory leaks with the latest version of Notrix. It beats LEI and NotesSQL hands down for functionality.
Comment: Well I think one problem is that I need to have notes installed which I did not realize. Why can't the driver just work on it's own?
Answer:
The NotesSQL driver is a 32-bit ODBC driver, so you have to register
  it as such
ODBC on running on a 64-bit-based operating system has two sets of
  system DSN settings stored in the Windows Registry. 32-bit client
  applications use the 32-bit settings. 64-bit applications use the
  64-bit settings.
If you run "%SystemRoot%\SysWOW64\odbcad32.exe", you modify the 32-bit
  settings. If you run "%SystemRoot%\system32\odbcad32.exe", you modify
  the 64-bit settings (this is the one run from the Control Panel -->
  Administrative Tools --> Data Sources --> ODBC).
You must register the System DSN for the ODBC32 drivers with
  SysWOW64\odbcad32.exe.

source: Keysolutions
Comment: also you more then likely will need to run the syswow odbcad32.exe as admin
Comment: I tried opening the odbcad32.exe in the SysWOW directory but I will try modifying the the registry and see if that works. Thanks


How to Secure a ceiling register tight?

Question: I've bought some very nice oil bronzed ceiling register ( 4 x 8 inches)for the bathrooms, while re-modeling an old English Tudor. They came with clips that fit on each side of the register and when inserting them into the duct opening they are not holding the heavier new register firmly against the drywall. One register does fit solid but I attribute that to the opening of the duct being slightly smaller in its width and length, so it fits solidly. I would rather not put screw holes in the new registers and my wife doesn't want me to use an epoxy metal to metal glue ( Gorilla or K & L) to hold them in place. Any suggestions?
Comment: Photos seem like a requirement here. It's not clear why the clips don't engage the duct properly. Post links to images at https://imgur.com or elsewhere.
Answer: If I understand the problem correctly , you may be able to get a piece of metal (like a scrap piece of duct or just buy a small piece) fold it so it is not wider than the register on the register side and 2" or longer on the inside the width of the opening is best but a 1" wide strip can work. Use a 3/8 self piercing (not self tapping) screw to hold this piece in place, do this on each end. If the fit is not tight enough I have stuffed some fiberglass insulation behind the metal until it will almost hold without screws, then add your screws they will bite the fresh metal and pull on the old duct providing a better anchor point. I have done this especially when the hole in the duct has stripped out. (I do open the original hole so it will all the torque on the new metal). I mention to hold the new piece with self piercing because self tapers cut two much metal and don't hold as well. The self piercing are just a very sharp tapered screw this works best with duct work. 3/8 so you don't punch through the 2 layers of metal and sheetrock. Hope this helps I have used this trick many times on remodeling jobs it really is quick and cheap.

How to Secure a ceiling register tight?


What should be returned from the API for CQRS commands?

Question: As far as I understand, in a CQRS-oriented API exposed through a RESTful HTTP API the commands and queries are expressed through the HTTP verbs, the commands being asynchronous and usually returning 202 Accepted, while the queries get the information you need. Someone asked me the following: supposing they want to change some information, they would have to send a command and then a query to get the resulting state, why to force the client to make two HTTP requests when you can simply return what they want in the HTTP response of the command in a single HTTP request?
Comment: I'd be wary of the whole 'commands must be async' thing as well. This doesn't always fit well, making the client experience more complicated especially in the error case (how will you know if your command succeeded or errored and how will you get the error details?). A few in the CQRS google group mailing list are moving away from this approach and making the commands sync in most cases (except where the command might be long running).
Answer: We had a long conversation in DDD/CRQS mailing list a couple of months ago (link). One part of the discussion was "one way command" and this is what I think you are assuming. You can find out that Greg Young is opposed to this pattern. A command changes the state and therefore prone to failure, meaning it can fail and you should support this. REST API with POST/PUT requests provide perfect support for this but you should not just return 202 Accepted but really give some meaningful result back. Some people return 200 success and also some object that contains a URL to retrieve the newly created or updated object. If the command handler fails, it should return 500 and an error message.
Having fire-and-forget commands is dangerous since it can give a consumer wrong ideas about the system state.
Comment: *give a consumer wrong ideas about the system state* was exactly my worry. Thanks.
Comment: Having a meaningful REST response is one thing, but what about a (domain model layer?) command signature that incorporates a return value?  For example, what do you think of the signature `TResult Handle(TCommand command)` as shown in [Jimmy Bogard's blog](https://lostechies.com/jimmybogard/2013/12/19/put-your-controllers-on-a-diet-posts-and-commands/)?
Answer: My team also recently had a very heated discussion about this very thing. Thanks for posting the question. I have usually been the defender of the "fire and forget" style commands. My position has always been that, if you want to be able to move to an async command dispatcher some day, then you cannot allow commands to return anything. Doing so would kill your chances since an async command doesn't have much of a way to return a value to the original http call. Some of my team mates really challenged this thinking so I had to start thinking if my position was really worth defending.
Then I realized that async or not async is JUST an implementation detail. This led me to realize that, using our frameworks, we can build in middleware to accomplish the same thing our async dispatchers are doing. So, we can build our command handlers the way we want to, returning what ever makes sense, and then let the framework around the handlers deal with the "when".
Example: My team is building an http API in node.js currently. Instead of requiring a POST command to only return a blank 202, we are returning details of the newly created resource. This helps the front-end move on. The front-end POSTS a widget and opens a channel to the server's web socket using the same command as the channel name. the request comes to the server and is intercepted by middleware which passes it to the service bus. When the command is eventually processed synchronously by the handler, it "returns" via the web socket and the front-end is happy. The middleware can be disabled easily, making the API synchronous again.
Comment: Thanks so much. . But I'm quite on clear with "When the command is eventually processed synchronously by the handler, it "returns" via the web socket and the front-end is happy. The middleware can be disabled easily, making the API synchronous again.".
Could you provide further reading about it or example is much appreciated ?
PS: Great answer btw.
Comment: async or sync is not just an implementation detail. It's an end-user implementation. If you tell a third party that integrates with your API that your REST Api will return 202 accepted, that they should open a web socket to await result notification or do polling to check if the result is ready, the end user may not agree for this long wait.

When you think of commands as something synchronous that can be accepted (and produce state changes) or rejected, you design the whole system around this to satisfy this client expectation.
Answer: There is nothing stopping you from doing that. If you execute your commands synchronously and create your projections synchronously, then it will be easy for you to just make a query directly after executing the command and returning that result. If you do this asynchronously via the rest-api, then you have no query result to send back. If you do it asynchronously within your system, then you can wait for the projection to be created and then send the response to the client.
The important thing is that you separate your write and read models in classic CQRS style. That does not mean that you cannot do a read in the same request as you do the command. Sure, you can send a command to the server and then with SignalR (or something) wait for a notification that your projection have been created/updated. I do not see a problem with waiting for the projection to be created on the server side instead for on the client.
How you do this will affect you infrastructure and error handling. Also, you will hold the HTTP request open for a longer time if you return the result at once.


Can I install different versions of CUDA toolkit and PyTorch?

Question: If my CUDA version is 11.2 with PyTorch CUDA version 10.2, will it cause a problem if I later install NVIDIA CUDA toolkit 11.3?
Comment: It depends how you installed pytorch and cuda. If you installed pytorch through pip or conda then pytorch uses its own copy of the cuda library delivered with torch and never sees the system cuda (you don't need to have cuda installed on your system in this case). If you compiled pytorch from source then your pytorch library likely links against the system cuda so changing your toolkit version will cause issues.
Answer: no you can not do this.
the libcudnn version need corresponding to correct cuda version
try to use cuda 11.3 for pytorch
look this answer: I can't train my NN with TensorFlow using GPU


Is there a way to keep a tribe from being empty when all members transfer to another server?

Question: My daughter and I play ark together.
We play on private dedicated servers hosted on my own machines, nothing online, full admin control.  We have 2 computers and 2 steam accounts.  We have a set of servers set up for all the different maps using ASM and would like to be able to transfer between them at will.
Problem is, if we both transfer out of a server, and then come back later, all our dinos and buildings are no longer ours.  Now I know of a few workarounds, but it gets tedious to go around and take control of every dino and structure every time we transfer around.  Turning all creatures and structures to individual control, tribe use is an option, but A) doesn't solve the problem and B) only works on new stuff.
Is there a way to keep a tribe alive when we both transfer out of it?
Ideally we could create a dummy character that could join the tribe on each server and just stays put.  Doesn't even need to be associated with an account or anything.
Again, we have full file access and server control so any hacky or mod way to fix it can be considered.
Answer: Did you consider the TakeTribe console command?


Replacing battery by supercapacitor

Question: I want to replace a battery, which has a load of LEDs and a temperature sensor, with a super capacitor.
How can I calculate the specifications of the super capacitor?
Thanks!
Comment: You have a good answer here! http://electronics.stackexchange.com/questions/156277/replace-battery-with-capacitor
Comment: Battery    capacity in generaly stated in Ah  ,  Your supercaps are in Farads which is Ampsecond per Volt .  So this means that your supercaps wont operate the Leds for as long as a battery does .If this is acceptable to yo then you can have something that has essentialy no maintainence .
Answer: You need four pieces of information
1) How much current do you need (in amps)?
2) How long do you want to run your circuit from the cap (in seconds)?
3) What it the largest voltage (normally the regular operating voltage) which will be applied? and
4) What is the lowest voltage out of the capacitor which will still allow the circuit to function?
Let's call 1) i, let's call 2) $\delta$t, 3) is Vmax, and 3) minus 4) is $\delta$V.
The relationship between time, voltage and current in a capacitor with a value of C in Farads is $${\frac{i}{C} = \frac{dV}{dt}}$$
For a constant i, which is a reasonable first approximation in this case, this becomes $${\frac{i}{C} = \frac{{\Delta}V}{{\Delta}t}}$$, or$${C = \frac{i{\Delta}t}{{\Delta}V}}$$ and the capacitor must have a voltage rating of Vmax.
To walk you through this, lets say you need .25 amps for 5 minutes (600 seconds). Let's say your battery puts out 3.7 volts when fresh, and your circuit will work down to a battery voltage of 3.0 volts. Then $$C = {\frac{(.25)(600)}{(3.7 - 3.0)}}$$ $$C = {\frac{150}{0.7}}$$
and you need a 214 Farad supercap with a voltage rating of 3.7 volts minimum.
EDIT - As Brian Drummond has pointed out, supercaps often have a high internal resistance. If you want to take this into consideration (and you had better do so), you need to quantify the resistance R of the cap at the current level which you are using. Then the capacity calculation remains the same, but if the capacitor voltage rating is Vcap, instead of being Vmax, $$Vcap = Vmax + (iR)$$ In the above example, if the ESR of the supercap is 20 ohms, $$Vcap = 3.7 + (.25)(20)$$ and $$Vcap = 8.7$$ In this case you would definitely need to find a different supercap.
Comment: With a DC-DC converter you need a smaller capacitor: http://electronics.stackexchange.com/questions/156277/replace-battery-with-capacitor
Answer: Simple. What current do you need and for how long? Multiply those two to get the charge you need.(amps * seconds = coulombs).
So if you need 1 milliamp for an hour, that's 0.001 amps * 3600 seconds = 3.6 coulombs.
Now decide the voltage drop you can tolerate. If it's 0.5V (say, your circuit works from 3 down to 2.5V), divide the charge by that voltage (dC = dQ/dV).
So the capacitance you need is 3.6 / 0.5 = 3.6 * 2 = 7.2 Farads for this example.
Now plug in your own numbers.
EDIT : Be aware that some supercapacitors have a relatively high ESR, or series resistance, perhaps 10 or 50 ohms. At 1 mA, that would reduce the available voltage by 10 to 50mV, but at higher currents this gets more problematic.
Check the datasheet for your choice of capacitor,  and if necessary, allow for this voltage in the voltage drop calculation above.

Replacing battery by supercapacitor


Charge distribution on a non-conductor

Question: Excess charge on a conductor is unformily distributed on the surface and inside is electrically neutral. What is the charge distribution for excess charge on a non-conductor.
Answer: In short: Whatever you apply (to some limit).
If you somehow 'place' charges on a non conductor, they will just stay where you placed them.
In practice there are some limitations, because no isolator is perfect. So depending on the charge sooner or later you will probably end up with uniformly distributed charges again, especially if you are not in a vacuum.

Charge distribution on a non-conductor


How does encryption, certificates in an end to end SSO flow?

Question: So, I know how public-private key encryption works. I understand how/why certificates are required. I understand how a SSO flow (IdP initiated) works. But, I do not understand how the three of them happen together. I am confused about what "signing" a SAML assertion means. I'm confused about "encrypted certificates". I just can't seem to tie it all together - can someone help me understand this better?
Answer: The IdP will sign either the SAML response of the SAML assertion using its private key. The SP verifies the signature using the IdP's public key.
It's also possible to encrypt the SAML assertion in which case the IdP encrypts the assertion using the SP's public key and the SP decrypts the assertion using its private key.
So, an IdP-initiated SSO flow might see the IdP signing the SAML assertion using its private key followed by encrypting the signed assertion using the SP's public key. The encrypted assertion is bundled into a SAML response and sent to the SP. The SP decrypts the SAML assertion using its private key and verifies the signature using the IdP's public key.
Comment: What about certificates?
Comment: Certificates store the public key (+ some metadata like expiration dates)
Answer: You've asked a couple of different questions.  ComponentSpace has nicely answered one of them; I'll tackle another: "encrypted certificates".
Normally, certificates don't need to be encrypted.  They are intended to be publicly visible documents that contain a public key, plus a signature that attests to their authenticity.  Encrypting them is essentially pointless.
But something about certificates and keys is that in the real world, you have to deal with how and where these artifacts are stored.  As you know, a public/private keypair has two parts - a public key, and a private key.  The public key is usually kept on a signed certificate.  But its matching private key must be kept in a secure place.
It's sometimes convenient to store both the certificate and the private key in the same file.  This is common for setting up a web server, for example.  The generic name for a file that can contain multiple keys and multiple types of keys is a "keystore".
A couple of common keystore technologies are Java Key Stores (JKS, for Java apps), and PKCS#12 files.  A JKS or PKCS#12 file can store any combination of private and public keys:  one private key; one certificate; multiple certificates (often a keystore will include all the certificates in the signing chain for any endpoint certificates they contain); and even multiple private keys along with multiple certificates.
(Inside the keystore, keys are identified with a "friendly" name, usually called an "alias".  Both the private key and certificate will need to have the same alias, otherwise the program using the keystore won't be able to match the paired keys.)
Where it gets tricky is that a keystore can have its own top-level encryption.    This means that unless you have the keystore password, you cannot even see the certificates that are stored inside it.  Each private key inside the encrypted JKS also has its own separate encryption, with its own separate key and password.  So to access a private key inside a keystore, you need both the keystore password as well as the private key password.
It's not normally important to encrypt a certificate, as a certificate is a document that is intended to be shared publicly.  But when you use a keystore that has its own encryption, you may be dealing with certificates stored in an encrypted keystore -- thus, the slightly-misleading label of "encrypted certificates."  It's not usually intended that a certificate be encrypted, but if it's stored in a keystore, it might be encrypted anyway.
Comment: No they really truly aren't. `cat` is a little too basic, but I can do it with `dd` or `head|tail` and no password at all, and have numerous times. Post an example file (in hex or b64, or somewhere that won't corrupt it like pastebin) and I'll demonstrate. And the change to default PKCS12 in keytool (and also in the API, for programs that use the default) was Java 9, although 9 and 10 are now EOL and currently only 8 and 11 are LTS.
Comment: JKS isn't all encrypted. The whole file has a _MAC_, but you can read the contents, including the certs, without the 'store' password; e.g. just run `keytool -list -keystore file` and hit return when prompted. Each privatekey IS encrypted, but with a weak ad-hoc algorithm invented by Sun back during ITAR. PKCS12 similarly has an overall MAC, which can be skipped, but stores the certs and pkeys in separate 'bags' and by _convention_ the pkey bags are strongly encrypted (usually PBE-3DES) while the cert bag is _weakly_ encrypted (usually PBE-RC2-40).
Comment: Some tools e.g. `openssl pkcs12` can vary this and use different encryptions for the bags; to an extent so can the BouncyCastle provider for Java.
Comment: @dave_thompson_085, thanks for the correction!


Storing vault read token securely

Question: I have PCF spring boot application which needs to access the vault server to get the credentials to create datasource during startup. Right now we are hard coding  the app role id and secret id in the spring boot application . Is there a best practices in storing this secret id without exposing explicitly (like injecting during startup)
Comment: As in, in the code itself? Because using a secrets solution doesn't help you if the credentials for your secrets solution are stored in the code repository where anyone can see them and, therefore, login to your secrets storage
Answer: This is basically the "zero-secret" problem.  Moving all your secrets off to a secret storage service is a great way to start securing your systems, but doesn't really gain you much if you then store the access code to access your secret service directly in your code base.
Authentication Methods
The best answer is that a good secret-service will give you ways of logging in without needing a secret in the first place.  You are using approle, and that basically just lets you login to Vault using the equivalent of an API ID and API Key.  This is really meant as a catch all authentication method to use in cases where you can't make anything else work, but it isn't the best because then you have just exchanged one secret storage problem for a more centralized one.
If you are running on a major cloud provider (although from comments, it seems like you aren't) then you can use IAM Auth with Vault.  This will allow you to authenticate to Vault on the basis of an IAM role attached to your infrastructure, allowing you to authenticate without any secrets in your code base/deployment system at all.  Vault will issue you a token as a result of the successful login and then you can pass this into Spring as an environment variable.
Another good option is JWT auth.  If you have an "authority" somewhere that can issue you a JWT and publishes its public key somewhere public, you can use that JWT to login to vault via JWT/OIDC auth.  A good example of this is Gitlab - Gitlab provides a signed JWT for their public runners and publishes their public key, so you can use JWT auth with Vault to authenticate without having to provide any secrets at all.
I'm not familiar with PCF, so I'm not sure what options might work best for you there, but the key is to try to find an option that allows you to login without having to store a secret/access code anywhere.  This is true regardless of what secret service you are using and what infrastructure you are running on.
Answer: There are numerous things that you could do, depending on whether the host is permanent or if it's under development and might be moved, etc. One way some people store this information during development is simply putting them into environment variables that the application reads. Yes, other applications can potentially read these, but I don't think it's likely for dumb malware to be able to abuse them.
Another solution is to just pass the creds in through command line arguments. This is potentially more work, but other applications and users won't be able to read this as easily (they can of course look through your command line history), and if you decide that it just isn't worth the effort later, you could write a script to run the application with the hard coded creds.
Another idea based off this answer is to have the secret stored on some external hardware that the software could read from. If you're really serious, you could put the secret in an encrypted file that would require a key file or a Yubikey to decrypt. The application would then just read from this file. Obviously, file permissions need to be properly set here so that only the user running the application can read this file.
You could possibly encrypt the secret and store this inside the application, and provide a key through the command line arguments to decrypt it in memory. Whether this is any better than the other solutions is debatable. It all depends on what your needs are and what you're trying to protect the credentials from.
Comment: Thanks , we are seriously considering vault in PCF but all boils down to one question , where we store this vault read token or like you suggested if we use encryption file where to store the encryption key for decryption. Does it make sense ?
Comment: Yeah, I understand. I've never actually used what you're using, but if you want to actually store the token (not use environment variables or the command line arguments) then its a little more difficult. If you want to encrypt it and decrypt it with a key of some kind then you could probably get away with putting the file next to your application. I don't know much about how you're using this or what your concerns are so I can't really give you great advice. Did you try researching this question? There are a lot of other similar threads and this might get marked as a repost/duplicate
Comment: Sorry for not explaining it properly , exposing encryption key / vault read token either in our version control system (GIT) or as env variable. Is there a way to secure it ? I have researched but in my use case we run our application in Pivotal Cloud Foundry (PCF) so most answers were not relevant.Looking for a tool to inject the properties while server startup.
Comment: @adorearun alright. I don't know what to tell you then. I hope you find a solution soon. Sorry I couldn't solve your problem

Storing vault read token securely


What's a good camera with IR-Cut for a Raspberry Pi Zero W

Question: I'm working on an security camera for outside, and want to have vision at night(thus needing Infra-red light, and an infra-red camera), but also don't want that weird pinkish look that an IR camera gives in normal daylight. To solve this, I need an IR-Cut Camera, that can switch between both. I was wondering if you knew any of them that would be worth trying. Most of them have bad reviews with people saying the feature doesn't work at all, or that the Infra-red lights are on all day, wasting power. If you know an alternative instead(that doesn't require buying a special IR-Cut camera), that would be of help too. Thank You!
Comment: Sorry, but Shopping requests are explicitly [off-topic](https://raspberrypi.stackexchange.com/help/on-topic).
Answer: I think the answer is in software, not hardware. I am running a pi zero W with a standard infra-red camera, and have got rid of the pinkish tone with a line in /boot/config.txt:
awb_auto_is_greyworld=1
This answer I found on a github thread, supplied by a raspberry pi engineer, so I trust it.


403s appearing in WMT but when I FETCH GOOGLE returning same URLs as 200

Question: HI there over the last few days Google Webmaster Tools has been showing me 403 errors for a series of URLS. However when i FETCH them they come up as 200 OK and when I look in Google using keywords they appear in the index. Everything seems fine except for the errors. Is there any reason for this? Is there anywhere I should check for the cause of this. It is a wordpress site.
Comment: What does WMT mean? Your URLs are responding properly. `$ curl -I http://www.mutantspace.com/daniel-palacios-waves-art-installation/`
`HTTP/1.1 200 OK`. You can't control every 403 error. Some users have a bad network connection.
Comment: WMT: google webmastwer tools. Thing is ive never got these reports before and i thought it meant that google cant crawl these URLs even though they turn up as 200 and are indexed. Some people have uggested im accidently firewalling bad connection from the other endgooglebot IPs but i dont know how to find out how...sghould i not worry? Are you saying that these 403s are a result of other users bad connection? Im a little confused. Thanks
Comment: @MorayBresnihan [403](http://en.wikipedia.org/wiki/HTTP_403) status code errors indicate that the web server is denying a connection to the client, in this case the Googlebot. I'd suggest looking at your server's configuration files to make sure you're not inadvertently blocking certain IP's, domains, or user agents. Ask your web host provider for help if you don't know where to look for these.
Comment: @MorayBresnihan Based on your comments below, it seems this was related to the IP address of Googlebot being blocked as suggested above. Let us know if you consider this resolved (so users don't continue to speculate further).
Answer: Timing can be an issue.
In the time that you tested the URL's that turned up with error 403, they referenced files on the server with bad permissions. Make sure that the world has at least read and execute permissions to the file. In linux, you can use
chmod 755 (path/to/file with issue)

The fetch time must have happened AFTER setting the correct permissions.
Google also has a span of IP addresses reserved to itself for various operations and chances are you have a firewall installed that is blocking some of google webmaster tool's IP addresses.
If that doesn't work, look at all your apache logs and see if they report errors for certain file accesses. If there is anything unusual in your logs, then chances are your server is being hacked.
Comment: thanks for that Mike Ill try it out - i have a feeling its a firewall issue...ill also check permissions
Comment: Hi @Mike I just had a look at my error log and there are only 2 there. They state the following. Just wondering if this is the problem. If it is i have no idea how to solve it:   [client 126.96.36.199] (12)Cannot allocate memory: couldn't create child process: /opt/suphp/sbin/suphp for /home/mutantsp/public_html/index.php, referer: http://www.mutantspace.com/konstantin-dimopoulos-blue-trees-installation/
Answer: A 403 error is Forbidden. It can be for a series of reasons from file/directory permissions, not having DirectoryIndex in your configuration defined, or even a code error within your CMS/Blogging software. It has nothing to do with the network or your connection. In fact, the server responded didn't it? It simply means that the request you made was denied for a reason within the scope of a 403 error.
If you are finding intermittent errors, blame code first. What software are you using on your site? See if there is an update. I say this because I recently went through the same thing with the code on my site- and yes(!) I wrote it- Thank you very much. It was a code error that threw an exception within Apache that then results in a 403. While I or no-one can tell you why this is happening without putting our fingers on your keyboard, I would inspect my log file and see what requests were made and start from there. It took me a couple of days to figure out I was clobbering data between request processes when the requests per second count got rather high (in the multiple of dozens). The odds of clobbering data was infinitesimal even then and out of 68,000 requests I only got about 12 403's and only during very rapid request periods. Still- it was a code issue and simple to fix.
Otherwise, a 403 should be consistent and happen all the time.
Comment: thanks for that - ill go through logs and see what i can make of it
Comment: @MorayBresnihan 403s can be rather tricky to trace- unfortunately- though not always. In my case, it did take a me a couple of days. Let's hope your issue is a lot easier to solve. ;-) You may have to play detective and run a few tests to figure out under what conditions you get a 403. That's what I had to do. I knew a few things already, then I began answering questions with experiments to try and trace down the line to the actual problem.
Comment: well google webmaster tools has stopped telling me i have 403s. So thats good i suppose and ive deleted a few IPs out of my firewall. I did look at my error log and there was an issue with an IP that is WHOISed and found out was a googlebot. It was linked to a plugin. So i got rid of the incriminating timthumb code in the plugin that was causing it. So ill see how we go. Much appreciate the help
Comment: @MorayBresnihan For reference, I compiled a list of Google IP addresses from my database- it may help you to know what IP address ranges Google uses:  http://webmasters.stackexchange.com/questions/71344/what-does-google-use-173-194-90-xxx-ips-for-why-is-it-not-a-googlebot-com-poin/71359#71359
Answer: In response to your error log response, it seems like your problem is worse than what you're claiming it to be. based on whois records (go to whois.com), it turns out that the IP address you specified does belong to google. I pasted the first few lines of the result so you know what to look for:
    #
    # ARIN WHOIS data and services are subject to the Terms of Use
    # available at: https://www.arin.net/whois_tou.html
    #

    #
    # The following results may also be obtained via:
    # http://whois.arin.net/rest/nets;q=22.214.171.124?showDetails=true&showARIN=false&ext=netref2
    #

    NetRange:       18.104.22.168 - 126.96.36.199
    CIDR:           184.108.40.206/19
    OriginAS:
    NetName:        GOOGLE
    NetHandle:      NET-66-249-64-0-1
    Parent:         NET-66-0-0-0-0
    NetType:        Direct Allocation
    RegDate:        2004-03-05
    Updated:        2012-02-24
    Ref:            http://whois.arin.net/rest/net/NET-66-249-64-0-1

    OrgName:        Google Inc.
    OrgId:          GOGL
    Address:        1600 Amphitheatre Parkway
    City:           Mountain View
    StateProv:      CA
    PostalCode:     94043
    Country:        US
    RegDate:        2000-03-30
    Updated:        2013-08-07
    Ref:            http://whois.arin.net/rest/org/GOGL

I'm actually surprised the server returned a 403 error. I thought in your error explanation, error code 500 would be returned.
Nevertheless, the REAL problem is that you're trying to run too many things on your server and you don't have enough memory to cover everything. You have a few options starting with the least recommended:

Create a swap drive and set the size of it to at least the amount of extra memory you need and use it. I'd only recommend this if you are in an extreme hurry to have a website working in an OK state. The downfall to this method is that a disk is used for memory and accessing a disk is about 4 times slower than accessing memory.
Cut back on running processes. If your server is meant to display web pages only and thats it, then make it so the mail server never starts along with other things you don't need.

If you use linux, then check the crontab and disable any programs there you don't need running by removing them. Also, use the PS command to see what processes are running and use the kill command to remove what you don't need running at one time.
If you are still low on memory, then check your web server. I'll assume apache. Check your httpd.conf settings and use a lower numbers for maxclients and serverlimit and then restart apache. (a graceful restart will not likely work here).

Install more ram on the server.

Whatever you do, keep an eye every now and then on free memory and only load essential services. In linux, you can see free memory in megabytes with this command:
free -m

The 2nd item in the free column (on the line where it shows buffers/cache) is your free usable memory.
                total       used       free     shared    buffers     cached
    Mem:          1005        615        390          0         20        220
    -/+ buffers/cache:        373        631
    Swap:          243          0        243

On my system, I have 631 MB free usable memory out of 1005 MB. 390 MB hasn't been used by the OS at all.
Also, suphp is a handler for php which will execute one time per request, so you'll also need enough memory to run that as well.
Comment: thanks alot mike - very helpful. ill do exactly that although ill have to go learn about half of what you said....ill start with cron tab....and will go to my hosts and see what they can do....many thnaks again. I am getting very inconsistent 403s...much less the other day than earlier last week...so perhsps ill try turning off processes and getting rid of things i dont need...
Comment: went and had a look at the log resources on cpanel and noticed spikes in virtual memory to maximum on 24th and 25th February which is when this all started....its back down to normal - so would that cause it? Also wondering how so i do what you suggested 'If you use linux, then check the crontab and disable any programs there you don't need running by removing them. Also, use the PS command to see what processes are running and use the kill command to remove what you don't need running at one time.' thanks
Answer: Moray Bresnihan, checking crontab and using PS requires shell access to the server as the root user. This is achievable if you are renting a dedicated server (or equivalent). Then depending on your server setup, if it is secure, then you should have to login to the shell via SSH on a special port (other than 22) and use the credentials supplied by your dedicated server provider for any account other than root.
A good program for windows to use to get into your shell is putty. The download link is here:
http://www.chiark.greenend.org.uk/~sgtatham/putty/

Once logged in, use the SU command and type in the root password when prompted. then in there, you can use crontab -e to open the default editor with a list of items that will be executed at specified times.
If you happen to be unlucky and not have your own shell access, then you will need to contact your web space provider and ask them to do what I mentioned above for you.
Maxing out your memory to the peak is terrible regardless of how you look at it. You want to make sure you have some free bytes of RAM on your server when every process possible is running on your server. Failure to have free RAM on your server causes your server to run slower at best because swap space will then be used as memory and that in turn causes a disk to work harder than normal.
You may want to look into stress testing. This means accessing server email, accessing server ftp, and attempting to connect to a php page on apache at least a few hundred times a second (apache bench is a good tool for this). When you stress test, your memory usage will go up and down like wild because many processes start and stop on a frequent basis under a stress test.
Comment: thanks a million @Mike i have web provider working on it now hopefully they'll sort it out...ill stress test that all as well. And no i dont have a dedicated server - im kind of inbetween - a business shared host which gives me more space and some dedicated space....youve been a great help - i think i need to leaern a lot more about the mechanics of all of this as it takes os long to fix issues that are incomprehensible to me :)
Comment: Then if there are memory spikes and you're paying top dollar, then they can afford to add memory into their system can't they? If not that, then at least get a discount.
Comment: im still working on it - have deleted some plugins that were a bit heavy and  talking to the host providers - in fairness to them their support is great but yep i might need to buy more memory...


Does the function $\frac{x}{\sqrt{1+x}}$ have an oblique asymptote?

Question: Does the function $$\frac{x}{\sqrt{1+x}}$$ have an oblique asymptote? If so, how do we find it? I thought about long dividing, but that wouldn't work, because You can't divide square roots.
Comment: why not? $\frac{\sqrt{4}}{\sqrt{5}}$ exists..
Answer: A necessary condition for the function $f$ to have an oblique asymptote at $\infty$ is that
$$
\lim_{x\to\infty}\frac{f(x)}{x}
$$
exists, is finite and is non zero. If the oblique asymptote exists, then this limit is its slope. It mustn't be zero, because otherwise it wouldn't be oblique in the first place.

If an oblique asymptote exists, with equation $y=mx+q$ ($m\ne0$), then, by definition,
$$
\lim_{x\to\infty}(f(x)-mx-q)=0
$$
so also
$$
\lim_{x\to\infty}\frac{f(x)-mx-q}{x}=0
$$
and then
$$
\lim_{x\to\infty}\left(\frac{f(x)}{x}-m\right)=0
$$
because, of course, $\lim_{x\to\infty}\frac{q}{x}=0$.
Comment: @Jared The usual example is $f(x)=\log x$, which hasn't a horizontal asymptote, but $\lim_{x\to\infty}f(x)/x=0$.
Comment: I don't see how an "oblique" asymptote differs from a $y = 0$ asymptote which you seem to single out.
Comment: @Jared A necessary condition for a horizontal asymptote is that $\lim_{x\to\infty}f(x)$ exists finite, which should be checked before trying for oblique asymptotes.
Answer: HINT:
$$\frac{x}{\sqrt{1+x}}=\frac{x+1-1}{\sqrt{x+1}}=\sqrt{1+x}-\frac{1}{\sqrt{1+x}}$$
Comment: This is a good answer (don't get me wrong)...but I hope you (the OP) will take the time to understand my answer as well.
Comment: @Jared My answer is purely a hint,yours is a complete answer :)
Comment: I agree, hence why I upvoted your answer as it agreed with mine...I would suggest the OP and others to do the same since it verifies the result (regardless of who came first).
Answer: You are not going to have an "oblique" asymptote like you are used to--it's not going to be a straight line.  Instead the "oblique asymptote" is going to be a sideways parabola.  This is because you have (essentially) $\frac{x}{\sqrt{x}} = \sqrt{x}$--so the asymtptote is going to be a square root--or quadratic:
$$
f(x) = \frac{x}{\sqrt{x + 1}} = x\frac{\sqrt{x + 1}}{x + 1}
$$
Put another way what you have is: $\sqrt{x + 1} = y \rightarrow y^2 = x+1 \rightarrow x = y^2 - 1$:
$$
\left(y^2 - 1\left)\frac{y}{y^2}\right.\right. = \frac{y^2 - 1}{y} = y - \frac{1}{y} = \sqrt{x + 1} - \frac{1}{\sqrt{x + 1}}
$$
This means that the "oblique" asymptote is $y = \sqrt{x + 1}$.
Comment: $y = \sqrt{x + 1}$ is a curvilinear asymptote.  It is not oblique since an oblique asymptote is a line.
Comment: I knew you understood the question.  I just wanted to make sure that the person who posted the question understood why you put the quotes there.
Comment: @N.F.Taussig Hence why I put quotes around the term oblique...this function asymptotes to the function $f(x) = \sqrt{x}$ as I stated--it doesn't _exactly_ asymptote to that, but it essentially does.


Data migration tool configuration

Question: I've installed the data migration tool (https://devdocs.magento.com/guides/v2.4/migration/migration-tool-configure.html).
Followed the steps to configure it by creating a separate module and everything works fine.
but from the looks of it, I need to keep the credentials to the magento 1 and magento 2 databases in the configuration file that I've cloned and modified from the tool code base.
This does not look like a valid approach if I want to version my config file. I rather not have the credentials available in a repo.
Is there an out of the box way of moving the credentials outside the config file?
Comment: The config file can be located anywhere : bin/magento migrate:data --auto /path/to/migration-config.xml
Comment: I know. But i also need this for development because i am not migrating only core data. I hace custom and third party extensions related data. So i need a part of it versioned and only the credentials stored somewhere else
Comment: I guess you would have to modify the migration module to read the authentication data from a separate config file or data source.
Comment: I was keeping this as a backup measure. I hoped for some out of the box way of doing it. I guess I'll have to do that
Answer: The classes in the migration tool are instantiated via Object manager. This means they can be pluginized.
I ended up making an around plugin for each of the methods

Migration\Config::getSource()
Migration\Config::getDestination().

In these methods I read the Magento 1 db credentials from somewhere else and the magento 2 credentials from the env.php file of the instance where the migration tool is installed.
This way I can leave the credentials in the config file empty. But the tags have to be there, otherwise the migration tool complains
Comment: What about the crypt_key? Do you commit that to your repo, or do you save it together with your M1 db credentials in an unversioned file?
Comment: Yes. That can be read from somewhere else also
Comment: This worked for me, but I also had to add a plugin for the "getResourceConfig" method, e.g. `afterGetResourceConfig`.

Data migration tool configuration


What weapon mods can be found, and what are their effects

Question: What are the weapon mods that can be attached to your soldiers weapons, and what do they all do?
Answer: There are 7 possible mods, and all weapon mods have 3 levels - basic (no prefix), advanced, and superior. Bonuses listed as x/y/z correspond to those 3 levels.

Stock - 1/2/3 Guaranteed damage on a miss.
Auto-Loader - 1/2/3 Free Reloads per mission. (Reloading doesn't cost an action)
Extended Magazine - 1/2/3 extra ammunition before reloading.
Repeater - 5/10/15 percent chance to instantly kill an enemy, regardless of remaining health. ("Executed" text will pop up when this triggers)
Scope - 5/10/15 Aim bonus when using the upgraded weapon. 10/15/20 Aim bonus when using the upgraded weapon against targets not in cover. (Does not apply to secondaries)
Laser Sight - 5/10/15 Crit chance when using the upgraded weapon. (Does not apply to secondaries)
Hair trigger - 5/10/15 percent chance for each shot to not use an action.
Comment: The "sight" is actually called a "scope" in-game, which helps differentiate it from the laser-sight mod.
Comment: @Aurelius By jove, you're right.
Comment: Does the Repeater mod apply to secondary weapons? Your answer doesn't explicitly state it does not, but it's unclear to me (because it would be the only weapon mod which behaves this way).
Comment: Actually, same question for the Stock and Hair Trigger mods. (I'm thinking about Sharpshooters using their pistols, specifically)
Comment: The only way the repeater works with secondary weapons is triggering off of DoT Ammo. The Pistol is the only secondary weapon that uses the Ammo bonuses. Hair trigger could theoretically trigger? But I don't think you can get actions during Enemy Phase so it's moot.


Emacs/gud-gdb: show assert location on failure

Question: When an assertion in my code fails, I get a backtrace like this from gdb:
(gdb) bt
#0  0x00007ffff455b3a5 in __GI_raise (sig=6)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x00007ffff455eb0b in __GI_abort () at abort.c:92
#2  0x00007ffff4553d4d in __GI___assert_fail (
    assertion=0x123136d "<some failed test>", file=<optimized out>,
    line=1573, function=<optimized out>) at assert.c:81
#3  <the actual place in my code where I called assert>
    ...

So in order to get to the actual point of failure I have to go 'up <RET> <RET> <RET>', which seems a bit inefficient. Is there a way to configure gdb to automatically go to #3 in the stack? I'm specifically interested in running gdb in emacs, so if there's a way to configure gud to do it, that would work too.
Answer:
I have to go 'up <RET> <RET> <RET>'

You could do fr 3 instead.

Is there a way to configure gdb to automatically go to #3 in the stack?

I don't believe so.


Why isn't there a Bujinkan tag?

Question: Bujinkan (?) seems to be a martial art that appears in different flavors with regularity. Is there a reason why there is not a tag for it? Is Bujinkan already a subset of an existing tag?
Answer: There is a bit of crossover with ninjutsu. I'm not certain how much we break away specific styles, especially since I suspect many people don't even differentiate. I would have no problem with it as a tag. We probably have about a dozen questions relating to it, and we have some subject-matter experts on the topic.
As regards the question in the comments about how exactly it fits in as a style, I'll be honest that I think it's somewhere in between a branch (like how we have a Shotokan tag to distinguish from karate) and marketing (my understanding is that you can't represent yourself as a Bujinkan school without being part of the organization, unlike, say, "Gracie Jiu-Jutsu" where the feuds between family branches have left the trademarks in dispute, or the broader "Brazilian Jiu-Jutsu" where there's even less restriction).
Lastly, while the Bujinkan system is typically thought of as a "Ninjutsu" school, only three of nine traditions of the school are claimed to be from ninja training, with the other six being from samurai training, so I think there's a good argument for it being supported as its own system, and tag, much like the various hybrid styles like Systema.
Comment: I don't know much about it myself, particularly what constitutes a Bujinkan style.
Comment: @mattm: Ah, I took some classes, not an expert. It's somewhere in between a branch (like `shotokan` is to `karate`) and marketing (I think you have to be part of the organization to use the branding, unlike Gracie BJJ where they lost that trademark suit). I think it's a fine tag to add. Not going to add a ton of traffic to the site, but very little does... :-(

Why isn't there a Bujinkan tag?


What is the age of my columbia clippe bicycle, maunfactured by westfield Mfg.?

Question: My bike is a columbia clipper manufactured by westfield mfg.  Crank bottom serial # starts out B...083   can anyone tell me its age.  I'm in the process of restoring it.
Answer: Welcome aboard.
Normally frame / serial numbers are few and far between and often get overlooked on here because normally they don't lead anywhere.
However in this case as it's pre-war and you had the basic info needed (Westfield, Columbia, Clipper) the info was actually quite easy to track down.
Thanks to a guy called Mercian over here at The Classic & Antique Bicycle Exchange
It appears "B" was the date letter for 1935 (you need to scroll down a lot on the page i linked)
Some great info and images of various Westfield Columbia's, good luck with the restoration
Thanks to @Andrew below for the following link.
Columbia Manufacturing FAQ
Comment: The columbia website indicates B serial numbers as 1937: http://www.columbiamfginc.com/content/frequently-asked-questions
Comment: @Andrew, I actually hadn't seen that site but i will add the link to my answer so the OP has a couple of places of reference points. The link i posted has only reference to "B" being 1935, unfortunately Colombia have a possible 2 answers 37 or 56? Best to reference both sites and let the OP have browse.


Is this considered as kufr or may be exempted

Question: Assalamu alaikum last day in Google I found that a famous  person is not a member of ahlu sunnah , so I was shocked told about this to my mother and my aunt , now I am scared is not a member of ahlu sunnah is synonymous as calling him kafir if yes , is this an act of kufr. I don't intend to commit kufr or I don't intend to call he / she as kafir , and also I don't know the meaning of ahlu sunnah it was surely unintentional , at that time I thought ahlu sunnah was some course for becoming scholars or something
Is it considered as kufr please mention it is kufr or not
Please answer as soon as possible please
Comment: Ahlus Sunnah wal Jama'ah basically means they who follow the sunnah of Prophet Muhammad (ﷺ). Kafir is someone who close themselves from the truth (Islam). If you have waswas that you spread the wrong information about someone, then tell your family that you might be wrong about that famous person, or if you know the truth then say the truth. And Allah knows best.
Comment: Please mention is that kufr or not I am stressed
Comment: You mean, if YOU are kufr or not? Insha Allah, you shouldn't be kufr (And Allah knows best).  I do not know if calling someone not apart of ahlus sunnah is kufr or not. But even if it is, then verily Allah forgives you for what you did by mistake. However, my advice is do not accuse someone of something (unless it's confirmed). Next time do not tell an information that isn't confirmed. Try to tell your mother and aunt again that you might be wrong about that someone. And Allah knows best.
Answer: Proclaiming or pronouncing takfir upon anybody is not easy. It needs strong evidence, to say the least. One must, in general, refrain from it.


ESD strike breaks the LAN8742A ethernet phy

Question: My circuit uses LAN8742A ethernet phy. The system has a metal case and gets 220V AC to power supply board. After converting 5V DC it goes to my board that has Ethernet and mcu. I screwed case and power supply pcbs earth point to mains earth. The problem is this: When i strike 2kV with ESD machine to metal case power supply generates spike appx 48V on output :/ And it goes to my circuit. I have standart linear regulator circuit for 5V to 3.3V. Spike value decrases a bit little but neverthless it locks/breaks ethernet phy. Ethernet leds goes crazy or hangs at wrong position. After i power off AC and power on again everthing starts to work normally. I need an advice for solving this.
My circuit scheamatics are:
Answer: It seems that you are experiencing soft error due to ESD injection. It means that your MCU internal registers have been altered by the ESD injection. Most of the available chips in the market are already protected for 2kV ESD spikes. Large number of new chips are also have internal protection for 4kV ESD spikes.
Theoretically, with 2kV ESD you must not have any problem on your circuit.
The 48V spikes those are generated during ESD injection are also OK and even natural reaction of ESD electrical charge distribution over the internal capacitor of the ESD gun and the intrinsic capacitor of your circuit.
By the way according to your schematic I have following recommendations for you.
Based on what you have written, part of ESD current finding its way towards the GND pins, through your MCU.

read "System level ESD co-design" that is published by John Wiley and Sons.
add a dedicated GND section to your board dedicated for the connectors and ESD protection devices and connect it to the main ground plane of the card using small opening (just for supporting the return paths of the circuit).
Add an ESD protection TVS or capacitor (10nF 0603) close to your power rail connector (between 5V, 0V)
An ESD protection device is necessary for all the system I/O pins (including RJ45 Ethernet connector pins(using especial solid state bidirectional ESD protection device)) and their connection with ground must be separated by moat or whatever from the card main ground plane and have very short paths towards the GND pin of the connector.
The metallic case must not have connection/adjucency with not earthed parts of the PCB.
The correct Earth must have less than 3V AC with Neutral at the AC outlet otherwise your earth could not do its duty well.
Use "guard ring" traces those have direct connection with the main ground pin of the connector and surround the board screw holes with it and arm all of its borders with it.
Some changes in the internal firmware of the MCU are also a good practice. For example the firmware developer could follow "scrubbing" patterns. she/he could use watchdog timer and even you could add external watchdog timer to your schematics.

Good luck.
Comment: i seperated my custom pcb from metal case but nothing changed. Because the ESD enteres from power input. When i hit the common earth point with 2kV i can see a spike at power supply output. So i added a mini pcb  between power supply output to pcb power input. There were a bi directional TVS(PTVS5V0S1UR) and series resistor. But TVS didnt do its job :/ I changed resistor values and try with inductors which are different values (1uF-100uF) nothing changed:/ I changed TVS uni directional model(SMBJ5,0CA) to bi directional model nothing changed :/ ı cant understand why TVSs dont not clamp the ESD
Comment: Finally i totaly seperated power. i energized pcb with battery and when i hit the metal case my board was effected. i carried my pcb to far away from metal case thant it worked. So When the ESD hits, the metal case turns into antenna.  Than As i understand my ethernet chip was effected by this RF ESD or something like that.
Comment: Metallic enclosures are susceptible for ESD but In your case the 2kV ESD is abnormally effective on your circuit! There must be some connection between the case and internal sensitive parts behind the protection devices. any connection of the enclosure with the MCU heat sink could be the root. The concept is this: "Save your sensitive parts from the discharge path/paths" if the ground of the TVSs are shared with the processor ground without any RF attenuation (moats or what ever) you will have problem. for ESD toleration you could think that it is a 300MHz~500MHz signal and design based on it.


Calling a VS2010 C++ dll from VB in Visual Studio 6

Question: It's my first question in Stack Overflow and it goes like this:
 I'm implementing some algorithms in C++, for a company that will use them as a DLL from Visual Basic in Visual Studio 6 (service pack 6). All the above (building as DLL, ability to call from VB, VS6) are mandatory and not something I can change.
 My approach so far (since I was asked to deliver code "compilable" in VC6) was to make the original implementation in VS2010 (with C++98 code standards), port and compile the code as a DLL in VC6, make function wrappers, and finally make "caller functions" in VB, accessing the DLL code. If I could use Boost::Geometry (eg make a wrapper function that performs a polygon union without exposing the template mechanism) my life would be much much better, but I can't compile it in VC6 so here is what I'm asking: Could a C++ DLL built in VS2010, be called from Visual Studio 6? Are there any tips or pitfalls? I simply want to use some newly made, fully tested, trustworthy C++ goodies as independent libraries that the recipient won't have the need to debug (at least I don't think they are planning to debug Boost).
Comment: The bolded question makes little sense, VS6 doesn't call DLLs.  I imagine they are asking you to write a COM server that they can use from a VB6 program.  That's possible, COM hides implementation so VS versions don't matter.  But they seem to want code that *compiles* in VS6.  So forget everything that was created in the past 13 years, it isn't likely to compile.  You'd better go shopping for a VS6 license (very hard to find) and charge them an arm and a leg.
Comment: There's a company still developing new code with Visual Studio 6?!?
Comment: it's a very lightweight IDE...
Comment: In a nutshell, it's doable, but you'll need to export a C-style interface
Comment: Just looking at the screen of VC6 one gets depressed but JosephH has a point. @PeskyGnat So I must have been doing something wrong in my recent attempts, thanks for removing the uncertainty, it allows me to work more focused
Comment: I'm assuming you just want to wrap some recent code that may only compile on recent compilers into something more 'lagacier' apps could use, not something useable from the VB6 IDE itself.
Answer: I would suggest creating an ActiveX component using ATL so that you can simply add them as references in VB6


Converting audio (mp3->ogg) on an Ubuntu server

Question: I'm creating a music chart app.
As an audio player I want to use html5 audio, but there is a problem.
First of all not all browsers support mp3 with html5 audio.
I want to ask:
Is it a good idea to convert audio from mp3 to ogg on a server?
Because, I want to allow users upload only mp3 files, and then I will convert that mp3 file to ogg format and store both of them on the server.
I can not imagine, how much resources (CPU, RAM) will be required for such a process.
As the second variant I think to use jPlayer, which supports flash solution.
Answer: You can convert mp3 to ogg with ffmpeg.
Yo can convert online the stream, and publish 2 stream, with mp3 and ogg
Jose


How to wire a 2 in 1 paddle switch

Question: I am changing a 2 in 1 switch that controls a light(top) and garbage disposal (bottom). They are controlled by different breakers. There was 3 wires in the old box. Black and red on top (different sides) and red on bottom, same side as black on top. I purchased a Legrand RCD33WCC6 paddle switch. When I wire red for light to top,black to common (Middle),and red for disposal on bottom. The light works with switch but disposal just comes on and stays on.  What is wrong?
Comment: Nobody cares where the screws are located on the device.  What matters is the markings that describe the screws' function, either as words near the screws, or the screw colors.
Comment: Can you post a photo of the inside of the switch box please?
Answer: If they are on different breakers, you can't use a switch with a common hot.
You need something like (picked at random by Googling "dual independent switch") Decora 15 Amp Single Pole Dual Switch. The instructions include removing a tab that connects the hots if you need separate hots - just like using a dual receptacle on two separate circuits.
WAIT A MINUTE!!! From what you described, the old switch only had 3 wires! That means it also had 1 hot, 2 switched hot. In which case it was not on 2 separate breakers. If that's the case, you just have the wires confused. Separate the 3 wires. Determine which wire is hot using a tester (non-contact should be sufficient if it gives a clear indication, multimeter is the best test). Then turn the breaker (singular!) off again connect the hot to the common screw and one at a time connect one of the other wires to a switch and see what happens. You should be able to track it down that way to determine which wire goes where and get everything working.
Remember:

Screw location does not have anything to do with screw function. Each manufacturer, and each model within a manufacturer, can vary.
Color does not indicate function. It should, but often it does not. If things are wired (USA) according to code, you should find:

Green/bare = Ground
White/Gray = Neutral
Black/Red/other colors = Hot, Switched Hot, Travelers, etc.

So while typically black = hot, red = switched hot, there are no guarantees.
Comment: If you truly have only 3 wires for the switches *and* two breakers definitely involved *and* you are really sure that's the way it was before, then the only way (really backwards) that I could see it ever worked would be **switched neutral instead of hot** plus **breakers on same leg/phase**, which would *probably* work but definitely break a bunch of safety rules. Which is even worse when you're dealing with kitchen = water = ground faults etc.
Comment: found the hot wire  hooked up, still no good  light works with one breaker flipped on but disposal doesn't work. It only goes on and stays on when I flip the second breaker on, not affected by switch
Comment: Do you actually have TWO breakers involved and only THREE wires in the box? Because if so something is seriously wrong. Like dangerously wrong.
Comment: Yes only three wires!  Sounds like time for a professional

How to wire a 2 in 1 paddle switch


Finding a serial # 1952 Schwinn Panther

Question: I believe I have a 1952 Schwinn Panther.  Trying to find the serial numbers but very rusty.  Where exactly should I look and will a wire brush help or hurt the bike?
Comment: On the bottom of the bottom bracket is the first place I'd look.  But I'm also recalling serial numbers somewhere on the headset, like perhaps under the end of the down tube.
Comment: Gentle wire brushing, getting more aggressive as necessary, should work. Be sure to treat the metal as you clean it up to prevent more rust from forming.
Comment: Consider a brass brush first, not a steel wire brush.   Then again rust has no place on a bike, so consider a chemical rust treatment, or a sandblast using walnut shells or something else fairly gentle,
Answer: Up until 1952 serial numbers we printed on the Bottom bracket shell, after 1952 they moved them to the rear dropout until 1971 when they were again moved, this time to the head tube beneath the oval badge. Being on the cusp of years i would check both the BB shell and the rear drop out. This information can be found in an informational bulletin released by Schwinn here.
I doubt you will do to much damage with a wire brush, as long as there is not good paint on the frame, which will be scratched from a wire brush. You may also consider using a rust eliminator such as CLR (Calcium Lime and Rust), it could be sprayed on with a spritzer style bottle and rinsed off with alcohol or water. Light brushing along with this may be enough to make out serial numbers.
Once you find it This web site may help you decipher it's model as well as date of production.

Finding a serial # 1952 Schwinn Panther


Ignoring a retaliation site?

Question: So as far as I can tell the retaliation sites are similar to XCOM: Enemy Unknowns panic missions, being that it was a specific attack on an area.  However they gave the reward of reduced panic if you won, for the retaliation missions in XCOM 2 I can't see any reward before taking them.   Do they have any negative impact if you ignore them?
Comment: Related: http://gaming.stackexchange.com/questions/254526/what-is-the-penalty-for-not-saving-enough-civilians-in-a-retaliation-mission
Answer: Ignoring a retaliation strike (or as far as I can tell, most missions) will cause the Resistance in that region to "scatter". You will no longer have contacts in that region, and the monthly supply reward they give is permanently reduced if you do make contact with them again. If you have a continent bonus for that continent, you will lose it until you make contact with the region once again.
Comment: Oh so it's a case of if you don't do it, you drop that region?  I wish it was a little more clear in the game - or maybe I'm missing something.
Comment: You're not missing anything - the negative consequences aren't stated anywhere until you do it. I only found out because I was ignoring every mission at the end of the game so I could hurry up and beat it.

Ignoring a retaliation site?


which hardware spec affects smoothness most?

Question: I am reviewing a few android tablets online and I would like to know which hardware spec (for example, CPU speed, RAM capacity etc) has the most significant impact on the smoothness (aka fluidness)  of the tab..
Comment: Won't this become obvious once you've used all the tablets you're reviewing?
Answer: It's not that simple. The 'headline' specs certainly matter, but so do a lot of things they don't print on the spec sheet: the RAM controller speed, the CPU and GPU L2 cache sizes, the power management settings, etc. It might have a 2 GHz quad-core CPU, but that's no use if it's always underclocked for power or heat reasons, or it's always waiting for the RAM. Cheap Chinese devices in particular often have good specs on the spec sheet, but they pair those with the cheapest components they can find, to keep the price down.
The quality of the software integration is a big factor. Old, buggy drivers, or wrong settings chosen by the manufacturer's software people, can really reduce performance. If they've also changed the system apps (particularly the launcher or the system UI), or included some always-running crapware or spyware, that'll slow things down too.
Really, the number on the product description that's best correlated with smooth performance is the one after the dollar sign.
Comment: thanks.. I like that part about the number after the dollar sign. ;)
However, could you please point out some of the other features that "they don't print on the spec sheet"? I'd like to do some research.
Comment: It's not always easy. Samsung's Note 3 was caught for enabling a gpu/cpu overdrive when the system detects a benchmark running. Lags due to missing or disabled eMMC TRIM support only manifests after many weeks of use.
Answer: The most impact on smoothness improvements had newer Android releases, notably 4.1 Jelly Bean, but 4.2 and 4.3 also added new techniques to make it more smooth (Project Butter in 4.1, triple buffering in 4.3, eMMC TRIM support in 4.3).
Almost all recent hardware has 1GB+ RAM, a sufficient graphics processor and multiple cores to enable smooth UI operation.
Usually, the premium line is best, but in general look at devices with recent Android versions. Google's Nexus line has the best support here.
Comment: thanks. I am more interested in the hardware for now..
I assume the amount of RAM has a significant effect ?
Comment: RAM doesn't speed up the UI, it only let's you do "heavy task" switching without app restarts (due to memory pressure). Say: chrome with many tabs <-> 3d game <-> Google plus and more. A faster dual core is better than a slower 4-core CPU. Only games may really benefit from 4+ cores. TRIM support and the Android version had a far more noticable effect for me than any of the above (on recent spec'ed hardware).
Comment: Don't settle for anything less than 4.1. Choose a device with good future upgrade support (Nexus or other top tier lines). See http://www.youtube.com/watch?v=Q8m9sHdyXnE


Can I trim the roots of a root bound plant?

Question: I have a large bird of paradise in a 12" pot. I recently found that the plant is just about root bound, and ideally should be moved to a larger pot. However, I don't know if I have space to accommodate a plant that's much larger than it currently is! Would I be able to trim back the roots to keep the plant in its current pot?
Answer: Most probably, but the plant might go into a shock, could lose some leaves, or the remaining roots could even rot. On the other hand it could be just alright. It highly depends on the genus/type of the plant as well. A Golden Pothos most probably would not even notice but there are more sensitive plants (from roots perspective) like Peperomia or Hoya that do not really like if you disturb their roots too much.
You could stick with a new 12" pot though, but with a deeper one (if you have space vertically). So there will be some space downwards for the the roots to grow into instead of using a pot with larger diameter.
If you choose to cut back the roots make sure to sanitize your scissor to reduce the chance of any infection, thus rotting.
Answer: In case you plan to cut the roots of your bird of paradise, it is best to remove it from the pot first and not only cut the protruding roots, but do a more general pruning of the entire root system.
If you only cut the external roots you will not be able to keep the plant in the same pot for a long time, the roots will be extraugulating and you will not avoid it if you do not cut a greater number of roots.
Obviously some plants resist root pruning better than others, you can cut all the aerial roots of the pothos and it will suffer practically nothing. But don't be afraid, you can do a root pruning to your bird of paradise, sure it gets a little stressed but it doesn't die.