flibs/m_fileunit - Manage file units
The component m_fileunit provides services to manage fortran file units.
The function fileunit_getfreeunit returns an integer representing a fortran unit which is available for opening a file. The typical use of this function is to manage the files dynamically, without any database of file units in the library/software. In the following example, one opens a file with a dynamical file unit.
integer :: fileunit fileunit = fileunit_getfreeunit () open ( unit = fileunit , file = "data.txt" ) [lb]etc...[rb]
If several files are to be opened, the "fileunit_getfreeunit" method has to be inserted between the "open" statements. This is because two consecutive calls to "fileunit_getfreeunit" will return the same integer, as expected : if a unit is available the first time, it will also be available the second time. In the following example, several files are opened and connected to several files.
integer :: fileunit1 integer :: fileunit2 fileunit1 = fileunit_getfreeunit () open ( unit = fileunit1 , file = "data.txt" ) fileunit2 = fileunit_getfreeunit () open ( unit = fileunit2 , file = "data2.txt" ) [lb]etc...[rb]
In a large fortran software, it may be difficult to see if some bug has been introduced in the file management, especially when the software is the composition of several libraries. The subroutines fileunit_getallopen , fileunit_closeallopen , fileunit_report , fileunit_displayopen allow to manage for the units currently used in the software. The fileunit_getallopen returns an array of integers which contains all the currently opened units. The fileunit_closeallopen subroutine close all currently opened units. The fileunit_report displays a full report about a given unit number by using the "inquire" fortran intrinsic statement.
Computes an array of integers made of all currently opened units. On output, nbunits is the number of opened units and units ( iunit ) is the unit number for the opened unit #iunit with 1<= iunit <= nbunits.
Writes on unit unitnumber the full list of opened units and their associated filenames.
Compute report about logical unit iunit and write it on unit unitnumber. Note : All possible features of the "inquire" intrinsic are used.
Close all currently opened units.
Returns a free fortran unit freeunit as an integer between 1 and FILEUNIT_MAX_UNIT_NUMBER, representing a free FORTRAN logical unit. If no free unit can be found, generates an error. Note that fileunit_getfreeunit assumes that units 5 and 6 are special, and will never return those values. Original Author : John Burkardt
Configure the behaviour of the component whenever an error is met. If stoponerror is true, then the execution stops if an error is encountered. If stoponerror is false, then the execution continues if an error is encountered. In both cases, a message is displayed on standard output.
allow to "lock" a collection of logical units, so that an external library which may use constant units can be linked.
allow to "unlock" one unit, or all units at once.
Copyright © 2008 Michael Baudin michael.baudin@gmail.com


This essay is written by an anonymous author, and was found while surfing the deeper web by Mattis. It is left without edits and is stored here as a significant piece in cyber-anarchism. Enjoy reading!
# THE TREASURE WHICH IS PRIVACY
=============================
Abstract:
The Philosophy of Privacy Extremism emphasizes that privacy should be
maintained in all situations; that if in question, privacy should be given
preference, unless sufficient arguments to the contrary apply to the specific situation.
Privacy serves as a necessary condition for engaging in meaningful and
truthful interpersonal relationships.
Furthermore privacy is a necessary condition under which a person can develop
a self and embrace individual responsibility for decisions and actions that
result from them.
A denial of privacy to the contrary establishes and maintains a lack and loss
of esteem, respect and value in and for things and other persons.
Privacy should therefor be the strong standard for personal behavior,
normative for those that thrive towards personal human positive development.
The Treasure which is Privacy
-----------------------------
The first response to someone who makes an effort to protect his privacy is
often "I have nothing to hide because I have nothing to fear" - usually
accompanied by an expression of righteous pride or the blissful presentation
of carelessness.
As with most routine responses that have become maxims of contemporary society
and proverbs uttered in reply to trigger words, this statement is more
informative about the speaker than of the addressee or the subject of
discussion.
More often than not its underlying meaning should be rephrased to read "I am
uneasy, maybe even afraid, around people that hide something". As such it
carries the implied request to anyone hearing it, that they shall stop
covering and hiding things to relieve the speaker of his uneasiness.
But even when taken at face value, above sentence communicates that it is the
lack of fear that is the speakers justification for not protecting his
privacy. Apart from the simple rejection of this statement as being false in
the light of existing and relevant threats and the reference to the
blissfulness of ignorance, it is the exclusiveness of fear as the proposed
reason for privacy that warrants consideration.
The reference to fear in this context should first be understood as an
instrument of rhetorics instead of an adequate choice of words in a balanced
and clearheaded reasoning.
Fear refers to the emotional response to existential danger and implies the
lack or loss of courage to confront the danger.
The sentence under analysis should thus be rephrased to read "You hide things
because you lack courage in the presence of an imagined existential threat."
It is therefor a double accusation of both cowardice and delusion.
Again it is not the focus of this analysis to show that protection of privacy
and admitting to doing so requires a bit more courage than to repeat common
proverbs, or that certain dangers exist that can be effectively answered by
privacy. Nor does it need emphasis that those who protect the privacy of
others often do so in the face of opponents that go a long way to ruin the
names, property, freedom and sometimes even health and life of those
courageous guards of privacy.
Instead it should be pointed out, that there are for more reasons to protect
ones privacy, and that of others, than fear of losing freedom or life or even
good reputation.
It is interesting to note that an old synonym for 'fear' could e awe,
admiration or astonishment, even respect.
Worded this way, one might read above sentence as "I hide nothing, because I
admire and respect nothing." This way it becomes clear that the denial of
privacy is often nothing but a lack of things that are valued and the demand
that others should not value something themselves.
It thus contains the claim that nothing should be special and set apart.
Which brings us to the original meaning of the word 'private'. In Latin it
refers to persons and things that were set apart from what would be available,
subordinate and used by all persons - the public.
Thus giving up one's privacy, as in the sentence we discuss, entails nothing
else but the transformation of the speaker into a not particularly important
and indistinguishable fragment of the mass. If the speaker is really not in
fear about anything, it would primarily refer to not fearing to become a
nothingness in the grey mass - just a grain of dust in the crowd.
It is safe to say then, that the speaker does not value and respect himself as
an individual human person, or that he cowardly fears to be recognized as
such.
Leaving the analysis of the original statement one should now focus on the
negation of the privacy opponent's reply while keeping its completed meaning
in mind:
"Because I value and respect some things, I hide some things."
Three areas shall serve as examples of preserving value through hiding:
Complex minority opinions, relationships between persons, and the human person
itself.
Complex opinions and bodies of knowledge that are valued highly by their
bearers are often only communicated under strict conditions to prevent
misunderstanding, misrepresentation, confusion and disintegration.
This is especially useful if the opinion is only held by a minority or if the
potential audience lacks the necessary context of knowledge to integrate and
consider the new information.
The strict conditions under which the information will be communicated serves
herein as the boundary between public and private. The more complex, valuable
and different from general knowledge the new information is, the stricter the
conditions of communicating them becomes. This can be seen in various areas.
Personal political or moral opinions, especially if they are held only by a
minority, will often not be communicated in situations that only allow
superficial or time restrained conversation.
These situations do not allow for the speaker to present and argue for their
position and thus risk for the information to be misunderstood and
misrepresented later.
The consequences of this disintegration of information can be witnessed in the
effects of hearsay that considers itself with minority groups and opinions,
leading to widespread false myths that often cannot be corrected afterwards
because they have become part of common knowledge.
Thus it is often favorable to conceal personal opinion and deprive the public
of correct information if otherwise the reinforcement of false information or
the support of slander are likely.
The quality of public and political debate as well as the celebrity and gossip
culture serve as evidence for this.
Numerous further examples about the protection of ideas through hiding exist
in history and shall only be mentioned for further reference: Pythagorism and
Platonism, the Apologists of early Christianity, the Orthodox Church liturgy,
natural science and political societies of the Enlightenment including Bacon
and Newton as members, Judaism, early Socialism.
Privacy in this regard serves to preserve the integrity, and often survival,
of information, ideas and opinions.
Another area of interest is privacy and the use of hiding for the sake of
other persons. To understand what role privacy plays in the context of
relationships between humans it is necessary to be aware of what communication
is.
Communication is any act of a sender to convey information to a receiver. This
involves forming signs - distinguishable and perceivable features - into
signals - the message to be transmitted.
The choice of signs and signals by the sender and their interpretation by the
receiver depend strongly on the context, what both parties perceive about each
other, themselves and their environment.
Another part of this context is the estimation of how difficult a sign is to
be produced which has an influence on as how truthful and intentional a signal
(message) is perceived.
A proverbial example for this is "to preach water and drink wine". One
immediately understands that abstaining form wine - which is more costly than
to consume it - increases the credibility of the message (and resolves the
otherwise apparent contradiction).
Maintaining privacy, in its various forms of hiding, concealing and silence,
is such an act of communication, a sign that carries a signal.
The sign of privacy, as it shall be called for sake of clarity, can carry a
variety of signals that depend on the context of the communication, and it can
be intended for a variety of recipients.
In itself privacy is a signal that discriminates between various degrees of
relationships, excluding some potential receivers from other intended
receivers. It is thus communicating which kinds of relationship the sender
intends to have, which in turn communicates the evaluation of the receiver by
the sender.
In blunt words, it separates the receivers into special and common people in
the eyes of the sender.
The "hijab" is an example which illustrates this well. Hijab refers to a veil
worn by many muslim women as soon as they enter marriageable age. It is always
worn in public and only taken off if no non-related men are present, such as
in exclusively female meetings or in the family circle.
The woman, if she chooses to wear the hijab, hereby communicates towards her
husband and all other men, that she chooses to have an exclusive intimate
relationship only with her husband and that she values her husband as being of
a special high value to her. It is a pledge of allegiance to her husband, and
a separation of herself from the availability to other men.
As can be seen in this example, hiding becomes a tool to communicate a value
perception and status of relationship in a discriminatory way.
Similar signs exist in western cultures as well. For example, the revelation
of the family's secret receipt towards the fiancee of a child serves as sign
of acceptance and inclusion into the family.
Similarly some topics of conversation are usually preserved for the close
relationship between couples, or that of good friends. This not only is a sign
of uptightness, if at all, but also a toll to show and maintain the deepness
of a special and exclusive relationship that is built on the mutual holding of
the other in high esteem.
The opposite, divulging information indiscriminately, thus communicates that
others are not held in high esteem and that the communicating party is
unwilling or unable to come to different evaluations of others.
Likewise the sharing of information with the public, if this information was
gained within a special relationship, should rightly be viewed as an act of
betrayal since it communicates that the thus damaged person is held in lower
regard than the receiving masses, even as assured of the opposite.
This hints at the reciprocity of these intimate relationships. Communicating
information, that is viewed as belonging in the private domain of friendship
or other kinds of deep and special relationship, will also signal to the
receiver that he should answer in an equally private manner as to return the
esteem granted to him as well as to save the speaker from embarrassment. It is
thus a matter of courtesy to not speak about private matters indiscriminately
since it puts the receiver into a potentially awkward situation.
However, this does not only apply to situations that imply reciprocity.
It speaks of equal disrespect of another person to make them part of an
unasked for communication of subjects that are hurtful, unpleasant or put the
recipient into a situation where he is challenged to act - if only to escape
his status of a recipient.
Instead, a communication that considers the reaction of others by using means
of privacy signals both intended and accidental recipients that the speaker
harbors respect for them.
This is even more true when the subject constitutes a tempting or harmful one
for the recipient. It shows utter disrespect if someone speaks of the
exquisite taste and warm feeling in the throat when drinking an alcoholic
beverage while a known dry alcoholic is addressed or present. It is as unwise
to flaunt with riches and have them lay around openly in the house since this
tempts the struggling housekeeper to steal out of impulse, or to communicate
without regard for potentially causing conflicts of interests in the
recipients.
Instead of hiding nothing, it is the hiding of information and actions that is
grounded in valuing and caring for others and truthfully communicating respect
and high esteem.
To conclude the use of privacy for the sake of others, one should also
consider the effects of actions on observers. As mentioned before, the
interpretation of signs as signals depends, among other things, on the
receiver's perception of the sender. This becomes relevant for the question of
privacy especially if the sender is perceived as a role model or bad example.
Here the behavior is a sign easily interpreted by the observer as sanctioning
of the action or its proscription if the action is not considered separately
from the sender.
Examples of this can be seen when bad actions of public figures are used as
justification for one's own actions, when otherwise laudable behavior is
viewed with suspicion when associated with persons of disgrace or when people
imitate celebrities even in their failures and bad judgement.
For additional consideration on privacy for the sake of others, an old book
shall be mentioned as reference: "Ueber den Umgang mit Menschen" by Freiherr
von Knigge.
The last area to examine here as an example of preserving value through hiding
is the human person itself.
At the core of this matter lies the question of what makes a person a "self"
instead of "an-other", and how this self can refer to itself over time as in
"I myself went to the park yesterday". What is this "I" or "self" we refer to,
and how does it come to be what it is instead of being something else.
There is no current consensus how to answer these questions, nor should it be
the task of this text to present and weigh the different views, nor to fully
develop a theory of personhood on its own.
Instead it will touch the process of the change of a person. How has a person
become what it is now, and how will it become what it will be in the future?
How does the process differentiate the self from another?
The popular answer is that genes, upbringing and society are the shapers of
persons, in different proportions depending on who one asks. Nevertheless
individuals are treated as moral agents, acting by decision and responsible
for the decisions made. It is a person who is punished for a crime, and not
schools, parents, evolution or society.
It is persons that are persuaded by others, asked to consider moral and
ethical categories, respected or disgraced for individual actions.
Clearly it is understood by most that a person is not shaped exclusively by
that which is not part of him, but also by himself.
Certainly genes, upbringing, society and the situative environment are
influences, but it is also the self that forms the self.
This self-forming takes place with every decision made, changing the status,
the shape of oneself, the individual path of the person through life.
Some might argue that every decision made is already and exclusively
determined by the previous state of the person and its environment, and that
as such no real decision is made because there is no choice but only the
effect of the cause which is the state of the universe.
Instead of refuting the deterministic and probabilistic denials of free will
as being ultimately self-contradictory, it shall be asserted that free will -
non-deterministic and non-probabilistic - is a required fact if rationality,
ethics and morality - all three - are in any way justifiable.
However small free will, that hard to grasp grain that tips the scales of our
decisions, might be, it plays the central role in the person becoming a Self.
For this to be effectually true, the influence of free will in the person's
decisions must be maximized so that it is will that dominates the decision in
freedom.
At that point privacy achieves its ultimate importance. Only in privacy can a
decision be contemplated in separation from the influence of other persons and
the own person, the self, actualized freely.
Hiding in privacy removes the tainting of the decision through outside
preselection of facts, outside censorship, the promise of reward and
punishment by other humans, hubris, pride and shame. Here honesty towards
one's self is possible.
It is only through and in privacy where a potential equilibrium of choices can
be discovered, just to be resolved through the action of the free will of the
Self.
If one is in any way determined to work on one's own self and aware of the
responsibility this entails, then privacy in this regard must be maintained.
Though even through giving up to develop one's self, a choice has been made
with the responsibility for it as it's consequence - except that this choice
is to be a product determined by others instead of a self.
A disregard for maintaining privacy in this area thus equals the utter
disrespect for the Self one is, and the potential selves one could become. It
is the denial and defiling of oneself as an individual person.
In conclusion the proposition is, that:
Only in privacy the "self of now" transcends itself to actualize "the self of
the future" through every decision made, integrating the "self of the past"
fully and becoming more of a Self by removing the influence of an Other.
---
In passing by it should be noted that the practice of hiding things because of
their value, especially if it the hiding of information about something, must
be subject of consideration as well.
It cannot be argued for using lies as the method of concealment, since this
would often result in doing a disfavor to the thing valued and respected. Nor
can a life of lies result in a positive development of the Self.
Instead it is the concealing of information, without replacing them with a
false statement that is communicated as the whole truth only, that should be
chosen as a means.
Which however presents another problem:
As much as the presence of a sign can be a signal, its absence can be one too.
Indeed it is the presence of some signs that can signal the meaning
communicated by other signs.
Selective privacy might as such communicate the content of what should have
been concealed.
For example, if one is asked for one's favorite color and presented with a
series of potential answers, it is the denying of the incorrect answers and
the silence towards the correct answer that communicates what was intended to
remain hidden.
It should thus be noticed, that the hiding of one thing necessitates the
hiding of other things of the same context. As a means thereof it is
preferable to keep silent instead of lying, as stated above.
---
So far, the privacy opponent's reply "I have nothing to hide because I have
nothing to fear" has been shown to be a rhetoric trap, or at least an
insufficiently contemplated cultural maxim. It has also been shown that there
exist good reasons to embrace privacy, hiding and concealment.
However, this text cannot be complete without some short answers to those,
that identify privacy and secrecy as roots of evil in society that erode every
social and political system and relationship.
Their primary argument is, that privacy encourages and facilitates all kinds
of corruption and abuse of power.
Furthermore they claim that privacy results in the disintegration of the
interpersonal bonds that hold society together.
To the first, two replies shall be given:
For one, it has long be understood that abuse of power and corruption are
systemic to power and delegation themselves, and that transparency and
accountability are mere interventions to limit the spread of these flaws at
the root of the problem.
Instead of attacking privacy as being the problem, one should think about
alternative methods of cooperation and organization that are free of these
negative systemic tendencies in themselves.
On a more shallow note it should be pointed out that the people active in
positions and offices have given up their status of private persons in
exchange to be leaders and representatives of the public - the masses.
Instead of developing themselves and their relationships they have chosen to
become instruments of the public, or at least they pretend as much.
How can such an argument against privacy then be used against the privacy of
people that remain private instead of public? This appears to be fallacious.
Towards their second argument, the "disintegration of interpersonal bonds that
hold society together", it should be be understood both what "society" is, and
what "interpersonal bonds" may refer to.
Society is not a collective of interdependent persons connected b shared
emotional states and intimacy, that would be what is commonly referred to as
"family".
Instead, society is the cooperative organization of persons that is held
together by norms of interaction and shared understanding of necessary and
useful methods of cooperation.
It is thus the actions toward society in the realm of society and not the
totality of actions and knowledge that constitute these bonds in practice.
The partaking in society is thus a voluntary, freely chosen and limited
activity by each of its members for the purpose of cooperation with all other
others in society.
Privacy only becomes erosive to societies that intend to regulate and organize
even those individual activities that neither rely nor influence all of
society. These societies are commonly identified with Totalitarism.
Instead of relying on a bonding through a shared experience off weakness and
lack of self, or directing society to be bound by the smallest - and lowest -
common denominators, a society of privacy allows for the progression of all
members to actualize higher potentials without replacing the individual person
with the collective Other of society.
Privacy thus nurtures societies that thrive for improvement.
This might even hold the potential for individual actors to integrate
justifiable norms of social interaction into their Selves through independent
contemplation and decisions instead of understanding these norms as being
imposed by an Other.
Does this hold the promise of social interaction to become more reliable and
truthful? Answering affirmative seems to be more justifiable than the
negation.
However, one warning against privacy is appropriate.
Be it a personal lifestyle or a culture of privacy, both demand personal
improvement from each partaking individual.
This is the result of privacy to allow for, and supporting of, discriminatory
relationships and the decoupling from the influence of others.
Privacy thus removes many opportunities to blame others and to excuse oneself
in light of personal error. Nevertheless, privacy also allows for many
justified second chances and true forgiveness.
In summary it can be concluded that maintaining privacy and hiding of things
serves well in preserving and expressing the values one attributes to things
and other persons.
Furthermore privacy is a necessary condition for the continual development of
the Self and the sustentation of truthful and honest interpersonal
relationships by means of communicative discrimination.
In turn, the denial of privacy must be realized to be unjustified and even
harmful. The presented arguments for the allegedly negative impact of privacy
have been found to be without merit or even supporting the strong use of
privacy in society.
The conclusion drawn is therefor that opposition to privacy as in "I hide
nothing because I have nothing to fear" cannot be a default behavior.
Instead the use and support of privacy in the form of "Because I value many
things, therefor I hide many things" should be the standard unless it clearly
needs to be abandoned for specific situations, if at all.


Consultants: More inpatient psychiatric beds needed
RAPID CITY, S.D. (AP) - Consultants are recommending that Pennington County add inpatient psychiatric beds at Regional Behavioral Health Center in Rapid City.
Behavioral Health Services director Dr. Katy Sullivan says the consultants from the National Council for Behavioral Health took a look at the community and the availability of mental health services and recommended adding 30 inpatient beds.
KOTA-TV reports the consultants’ report listed 12 additional proposals dealing with mental health. They include bolstering the existing system of recovery housing and employment support and adding more case managers to specialty courts that deal with drugs, drunken driving, veterans and mental health.
There are 52 beds at Regional Behavioral Health Center, 34 are for adults and18 are for children.
Information from: KOTA-TV, http://www.kotatv.com
Sign up for Daily Newsletters
Copyright © 2019 The Washington Times, LLC.
Please read our comment policy before commenting.


StatSpring Git Pages Site & Repo
Get Springing here:
$ cd your_repo_root/repo_name
$ git fetch origin
$ git checkout gh-pages
Serving is faster and cheaper than ever before and we all love digital ocean, but for many purposes Wordpress and database driven apps and resources are just overkill and slowing down the web, and static site generators are still lets face it awfully geeky and technical for non techie types who can't spell markdown. There's a faster better cheaper distributed way we can change this. And we're going to let you try it very soon.
 It can still happen though we all commend the US President for his thoughtful and timely attention to the issue and related political appointments, research If not for the last minute phone call from the governor so to speak, we'd be seriously in it right about now. Or would we? We've pondered that fear with some smart people who agree we can take the web more into the hands of the individual the end user. Minimize data streams in every way
In developing our solutions we have been looking at alternative outlets and communications models, and truly its amazing how much is undone despite the webs frantic mission to be better faster safer and more accessible.
[ ] Containerization [ ] Virtualization [ ] Ephemeral Data Life [ ] Client Side Processing [ ] Enhanced Metrics
These are the technologies that we are using to do more with less. To speed up while slowing down. They have the power to safeguard, and enrich our lives, while tripling our productivity. They may even have the power to extend our lives, indefinitely.
We're doing our small part to begin bringing some of these technologies into our daily lives, but first we want to make sure the right foundation is laid. and that means. Safeguarding our privacy, limiting our dependence on falsely inflated commodities like oil, and an economy based on theoretical value as determined by confidence levels amongst a majority who is constantly being manipulated. Many things will have to change open source is good but the individual cannot be forgotten in the shadow of the collective. We need to find the golden triangle to bring balance symbiotic harmony amongst the many the few and the individual.
You can @mention a GitHub username to generate a link to their profile. The resulting <a>
element will link to the contributor's GitHub Profile.
spring into action need help? contact us<EMAIL_ADDRESS>and we’ll help you sort it out.


"""
The RegressionFDR class implements the 'Knockoff' approach for
controlling false discovery rates (FDR) in regression analysis.
The knockoff approach does not require standard errors. Thus one
application is to provide inference for parameter estimates that are
not smooth functions of the data. For example, the knockoff approach
can be used to do inference for parameter estimates obtained from the
LASSO, of from stepwise variable selection.
The knockoff approach controls FDR for parameter estimates that may be
dependent, such as coefficient estimates in a multiple regression
model.
The knockoff approach is applicable whenever the test statistic can be
computed entirely from x'y and x'x, where x is the design matrix and y
is the vector of responses.
Reference
---------
Rina Foygel Barber, Emmanuel Candes (2015). Controlling the False
Discovery Rate via Knockoffs. Annals of Statistics 43:5.
http://statweb.stanford.edu/~candes/papers/FDR_regression.pdf
"""
import numpy as np
from statsmodels.compat.numpy import np_new_unique
[docs]class RegressionFDR(object):
"""
Control FDR in a regression procedure.
Parameters
----------
endog : array-like
The dependent variable of the regression
exog : array-like
The independent variables of the regression
regeffects : RegressionEffects instance
An instance of a RegressionEffects class that can compute
effect sizes for the regression coefficients.
method : string
The approach used to asssess and control FDR, currently
must be 'knockoff'.
Returns
-------
Returns an instance of the RegressionFDR class. The `fdr` attribute
holds the estimated false discovery rates.
Notes
-----
This class Implements the knockoff method of Barber and Candes.
This is an approach for controlling the FDR of a variety of
regression estimation procedures, including correlation
coefficients, OLS regression, OLS with forward selection, and
LASSO regression.
For other approaches to FDR control in regression, see the
statsmodels.stats.multitest module. Methods provided in that
module use Z-scores or p-values, and therefore require standard
errors for the coefficient estimates to be available.
The default method for constructing the augmented design matrix is
the 'equivariant' approach, set `design_method='sdp'` to use an
alternative approach involving semidefinite programming. See
Barber and Candes for more information about both approaches. The
sdp approach requires that cvxopt be installed.
"""
def __init__(self, endog, exog, regeffects, method="knockoff",
**kwargs):
if "design_method" not in kwargs:
kwargs["design_method"] = "equi"
nobs, nvar = exog.shape
if kwargs["design_method"] == "equi":
exog1, exog2, _ = _design_knockoff_equi(exog)
elif kwargs["design_method"] == "sdp":
exog1, exog2, _ = _design_knockoff_sdp(exog)
endog = endog - np.mean(endog)
self.endog = endog
self.exog = exog
self.exog1 = exog1
self.exog2 = exog2
self.stats = regeffects.stats(self)
unq, inv, cnt = np_new_unique(self.stats, return_inverse=True,
return_counts=True)
# The denominator of the FDR
cc = np.cumsum(cnt)
denom = len(self.stats) - cc + cnt
denom[denom < 1] = 1
# The numerator of the FDR
ii = np.searchsorted(unq, -unq, side='right') - 1
numer = cc[ii]
numer[ii < 0] = 0
# The knockoff estimated FDR
fdr = (1 + numer) / denom
self.fdr = fdr[inv]
self._ufdr = fdr
self._unq = unq
[docs] def threshold(self, tfdr):
"""
Returns the threshold statistic for a given target FDR.
"""
if np.min(self._ufdr) <= tfdr:
return self._unq[self._ufdr <= tfdr][0]
else:
return np.inf
def _design_knockoff_sdp(exog):
"""
Use semidefinite programming to construct a knockoff design
matrix.
Requires cvxopt to be installed.
"""
try:
from cvxopt import solvers, matrix
except ImportError:
raise ValueError("SDP knockoff designs require installation of cvxopt")
nobs, nvar = exog.shape
# Standardize exog
xnm = np.sum(exog**2, 0)
xnm = np.sqrt(xnm)
exog /= xnm
Sigma = np.dot(exog.T, exog)
c = matrix(-np.ones(nvar))
h0 = np.concatenate((np.zeros(nvar), np.ones(nvar)))
h0 = matrix(h0)
G0 = np.concatenate((-np.eye(nvar), np.eye(nvar)), axis=0)
G0 = matrix(G0)
h1 = 2 * Sigma
h1 = matrix(h1)
i, j = np.diag_indices(nvar)
G1 = np.zeros((nvar*nvar, nvar))
G1[i*nvar + j, i] = 1
G1 = matrix(G1)
solvers.options['show_progress'] = False
sol = solvers.sdp(c, G0, h0, [G1], [h1])
sl = np.asarray(sol['x']).ravel()
xcov = np.dot(exog.T, exog)
exogn = _get_knmat(exog, xcov, sl)
return exog, exogn, sl
def _design_knockoff_equi(exog):
"""
Construct an equivariant design matrix for knockoff analysis.
Follows the 'equi-correlated knockoff approach of equation 2.4 in
Barber and Candes.
Constructs a pair of design matrices exogs, exogn such that exogs
is a scaled/centered version of the input matrix exog, exogn is
another matrix of the same shape with cov(exogn) = cov(exogs), and
the covariances between corresponding columns of exogn and exogs
are as small as possible.
"""
nobs, nvar = exog.shape
if nobs < 2*nvar:
msg = "The equivariant knockoff can ony be used when n >= 2*p"
raise ValueError(msg)
# Standardize exog
xnm = np.sum(exog**2, 0)
xnm = np.sqrt(xnm)
exog /= xnm
xcov = np.dot(exog.T, exog)
ev, _ = np.linalg.eig(xcov)
evmin = np.min(ev)
sl = min(2*evmin, 1)
sl = sl * np.ones(nvar)
exogn = _get_knmat(exog, xcov, sl)
return exog, exogn, sl
def _get_knmat(exog, xcov, sl):
# Utility function, see equation 2.2 of Barber & Candes.
nobs, nvar = exog.shape
ash = np.linalg.inv(xcov)
ash *= -np.outer(sl, sl)
i, j = np.diag_indices(nvar)
ash[i, j] += 2 * sl
umat = np.random.normal(size=(nobs, nvar))
u, _ = np.linalg.qr(exog)
umat -= np.dot(u, np.dot(u.T, umat))
umat, _ = np.linalg.qr(umat)
ashr, xc, _ = np.linalg.svd(ash, 0)
ashr *= np.sqrt(xc)
ashr = ashr.T
ex = (sl[:, None] * np.linalg.solve(xcov, exog.T)).T
exogn = exog - ex + np.dot(umat, ashr)
return exogn


Three bed three bath townhouse at The Lofts. Comes with two car garage, central AC, keyed locks for all bedrooms, and each bedroom has its own bathroom.
318 W 7th St #4
$1,600/mo
4 bed/2 bath
Four bedroom blocks from CSUC and downtown. Washer and dryer in apartments
1406 W 7th St
$1,375/mo
4 bed/2 bath
Spacious home with great backyard! Located on a beautiful tree-lined street close to bus stops, shopping and schools, this home has everything you need. Interior features new flooring, paint and upgrades! 1/5 mile away from campus
1105 Hobart St
$1,400/mo
4 bed/ 1 bath
Large four bedroom home with huge basement and front yard. On the corner of W. 1st Ave and Hobart, only blocks from CSUC and downtown.
542 Nord Ave
$885.00/mo
2 bed/ 1.5 bath
This smaller community is only one minute away from CSU Chico, shopping and restaurants! We have a spacious, open living area in our 2bedroom 1bath townhome that are approx. 900 square feet with a bedroom size of 11' X 13'. Central Air/Heating, Dishwasher, Garbage Disposal, Gas Range, & Refrigerator are all included. Our flats are open and spacious one story living. Bonuses are our Double Bedroom Closets with Shelves, Washer/Dryer, & Private Backyard/Patio. Water & Garbage Paid! Call for a Tour of our townhomes or more economical flats now!
533 Orange St
$2,025/mo
3 bed/ 3 bath
Located on the corner of Orange and 6th Streets, Portland Place is Chico's newest upscale student destination. Residents enjoy the convenience of three spacious bedrooms with private baths, attached garages, granite counter-tops, vinyl plank flooring, full size washer and dryer, individually controlled thermostats in each bedroom and much more. Completed in Summer 2014, Portland Place is perfect for your four years at Chico State or last year. Reserve Now for Summer 2015!
348 W. Sacramento St
$695/mo
1 bed/ 1 bath
Jack Scott apartments offers spacious one bedroom, one bath apartments close to the heart of Chico. Our small friendly complex couldn't be in a more convenient location for CSUC students. With less than a 5 minute walk to campus and downtown, Jack Scott is easily one of the best located apartment communities in town!
815 W. 5th St
$750/mo
1 bed/ 1 bath
These beautiful one bedroom, one bath apartments are located in the center of Chico State University life. This great property offers lots of parking, a locked on-site laundry facility, tile flooring, tiled kitchen counters with a cool backsplash, garbage disposal & lots of cabinet storage. All located across the street from Joe's Bar and all that Chico's great downtown has to offer and a few short blocks to the Chico State campus.
943 Ivy St
$1,200/mo
2 beds/ 1 bath
Fully renovated from top to bottom in 2012, this great 3 bedroom/2 bath house AND 2 bedroom/1 bath cottage has everything you need for your college years! The front house has gorgeous hard wood flooring, central heating & AC, new carpet in the bedrooms, tile flooring in the kitchen, new kitchen cabinets & countertop, dishwasher, full size washer & dryer, ceiling fans, two driveways with lots of off-street parking, and a large back yard. The cottage has it's own fully updated kitchen, full size washer/dryer and back patio. The back yard and driveway are shared with the house. The perfect home for your college years at CSUC!*3 bedroom/2 bath house has been leased for the 2015/16 school year.
1200 Sherman Ave
$900/mo
2 bed/ 1 bath
Sherman Village Apartments are centrally located in a quiet neighborhood adjacent to the Butte County Library. These attractive two and three bedroom apartment homes offer you a quiet atmosphere of comfortable living, attractive landscaping and a sense of community.
With its close proximity to CSUC, downtown Chico, public transportation, schools, shopping, Bidwell Park and much more, you are sure to enjoy living in these beautiful apartments designed for serenity and convenience.


TimePay
Home
(current)
Menu
Add Task
Another action
Something else here
Pending Work
{% for task in pending %}
{{task.3}}
{{task.4}}
Submition date:
{{task.6}}
start
{% endfor %}
{{dmsg}}
ADD TASK
Work in progress
{% for task in progress %}
{{task.3}}
{{task.4}}
Submition date:
{{task.6}}
Done
{% endfor %}
{{pmsg}}
Finished
{% for task in completed %}
{{task.3}}
{{task.4}}
submitted on:
{{task.6}}
delete
{% endfor %}
{{cmsg}}
Chat with Support
Start Chat
{
}
Send


| DOSE: |
80 mg |
insufflated |
DPT |
(liquid) |
Usel, Mars and I sat down for to meet a new molecule. We were in my small apartment sitting on the floor and had some ambient Eastern influenced music rolling on the laptop w/winamp providing good visuals. Surrounded w/pillows and music we had a good safe setting for a new experience.
Mars had tried smoking it before but did not have a totally positive experience. We decided to get our 80 miligram dose into solution and administer it nasally. We had 10cc syringes which we removed the sharp from and dribbled the solution down our nose. This was effective but somewhat unpleasant and kept me tied to my body. Mars started to go via nasal path but when it hit his passages he said 'screw this' and went into the bathroom for anal administration. While this might sound odd it believe that this method produces the best results. Mars had none of the unpleasant sinus effects that Usel and I did.
Once administered we took note of the time (10:00pm). Initial onset of sensation began @ +10 and we were full bore @ +30 (altho i can't say exactly b/c i was not in this plane). The experience was hard and fast. I remember Mars saying that no matter how far you go out you'll be back in an hour. That was true but it was a bit more than an hour to be level again.
As I said the experrience was hard and fast. Once it took off I was hard pressed to have present focus. I could open my eyes and look @ the visuals but why, I just closed my eyes and drifted off into the DPT space again. I noticed that Mars had a very beatific smile as he sat in half lotus w/eyes closed. I was, on the otherhand, battling with the sensations in my sinus cavities that kept me relatively earthbound. Usel said the same. I did get out some as the discomfort came in waves. It was so intense that I have trouble remembering or describing exactly how it felt. I do know that my ego was stripped away @ moments (but there was that pesky sinus pain again).
At +75 min. we were able to engage w/the world somewhat and @ +90 we could talk to each other again. I was still in and out for another 2 hours as the plateau decayed. Mars dropped faster as his administration hit the system and was out quickly. Usel and I both experienced rushes as we would inhale or snort to ease our aching sinuses. We were able to gather outselves by +3hr and decided to head back to our homes. The deciding factor was 'Can I drive?', 'I think I can'. We took Usel home, Mars and I decided to have breakfast. This was now +4 hr and I was finally winding down. I had liittle trouble shutting down to sleep. I did feel a off the next day, neither Mars nor Usel reported any after effects however.
For me I felt very drained and a bit disassociated from the rest of the world. It took a day to recover fully. I did notice another effect that was good, I did not have the desire to drink alcohol (usually a daily thing) for the next couple of days. I would liike to explore that further and see what sort of self programming/deprogramming could be done there.
All in All it was a good experience. I'm not sure what I brought back and still unsure of the full landscape I saw. It was an interesting space like I said hard and fast. I will take a bit of doing to map it further but I'm sure I'll make the effort.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Description: This module filters the variants that are shared in the cases (affected individuals, Phenotype=2). This does not filter the variants against the unaffected individuals.
Parameters:Chose Genotype: The user can chose the genotype of the variants: HET (heterozygous), HOM_ALT (homozygous alternate) or HET HOM_ALT (heterozygous and homozygous) from the dropdown list.
Minimum cases to have the genotype: To rescue the missing genotypes, user can specify the minimum number of cases to have the selected genotype.
Maximum MAF in controls: Inaddition, the user can relax the criteria by allowing the variant to be present in controls by providing maximum minor allele frequency of the variants in the control cohort.
Required columns in PED file:IndividualID and Phenotype columns are required in pedigree analysis and case-control modules.


Hello fellow humans, Just thought you should know there's some stalls waiting to be approved. Head on over to the Admin Console to review them :) Much love, Your friendly neighbourhood Democracy Sausage Bot


Derek Hough undergoes emergency appendectomy
by Karen ButlerNov. 17 (UPI) -- Television personality and dancer Derek Hough is recovering from an emergency appendectomy this weekend.
"Woke up at 3am with a severe and a sharp pain in my abdomen. Knew something wasn't right. Turned out it was appendicitis and had surgery to remove my appendix straight away. This is me immediately after, still a little(a lot) medicated, giving @hayley.erbert a (sexy) little dance. Me: Is this doing it for you babe? Hayley: So hot. Thank you for lying to me babe ;)" the 34-year-old Dancing with the Stars alum captioned a brief video on Instagram.
The clip shows Hough looking miserable and wearing a hospital gown, but trying to make the best of the bad situation.
Hough is a judge on the competition show World of Dance. He is dating dancer Hayley Erbert.


|
NSVD Reader
0.0.1
|
svd_reader base class for stream type parser subclasses must be implements read method and is_end method More...
#include <svd_reader.hpp>
Public Types | |
| using | el = stream_reader_element< stream_reader_base > |
Public Member Functions | |
| stream_reader_base () | |
| virtual | ~stream_reader_base ()=default |
| stream_reader_base (stream_reader_base &&d) | |
| stream_reader_base & | operator= (stream_reader_base &&d) |
| stream_reader_base (const stream_reader_base &)=delete | |
| stream_reader_base & | operator= (const stream_reader_base &)=delete |
| bool | is_attribute () const |
| std::string | get_name () const |
| std::string | get_value () const |
| el & | next_child () |
| operator bool () | |
| void | operator() (el &e) |
| el & | add_child (std::string &&name) |
| el & | add_child (const std::string &name) |
| el * | get_active_open_element () |
| void | close_children () |
svd_reader base class for stream type parser subclasses must be implements read method and is_end method
| SubClass | subclass type |
Definition at line 356 of file svd_reader.hpp.
| using nodamushi::svd::stream_reader_base< SubClass >::el = stream_reader_element<stream_reader_base> |
Definition at line 358 of file svd_reader.hpp.
|
inline |
Definition at line 360 of file svd_reader.hpp.
|
virtualdefault |
|
inline |
Definition at line 368 of file svd_reader.hpp.
|
delete |
|
inline |
Definition at line 422 of file svd_reader.hpp.
|
inline |
Definition at line 429 of file svd_reader.hpp.
|
inline |
Definition at line 450 of file svd_reader.hpp.
|
inline |
Definition at line 436 of file svd_reader.hpp.
|
inline |
Definition at line 393 of file svd_reader.hpp.
|
inline |
Definition at line 394 of file svd_reader.hpp.
|
inline |
Definition at line 388 of file svd_reader.hpp.
|
inline |
Definition at line 396 of file svd_reader.hpp.
|
inline |
Definition at line 400 of file svd_reader.hpp.
|
inline |
Definition at line 414 of file svd_reader.hpp.
|
inline |
Definition at line 374 of file svd_reader.hpp.
|
delete |


SEMCTL
Section: Linux Programmer's Manual (2)
Updated: 2013-06-03
Index
Return to Main Contents
NAME
semctl - System V semaphore control operations
SYNOPSIS
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>
int semctl(int semid, int semnum, int cmd, ...);
DESCRIPTION
semctl()
performs the control operation specified by
cmd
on the System V semaphore set identified by
semid,
or on the
semnum-th
semaphore of that set.
(The semaphores in a set are numbered starting at 0.)
This function has three or four arguments, depending on
cmd.
When there are four, the fourth has the type
union semun.
The calling program must define this union as follows:
union semun {
int val; /* Value for SETVAL */
struct semid_ds *buf; /* Buffer for IPC_STAT, IPC_SET */
unsigned short *array; /* Array for GETALL, SETALL */
struct seminfo *__buf; /* Buffer for IPC_INFO
(Linux-specific) */
};
The
semid_ds
data structure is defined in <sys/sem.h> as follows:
struct semid_ds {
struct ipc_perm sem_perm; /* Ownership and permissions */
time_t sem_otime; /* Last semop time */
time_t sem_ctime; /* Last change time */
unsigned long sem_nsems; /* No. of semaphores in set */
};
The
ipc_perm
structure is defined as follows
(the highlighted fields are settable using
IPC_SET):
struct ipc_perm {
key_t __key; /* Key supplied to semget(2) */
uid_t uid; /* Effective UID of owner */
gid_t gid; /* Effective GID of owner */
uid_t cuid; /* Effective UID of creator */
gid_t cgid; /* Effective GID of creator */
unsigned short mode; /* Permissions */
unsigned short __seq; /* Sequence number */
};
Valid values for
cmd
are:
- IPC_STAT
-
Copy information from the kernel data structure associated with
semid
into the
semid_ds
structure pointed to by
arg.buf.
The argument
semnum
is ignored.
The calling process must have read permission on the semaphore set.
- IPC_SET
-
Write the values of some members of the
semid_ds
structure pointed to by
arg.buf
to the kernel data structure associated with this semaphore set,
updating also its
sem_ctime
member.
The following members of the structure are updated:
sem_perm.uid,
sem_perm.gid,
and (the least significant 9 bits of)
sem_perm.mode.
The effective UID of the calling process must match the owner
(sem_perm.uid)
or creator
(sem_perm.cuid)
of the semaphore set, or the caller must be privileged.
The argument
semnum
is ignored.
- IPC_RMID
-
Immediately remove the semaphore set,
awakening all processes blocked in
semop(2)
calls on the set (with an error return and
errno
set to
EIDRM).
The effective user ID of the calling process must
match the creator or owner of the semaphore set,
or the caller must be privileged.
The argument
semnum
is ignored.
- IPC_INFO (Linux-specific)
-
Return information about system-wide semaphore limits and
parameters in the structure pointed to by
arg.__buf.
This structure is of type
seminfo,
defined in
<sys/sem.h>
if the
_GNU_SOURCE
feature test macro is defined:
struct seminfo {
int semmap; /* Number of entries in semaphore
map; unused within kernel */
int semmni; /* Maximum number of semaphore sets */
int semmns; /* Maximum number of semaphores in all
semaphore sets */
int semmnu; /* System-wide maximum number of undo
structures; unused within kernel */
int semmsl; /* Maximum number of semaphores in a
set */
int semopm; /* Maximum number of operations for
semop(2) */
int semume; /* Maximum number of undo entries per
process; unused within kernel */
int semusz; /* Size of struct sem_undo */
int semvmx; /* Maximum semaphore value */
int semaem; /* Max. value that can be recorded for
semaphore adjustment (SEM_UNDO) */
};
The
semmsl,
semmns,
semopm,
and
semmni
settings can be changed via
/proc/sys/kernel/sem;
see
proc(5)
for details.
- SEM_INFO (Linux-specific)
-
Return a
seminfo
structure containing the same information as for
IPC_INFO,
except that the following fields are returned with information
about system resources consumed by semaphores: the
semusz
field returns the number of semaphore sets that currently exist
on the system; and the
semaem
field returns the total number of semaphores in all semaphore sets
on the system.
- SEM_STAT (Linux-specific)
-
Return a
semid_ds
structure as for
IPC_STAT.
However, the
semid
argument is not a semaphore identifier, but instead an index into
the kernel's internal array that maintains information about
all semaphore sets on the system.
- GETALL
-
Return
semval
(i.e., the current value)
for all semaphores of the set into
arg.array.
The argument
semnum
is ignored.
The calling process must have read permission on the semaphore set.
- GETNCNT
-
Return the value of
semncnt
for the
semnum-th
semaphore of the set
(i.e., the number of processes waiting for an increase of
semval
for the
semnum-th
semaphore of the set).
The calling process must have read permission on the semaphore set.
- GETPID
-
Return the value of
sempid
for the
semnum-th
semaphore of the set
(i.e., the PID of the process that executed the last
semop(2)
call for the
semnum-th
semaphore of the set).
The calling process must have read permission on the semaphore set.
- GETVAL
-
Return the value of
semval
for the
semnum-th
semaphore of the set.
The calling process must have read permission on the semaphore set.
- GETZCNT
-
Return the value of
semzcnt
for the
semnum-th
semaphore of the set
(i.e., the number of processes waiting for
semval
of the
semnum-th
semaphore of the set to become 0).
The calling process must have read permission on the semaphore set.
- SETALL
-
Set
semval
for all semaphores of the set using
arg.array,
updating also the
sem_ctime
member of the
semid_ds
structure associated with the set.
Undo entries (see
semop(2))
are cleared for altered semaphores in all processes.
If the changes to semaphore values would permit blocked
semop(2)
calls in other processes to proceed, then those processes are woken up.
The argument
semnum
is ignored.
The calling process must have alter (write) permission on
the semaphore set.
- SETVAL
-
Set the value of
semval
to
arg.val
for the
semnum-th
semaphore of the set, updating also the
sem_ctime
member of the
semid_ds
structure associated with the set.
Undo entries are cleared for altered semaphores in all processes.
If the changes to semaphore values would permit blocked
semop(2)
calls in other processes to proceed, then those processes are woken up.
The calling process must have alter permission on the semaphore set.
RETURN VALUE
On failure,
semctl()
returns -1
with
errno
indicating the error.
Otherwise, the system call returns a nonnegative value depending on
cmd
as follows:
- GETNCNT
-
the value of
semncnt.
- GETPID
-
the value of
sempid.
- GETVAL
-
the value of
semval.
- GETZCNT
-
the value of
semzcnt.
- IPC_INFO
-
the index of the highest used entry in the
kernel's internal array recording information about all
semaphore sets.
(This information can be used with repeated
SEM_STAT
operations to obtain information about all semaphore sets on the system.)
- SEM_INFO
-
as for
IPC_INFO.
- SEM_STAT
-
the identifier of the semaphore set whose index was given in
semid.
All other
cmd
values return 0 on success.
ERRORS
On failure,
errno
will be set to one of the following:
- EACCES
-
The argument
cmd
has one of the values
GETALL,
GETPID,
GETVAL,
GETNCNT,
GETZCNT,
IPC_STAT,
SEM_STAT,
SETALL,
or
SETVAL
and the calling process does not have the required
permissions on the semaphore set and does not have the
CAP_IPC_OWNER
capability.
- EFAULT
-
The address pointed to by
arg.buf
or
arg.array
isn't accessible.
- EIDRM
-
The semaphore set was removed.
- EINVAL
-
Invalid value for
cmd
or
semid.
Or: for a
SEM_STAT
operation, the index value specified in
semid
referred to an array slot that is currently unused.
- EPERM
-
The argument
cmd
has the value
IPC_SET
or
IPC_RMID
but the effective user ID of the calling process is not the creator
(as found in
sem_perm.cuid)
or the owner
(as found in
sem_perm.uid)
of the semaphore set,
and the process does not have the
CAP_SYS_ADMIN
capability.
- ERANGE
-
The argument
cmd
has the value
SETALL
or
SETVAL
and the value to which
semval
is to be set (for some semaphore of the set) is less than 0
or greater than the implementation limit
SEMVMX.
CONFORMING TO
SVr4, POSIX.1-2001.
POSIX.1-2001 specifies the
sem_nsems
field of the
semid_ds
structure as having the type
unsigned short,
and the field is so defined on most other systems.
It was also so defined on Linux 2.2 and earlier,
but, since Linux 2.4, the field has the type
unsigned long.
NOTES
The inclusion of
<sys/types.h>
and
<sys/ipc.h>
isn't required on Linux or by any version of POSIX.
However,
some old implementations required the inclusion of these header files,
and the SVID also documented their inclusion.
Applications intended to be portable to such old systems may need
to include these header files.
The
IPC_INFO,
SEM_STAT
and
SEM_INFO
operations are used by the
ipcs(1)
program to provide information on allocated resources.
In the future these may modified or moved to a
/proc
filesystem interface.
Various fields in a struct semid_ds were typed as
short
under Linux 2.2
and have become
long
under Linux 2.4.
To take advantage of this,
a recompilation under glibc-2.1.91 or later should suffice.
(The kernel distinguishes old and new calls by an
IPC_64
flag in
cmd.)
In some earlier versions of glibc, the
semun
union was defined in <sys/sem.h>, but POSIX.1-2001 requires
that the caller define this union.
On versions of glibc where this union is not defined,
the macro
_SEM_SEMUN_UNDEFINED
is defined in <sys/sem.h>.
The following system limit on semaphore sets affects a
semctl()
call:
- SEMVMX
-
Maximum value for
semval:
implementation dependent (32767).
For greater portability, it is best to always call
semctl()
with four arguments.
SEE ALSO
ipc(2),
semget(2),
semop(2),
capabilities(7),
sem_overview(7),
svipc(7)
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- RETURN VALUE
-
- ERRORS
-
- CONFORMING TO
-
- NOTES
-
- SEE ALSO
-
This document was created by
man2html,
using the manual pages.
Time: 02:54:47 GMT, September 18, 2014


--- layout: page-company title: Contact Us contact: true ---
Please fill out the form below and someone will be in touch with you shortly.
Twitter Facebook Google+ LinkedIn


Hi {{ account.name or account.email }}
Please set your new password.
{% include "account/_reset_form.html" %}If you have any difficulties with your account, please contact us.
Please set your new password.
{% include "account/_reset_form.html" %}If you have any difficulties with your account, please contact us.


You are using an
outdated
browser. Please
upgrade your browser
to improve your experience.
Loading...


TEKSTEDIA is a Cameroon based company which offers services such as Digital Marketing, Branding Building, Graphics Designing, Web-Designing, Industrial Software, Motion Graphics & Animation.
Welcome.
Explore.
Enjoy.
The greatness in TEKSTEDIA.
I'm Sufor Brandon. A software engineer.
On behalf of TEKSTEDIA, I welcome you to a world of I.T


Disabled state
Root element of the plugin
Height of the image
Width of the image
Current options
Pending pieces
Height for each piece
Width for each piece
All the SnapPuzzlePieces that conforms the puzzle
Jquery element that will contain all the pieces
Jquery object with all the pieces
All the SnapPuzzlePieces as matrix
Control of the resize event
Jquery element that will contain all the slots
Jquery object with all the slots
Source of the image
Wrapper element for the widget.
Apply the css classes for options
Mark the widget as completed Triggers the [[SnapPuzzleEvents.end]] event
Construct the puzzle
Initialize t he SnapPuzzlePiece for a piece and slot
Creation of the widget
Creates each piece
Creates the container for pieces
Creates each slot
Creates the container for slots
Creates the wrapper for the widget
Internal destroy. Only destroys the markup and events, the instance of the widget still remains. Used to recreate the widget
JQuery ui function to get the default options
Invoked when a piece is dropped inside of the pieces container. Resets the classes
Invoked when a piece is placed. If the piece is correct, increment the completed counter. When all the pieces are placed correctly, triggers the [[SnapPuzzleEvents.end]] event
Invoked when the wrapper dimensions changes. Updates the pieces and slots
Invoked by jquery widget
Destroy the component
Disable the widget
Enable the widget
Refresh the dimensions and positions of the pieces and slots
Reset the puzzle reverting the pieces and resetting the progress.
Solve the puzzle. Multiple options are available
Generated using TypeDoc
Puzzle game


{% extends "base.html" %} {% block title %}Caroline County{% endblock %} {% block content %}
Caroline County is the 22nd largest county or county-equivalent in the State of Maryland based on the 2014 registration data.
Caroline county is merely average on both voters per polling place and voters per poll workers. In the small county, it may not be feasible to increase either locations or workers by much.


Using Rails
Rails is...
Setup
The Ruby and Rails communities have a collection of tools to manage their environments. While not strictly necessary
to set up a working Rails development environment, let's start things properly.
- Install RVM
- Install Ruby
- Install Rails
- Install PostgreSQL
- NOTE: Mention something about Bundler and the Gemfile
Creating a Rails Application
> rails new rails-test-project --database=postgresql
create
create README.rdoc
create Rakefile
create config.ru
create .gitignore
create Gemfile
create app
create app/assets/images/rails.png
...and so on. Once complete, we see that the rails new command created all of this:
We need to add a database user for our new Rails application to our Postgres database:
> psql -d postgres
psql (9.3.2)
Type "help" for help.
postgres=# create role rails_test_project login createdb;
CREATE ROLE
postgres=# \q
We now have a working skeleton of a Rails application, which we can test:
> rails server
Booting WEBrick
=> Rails 3.2.14 application starting in development on http://<IP_ADDRESS>:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2014-02-18 04:11:24] INFO WEBrick 1.3.1
[2014-02-18 04:11:24] INFO ruby 1.9.3 (2013-02-22) [x86_64-darwin12.3.0]
[2014-02-18 04:11:24] INFO WEBrick::HTTPServer#start: pid=3376 port=3000
The Design of Rails
A few core principles underlie the design of Rails:
- Convention over configuration
- MVC
- ...???...
Action Controller and Action View
Rails provides additional tools for creating views and controllers corresponding to user actions. For example,
if we wanted to enable users to either eat bacon or eat lutefisk, we could create an "Eat" controller with
corresponding bacon and lutefisk methods
> rails generate controller Eat bacon lutefisk
create app/controllers/eat_controller.rb
route get "eat/lutefisk"
route get "eat/bacon"
invoke erb
create app/views/eat
create app/views/eat/bacon.html.erb
create app/views/eat/lutefisk.html.erb
invoke test_unit
create test/functional/eat_controller_test.rb
invoke helper
create app/helpers/eat_helper.rb
invoke test_unit
create test/unit/helpers/eat_helper_test.rb
invoke assets
invoke coffee
create app/assets/javascripts/eat.js.coffee
invoke scss
create app/assets/stylesheets/eat.css.scss
rails-test-project/app/controllers/EatController.rb
class EatController < ApplicationController
def bacon
end
def lutefisk
end
end
rails-test-project/app/controllers/ApplicationController.rb
class ApplicationController < ActionController::Base
protect_from_forgery
end
For a good explanation of protect_from_forgery, read http://railskey.wordpress.com/2012/07/02/rails-protect_from_forgery/
Active Record
schema.rb gets automagically generated by...
Making Database Changes
Rails Plugins
Common Libraries
There exists an endless selection of libraries, but some are worth calling out in particular:
- Factory Girl
- Coffeescript
- Rabl


near1 documentation
near1 finds the linear index of the point in an array closest to a specified coordinate.
See also near2, geomask, and local.
Back to Climate Data Tools Contents.
Contents
Syntax
ind = near1(x,xi) [ind,dst] = near1(x,xi)
Description
ind = near1(x,xi) returns the index ind of the point in x closest to xi. If xi is equidistant between two x values, ind corresponds to the first of the two.
[ind,dst] = near1(x,xi) also returns the ditance dst between x(ind) and xi.
Example 1
For this array of x values, which point in the array is closest to xi=51?
x = 10:10:100 xi = 51;
x = 10 20 30 40 50 60 70 80 90 100
The index of the x value closest to 51 is:
ind = near1(x,xi)
ind = 5
If you also want to know the distance from x(ind) and xi, get the second ouput from near1:
[ind,dst] = near1(x,xi); dst
dst = -1
That is, the value x(ind)=50 is one unit lower than the query value xi=51.
What if a query point is halfway between two x values? The way that 55 is halfway between 50 and 60?
ind = near1(x,55)
ind = 5
In the case of multiple equally valid answers, near1 only returns the first valid index.
Example: Climate data application
The near1 function can be useful for finding the row and column of a grid point closest to a location of interest in a gridded climate time series. This example is similar to examples in the documentation for near2 to geomask, but is applied slightly differently.
load pacific_sst % loads example data whos lat lon sst t % displays the size of these variables
Name Size Bytes Class Attributes lat 60x1 480 double lon 55x1 440 double sst 60x55x802 21172800 double t 802x1 6416 double
Those linear arrays lat and lon correspond to the first two dimensions of the 3D SST array. We can use near1 to get the time series of SSTs close to Honolulu, Hawaii (21.3 N, 157.8 W).
row = near1(lat,21.3); col = near1(lon,-157.8);
And the SST time series can be plotted like this. Just remember to use squeeze to get the resulting 1x1x802 array into an 802x1 shape so plot will be able to handle it:
sst1 = sst(row,col,:); plot(t,squeeze(sst1)) axis tight datetick('x','keeplimits') xlabel date ylabel 'temperature \circC'
Just to be sure, verify that the row and column actually correspond to latitudes and longitudes close to Honolulu:
[lat(row) lon(col)]
ans = 21.5000 -157.5000
Yep, that's about as close as we can get to (21.3 N, 157.8 W).
Author Info
This function is part of the Climate Data Toolbox for Matlab. The function and supporting documentation were written by Chad A. Greene of the University of Texas at Austin.


I like cooking Vietnamese Traditional dishes
I like cooking to my beloved people, and I will be so happy if they can eat all what I cooked for them. Some of my favorite dishes are following:
Bun Cha
It's made from soft noodles, meat, "nuoc mam" and some kinds of vegetable.
Nem ran
Nem ran usually stuffed with ground pork, shrimp, cabbage, & vermicelli noodles before being deep-fried


Define class
class MyTable extends ExternalObject; function constructor ... end constructor; function destructor ... end destructor; end MyTable;
[ encapsulated ][ partial ] class IDENT class_specifier class_specifier : string_comment composition end IDENT | "=" base_prefix name [ array_subscripts ] [ class_modification ] comment | "=" enumeration "(" ( [enum_list] | ":" ) ")" comment
See Modelica Language Specification for further details.
The keyword class is used to define general classes (without any restrictions). It is identical to the keyword model. In most cases, it is recommended to use specialized classes as connector, model, block, package, record, function, type. "class" should be used to define ExternalObjects, and can be used for classes merely containing documentation and/or graphics.


--- layout: fullpage title: null image: lamap pagetype: quote black published: true bgcolor: FF8000 section: funding --- # Los Angeles is doubling the size of its transit system. # How are they paying for it?


---
layout: default
title: pages.work
permalink: /work/
---
- topic.technologies
Kotlin, ObjC, Swift, php, sql, html, C++, C#,
Unity 3D, CMS, Networking, Corona, Python, LATEX, REST, KRPano, UML, iOS , JavaScript, Ajax
{% t work.specialized %}: Java, Android SDK, Windows .NET Framework, C/Unix,
Virtual Reality, Augmented Reality, Mobile Development, Web Development
- collection.works
{% include works.html %}
{% t work.cv %} CV


GetBubbleSize (returns the width and height of a ToolTip control.)
GetBubbleSize(HWND hwndControl, *WORD wWidth, *WORD wHeight)
| GetBubbleSize | Returns the widht and height of a ToolTip control. |
| hwndControl | This is the {prop:handle} for the window control that is associated with the tip. |
| wwidht | Address of widht variable. |
| wHeight | Address of height variable. |
| Return Value | Returns true if successful, or false otherwise. |
| Requires version 5.80 and later of Comctl32.dll |


There are 2 COE Open Bidding exercises each month (Bidding Exercise 1 starts on the first Monday while Bidding Exercise 2 starts on the third Monday of the month)


Hi,this is Procheta Bhattacharyya.I am currently pursuing B.Tech in Electronics and Communication Engineering from Netaji Subhash Engineering College.I am skilled in Python,C,C++,frontend web-development (HTML,CSS,JavaScript).
I am appointed as the professional developer of Rotaract Club Of my college I am also a frontend web-developer of Developers Students Club of my college. I am also a member of Women Techmakers.I have done three projects and I have also taken forums in my college about frontend web-development.
CONTACT ME.... KNOW MORE
| INFORMATION | DETAILS |
|---|---|
| BIRTHDAY | 25thAugust 1999 |
| NATIONALITY | Indian |
| HOMETOWN | Kolkata, West Bengal |
| SCHOOL | Completed secondary and higher secondary from Bidya Bharati Girls' High School |
| CLASS 10 PERCENTAGE | 90% |
| CLASS 12 PERCENTAGE | 83% |
| COLLEGE | Netaji Subhash Engineering College (2018-2022) |
| DEGREE | Bachelor of Technology in Electronics and Communication Engineering |
| STRENGTHS | Capable of taking initiatives |
| HOBBIES | reading books, playing guitar, coding |
| SPORTS | Swimming and Cricket |
THE FOLLOWING PROJECTS ARE:


Each rule consists of a GroupGraphPattern1 filter, quality decrease coefficient and description, as described in the following table.
| Filter | Coefficient | Description |
|---|---|---|
| GroupGraphPattern [GROUP BY ... [HAVING ...]] | x in [0, 1] | description |
| Example | ||
| {{?s anatomy:limbs ?o} FILTER (?o > 4)} | 0.4 | Too many limbs |
Any snippet of SPARQL2 to which "SELECT * FROM ... WHERE" can be prepended is a valid filter and describes a property of a named graph that the author of the rule finds defective.
The coefficient of a rule reduces graph score if the filter applies to that graph.
More precisely graph score = 1 * c1 * c2 * ... * cn where ci are coefficients of all rules ri whose filters match the graph.


2 references to UnsignedLongTag
System.Management.Automation (2)
engine\serialization.cs (2)
5249
SerializationStrings.
UnsignedLongTag
,
5250
SerializationStrings.
UnsignedLongTag
,


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/beta.20reduction.html ---
What is the good style to ask for beta reduction? Currently I use simp only []
.
I usually do the same. You can also use dsimp only []
it would be good to have a tactic for this though
Yes, why do we have delta
but not zeta
and beta
etc...? We could turn our proof scripts into passages from the Iliad if we had access to those tactics! Let's find out which awesome theorems Homer proved!
There are non-interactive tactics head_beta
, head_zeta
, head_eta
which perform the corresponding reduction, but only at the head of an expression. It should be easy to make variants that x-normalise a term (for x = β, ζ, η).
Last updated: Apr 24 2020 at 19:02 UTC


MIME types defined: text/x-ruby.
text/x-ruby
Development of the CodeMirror Ruby mode was kindly sponsored by Ubalo, who hold the license.


Adult learner looking to develop specific programs within the insurance industry. I live in Fort Lauderdale with my wife and young son.


- Build
- Design
- Raw
- Basic Information
- Data Collection
- Data Sharing
- Data Protection
| * | |
| * |
| * | |
| * | |
| * | |
| * | |
| * | |
| * |
| * | |
| * | |
| * | |
| * | |
| * | |
| * | |
| * | |
| * |
Choose how your privacy policy will look like.
- Corporate Identity
- Overall Look
| * | |
| * |
| * | |
| * |
- Simple
- Detailed


Photos of the day: From Salman Khan celebrating Helen’s birthday to Kartik Aaryan promoting ‘Pati Patni Aur Woh’ Bhumi Pednekar and Ananya Panday, here’s what made headlines
by TIMESOFINDIA.COMWoh’ Bhumi Pednekar and Ananya Panday, here’s what made headlines It was an eventful day today as B-town was abuzz with birthday celebrations and film promotions. Many Bollywood celebrities were also all out and about in the city. From veteran actress Helen’s birthday bash at the Khan residency to Kartik Aaryan promoting his film, ‘Pati Patni Aur Woh’ with co-stars Bhumi Pednekar and Ananya Panday on his birthday, here are pictures that grabbed headlines today.
Helen rings in her 80th birthday with family
Veteran actress Helen rang in her 80th birthday with her family. Everyone from Salman Khan, Sohail Khan, Alvira and Arpita joined in the celebrations as the birthday girl cut into her elegant two-tiered cake with a message that read, ‘Amazing At 80’.
Kartik Aaryan, Ananya Panday and Bhumi Pednekar promotes film in a college
Kartik Aaryan, who turned a year older today, was seen promoting his upcoming film, ‘Pati Patni Aur Woh’ on his special day. Along with his co-stars Ananya Panday and Bhumi Pednekar, Kartik was seen entertaining college students in the city. He was also seen celebrating his birthday there by cutting a cake.
Airport spotting
Airports have become a common place for celebrity spotting and one can always see paparazzi stationed right outside to click pictures of them. Recently to get papped at the airport was none other than Karan Johar and Hrithik Roshan.
Out and about in the city
B-town celebrities were all out and about in the city today. While Varun Dhawan and Shraddha Kapoor were seen outside a dubbing studio in the city, Shanaya Kapoor was snapped in Bandra .
Paparazzi also spotted the new love-birds Pulkit Samrat and Kriti Kharbanda goofing around. Kriti Sanon was also snapped by the shutterbugs with her gym trainer.
Anushka Sharma visits Manish Malhotra at his residence
After Priyanka Chopra, Anushka Sharma too was snapped at his residence. Dressed in a white traditional attire, the actress was seen coming out of his residence today. With her hair tied into a messy bun and matching juttis, she looked pretty as a peach.


Hi, I have been using emoncms for a couple years now without much issue. I have been using github and ubuntu. Now I am trying to install the new version 8 and having lots of issues. I have a new server and am basically starting from scratch. I was able to create a mysql database and an admin user and login to emoncms.
(**FYI, I am using a brultech greeneye monitor and btmon.py, it was working fine with my old hosted web server and still works with emoncms.org server but not my new server)
1st issue is that when I first starting sending data to emoncms I somehow ended up with thousands of inputs (yes thousands, they appear to be hundreds of duplicates). How do I clear these out without individually clicking the trash bin on each one? Where is the timeseries data stored? I have tried dropping the emoncms database and deleting my emoncms folder. All other folders I have created using the emoncms install instructions appear to be empty.
2nd issue and I am not sure if it is related but when I go to the feeds section I get the following error. I dont have any of these two issues when using emoncms.org website but I want to host my own dashboard on my own webserver.
Parse error: syntax error, unexpected 'if' (T_IF) in /var/www/root/emoncms/Modules/feed/feed_controller.php on line 54
Thanks.
Re: Issue with installing new version
While I can't offer any explanation for the 1st issue, I have to put my hand up to the 2nd. There was an issue in a pull request that got merged, a correction has been submitted and will hopefully be merged asap.
The details are here if you want to manually edit the file in the meantime.
Paul
Re: Issue with installing new version
Paul,
Thanks for the parse error fix, worked like a champ!
Bill
Re: Issue with installing new version
Hi Thanks for fixing the 2nd issue. Surely somebody on here has to know where the inputs are stored. I don't think they are in mysql anymore because I looked in phpmyadmin. Is there a file on ubuntu somewhere I need to delete to clear out all the inputs in emoncms?
Re: Issue with installing new version
Try looking at this page, near the bottom: https://github.com/emoncms/emoncms/blob/master/docs/Backup.md
Re: Issue with installing new version
All of those folders are empty. I have even cleared my browser cache. Where else could the inputs be stored?
Re: Issue with installing new version
Why are my posts needing to be approved before they show up? I've been a member for over a year?
I am going to be as simple as possible for my issue.
 I've dropped the mysql database, removed and reinstalled the emoncms web folder, and deleted the following folders which are empty anyway.
/var/lib/phpfiwa
/var/lib/phpfina
/var/lib/phptimeseries
Re: Issue with installing new version
First problem is solved - I've changed your status. I don't know what the algorithm is for determining whether posts are held for moderation or not (but some of the spammers seem to know!), so I can't help you there.
Do you have directories with those names elsewhere - the data has to be stored somewhere. I'm no expert on emoncms so sorry, but I can't be of much help.
Re: Issue with installing new version
Thanks for fixing that. Bill noticed that when he logs in he can delete the inputs individually but then they pop right back up. I have reinstalled emoncms several times since this issue and everytime the api key changes and I don't have my brultech pushing data to this anymore, so I'm out of ideas. I have two nodes on my server now. Is there a way to delete everything for a specific node, "Node NoGroup"
I think there is a file or database I'm not deleting where this input data is stored when I have been reinstalling. I've used the instructions for re-installing the github version of emoncms.
Re: Issue with installing new version
If you have redis installed it's quite common for some old (thought to be rid of) data to pop back up unless you run
I believe the inputs details (but not the data) are still kept in the sql tables.
To get more info on deleting the inputs you could take a look at the code to see what actually happens when click the trash can, while you are there have a look at the function directly below it I cannot vouch for it as I've never used it but it looks like a "redundant input" removal tool, triggered using "clean" in an api url .
I assume something like http://localhost/emoncms/input/clean.json will trigger the action (USE AT YOUR OWN DISCRETION - no warranty expressed or implied)
Paul
Re: Issue with installing new version
Thanks for the tips, I'll give it a try. On another note I think I know why this happened:
I think 8.4.0 may have a bug... If I enter in the below two lines in my browser it doesn't update the existing. It will create two completely new entries or inputs. This isn't supposed to happen right? It is supposed to update the existing and that is why I got so many duplicates in the beginning.
http://emoncms.org/input/post.json?json={power:200}
http://emoncms.org/input/post.json?json={power:201}
I will work on downgrading my server version to verify this works but on my emoncms.org account it works as it is supposed to and doesn't create thousands of duplicates.
Re: Issue with installing new version
I can confirm, I got the same problem after I upgrade to 8.4.0 /Stema
Re: Issue with installing new version
I found my problem, my fault! I forgot to specify which node (node0) to be updated! It worked in previous versions, not anymore .. /Stema
Re: Issue with installing new version
Hi - can you shed any more light on this please - I am also facing the same problem following an upgrade from 8.1.1, in that I cannot update emoncms 8.4.0 by specifying the key name - instead, for each submission, the command is creating a new entry in the NoGroup node.
Here is the command I am using (and which was working fine with 8.1.1):
http://<IP_ADDRESS>/emoncms/input/post.json?json={boiler:1}&apikey=xxxxxxxxxxxx
I have also tried:
http://<IP_ADDRESS>/emoncms/input/post.json?node=0&json={boiler:1}&apikey=xxxxxxxxxxxx
but this does not make any difference.
Re: Issue with installing new version
The problem appears to be that in the current version, a node id is required (whereas this was not required in the previous version, and is not specified in the current API help page) and a node id of 0 is not accepted.
If I try:
http://<IP_ADDRESS>/emoncms/input/post.json?node=1&json={boiler:1}&apikey=xxxxxxxxxxxx
then this works as expected.
Is there a fix that I can apply that will revert to the previous behaviour please? (I don't want to create a new node because I will then lose my historical data - and because I am currently posting to both my local emoncms and the emoncms.org site).
Re: Issue with installing new version
Hi Engeeaitch, Your data is stored in the feeds not the inputs, so it should be relatively easy to switch to using a node id. I'm happy to help If you want to switch and need some assistance.
I think this "change" may of occurred when some changes were made to accommodate mqtt topics, but I can't be sure. likewise I'm unsure if this is an unexpected result that can/will be fixed or it the change is essential to future development.
Re: Issue with installing new version
Hi pb66,
Thanks for your offer.
There are two issues with the new version: a node id is now required (or else every input results in a new entry under a NoNode heading); and secondly, the node id must be greater than 0.
On my local copy, I have now included a node in my input postings, and I have managed to change the the node to 1 (instead of zero).
I am concerned about emoncms.org, which is currently running on 8.3.5 If this is updated to 8.4.0, then unless I make changes at my end, all my postings will be converted to new entries with NoNode. I have no way of changing my existing node on emoncms.org from 0 and so my only option as I see it, is to set up a new node 1 and start using that, which will mean that I will lose all my existing data. (My postings are following the current API specification e.g. http://emoncms.org/input/post.json?json={power:200})
I would like to request please that posting to node zero remains an option (either explicitly, or as the default if no node is specified). If this is really not possible, then could someone change my current node id from 0 to 1 please.
Re: Issue with installing new version
You are right in thinking this could be problematic for emoncms.org if upgraded to 8.4, I hope Trystan see's this or is aware of the issue.
I would recommend protecting yourself by switching to a node > 0, this not only gives greater security due to "&node=n" being required in the url but also avoids any potential (existing or) future issues arising from not only unspecified node ids but also zero node ids, neither of these have a "value" and both equate to "false" in programming terms whist every other value is "True" so 1 and up are all more robust node ids.
This is (relatively) easy to do as the feeds (where your data is held) are only connected to the inputs by the processing lists.
If you create a second input by either using the input api or changing the node id at source. you can then copy the input processing from node0 input1 to node1 input1 and so on for each input.
You will not have to create any new feeds, as you add the processes to the processlist you can select the same existing feeds you are currently posting to, totally replicating node0 as node1. it will be quick(ish) to do as there are no new feeds to create.
Once the new "node1" is created you can stop posting to node0 and post to node1, when you are happy all is well you can delete all node0's inputs with no effect to your data or node1.
Paul
Re: Issue with installing new version
I've PM'd Trystan a "heads up" just in case.
Re: Issue with installing new version
Thanks Paul - I had not realised that I could create a new input and send it to the same feed as the old input. So I am now posting to Node 1, and that is logging to the original feed. All OK for the moment.
Re: Issue with installing new version
Its strange, after upgrade to 8.4.0 I faced the same issue. Every new input log created new input. (I had app. 3000+ new inputs in few hours after upgrade :-((..)
After troubleshooting and finding that node is mandatory now, I had to rewrite all python codes and then I was able log my inputs values again.
BUT, I was able to create node 0 and I am using it and it works - its strange against to described new validation, isn`t ?
AND I have found another issue: Newly any name of sensor can not contain some special characters.
My old inputs were named as "e-mon_kw" and this does not work now. So I had to rename my inputs as "emonkw".
I am writing this because I think it could help somebody.
Re: Issue with installing new version
By far the most common source of data to emoncms is via the rfm network, the restrictions around node id numbers imposed by the rfm protocols used ie JeeLib, makes nodeids 1 to 30 the most common as node 31 is "promiscuous" mode and the use of node 0 when using JeeLib denotes "self" and gets replaced with the "host" devices node or base id reserving the "network use" of node 0 for use with OOK,
Assuming data is from a specific device because it isn't asked where it's from therefore it can't tell you it's from somewhere else isn't sound logic and while setting 0 as a node id is marginally better than no node id, which should indeed be possible to do as int 0 is < 32 (the only restriction imposed by emoncms) it still isn't worth the potential confusion a zero node id could cause unless you have used every other available node id.
I'm not suggesting the unexpected change is welcome, but of all the node IDs, if there was to be an unexpected change that effected just one node id it would probably be 0 and since node 0 is "reserved" in the JeeLib it also the node ID that could attract future development (eg OOK) down the line,
Interesting find about the input names, I was already aware of an issue with using special characters in feed names so have avoided using them for a while now.
Paul


Autonomous Submarine
The robosub is an autonomous submarine that can complete a variety of different tasks. The sub is capable of locating targets and firing its pneumatically powered torpedoes, and it can also use its robotic arm to open doors and pickup objects! I worked with a team of 7 other students on the robosub as part of our senior capstone project. The project was sponsored by the Naval Undersea Warfare Center in Keyport, Washington.
The video below shows the Robosub completing a buoy tracking task. The goal was to have the Robosub identify different colored buoys, and then approach and tap each buoy. The computer vision system on board the sub identifies objects using a convolutional neural network. Once an object has been detected, that information is converted to commands to fire the thrusters to move the sub to the desired destination.
The sub’s robotic arm can be used to open doors and lids, and grab objects. The arm is pneumatically powered with a maximum grip force of approximately 25 lbs. The rotary actuator allows the arm to grab objects beneath the sub, while the sliding actuator can extend the arm out in front of the sub. A new version of the robosub is currently being produced with improved thusters, and electronics management. The updated design will also allow for easier upgrades in the future.


Aggarwal, C. C. (2016). Evaluating Recommender Systems. In C. C. Aggarwal (Ed.), Recommender Systems: The Textbook (pp. 225–254). Cham: Springer International Publishing. https://doi.org/10.1007/978-3-319-29659-3_7
Ciocca, S. (2017, October 10). How Does Spotify Know You So Well? – Member Feature Stories. Retrieved December 12, 2018, from https://medium.com/s/story/spotifys-discover-weekly-how-machine-learning-finds-your-new-music-19a41ab76efe
Fernández-Tobías, I., Braunhofer, M., Elahi, M., Ricci, F., & Cantador, I. (2016). Alleviating the new user problem in collaborative filtering by exploiting personality information. User Modeling and User-Adapted Interaction, 26(2), 221–255. https://doi.org/10.1007/s11257-016-9172-z
Logan, B., & Salomon, A. (2001). A Content-based Music Similarity Function, 18.
Schedl, M., Zamani, H., Chen, C.-W., Deldjoo, Y., & Elahi, M. (2018). Current challenges and visions in music recommender systems research. International Journal of Multimedia Information Retrieval, 7(2), 95–116. https://doi.org/10.1007/s13735-018-0154-2
Spotify Technology S.A. Announces Financial Results for Third Quarter 2018. (2018, November 1). Retrieved December 10, 2018, from https://investors.spotify.com/financials/press-release-details/2018/Spotify-Technology-SA-Announces-Financial-Results-for-Third-Quarter-2018/default.aspx


Arms Excercises
Bench Dips
- Grip the edge of the bench with your hands, keep your feet together and legs straight.
- Lower your body straight down.
- Slowly press back up to the starting point.
- Make this harder by raising your feet off the floor and adding weight.
Elevated Pike Shoulder Shrug
- Use a bench or an object to elevated your feet.
- Slowly lower your body while keeping your elbows locked.
- Slowly raise your body back to the start position.
Chin-Ups
- Grab the bar shoulder width apart with a suspinated grip.
- With your body hanging and arms fully extended, pull yourself up until your chin is the bar.
- Slowly return to starting position. Repeat.
Diamond Push-Ups
- Place your hand near to each other firmly to the ground.
- Flatten your back and slowly lower your body.
- Draw shoulder blades towards backs and keep elbows tucked to your body.