Anthony Duffy is the owner and Managing Director of VIPeople; a division of Venue Industry Professionals Pty Ltd. Anthony has been a part of the venue industry for over 17 years at some of Sydney's iconic sports and entertainment facilities.
During this time Anthony has held executive event and operational management positions and has been responsible for the delivery of a vast array of events in various sporting codes including: Rugby League, Rugby Union, AFL, Soccer, Tennis, Swimming, Athletics and Cricket, along with major outdoor concert productions.
Incorporated in Anthony's extensive venue experience is the management of the event day workforce at each of these facilities. Responsibilities included all aspects of staffing operations such as recruitment, training, event day management, rostering and employee relations for casual teams of up to 800 personnel.
Prior to the 2000 Games, Anthony was seconded by SOCOG to manage front of house operations at the Beach Volleyball venue. This position was responsible for staffing, ticketing and customer service at one of the most successful Olympic venues….Bondi Beach.
Since the establishment of Venue Industry Professionals in 2001 Anthony has undertaken a range of consulting projects which include Sydney Olympic Park Business Association, Geelong (Skilled) Stadium and Vector Arena (Auckland).
Through VIPeople, Anthony now manages a range of contracts and focuses on a development role in establishing new business, assessing client needs, monitoring service standards and maintaining and strengthening existing relationships.
Anthony currently sits on advisory boards for both the University of Technology Sydney and the Australian College of Physical Education focusing on a range of leisure, sport and event programs for each college.
In addition Anthony is a counsellor with the Venue Management Association, a senior lecturer and graduate at the Public Venue Management School, a lecturer with the University of Technology Sydney and holds a Masters Degree in Management from that institution.


text:
Quantifying Alien Encounters: The Rio Scale
Samuel Arbesman
If there's any alleged evidence of aliens, the brains behind SETI -- the Search for Extraterrestrial Intelligence -- have a scale ready to assess its value. Mathematician and Social Dimensions blogger Samuel Arbesman explains.
I remember running SETI@home on my computer back in college. While some of the enthusiasm for this project has waned since then, people in the field of SETI, or the Search for Extraterrestrial Intelligence, are still hoping and searching for evidence of aliens. And once that happens, we'll be ready.
It turns out that any evidence of extraterrestrial intelligence can actually be quantified on a spectrum, known as the Rio Scale. This scale was developed by the astronomers Iván Almár and Jill Tarter in order to quantify how important and earth-shattering a discovery is (or will be). The scale ranges from 0, for no importance whatsoever, to 10, for extraordinary importance. It is actually a mathematically defined scale, with a number of inputs that include how credible the report is, and the nature of the evidence of extraterrestrial intelligence. If you are interested in examining the rating for a scenario of your imagination, may I direct you to the Rio Scale Calculator.
As we actually have not yet had such discoveries and if your imagination is at a loss, Iván Almár and another astronomer Seth Shostak have written a paper that tests the scale by grading alien movies according to this scale. This paper is, in a word, amazing. For example, the aliens in Independence Day rate a clear 10, while the monolith in 2001: A Space Odyssey merits only a 6. Please note that the paper is rife with spoilers, as might be expected.
But while the Rio Scale is a lot of fun to play with and think about, it actually raises an important point. As Almár and Shostak note:
Ambiguity about whether evidence for aliens exists or not is almost never the subject of Hollywood films... Even less so is the idea of a hoaxed signal. Hollywood's stories seldom benefit from the sort of ambiguity that is the target of the Rio Scale. But if ambiguity were truly rare, the Rio Scale would be unnecessary. In the real world, things are not always what they seem, and this is both a justification and an encouragement to fashion tools that will help clarify a purported detection of extraterrestrial intelligence.
So go off and use the Rio Scale, recognizing that alien encounters are probably going to be a lot more ambiguous than we realize. But we can now measure that ambiguity.
Samuel Arbesman is Scientist in Residence at Lux Capital, and the author of The Half-Life of Facts and Overcomplicated.
TopicsaliensMoviesSci-fiSETI
A New Computer Proof 'Blows Up' Centuries-Old Fluid Equations
For more than 250 years, mathematicians have wondered if the Euler equations might sometimes fail to describe a fluid's flow. Now there's a breakthrough.
Jordana Cepelewicz
Here Comes the Sun—to End Civilization
Every so often, our star fires off a plasma bomb in a random direction. Our best hope the next time Earth is in the crosshairs? Capacitors.
Matt Ribel
The Secrets of Covid 'Brain Fog' Are Starting to Lift
Scientists are getting closer to understanding the neurology behind the memory problems and cognitive fuzziness that an infection can trigger.
Maggie Chen
Jacques Vallée Still Doesn't Know What UFOs Are
After six globe-trotting decades spent probing "the phenomenon," the French information scientist is sure of only one thing: The truth is really, really out there.
Chantel Tattoli
Why You (and the Planet) Really Need a Heat Pump
Using a furnace is so 1922. In 2022, humanity has to massively ramp up adoption of clean ways to heat buildings.
As Climate Fears Mount, Some Are Relocating Within the US
A small but growing number of Americans are moving to New England or the Appalachian Mountains, which are seen as safe havens from climate change.
When Covid Came for Provincetown
In a queer vacation hot spot on Cape Cod, an ad hoc community proved that Americans can stifle large outbreaks—if they want to.
Maryn McKenna
Mathematicians predicted that if they imposed enough restrictions on how a shape might tile space, they could force a periodic pattern to emerge. They were wrong.

redpajama_set_name: RedPajamaCommonCrawl


All Trustees will strive to avoid any conflict of interest between the interests of the charity on the one hand, and personal, professional, and business interests on the other. This includes avoiding actual conflicts of interest as well as the perception of conflicts of interest.
The purposes of this policy is to protect the integrity of the charity's decision-making process, to enable our stakeholders to have confidence in our integrity, and to protect the integrity and reputation of staff, volunteers and committee members.
1 A Trustee who is also on the committee of another organisation that is competing for the same funding.
2 A Trustee who has shares in a business that may be awarded a contract to do work or provide services for the organisation.
Upon appointment each Trustee will make a full, written disclosure of interests, such as relationships, and posts held, that could potentially result in a conflict of interest. This written disclosure will be kept on file and will be updated as appropriate.
In the course of meetings or activities, Trustees will disclose any interests in a transaction or decision where there may be a conflict between the organisations best interests and the committee members best interests or a conflict between the best interests of two organisations that the committee member is involved with.
After disclosure, I understand that I may be asked to leave the room for the discussion and may not be able to take part in the decision depending on the judgement of the other committee members present at the time.
This policy is meant to supplement good judgment, and Trustees should respect its spirit as well as its wording.


text:
Princes Photographers
On The Hats Of Wheels!
OCEANIA / ENERGY OBSERVER
Renaud Siegmann
Stéphane Gautier
Patrick Chelli
PRESS VISUAL
MAYER COLLECTION
A native of Stuttgart, Rolf Mayer became interested in art photography from 1975. His first collection included masterpieces from the nineteenth Century and the modern classical era. In 1987, his collection was presented at the Stuttgart Staatsgalerie before being sold to the same museum the following year. His second collection soon focused on the discoveries of modern photography in the nineteenth Century from the so-called archaic period (1840-1880). Among pioneers of the photo that are part of it include Atget, Cameron, Charnay, De Clercq, Du Camp, Fenton, Fox Talbot, Le Gray, Muybridge, Nadar…
Mayer Collection (Cologne)
MAYER COLLECTION / THE FUTURE OF THE PAST
MODERN PHOTOGRAPHY IN THE 19TH CENTURY
« We lived in an epoch of impatient curiosity that has made a mess of everything, people and things. » It was with these words that the great French photographer Nadar (pseudonym of Félix Tournachon: 1820–1910) described in his autobiography « Quand j'étais photographe » the age he lived in, where photography was penetrating and changing every sphere of art and life. In the 1830s in France, Nicéphore Niépce (1765–1833) and Louis-Jacques Mandé-Daguerre (1787–1851) were the great discoverers of and experimenters in a photomechanical process for copying reality, while at the same time in England the great pioneer in that eld was William Henry Fox Talbot (1800–1877). Unlike Daguerre, who sold the patent to the French government for a monthly life-long pension, Fox Talbot programmatically registered his patent in England under the name 'calotype', from the Greek 'kalos' (beautiful).
The procedure developed by Fox Talbot could be used to capture images on specially prepared paper. The special cimelia of the Mayer collection include his « The Open Door », the sixth plate illustrating the epochal work he published between 1844 and 1846, « The Pencil of Nature ». In that work Fox Talbot describes his initial experiments with the Camera Lucida on the shores of Lake Como in 1833. Those first fruitless attempts were followed by more successful ones with the Camera Obscura, a procedure whereby objects are projected onto tracing paper using a lens mounted in a wooden box. Fox Talbot then developed light-sensitive salted paper meant to capture the projected images. The procedure developed at about the same time by Daguerre, on the other hand, delivered images on a sensitised metal plate. The resulting works are impressive in that they have more contrast and are sharper than the ones obtained by Fox Talbot, but since Talbot's procedure produced paper prints it is basically the more forward-looking one.
Bibliographical reference: Exhibition catalog «The Future of the Past» (Modern photography of the 19th Century) - «The artificial eye» or Re-measuring the visible world, by Markus Müller / © Graphikmuseum Pablo Picasso Münster, 2009 - Courtesy Mayer Collection.
© PhotoMonaco 2018


Notice: Please update your bookmarks. The Constellation you requested has been merged into a new identifier, http://n2t.net/ark:/99166/w6nm444w, displayed below.
The son of italian immigrants, Frank Sinatra began singing and doing impersonations in school which led to his future career as singer with the Hoboken Four in 1935. The quartet broke up in 1936 and Frank started working his way through the music industry until he finally got his big break in 1940. He would become one of Hollywood's leading men for the next two decades and a constant music hall draw after that until very close to the day he died in 1998. (Adapted from the Official Sinatra Family website).


The courage of life is often a less dramatic spectacle than the courage of a final moment, but it is no less a magnificent mixture of triumph and tragedy. A man does what he must- in spite of personal consequences, in spite of obstacles and dangers and pressures-and that is the basis of all morality.
Wealth lost-something lost; Honor lost-much lost; Courage lost-all lost.
It is the bold man who every time does best, at home or abroad.
Attacking is the only secret. Dare and the world always yields; or if it beats you sometimes, dare it again, and it will succumb.
Fortune reveres the brave, and overwhelms the cowardly.
Tender-handed stroke a nettle, and it stings you for your pains; Grasp it like a man of mettle, and it soft as silk remains.
The superior man makes the difficulty to be overcome his first interest; success comes only later.
If one is willing to do a thing he is afraid to do, he does not have to ... face a situation fearlessly, and [if] there is no situation to face; it falls away of its own weight.
He that handles a nettle tenderly is soonest stung.
He who is afraid of every nettle should not piss in the grass.
Life is a battle in which we fall from wounds we receive in running away.
Fools, through false shame, conceal their open wounds.
However mean your life is, meet it and live it; do not shun it and call it hard names. It is not so bad as you are.
Whatever you are trying to avoid won't go away until you confront it.
Soldiers, strike the foe in the face!
Courage is a quietness, not martial music made Born of facing up to life, even when afraid.
It is courage, courage, courage, that raises the blood of life to crimson splendor. Live bravely and present a brave front to adversity!
It takes great courage to break with one's past history and stand alone.
We run away all the time to avoid coming face to face with ourselves.
If the word frankly or sincerely is not uttered in the first ten minutes-or let us speak openly-then you are not in the presence of a genuine businessman, and he will certainly go bankrupt.
If I ever said in grief or pride, I tired of honest things, I lied.
Truth, that fair goddess who comes always with healing in her wings.
Truth is the vital breath of Beauty; Beauty the outward form of Truth.
There is at least one thing more brutal than the truth, and that is the consequence of saying less than the truth.
Introversion, at least if extreme, is a sign of mental and spiritual immaturity.
It isn't for the moment you are stuck that you need courage, but for the long uphill climb back to sanity and faith and security.
Greatness, in the last analysis, is largely bravery-courage in escaping from old ideas and old standards.
Valour is nobleness of the mind.
Courage ... is nothing less than the power to overcome danger, misfortune, fear, injustice, while continuing to affirm inwardly that life, with all its sorrows, is good; that everything is meaningful, even if in a sense beyond our understanding; and that there is always tomorrow.
Physical courage, which despises all danger, will make a man brave in one way; and moral courage, which despises all opinion, will make a man brave in another. The former would seem most necessary for the camp; the latter for the council; but to constitute a great man, both are necessary.
One of man's finest qualities is described by the simple word "guts"-the ability to take it. If you have the discipline to stand fast when your body wants to run, if you can control your temper and remain cheerful in the face of monotony or disappointment, you have "guts" in the soldiering sense.
Whatever course you decide upon, there is always someone to tell you that you are wrong. There are always difficulties arising which tempt you to believe that your critics are right. To map out a course of action and follow it to an end requires ... courage.
This is courage ... to bear unflinchingly what heaven sends.
Courage is a perfect sensibility of the measure of danger, and a mental willingness to endure it.
Happy the man who ventures boldly to defend what he holds dear.
The bravest are the tenderest. The loving are the daring.
The weapon of the brave is in his heart.
I am not afraid of a fight; I have to do my duty, come what may.
A bold heart is half the battle.
There is, in addition to a courage with which men die, a courage by which men must live.
Where life is more terrible than death, it is the truest valor to dare to live.
It takes vision and courage to create- it takes faith and courage to prove.
Whatever you do, you need courage. ... To map out a course of action and follow it to an end requires some of the same courage which a soldier needs.
To see what is right, and not do it, is want of courage.
Courage permits the caliber of performance to continue at its peak, until the finish line is crossed.
There are a lot of fellas with all the ability it takes to play in the major leagues, but... they always get stuck in the minor leagues because they haven't got the guts to make the climb.
One of the biggest factors in success is the courage to undertake something.
Everyone has a talent. What is rare is the courage to follow that talent to the dark place where it leads.
The world is not perishing for the want of clever or talented or well-meaning men. It is perishing for the want of men of courage and resolution.
It's weak and despicable to go on wanting things and not trying to get them.
It is brave to be involved.
Be courageous! ... I have seen many depressions in business. Always America has come out stronger and more prosperous. Be as brave as your fathers before you. Have faith! Go forward.
Dare to begin! He who postpones living rightly is like the rustic who waits for the river to run out before he crosses.
You can surmount the obstacles in your path if you are determined, courageous and hardworking. ... Do not fear to pioneer, to venture down new paths of endeavor.
The great man is the man who does a thing for the first time.
What you can do, or dream you can do, begin it; boldness has genius, power and magic in it.
When you're my size in the pros, fear is a sign that you're not stupid.
Courage is ... the knowledge of how to fear what ought to be feared and how not to fear what ought not to be feared.
Courage is a scorner of things which inspire fear.
Cowards cannot see that their greatest safety lies in dauntless courage.
There are at least two kinds of cowards. One kind always lives with himself, afraid to face the world. The other kind lives with the world, afraid to face himself.
Spiritual cowardice is not only weakness but wickedness.
Between cowardice and despair, valour is gendered.
If you knew how cowardly your enemy is, you would slap him.
Bravery is the knowledge of the cowardice in the enemy.
That cowardice is incorrigible which the love of power cannot overcome.
Courage is being scared to death ... and saddling up anyway.
Being "brave" means doing or facing something frightening. ... Being "fearless" means being without fear.
Everyone thought I was bold and fearless and even arrogant, but inside I was always quaking.
Fear is the single strongest motivating force in our lives. ... The more frightened you become, the better your chances of achieving success.
Bravery is the capacity to perform properly even when scared half to death. -General Omar N. Bradley This morning I threw up at a board meeting. I was sure the cat was out of the bag, but no one seemed to think anything about it; apparently it's quite common for people to throw up at board meetings.
I'm a real pussycat-with an iron tail.
Many become brave when brought to bag.
We would be cowards, if we had courage enough.
How, then, find the courage for action? By slipping a little into unconsciousness, spontaneity, instinct which holds one to the earth and dictates the relatively good and useful. ... By accepting the human condition more simply, and candidly, by dreading troubles less, calculating less, hoping more.
It takes courage to live-courage and strength and hope and humor. And courage and strength and hope and humor have to be bought and paid for with pain and work and prayers and tears.
Courage that grows from constitution often forsakes a man ... courage which arises from a sense of duty acts in a uniform manner.
Courage does not always march to airs blown by a bugle, it is not always wrought out of the fabric ostentation wears.
Courage is the lovely virtue-the rib of Himself that God sent down to His children.
Courage is the integrating strength that causes one to overcome tragedy.
Courage is the virtue which champions the cause of right.
Courage is generosity of the highest order, for the brave are prodigal of the most precious things.
But screw your courage to the sticking place and we'll not fail.
There are some women who seem to be born without fear, just as there are people who are born without the ability to feel pain. ... Providence appears to protect such women, maybe out of astonishment.
On many of the great issues of our time, men have lacked wisdom because they have lacked courage.
Nothing is as valuable to a man as courage.
Sorrow is a fruit. God does not allow it to grow on a branch that is too weak to bear it.
What God expects us to attempt, He also enables us to achieve.
With them I gladly shared my all and learned the great truth that where God guides, He provides.
God gives us always strength enough, and sense enough, for everything He wants us to do.
Everyone will be taxed according to his means.
What we call reality is an agreement that people have arrived at to make their lives more livable.
A change of heart is the essence of all other change, and it has brought about me a reeducation of the mind.
If you have enough fantasies, you're ready, in the event that something happens.
We all carry it within us: supreme strength, the fullness of wisdom, unquenchable joy. It is never thwarted, and cannot be destroyed.
We have what we seek. It is there all the time, and if we give it time, it will make itself known to us.
Truth is not introduced into the individual from without, but was within him all the time.
When we know what we want to prove, we go out and find our facts. They are always there.
Nature reacts not only to physical disease, but also to moral weakness; when the danger increases, she gives us greater courage.
rouble creates a capacity to handle it.
When moral courage feels that it is in the right, there is no personal daring of which it is incapable.
Women and men of retiring timidity are cowardly only in dangers which affect themselves, but the first to rescue when others are endangered.
Hail, Caesar, those who are about to die salute thee.


Managing Editor of the Insight newspaper, Kwesi Pratt Jnr has described as a 'useless propaganda' allegations that the Electoral Commission is doing the bidding of the ruling National Democratic Congress (NDC).
Kwesi Pratt says it is wrong for the New Patriotic Party (NPP) to dabble in such accusations especially when the EC has sided with them (NPP) in some occasions.
"…this propaganda that is going around that the Electoral Commission is in bed with the National Democratic Congress and that in all issues it has agreed with the NDC and opposed the New Patriotic Party. This is just useless propaganda…it has no basis and I think it should be dismissed for what it is…" he said during a panel discussion on Radio Gold's Alhaji and Alhaji programme Saturday.
The seasoned journalist also condemned media houses who now do the bidding of political parties in the country.
According to him, the media instead of being objective, are now framing stories to suit either the NDC or the NPP; hence the actual fact is hidden.


text:
The EastEnders stars that hated their characters' storylines
Some of the actors were not happy with the direction their characters were taken
Ella Bennett Reporter
Some of them even threatened to quit over the argument (Image: BBC)
Get FREE email updates for EastEnders
Since it began back in 1985 EastEnders has taken on some big and serious storylines tackling controversial and sensitive subjects.
The soap actors are tasked with portraying sometimes desperately sad moments or deeply troubling characters, and they are not always too keen to take on the task.
Every now and again a big plot comes along that a cast member simply isn't comfortable acting out, or doesn't agree with the development of their character.
Most of the time any such disagreements would be kept private and not spoken of in public, but over the years some actors have spoken out against their storylines and arguments have made the headlines.
Download the MyLondon app
Get the latest London news straight on your phone without having to open your browser - and get all the latest breaking news as notifications on your screen.
The MyLondon app gives you all the stories you need to help you keep on top of what's happening in the best city ever.
You can download it on Android here and Apple here.
Matt Di Angelo - Dean Wicks
Matt Di Angelo plays Dean Wicks (Image: BBC/Kieron McCarron)
Most actors dream of landing a big storyline, but when Matt Di Angelo was called to the producer's office and told of his upcoming challenge he reportedly reacted with: "F**k off!"
Matt has spoken publicly of his initial response after he found out about the serious and difficult storyline he was to take on, where his character Dean Wicks was to rape Linda Carter.
The actor spoke of his shock at the time and said: "My initial response was, 'F**k off, that's mental, I don't want to do that, that's really intimidating'."
Executive producer Dominic Treadwell-Collins had to step in and convince the actor that it was an important topic to cover.
Dominic said: "Matt and I talked and argued. It was a shock for him, but I let him go away and analyse it. Matt came to recognise how important it was and ended up wanting to do it."
Like the My EastEnders Fans page
For all the latest EastEnders gossip, spoilers, quizzes and nostalgia from MyLondon, just like our dedicated Facebook page.
We'll bring you the latest from the soap so you never miss a thing.
You can also follow us on Twitter.
Samantha Womack - Ronnie Mitchell
Samantha left after the baby swap storyline in 2011 but returned a few years later (Image: BBC)
The 2011 EastEnders storyline that saw Ronnie Mitchell swap her dead child for Kat Moon's son Tommy caused a lot of controversy.
While Samantha didn't speak out regarding her thoughts on the saga, reports at the time suggested she handed her notice in to quit the day she received the script.
The actress denied rumours that she had fallen out with the producers, but later did admit: "I thought it was implausible. Most women who lose a child would not go out and abduct one. But Ronnie is a soap character and she is not necessarily representing real life."
For more news and features about London directly to your inbox sign up to our newsletter here .
Ross Kemp - Grant Mitchell
Ross Kemp was so unhappy the storyline was scrapped (Image: BBC/Nicky Johnston)
Unlike the other stars who did in fact go ahead with storylines they weren't completely happy with, Ross Kemp was so unhappy with his suggested story that the whole thing was scrapped.
Back in 1997, Ross reportedly clashed with bosses when they spoke of having his character, Grant Mitchell, rape his wife Tiffany in a dark Christmas Day storyline.
It was reported that Ross had been "absolutely livid" at the idea and threatened to leave the show if they tried to force the storyline through, resulting in it being dropped.
EastEnders and Hollyoaks star Richard Blackwood's latest snap has fans hailing it as 'a lovely start to the day'
EastEnders fans are all saying the same thing as Nancy Carter returns to Walford
Wendy Richard - Pauline Fowler
Wendy Richard played Pauline Fowler (Image: BBC)
Actors know their characters better than anyone, but that doesn't mean they always agree with the direction the character develops in.
Wendy revealed that the decision for her character, Pauline, to remarry after the death of her first husband Arthur, was one of the reasons behind her exit.
Like many EastEnders fans who didn't feel Pauline's storylines were in keeping with the character, Wendy believed the character would have been loyal after her husband's death and not remarried.
Speaking to The Sun back in 2006 she said: "I think it's the most terrible shame, I really do. I thought in my heart of hearts it was wrong.
"I would have stayed a bit longer if Pauline hadn't got married."


text:
* Créer le composant `Gestion` (paragraphe `2.8`)

```
$ ng generate component components/manage
```

#### Préparer la venue du composant

* Éditer le composant principal de l'application `app.component.html`

  - rajouter l'étiquette `<app-manage>`

  - retirer l'étiquette `<app-dashboard>`

  - resultat final

```html
  <main class="mdl-layout__content" style="padding: 1.25rem;" >
    <app-manage></app-manage>
  </main>
```

* Éditer le module principal de l'application `app.module.ts`

  - Importer le module `FormsModule` permettant la gestion des formulaires

```typescript
  imports: [
    BrowserModule,
    HttpClientModule,
    FormsModule,
  ],
```

#### Faire évoluer le composant

* Éditer le composant de Gestion `manage.component.ts`

   - Déclarer les variables locales `stock` (au singulier) et `symbols`

```typescript
  stock: string;
  symbols: Array<string>;
```
   - Injecter le Service `StocksService` au constructeur

```typescript
  constructor(private service: StocksService) { }
```
   - Initialiser les variables locales par la fonction `ngOnInit`

```typescript
  ngOnInit() {
    this.symbols = this.service.get();
  }
```

  - Rajouter les fontions `add` et `remove` afin de gérer la liste de stocks

```
  add() {
    this.symbols.push(this.stock.toUpperCase());
    this.stock = '';
  }

  remove(symbol) {
    this.symbols = this.service.remove(symbol);
  }
```

* Résultat Final de `manage.component.ts`

```typescript
@Component({
  selector: 'app-manage',
  templateUrl: './manage.component.html',
  styleUrls: ['./manage.component.css']
})
export class ManageComponent implements OnInit {

  symbols: Array<string>;
  stock: string;

  constructor(private service: StocksService) { }

  ngOnInit() {
    this.symbols = this.service.get();
  }

  add() {
    this.symbols.push(this.stock.toUpperCase());
    this.stock = '';
  }

  remove(symbol) {
    this.symbols = this.service.remove(symbol);
  }

}
```

* Remplacer le contenu du `template` du composant de Gestion `manage.component.html`

```html
<div class="demo-grid-1 mdl-grid">
  <div class="mdl-cell mdl-cell--4-col"></div>
  <div class="mdl-cell mdl-cell--4-col">
    <form style="margin-bottom: 5px;" (submit)="add()">
      <input name="stock" [(ngModel)]="stock"
             class="mdl-textfield__input"
             type="text" placeholder="Add Stock" />
    </form>
    <table class="mdl-data-table mdl-data-table--selectable mdl-shadow--2dp" style="width: 100%;">
      <tbody>
        <tr *ngFor="let symbol of symbols">
          <td class="mdl-data-table__cell--non-numeric">{{symbol}}</td>
          <td style="padding-top: 6px;">
            <button class="mdl-button" (click)="remove(symbol)">Remove</button>
          </td>
        </tr>
      </tbody>
    </table>
  </div>
  <div class="mdl-cell mdl-cell--4-col"></div>
</div>
```

# Affichage attendu

![image](../images/manage.png)

# Notes

Sauvegardez votre travail :bulb: `git`

[:fast_forward: Next ](routing.md)

redpajama_set_name: RedPajamaGithub


text:
Q: Clustering words on the basis of similarity in meaning which is provided in trainings set Which machine learning algorithm would serve to starting point for the below problem ?
I have a list of words which is similar to the below.
curate  : a member of the clergy in certain churches (such as the Anglican church) who assists the priest in charge of a church or a group of churches
yardman:  a person employed to do outdoor work (as mowing lawns)
and other normal words.
what i want to is decide that new word belongs to our category(job title) or not based on their meaning.
For example:

*

*nurse: 1

*teacher:1

*swimming:0

*swimmer:1

*facilitator:1

*playing:0

*

*1-fit into our category

*2-does not fit into category.

i am using python as tool for implementation machine learning purpose.

A: This is a problem of text similarity, where you want to match the similarity of a given block of text to a known set. For example, "nurse: a person working healthcare...". If the similarity is above a certain threshold, then there is a match, otherwise it is considered to not be a match.
To start, you will need some sort of representation for the text, so that you can perform the comparison. Some common text representations are:

*

*Bag of Words / Word counts (see TF-IDF)

*Word embeddings (see Word2Vec)

With TF-IDF, the sentences for each job description are converted into a vector of counts, with the length of the vector being equal to the size of the vocabulary for all words in all job descriptions. With Word2Vec, each word is treated as a vector of a defined size that represents the word's context in the training corpus. You can either trading your own Word2Vec model on your data or use a pretrained model. You will need to combine the vectors for each sentence yourself to make the job descriptions comparable. An easy first step is to average all of the word vectors, but you can also try Doc2Vec (See here).
Lastly, you will need a distance function to compare the two representations. For TF-IDF, cosine similarity is a fairly standard one. For Word2Vec, you can use euclidean distance or even the word mover's distance (WMD see here again)
Putting it all together at a high level, you will want to do something like the following:
trainingWords = {}
trainingWords['gardener'] = 'a person who tends a garden...'
trainingWords['valet'] = 'A person who parks a car...'

trainingVectors = {}

for (category in trainingWords):
    trainingVectors[category] = convert(trainingWords[category])

newWord = 'nurse'
newDescription = 'A person working in healthcare...'
newVector = convert(newDescription)

threshold = <some number>
output = {}
for (category in trainingVectors):
    if (distance(newVector, trainingVector[category]) < threshold):
        output[category] = 1
    else:
        output[category] = 0

print output

This assumes that you have a function convert that converts raw text into one of the reorientation mentioned earlier, a function distance that users s distance function mentioned earlier, and a threshold appropriate to your problem and distance function. For example, cosine similarity uses values in the range of 0 to 1, so you'd need to pick a threshold for what is considered a match (ex. 0.85).

redpajama_set_name: RedPajamaStackExchange


Our readers have tagged over 78,300 posts with our Instagram hashtag #thespacesilike.
This week you've explored the Amanda Levete-designed MAAT Museum in Lisbon, and sneaked inside a moody New York City bar.
Each Sunday we'll feature your most striking photographs on The Spaces. Keep tagging them with #thespacesilike for a chance to be featured.


Using Explorer, navigate: VS835 > "Internal storage" or "SD Card" > Music.
VS835 is listed under the "Portable Devices" or "This PC" section.
Utilize the computer to copy music files from this folder into the desired location on the computer's hard drive.


Despite the current unsettled state of the healthcare industry and pending Medicare Supplement policy changes, the number of Medigap beneficiaries continues to grow as Baby Boomers are aging into Medicare at a rapid pace. As of December 31, 2016, enrollment in Medicare Supplement plans (also known as Med Supp or Medigap) was nearly 12.6 million, up 6% over 2015 enrollment figures. This brief provides an overview of the Medicare Supplement market with insights about competitive positioning and standardized plan type preferences.
Based on performance data filed in annual financial statements from the NAIC (National Association of Insurance Commissioners), many Medicare Supplement carriers experienced yet another year of membership growth. Leading managed care organizations, Blues plans, regional plans and multiline carriers compete in the Medicare Supplement space. As of April 2017, Mark Farrah Associates (MFA) identified 189 distinct carriers that filed annual data with the NAIC. Note a small number of plans that had not yet filed when this analysis was conducted covered just over 50,000 people in 2015.
UnitedHealth maintained its leading position in this segment with approximately 4.3 million members. Breakdowns of in-force policies show that carriers issued more than 5.3 million new policies from 2014 through 2016. Carriers reported an aggregate of 7.25 million in-force older policies that had been issued prior to the year 2014.
Medicare Supplement carriers added an aggregate of 718,418 covered lives to their portfolios from December 31, 201 to December 31, 2016. About 30% of this market growth is attributed to UnitedHealth's membership increase. In terms of standardized plans, the number of beneficiaries enrolled in the most popular plan -- Plan F -- increased by 367,967. In addition to having the most comprehensive benefits, Plan F provides "first-dollar coverage", meaning it covers the annual Medicare Part B deductible.
Per the graph below, Plan F enrolled almost 6.9 million Med Supp members and accounted for 55% of the market. However, due to a provision in the Medicare Access and CHIP Reauthorization Act of 2016 (MACRA), beginning January 1, 2020, Plan F will no longer be an option for newly eligible Medicare enrollees, whereby supplemental plans covering the Part B deductible can no longer be purchased. Beneficiaries who continue to pay their existing Medicare Supplement Plan F premium will not lose that coverage. As a result of this policy change, industry stakeholders expect more plans will begin to offer Plan G, a plan that covers the same level of benefits but does not pay for the Part B deductible. The expectations have proven correct in 2016 as Plan G added over 364K members, a growth rate of 41%, becoming the second most popular plan type.
Note plan type "P" for Pre-Standardized is used for policies issued prior to the enactment of the Omnibus Reconciliation Act (OBRA) of 1990, which standardized benefits for Medicare Supplement plan types. Plan type "O" or "Other" is used by carriers in a few states including Massachusetts, Minnesota, and Wisconsin that receive waivers to the standardized Medicare Supplement regulations.
Medicare Supplement remains a lucrative line of business for carriers. Med Supp plans collectively earned $27.9 billion in premiums and incurred $21.7 billion in claims during 2016, up from 2015. The aggregate loss ratio (incurred claims as a percent of earned premiums) was 77.8% in 2016, a marginal increase from 77.5% in 2015.
Top competitive rankings in the Med Supp market have remained consistent year over year. With its longstanding AARP contract, UnitedHealth commanded 34% of the market with 4.3 million members; a 5.3% increase from December 2015. Mutual of Omaha ranked 2nd with 10% market share and 1.2 million members, as of December 31, 2016. Health Care Service Corporation (HCSC), Anthem and Aetna maintained 3rd, 4th and 5th ranking positions for market share. Aetna continued to experience strong membership growth with a 15% increase in members last year in contrast to a slight enrollment decrease for CNO Financial. Cigna strengthened competition in the market with its acquisition of Sterling Life Insurance Company's Medigap business in 2015 and saw a membership gain of 7% from 2015 to 2016.
BCBS of MA and BCBS of MI continued to retain steady market share in this segment. However, Humana surpassed both in terms of enrollment as the company gained Med Supp members over the past year. The balance of 4.06 million enrollees is distributed across a wide array of other insurance companies selling Medicare Supplement products.
As roughly 75 million Americans of the Baby Boom generation are beginning to enter retirement, this presents an increasing opportunity for health insurers offering Medicare Supplement plans. With currently 55 million Medicare eligibles, the Medicare Supplement market continues to grow and insurers consistently diversify their senior market portfolios to leverage opportunities across all product lines. Mark Farrah Associates will continue to monitor enrollment and plan performance in this competitive segment.


Bleach removes the black element leaving blue ink - clever security feature for contracts and cheques!
We have received some feedback saying that this ink has a green tinge to it.
3 fluid oz (approx. 90ml) glass bottle.


There are times when God calls us to set aside what we're doing and shut down from distractions, so that we can focus on listening to what He is saying. Sometimes, he pulls us aside as individuals, and at other times, there is a corporate call for reflection and diligent listening to gain strategy for what lies ahead.
Spiritual hearing is so important to Him, that He established special times in the yearly calendar so that the people could stop what they were doing, get back on track and move forward in His blessing. One such time is The Feast of Tabernacles, which is celebrated in September. It marks the head of the year in the Hebrew calendar, beginning a new cycle in God's plan, with new prophetic revelation for the year ahead.
In this special season, God wants to speak to you and me.
If you take the time to seek Him, He will bring revelation for what lies ahead for your life. This is a time to seek, to study, and to quiet your spirit so that you can hear Him. It's also important to evaluate your spiritual hearing.
What dominates your thought life?
Sometimes, the circumstances of life crowd out His voice. Or it might be that areas of our hearts and minds have become undisciplined, hindering our ability to access His wisdom. If we fail to deal with these obstacles to hearing, we'll miss the direction He wants to bring.
So this week, take some time to prepare your mind to hear what He wants to say to you. Here are a few areas to evaluate regarding your spiritual hearing moving into next week.
Worship: This isn't about singing; it's about relationship. How much of your daily life is in connection with Him? Do you actively seek to honor Him and thank Him for His goodness?
Meditation on the Word: Is this an active part of your life? It's not just reading the Word, but pondering it.
Rest: Think of this with regard to who carries the burdens of your heart. Is it God or you? How does stress and worry affect your life?
Giving: Giving gets your focus off of yourself and your circumstances.
Prayer: What is the quality of your prayer life? What focus does your prayer life take (is it just about you)? How distracted/focused is it?
Warfare: How involved are you in the warfare around you? Is your approach active or passive?
Fasting: In fasting, the heart and mind are actively seeking revelation from Heaven. It reveals a heart of focused submission.
Work: How much of your work do you carry in your own strength?
If you see areas that need work, it's time to take care of business.
The type of wisdom we rely on will dictate our level of effectiveness in days ahead. If we rely on our own wisdom, we'll fall flat on our faces when we try to build His kingdom. We need the insight and empowering of Holy Spirit. Stilling our minds and submitting our hearts is what enables our spiritual hearing.
This week, I want to encourage you to prepare yourself for the download He wants to bring. Turn off the extra things in your life so that you can focus on hearing Him. Discipline your mind and your heart. Take time for study that is led by the Spirit. Seek out prophetic wisdom from trusted prophets. Turn off the TV, ignore social media and cancel unnecessary meetings. He wants to speak to you. You just have to position yourself to hear Him.
I'm taking some time to do this, myself. I'm attending a key prophetic conference next weekend. I'm also digging into some books that I believe hold wisdom for this next year. Because of that, I won't be posting next week. I want to focus on hearing what the Lord is saying for me and for you. I hope you do the same!


MageAnts Magento 2 Size chart extension provides a size chart Also add size chart pop up along with product and category filter.You can also add a size advisor for efficient UI/UX. Download it with our 90 days FREE support.
Display the size chart as a pop-up linked to size chart icon.


ksedms+00dc bl ksedst 102905E64 ?
nttrd+0118 bl snttread FFFFFFFFFFFBBB3 ?
nsrdr+01d0 bl nsprecv 000000000 ? 110299C00 ?
nsdo+1818 bl nsrdr 000000000 ? 000000000 ?
nioqrc+05c4 bl nsdo 1102A8098 ? 5500000055 ?
opiino+0798 bl opitsk 000000000 ? 000000000 ?
opidrv+032c bl opiodr 3C00000018 ? 4101F62A0 ?
sou2o+0028 bl opidrv 3C0C000000 ? 4A0644B50 ?
ksedmp+0148 bl ksedst 102905C84 ?
kgesiv+0080 bl kgeriv 07FFFFFFC ? 800000000000000 ?
ksesic0+005c bl kgesiv 7000006BE3BB328 ? 000010550 ?
kssadf_stage+0084 bl ksesic0 45800000458 ? 11007A2F8 ?
kqreqa+008c bl kssadf_stage 7000006BE3AADD8 ? 10297D7E8 ?
kqrpre1+06e4 bl kqreqa 000000001 ?
kqrpre+001c bl kqrpre1 BAC3F8E66 ? 000000001 ?
kkdlobni+0058 bl kqrpre 100F29A04 ?
xplObjnToName+0150 bl kkdlobni 9A0000009A ?
xplPatchName+00a4 bl xplObjnToName 9AFFFF46F0 ?
xplMakeRow+0190 bl xplPatchName 000000000 ? 000000000 ?
xplDumpRws+0604 bl xplFetchRow 1029CFB48 ? FFFFFFFFFFF4770 ?
curdmp+0164 bl xplDumpRws 102AE2A20 ?
named 'Child Latch Report' below for further notes.
1. This may not work for 64bit platforms. See bug 2902997 for details.
info will not recognise the problem.
Some processes are being blocked waiting for child latches.
1. Determine the TYPE of latch (Eg library cache) that is involved.
before we got to dump the state object tree of the blocked process.
NON CORRUPTIVE – No underlying data corruption.
This error can occur on dumping of process state which is what occurred here.
The primary issue is the WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK!
This then triggers a system state and process state to be dumped due to nature of the problem.
The ORA-00600  gets dumped out when process state is done.
Stack for trace very similar to Bug 2489130 and this is only known bug on 9.2 like this with a fix.
A fix for bug 2489130 is included in the 9.2.0.7 patchset.
Recommend applying 9.2.0.8 patchset to have this and other bug fixes.
This would only prevent the ORA-00600  from occurring on state dumps.
32769, 00000, "incompatible SQL*Net version"
is incompatible with current version of ORACLE.
ORA-15025: could not open disk "/dev/raw/raw1"
ORA-15025: could not open disk "/dev/raw/raw2"
ORA-15025: could not open disk "/dev/raw/raw3"
ORA-15025: could not open disk "/dev/raw/raw5"
adrci> show incident -mode detail -p "incident_id=108831"
DDE: Ending a split invocation on error recording!
skdstdst()+36        call     kgdsdst()            000000000 ? 000000000 ?
ksedst1()+98         call     skdstdst()           000000000 ? 000000000 ?
ksedst()+34          call     ksedst1()            000000000 ? 000000001 ?
dbkedDefDump()+2741  call     ksedst()             000000000 ? 000000001 ?
ksedmp()+36          call     dbkedDefDump()       000000003 ? 000000002 ?
ksfdmp()+64          call     ksedmp()             000000003 ? 000000002 ?
dbgexExplicitEndInc  call     dbgexPhaseII()       7F1D5281F710 ? 7F1D52822500 ?
()+750                                             7FFFB2640890 ? 000000001 ?
dbgeEndDDEInvocatio  call     dbgexExplicitEndInc  7F1D5281F710 ? 7F1D52822500 ?
nImpl()+767                   ()                   7FFFB2640890 ? 000000001 ?
dbgeEndSpltInvokOnR  call     dbgeEndDDEInvocatio  7F1D5281F710 ? 7F1D52822500 ?
ec()+265                      nImpl()              7FFFB2640890 ? 000000001 ?
dbgePostErrorKGE()+  call     dbgeEndSpltInvokOnR  7F1D5281F710 ? 7F1D52822500 ?
248                           ec()                 7FFFB2640890 ? 000000001 ?
dbkePostKGE_kgsf()+  call     dbgePostErrorKGE()   000000000 ? 7F1D52830E40 ?
63                                                 000003AE9 ? 000000000 ?
kgeade()+351         call     dbkePostKGE_kgsf()   00B7C8EA0 ? 7F1D52830E40 ?
kgerelv()+135        call     kgeade()             00B7C8EA0 ? 00B7C9050 ?
kserecl0()+157       call     kgerelv()            00B7C8EA0 ? 7F1D52830E40 ?
kfioErrorRecord()+7  call     kserecl0()           00B7C8EA0 ? 7F1D52830E40 ?
6                                                  000003AE9 ? 000000005 ?
kfiorq_dump()+129    call     kfioErrorRecord()    7FFFB2642D30 ? 7F1D52830E40 ?
kfioRqSetDump()+565  call     kfiorq_dump()        7FFFB2642D30 ? 7F1D52830E40 ?
kfioTranslateIO()+3  call     kfioRqSetDump()      7F1D524151C0 ? 7F1D52830E40 ?
079                                                000003AE9 ? 000000005 ?
kfioRqSetPrepare()+  call     kfioTranslateIO()    7F1D524151C0 ? 7F1D52415098 ?
1017                                               7FFFB26421D4 ? 7FFFB26421D0 ?
kfioSubmitIO()+2852  call     kfioRqSetPrepare()   7F1D524151C0 ? 7F1D52415098 ?
kfioRequestPriv()+1  call     kfioSubmitIO()       7FFFB2642E10 ? 000000001 ?
94                                                 7FFFB26425D8 ? 7FFFB2642608 ?
kfioRequest()+701    call     kfioRequestPriv()    000000000 ? 000000001 ?
ksfd_kfioRequest()+  call     kfioRequest()        7FFFB2642E10 ? 000000001 ?
644                                                7FFFB2642E18 ? 000000001 ?
ksfd_osmio()+1050    call     ksfd_kfioRequest()   7FFFB2642E10 ? 000000001 ?
ksfd_io()+2717       call     ksfd_osmio()         000000001 ?
ksfdread()+576       call     ksfd_io()            0D400A0B0 ? 000000001 ?
kcc_identify_file()  call     ksfdread()           0D400A0B0 ? 000000001 ?
+309                                               7F1D52417E00 ? 000008000 ?
kcc_identify()+225   call     kcc_identify_file()  0D400A0B0 ? 7F1D52417E00 ?
kccida()+225         call     kcc_identify()       000000000 ? 7F1D52417E00 ?
ksbabs()+771         call     kccida()             7FFFB2643B08 ? 7F1D52417E00 ?
ksbrdp()+971         call     ksbabs()             7FFFB2643B08 ? 7F1D52417E00 ?
+ Remove or comment out UNDO_TABLESPACE and UNDO_RETENTION.
Note, sometimes the alert log will tell you what Automatic Undo segments are in use.
through _SYSSMU10$ as shown in the example above.
From the output of the strings command above, add a $ to end of each _SYSSMU undo segment name.
We have been repair the disk controller, but ora-600 still occur when we try to open database.
After recreating the undo tablespace we were able to open the database.
kgeriv()+176         call     ksfdmp()             000000003 ? 000000001 ?
kgesiv()+119         call     kgeriv()             0068C97C0 ? 2ABDF1D42BF0 ?
ksesic0()+209        call     kgesiv()             0068C97C0 ? 2ABDF1D42BF0 ?
ktugti()+3200        call     ksesic0()            000001001 ? 0068C9940 ?
ktsftcmove()+4149    call     ktugti()             0B73F111C ? 7FFFF53BD278 ?
ktsf_gsp()+1937      call     ktsftcmove()         00000000A ? 000000000 ?
kdtgsp()+512         call     ktsf_gsp()           000000000 ? 7FFFF53BF460 ?
kdccak()+111         call     kdtgsp()             2ABDF1D6A2D8 ? 7FFF00000000 ?
kdcgcs()+5419        call     kdccak()             2ABDF1D6A2D8 ? 000000001 ?
kdcgsp()+1372        call     kdcgcs()             2ABDF1D6A2D8 ? 000000001 ?
kdtInsRow()+1808     call     kdcgsp()             2ABDF1D6A2D8 ? 000000001 ?
insrow()+342         call     kdtInsRow()          2ABDF1D6A2D8 ? 000000001 ?
insdrv()+594         call     insrow()             2ABDF1D6A2D8 ? 7FFFF53BFCC8 ?
inscovexe()+404      call     insdrv()             2ABDF1D6A2D8 ? 7FFFF53BFCC8 ?
insExecStmtExecIniE  call     inscovexe()          0F4A33DE0 ? 0F4A3C230 ?
ngine()+85                                         7FFFF53C0EF0 ? 2ABDF1D69F20 ?
insexe()+386         call     insExecStmtExecIniE  0F4A33DE0 ? 0F4A3C230 ?
ngine()              2ABDF1D69F20 ? 2ABDF1D69F20 ?
opiexe()+9182        call     insexe()             0F4A333A8 ? 7FFFF53C0EF0 ?
opiall0()+1842       call     opiexe()             000000049 ? 000000003 ?


text:
Q: Generic Tree and Generic Node Java I would like to implement a generic TreeNode and a Generic Tree. I've seen few examples on stackoverflow and other places, but couldn't understand completely.
public interface Node<K, V>
{
    K getId();
    V getData();
    K getParentId();
    void addChild(Node<K, V> child);
    List<Node<K, V>> getChildren();
}

public class Tree<K, V>
{
   private Node<K, V> root;
   public void loadData(Map<K, V> data)
   {
         // by figuring out the root node from map, populate tree
         // root node is the one with parentId as null
         // and the logic follows. Simple level order insertion
   }
}

Although the above code servers my purpose, I want to understand if there is a better way to achieve this.
Like declare Tree as
public class Tree<T extends Node<?, ?>
{
   private T root;
   public void loadData(Map<K, V> data)
   {
         // by figuring out the root node from map, populate tree
         // root node is the one with parentId as null
         // and the logic follows. Simple level order insertion
   }
}

In the above case, where should my data load method reside? Some Util class?
Basically, I want to understand the principles to be followed when creating Classes that are generic over types which in turn are generic.
Thanks.

A: If you need the hole tree types generics, this was the only option I could figure out:
    public class Tree<K extends Object, V extends Object, T extends Node<K, V>>
    {
       private T root;
       public void loadData(Map<K, V> data)
       {
             // ...
       }
    }

I'm not sure if I got your point, it's not really clear from the question what are your needs, so if this is pointless or just not exactly what you needed please let me know prior to downvote me (:
Regards.


text:
// pem-wr.cpp - PEM write routines. Written and placed in the public domain by Jeffrey Walton
//              Copyright assigned to the Crypto++ project.
//
// Crypto++ Library is copyrighted as a compilation and (as of version 5.6.2) licensed
// under the Boost Software License 1.0, while the individual files in the compilation
// are all public domain.

///////////////////////////////////////////////////////////////////////////
// For documentation on the PEM read and write routines, see
//   http://www.cryptopp.com/wiki/PEM_Pack
///////////////////////////////////////////////////////////////////////////

#include <string>
using std::string;

#include <memory>
using std::auto_ptr;

#include <algorithm>
using std::transform;

#include <cctype>
#include <cassert>

#include "cryptlib.h"
#include "secblock.h"
#include "camellia.h"
#include "filters.h"
#include "base64.h"
#include "files.h"
#include "queue.h"
#include "modes.h"
#include "osrng.h"
#include "asn.h"
#include "aes.h"
#include "idea.h"
#include "des.h"
#include "hex.h"

#include "pem.h"
#include "pem-com.h"

#define CRYPTOPP_ENABLE_NAMESPACE_WEAK 1
#include "md5.h"

NAMESPACE_BEGIN(CryptoPP)

//////////////////////////////////////////////////////////////////////////////
// Returns a keyed StreamTransformation ready to use to encrypt a DER encoded key

static void PEM_CipherForAlgorithm(RandomNumberGenerator& rng, string algorithm, auto_ptr<StreamTransformation>& stream,
                                   SecByteBlock& key, SecByteBlock& iv, const char* password, size_t length);

//////////////////////////////////////////////////////////////////////////////
// DER encodes a key.

static void PEM_DEREncode(BufferedTransformation& bt, const PKCS8PrivateKey& key);
static void PEM_DEREncode(BufferedTransformation& bt, const X509PublicKey& key);

// Ambiguous call; needs a best match. Provide an overload.
static void PEM_DEREncode(BufferedTransformation& bt, const RSA::PrivateKey& key);

// Special handling for DSA private keys. Crypto++ provides {version,x}, while OpenSSL expects {version,p,q,g,y,x}.
static void PEM_DEREncode(BufferedTransformation& bt, const DSA::PrivateKey& key);

// Special handling for EC private keys. Crypto++ provides {version,x}, while OpenSSL expects {version,x,curve oid,y}.
template <class EC>
static void PEM_DEREncode(BufferedTransformation& bt, const DL_PrivateKey_EC<EC>& key);

//////////////////////////////////////////////////////////////////////////////
// Encrypts a DER encoded key.

static void PEM_Encrypt(BufferedTransformation& src, BufferedTransformation& dest, auto_ptr<StreamTransformation>& stream);
static void PEM_EncryptAndEncode(BufferedTransformation& src, BufferedTransformation& dest, auto_ptr<StreamTransformation>& stream);

//////////////////////////////////////////////////////////////////////////////
// Writes a PEM encoded EC parameters to the BufferedTransformation

template <class EC>
static void PEM_SaveParams(BufferedTransformation& bt, const DL_GroupParameters_EC< EC >& params, const SecByteBlock& pre, const SecByteBlock& post);

//////////////////////////////////////////////////////////////////////////////
// Writes a PEM encoded key to the BufferedTransformation

template <class KEY>
static void PEM_SaveKey(BufferedTransformation& bt,
                        const KEY& key, const SecByteBlock& pre, const SecByteBlock& post);

template <class PUBLIC_KEY>
static void PEM_SavePublicKey(BufferedTransformation& bt,
                              const PUBLIC_KEY& key, const SecByteBlock& pre, const SecByteBlock& post);

template <class PRIVATE_KEY>
static void PEM_SavePrivateKey(BufferedTransformation& bt,
                               const PRIVATE_KEY& key, const SecByteBlock& pre, const SecByteBlock& post);

template <class PRIVATE_KEY>
static void PEM_SavePrivateKey(BufferedTransformation& bt, RandomNumberGenerator& rng,
                               const PRIVATE_KEY& key, const SecByteBlock& pre, const SecByteBlock& post,
                               const std::string& algorithm, const char* password, size_t length);

//////////////////////////////////////////////////////////////////////////////
// Fetches and sets encodeAsOID parameter

template <class EC>
static bool PEM_GetNamedCurve(const DL_GroupParameters_EC<EC>& params);

template <class EC>
static void PEM_SetNamedCurve(const DL_GroupParameters_EC<EC>& params, bool flag);

//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////

void PEM_Save(BufferedTransformation& bt, const RSA::PublicKey& rsa)
{
    PEM_SavePublicKey(bt, rsa, SBB_PUBLIC_BEGIN, SBB_PUBLIC_END);
}

void PEM_Save(BufferedTransformation& bt, const RSA::PrivateKey& rsa)
{
    PEM_SavePrivateKey(bt, rsa, SBB_RSA_PRIVATE_BEGIN, SBB_RSA_PRIVATE_END);
}

void PEM_Save(BufferedTransformation& bt, RandomNumberGenerator& rng, const RSA::PrivateKey& rsa, const string& algorithm, const char* password, size_t length)
{
    PEM_SavePrivateKey(bt, rng, rsa, SBB_RSA_PRIVATE_BEGIN, SBB_RSA_PRIVATE_END, algorithm, password, length);
}

void PEM_Save(BufferedTransformation& bt, const DSA::PublicKey& dsa)
{
    PEM_SavePublicKey(bt, dsa, SBB_PUBLIC_BEGIN, SBB_PUBLIC_END);
}

void PEM_Save(BufferedTransformation& bt, const DSA::PrivateKey& dsa)
{
    PEM_SavePrivateKey(bt, dsa, SBB_DSA_PRIVATE_BEGIN, SBB_DSA_PRIVATE_END);
}

void PEM_Save(BufferedTransformation& bt, RandomNumberGenerator& rng, const DSA::PrivateKey& dsa, const string& algorithm, const char* password, size_t length)
{
    PEM_SavePrivateKey(bt, rng, dsa, SBB_DSA_PRIVATE_BEGIN, SBB_DSA_PRIVATE_END, algorithm, password, length);
}

void PEM_Save(BufferedTransformation& bt, const DL_GroupParameters_EC<ECP>& params)
{
    bool old = PEM_GetNamedCurve(params);
    PEM_SetNamedCurve(params, true);

    PEM_SaveParams(bt, params, SBB_EC_PARAMETERS_BEGIN, SBB_EC_PARAMETERS_END);
    PEM_SetNamedCurve(params, old);
}

void PEM_Save(BufferedTransformation& bt, const DL_GroupParameters_EC<EC2N>& params)
{
    bool old = PEM_GetNamedCurve(params);
    PEM_SetNamedCurve(params, true);

    PEM_SaveParams(bt, params, SBB_EC_PARAMETERS_BEGIN, SBB_EC_PARAMETERS_END);
    PEM_SetNamedCurve(params, old);
}

void PEM_Save(BufferedTransformation& bt, const DL_PublicKey_EC<ECP>& ec)
{
    bool old = PEM_GetNamedCurve(ec.GetGroupParameters());
    PEM_SetNamedCurve(ec.GetGroupParameters(), true);

    PEM_SavePublicKey(bt, ec, SBB_PUBLIC_BEGIN, SBB_PUBLIC_END);
    PEM_SetNamedCurve(ec.GetGroupParameters(), old);
}

void PEM_Save(BufferedTransformation& bt, const DL_PrivateKey_EC<ECP>& ec)
{
    bool old = PEM_GetNamedCurve(ec.GetGroupParameters());
    PEM_SetNamedCurve(ec.GetGroupParameters(), true);

    PEM_SavePrivateKey(bt, ec, SBB_EC_PRIVATE_BEGIN, SBB_EC_PRIVATE_END);
    PEM_SetNamedCurve(ec.GetGroupParameters(), old);
}

void PEM_Save(BufferedTransformation& bt, RandomNumberGenerator& rng, const DL_PrivateKey_EC<ECP>& ec, const std::string& algorithm, const char* password, size_t length)
{
    bool old = PEM_GetNamedCurve(ec.GetGroupParameters());
    PEM_SetNamedCurve(ec.GetGroupParameters(), true);

    PEM_SavePrivateKey(bt, rng, ec, SBB_EC_PRIVATE_BEGIN, SBB_EC_PRIVATE_END, algorithm, password, length);
    PEM_SetNamedCurve(ec.GetGroupParameters(), old);
}

void PEM_Save(BufferedTransformation& bt, const DL_PublicKey_EC<EC2N>& ec)
{
    bool old = PEM_GetNamedCurve(ec.GetGroupParameters());
    PEM_SetNamedCurve(ec.GetGroupParameters(), true);

    PEM_SavePublicKey(bt, ec, SBB_PUBLIC_BEGIN, SBB_PUBLIC_END);
    PEM_SetNamedCurve(ec.GetGroupParameters(), old);
}

void PEM_Save(BufferedTransformation& bt, const DL_PrivateKey_EC<EC2N>& ec)
{
    bool old = PEM_GetNamedCurve(ec.GetGroupParameters());
    PEM_SetNamedCurve(ec.GetGroupParameters(), true);

    PEM_SavePrivateKey(bt, ec, SBB_EC_PRIVATE_BEGIN, SBB_EC_PRIVATE_END);
    PEM_SetNamedCurve(ec.GetGroupParameters(), old);
}

void PEM_Save(BufferedTransformation& bt, RandomNumberGenerator& rng, const DL_PrivateKey_EC<EC2N>& ec, const std::string& algorithm, const char* password, size_t length)
{
    bool old = PEM_GetNamedCurve(ec.GetGroupParameters());
    PEM_SetNamedCurve(ec.GetGroupParameters(), true);

    PEM_SavePrivateKey(bt, rng, ec, SBB_EC_PRIVATE_BEGIN, SBB_EC_PRIVATE_END, algorithm, password, length);
    PEM_SetNamedCurve(ec.GetGroupParameters(), old);
}

void PEM_Save(BufferedTransformation& bt, const DL_Keys_ECDSA<ECP>::PrivateKey& ecdsa)
{
    PEM_Save(bt, dynamic_cast<const DL_PrivateKey_EC<ECP>&>(ecdsa));
}

void PEM_Save(BufferedTransformation& bt, RandomNumberGenerator& rng, DL_Keys_ECDSA<ECP>::PrivateKey& ecdsa, const std::string& algorithm, const char* password, size_t length)
{
    PEM_Save(bt, rng, dynamic_cast<DL_PrivateKey_EC<ECP>&>(ecdsa), algorithm, password, length);
}

void PEM_Save(BufferedTransformation& bt, const DL_GroupParameters_DSA& params)
{
    ByteQueue queue;

    PEM_WriteLine(queue, SBB_DSA_PARAMETERS_BEGIN);

    Base64Encoder encoder(new Redirector(queue), true /*lineBreak*/, RFC1421_LINE_BREAK);
    params.Save(encoder);
    encoder.MessageEnd();

    PEM_WriteLine(queue, SBB_DSA_PARAMETERS_END);

    queue.TransferTo(bt);
    bt.MessageEnd();
}

void PEM_DH_Save(BufferedTransformation& bt, const Integer& p, const Integer& g)
{
    ByteQueue queue;

    PEM_WriteLine(queue, SBB_DH_PARAMETERS_BEGIN);

    Base64Encoder encoder(new Redirector(queue), true /*lineBreak*/, RFC1421_LINE_BREAK);

    DERSequenceEncoder seq(encoder);
      p.BEREncode(seq);
      g.BEREncode(seq);
    seq.MessageEnd();

    encoder.MessageEnd();

    PEM_WriteLine(queue, SBB_DH_PARAMETERS_END);

    queue.TransferTo(bt);
    bt.MessageEnd();
}

void PEM_DH_Save(BufferedTransformation& bt, const Integer& p, const Integer& q, const Integer& g)
{
    ByteQueue queue;

    PEM_WriteLine(queue, SBB_DH_PARAMETERS_BEGIN);

    Base64Encoder encoder(new Redirector(queue), true /*lineBreak*/, RFC1421_LINE_BREAK);

    DERSequenceEncoder seq(encoder);
      p.BEREncode(seq);
      q.BEREncode(seq);
      g.BEREncode(seq);
    seq.MessageEnd();

    encoder.MessageEnd();

    PEM_WriteLine(queue, SBB_DH_PARAMETERS_END);

    queue.TransferTo(bt);
    bt.MessageEnd();
}

template <class EC>
void PEM_SaveParams(BufferedTransformation& bt, const DL_GroupParameters_EC< EC >& params, const SecByteBlock& pre, const SecByteBlock& post)
{
    PEM_WriteLine(bt, pre);

    Base64Encoder encoder(new Redirector(bt), true /*lineBreak*/, RFC1421_LINE_BREAK);

    params.DEREncode(encoder);
    encoder.MessageEnd();

    PEM_WriteLine(bt, post);

    bt.MessageEnd();
}

template <class EC>
void PEM_SavePrivateKey(BufferedTransformation& bt, const DL_PrivateKey_EC<EC>& key, const SecByteBlock& pre, const SecByteBlock& post)
{
    PEM_WriteLine(bt, pre);

    ByteQueue queue;
    PEM_DEREncode(queue, key);

    PEM_Base64Encode(queue, bt);

    PEM_WriteLine(bt, post);

    bt.MessageEnd();
}

void PEM_DEREncode(BufferedTransformation& bt, const DSA::PrivateKey& key)
{
    // Crypto++ provides {version,x}, while OpenSSL expects {version,p,q,g,y,x}.

    const DL_GroupParameters_DSA& params = key.GetGroupParameters();

    DSA::PublicKey pkey;
    key.MakePublicKey(pkey);

    DERSequenceEncoder seq(bt);

    // Version
    DEREncodeUnsigned<word32>(seq, 0);

    // P
    params.GetModulus().DEREncode(seq);

    // Q
    params.GetSubgroupOrder().DEREncode(seq);

    // G
    params.GetGenerator().DEREncode(seq);

    // Y
    pkey.GetPublicElement().DEREncode(seq);

    // X
    key.GetPrivateExponent().DEREncode(seq);

    seq.MessageEnd();
}

template <class EC>
void PEM_DEREncode(BufferedTransformation& bt, const DL_PrivateKey_EC<EC>& key)
{
    // Crypto++ provides {version,x}, while OpenSSL expects {version,x,curve oid,y}.

    // Need a public key to encode the public element.
    DL_PublicKey_EC<EC> pkey;
    key.MakePublicKey(pkey);

    // Prefetch the group parmaters
    const DL_GroupParameters_EC<EC>& params = pkey.GetGroupParameters();

    // Sequence begin
    DERSequenceEncoder seq(bt);

    // Version
    DEREncodeUnsigned<word32>(seq, 1);

    // Private key
    const Integer& x = key.GetPrivateExponent();
    x.DEREncodeAsOctetString(seq, params.GetSubgroupOrder().ByteCount());

    // Named curve
    OID oid;
    if(!key.GetVoidValue(Name::GroupOID(), typeid(oid), &oid))
        throw Exception(Exception::OTHER_ERROR, "PEM_DEREncode: failed to retrieve curve OID");

    // Encoder for OID
    DERGeneralEncoder cs1(seq, CONTEXT_SPECIFIC | CONSTRUCTED | 0);
    oid.DEREncode(cs1);
    cs1.MessageEnd();

    // Encoder for public key (outer CONTEXT_SPECIFIC)
    DERGeneralEncoder cs2(seq, CONTEXT_SPECIFIC | CONSTRUCTED | 1);

    // Encoder for public key (inner BIT_STRING)
    DERGeneralEncoder cs3(cs2, BIT_STRING);
    cs3.Put(0x00);        // Unused bits
    params.GetCurve().EncodePoint(cs3, pkey.GetPublicElement(), false);

    // Done encoding
    cs3.MessageEnd();
    cs2.MessageEnd();

    // Sequence end
    seq.MessageEnd();

    bt.MessageEnd();
}

void PEM_DEREncode(BufferedTransformation& bt, const PKCS8PrivateKey& key)
{
    key.DEREncodePrivateKey(bt);
    bt.MessageEnd();
}

void PEM_DEREncode(BufferedTransformation& bt, const X509PublicKey& key)
{
    key.DEREncode(bt);
    bt.MessageEnd();
}

void PEM_DEREncode(BufferedTransformation& bt, const RSA::PrivateKey& key)
{
    return PEM_DEREncode(bt, dynamic_cast<const PKCS8PrivateKey&>(key));
}

template <class PUBLIC_KEY>
void PEM_SavePublicKey(BufferedTransformation& bt,
                       const PUBLIC_KEY& key, const SecByteBlock& pre, const SecByteBlock& post)
{
    PEM_SaveKey(bt, key, pre, post);
}

template <class PRIVATE_KEY>
static void PEM_SavePrivateKey(BufferedTransformation& bt,
                               const PRIVATE_KEY& key, const SecByteBlock& pre, const SecByteBlock& post)
{
    PEM_SaveKey(bt, key, pre, post);
}

template <class KEY>
void PEM_SaveKey(BufferedTransformation& bt, const KEY& key, const SecByteBlock& pre, const SecByteBlock& post)
{
    PEM_WriteLine(bt, pre);

    ByteQueue queue;
    PEM_DEREncode(queue, key);

    PEM_Base64Encode(queue, bt);

    PEM_WriteLine(bt, post);

    bt.MessageEnd();
}

template<class PRIVATE_KEY>
void PEM_SavePrivateKey(BufferedTransformation& bt, RandomNumberGenerator& rng,
                        const PRIVATE_KEY& key, const SecByteBlock& pre, const SecByteBlock& post,
                        const std::string& algorithm, const char* password, size_t length)
{
    ByteQueue queue;

    PEM_WriteLine(queue, pre);

    // Proc-Type: 4,ENCRYPTED
    PEM_WriteLine(queue, SBB_PROC_TYPE_ENC);

    SecByteBlock _key, _iv;
    auto_ptr<StreamTransformation> stream;

    // After this executes, we have a StreamTransformation keyed and ready to go.
    PEM_CipherForAlgorithm(rng, algorithm, stream, _key, _iv, password, length);

    // Encode the IV. It gets written to the encapsulated header.
    string encoded;
    HexEncoder hex(new StringSink(encoded));
    hex.Put(_iv.data(), _iv.size());
    hex.MessageEnd();

    // e.g., DEK-Info: AES-128-CBC,5E537774BCCD88B3E2F47FE294C93253
    string line;
    line += LBL_DEK_INFO + LBL_COLON + LBL_SPACE;
    line += algorithm + LBL_COMMA + encoded;

    // The extra '\n' separates the control fields from the encapsulated
    //   text (i.e, header from body). Its required by RFC 1421.
    PEM_WriteLine(queue, line);
    queue.Put('\n');

    ByteQueue temp;
    PEM_DEREncode(temp, key);

    PEM_EncryptAndEncode(temp, queue, stream);

    PEM_WriteLine(queue, post);

    queue.TransferTo(bt);
    bt.MessageEnd();
}

void PEM_CipherForAlgorithm(RandomNumberGenerator& rng, string algorithm, auto_ptr<StreamTransformation>& stream,
                            SecByteBlock& key, SecByteBlock& iv, const char* password, size_t length)
{
    unsigned int ksize, vsize;
    std::transform(algorithm.begin(), algorithm.end(), algorithm.begin(), (int(*)(int))std::toupper);

    if(algorithm == "AES-256-CBC")
    {
        ksize = 32;
        vsize = 16;

        stream = auto_ptr<StreamTransformation>(new CBC_Mode<AES>::Encryption);
    }
    else if(algorithm == "AES-192-CBC")
    {
        ksize = 24;
        vsize = 16;

        stream = auto_ptr<StreamTransformation>(new CBC_Mode<AES>::Encryption);
    }
    else if(algorithm == "AES-128-CBC")
    {
        ksize = 16;
        vsize = 16;

        stream = auto_ptr<StreamTransformation>(new CBC_Mode<AES>::Encryption);
    }
    else if(algorithm == "CAMELLIA-256-CBC")
    {
        ksize = 32;
        vsize = 16;

        stream = auto_ptr<StreamTransformation>(new CBC_Mode<Camellia>::Encryption);
    }
    else if(algorithm == "CAMELLIA-192-CBC")
    {
        ksize = 24;
        vsize = 16;

        stream = auto_ptr<StreamTransformation>(new CBC_Mode<Camellia>::Encryption);
    }
    else if(algorithm == "CAMELLIA-128-CBC")
    {
        ksize = 16;
        vsize = 16;

        stream = auto_ptr<StreamTransformation>(new CBC_Mode<Camellia>::Encryption);
    }
    else if(algorithm == "DES-EDE3-CBC")
    {
        ksize = 24;
        vsize = 8;

        stream = auto_ptr<StreamTransformation>(new CBC_Mode<DES_EDE3>::Encryption);
    }
    else if(algorithm == "IDEA-CBC")
    {
        ksize = 16;
        vsize = 8;

        stream = auto_ptr<StreamTransformation>(new CBC_Mode<IDEA>::Encryption);
    }
    else if(algorithm == "DES-CBC")
    {
        ksize = 8;
        vsize = 8;

        stream = auto_ptr<StreamTransformation>(new CBC_Mode<DES>::Encryption);
    }
    else
    {
        throw NotImplemented("PEM_CipherForAlgorithm: '" + algorithm + "' is not implemented");
    }

    const unsigned char* _pword = reinterpret_cast<const unsigned char*>(password);
    const size_t _plen = length;

    SecByteBlock _key(ksize), _iv(vsize), _salt(vsize);

    // The IV pulls double duty. First, the first PKCS5_SALT_LEN bytes are used
    //   as the Salt in EVP_BytesToKey. Second, its used as the IV in the cipher.
    assert(_iv.size() >= OPENSSL_PKCS5_SALT_LEN);

    rng.GenerateBlock(_iv.data(), _iv.size());
    _salt = _iv;

    // MD5 is engrained OpenSSL goodness. MD5, IV and Password are IN; KEY is OUT.
    //   {NULL,0} parameters are the OUT IV. However, the original IV in the PEM
    //   header is used; and not the derived IV.
    Weak::MD5 md5;
    int ret = OPENSSL_EVP_BytesToKey(md5, _salt.data(), _pword, _plen, 1, _key.data(), _key.size(), NULL, 0);
    if(ret != static_cast<int>(ksize))
        throw Exception(Exception::OTHER_ERROR, "PEM_CipherForAlgorithm: EVP_BytesToKey failed");

    SymmetricCipher* cipher = dynamic_cast<SymmetricCipher*>(stream.get());
    assert(cipher != NULL);

    cipher->SetKeyWithIV(_key.data(), _key.size(), _iv.data(), _iv.size());

    _key.swap(key);
    _iv.swap(iv);
}

void PEM_Encrypt(BufferedTransformation& src, BufferedTransformation& dest, auto_ptr<StreamTransformation>& stream)
{
    StreamTransformationFilter filter(*stream, new Redirector(dest));
    src.TransferTo(filter);
    filter.MessageEnd();
}

void PEM_EncryptAndEncode(BufferedTransformation& src, BufferedTransformation& dest, auto_ptr<StreamTransformation>& stream)
{
    ByteQueue temp;
    PEM_Encrypt(src, temp, stream);

    PEM_Base64Encode(temp, dest);
}

template <class EC>
bool PEM_GetNamedCurve(const DL_GroupParameters_EC<EC>& params)
{
    return params.GetEncodeAsOID();
}

template <class EC>
void PEM_SetNamedCurve(const DL_GroupParameters_EC<EC>& params, bool flag)
{
    DL_GroupParameters_EC<EC>& pp = const_cast<DL_GroupParameters_EC<EC>&>(params);
    pp.SetEncodeAsOID(flag);
}

NAMESPACE_END


Subject Focused Online Training | May 1 Ensuring that resources are allocated in a balanced manner enhances the likelihood of an on target completion. Merlin Project can not only manage resource assignment within a project, but across multiple projects as well. This is the feature called "Resource Pools".
Allowing Merlin Project to figure out the schedule is one of the reasons to use a project management software. Take the guess work out of your plan, and put your technology to use.


Hawaii Congresswoman Tulsi Gabbard, who is seeking the 2020 Democratic presidential nomination, is under fire for an appearance she made at a Sunday morning talk show in which she refused to denounce Syrian President Bashar al-Assad.
"Assad is not the enemy of the United States because Syria does not pose a direct threat to the United States," she said on MSNBC's "Morning Joe."
Co-hosts Joe Scarborough and Mika Brzezinski then pushed Gabbard to clarify whether she thinks Assad is an "adversary" of the United States.
"We have to look to who poses a threat to the United States," said Gabbard in one exchange with Scarborough, who argued there is more at stake when assessing U.S. adversaries.
"My point is that whether it is Syria or any of these other countries, we need to look at how their interests are counter to or aligned with ours," Gabbard explained.
"Assad seems interested in the slaughter, primarily, of his own people. How does that line up?" Hunt pressed further.


People whose jobs require them to think abstractly might want to lessen their time using laptops or tablets after a new study found that such activities may be forcing them to become concrete thinkers instead.
Researchers at Dartmouth College and the Carnegie Mellon University examined how reading stories in print differs from reading them on a laptop. They wanted to find out whether the human brain has evolved enough to the point where information obtained through a digital device is sufficient to elicit a unique mindset or pattern of processing.
For their work, the researchers asked 300 individuals, between the ages of 20 and 24, to read a story given to them both in print and digital versions. The team made sure that the reading material was published using the same print size and format for both media.
The volunteers were also asked to complete a Behavior Identification Form (BIF), which provided them with 25 items corresponding to different activities such as making a list. They were to choose whether an item pertains to high-level and abstract thinking or low-level and concrete thinking.
According to study co-author Geoff Kaufman, the BIF is often used to measure a person's natural inclinations or measure his or her temporary choices that are influenced by certain context or situations. He said that they used the form in the latter sense.
After the experiment, the researchers discovered that those who read the print version of the story were able to score higher on the abstract questions than those who read the digital version.
Volunteers who read the digital version of the story, however, were able to record a higher score on the concrete questions than those who read it on print.
While the researchers admit that it might be too early to say for certain that digital media influences how the human brain is able to process information in other contexts, they do note that using the medium could result in a cognitive evolution where people become less likely to think abstractly as a default.
Kaufman pointed out that if their conjecture proves to be correct, it would mean that as people spend more time using their laptops or tablets, the more they could become inclined to having a concrete-focused mindset.
The findings of the study are being presented during the ACM Conference on Human Factors in Computing Systems this month.


Establishes a connection to a predefined registry key on another computer.
The caller must have access to the remote computer or the function fails.
If this parameter is NULL, the local computer name is used.
A predefined registry handle. This parameter can be one of the following predefined keys on the remote computer.
A pointer to a variable that receives a key handle identifying the predefined handle on the remote computer.
RegConnectRegistry requires the Remote Registry service to be running on the remote computer. By default, this service is configured to be started manually. To configure the Remote Registry service to start automatically, run Services.msc and change the Startup Type of the service to Automatic.
Windows Server 2003 and Windows XP/2000: The Remote Registry service is configured to start automatically by default.
When a handle returned by RegConnectRegistry is no longer needed, it should be closed by calling RegCloseKey.
If the computer is joined to a workgroup and the "Force network logons using local accounts to authenticate as Guest" policy is enabled, the function fails. Note that this policy is enabled by default if the computer is joined to a workgroup.
If the current user does not have proper access to the remote computer, the call to RegConnectRegistry fails. To connect to a remote registry, call LogonUser with LOGON32_LOGON_NEW_CREDENTIALS and ImpersonateLoggedOnUser before calling RegConnectRegistry.
Windows 2000: One possible workaround is to establish a session to an administrative share such as IPC$ using a different set of credentials. To specify credentials other than those of the current user, use the WNetAddConnection2 function to connect to the share. When you have finished accessing the registry, cancel the connection.
Windows XP Home Edition: You cannot use this function to connect to a remote computer running Windows XP Home Edition. This function does work with the name of the local computer even if it is running Windows XP Home Edition because this bypasses the authentication layer.


text:
Digital Subscriptions > Music > Classical > Organists' Review Magazine > December 2015
Organists' Review Preview
To give our readers something to add to their Christmas lists, we have focussed this issue on house organs. One brand new, built and designed by Paul Gee up in Lancaster; the many which have been owned by Gordon S. Frier up in Glasgow; and one historic, which may well be the oldest working organ in the country which lives in Knole House in Kent. Peter King has provided an article to whet your appetites for next year's Festival, the renamed Congress, which is taking place in the historic city of Bath. The more the editor hears about this event, the more exciting it sounds. We have unfortunately had to also include two full obituaries in this issue and the cover and pull-out are a tribute to Martin Goetze who also recently passed away.
Organists' Review Magazine
4 issues per year View Reviews | Write Review From £2.75 per issue If you love to play, love to listen to or simply love to discuss organs as an instrument, this is the magazine for you. It provides a kaleidoscope of the organ world, with articles, information and stunning pictures covering a wide range of organ related topics. In addition to regular features such as new music and CD reviews, each issue explores in depth a theme of current interest.
Starting life primarily as the quarterly magazine of the IAO it is now available to all.
WAYS TO READ Organists' Review Magazine
This issue and other back issues are not included in a Organists' Review subscription. Subscriptions include the latest regular issue and new issues released during your subscription and start from as little as £2.75 per issue.
Looking for Organists' Review in print?
Unfortunately pocketmags.com does not sell print copies of Organists' Review, but all is not lost. Our partner at magazine.co.uk sells print subscriptions at the best prices online.
Organists' Review | &nbspDecember 2015
To give our readers something to add to their Christmas lists, we have focussed this issue on house organs. One brand new, built and designed by Paul Gee up in Lancaster; the many which have been owned by Gordon S. Frier up in Glasgow; and one historic, which may well be the oldest working organ in the country which lives in Knole House in Kent.
Peter King has provided an article to whet your appetites for next year's
Festival, the renamed Congress, which is taking place in the historic
city of Bath. The more the editor hears about this event, the more exciting it
We have unfortunately had to also include two full obituaries in this
issue and the cover and pull-out are a tribute to Martin Goetze who also
recently passed away.
If you love to play, love to listen to or simply love to discuss organs as an instrument, this is the magazine for you. It provides a kaleidoscope of the organ world, with articles, information and stunning pictures covering a wide range of organ related topics. In addition to regular features such as new music and CD reviews, each issue explores in depth a theme of current interest.
You'll receive 4 issues during a 1 year Organists' Review magazine subscription.
Organists' Review
Latest edition (September 2020) is particularly interesting with some good articles Reviewed 04 September 2020
Good range of topics written by respected authors Reviewed 07 April 2020
Go on with the good job! Reviewed 23 February 2020
As a big fan of the pipe organ, I can read and keep up with information regarding the organ/organists in one publication. No searching through different pubs looking for the info that you have Kindly offered for our reading pleasure. Thank. You.
David Crandall Reviewed 14 February 2020
I have just come across this magazine. Amazing! Will keep referring back. Reviewed 13 June 2014


text:
Film coup as whale takes first breath
Bridie Smith; 24/7/09
The birth of a humpback whale has been filmed for the first time, according to seasoned whale researchers who photographed the young whale calf, barely minutes old, taking its first breath. "It's like the Holy Grail," said Curt Jenner, of WA's Centre for Whale Research. "People have been chasing it for a long, long time." Photographs of the humpback calf, born in the cooler waters near Western Australia's Ningaloo Reef last Sunday, were released yesterday. The calf was lifted up to take its first breath by its mother, who used her nose to raise the calf out of the water for a good 10 seconds. "That first breath was amazing," Mr Jenner said. "It was like dropping batteries into it, all of a sudden it was all go. The tail was going and it covered the distance of 100 metres in no time flat."
See: http://www.theage.com.au/national/film-coup-as-whale-takes-first-breath-20090723-duv6.html
Australia, Environment, Japan, Pacific


text:
«Железная пята олигархии» — российский фильм 1999 года. В роли режиссёра, сценариста и главного действующего персонажа Александр Баширов. Название взято из романа Джека Лондона «Железная пята», который прямо упоминается в фильме.

Сюжет
Николай Петрович (Баширов), бывший учитель русского и литературы, а ныне люмпен, — отправляется в «колыбель революции» Санкт-Петербург, для реализации своей идеи-фикс — организации пролетарской революции против олигархии.

Здесь он выступает на митингах перед рабочими, встречается с представителями различных слоёв общества — от журналистов до проституток. Николай Петрович находит время для посещений клубов, где он танцует под авангардную музыку. За деятельностью нового вождя революции пристально наблюдают ищейки олигархии, и в итоге он погибает от их рук.

В ролях

Награды
 Международный кинофестиваль в Роттердаме — «Tiger Award» (1999)
 «Лучший Европейский фильм» — Главный Приз — Александрия (Египет, 1999)
 Венецианский кинофестиваль — Неделя кинокритиков — Награда журнала «Filmcritik» (1998)
 Награда ФИПРЕССИ на международном кинофестивале «Кинотавр» (Сочи, 1998)
 На кинофестивале Окно в Европу (Выборг, 1998) — специальный приз за лучшую операторскую работу
 Российский кинофестиваль «Литература и кино» (Гатчина, 1999): Большой приз жюри; Приз за лучшую мужскую роль (А. Баширов); Специальный приз жюри, приз Гильдии киноведов и кинокритиков России.
 Приз «Серебряный гвоздь» (победителю конкурса дебютов) Кинофорум «Серебряный гвоздь—98» (Сочи)
 Приз кинопрессы КФ «Виват кино России!—98» (С.-Петербург)

Примечания

Ссылки

 Репортаж с презентации фильма «Железная пята олигархии»

Фильмы-драмы России
Фильмы России 1999 года
Экранизации произведений Джека Лондона

redpajama_set_name: RedPajamaWikipedia


Karthik Subbaraj gets candid about Mercury and the TFPC strike.
Noted filmmaker Karthik Subbaraj is gearing up for the release of his highly-ambitious silent thriller Mercury. And, as expected, he is looking forward to the film's release. During a recent chat with the media, the young director said that Mercury highlights how big corporates often harm and exploit small towns for commercial gains.
"Apart from the fact that it's a thriller, the story shines the spotlight on how corporates have exploited small towns. The inspiration behind the idea has been incidents such as Bhopal gas leak and Mercury poisoning in Japan," added Karthik.
He went on to add that he has always been a fan of silent films and his decision to make Mercury was influenced by his admiration for Kamal Haasan starrer Pushpak.
"How many of us still remember the silent era and the work of Charlie Chaplin and his contemporaries? I'm a huge fan of the silent era and I can't explain in words how much I love Kamal sir's Pushpak. I've always wanted to make a silent film and when I was toying with the idea of Mercury, I decided to make it without any dialogues," said Karthik.
Opening up about Prabhudheva's role, he said that he is a terrific actor and Mercury has done justice to his talents.
"He's a terrific actor. He's mostly done comedies and romcoms. Nobody has given him anything slightly negative. Mercury has tapped his hidden acting potential and audiences are going to love his performance," added the filmmaker.
Mercury is the biggest release yet and will screen all over India. However, it will not be released in Tamil Nadu because of the ongoing strike.
Addressing this, he said that it is 'disappointing' but he respects the TFPC's decision.
"It is slightly disappointing that we're not able to release in Tamil Nadu. But, we're with the industry in this strike and we will respect their decision to not release any new Tamil films," added the director.
We wish him good luck and hope that Mercury opens new avenues for him.


text:
Q: Is Aftersave() callback with $created parameter works on CakePHP 1.1? I am working on a CakePHP 1.1 project. I know it is a really old version of the framework but it is not my project.
I try to get the $created variable in my afterSave() callback :
function afterSave($created) {
      debug($created);
}

According to the 2.x documentation, $created should be true or false.
In my case, $created is not defined.

Notice: Undefined variable: created in /app/models/property.php on line 370

Am I missing something ?
I am having a lot of trouble for finding documentations/informations on the version 1.1 of the framework.
Is this even possible in CakePHP 1.1 ? If not, what alternative can I use ?
Thanks in advance.

A: According to the CakePHP 1.1 documentation there are no parameters for afterSave(). It looks like the $created parameter was introduced in CakePHP 1.2.
If your records have created and modified fields you could check if these match (i.e. is a new record):-
function afterSave($created) {
    if ($this->data[$this->alias]['created'] === $this->data[$this->alias]['modified']) {
        // created
    }
}

Not sure if my code example is a 100% correct as it is a very long time since I worked with CakePHP 1.x, but will hopefully put you on the right track. There may (probably) be better solutions than this.


text:
title: Sum of a square and a cube
localeTitle: Сумма квадрата и куба
---
## Задача 348: сумма квадрата и куба

Это заглушка. [Помогите нашему сообществу расширить его](https://github.com/freecodecamp/guides/tree/master/src/pages/certifications/coding-interview-prep/project-euler/problem-348-sum-of-a-square-and-a-cube/index.md) .

[Это руководство по быстрому стилю поможет вам принять ваш запрос на тягу](https://github.com/freecodecamp/guides/blob/master/README.md) .


On its temperature forecast map, the Carolinas and much of the southeast and Mid-Atlantic are all colored white, while the rest of the country is cast in reds and oranges, since those areas are expected to be warmer. The winter forecast hinges predominantly on the 75 percent chance that El Niño, characterized by warming waters in the eastern Pacific Ocean, will develop in the coming months and last through the winter.
"We expect El Nino to be in place in late fall to early winter", said NOAA's Climate Prediction Center Deputy Director Mike Halpert, according to CNN. The WYMT Weather team will have their 2018-2019 Winter Outlook for Eastern Kentucky on Tuesday, November 20th.
- Warmer-than-normal conditions are anticipated across much of the northern and western US, with the greatest likelihood in Alaska and from the Pacific Northwest to the Northern Plains. Northern Florida and southern Georgia have the greatest odds for above-average precipitation during the winter, the NOAA said. Portions of the Northern Rockies and the Northern Plains are also likely to experience drier-than-average conditions.
But they are expected to get better in Arizona and New Mexico, southern parts of Utah and Colorado, the coastal Pacific Northwest and the Central Plains, NOAA said. "Even during a warmer-than-average winter, periods of cold temperatures and snowfall are still likely to occur", the agency stated. But in case you need some talking down, a new forecast from NOAA says that at the very least, it won't be a nightmare this year.


Pharmacists could be free to abstain from selling the morning-after pill on grounds of religious conscience, but ultimately the State is obliged to provide a legal alternative.
Amid controversy prompted by a judicial protest filed by the Women's Rights Foundation and 102 women demanding the licensing of the MAP, the Chamber of Pharmacists has directed members to decide for themselves whether to dispense the emergency contraceptive or not.
Supporters of the MAP – which include political parties, women's organisations and youth groups – are insisting that the pill is not abortive because it works by delaying ovulation, thereby avoiding pregnancy. Several health professionals have explained the MAP is classed as a hormonal contraceptive.
But the scientific community has been the least vocal on the MAP in a country that retains a general aversion towards anything that is potentially akin to 'abortion' in common parlance. The Chamber of Pharmacists' 'conchie' directive only seems to further the perception that the MAP can be justifiably withheld in a country that retails condoms even inside supermarkets.
The classic case on conscientious objection in reproductive health is that of Bruno Pichon and Marie-Line Sajous, who owned a Bordeaux pharmacy and refused to sell contraceptives prescribed by doctors because they claimed it was against their religious beliefs.
The pharmacists claimed they were abiding by French law that prohibits the sale of substances that facilitate abortion.
The three women who were refused their prescriptions filed a complaint, and the Bordeaux Police Court decided that the law only concerned "abortifacients" and that "ethical or religious principles are not legitimate grounds to refuse to sell a contraceptive. There is no legislation which authorises pharmacists to refuse to supply contraceptives …".
In 2001, the two owners took the French state to the European Court of Human Rights after their final appeal was dismissed by the Court of Cassation. Pichon and Sajous claimed their freedom to manifest their religious beliefs had been violated by the French state when it convicted them for refusing to sell the contraceptives.
The ECHR declared the case inadmissible, saying that Article 9 – which protects freedom of conscience and its expressions – does not always guarantee the right to practise this in public. The court said that given that contraceptives were legal and sold only with a prescription and only in pharmacies, pharmacy owners could not prioritise their beliefs over their professional obligations.
The question put to pharmacists is whether they believed that the Chamber had been fair in saying that they were right in refusing to dispense the morning-after pill, even if it is licensed for sale by the medicines authority.
And the answers have proved to vary drastically.
Others seemed to indicate that each pharmacist should get to decide for themselves whether to sell the morning-after pill or not. "It is really down to the pharmacist's personal values," Vanessa Sultana, from Gozo Chemist Pharmacy, said.
But one pharmacist told MaltaToday that it was her professional obligation to provide what doctors prescribe, and that ultimately the decision is not that of the pharmacist.
"The whole issue is one based on ethics. It's not something I, as a pharmacist, can decide. It's a decision to be taken between the woman and her gynaecologist," the pharmacist from Ghaxaq's Beta Pharmacy, who also wished to stay anonymous, said.
Another pharmacist from St Julian's Pharmacy who also wished to remain unnamed, on the other hand, said she agreed with the morning-after pill, but that she supported her colleagues who would object to selling it on grounds of conscience.
Indeed it would seem that this is the prevalent spirit as laid down in a Council of Europe resolution on conscientious objection, which although non-binding, is politically significant.
It establishes that no person, hospital, or institution can be pressured, held responsible or discriminated against for refusing to perform, accommodate, or assist in certain treatment or the distribution of certain products.
But the same resolution emphasises the state's responsibility to ensure that patients can access medical care in a timely manner.
Critics of conscientious objection in reproductive healthcare are more zealous on the consequences of withholding the emergency contraceptive pill.
But even an 'extreme' opinion such as that of an abortion doctor, seems to make its own rational case against objectors. Dr Christian Fiala, of the Gynmed Ambulatorium, says that since women are the vast majority of patients in reproductive healthcare, conscientious objection rises to the level of gender discrimination.
The American College of Nurse-Midwives (ACNM) clearly identifies the primacy of the needs of the woman in its position statement on reproductive health choices, in which it affirms that "every woman has the right to make reproductive health choices that meet her individual needs."1 What is not clear in the ACNM statement is how this position is addressed when a midwife is not supportive of a woman's choice, whether that choice is induction of labor without a clinical indication, primary cesarean without labor, the use of emergency postcoital contraception, or abortion. At what point do the personal beliefs of the midwife, whether based on personal preference or personal moral code, take precedence over one's professional responsibility to provide compassionate, evidence-based care to the woman and her family? How do midwives meet the needs of women when the woman's preferences conflict with what the midwife believes is reliable and scientifically based evidence or when they conflict with the midwife's own ethical or moral beliefs? Can the midwife opt out of care for women who choose circumcision for their newborns if the midwife does not support that choice? In addition to respecting women's choices, how can midwives best ensure that they are respecting their own beliefs and moral codes?


Historical PS ratio values for ProQR Therapeutics (PRQR) over the last 10 years. The current P/S ratio for ProQR Therapeutics as of April 18, 2019 is .
ProQR Therapeutics B.V. is a biotech company. It is engaged in the discovery and development of RNA-based therapeutics for the treatment of severe genetic disorders, with an initial focus on Cystic Fibrosis (CF). The Company's lead product candidate includes QR-010, a RNA-based oligonucleotide for the treatment of cystic fibrosis. ProQR Therapeutics B.V. is headquartered in Leiden, the Netherlands.


text:
L'Angel Oak (in italiano: "Quercia di Angel" o "Quercia dell'angelo") è un albero di Quercus virginiana pluricentenario, ubicato a Charleston, negli Stati Uniti d'America.

L'esemplare, alto 20 m e con una chioma che si estende per 1600 m², ha un'età stimata di 400-500 anni. L'albero, come l'intera specie, è caratterizzato da lunghi e tortuosi rami, il più lungo dei quali raggiunge una lunghezza di 57 m.

Storia

Le prime notizie che attestano l'esistenza dell'Angel Oak risalgono al 1717, quando l'albero ricadeva all'interno di un'area di coltivazione di proprietà di un uomo di nome Abraham White. Il nome della quercia deriva da Justus Angel e di sua moglie, Martha Waight Tucker Angel, discendente di Abraham White, successivi proprietari della tenuta, sebbene nel folklore locale il nome è stato associato a storie di fantasmi degli schiavi della zona che apparirebbero come angeli attorno all'albero.

Nel 1989 l'albero riportò dei danni a seguito del passaggio dell'uragano Hugo, ma recuperò negli anni successivi.

Nel 1991 la proprietà dell'albero e dell'area circostante fu trasferita alla città di Charleston che creò un parco a tutela del prezioso esemplare.

In seguito l'area attorno all'albero fu oggetto di interessi immobiliari che miravano alla costruzione di complessi residenziali. Nel 2012 il progetto fu bloccato in seguito al ricorso in tribunale da parte di un gruppo di attivisti denominato Save the Angel Oak and the Coastal Conservation League.

Note

Voci correlate
Quercus virginiana

Collegamenti esterni

Alberi monumentali degli Stati Uniti d'America
Querce monumentali