Which language will get you deeper into Buddhism, Pali or Sanskrit?

Question: I seem to have read that the "original" or "oldest" Tripitaka was written in Pali, but at the same time the Sanskrit language is much older than Pali. How do Sanskrit and Pali relate in terms of Buddhism? I would like to collect as many Buddhist terms and their meanings in one of these two languages but not sure which would provide the deepest, most concise, clear, and complete terminology for the Buddhist cosmology and theories of mind and such. Sanskrit seems like it has a richer more established etymological system so it might be easier to understand concepts that way, but perhaps Pali is closer to the original meaning or something? Which language would be better for a beginner or advanced student of Buddhism?
Comment: I believe the two languages are related. If you know one, that understanding would carry over to the other to some degree. Many people have told me Sanskrit is a difficult language to learn.
Comment: Both Pali and Sanskrit are dead languages, and no one finds understanding by harvesting esoteric words. I"m not trying to dissuade you, please note; I'm just pointing out a concern. It's unfortunately easy to get lost in the flowers and lose track of the fruit.
Answer: Vedic Sanskrit is much older than Pali. Pali part of the family of Prakrits which descended from Vedic Sanskrit. The Buddha spoke a Prakrit dialect. Jain scriptures too were written in some kind of Prakrit dialect.
Classical Sanskrit was standardized by the ancient grammarian Panini around the same time as the lifetime of the Buddha. It too descended from Vedic Sanskrit. When we say Sanskrit today, we mean Classical Sanskrit.
Vedic Sanskrit is analogous to Old Latin. Prakrit is analogous to Vulgar Latin. Pali is analogous to Italian. Classical Sanskrit is analogous to Classical Latin.
Pali is a lot simpler than (Classical) Sanskrit in the sense that its grammar rules are simplified. For e.g. for nominal noun declensions, Sanskrit has three - singular, dual and plural. Pali only has two - singular and plural.
Words are simplified too. For e.g. maitrī → mettā, sthavira → thera, tṛṣṇa → taṇha, smṛti → sati.
Sanskrit is also a grand literary language and formerly a lingua franca in the Indian subcontinent, just as Latin was in Europe. It was the language of the royals, the clergy and the poets.
Prakrit dialects were used by the common people and the Buddha preferred his teachings to be spread in the language of the common people. Pali is a kind of standardized Prakrit used for the standardization of the Pali Canon.
Pali is only used in the Pali Canon and its commentaries or related works like the Visuddhimagga.
Then there's one more language called Buddhist Hybrid Sanskrit (BHS) which is a hybrid dialect, between Pali/ Prakrit and Sanskrit. It's largely used by early Mahayana scriptures. Later Mahayana scriptures were composed in Classical Sanskrit because that became the main written language when people started writing.
So, which language will get you deeper into Buddhism?
That depends on which scriptures or texts you want to read.
In any case, Pali and Sanskrit are very similar. Think of Sanskrit being like German and Pali being like English, a Germanic language with much simpler grammar (but let's forget the large amount of Latin loan words). And BHS is something in between the two, like Dutch.
Answer: It really depends on what kind of Buddhism you practice.  For example, if you practice in a Thai forest tradition, being familiar with the technical Sanskrit jargon of the Yogacara school would be completely irrelevant.  Likewise if you were a student of Zen, being able to read the Tibetan tantras would be a complete waste of time.  I'd argue that there's definitely more written in Sanskrit, but even within that literature there will be texts that in no way influence how you practice.
FWIW, Pali isn't that hard of a language to learn...especially if you already speak a language that uses noun declensions.  Structurally, Sanskrit is very, very similar - just with a couple of extra cases.  One thing I will say, however, is that there are vastly more resources for learning Sanskrit.  That alone will probably make it easier to pick up.
Answer: If you want to learn Therawada Buddhism, learn Pali Language. Sinhalese (Sri Lankan native) is also a good language to learn Buddhism as there are a lot of Pali text translated to Sinhalese and there are a lot of Sinhalese monks who can help you understand Buddhism.
I might be biased, but I find it quite difficult to express Dhamma in English as there are too many subtle but important points either missed, misinterpreted or misunderstood. You are learning the physics of the mind, which could be thought of as the most complex thing. Language clarity is quite important.
Answer: Academically: English, Japanese, Chinese, French, and German. There is a lot more Japanese scholarship on Buddhism than English, a lot more Chinese scholarship as well. Many of the early groundbreaking translations of the buddhavacana into Western languages were by Frenchmen in the late 1800s, such as de La Vallée-Poussin et al.
On terms of practice, if you want to familiarize yourself with the texts, I would say the same as other users, adding Chinese and Tibetan to the list of languages to learn depending on what tradition you are most interested in and which manuscripts you think would be more interesting. They are very difficult languages for non-specialists to learn, but if you learnt Tocharian or Gāndhārī, you'd be one of very few people with access to a host of very old Buddhist manuscripts.
I will say, based on the precedent of Franklin Edgerton's paper "The Prakrit Underlying Buddhistic Hybrid Sanskrit" (which is very generously cited in Wikipedia's page on "Buddhist Hybrid Sanskrit"), that Buddhist Sanskrit can be quite distinct from both Vedic and Classical Sanskrit. According to the cited text, when Buddhist Sanskrit significantly differs from Classical Sanskrit, it retains word senses and meanings largely identical to Pāli (see p. 502 of the cited paper). So it might actually be significantly more useful to learn Pāli instead of Vedic or Classical Sanskrit. There do exist courses in Buddhist Sanskrit, but they are rare. Here is one:
https://buddhadharma.co/Introducing_Buddhist_Sanskrit
You could look for courses like that if you've a fancy for obscure Buddhist Sanskrit. Buddhist Sanskrit, however, is more like Pāli than it is like Vedic or Classical Sanskrit.


Can grilled steak be eaten next day if refrigerated and the heated in the oven?

Question: I grilled a few beef steaks on the electric grill and then kept it in the freezer. Can it be eaten for next few days , by heating in the oven? Thanks!
FF
Answer: You certainly can do that, but if you are going to eat the steaks within three days I don't see the point of freezing them, it would be better to leave them in the refrigerator. But heating from frozen is safe. USDA guidelines are a little weird on reheating frozen food, personally I wouldn't even go there. If they were fine when they went into the freezer (or fridge in the last 3 days), they will be fine when you take them out. Just heat to the point of tastiness.
Answer: I think low and slow in the oven will produce the best result. You're just reheating to serving temperature so I wouldn't push the oven beyond 200-225 F.
If it's cooked, there's little danger from bacterial infection. What kills the flavor of steak (or chicken, or any other protein) is oxygen, which turns it rancid. Wrap as tightly as possible or use a vacuum sealer. If you're only storing for a few days, the best way is to actualy put in a sealed container and pour in enough stock to cover. This is an effective barrier against oxygen and eliminates the need to thaw.


Guideline for MySQL free space

Question: What is the guideline for how much free space to keep available on a MySQL AWS RDS instance (SSD)? In the past for an on-premises SQL Server install we used to use something like 2x the largest table in the database as this would provide enough space for maintenance tasks etc. and plenty of reaction time for unexpected growth. Are there any such guidelines for a MySQL RDS install? (We were recently caught running far too lean and a few poorly constructed queries led to an insufficient space message).
Answer: A really poorly constructed query can take a huge amount of space -- can't really protect from that.
Your maintenance?  Or AWS's maintenance?
If you can 'quickly' upgrade to a bigger instance, would that be an acceptable fix for nearly running out of space?
Would you like a review of the schema for the largest table?  Maybe some datatypes could be shrunk.  Maybe some normalization is feasible.  Maybe unhexing uuids, etc, is advisable.  Etc.
Otherwise, stick with your old rule of thumb.

Guideline for MySQL free space


define a rotation axis

Question: Can I define a rotation axis for a 3d object then set a rotation amount for animation?
I will duplicate the objects than set them at different orientations and all will rotate about the defined axis simultaneously at a certain angle amount and speed.
Comment: Maybe use an Empty and rotate around that? (I'm no animation expert, but that would be my first thought!)
Answer: i would use a copy rotation constraint for that.

create an object, keyframe a rotation e.g. i keyframed z rotation at frame 1 and 60 with values 0 and 360, then in timeline press shift-E -> linear extrapolation to make it rotate forever

now copy that object, delete all keyframe and add "object constraint" copy rotation:

with these settings:

now you still can move and rotate that object as you like:

and then just copy this object as often as you like:

define a rotation axis


ChainLink ETH/USD price oracle manipulation

Question: I will be concise. I am using ChainLink ETH/USD price feed in my smart contracts. I am ready to deploy the smart contracts so I did a little bit of legwork researching mainstream hacks and one particular caught my attention - the oracle manipulation.
I grasp what is the idea behind the manipulation and in my case it will happen if someone find way to manipulate the way ChainLink submits prices to the blockchain, am I right?
The question is purely abstract, that is why I am not providing any code.
Answer: There are various ways how the construct of Chainlink can break.
In essence the ETH/USD price feed has three major attack vectors.

Who controls the price feed?
How is data brought on-chain?
Where does the data come from?

The first question is easily answered. The price feed contracts are in full control of Chainlink Labs with a 4/9 multisig. This multisig could kill any price feed whenever they want without warning. You are trusting that they dont do this.
As for the second part, data is brought on-chain by something called a DON (Decentralized Oracle Network). These are oracle nodes selected by Chainlink Labs for a specific price feed, all of them providing an answer that then gets aggregated and served to you on-chain. Misbehavior of nodes can be punished by Chainlink Labs removing them from a DON and in the future with slashing of a stake they have to put up.
The third part, where does the data come from? Well, this is quite tricky, but you don't actually know. You know who operates the oracle nodes, but you don't know where they get their data from. When you look at ETH/USD with 31 nodes, you actually can't prove that all of them aren't simply using Coingecko. Chainlink Labs most likely makes sure that there is a diverse set of sources spread out across the DON, but similarly to the first point you're trusting them with this. There is no way for you to confirm how many and which sources are used within a specific price feed.
So how can the ETH/USD price feed be manipulated?

Chainlink abuses their multisig and simply points ETH/USD to a malicious data feed. This will immediately kill all of DeFi and there is nothing that anyone can theoretically do to stop this. You're trusting that Chainlink won't do this.
There is currently no mechanic preventing the majority of chainlink node operators to collude and misreport on price feeds causing millions in damages. The only feed where this is possible by some is ETH/USD with staking v0.2. In theory the majority of node providers on any other feed can collude at any given time. Chainlink Labs would probably remove them from the DON, but the damage would already be done at this point. As usual, you're trusting that they don't do this.
The underling data sources can collude and feed the entire DON wrong price information. As you can't prove how many APIs are used you also can't quantify how many people would need to collude to break this construct. It could be 10. It could be 5. It could even be a single one. (this is most probably the most dangerous one as it is simply a black box)

There are probably a million other ways how this construct can break, but these are the immediate ones that come to my mind, which aren't actually that technically complex to perform and are mostly trust based assumptions.
Answer:
if someone find way to manipulate the way ChainLink submits prices to the blockchain, am I right

A lot of protocols are screwed and billions will be lost, mostly likely in loan liquidations. Not just your protocol, but everything.

I am using ChainLink ETH/USD price feed in my smart contracts

Correctly implemented, ChainLink is one of the safest oracles out there. That's why it is so expensive to use.
Comment: What do you meen by expensive to use?
Comment: Your willingness to pay ChainLink fees
Answer: Chainlink uses a DONs that then send the price feed to an aggregator to finalize or "aggregate" the price from all the decentralized oracle nodes(DONs) usually comprised of 21 nodes or more. Feeds are refreshed on a timed basis or if price moves too much on asset it automatically updates. Hope this helps, check out Chain.Link.Docs for more info also.


Rewards in Q-Learning and in TD(lambda)

Question: How do rewards in those two RL techniques work? I mean, they both improve the policy and the evaluation of it, but not the rewards.
How do I need to guess them from the beginning?
Comment: possible duplicate of [Reinforcement learning: Differences between QLearning and SarsaTD?](http://stackoverflow.com/questions/6848828/reinforcement-learning-differences-between-qlearning-and-sarsatd)
Answer: You don't need guess the rewards. Reward is a feedback from the enviroment and rewards are parameters of the enviroment. Algorithm works in condition that agent can observe only feedback, state space and action space.
The key idea of Q-learning and TD is asynchronous stochastic approximation where we approximate Bellman operator's fixed point using noisy evaluations of longterm reward expectation.
For example, if we want to estimate expectation Gaussian distribution then we can sample and average it.
Answer: Reinforcement Learning is for problems where the AI agent has no information about the world it is operating in. So Reinforcement Learning algos not only give you a policy/ optimal action at each state but also navigate in a completely foreign environment( with no knoledge about what action will result in which result state) and learns the parameters of this new environment. These are model-based Reinforcement Learning Algorithm
Now Q Learning and Temporal Difference Learning are model-free reinforcement Learning algorithms. Meaning, the AI agent does the same things as in model-based Algo but it does not have to learn the model( things like transition probabilities) of the world it is operating in. Through many iterations it comes up with a mapping of each state to the optimal action to be performed in that state.
Now coming to your question, you do not have to guess the rewards at different states. Initially when the agent is new to the environment, it just chooses a random action to be performed from the state it is in and gives it to the simulator. The simulator, based on the transition functions, returns the result state of that state action pair and also returns the reward for being in that state.
The simulator is analogous to Nature in the real world. For example you find something unfamiliar in the world, you perform some action, like touching it, if the thing turns out to be a hot object Nature gives a reward in the form of pain, so that the next time you know what happens when you try that action. While programming this it is important to note that the working of the simulator is not visible to the AI agent that is trying to learn the environment.
Now depending on this reward that the agent senses, it backs up it's Q-value( in the case of Q-Learning) or utility value( in the case of TD-Learning). Over many iterations these Q-values converge and you are able to choose an optimal action for every state depending on the Q-value of the state-action pairs.

Rewards in Q-Learning and in TD(lambda)


How do photons know they can or can't excite electrons in atoms?

Question: This might be a stupid question, but nonetheless, it has been bothering me.
If you take a photon, make it go through some atoms in a solid, liquid or whatever, then you have the chance of this photon being absorbed by an electron, and thereby exciting the electron. This requires the photon to have enough energy to actually excite the electron to another energy level.
My question is then: How does the photon know if it has enough energy or not? Do they interact very quickly to determine if it's okay or not, or is it just something it "knows?"
Answer: If you take an isolated hydrogen atom then the electron sits in well defined atomic orbitals that are eigenfunctions of the Schrodinger equation. This is a stable system that doesn't change with time.
If you now introduce an oscillating electromagnetic field (i.e. light) then this changes the potential term in the Schrodinger equation and the hydrogen atomic orbitals are no longer eigenfunctions of Schrodinger equation. So the electron can no longer be described as a $1s$ or $2s$ or whatever orbital, but rather the electron and the photon now have a single time dependant wavefunction that describes both. What happens next depends on how this new wavefunction evolves with time. As the photon moves away we expect the new wavefunction to evolve into one of three possible final states:

the electron orbital is unchanged
the electron in a different atomic orbital (i.e. it's been excited) and no photon
the electron in a different atomic orbital (i.e. it's been excited) and a photon with a different energy

You can't predict which will happen, but you can calculate the probability of the three final states. What you find is that the probability of (2) is only high when the photon energy is the same as the energy spacing between atomic orbitals, the probability of (1) approaches unity when the photon energy doesn't match an energy spacing in the atom, and the probability of (3) is generally negligable.
So the photon doesn't need to know whether or not it has the correct energy. The photon and atom interact to form a single system, and this evolves with time in accordance with Schrodinger's equation.
Comment: @annav: The atom doesn't interact with a photon. It interacts with the photon field and the *photon* is just the quantum of energy exchange between the two. I'm being loose with the terminology because I think that suits the level of the question.
Comment: There's another option: 4. the electron in a different atomic orbital (i.e. it's lowered its energy) and two identical photons. This corresponds to stimulated emission.
Comment: I am dubious about the oscillating electromagnetic field business. The question is about photons. An electromagnetic field has an huge number of photons. The Schrodinger frame has a 1/r potential. The photon's electric field contribution is an impulse in a delta(t), not even a smooth time dependent potential. I have never seen this type of solution.Do you have a link? Once one gets into particles one uses Feynman diagrams I think
Answer: Transparent media are transparent because the incoming photon does not match any of the available energy levels to transfer its energy to the atom, or molecule, or crystal.
A classical analogy is thinking of energy levels as various size sieve holes which allow only certain size of particles to go through. Not any matter of knowing or adjusting, but inherent size of the sieve holes.
The energy levels, that the electrons abide in when attached to matter, are specific and defined by the potentials entering the problem. If the photon has the correct frequency, it will interact with the atom/molecule/lattice and the energy it carries will be absorbed by the atom/molecule/lattice and the electron will either be ejected or just go to a higher level of energy and falling back give up a new photon.
The energy is not given up continuously but with the correct quantum increments defined by the matter it hits.
There do exist free electrons and they do interact with photons. In this case a photon may lose its energy in a non quantized manner, increasing the energy of the electron and becoming a photon of lower energy. That is another story.
Answer: Energy of the electron changes with its interaction with photons, if it reaches more it gets excited, else remains in its position even though interacted with the photon, also it comes back during decay to release the photon.
Hence photons don't know the energy level they produce, but it happens by interaction.


ASP.NET 3.5 Back-Button Control / Refresh Control (never found a working solution)

Question: Hello and thanks for your time.
I've spent quite a bit of time searching for an answer to the old question of preventing duplicate posts when the user navigates back, forward, or refreshes the page. I've seen quite a few solutions proposed, none of which are working.
Proposed solution #1) Many people offer ways to instruct the browser to not cache pages, including some books I have. It is often noted that this isn't really a good solution because the user can turn off this feature in their browser, causing it to not honor the request.
Proposed solution #2) In a book I have it proposes that using timestamps set in the Viewstate and Session can detect stale pages. This detection DOES work, but the 'what to do about it' part does not: redirect to the same page, thereby reloading a page in it's pristine state.
I haven't posted any code because I've just gone in circles with many versions.
This is my first visit to this site and hopefully I can find some wonderful advice :)
Again, thank you for your time.
Answer: A solution I have found to be effective is to place a hidden control on the page with  GUID value inside. Save the GUID to your database record and then every time the user submits data, make sure the GUID is unique before processing the data.


Where did The Doctor get his Psychic Paper?

Question: Every episode of Doctor Who I've seen shows him with the Psychic Paper. Does it ever discuss how/where he got it?
Answer: The Second Doctor was given psychic paper while employed as an agent by the Time Lords' covert organisation, the Celestial Intervention Agency. The CIA had developed the technology. (PDA: World Game) --Psychic Paper
Psychic paper is a piece of psycho-interactive material that affects the minds of people who see it. The paper makes them believe they are seeing the identification of a person of authority, usually cued by the suggestion prompted by the agent using it. The paper would work on most minds but was unable to affect those of a genius intellect. It has reappeared in the series commonly used by the Ninth, Tenth, and Eleventh incarnations of the Doctor. It can be used as a credit card, an ID for an electronic system (no idea how THAT works) or a keycard. The Doctor has used it to send messages through time, though the results vary widely.
It is one of the two most common hand props of the Doctor. The other is the sonic screwdriver. Psychic paper was seen onscreen in the episode "The End of the World" written by Russell Davies broadcast April 5, 2005.
Comment: It would be nice to see more detail of how he got the psychic paper (e.g. quotes from the relevant Second Doctor script) rather than a summary of what psychic paper is, which the OP presumably already knows.
Comment: Thanks. Can you tell me an episode number or name?
Comment: @Randal'Thor - "World Game" as referenced in the answer is a novel (by Terrance Dicks), which are generally considered non-canonical, although TV writers do often mine them for ideas, which is apparently what happened here ... although given the publication date the book was presumably written as a tie in to the launch of the new series, so maybe both Dicks and the screen writers were working from a behind-the-scenes idea, perhaps a series bible that would have been produced by Davies, at which point maybe this is canon.  Hard to tell, really.


Can we see a nanowire?

Question: Can we see a nanowire, whose dia is say 1 nm but length is 10mm, with naked eye? To see an object does at least two out of three dimensions must be greater than the minimum size one's eye can see?
Answer: no, a nanometer is much smaller than the wavelength of light, so you can not even see it with an optical microscope.
May be worth a note the "nano-" prefix is often abused in the literature. Things described as "nano" are often "really" micron sized. Additionally such small stuff often exists as agglomerates/mat/powder , etc. which then of course you can see if there is enough of it
Answer: No.  Absolutely not.
Think about it.  Visible light has wavelengths roughly from 400 to 700 nm.  You are talking about feature sizes many times smaller than the wavelength of anything your eyes can see.
In addition to that, you certainly can't see things that small with a naked, as you asked about.  Again, actually think about it.  If you could see things even remotely that small with a naked eye, there would be no need for optical microscopes.  Of course anything using visible light, which includes optical microscopes, are limited by the wavelength of light they use.  Even the best optical microscope can't resolve 10 nm features, not even close.
Comment: Hmmm this article makes the case that it has to do with the amount of light emitted or reflected off the object, not necessarily the size. http://www.sciencefocus.com/qa/how-small-can-naked-eye-see
Comment: @Drew: 400 nm photons don't get reflected by 10 nm objects.
Comment: Under normal conditions it will not but the object can still emit that light through other processes.
Comment: @joo: If the 10 nm wire emits 400 nm photons due to black body radiation, then you still can't resolve the details of the wire.  The emission will look like coming from a 400 nm fuzz ball, not a 10 nm x 1 nm object.
Comment: @Drew_J While *some* long-wave photons may get scattered, you still won't get anything like a resolvable image.

Can we see a nanowire?


Can't we consider the curve $t\to(\gamma(t),X(\gamma(t))$ instead of the covariant derivative $\nabla_{\gamma(t)}X$?

Question: Many text books on differential geometry motivate covariant derivative more or less by saying that if you have a vector field along a curve on a manifold (that is a curve $\gamma(t)$ and an assignment of a vector $X(\gamma(t))$ at each point) then you can not directly define its derivative because you can not subtract two vectors living at different spaces.
Lie Derivative here does not also help since you would need to extend $\dot{\gamma(t)}$ to a vector field to define the Lie derivative along that vector field and then the Lie derivative will depend on the extension.
So ok covariant derivative $\nabla_{\gamma(t)}X$ gives you a way to differentiate vector fields along curves by letting you compare two different tangent spaces through parallel transport along $\gamma(t)$. But what I dont understand is what is the problem with constructing the curve
$t \rightarrow (\gamma(t),X(\gamma(t)))$ which will be a curve inside the manifold TM and then derivative it whose coordinate expression would be $(\gamma(t),X(\gamma(t)),X(\gamma(t)),\beta(t))$ and call $\beta(t)$ the derivative of $X$ along $\gamma(t)$. This derivative does not live on $TM$ but lives on $TTM$ that is true, but what is the problem with this?
This also makes me think whether if one can define a connection on $M$ by defining some kind of projection $\pi: TTM \rightarrow TM$ so that first you find $\beta$ as above and then somehow send it back to $TM$. In fact this is the way how you turn a second order ODE on $M$ to a first order ODE on $TM$. Is there are more deeper way of understanding the necessity for covariant derivative?
Answer: Your suggestion is a sound one, and in fact the problem is not the identification of $TTM$ and $TM$, since it is locally trivial. That could be overcome, perhaps. The problem is that the lift you want is called a horizontal lift of your vector field, and that is precisely what you don't canonically have. A connection (which is the "mother" of the covariant derivative) does precisely that: it selects a horizontal space on each tangent space to the tangent bundle. The covariant derivative then works precisely the way you suggested, except it depends on that initial choice of connection.
For reference, see:
http://en.wikipedia.org/wiki/Ehresmann_connection
Comment: Perhaps I was not clear though. While you can differentiate vector fields along curves just using the differentiable structure of TTM people prefer that the resulting derivative should live in TM rather than TTM and for this go through all the trouble of defining a metric, connection etc. I am looking for a motivation for this. If you try to do it the TTM way does it become useless? Infact when M is embedded in $\mathbb{R}^n$, this is how people use to do it the old times somehow. Compute second derivative, project back to TM using the metric. Isnt there a metric free way of this?
Comment: + I know what an Ehresmann connection is. In terms perhaps I could rephrase my question as, can a connection on M be derived from an Ehresmann connection on TTM
Comment: Well, the problem is that if the derivative lived in $TTM$, you'd need to supply it with too much information. For example, a directional derivative would have to be take with respect to a vector tangent to $TM$, rather than one tangent to $M$. In principle, there's nothing wrong with it, but it also doesn't fit our understanding of derivative (remember that the vertical space corresponds to the frames, so a connection like you're suggesting would be dependent also on choices of frame, which doesn't make much sense.)
Comment: I have an intuition that it is also not strong enough for the result one wants to derive with the connections (take the example of a non-reductive Cartan connection, which is much less powerful than a reductive one.) Right now I have no particular result in mind, though
Answer: I was able to give a partial answer to my question, the part where I ask about the relation between linear connection on $M$ and Ehresmann connections on $TM$. It goes as follows. Given a linear connection on $M$, I will define a Ehresmann connection on $TM$ for which if a path $(\gamma(t),v(t))$ has tangent vectors in the horizontal bundle of the Ehr. connection then $v(t)$ will be parallel along $\gamma(t)$. I will start by defining the connection 1-form. Fix a nbd $U$ and let $\Gamma_{ij}^k(x)$ be the connection coefficients. Let $(x,v)$ be local coordinates on $TM$. Define the local $TM$ valued 1-forms on $TM$ by:
$$\eta|_{(x,v)} = dv^i \otimes \frac{\partial}{\partial x^i} + (\Gamma^k_{ij}(x)v^i)dx^j \otimes \frac{\partial}{\partial x^k}$$
One can show that this one form is globally defined if and only if $\Gamma^k_{ij}$ satisfies the coordinate transformation rules of the connection coefficients, which it does. Therefore it is a well defined 1-form on $TM$. Moreover in terms of the locally defined connection 1-form
$\omega(X) =(\Gamma^k_{ij}(x)X^i)dx^j \otimes \frac{\partial}{\partial x^k}$ this can be written as
$$\eta|_{(x,v)} = dv^i \otimes \frac{\partial}{\partial x^i} + \omega(v)$$
hence the reason why these are called connection 1-forms. Now it is also to see that if $\beta(t)=(\gamma(t),v(t))$ is a curve such that $\dot{\beta}(t)$ belongs to the horizontal space defined by $\eta$ i.e $\eta(\dot{\beta}(t))=0$ then $v(t)$ is parallel along $\gamma(t)$. And geodesics are curves which are self parallel then. One can therefore go in the reverse direction to start with an Ehresmann connection on $TTM$ and induced a connection on $M$ which contains all the linear connection as well as what one could call "non-linear" connections. I am still trying to understand though what is the significance of trying to force the derivative of $v(t)$ to live in $TM$ rather than $TTM$. All this process also resembles the method of embedding the manifold in some $\mathbb{R}^n$, taking derivatives of $v(t)$ which possibly lie out of $TM$ and project them back to $TM$. I suspect it is the same kind of logic. I am still also puzzled by this process. Because using the differentiable structure on $TTM$ and $TM$ one can induce a connection on $M$ which is possibly derived from a metric. So why does one go through all the trouble of defining a metric and so on. I am also wondering if Ehresmann connection on $TM$ have relations with sub-Riemannian metrics on $M$.


Dapper factory object construction

Question: I have something like the following query
_connection.Query<SomeType>(SELECT Id, Type, Time FROM table)

the thing is SomeType is a generic type
public class SomeType<T>
{
    public int Id { get; set; }
    public SomeTypeType Type { get; set; }
    public DateTime Time { get; set; }
    public T Object { get; set; }
}

right now I can define some sort of SomeType<object> or whatever, and in order to use the correct generic SomeType<T> I need to reconstruct the object.
what I want to be able to do is to have a line such as this that will actually work
var x =  _connection.Query<SomeType<object>>("...") as SomeType<OtherType>

(Obviously this is not a good example, but in my case it makes much more sense)
Any way, this obviously returns null, and just won't really work.
I thought maybe by defining some other way to construct the type, by maybe hooking to the way dapper initializes the type and defining a Factory or something.
Any suggestions to how I can actually do that?
Comment: so it's kind of nested object and you want to fill it through the query?
Answer: I'm not aware of any configurable factories for the types used in Dapper.
I had a quick look at the code on github and there was nothing obvious, but I didn't do an exhaustive search.
There are TypeHandlers, but they seem to be more for mapping value types, the properties on the model object, rather than modifying the modelobject itself.
So I think you'll have to handle this in a more manual way:
public class SomeType
{
    public int Id { get; set; }
    public SomeTypeType Type { get; set; }
    public DateTime Time { get; set; }
    public T Object { get; set; }
}

public class SomeType<T> : SomeType
{
    public T Object { get; set; }

    public SomeType() { }
    public SomeType(SomeType someType, T obj)
    {
        this.Id = someType.Id;
        ...
        this.Object = obj;
    }
}

var someType = _connection.Query<SomeType>("SELECT Id, Type, Time FROM table");
var obj = new Foo();
var specialisedSomeType = new SomeType<Foo>(someType, obj);

The manual mapping from 'SomeType' to 'SomeType' in the constructor can get tedious, so you could use something like AutoMapper to handle that bit.

Dapper factory object construction


Plant identification: can English Yew be shaped as hedges?

Question: Based on the leaf picture, PlantNet identifies this as English Yew with 80% confidence. But mine is shaped like a sphere and does not look like any English Yews I found online that grow tall. Location is west Massachusetts.
 (large)
 (large)
Answer: You can prune a yew into pretty much any shape you want, including hedges of any height from 2 or 3 feet up to as high as you want to go. They are also popular trees for topiary.
Left alone, they will eventually grow to 60 feet (20 meters) tall. They are also one of the longest lived tree species. In the UK the oldest yews are estimated to be between 2,000 and 5,000 years old, and trees younger than 900 years are not officially classified as "ancient."
Comment: @csk One reason a lot of old (but not "ancient") yew trees are still around in the UK was that (for whatever reason) they were often grown in churchyards, and therefore fairly immune from somebody deciding to fell them because they were in the way of some new building or farming project.
Comment: 900 year old English yews are not found in North America, so most Americans only know it as a shrub. I was quite surprised the first time I saw a photo of one as a tree.
Answer: Some varieties in US grow upright some spread. The spreading varieties do not grow tall. Presumably you have snow and flat top or spherical pruning may be a problem with snow weight damage . In northern IL ,I had a few branches break with two feet of snow on spherical shapes. Yews do take pruning well. When I saw yew in UK , I could hardly believe they were the same species . For some reason the get bigger in UK.


How to reach my ethereum wallet?

Question: I have an Ethereum wallet address, but I don't know from which platform.  How can I find out were my wallet is from?
Comment: Do you have a keystore file or private key from your address?
Comment: When you say 'address' do you mean the public key?
Answer: You'll either need to have the private key, seed, or keystore file (all which are generated on wallet creation) to access your ethereum wallet. If you've lost these then you're out of luck.
Answer: If you have a public key/address (the visible key you share with others/ view on a block explorer) then you cannot decern any info about the wallet that was used to create the address.

How to reach my ethereum wallet?


Checking the iPhone GPS accuracy/position when starting an app

Question: I'm trying to code an app that uses GPS. When it starts running, it shows a screen with some informations, when the GPS accuracy detected is lower than a certain bias the app can become operative. In normal conditions (when gps accuracy detected is enough) is a tabbed bar app and GPS can be switched off.
I have already made some "experiments" with GPS and the CoreLocation framework but the difficulty for me is that I don't know how to act in AppDelegate to do what I just described or if there is a different technique to adopt.
Answer: I'd suggest setting a rootViewController in your UIWindow with some kind of "determining your location, please wait" message, etc. Have a manager class (I'd prefer it as a singleton to make it easy to access) as the delegate for the CLLocationManager. When your app starts, your AppDelegate starts your CLLocationManagerDelegate class so it can find the location. When sufficient accuracy is achieved the AppDelegate is notified (it can observe the CLLocationManagerDelegate or be told manually) the UIWindow's rootViewController is then set to the "normal" ViewController (UITabbarController or whatever you want). This can then acces the same CLLocationManagerDelegate class and present what you want with the information.


What exactly is Project-118?

Question: I know that they are the writers of Nagi no Asukara, just that I wanted to know more about that exactly. A group being named after a "project" sounded curious to me. Can someone tell me more about these authors? (or author)
Comment: https://twitter.com/shiracombo/status/457529612528922624 and https://twitter.com/nanoexpTS2/status/457509532113973248 says that 118 is the sum of the strokes (?) of the staffs in the planning stage, and it is coincidentally the telephone number for Coast Guard. Unfortunately, I don't know who are the staffs in question, so I cannot confirm these 2 tweets.
Comment: @nhahtdh Shinohara Toshiya (director, 44 strokes) + Okada Mari (series composition, 38 strokes) gives us 82 strokes, so if we happen across one or more relevant people that sum to 36 strokes, that might do the trick.
Comment: It's just a name that a group of writers came up with for themselves, nothing more. They thought it would sound interesting and look where it got them − people are asking questions :)
Answer: The meaning of "Project-118" is the sum of the name of the staffs in the planning stage converted to numbers.
It was explained in the "Nagi no Asukara" Special Staff Talk Show (凪のあすから 汐鹿生大宴会 ―「凪のあすから」スペシャルスタッフトークショー) on April 19, 2014. Some tweets from it:

澤村・スク水・英梨々 @nanoexpTS2
Project118の意味。辻さん 凪のあすからの企画段階のメンバーの名前を数字に変換して足したら118だった。検索してみたら、海上保安庁の番号だった。[...]
The meaning of Project118. Tsuji (ed. the Animation Producer) said that if the name of the staffs in the planning stage of Nagi no Asukara is converted to numbers and then summed, the total is 118. Searching about it, it is the number of Japan Coast Guard. [...]

しらこ @srcsn
Project-118の118の意味は、製作決定当初のスタッフさんの名前をあてたものを足して118になったとか。[...] …ちなみに118は海上保安なんたらの番号らしく、海という共通点が偶然にも。
The meaning of 118 in Project-118 is, when the name of the staffs at the beginning of production decision is "matched"(?), the sum is 118. [...] ... By the way, looks like 118 is the number of Japan Coast Guard something, having "sea" as a common point is a coincidence.
(emphasis mine, archived from togetter (Japanese))

However, they didn't explain further about the conversion and who the staffs are.
It might be possible as nhahtdh's comment to calculate the kanji strokes of the name (example: 辻充仁 is 5 + 6+4=15), but it's also possible to use goroawase (example: 辻充仁, Mitsuhito Tsuji is 3+2+1+10 + 2+10 = 28 [or any other possible combinations]). But at this point, both are only speculation though.
Comment: That said, if someone is successful in solving this puzzle with sufficient details, feel very free to post it as an answer...

What exactly is Project-118?


Width of 3d touch QuickAction menu same on iPhone 6s and iPhone 6s plus?

Question: I integrated 3d touch QuickActions for my iOS app made with Xcode and Swift. Since I only have an iPhone 6s plus, I'm not able to test it on an iPhone 6s. The title is long and fills the line without overflow. But how is it on iPhone 6s? Will the text cutted there? Or does the menu have the same size as on iPhone 6s plus?
Answer: It looks like, from the images I've seen, the 3D Touch menu is the same width (3 App Icons) between the 6s and the 6s plus, but it looks like they are scaled so it is likely that the text won't be truncated(cut).
If you have Xcode 7.3, you can also check for yourself in the iOS Simulator with a third party library (or maybe a force touch enabled trackpad?): Simulate force touch / 3D touch on iPhone 6S or iPhone 6S Plus simulators


QCD mass gap finite temperature

Question: QCD has a mass gap.
Does heating up QCD to a finite temperature change this fact, or is it a property which is independent of temperature?
Answer: The answer is that the existence of a mass gap is indeed temperature dependent. The mass gap is linked to the phenomenon of confinement: quarks and gluons do not appear as free particles, but are bound within hadrons. Such bound states cannot have arbitrarily small energy, but their energy is bounded from below by some scale referred to as the mass gap. The question is now whether confinement is a phenomenon to be observed at all temperature scales, and it turns out that this is not the case. At sufficiently high temperatures (depending also on baryon density) there will be deconfinement and quarks and gluons appear as free entities. This phase is commonly referred to as quark gluon plasma and has been experimentally verified at LHC and RHIC. Speaking of phases, QCD exhibits a diverse structure once one looks at its behaviour depending on two parameters, temperature and baryon density. In this case, one speaks of the phase diagram of QCD, which schematically looks like this (credits to this webpage):

There is much more to the QCD phase diagram than is visible in this picture and a lot of it is subject to current research, but it should give you a first idea of the basic structure one encounters.
To summarize: above a certain temperature, there is no longer a mass gap in QCD.
Answer: The answer is yes, it does depends on the temperature as phenomenological models show.
Actually there's more than that - there is a shift in the mass of any QCD particle due to connection to heat bath as you can read in hep-ph/9711297v2 and
www.sciencedirect.com/science/article/pii/0550321389903490
If you interested to get more information look for QCD sum rules at finite temperature.
Comment: This does not really adress the question, which is about the existence of the mass gap at finite temperatur. What you state is that masses of composite particles in QCD change with temperature, which is not the same thing.
Comment: It *is* the same thing. The mass gap is nothing but the mass of the lowest physical state, which, in QCD below the deconfinement temperature, is a composite particle. In the deconfined phase things may be different, but at temperatures that high the Debye mass will probably dominate anything else.
Comment: I answered the question directly in the beginning - "The answer is Yes". All I said afterwards is the this phenomena of mass shifting  is not special to the lowest physical state but rather a general phenomena.
Comment: The question was if a mass gap existed at finite temperatures, not if masses changed at finite temperature.
Comment: Why is there no mass gap at higher temperatures? This means that gluons are either being suppressed or  are being absorbed by quarks equally in all directions so there is no  net force confining quarks

QCD mass gap finite temperature


Select all meshes with similar dimensions

Question: I have a large number of meshes similar in overall shape, but with slightly different dimensions, and completely different orientations and locations. For this example, do the following (or enough of it to get the idea, as it is tedious):

Create an icosphere, subdivided at least 2 times
In edit mode, select an edge, and separate it
Repeat for every edge

If you enable viewing edge lengths you'll find that the edges are not all the same lengths. Some are longer/shorter than others, but you'll find that there are groups of edges that have the same length.
In my project, I have done something similar, except I had created the sphere, inset all faces and removed the centre triangles, then selected the two faces to either side of the sphere's original edge lines, extruded outwards, then separated each edge. Basically made the edges 3D instead of just lines.
Given that every mesh is oriented differently, and that there are almost 500 individual meshes, is there a way for me to select one mesh, then find all other meshes that have the exact same dimensions? Essentially, I want to select all similar meshes so I can group them and count how many of each mesh there are. For example, I'd find that there are 100 of a 2.0 x 0.1 x 0.1 m mesh, 50 of a 2.1 x 0.1 x 0.1 m mesh, 75 of a 1.9 x 0.1 x 0.1 m mesh, and so on.
I'm hoping my need isn't too obscure for a tool or add on to exist for
Answer: What you could do is select all the elements and go to Edit Mode, now just select all edges or vertices of one of the repeating meshes, then click on menu above Select > Select Similar > Area.


What information is stored by iOS Spell Checker?

Question: I have heard that Apple's spell checker for UITextView maintains some kind of logging of what you type in individual applications.  I have a secure application where spell checking is a useful feature, however I don't want new words logged to somewhere outside of my application.  Can anyone refer me to an Apple reference document or technical description of what information is captured by spell check, and where it is captured too?
Answer: Not sure if this helps much, but you could do spell checking manually with the UITextChecker class which allows setting a list of ignored words:
- (void)setIgnoredWords:(NSArray *)words

More here: https://developer.apple.com/library/ios/#documentation/UIKit/Reference/UITextChecker_Class/Reference/Reference.html
You can also check whether the word has been learned with:
+ (BOOL)hasLearnedWord:(NSString *)word

Comment: Bit related here, but would it be possible to automatically accept all misspelled words using UITextChecker?
Comment: I see but say a certain word In a UITextField is misspelled for example instead of "apple" it said "aple". If I call learnWord(NSSString*) will that automatically change it to "apple"?
Comment: Good Info, but the question was more framed on where the information that apple captures is stored, and when it is stored.
Comment: you could keep track of all the words you learn, and unlearn them when the app quits, and re-learn them when the app opens.
Answer: I don't know definitively, but using fseventer, learning the word "aple" in TextEdit saves that word to ~/Library/Spelling/LocalDictionary. Ignoring a word seems not to modify the filesystem at all, and indeed, if the document is closed and not saved, and a new document with that previously-ignored word is opened, it is no longer ignored. This is consistent with +learnWord: being a class method, and -ignoreWord: being an instance method. So for security, you could probably just never call +learnWord:, and instead have your own backend to persistently/securely store a list of ignored words.
Comment: Interesting... does guessesForWordRange:inString:language: or completionsForPartialWordRange:inString:language:
 have any FS Activity?  If not, then it should be possible to write my own UITextView subclass that spell checks without learning. (my actual goal)


MS outlook 2013 automatically closing and restarting continuously

Question: MS Outlook 2013 automatically closes and restarts continuously. When I checked the Event Viewer, I found the below mentioned error. Kindly check and provide the solution for the same.
<code>Faulting application name: OUTLOOK.EXE, version: 15.0.4420.1017, time stamp: 0x506742d6
Faulting module name: outlph.dll, version: 15.0.4997.1000, time stamp: 0x5a2f8819
Exception code: 0xc0000005
Fault offset: 0x000000000000a0cf
Faulting process ID: 0x20a8
Faulting application start time: 0x01d44fd9c4b1b947
Faulting application path: C:\Program Files\Microsoft Office\Office15\OUTLOOK.EXE
Faulting module path: C:\Program Files\Microsoft Office\Office15\outlph.dll
Report ID: 6f6fa814-fe5e-4541-83b3-d85beffabf17
Faulting package full name:
Faulting package-relative application ID:
</code>
Answer: Try starting outlook in safe mode.
To do this click the start button and type outlook /safe then press return, any add-ons or plugins you do have wont load, if it's stable the next thing will be to remove the offending one.
MS support should have done this with you though


how to convert a .exe file to a pdf file?

Question: I have some ebooks with the file extension .exe which can be opened with Adobe flash player 10 . I want to convert these files to pdf files.. If anyone can find me a program to covert these files it would be great. My files are of 30=50 MB in size so I don't think any online converter would be a solution.Thanks in advance..
Comment: This maybe useful to you : do you think to take screenshots and then create the pdf with them ? Because I think you can't convert an exe to pdf other than this...
Answer: Assuming the .exe files are actual executables (not a different extension with just the file name ending in .exe), it would be nearly impossible to convert them. The data is contained within the executable, which is probably somehow extracted and displayed using Flash Player (or it's libraries).
Perhaps you can look into extracting the data from Flash Player (no idea how you would go about that), or use a hex editor to extract the data from the executable.
Answer: What you're looking for is, depending on whether your Ebook is extracted from 'Pure Text' to the Flash Player or from a 'Series of Images', really hard or 'trying to lick your elbow' hard.
First of all, there is no tool out there that will do some 'EXE To PDF' conversion for you in some kind of 'EZ 1-2-3' interface (or any kind of interface). Period.
Trying to extract the data from Flash Player using a Debugger will yield no results, since Flash Debuggers are meant to work with '.SWF' extension files or the like, not with '.EXE'.
Using a Hex Editor to try to extract the block of code that corresponds to the Unicode or Ascii text portion of the EBook with the hope of using some online 'Hex to X' converter is possible, while you would be in for a challenge. But, as I said in the beggining: there is just a small chance of this happening and only if there is 'text' and not 'images' inside that 'EXE'.
Anyway, probably the best you can do is follow Bengi's comment and take a series of screenshots of the book and copy them to a Word file from where you can create the PDF. If the book is too long, you can create a Macro that will do this for you.
Comment: Honestly, whether it came from text or images it's all just to hard and time consuming to be worth it. You're better off with the screenshot trick!


Protagonist Goal and achieving it

Question: My MC is a famous singer/songwriter who is bad at writing lyrics. Her goal is to write commercially successful, deep, serious songs. How do I design the character arc in relation to this goal? Also,  The only obstacles I can think of are incompetence and living an easy life. Should the goal be tweaked?
Answer: Welcome to the forum. For future reference, we do not answer questions about 'what to write,' which it sounds like you are asking. But, we do discuss application of the three act structure on a regular basis, and that is something you can look into to get some inspiration.
Question: How do I design the character arc in relation to this goal?
Answer: One possibility is to follow the three act structure.
First act: This is her normal life. She wants to write lyrics and for whatever reason thinks she is working toward it in a normal life. Maybe she is taking a class from a music teacher, or spending all her free time composing bad music or whatever, or maybe she is in a dead end barista job with no time to write and she's losing hope that she'll ever get better.
Then 'something happens' and everything gets turned upside down. Her teacher kicks her from the class, or she performs her bad lyrics not knowing how bad they are and gets laughed off stage or a famous musician comes into the coffee shop and makes some comment to her about giving everything up to chase her dream. She grabs the moment and enters act II.
She goes to the music capitol of the world. She becomes a groupie for a touring band. She spends her savings on an instrument. Whatever it is, she changes course and dedicates to her goal of writing better music. This is Act II, away from her normal life.
Mishaps happen all along the way. She loses her instrument. The band breaks up. She gets mugged and now can't afford (whatever).
She loses all hope, because it is hopeless.
But on reflection, she knows what would truly make her lose hope would be to give up completely, and so she rededicates herself.
She takes a new job as an apprentice to some musician she's never heard of (karate kid style). She doesn't realize she is learning, but this wise teacher is teaching her more than she realizes. She starts composing something worthwhile. She doesn't see it, but the teacher does.
This is close to the beginning of Act III.
The climax of the story is her performing her new composition in front of a massive audience. She doesn't want to, because there has been so much failure along the way and she still doesn't realize that her teacher knows his/her stuff, but she works up her nerve and preforms her composition, and the audience loves it.
This is mostly a man vs self story where she is battling her own demons. As far as  obstacles, there are a ton that she can face. Brainstorm this. You can do it. Best if you do it. Look for inspiration from any story that you like. think about the obstacles in your own life. There are tons.
Answer: We can't tell you what to write since the creative process is unique to each, but if I were to write such a character I might have her successful but lack that one spark of inspiration.
Singing other's songs leaves her with a feeling of incompleteness - no legacy to leave behind when her fifteen minutes are up.
If she is famous as a songwriter, perhaps she has no muse, nothing to inspire her work and it is consistently dull and lacklustre.
Perhaps she realizes the missing piece is really part of her and she must take time off tour and discover herself. Preferably not going to India as that has been done often, she could seek wisdom and growth, eventually realizing that the singer is the song.
She can strive to add that skillset she lacks, struggling and failing as DPT suggests. She can seek a talented songwriter who can write exclusively for her, giving her a legacy of sorts, but said songwriter tires of getting little or no recognition for their work. All the critics talk about are her performances, never the actual song.
She could also come to realize the absolute emptiness of her fame. Unearned it has no value and she thinks it was just pure luck and wonderful timing. So many talented people are struggling but she is on easy street and why? Random chance. She comes to wonder is this all there is? Is this the success she fought so hard for? It is nothing, wealth and comfort have come almost as gifts and she, who has so much, must learn to deserve it when others have so little.

Protagonist Goal and achieving it


How do I live monitor on linux what files get accessed created modified and deleted?

Question: How do I monitor from this moment on what files get accessed / modified / created / deleted. (in live mode), similar to fseventer / fslogger?
Comment: Now I changed the title, as I'm interested about the process, not to shop anything.
Answer: On unix system you can use inotify-tools, built on top of inotify kernel subsystem API.
By inotifywait you can have live mode monitoring on standard output:
<code>inotifywait -m -r -e access -e modify -e create -e delete --format 'PATH:%w%f EVENTS:%,e' {{path_to_monitor}}
</code>
Notes:

-m: monitor indefinitely
-r: recursive monitor
-e: specify file system events to be monitored
--format: specify the output of the command

Example (command performed on monitored directory followed by realtime inotifywait output):
<code>$ cd {{path_to_monitor}}
$ touch test
PATH:./test EVENTS:CREATE
$ rm test
PATH:./test EVENTS:DELETE
</code>


Predicting probability for each tag given already chosen tags

Question: I have a set of tags (~10'000, will be extended over time) presented to a user. After he has selected 3 or more tags, I want to predict for each remaining tag what the chances are that the user will select this tag as well. I strictly need the prediction for all remaining tags. The prediction should be fast but accuracy isn't that important. The training data would be cases where users already have selected a subset of tags. What would be a good approach here?
Answer: welcome to ML and data science. This is a classic situation where a RNN would be usefull. You could either train one from Keras yourself which would help you learn and get a better model but might take more time. Or you could use a more pre-made soloution if this is your first project maybe something like TextGenRNN (will still recquire a bit of modification).
RNN theory
Examples in python
More examples
TextgenRNN Library


MS KB311765 and DsoFramer are missing from MS site

Question: I tried to get DsoFramer and found that its download page and KB article are missing. I've downloaded DsoFramer from cnet.com but I am still curious: why it is removed and if it is deliberate, what should we use instead of it?
Answer: It is normally because Microsoft called back the KB article. Either the product that it applies to is out of support, or the code in it encourages using of undocumented behavior, or the code does not follow new security guidelines.
My guess is that it relies on too many undocumented internal behavior of Office thus programs using it may break when Microsoft release a new Office version or a new service pack of existing Office versions.
Answer: You can find the sample here - but be warned - there are alot of known problems with the DsoFramer.
http://download.cnet.com/Microsoft-Developer-Support-Office-Framer-Control-Sample-KB-311765/3000-2206_4-10732960.html
Answer:
What should we use instead of DSOFramer control if it is discontinued by Microsoft?

I had a issue with Excel embedded in the DSOFramer control for which I called up the MSDN Support guys. The first thing he said was that DSOFramer should not be used in application as it have many known problems and Microsoft has discontinued it and removed it from the site.


How to programmatically monitor power consumption on Windows?

Question: I'm developing an app to monitor energy consumption of users' computer (for example how much energy it consumes on normal mode and energy save mode, battery status, etc) and I was wondering if there is any built in functionalities in Windows? some tool which can run through commmand line can also help, thanks
Answer: You cannot measure power consumption from Windows.
You can only make a very rough estimate obtain calculations that consider things as load level for CPU/GPU, estimates for consumption of other components.
The only way you can actually measure the consumption is to use an external power meter.
For the estimates, you can use things like Joulemeter.
Answer: If you're on a laptop, there is a set of performance counters for battery charge, battery drain, and remaining energy.


Facing "Error: unable to get local issuer certificate Code: UNABLE_TO_GET_ISSUER_CERT_LOCALLY" when trying to update CLI. How to overcome this one

Question: To set up SFDX , first I did install CLI and when I tried updating the same, I'm facing this issue. Can anyone please help me out.
Comment: Try https://developer.salesforce.com/docs/atlas.en-us.sfdx_setup.meta/sfdx_setup/sfdx_setup_install_cli_firewall.htm
Answer: Likely you have a proxy or something (like zscaler) in the way of the TLS connection. Either work out the nodej SSL config or simply bypass by running:
set NODE_TLS_REJECT_UNAUTHORIZED=0
Answer: It is likely because you are using a VPN.
So temporarily disable your VPN/firewall then do the sf update command.


Any other slash installations besides Slashdot

Question: I really want to use slashdot type functionality for a site and I think their source code is open, but I'm not sure how easy it is to use.  Is anyone else using it or know of any non-slashdot installations of it?
Answer: Sadly it looks like a dead project to me. They do have a page which lists /code sites they know about but it's broken. If you download the latest release file you'll see that the most recent datestamp is 2006, though someone does seem to have been fixing bugs as recently as last year.
Project on sourceforge is here http://sourceforge.net/projects/slashcode/
Basically anything slashcode/slashdot does can be done better in drupal or wordpress, it's a very 90's site in look, thinking and functionality.
Comment: @andersonbd1 All of the things you describe are possible with Joomla, Drupal, twitter bootstrap or Wordpress. It may be better to view this kind of software as a platform modified by plugins, they're all maintained so more secure and more flexible for mobile and tablet than reddit or slashcode.
Comment: Thanks.  hmmm drupal or wordpress isn't what I'm going for because what I really want is a site where users can submit stories.  I also like the voted upon comments.  Perhaps I should explore reddit


I cannot click anything in KDE

Question: I want to use KDE (Kubuntu desktop) on my Acer ES1-711 laptop with Ubuntu but I cannot click on anything after I boot.
I tried: uninstalling and reinstalling
It happens when i use my touchpad(which has no buttons,just touch).Kubuntu desktop is on top of Ubuntu
Comment: acer es1-711 is my laptop model
Comment: please provide us helpers with an output of inxi -Fxz between code tags. So we can see what hardware "Acer" is about . Also maybe give a typenumber of that Acer.
Comment: _andri axysto_, a few troubleshooting question: 1) Did you install Ubuntu then KDE on top, or did you install Kubuntu https://kubuntu.org/getkubuntu/ ? 2) Which version number did you use? 3) Does this happen when you plug a mouse into a USB port? 4) Does this happen if you test with a different flavor of Ubuntu, such as Ubuntu MATE, Ubuntu Budgie, or Lubuntu https://ubuntu.com/download/flavours ? Please answer by clicking [edit]; please do not use Add Comment, but instead use [edit].
Answer: The default setting for touchpads on Kubuntu does not allow tapping to be accepted as clicking. Since your touchpad does not have buttons, you'll have to use the keyboard and go to the touchpad settings and enable this function manually.
I'd suggest connecting a mouse temporarily just to enable the setting above and disconnecting it afterwards.

I cannot click anything in KDE


ArrayList to Byte and vice versa

Question: Hi I need to store ArrayList in database of my project, for that I need some suggestion to  store ArrayList into DB by means of some techniques like ArrayList to Byte[] and store byte[] in DB and retreive my byte[] from DB and convert into my original ArrayList in Java
Answer: I assume you're talking about Java's ArrayList (you didn't mention the language you have in mind).
In fact, there was a vary similar question: Serializing Arraylists
Just serialize a list, and insert it to BLOB column. Then you can fetch it from DB and deserialize it.
Edit:
This is a piece of code you can use to serialize your ArrayList:
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    try {
        ObjectOutputStream ooStream = new ObjectOutputStream(baos);
        ooStream.writeObject(myList);
        ooStream.close();
    } catch(IOException e) {
        throw new RuntimeException(e);
    } finally {
        try {
            baos.close();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
    byte[] serializedData = baos.toByteArray();

Having the data as byte[] you can now store it in bytea / BLOB column.
I hope this helps.

ArrayList to Byte and vice versa


Naming issue with many linked duplicates of groups

Question: I have a robot model that consists of several objects and I want a scene with many robots in different positions. My current approach is to group all of the objects of the robot and then make a linked duplicate of that group. Every time I do that, however, each part of the robot (left arm, right leg, etc.) gets duplicated with a unique name ( left arm 001, right leg 001, etc.). I don't want each object to have a unique name, I just want each robot group to have a unique name. Can I make folders or use parenting so that my Outliner isn't flooded with duplicates? Any suggestions?
Answer: Use a parent empty (or parent armature) for the robot.  If a robot has a parent  then its children display can be collapsed in outline view thus reducing clutter.  When you duplicate include the parent empty to maintain this feature. All robots will then have collapsible view from parent.  As you duplicate an original group ... remove the duplicate from all groups and create a new group for it.  Thus each robot will be in a single new group including parent.
Parents in the outliner and ... Groups in the group view of the outliner have a collapsible interface ... like folder views in OS UIs.
Once this is done your concern about object names may lessen.  It may not be possible to have duplicate object names in Blender.
Perhaps consider Linking the robot from a different file and using group instancing .  Particles and Dupligroups may help.
Comment: Your solution (first paragraph) works pretty well. For some reason though the robot parts didn't quite maintain their rotation after duplication. I went back and applied all the rotation for each object and that seemed to work. Also I was connecting the parts by using "child of" constraint instead of parenting. I don't really know the difference between the two but I ended up having to go back and parent everything to each other because I had issues transforming. Thanks for your help!
Comment: I do want to stay on topic.   You do have control of child rotation when creating parent ... please try the different options.  Quite likely using an armature is an effective mechanism for controlling an articulated robot.  Did you use an armature? I assumed clutter was your #1 important issue.  You have already been successful in reducing UI clutter with the parent mechanism.  Child of constraint .... is more interesting for dynamically changing the strength of a constraint parent(s) .. passing control from object to the next .. pick up object in robot hand and later release from hand.


What is the Fastest way to read event log on remote machine?

Question: I am working on an application which reads eventlogs(Application) from remote machines. I am making use of EventLog class in .net and then iterating on the Log entries but this is very slow. In some cases, some machines have 40000+ log entries and it takes hours to iterate through the entries.
what is the best way to accomplish this task? Are there any other classes in .net which are faster or in any other technology?
Comment: I don't know what is the best way to read event log items, but I'd advise you to rethink you architecture!!! You should use some other logging technology! I'd use Enterprise Library Logging Application block. Then you can easily log in a DB (you can log into the event log as well). Then you can easily run a query against the DB.
Comment: I am not logging in event log. There are multiple applications which logs in event log and My application searches the event log based on Source and event code to get the info from it.
Answer: Man, I feel your pain.  We had the exact same issue in our app.
Your solution has a branch depending on what server version you're running on and what server version your "target" machine is running on.
If you're both on Vista or Windows Server 2008, you're in luck.  You should look at System.Diagnostics.Eventing.Reader.EventLogQuery and System.Diagnostics.Eventing.Reader.EventLogReader. These are new in .net 3.5.
Basically, you can build a query in XML and ship it over to run on the remote computer.  Maybe you're just searching for events of a specific type, or maybe just new events from a specific point in time. The search runs on the remote machine, and then you just get back the matching events.  The new classes are much faster than the old .net 2.0 way, but again, they are only supported on Vista or Windows Server 2008.
For our app when the target is NOT on Vista/Win2008, we downloaded the raw .evt file from the remote system, and then parsed the file using its binary format.  There are several sources of data about the event log format for .evt files (pre-Vista), including link text and an article I recall on codeproject.com that had some c# code.
Vista and Windows Server 2008 machines use a new .evtx format that is a new format, so you can't use the same binary parsing approach across all versions.  But the new EventLogQuery and EventLogReader classes are so fast that you won't have to.  It's now perfectly speedy to just use the built-in classes.
Answer: A good Explanation/Example can be found on MSDN.
EventLogSession session = new EventLogSession(Environment.MachineName);

// [System/Level=2] filters out the errors
// Where "Log" is the log you want to get data from.
EventLogQuery query = new EventLogQuery("Log", PathType.LogName, "*[System/Level=2]");
query.Session = session;

EventLogReader reader = new EventLogReader(query);

for (EventRecord eventInstance = reader.ReadEvent();
    null != eventInstance;
    eventInstance = reader.ReadEvent())
{
    // Output or save your event data here.
}

When waiting 5-20 minutes with the old code this one does it in less than 10 seconds.
Comment: There's an important line missing here: `query.Session = session`.
Comment: @OfirD Thanks, I am actually trying to port this to powershell so that was helpful. Thanks. I have it working sort of, the data isn't correct fully but it's working.
Comment: @OfirD Can you update the code, where does that go?
Answer: Event Log Reader is horribly slow...  too slow.  WTF Microsoft?
Use LogParser 2.2 - Search for C# and LogParser on the Internet (or you can use the log parser commands from the command line).   I don't want to duplicate the work already contributed by others.
I pull the log from the remote system by having the log exported as an EVTX file.  I then copy the file from the remote system.   This process is really quick - even with a network that spans the planet (I had issues with having the log exported to a network resource).  Once you have it local, you can do your searches and processing.
There are multiple reasons for having the EVTX - I won't get into the reasons why we do this.
The following is a working example of the code to save a copy of the log as an EVTX:
(Notes: "device" is the network host name or IP.  "LogName" is the name of the log desired: "System", "Security", or "Application".  outputPathOnRemoteSystem is the path on the remote computer, such as "c:\temp\%hostname%.%LogName%.%YYYYMMDD_HH.MM%.evtx".)
    static public bool DumpLog(string device, string LogName, string outputPathOnRemoteSystem, out string errMessage)
    {
        bool wasExported = false;
        string errorMessage = "";
        try
        {
            System.Diagnostics.Eventing.Reader.EventLogSession els = new System.Diagnostics.Eventing.Reader.EventLogSession(device);
            els.ExportLogAndMessages(LogName, PathType.LogName, "*", outputPathOnRemoteSystem);
            wasExported = true;

        }
        catch (UnauthorizedAccessException e)
        {
            errorMessage = "Unauthorized - Access Denied: " + e.Message;
        }
        catch (EventLogNotFoundException e)
        {
            errorMessage = "Event Log Not Found: " + e.Message;
        }
        catch (EventLogException e)
        {
            errorMessage = "Export Failed: " + e.Message + ", Log: " + LogName + ", Device: " + device;
        }
        errMessage = errorMessage;
        return wasExported;
    }

Answer: Just had the same issue and want to share my solution. It makes a search through application, system and security eventlogs from 260 seconds (using EventLog) about a 100 times faster (using EventLogQuery).
And this in a way where it is possible to check if the event message contains a pattern or any other check without the requirement of FormatDescription().
My trick is to use the same mechanism as PowerShells Get-WinEvent does and then pass it through the result check.
Here is my code to find all events within last 4 days where the event message contains a filter pattern.
string[] eventLogSources = {"Application", "System", "Security"};
var messagePattern = "*Your Message Search Pattern*";
var timeStamp = DateTime.Now.AddDays(-4);

var matchingEvents = new List<EventRecord>();

foreach (var eventLogSource in eventLogSources)
{
    var i = 0;
    var query = string.Format("*[System[TimeCreated[@SystemTime >= '{0}']]]",
        timeStamp.ToUniversalTime().ToString("o"));

    var elq = new EventLogQuery(eventLogSource, PathType.LogName, query);
    var elr = new EventLogReader(elq);
    EventRecord entryEventRecord;
    while ((entryEventRecord = elr.ReadEvent()) != null)
    {
        if ((entryEventRecord.Properties)
            .FirstOrDefault(x => (x.Value.ToString()).Contains(messagePattern)) != null)
        {
            matchingEvents.Add(entryEventRecord);
            i++;
        }
    }
}

Answer: Have you tried using the remoting features in powershell 2.0?  They allow you to execute cmdlets (like ones to read event logs) on remote machines and return the results (as objects, of course) to the calling session.
Answer: Maybe WMI can help you:
WMI with C#
Answer: You could place a Program at those machines that save the log to file and sends it to your webapplication i think that would be alot faster as you can do the looping local but im not sure how to do it so i cant ive you any code :(
Answer: I recently did such thing via WCF callback interface however my clients interacted with the server through WCF and adding a WCF Callback was easy in my project, full code with examples is available here
Answer: Maybe that the remote computers could do a little bit of computing. So this way your server would only deal with relevant information. It would be a kind of cluster using the remote computer to do some light filtering and the server would the the analysis part.


Embedded xml database with .NET binding

Question: Does anybody know an embedded XML database which can run on Windows Ce 6.0 and which has .NET bindings
Comment: I am sorry, I forgot to mention it ought to be XML database
Answer: Do you mean something like: "SQL Server CE 2.0 and the .NET Compact Framework"
If this is what you seek,I am sure a quick search in the spirit of the above mentioned will result similar things with later versions (like SqlCE 3.5).
Answer: The default database for Windows CE is CEDB. Windows CE also includes support for the embedded database (EDB), which enhances the functionality of CEDB .
These are ancient databases which are mostly used in SDK, MFC windows CE application.
Information: http://msdn.microsoft.com/en-us/library/ms885343.aspx
If you want to build an application in .Net you can simply use SQL Server CE database version supported to .Net framework (as suggested by "Shaihi"), which is wrapper over EDB(Embedded database).
I think for cross platform application, SQLITE is best option.
Also please check satckoverflow's link similar to your post:
Embedded Database for .net that can run off a network
Comment: No, that's not what I need. I need an XML native database, i.e. database which can store XML documents and do manipulations on the using XPath/XQuery.
Answer: This is an old question, but I thought I'd add an answer in case anyone stumbles on it. My company just released an open source embedded XML database for the .NET platform called Nxdb. It's under the Apache 2.0 license and has been in development and use internally for several years. It's basically a binding to a cross-compiled (using IKVM) version of BaseX (a fantastic Java XML database) along with extra functionality for the embedded use case and the .NET environment. The project page is here: https://dracorp.assembla.com/spaces/nxdb
(Hopefully linking to my own project doesn't irk the mods, but I figured since this post directly answers the question and provides a link to a permissive OS project it would be okay).
Comment: It is ok to promote your own project in SO (even comercial ones) as long as it solves the problem presented by the OP. The only problem I see in this case is that your project is based on the **full** .Net framework, and this question is about Windows CE, which only supports .Net compact framework. I think it is unlikely that your project can be used in this scenario.
Comment: You are correct about not working on Windows CE - I wasn't thinking and missed the connection there between CE and .NET CF. Though the Nxdb code itself would probably run (or could be made to run) under the compact framework, it relies heavily on IKVM which is not currently compatible with .NET CF.

Embedded xml database with .NET binding


Why does the point in contact (having zero net velocity) in pure rolling moves further?

Question: We know that in pure rolling motion the contact point have zero net velocity. So, why does the ball moves further, if the velocity of contact point is zero?
And what is the role of centripetal acceleration in pure rolling motion and my teacher said that the work done by static friction on contact point is zero in pure roll, but why?
Comment: You might find this helpful https://physics.info/rolling/summary.shtml
Comment: Thank you sir for helping
Answer:
So, why does the ball moves further, if the velocity of contact point
is zero?

The ball moves further because it is based on the velocity of the center of mass $v_{cm}$, where $v_{cm}=R\omega$ for rolling without slipping where $\omega$ is the angular velocity, and not the instantaneous velocity at the point of contact, which is zero, as shown in FIG 3 below.  These values are based on combining pure translational motion of FIG 1 with pure rotational motion of FIG 2.

And what is the role of centripetal acceleration in pure rolling
motion

In short, its purpose is to ensure the circular motion of all the particles of the ball. The centripetal acceleration refers to the continually changing direction of the tangential velocity in FIG 2 towards the center of rotation, and is due to the centripetal force pulling in on all particles of the ball to prevent them from flying off due to their inertia. The origin of that force is the intermolecular forces of attraction.

and my teacher said that the work done by static friction on contact
point is zero in pure roll, but why?

To answer this question we need to start with the general equation for work,
$$W=\int \vec F \cdot d\vec s$$
or equivalently,
$$W=\int \vec F\cdot\vec v \ dt$$
where $\vec v$ is the velocity of the point of application of $\vec F$
For the example shown in FIG 3 below, where the rolling motion is horizontal and at constant angular velocity, there are no net external forces acting on the ball and therefore static friction is not involved. The surface could just as well be frictionless. The ball will roll continuously due to its translational and rotational inertia per Newton's 1st law.
However if there were a net force or torque force acting on the ball, then static friction would generally be needed at the point of contact for the ball to rotate without slipping. Since the  static friction force acts at the point of contact, and the instantaneous velocity as well as the instantaneous acceleration at that point is zero, static friction performs no work. One can think of the static friction force as the mechanism that enables or facilitates rotation without slipping as opposed to being the energy source for the rotation. That source is the applied force or torque.
Hope this helps.
Answer: The point of contact does indeed not move (relative to the surface) during the moment of contact.
But the rest of the ball does. It sort of "rolls over" or "tilts over" the contact point. While the contact point remains stationary (translation-wise), the rest of the points of the objects do move forwards.
Think of a star "rolling" down an incline. While a star spike - a leg - touches the surface it doesn't move, but the rest of the start does "roll over" this leg. After the rest of the star has move far enough "over" the contact point, the touching leg lets go and a new leg takes over, whose contact point with the surface now is stationary.
Think of a rolling ball as a star with many, many legs. So many that you can't distinguish them from each other. Each "leg" - which now is so small that we are talking about just a single point on the ball's surface - is stationary while touching the surface. But it also only touches for a brief infinitesimally short moment before it lets go and allows for another point to take over.
Thus the contact point for a rolling ball always only touches the surface during a very, very short moment during which it doesn't slide. When looking at the rolling ball from the outside, since no contact points slide - although they are contstantly being taken over by a new contact point - then the ball in general does not slide.

When we have agreed on the above, then your next questions about centripetal acceleration and work done by static friction will be easily answered:

Each point in the ball (except for the very centre) experiences a centripetal acceleration towards the ball's centre. This is the effect that keeps all the "particles" that make up the ball together. Had the ball been made out of flour, then the particles would not be kept in place and the ball would immediate disintegrate when spinning. It is the centripetal acceleration of the contact point that causes it to not stay in contact with the surface but rather to be "lifted up" again after the ball has "rolled over it".

There is static friction acting at the contact point in whatever point that is touches at any moment. Since nothing moves, then the static friction does no work on this particles (work is defined as a force causing a displacement). Work is being done on the ball as a whole, but the local (net) work done specifically on the particle in contact with the surface is zero.
Comment: Thank you so much sir you made me understand that much tough to visualise concept so easily, and thank you for devoting your time in writing the answer.
Comment: Sir can you help me with the below problem also,       https://physics.stackexchange.com/q/758793/363762
Answer: In pure rolling, the point of contact has centripetal acceleration, which is the primary cause of the particle at point of contact. Since, acceleration is radially inwards, the intial velocity imparted to the particle at point of contact will be perpendicular to direction of motion, and so will be it's displacement. Since friction is acting tangentially and the displacement in radially inward. Work done by static friction is 0.
Comment: Sir I understood the friction part, but I cannot understand the exact role of centripetal acceleration, sir can you explain it, please.
Comment: What do you think is the centripetal acceleration of the point of contact? Or of any point at rest? @Dhairya Kuchhal
Comment: @nasu (angular velocity)^2/ Radius ??
Comment: Check again your formula. It'not angular velocity.
Comment: The centripetal acceleration is $a_{cp}= \frac{v^2}{r} $. So what will it be for a point at rest? With angular velocity $\omega$, it is $a_{cp}= \omega^2 r $ @Dhairya Kuchhal
Comment: @nasu the linear velocity in this formula is taken with respect to Centre of mass. So it comes out to be the same


Ubuntu 16.04.4 = which kernel?

Question: Ubuntu 16.04 uses three major kernel lines: 4.4.0 (as a base until the end of life) and 4.8.0 and 4.10.0, and with the release of 18.04, 4.15.0. coming.
With automatic software upgrade, only line 4.4.0 is updated a long time ago, but it does not handle (yet) Specter & Meltdown syndrome ...
Which kernel should I use and where to get it? ....
Comment: refer https://wiki.ubuntu.com/SecurityTeam/KnowledgeBase/SpectreAndMeltdown  -- Ubuntu 16.04 LTS kernel 4.4.0 does have meltdown & spectre mitigation, as changes are backported to supported kernels.  Unless you've done something with updates (or moved to say a 16.10(4.8)/17.04(4.10) or other EOL kernel) you'll be protected
Answer: Ubuntu 16.04 LTS kernel 4.4 does have Meltdown & Spectre mitigation, as changes are backported to supported kernels.
Unless you've done something with updates, or moved to say an EOL 16.10 (kernel 4.8) or 17.04 (kernel 4.10) or other EOL kernel, you'll be protected.
please refer to
https://wiki.ubuntu.com/SecurityTeam/KnowledgeBase/SpectreAndMeltdown
Answer: The Ubuntu desktop, Ubuntu Server and Ubuntu community flavour 16.04.4 iso files, which are getting ready to be released within a few days (scheduled for March 1 2018), come with the kernel 4.13.0-36 (belonging to the same kernel series as Ubuntu 17.10.1) which are modified to squash the Meltdown & Spectre bugs.
The iso files of the original 16.04 and the first point release 16.04.1 install systems that stay within the xenial kernel, the 4.4 series. This kernel series has also been modified to squash the Meltdown & Spectre bugs, but you must update to a current kernel.
The 4.4 linux kernel series is now at 4.4.0-116, and the bugs were squashed a few versions back. It appeared via the repository maybe at 4.4.0-112, I am not sure, but the first bug-fixed version for 16.04 was linux-image-4.4.0-108-generic according to
Linux Kernel Updates for Ubuntu (
Posted on: 01/10/2018 08:23 AM)

Ubuntu 16.04.4 = which kernel?


Cell Broadcasts for LG lucid with android 4.0.4

Question: I've looked at the wikipedia article and it is very informative.  But my husband had a Verizon LG Lucid with Android 4.0.4.  NO WHERE can I find a way to adjust the cell broadcasts!  I have a Samsung Galaxy and there is a page to check what kind of emergencies to receive notifications.  I can turn any/all of them off.  What about the LUCID??
Comment: Anna, my LG Optimus 4X has a separate app for that which came pre-installed ("Cell Info"). Maybe your LG device has it as well? If not, you could check the tag-wiki of 'cell-broadcast' (simply hover your mouse over the tag for additional links; click it to see all questions tagged with it).
Answer: My LG Optimus 5 (E455 and E450) also has a pre-installed application called cell broadcast, with CB enabled. I disabled it.


Is topology of procedural meshes important?

Question: I've been working on a project which involves generating 3d game models, mostly
hard surface ones, procedurally. Do I have to worry about keeping the topology clean? Will topology affect texturing, or have any other consequences on the model that I haven't thought of?
Comment: Not quite; Clean topology is very useful for easier manipulation of the model in 3d modeling software. This, however, isn't important in my case.
Comment: Isn't procedural generation a red herring? The real question is whether clean topology is important, and what it affects.
Answer: A clean topology mostly helps you to skin (add bone transforms) your model without it looking weird, as longer surfaces don't give you many points for the transform to work with. Many small triangles, or thin long ones, would add overhead to drawing the model to some extent and I seem to recall that they might cause some issues with mipmaping (but I can't recall any particular case I've seen it or find any references so I might be wrong about that part).
But if you use marching cubes (or any variation thereof) you would get a decent topology to begin with, and trying to fix the topology before you see any visual artifacts would probably fall under "premature optimization". Unless you're planning on adding bone transforms, then you need to pay attention so you create decent topology around the joints.


Can "pleasing" be used to modify people?

Question: She is not very beautiful but very pleasing.
Does the sentence make sense to you? Can "pleasing" be used to modify people? I think it is mused to modify things, such as "The result is pleasing."
Answer: Certainly pleasing can be used to modify people, either women or men, or children. Or pets.
But if I used it, I would probably use pleasing to modify something about the person. She has a pleasing personality. But even this sounds slightly old-fashioned to me. Another way to say what I just said is "She is willing to please." People at times do describe themselves as 'willing to please.' In several contexts, but I am thinking mostly about a person willing to please their new boss. Despite certain overtones that this phrase may be construed to have by some, those overtones are not inherent to "willing to please."
The dictionary definition that user3169 links to has one example sentence of "pleasing," and it also modifies something about the person, not the person directly. But the 2001 date shows that the word is still in use--by some.

His face was fleshy and full and not at all pleasing , the eyebrows too heavy, the nose too sharply hooked.

Robert Silverberg LORD PRESTIMION (2001)
Answer: The sentence is fine. Also people can be pleasant.

She has a pleasant personality.

The definition of pleasing does not make any distinction between people and things.
Answer: It can be used for a person. But I'm not sure as to some, it might be offensive. She's very pleasing may also mean that she can give pleasure to you.
Consider user3169's option instead. She is not beautiful but she has a pleasant personality.
There could be other options to say that...

She's not very beautiful but she's amicable/charming/friendly etc.

You may choose other words depending on what you exactly want to say.
Answer: The adjective "pleasing", though not much used to refer to people, it can be used to do so,  Please see the following examples:
*She is pleasing in manner and appearance.
*He is a pleasing writer/actor.
*I met Omar Sherif, who is a pleasing personality.


Difference-in-difference and omitted variable bias

Question: I have a question concerning the difference-in-differences research design:
if i can find a variable which is both correlated with the difference-in-difference estimator and the dependent variable of the regression equation, is then the difference-in-difference estimate biased?
Comment: A variable can't be correlated with an estimator. Do you mean that the variable is correlated with the treatment? If so, then the estimator is unbiased if the parallel trends assumption is valid, which is different from an assumption of no confounding. Methods exist (e.g., matching) to remove the correlation between variables and treatment to make the parallel trends assumption more valid.
Answer: It is best to separate the estimation problem from identification of the parameter of interest.
When we use diff-in-diff, we want to estimate an average effect.
The first step is to show that this average effect is identified (that is, calculable from data that we observe).
The second is to construct an estimator that estimates the average effect without bias.
I present an identification argument that spells out the assumptions needed for diff-in-diff to be unbiased.
Take causal inference in one time period.
The goal is to identify the average treatment effect (ATE) or the average treatment effect on the treated (ATT).
In the potential outcomes notation,
$T_i \in \{0, 1\}$ is unit $i$'s treatment assignment,
$Y_i(1)$ is unit $i$'s outcome under treatment,
$Y_i(0)$ is its outcome without treatment,
and $Y_i(T_i)$ is its observed outcome.
The treatment effect on unit $i$ is $Y_i(1) - Y_i(0) \equiv \delta_i$.
The ATE is $\mathbb{E}(\delta_i)$
and the ATT is $\mathbb{E}(\delta_i \mid T_i = 1)$.
Both the ATE and the ATT as parameters of interest are only identified if $\delta_i \perp T_i$.
That is, unit $i$'s treatment effect needs to be independent of its treatment assignment.
Under this assumption, the ATE is also equal to the ATT.
Diff-in-diff relaxes this assumption by working in a two-period setting.
With two periods, the potential outcomes are $Y_{it}(1)$ and $Y_{it}(0)$ for time periods $t \in \{0, 1\}$, and the observed outcomes are $Y_{it} \equiv Y_{it}(T_i)$.
Let the change in the outcome from the first to the second period be
$\theta_i(1) \equiv Y_{i1}(1) - Y_{i0}(1)$ if unit $i$ is assigned the treatment,
and $\theta_i(0) \equiv Y_{i1}(0) - Y_{i0}(0)$ if it is not.
The treatment effect on unit $i$ is
$\delta_i \equiv \theta_i(1) - \theta_i(0)$.
Diff-in-diff assumes that $\theta_i(0) \perp T_i$
so that the change in the absence of treatment is the same for the treated units as it is for the untreated.
This is called the parallel trends assumption.
Parallel trends are sufficient to identify the ATT
because we can calculate $\mathbb{E}(Y_{i1} - Y_{i0} \mid T_i = 1) - \mathbb{E}(Y_{i1} - Y_{i0} \mid T_i = 0)$ from the data and it is equal to
\begin{align*}
&\mathbb{E}(Y_{i1}(1) - Y_{i0}(1) \mid T_i = 1) - \mathbb{E}(Y_{i1}(0) - Y_{i0}(0) \mid T_i = 0) = \\
&\quad = \mathbb{E}(\theta_i(1) \mid T_i = 1) - \underbrace{\mathbb{E}(\theta_i(0) \mid T_i = 0)}_{= \mathbb{E}(\theta_i(0) \mid T_i = 1) \;\text{by parallel trends}} = \\
&\quad = \mathbb{E}(\theta_i(1) - \theta_i(0) \mid T_i = 1) = \\
&\quad = \mathbb{E}(\delta_i \mid T_i = 1).
\end{align*}
Note that diff-in-diff does allow $\theta_i(1) \not\perp T_i$, so the change under treatment can be different for treated units than for the untreated.
It also allows $Y_{i1}(1) - Y_{i1}(0) \not\perp T_i$, so the treatment effect in the second period can be different for treated units than for the untreated.
If we also assumed $\theta_i(1) \perp T_i$, then the ATE, $\mathbb{E}(\delta_i)$, would also be identified.
However, in this case the ATE and the ATT would again be equal.
Finding an omitted variable that explains both the outcome and the treatment assignment is a sign that parallel trends might be violated.
But this need not be the case.
For example, consider $W_{it}$ as the omitted variable and suppose $W_{i0} \not\perp T_i$ and $W_{i0} \not\perp Y_{i0}(0)$.
Then $W_{i0} \not\perp Y_{i1}(0) - Y_{i0}(0) = \theta_i(0)$.
However, $W_{i0} \not\perp T_i$ and $W_{i0} \not\perp \theta_i(0)$ does not imply that $T_i \not\perp \theta_i(0)$,
so the ATT might still be identified and diff-in-diff might still be unbiased.
This would be the case if the direction of causality ran from $Y_{it}(0)$ to $W_{i0}$ and from $T_i$ to $W_{i0}$, and not the other way round.
In practice we would think about what our theory tells us about the direction of causality.
If the omitted variable was a consequence of the treatment, we would not be concerned.
But we would if the omitted variable influenced treatment assignment instead,
or if a third factor influenced both the omitted variable and treatment assignment.