dataset_name: pile

text:
 ODTS SAMs also enables selective growth of the second metal onto the cores, forming uniformly distributed core shell NPs. The size, shell thickness and composition of the NPs can be controlled precisely by varying the ALD cycles and significantly expands the applicability of this method. We demonstrate the realization of AS-ALD NP growth process by fabricating Pd/Pt and Pt/Pd core shell structures, which can be readily extended to the growth of other core shell structures.

Results and Discussion
======================

[Figure 1](#f1){ref-type="fig"} is a schematic illustration of the synthesis strategy of the Pd core/Pt shell NPs exploiting AS-ALD growth on the ODTS SAMs modified substrate. First an ODTS SAMs were formed on the native oxide terminated substrate, the SAMs formation time was purposely controlled to be less than the saturation time to obtain pinholes. These pinholes were ODTS uncovered sites and exposed the reactive hydroxyl (−OH) functional group of the silicon substrate[@b41]. Other parts were covered with closely packed ODTS molecules which have inert methyl (−CH~3~) end groups[@b42][@b43]. During the first stage of core formation, the pinholes with active hydroxyl groups could initiate the nucleation of Pd to form the metal cores. During the second ALD stage for shell formation, the Pt precursors could only chemically bind to Pd cores deposited in the first stage, but not to the closely packed SAMs layer. As a result, Pt was selectively deposited onto the Pd nuclei and formed Pd/Pt core shell NPs. In comparison, the nucleation of Pt on the substrates could hardly be avoided on a bare silicon substrate without introducing special adjustment of ALD reaction conditions, resulting in a mixed phase formation of Pt, Pd and Pd/Pt NPs.

Atomic force microscope (AFM) was used to reveal the correlation between the NPs density (defined as NPs\' counts per unit area) and the number of pinholes in ODTS film. The results are shown in [Figure 2](#f2){ref-type="fig"}. The surface morphology of ODTS-free Si substrate ([Figure 2a1](#f2){ref-type="fig"}) is flat with \~0.3 nm surface roughness. The ODTS-coated substrate (2 h dip time for SAMs growth, [Figure 2b1](#f2){ref-type="fig"}) is less smooth with significant number of nanometer scale pinholes. Those pinholes are uncovered sites that could enable the precursors to penetrate through the organic film and react with surface hydroxyl groups[@b41]. [Figure 2a2, b2](#f2){ref-type="fig"} represent samples with 300 cycles of Pd grown on ODTS-free and ODTS-coated substrates, respectively. On ODTS-free substrate, the deposited NPs density is 5.1 × 10^3^/um^2^, while the NPs density reduces to 2.4 × 10^3^/um^2^ when the same ALD process is conducted on ODTS modified substrate. The pinholes density of ODTS-coated substrate extracted from [figure 2b1](#f2){ref-type="fig"} was \~2.9 × 10^3^/um^2^ which is about the same with the density of Pd NPs on ODTS-coated substrate in [Figure 2b2](#f2){ref-type="fig"}. This illustrates that the pinholes on the unsaturated ODTS layer act as nucleation sites, while the areas covered with closely packed ODTS molecular effectively block precursor chemisorption and limit the nucleation of metal NPs. [Figure 2a3, b3](#f2){ref-type="fig"} represent the corresponding samples in [Figure 2a2, b2](#f2){ref-type="fig"} after 25 cycles Pt ALD process. From the cross section height profile from [Figure 2a3, b3](#f2){ref-type="fig"}, on ODTS-free substrate the particles average height is 4.5 nm above the surface, on ODTS-coated substrate the value is 2.3 nm above the surface. The height differences verify the NPs are grown inside the pinholes on ODTS-coated substrate.

To study the influence of SAMs growth time to the NPs density. 300 cycles Pd NPs on ODTS SAMs with 0, 10 min and 2 h dip time were characterized with SEM and the statistical analysis results are given in [Table S1 of Supplementary Information (SI)](#s1){ref-type="supplementary-material"}. As the ODTS growth time increase, both the Pd NPs density and coverage area percentage decrease. The phenomenon could be explained that by increasing the SAMs dip time, the number of defect sites decrease that cause the NPs density decrease too. The observation is similar with the Pt NPs grown on ODTS modified Si substrates with different dip time reported elsewhere[@b40]. The phenomenon indicates that NPs density could be controlled by varying the ODTS dip time. Meanwhile the standard deviation of particle diameter is 3.8 nm on ODTS-free substrate, 1.9 nm on 10 min ODTS, and 1.7 nm on 2 h ODTS respectively. The decrease of particle diameter\'s standard deviation may due to the lateral restriction of ODTS SAMs that separate the particles from coalescing thus the size distribution has been narrowed. ([Figure S1](#s1){ref-type="supplementary-material"})

To further elaborate the core shell NPs synthesis process. SEM was performed to obtain the NPs density and size distribution. The images of NPs grown on ODTS-free substrate and ODTS-coated (2 h dip time) substrate are given in [Figure S2](#s1){ref-type="supplementary-material"}. On ODTS-free substrate, 300 cycles of Pd NPs\' density is 5.6 × 10^3^/um^2^. After 25 cycles Pt ALD process, the particles density increase to 6.3 × 10^3^/um^2^. The phenomenon indicates that new Pt nuclei are formed on substrate during the second stage Pt ALD process. Therefore, the particle density increases. In comparison, on the 2 h ODTS-coated substrate, the NPs density remains constant within measurement error before and after Pt ALD process (2.6 × 10^3^/um^2^ and 2.7 × 10^3^/um^2^, respectively). The unchanged NPs density suggests that the Pt ALD process do not initiate new Pt NPs, exclusively formed core shell Pd/Pt structure[@b34]. The particle size distributions obtained from SEM images are shown in [Figure 3](#f3){ref-type="fig"}. On ODTS-free substrate ([Figure 3a](#f3){ref-type="fig"}), the particles diameter distribution became broader after Pt ALD process, indicating random growth of Pt on both Si surface and Pd sites, forming a mixture of Pt, Pd, and Pd/Pt NPs. For comparison, on the 2 h ODTS-coated substrate ([Figure 3b](#f3){ref-type="fig"}), the particles size distribution shows a rigid shift \~2 nm in diameter while the shape of histogram curve is similar before and after Pt ALD process. The result gives strong evidence that during Pt ALD process, most Pt was selectively grown on the Pd nuclei due to the ODTS blockage.

To validate the robustness and consistency of AS-ALD process, the same experiments were conducted on \~3 nm ALD Al~2~O~3~ film covered carbon grids to make clearer statistical analysis of particles size and density from TEM top view observation ([Figure S3](#s1){ref-type="supplementary-material"}). The particles density changed from 2.6 × 10^3^/um^2^ to 5.4 × 10^3^/um^2^ before and after 25 cycles of Pt deposition. However, on 2 h ODTS SAMs modified substrate, the particles density changed slightly from 1.9 × 10^2^/um^2^ to 1.7 × 10^2^/um^2^ before and after Pt deposition, and no new particles with \<3 nm diameter were observed after Pt ALD process ([Figure S4](#s1){ref-type="supplementary-material"}) indicating the exclusive formation of Pd/Pt core shell NPs. The same trend observed on both Si wafer and Al~2~O~3~ coated carbon grid suggest that the AS-ALD process could potentially be applied to various substrates.

The Pd and Pt elemental distribution was analyzed using HAADF-TEM. From EDX line scan in [figure 4a](#f4){ref-type="fig"}, Pd and Pt signals are detected. The compositional line profile shows Pt signal is observed on the surface of the NP. Pd signals are detected only in the inner core of the NP. The results indicate that the NP consists of a Pd core with a diameter of \~4 nm surrounded by a Pt shell with \~1.5 nm thick. [Figure 4b](#f4){ref-type="fig"} shows the high resolution TEM image of a Pd/Pt core shell NP and the corresponding Fourier transform pattern (insert). Since Pt and Pd are very similar in terms of lattice constant and chemical properties, they tend to form core shell NPs with conformal coating. The HRTEM images in bright field confirm that the formed core shell structure NP is of single crystalline nature. The Pt shell lattice parameter for {111} facet is 2.25 Å and for {200} is 1.95 Å. The high resolution TEM image indicates that the Pt shell grown on Pd core exist little lattice fringes. The corresponding Fourier transform pattern further prove that the core shell NP is single crystalline with both {111} and {100} facets enclosed[@b44]. The selected area electron diffraction


text:
uvoston painopistealueet Yhdistyneiden kansakuntien ihmisoikeustoimikunnan istunnossa Genevessä
Puhemies
Esityslistalla on seuraavana neuvoston ja komission julkilausumat neuvoston painopistealueista Yhdistyneiden kansakuntien ihmisoikeustoimikunnan istunnossa Genevessä.

Danielsson
 - (SV) Arvoisa puhemies, hyvät parlamentin jäsenet, arvoisa Euroopan komission jäsen, olen iloinen siitä, että jo Ruotsin puheenjohtajakauden varhaisessa vaiheessa voidaan keskustella tästä tärkeästä kysymyksestä, joka koskee YK:n ihmisoikeustoimikunnan kanssa pidettävän kokouksen valmisteluja. Keskustelun aikana aion tietenkin seurata tarkkaan, mitä näkökohtia tuodaan esille, ja tarkkailla sitä tunnelmaa, joka edeltää EU:n aseman vakiintumisesta käytäviä jatkokeskusteluja.
Tämän vuoden istunnosta puheen ollen puheenjohtajavaltio Ruotsin tavoitteena on pitää EU yhtenäisenä rintamana, kehottaa ehdokasvaltioita sekä kannattamaan EU:n lausuntoja että osallistumaan päätöslauselmatyöhön sekä saavuttaa mahdollisimman suuri yleinen tuki ehdotuksille. Tämä koskee tänä vuonna erityisesti Iranin ja Tsetsenian tilannetta. Ymmärrettävistä syistä on vielä epäselvää, kuinka viime syksynä pidetyn Lähi-idän tilannetta koskevan YK:n ihmisoikeustoimikunnan erityisistunnon seuranta aiotaan toteuttaa. On kuitenkin selvää, että kysymyksen voidaan olettaa hallitsevan tämän vuoden istuntoa ja että EU:sta muodostuu yksi keskeisistä toimijoista.
Neuvosto pyysi viime vuoden maaliskuussa arvioita EU:n ja Kiinan välisestä ihmisoikeuksia koskevasta vuoropuhelusta. Odotamme, että johtopäätökset hyväksytään tammikuun lopussa pidettävässä neuvoston kokouksessa. Niissä määritellään vuoropuhelun tavoitteet ja tarkennetaan sitä, miten vuoropuhelu ja vuoropuhelun tulosten säännöllinen arviointi suoritetaan.
Vielä on epäselvää, onko Kiinaa koskeva päätöslauselma ajankohtainen tämä vuoden istunnon aikana. EU:lla on läheiset suhteet Yhdysvaltoihin, joka toimi viime vuonna ehdotusten tekijänä. Sama koskee toista kysymystä, joka herätti huomiota YK:n ihmisoikeustoimikunnassa, nimittäin Kuuban ihmisoikeustilannetta koskevaa päätöslauselmaa, josta Tsekin tasavalta ja Puola viime vuonna vastasivat.
Teemallisten päätöslauselmien joukosta EU kantaa jatkossakin vastuun lasten oikeuksia ja kuolemantuomiota koskevista päätöslauselmista. YK:n ihmisoikeustoimikunta päättää useista naisten oikeuksia koskevista päätöslauselmista, joihin EU on voimakkaasti paneutunut, vaikka ne eivät kuulukaan EU:n aloitteiden piiriin. Vielä tässä vaiheessa on epävarmaa, mitä toimia EU:lta vaaditaan rotusyrjinnän vastaista maailmankonferenssia koskevan YK:n ihmisoikeustoimikunnan päätöslauselman yhteydessä, samalla kun EU:n osallistuminen tämän maailmankonferenssin valmisteluihin on selvästi yksi tämän vuoden alkupuoliskon suurimmista vaatimuksista.
Ns. lasten oikeuksia koskeva päätöslauselmien kokoelma, joka on laadittu yhteistyössä latinalaisamerikkalaisen ryhmän kanssa, on valitettavasti laajentunut niin, että sitä on lähes mahdoton käsitellä. EU:n tavoitteena on sen vuoksi supistaa päätöslauselma minimiin ja asettaa siten oikeusnäkökulma keskeiseen asemaan. Tätä tavoitetta vahvistaa toivomus siitä, että voisimme rakentavasti osallistua syyskuussa 2001 pidettävän YK:n erityisistunnon valmisteluihin.
Kuolemanrangaistuksen vastainen työ on yksi EU:n yhteisen ulkopolitiikan tärkeimmistä ihmisoikeuksiin liittyvistä kysymyksistä, ja se on ilmaistu mm. vuonna 1998 hyväksytyissä EU:n suuntaviivoissa. YK:n ihmisoikeustoimikunnan laatima kuolemanrangaistusta koskeva päätöslauselma muodostaa tärkeän osan tätä työtä. Tänäkin vuonna tavoitteena on saavuttaa mahdollisimman vahva tuki tälle päätöslauselmalle.
Jotta EU voisi aktiivisesti osallistua ihmisoikeuksia käsitteleviin kysymyksiin, on tärkeää, että sillä on mahdollisuus saada olennaista tietoa. EU:n jäsenvaltioilla ja kaikkialla maailmassa sijaitsevilla komission edustustoilla on tärkeä asema tiedon hankinnassa. Yksittäisten järjestöjen kanssa tehtävä läheinen yhteistyö on keskeinen tekijä, kuten myös alueellisten järjestöjen kanssa tehtävä yhteistyö. Viimeisenä, mutta ei vähäisimpänä asiana on se, että EU jatkaa täyden tuen antamista YK:n ihmisoikeusvaltuutetulle.

Vitorino
. (EN) Arvoisa puhemies, hyvät naiset ja herrat, haluan kiittää parlamenttia tämän keskustelun käymisestä tänään kollegani Pattenin puolesta, joka joutui lähtemään Moskovaan kokoukseen. Tämä keskustelu tarjoaa meille arvokkaan tilaisuuden vaihtaa mielipiteitä tulevasta ihmisoikeustoimikunnasta.
On tärkeää ottaa parlamentin näkökannat huomioon, koska Euroopan unioni on vakiinnuttamassa näkökantoja Genevessä käsiteltävistä pääasioista. Uusista aloitteita koskevista näkökannoista päätetään lopullisesti pitkien keskustelujen jälkeen, jotka ovat tietenkin prosessin olennainen osa.
Kansalaisjärjestöt ja muut ovat oikeassa korostaessaan keskustelun tärkeyttä ja näkökantojen tarkastelua. Puheenjohtajavaltion edustajat, komission yksiköt ja lukuisat jäsenvaltiot osallistuivat Brysselissä 11. tammikuuta pidettyyn ihmisoikeuskontaktiryhmän kokoukseen. Monenlaiset kansalaisjärjestöt saivat tilaisuuden ilmaista kantansa tärkeimpiin maita ja teemoja koskeviin kysymyksiin. Tämä panos osoittaut


text:
 fairy got no
thanks, she felt well rewarded for her labour of love when she saw the
peaceful smile that rested on Faith's wasted face, and the light that
beamed in her dark eyes.

At last the end came. One evening as the sun was sinking to rest in
great waves of crimson and gold, Faith asked for her flower to be
brought to her, smiled faintly as her dim eyes rested on it for the last
time, laid her head on her mother's breast, and died. A low wailing cry
broke from the mother as she felt that never again would the dark eyes
be raised lovingly to hers, or the wan face brighten at her approach;
but Violet saw what the mother failed to see, that white-robed angels
had gathered round the death-bed, and were now bearing away the freed
spirit with strains of triumphant joy. So she framed the glorious vision
into a song, which she sang in the woman's ear, and the mother was
comforted, though she knew not why.

"'Tis better so, my poor lamb," she murmured, while tears dropped slowly
one by one down her sunken cheeks. "There is no pain where thou art
gone, nor hunger either, and I will join thee there by-and-bye."

Then Violet knew that her work was done, and she flew out of the open
window, and up into the clear sky, far above the tops of the tall
chimneys, and some men, who were looking up from the dusty streets at
the sunset, wondering whether the next day would be fine or wet, caught
a sudden gleam of her silver-tipped wings, and thought it was a flash of
summer lightning, and were conscious at the same moment of a delicious
fragrance as of violets, and said the wind must be from the west, for it
was wafting to them country scents. Fairy Violet laughed as she heard
their blundering guesses, a laugh that rippled out on the still air like
the chiming of silver bells, and then flew joyously on to thank the
Wizard of the Black Rock for his wise counsel.

But when she reached the Black Rock, she found the magician, wearied out
with a succession of sleepless nights spent in abstruse study and deep
research, had fallen fast asleep, with his venerable head resting on the
mysterious book, and the black dwarf at his feet jealously guarding his
slumber. So she trimmed his silver lamp for him afresh, so that it
burned with a yet more wonderful brilliance, laid a cluster of sweet
flowers beside him, and then gladly flitting from the gloomy rock,
spread her glistening wings, and darted up into the air; up, up, far
above the tops of the lofty trees, flashing like a bright vision through
the now darkening night. She passed the silver moon, which was shining
calmly down upon the world she had just left; she threaded her way in
and out among the golden stars; on, on she went till she saw the
beautiful radiant light that never dims, and heard the soft murmuring of
sweet music, and smelled the delicious fragrance of Fairy-land.

As she passed through the golden gates she heard a great shout of, "'Tis
the Fairy Violet!" and instantly all the bells of Fairy-land began to
ring, and a gay procession of radiant fairies, all dressed in their
fairest robes, came to meet her, and pressed round her with loving
welcome and congratulation. "Come to our Queen, for she is waiting for
you," they cried; and led her in triumph up the shining steps of the
Fairy Palace, and into the Hall of Pearl, where the Queen was seated on
her throne dispensing the graceful wreaths, which, woven by her own
hand, were the choicest rewards bestowed in Fairy-land. It was easy to
adjudge the crowns of merit among the fairies, for their beauty
increased, or waned, according as they had done well or ill.

Now, every one looking on the Fairy Violet saw that she was the most
beautiful of all, for her face was so radiantly lovely, that none but
the purest fairies could look on it undazzled. So when the Queen, after
greeting Violet with her sweetest smiles, had asked, "To whom shall I
give the fairest crown?" they all shouted unanimously, "To our Sister
Violet!"

But Violet lifted her gentle face with a pleading gesture.

"May it please your Majesty," she said, earnestly, "I do not deserve to
be so highly honoured; my sisters have all done as well as I have."

"No, little Violet," said the Queen, smiling, "you have done best of
all. We well know what your work has been.--Listen!"

Then Violet listened, and she heard a wondrous song, which, rising and
falling with each change of the fitful breeze, now broke into a wild
strain of piercing sweetness, and anon died away into a soft musical
murmur like the rippling of fairy streams.

"That song, little Violet," said the Queen, "is the record of your life
on earth.--Listen again."

They all listened, while the marvellous strain sang of Violet's gentle
life on earth.

Not a loving word she had ever said, not a kind deed she had ever done,
not a smile her loving arts had brought to the lips of the dying girl,
not a blessing uttered by the mother unconscious to whom she owed the
peace and quiet of her daughter's last days; not a fragrant breath from
rescued flower, not a song from grateful bird, but added its sweet note
to that marvellous song.

Had there been one unkind word, one selfish thought, one cruel deed, the
song would have been broken by jarring discords; but all was harmony,
not one harsh note disturbed the rippling melody.

As one by one Violet's beautiful secrets were brought to light, the
fairies looked on her with loving admiration, but Violet was quite
ashamed at being praised so openly, and hid her blushing face on
Anenome's shoulder.

When the story of Violet's deeds was ended, and the wild mysterious
music had lulled into inarticulate murmuring, the Fairy Queen looked
round upon her subjects, and asked once more, "To whom shall I give the
fairest crown?"

And all the fairies cried again, more eagerly than ever--

"To Violet! To Violet!"

Then Violet could refuse no longer, but bent gracefully on one knee
before the throne, while the Queen placed the crown on her shining hair.

The wonderful music died away into silence, and was never heard again,
but the court-minstrel who had listened eagerly to its wild strains,
caught the beautiful melody, and repeated it on his harp; and to this
day, at fairy-feast and revel, the favourite legend is that which tells
how the Fairy Violet lost and won her wings.

[Illustration]

Bellenden Series

OF

STORIES FOR CHILDREN.

By M. L. B. KER.

_Author of "Eva's Victory" &c., &c._

ILLUSTRATED BY J. A. MARTIN.

1. HOW THE FAIRY VIOLET LOST AND WON HER WINGS.

          _Will shortly be published--_

2. HANS VOGLER.

          =PRICE FOURPENCE.=

       *       *       *       *       *

Transcriber's Notes:

Obvious punctuation errors repaired.

Page 23, "desevre" changed to "deserve" (do not deserve)

End of the Project Gutenberg EBook of How the Fairy Violet Lost and Won Her
Wings, by Marianne L. B. Ker

*** <|endoftext|>1. Field of the Invention
The present general inventive concept relates to a developing apparatus and an image forming apparatus having the same, and to a developing apparatus and an image forming apparatus having the same, which clean a developer which has not been transferred on a photosensitive medium using a compact developing cartridge
2. Description of the Related Art
In general, an electrophotographic image forming apparatus such as a laser printer, a facsimile, a digital copy machine, etc., scans a light onto a photosensitive medium charged to have a predetermined electric potential to form an electrostatic latent image, develops the latent image with a predetermined colored toner, and transfers and fuses the developed image to a printing medium to print the image.
FIG. 1 is a schematic sectional view illustrating a conventional electrophotographic image forming apparatus.
Referring to FIG. 1, the electrophotographic image forming apparatus includes a cabinet 10, a charging unit 11 provided inside the cabinet 10, a photosensitive medium 13, a light scanning unit 15, a developing cartridge 20, a transferring roller 17 and a fusing roller 19.
The photosensitive medium 13 is disposed inside the developing cartridge 20. The photosensitive medium 13 is charged to have a predetermined electric potential by the charging unit 11, and responds a light L1 scanned from


text:
 – which is, after all, what the Body of Christ is.” Dennis Edwards, senior pastor, Sanctuary Covenant Church, Minneapolis, Minnesota (blog)

“If disciples make disciples to the ends of the earth, it only makes sense that from the ends of the earth there are reciprocal discipleship lessons. From everywhere to everywhere and from everyone to everyone is the global interchange implicit in the Great Commission.” Gary Walter, president, Evangelical Covenant Church

“Intercultural reading reveals the multiple layers of the text. In my own experience it has been tremendously beneficial to read the Bible from various cultural/socio-economic standpoints. When I worked among the trafficked children at the brothel town of PoiPet in Cambodia, John 3:16 promised the love of God for the young prostitutes being raped every night. The same passage declared the truth when I was speaking to the friends and families in Japan about God. Intercultural readings also highlight the indisputable universality of our God. Full appreciation for the transcultural nature of Scripture begins with the intercultural readings.” Yumiko Nakagawa, pastor, Highrock Covenant Church of Brookline, Brookline, Massachusetts

“When Scripture is read interculturally, the church understands God’s equality, justice, and abundant love for all humankind. We, the church, are empowered to appreciate the uniqueness of each cultural expression and eliminate racism and divisions from within the Body of Christ. God has designed all humanity to worship him, and Scripture manifests the splendor and glory he receives through the magnificence of diversity.

“The familiar parable of the good Samaritan highlights a point underlying this question: ‘How do you read it?‘ (Luke 10:26) Jesus answers the question, ‘Who is my neighbor?’ with the illustration of the needs of a ‘certain man’ (10:29-30). This is all very particular. Jesus’ call to ‘Go and do likewise…’ (Luke 10:37) is a call to not only read the text but to live it. And the church needs to live it.” Josef Rasheed, senior pastor, CrossRoads Covenant Church, DeSoto, Texas

“Every person reads the Bible from their cultural perspective. Our churches are becoming increasingly diverse with people moving from one part of the country to another and people moving to America from every part of the world. For this reason we need to consider how other people read and understand the Bible.” Linnea Carnes, retired, former pastor of Immanuel Covenant Church, Chicago, Illinois

What do you think? Add your response in comments, using the link below the post title.

Max Lee is associate professor of New Testament at North Park Theological Seminary in Chicago. Our upcoming issue of the Quarterly took early shape in Max’s course, Reading the Bible Interculturally. We talked with Max to explore further his academic and personal commitment to intercultural readings of Scripture.

Max, outside of being a professor and scholar, tell us a little bit about yourself. What do you do in your free time?

What I want to do is reach the gym and make a heroic attempt to keep myself in shape, but alas, much of my day, evenings, and late nights are spent managing the tension between my vocation as a professor and my investment in my two teenage sons. I hope and pray that they will grow up to be godly men.

When I’m on top of my game, my sons and I all make it to gym and run the treadmill, pump iron, and cool down at Starbucks after we are done.

What do you love most about teaching?

There is a genuine joy in gleaning insight from Scripture and sharing this with others. I love sharing what I learn, and I love learning from those with whom I share. If the Lord uses what I teach to inspire, encourage, challenge, and transform my students, and they, in turn, share what they learn with others through their preaching and ministry, my joy, in the words of Apostle Paul, becomes complete.

When did you first come across the subject of intercultural biblical interpretation? What drew you to studying it further?

My first formal exposure was in 2002, through my participation in the Korean Biblical Colloquium which meets concurrently with the Society of Biblical Literature each year. At KBC, I engaged with scholars who shared different hermeneutical commitments than my own, but nevertheless challenged me to think about how the social and cultural location of the reader affected biblical interpretation. Continue Reading →

When we read Scripture, we necessarily do so from a particular socio-cultural location. What difference would it make if we were to examine this location and its impact on how we read? What would it look like to attempt to read the text from outside one’s own cultural context? Is such a practice possible? Desirable?

The next issue of the Covenant Quarterly, due for publication Monday, August 24, explores the practice and possibilities of intercultural biblical interpretation. This inaugural online issue includes contributions from Max Lee, Nilwona Nowlin, Erik Borggren, and Bruce L. Fields. Here’s a sneak peek.

Max Lee

Max Lee is associate professor of New Testament at North Park Theological Seminary. He blogs at Paul Redux.

“What better way can we love our neighbor than to take steps to learn about the cultural histories that shaped their identities and somehow, in the process, empathize with their struggles and make them our own? What better way can we love ourselves by letting our neighbors help expose our invisible presuppositions and prejudices? And what better way can we love God than when we, as a united community of diverse believers, learn from one another’s readings of Scripture so that we can obey its teaching with greater faithfulness?”

“The story of Joseph offers resources for African and African American reconciliation. Joseph’s being sold into slavery by his brothers finds a parallel in the history of African Americans. Despite the years of pain, shame, and marginalization his brothers caused, Joseph was able to forgive them and be reconciled to them. Is a similar reconciliation possible between African Americans and Africans today? My paper pursues this question, drawing from the Joseph narrative…so that, as with Joseph, God may continue to take what was meant for evil and turn it into something good.”

Erik Borggren is assistant pastor of Lincoln Square Presbyterian Church, Chicago, and spiritual formation coordinator for North Park University’s University Ministries. The focus of his work in discipleship and spiritual formation is the intersection of imagery, art, literature, liturgy, and social justice.

“This call to faithful submission and hope-filled resistance, especially in light of unjust powers, can be communicated in a way that is oppressive, even destructive. However, acknowledging that Christ is the true King…enables the church to reimagine submission, resistance, and the church’s cruciform identity through the lens of Japanese gaman, ‘to endure the seemingly unbearable with patience and dignity.’ Far from passive silence, a call to Christian gaman is a call for the church through worship to ‘discern what is the will of God, what is good and acceptable and perfect’ (Romans 12:2).”

Bruce L. Fields is associate professor of biblical and systematic theology at Trinity Evangelical Divinity School, where he chairs the biblical and systematic theology department. Dr. Fields’ Eaton-Jones lecture, delivered February 16, 2015 at North Park University, appears in this issue, revised for publication.

“The fulfillment of the hermeneutical task requires serious study of the biblical text to determine its message. The task, however, is not complete until there is the careful communication of the message to an audience in its situatedness. If the analysis of one or the other is awry, the hermeneutical task is impeded. The fulfillment of both requires multiple participants. If the Black church and its hermeneutic are not given voice in the analysis of both the biblical text and the sociocultural environment, the hermeneutical task is dramatically hindered. It is hindered not only for the Black church but for the entire church.”<|endoftext|>10 Years of Going Downhill

Other notes:

Moved from Tochigi to Chiba. I’m expecting to stay in Japan for another two years.

Another reason I’ve been slow on the updates is due to getting hacked several years back. I’ve done what I could to clean it up, but I’ve been unable to completely resolve it. The lag on this site affects post writing, and the annoyance makes me that much less motivated to write. Anyone good with WordPress want to help?

I’ll be in New York from late-July to mid-August. Anyone think they can inspire me to write more?

Hey, congrats on 10 years of consistency! I haven’t been here since the beginning, but I’m definitely a prehistoric fan. We all have our creative outlets, and they often change over time. It’s great that you’re still finding things to be passionate about, even if it’s at the expense of something else. I average about 5 episodes of anime per year these days, but I still check your site a few times a month for new posts because I enjoy your writing style and your perspective; it’s no matter that I’m out of the loop on the shows you’re discussing.

My favorite Baka-Raptor memory: The post you did several years back where you detailed your refusal to watch shows that were currently airing, talking about how shows get dropped


text:
 (9.3). The problem is Adobe RMSDK only renders the book which are Adobe-DRM protected and no support for custm DRMs. I'm trying to find a solution that would include both Adobe Renderer and Readium renderer which I want to use a common viewer with.

I would be happy to find any information about mixing this two SDK and find a way to use them at the same time

This is a complicated subject. Basically, in order to use Adobe's RMSDK with Readium you will need to license the RMSDK from Adobe (via Datalogics). You will receive a binary distribution that includes both RMSDK and Readium, packaged by Adobe. Please consult your contacts at Datalogics for more info.

@rkwright What I'm now trying to do now is this actually. I'm in communication with Datalogics and what I've learnt till now is that RMSDK 11 uses Readium renderer. They don't know whether we can use the same renderer for both Adobe DRM and our custom DRM

The RMSDK license agreement prohibits use of a third party DRM with the RMSDK renderers. This would appear to me to apply to the proprietary modifications (pre-compiled into a binary library by Adobe) to the version Readium SDK code that Adobe deploys. One could hypothetically also include the source code version of Readium SDK in the same app (assuming you have paid the Readium Foundation the fees necessary to obtain the alternative, commercially friendly license to the SDK) and use it with a different DRM. However, there would be very tricky issue to work through related to code conflicts between the Readium version in RMSDK and "your won". Again, potentially feasible, but quite challenging.<|endoftext|>[Evidence and meaning of monophasic potentials in the electromyogram of extraocular muscles of rabbits and cats (author's transl)].
The EMG of extraocular muscles of rabbits and cats was recorded by a concentric-needle electrode provided for clinical use. The EMG showed spike activity (at least biphasic, fast waves of 1 to 2 msec duration) and characteristic long-duration monophasic waves (decline for up to 7 msec). The monophasic potentials are interpreted as local depolarizations arising at the nerve-muscle junctions of multiply innervated muscle fibers. Spike- and monophasic potentials are discharged in independent rhythms whose frequency changes when the head position is altered. The frequency of spike- and monophasic potentials are changed in the same direction by labyrinthine reflexes. Spontaneous monophasic potentials recruit at a lower threshold.<|endoftext|>Q:

extract only the first occurrence of the strings

I searched a lot but I didnt find answers which would suit what I am looking for so I am posting this question.
I want to extract the first occurance of 'par','comp' 'order' and 'nameprefix'. How to do this for the example input? Is there any perl oneliners to do it?
    wertydhhdbc->auCdl = '( nil
    par    (xyz)
    comp     asd1
    order        (done)
    namePrefix        "X"
    par    (xyz)
    comp     asd
    order        (done)
    namePrefix        "R"
    namePrefix        "X"
    par    (qwer)
    comp     key
    order        (done)
    namePrefix        "X"
    comp     key
    order        (done )
    par    (qwer)
    order        (done)

A:

Yes, you can use a simple Perl onle-liner to show the first line containing e.g. par:
perl -ne 'if (/par/) { print; last; }'  1.txt

The -n switch makes perl go over the input file line by one. The code then makes it print the line and stop once the given pattern is found.
Update:
To search for the first occurence of each of the words, a different technique must be used:
perl -ne 'if(/(comp|par|order)/) {$f{$1}++; print if 1 == $f{$1} ; last if 3 == keys %f}' 1.txt

3 is the number of words you are searching for.

<|endoftext|>The Wu-Tang Clan Is Looking For An Intern

QUIT YOUR JOB NOW. The Wu is looking for an intern! Presumably unpaid, proving that cash does not rule everything, but experience does! And e-mail blasting, which I'm guessing is nothing to f**k with.<|endoftext|>Styrene metabolism in man: gas chromatographic separation of mandelic acid enantiomers in the urine of exposed persons.
D- and L-mandelic acid are separated by gas chromatography as isopropyl ester or isopropyl ester-isopropyl urethane on capillary columns, coated with Chirasil -Val. For its determination in urine the isopropyl ester procedure gives better results because other components of the urine do not cause interference. Thus D- and L-mandelic acid in the urine of exposed workers could be detected and verified by means of GC/MS. Occupational styrene exposure near the MAK-value (100 ppm) results in a L/D-enantiomer-ratio in urine of nearly 1.5.<|endoftext|>Q:

OLAP Server for NodeJS

I have been looking for ways to provide analytics for an app which is powered by REST server written in NodeJs and MySQL. Discovered OLAP which can actually make this much easier.
And found a python library that provides an OLAP HTTP server called 'Slicer'
http://cubes.databrewery.org/

Can someone explain how this works? Does this mean I have to update my schema. And create what is called fact tables?
Can this be used in conjunction with my NodeJS App? Any examples? Since I have only created single server apps. Would python reside on the same nodejs server. How will it start? ('forever app.js' is my default script)
If I cant use python since I have no exp, what are basics to do it in Nodejs?

My model is basically list of words, so the olap queries I have are words made in days,weeks,months of length 2,5,10 letters in languages eng,french,german etc
Ideas, hints and guidance much appreciated!

A:

As you found out, CUbes provides an HTTPS OLAP server (the slicer tool).

Can someone explain how this works?

As an OLAP server, you can issue OLAP queries to the server. The API is REST/JSON based, so you can easily query the server from Javascript, nodejs, Python or any other language of your choice via HTTP.
The server can answer OLAP queries. OLAP queries are based on a model of "facts" and "dimensions". You can for example query "the total sales amount for a given country and product, itemized by moonth".

Does this mean I have to update my schema. And create what is called fact tables?

OLAP queries are is built around the Facts and Dimension concepts.
OLAP-oriented datawarehousing strategies often involve the creation of these Fact and Dimension tables, building what is called a Star Schema or a Snowflake Schema. These schemas offer better performance for OLAP-type queries on relational databases. Data is often loaded by what is called an ETL process (it can be a simple script) that loads data in the appropriate form.
The Python Cubes framework, however, does not force you to alter your schema or create an alternate one. It has a SQL backend which allows you to define your model (in terms of Facts and Dimensions) without the need of changing the actual database model. This is the documentation for the model definition: https://pythonhosted.org/cubes/model.html.
However, in some cases you may still prefer to define a schema for Data Mining and use a transformation process to load data periodically. It depends on your needs, the amount of data you have, performance considerations, etc...
With Cubes you can also use other non RDBMS backends (ie MongoDB), some of which offer built-in aggregation capabilities that OLAP servers like Cubes can leverage.

Can this be used in conjunction with my NodeJS App?

You can issue queries to your Cubes Slicer server from NodeJS.

Any examples?

There is a Javascript client library to query Cubes. You probably want to use this one: https://github.com/Stiivi/cubes.js/
I don't know of any examples using NodeJS. You can try to get some inspiration from the included AngularJS application in Cubes (https://github.com/Stiivi/cubes/tree/master/incubator). Another client tool is CubesViewer which may be of use to you while building your model: http://jjmontesl.github.io/cubesviewer/.

Since I have only created single server apps. Would python reside on the same nodejs server. How will it start? ('forever app.js' is my default script)

You would run Cubes Slicer server as a web application (directly from your web server, ie. Apache). For example, with Apache, you would use apache-wsgi mod which allows to serve python applications.
Slicer can also


text:
METHOD_MATCH = YES;
				CODE_SIGN_IDENTITY = "iPhone Developer";
				COPY_PHASE_STRIP = NO;
				CURRENT_PROJECT_VERSION = 1;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				ENABLE_NS_ASSERTIONS = NO;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				GCC_C_LANGUAGE_STANDARD = gnu11;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
				MTL_ENABLE_DEBUG_INFO = NO;
				MTL_FAST_MATH = YES;
				SDKROOT = iphoneos;
				SWIFT_COMPILATION_MODE = wholemodule;
				SWIFT_OPTIMIZATION_LEVEL = "-O";
				VALIDATE_PRODUCT = YES;
				VERSIONING_SYSTEM = "apple-generic";
				VERSION_INFO_PREFIX = "";
			};
			name = Release;
		};
		199953B9220AF1A900A59D3B /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ENABLE_MODULES = YES;
				CODE_SIGN_IDENTITY = "";
				CODE_SIGN_STYLE = Automatic;
				DEFINES_MODULE = YES;
				DEVELOPMENT_TEAM = 4G7K3CN2JU;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				INFOPLIST_FILE = Dismissable/Info.plist;
				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
				LD_RUNPATH_SEARCH_PATHS = (
					"$(inherited)",
					"@executable_path/Frameworks",
					"@loader_path/Frameworks",
				);
				PRODUCT_BUNDLE_IDENTIFIER = com.seungyounyi.Dismissable;
				PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
				SKIP_INSTALL = YES;
				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
				SWIFT_VERSION = 4.2;
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Debug;
		};
		199953BA220AF1A900A59D3B /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ENABLE_MODULES = YES;
				CODE_SIGN_IDENTITY = "";
				CODE_SIGN_STYLE = Automatic;
				DEFINES_MODULE = YES;
				DEVELOPMENT_TEAM = 4G7K3CN2JU;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				INFOPLIST_FILE = Dismissable/Info.plist;
				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
				LD_RUNPATH_SEARCH_PATHS = (
					"$(inherited)",
					"@executable_path/Frameworks",
					"@loader_path/Frameworks",
				);
				PRODUCT_BUNDLE_IDENTIFIER = com.seungyounyi.Dismissable;
				PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
				SKIP_INSTALL = YES;
				SWIFT_VERSION = 4.2;
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Release;
		};
		19E47C94220AF2010025DBC0 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
				CODE_SIGN_STYLE = Automatic;
				DEVELOPMENT_TEAM = 4G7K3CN2JU;
				INFOPLIST_FILE = "Dismissable-Demo/Info.plist";
				LD_RUNPATH_SEARCH_PATHS = (
					"$(inherited)",
					"@executable_path/Frameworks",
				);
				PRODUCT_BUNDLE_IDENTIFIER = "com.seungyounyi.Dismissable-Demo";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SWIFT_VERSION = 4.2;
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Debug;
		};
		19E47C95220AF2010025DBC0 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
				CODE_SIGN_STYLE = Automatic;
				DEVELOPMENT_TEAM = 4G7K3CN2JU;
				INFOPLIST_FILE = "Dismissable-Demo/Info.plist";
				LD_RUNPATH_SEARCH_PATHS = (
					"$(inherited)",
					"@executable_path/Frameworks",
				);
				PRODUCT_BUNDLE_IDENTIFIER = "com.seungyounyi.Dismissable-Demo";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SWIFT_VERSION = 4.2;
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		199953AA220AF1A900A59D3B /* Build configuration list for PBXProject "Dismissable" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				199953B6220AF1A900A59D3B /* Debug */,
				199953B7220AF1A900A59D3B /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		199953B8220AF1A900A59D3B /* Build configuration list for PBXNativeTarget "Dismissable" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				199953B9220AF1A900A59D3B /* Debug */,
				199953BA220AF1A900A59D3B /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		19E47C96220AF2010025DBC0 /* Build configuration list for PBXNativeTarget "Dismissable-Demo" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				19E47C94220AF2010025DBC0 /* Debug */,
				19E47C95220AF2010025DBC0 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = 199953A7220AF1A900A59D3B /* Project object */;
}
<|endoftext|>Q:

Escape sed delimiter character when also regex special character

Say I have want to match the string foo.. My regex would be foo\., to escape the special meaning of the. character.
Now say that in my sed command, I use the. as a delimiter.
For a search like, say, cat, this works fine.
echo cat | sed's.cat.dog.g'

But when I have a literal. in my search string, I run into a problem. I would think, that since the. is my delimiter, my regex foo\. should become foo\\\.. Ideally, the first pass of unescaping would be done by sed to make this into foo\., and then this would get passed along to the regular expression engine.
But instead, it matches cat\\\.
echo 'cat.' | sed's.cat\\\..dog.g' # cat.


text:
5.  \[step5ratfi\] Using their respective rational first integrals $r_{\vec{\lambda}}$, refine each conflict cell by maximizing and minimizing the values of $r_{\vec{\lambda}}$ to obtain invariant sub-level sets $k_{\min}\leq r_{\vec{\lambda}} \land r_{\vec{\lambda}} \leq k_{\max}$ over the initial set (restricted to that cell), as described in .

6.  If conflict cells remain, increase the polynomial degree $d$ and go to step *1.*

#### Rational First Integrals of Linear Systems.

In the case of linear systems of ODEs $\vec{x}'=A\vec{x}$, more efficient methods exist that allow us to *directly construct* rational first integrals from the eigenvalues and eigenvectors of the system matrix $A$. These explicit constructions are described, e.g. in the work of Gorbuzov & Pranevich [@gorbuzov2012] and Falconi & Llibre [@falconi2004]; in Pegasus, we implement and deploy techniques described in the former.

It is instructive to compare the results obtained by Lafferriere, Pappas and Yovine [@DBLP:journals/jsc/LafferrierePY01] (which state that semi-algebraic reachable sets of linear ODEs $\vec{x}'=A\vec{x}$ can be constructed from semi-algebraic initial sets in cases when $A$ is diagonalizable and all of its eigenvalues are rational) to analogous results independently obtained in the study of integrability of linear systems, e.g. [@gorbuzov2012 Property 1.1], which states that a linear system $\vec{x}'=A\vec{x}$ has a *basis* of rational first integrals (i.e. is algebraically integrable) whenever the eigenvalues of $A$ are rational and of multiplicity 1. Indeed, such a basis of rational first integrals enables one to construct reachable sets described by polynomials.

### Barrier Certificates

The method of *barrier certificates* is a popular Lyapunov-like technique for safety verification of continuous and hybrid systems [@DBLP:conf/hybrid/PrajnaJ04]. Barrier certificates are differentiable functions $p$ that define an invariant region $p \leq 0$ which separates the initial states (wholly contained within ) from the unsafe states (wholly contained within ). In order to ensure continuous invariance of the region defined by $p \leq 0$, the Lie derivative $p'$ of the barrier certificate needs to satisfy certain criteria; differences in these criteria give rise to a number of variations of barrier certificates in the literature. The original work by Prajna and Jadbabaie [@DBLP:conf/hybrid/PrajnaJ04] introduced *convex barrier certificates*, which employ the differential inequality $p' \leq 0$ to guarantee invariance of $p \leq 0$ under the flow of the system. Later work by Kong et al. [@DBLP:conf/cav/KongHSHG13] introduced so-called *exponential-type barrier certificates*, which provide a generalization employing the differential inequality $p' \leq \lambda p$, where $\lambda \in \mathbb{R}$; this was generalized further yet in the work of Dai et al. [@DBLP:journals/jsc/DaiGXZ17], who introduced *general barrier certificates* employing the differential inequality $p' \leq \omega(p)$, where $\omega$ is a specifically crafted scalar *function* to guarantee invariance of $p \leq 0$. All of the above developments are fundamentally based on the classical notion of *comparison systems* [@Rouche1977 Ch II, §3, Ch. IX] in the theory of ODEs. A unified understanding of these generalizations is described in our earlier work [@DBLP:conf/fm/SogokonGTP18], in which we introduced a further generalization of the barrier certificate framework: *vector barrier certificates*, employing multidimensional comparison systems in a way analogous to vector Lyapunov functions introduced by Bellman [@bellman1962vector].

Barrier certificates are practically interesting because one may apply the method of undetermined coefficients to automatically search for them using tractable techniques: either sum-of-squares programming (SOS) [@DBLP:conf/hybrid/PrajnaJ04] or linear programming (LP) [@DBLP:conf/fm/YangHCL016]. Pegasus is able to search for convex [@DBLP:conf/hybrid/PrajnaJ04], exponential-type [@DBLP:conf/cav/KongHSHG13], and vector barrier certificates [@DBLP:conf/fm/SogokonGTP18] using both SOS and LP techniques. However, the resulting barrier certificates often suffer from numerical inaccuracies arising from the use of semi-definite solvers and interior point methods [@DBLP:journals/fmsd/RouxVS18]. Pegasus currently uses a simple rounding heuristic on the numerical result and explicitly checks invariance for the resulting (exact) barrier certificate candidates using real quantifier elimination. An example barrier certificate generation technique implemented in Pegasus, and an illustration of its numerical issues is given next.

Consider the safety verification problem illustrated in  (left). The task is to generate an invariant showing that ODE solutions starting within the initial set ${\mathit{Init}}$ (in green) do not enter the unsafe set ${\mathit{Unsafe}}$ (in red). A candidate continuous invariant $p \leq 0$ (shown in blue in , left) is found using numerical barrier certificate generation techniques.

![(Left) A candidate invariant generated using numerical barrier certificates (in blue) for the safety verification problem of showing that solutions from the green initial state never reach the red unsafe states. (Right) A zoomed out view of the safety verification problem, showing that the candidate invariant is, in fact, *not* an invariant of the ODE because some states can exit the invariant (highlighted with a dashed red circle).[]{data-label="fig:barriers"}](./graphics/fig-barrier1.pdf "fig:"){width="0.3\columnwidth"}![(Left) A candidate invariant generated using numerical barrier certificates (in blue) for the safety verification problem of showing that solutions from the green initial state never reach the red unsafe states. (Right) A zoomed out view of the safety verification problem, showing that the candidate invariant is, in fact, *not* an invariant of the ODE because some states can exit the invariant (highlighted with a dashed red circle).[]{data-label="fig:barriers"}](./graphics/fig-barrier2.pdf "fig:"){width="0.3\columnwidth"}

The (exponential-type) barrier certificate $p$ is generated from a polynomial template $p_{\textcolor{red}{\vec{a}},d}$ of degree $d$ over variables $x,y$, by solving (and then substituting) for appropriate concrete values of the template coefficients $\textcolor{red}{\vec{a}}$. For clarity below, the notation $p_{\textcolor{red}{\vec{a}},d}$ is used in steps where the generation algorithm produces constraints on the coefficients $\textcolor{red}{\vec{a}}$, while $p$ always refers to the final, generated barrier certificate. Logically, it suffices to find real values for $\textcolor{red}{\vec{a}}$ so that the following formulas are simultaneously valid: $$\begin{aligned}
& {\mathit{Init}}{\rightarrow}p_{\textcolor{red}{\vec{a}},d} \leq 0 \label{eq:barrier1} \,,\\
& {\mathit{Unsafe}}{\rightarrow}p_{\textcolor{red}{\vec{a}},d} > 0 \label{eq:barrier2} \,,\\
    & (p_{\textcolor{red}{\vec{a}},d})' \leq \lambda p_{\textcolor{red}{\vec{a}},d} \label{eq:barrier3}\enspace.\end{aligned}$$

Constraints  and  ensure that the generated barrier separates the initial set from the unsafe set, e.g., in  (left) the green initial region is wholly contained in the blue candidate invariant region $p \leq 0$, while the red unsafe region lies entirely outside. Constraint  ensures that the sub-level set $p\leq 0$ is a continuous invariant, intuitively, the vector field points “inwards” along the boundary of $p \leq 0$ (blue region in ), so it is impossible to flow from within $p \leq 0$ to $p > 0$. A more general version of these constraints, and a soundness proof, is available elsewhere [@DBLP:conf/cav/KongHSHG13].

Sum-of-squares (SOS) programming [@DBLP:journals/corr/PapachristodoulouAVPSP13] provides a tractable way of solving for coefficients $\textcolor{red}{\vec{a}}$. Suppose that ${\mathit{Init}},{\mathit{Unsafe}}$ are described with polynomial inequalities ${\mathit{Init}}\equiv \bigwedge_{i=1}^a I_i \geq 0$, ${\mathit{Unsafe}}\equiv \bigwedge_{i=1}^b U_i \geq 0$. The inequalities –  are respectively implied by the following SOS inequalities, where $\varepsilon > 0$ is a small positive constant and


text:
		                                        2+3*OH
		      Capacitors (0805) 2x1.25x1.25 = 3.1E-3 cm^3
		                                      19*OH+3
		      Resistors  (0603)  1.15E-3 cm^3
		                                      12.5*OH+3
		      Solder: 1.E-3*(large caps) + 2.E-4*(small caps+R)

		Layer 5/6 ICC1 (serves 1 double sided module)
		  => 2 Optohybrids
		     2 Kapton pigtails, 3 buffers
		     8 large caps, 41 small caps, 28 R's

		.................................................................
		 "TOB electronics lay 5/6 ICC1"   "TOB_ICC1"    25.96   51.92
		 1 "CF support"             "Carbon fibre str."  3.375    1    SUP
		 2 "ICC card"               "G10"                 5.09    1    ELE
		 3 "ICC traces"             "Copper"              0.254   1	ELE
		 4 "Connectors"             "T_Kapton"         9.107E-3   222  ELE
		 5 "Connectors pins"        "Copper"           8.092E-4   222  ELE
		 6 "Optohybrid"             "T_FR4"               0.345   2    ELE
		 7 "Optohybrid traces"      "Copper"              0.048   2    ELE
		 8 "Laser drivers"         "Silicon"            0.0025    2    ELE
		 9 "Laser diode"           "Silicon"              0.02    4    ELE
		 10 "Fiber clamp"           "T_Kapton"            0.063   2    ELE
		 11 "Pigtail and buffers"   "T_Kapton"            0.3     1    ELE
		 12 "Pigtail and buffers"   "Copper"              0.129   1    ELE
		 13 "Capacitors"            "Alumina"             0.5751  1    ELE
		 14 "Resistors"             "Carbon"             1.15E-3 28    ELE
		 15 "Solder"                "SMD_metal"          0.022    1    ELE
		................................................................

		Layer 5/6 ICC2 (serves 2 double sided module)
		  => 4 Optohybrids
		     4 Kapton pigtails, 5 buffers
		     14 large caps, 79 small caps, 53 R's
		.................................................................
		 "TOB electronics lay 5/6 ICC2"   "TOB_ICC2"    40.12   80.24
		 1 "CF support"             "Carbon fibre str."  3.375    1    SUP
		 2 "ICC card"               "G10"                 7.92    1    ELE
		 3 "ICC traces"             "Copper"              0.4     1	ELE
		 4 "Connectors"             "T_Kapton"         9.107E-3   394  ELE
		 5 "Connectors pins"        "Copper"           8.092E-4   394  ELE
		 6 "Optohybrid G10"         "T_FR4"               0.345   4    ELE
		 7 "Optohybrid traces"      "Copper"              0.048   4    ELE
		 8 "Laser drivers"         "Silicon"            0.0025    4    ELE
		 9 "Laser diode"           "Silicon"              0.02    8    ELE
		 10 "Fiber clamp"           "T_Kapton"            0.063   4    ELE
		 11 "Pigtail and buffers"   "T_Kapton"            0.58    1    ELE
		 12 "Pigtail and buffers"   "Copper"              0.256   1    ELE
		 13 "Capacitors"            "Alumina"             1.029   1    ELE
		 14 "Resistors"             "Carbon"             1.15E-3 53    ELE
		 15 "Solder"                "SMD_metal"           0.04    1    ELE
		.................................................................

		Layer 7/8 ICC1 (serves 1 single sided module with 4 APVs)
		  => 1 Optohybrids
		     1 Kapton pigtails, 2 buffers
		     5 large caps, 22 small caps, 16 R's
		.................................................................
		"TOB electronics lay 7/8 ICC1"   "TOB_ICC3"    25.96   51.92
		1 "CF support"             "Carbon fibre str."  3.375    1    SUP
		2 "ICC card"               "G10"                 5.09    1    ELE
		3 "ICC traces"             "Copper"              0.254   1	ELE
		4 "Connectors"             "T_Kapton"         9.107E-3   136  ELE
		5 "Connectors pins"        "Copper"           8.092E-4   136  ELE
		6 "Optohybrid"             "T_FR4"               0.345   1    ELE
		7 "Optohybrid traces"      "Copper"              0.048   1    ELE
		8 "Laser drivers"         "Silicon"            0.0025    1    ELE
		9 "Laser diode"           "Silicon"              0.02    2    ELE
		10 "Fiber clamp"           "T_Kapton"            0.063   1    ELE
		11 "Pigtail and buffers"   "T_Kapton"            0.16    1    ELE
		12 "Pigtail and buffers"   "Copper"              0.0662  1    ELE
		13 "Capacitors"            "Alumina"             0.348   1    ELE
		14 "Resistors"             "Carbon"             1.15E-3 16    ELE
		15 "Solder"                "SMD_metal"          0.0126   1    ELE
		.................................................................

		Layer 7/8 ICC2 (serves 2 single sided module with 4 APVs)
		  => 2 Optohybrids
		     2 Kapton pigtails, 3 buffers
		     8 large caps, 41 small caps, 28 R's
		.................................................................
		 "TOB electronics lay 7/8 ICC2"   "TOB_ICC4"    40.12   80.24
		 1 "CF support"             "Carbon fibre str."  3.375    1    SUP
		 2 "ICC card"               "G10"                 7.92    1    ELE
		 3 "ICC traces"             "Copper"              0.4     1	ELE
		 4 "Connectors"             "T_Kapton"         9.107E-3   222  ELE
		 5 "Connectors pins"        "Copper"           8.092E-4   222  ELE
		 6 "Optohybrid"             "T_FR4"               0.345   2    ELE
		 7 "Optohybrid traces"      "Copper"              0.048   2    ELE
		 8 "Laser drivers"         "Silicon"            0.0025    2    ELE
		 9 "Laser diode"           "Silicon"              0.02    4    ELE
		 10 "Fiber clamp"           "T_Kapton"            0.063   2    ELE
		 11 "Pigtail and buffers"   "T_Kapton"              0.3   1    ELE
		 12 "Pigtail and buffers"   "Copper"              0.129   1    ELE
		 13 "Capacitors"            "Alumina"             0.5751  1    ELE
		 14 "Resistors"             "Carbon"             1.15E-3  28   ELE
		 15 "Solder"                "SMD_metal"           0.022    1   ELE
		.................................................................

		Layer 9/10 ICC1 (serves 1 single sided module with 6 APVs)
		  => 1 Optohybrids
		     1 Kapton pigtails, 2 buffers
		     5 large caps, 22 small caps, 16 R's
		.................................................................
		 "TOB electronics lay 9/10 ICC1"   "TOB_ICC5"    25.96   51.92
		 1 "CF support"             "Carbon fibre str."  3.375    1   SUP
		 2 "ICC card"               "G10"                 5.09    1   ELE
		 3 "ICC traces"             "Copper"              0.254   1   ELE
		 4 "Connectors"             "T_Kapton"         9.107E-3   136 ELE
		 5 "Connectors pins"        "Copper"           8.092E-4   136 ELE
		 6 "Optohybrid"            "T_FR4"                0.345   1   ELE
		 7 "Optohybrid traces"      "Copper"              0.048   1   ELE
		 8 "


text:
Dressing – a walk-in closet

Relooking – a make-over

Planning – a schedule or agenda

2. Words that are English but you’d never know

Most of these are confusing because they don’t sound the same coming from a French mouth, except the first one. Ordering food items with English names becomes a surreal experience in France, as you try to say them the way they do:

Talkie-Walkie – they just wanted to switch it around, keep it fresh

Wi-Fi – ‘wee-fee’

Hi-Fi – a bit dated now, but same trouble with the short I, sounds like ‘hee-fee’

Has been – an actual expression in English that means the same thing in French, but sounds like ‘azbeeen’

McDo – short for McDonald’s, of course, but they say ‘MacDoh’

Smoothie – have fun ordering this one, unless you say ‘smoossy’, they won’t get it

Brownie – ‘broh-ny’

Thriller – you know, Michael Jackson’s best video ‘Treeler’

Spiderman – ‘speederman’

Colonel – well, here it’s the English pronunciation (kernel) that’s messed up, the French pronounce the word as it’s spelled

3. Faux amis

These are words that are similar in both languages but have different meanings:

Douche – French word for shower…highly unlikely they’re referring to the other meaning!

Menu – It’s not the paper you order from (la carte) but more of a ‘meal deal’

Actually – Actuellement in French means ‘at this moment’ whereas it has a ‘despite what you may believe’ connotation in English. I had a good chuckle one time while waiting for a delayed flight in France. The airline employee first announced in French that the flight was boarding now, and then said in English ‘the flight 123 is actually boarding.”

Eventually – Eventuellement means ‘potentially/possibly’ in French, which is quite different from the English meaning of a certitude that’s just a matter of time.

Preservative – Be careful of this one, as the French word for condom is préservatif.

Slip – men’s underpants/briefs

Tacos – This one makes me cry. For a long time the French referred to tortilla chips as ‘tacos’ and then they decided it was a fast food item. I’ll save you the heartache of dashed hopes…this abomination is more like a Hot Pocket than a taco! Check it out:

4. Letters left off

S:

This is one of the most confusing things for English speakers, since we pluralize words by adding an S to the end in almost all cases. The French use a plural article in front to indicate more than one item (les, des) and hardly ever pronounce the last consonant in ANY word. Pay attention to the context to make sure you know if the Francophone is referring to one or several, as even advanced speakers commonly omit the last S in a plural noun.

* Bonus tip: English words for foods often get an S ending, even when they’re singular – “You want one muffins/cookies/tacos?” I suppose this is overcompensation for the above.

H:

You wouldn’t think a tiny exhale could make such a difference, but it does! The letter H is never aspirated in French. They don’t even put an imaginary Y in front, as some English-speakers do (human) – it’s just completely silent. “You’re as useless as the H in Hawaii” is a wisecrack that only makes sense in French. So if your name starts with an H, you may not recognize it in French – you are now Ellen, Arry, or Eezer (Heathers have it rough). If you want a live example, ask your French friend to read aloud the word ‘hedgehog,’ and you’ll understand what I mean.

5. Letters added

H:

Words that start with vowels can also trip up French people. I’m not sure why, because they have them, too, but when a French person encounters an English word that starts with a vowel, they have a tendency to add an H in front. If you read the previous paragraph, you understand how bizarre this is. They don’t pronounce the H when it’s there, and sometimes add one when it’s not there! “What do you want to heat?” “She was quite hangry at me.” You can’t be too sensitive if your name is Evy…”Ah, you are Heavy – pleased to meet you!”

P, B, W, K:

Also ironic, the French often pronounce the (few) silent letters in English words. The P is pronounced in French words like psychologist, pneumonia, and pseudonym, so they tend to pronounce them in their English equivalents.

The silent B is less a problem when it comes after M (comb, thumb, climb), possibly because it’s the last letter and so naturally silent in French. However, in words like ‘debt,’ ‘subtle,’ ‘plumber,’ or ‘doubt,’ the B is often voiced.

When the French pronounce the silent W in words like ‘wrap,’ it sounds like a V. They are popular sandwich alternatives, so you need to say ‘vrap’ if you’re ordering one in France. In words like ‘who,’ the W sounds like ‘woo’ when pronounced.

There are very few words that start with ‘kn’ in French, so beginners in English may pronounce the K.

ED, ES (at the end of words):

They don’t really add these letters so much as they pronounce them much more than we do. ‘Managed’ becomes three syllables. Or they can leave them off altogether like with the S, leaving you to wonder which tense they mean – “I talk to John.”?? An ES at the end also becomes an extra syllable. ‘Clothes’ sounds like ‘clozes,’ and ‘months’ is often said ‘monthez.’

6. Letters commonly mispronounced

Anyone trying to imitate a French accent knows that they have a signature way of pronouncing ‘TH’ and short ‘I’ sounds. To be fair, the letters below are problematic for other non-native speakers, too, not just the French. And lord knows that French has some letters that are nearly impossible for native English-speakers (I’m looking at you ‘R’ and ‘U’).

TH:

Most often sounds like ‘Z’ or sometimes ‘S’. Why is the ‘TH’ sound so hard for French mouths? Because they feel silly pushing their tongue out beyond their teeth. Out of self-consciousness, they keep the tongue behind the teeth and make the ‘Z’ sound instead.

I:

While they like to say the long I – “it’s my life!” – and have that sound in French (aïe), the short I is just insurmountable. The short vowel sounds in English, and the shwa, don’t really exist in French, but the short I is the biggest trouble-maker. Even the most advanced speakers will say ‘sheep’ for ‘ship’ and ‘green’ for ‘grin.’ As I mentioned in Part 1 of this series, a French person using the words ‘sh*t’ or ‘b*tch’ is more likely to confuse than offend.

CH:

These letters form a ‘SH’ sound in French, so it can be hard to tell if the person is saying ‘choose’ or ‘shoes’ in English. When the French want to capture the same CH sound, they put a T in front, like to tchat, because ‘chat’ with the ‘sh’ sound is ‘cat’ in French.

J:

Like many languages, French has no hard J sound, as in jungle or Jewish. If you prepare your ear to expect the softened ‘zh’ version (like in Zsa Zsa Gabor), you’ll probably understand the word without too much trouble.

LD:

I’ve noticed that the French have trouble with some ‘ld’ words. They manage alright with ‘bald’ and ‘older’, but ask one to say ‘it’s a real wild world’ and you’ll imagine Scooby Doo with peanut butter on his tongue.

R:

Let’s face it, Rs are a pain in most foreign languages! Just as we struggle with the French R, which is very slightly rolled at the back of the tongue, they can’t get their mouths around English Rs. Words like ‘rural,’ ‘rarely,’ ‘squirrel,’ and ‘hierarchy’ are pure punishment for a Frenchman. In fact, they’ll likely find substitutes for difficult R words whenever possible, so the letter may never cause you confusion when listening.

7. Confusing letters

If you are unsure of a word the French person has said, you could ask them to spell it…but there again you’re on treacherous ground! Even the letters of the alphabet don’t sound the same. I advise learning the international radio alphabet (https://www.icao.int/Pages


text:
’importance prise par les « blockchains privées (permissioned DLT) qui déclinent les technologies DLT dans les réseaux fermés constitués d’acteurs identifiés et de confiance.[…] Ils s’inscrivent dans des business modèles moins disruptifs et permettent une adoption plus graduelle des technologies innovantes. »

Dans ce panorama de l’évolution des risques liés à l’activité économique, financière et réglementaire, l’AMF souligne la matérialité des risques potentiels. Elle cite la faille dans le codage des smart contracts du projet de financement participatif The Decentralized Autonomous Organisation (DAO) qu’elle assimile à un « fonds dont les parts sont libellées en crypto-monnaie ». L’AMF précise de manière intéressante que « Ces faits n’ayant pu être qualifiés au regard de la loi, ceux qui en ont bénéficié n’ont pas été sanctionnés ». Cette remarque est à souligner au regard de la récente décision de la Commission des valeurs mobilières américaines (« Securities and Exchange Commission » ou « SEC ») de considérer que certaines opérations de la DAO comme relevant de sa compétence.

L’AMF évoque également, en matière de risques, le cas d’une FinTech française qui a reçu de la part de l’Autorité de contrôle prudentiel et de résolution (ACPR) un blâme et une amende de 80.000 euros pour des failles dans l’identification des contreparties de paiements en bitcoins en 2014 et 2015. L’ACPR reprochait à la société de ne pas avoir respecté les procédures exigées par la réglementation sur la lutte contre le blanchiment d’argent et le financement du terrorisme.

La prise de conscience de l’AMF de la maturation des projets résulte de l’avancée des projets eux-mêmes mais aussi d’une meilleure appréhension de cette technologie par la haute autorité, marquée par une volonté de s’adapter.

Une évolution des connaissances de l’AMF qui s’illustre à travers sa volonté de s’adapter

La multiplication des projets blockchains qui lui ont été soumis, a permis à l’AMF d’augmenter son expertise en la matière et de développer de nouvelles ressources tant à titre interne qu’à titre externe.

Dans sa cartographie 2017, l’AMF déclare que l’importance des questions de réglementation financière concernant les FinTech l’a poussé à créer en juin 2016 une division « FinTech, innovation et compétitivité ». Cette division est consacrée au suivi, et à l’analyse des innovations ainsi qu’à l’évaluation des besoins d’évolution de la réglementation ou de la doctrine dans les domaines concernés.

La simple lecture de ce document permet de constater une évolution sémantique de certains termes utilisés par l’AMF. Dans sa cartographie 2014, l’AMF parlait de « monnaies virtuelles » concernant les bitcoins alors qu’elle parle aujourd’hui de « crypto-monnaies », ce qui révèle une plus grande maîtrise du sujet.

On pourra toutefois regretter que l’AMF ne fasse pas de distinction (comme l’Autorité européenne des marchés financiers d’ailleurs) entre le terme blockchain et de technologie de registre distribué (Distributed Ledger Technology, ou « DLT » en anglais). Or, si les blockchains sont un type particulier de DLT, toutes les technologies de registres distribués ne sont pas des blockchains.

Parmi les ressources externes, l’AMF a multiplié ses collaborations tant en France qu’à l’international.

En France, le statut réglementaire des services financiers relève, selon le cas, de la compétence de l’AMF (concernant les actifs et les investissements) et/ou de l’Autorité de contrôle prudentiel et de résolution (ACPR) (concernant notamment les échanges de crypto-monnaies contre une monnaie ayant cours légal par exemple).

L’AMF et l’ACPR ont entrepris une démarche commune pour coordonner leur action : à cet effet elles ont créé un forum « FinTechs » en juillet 2016 afin d’échanger directement avec les acteurs du secteur.

A l’international, l’AMF a signé le 27 mars 2016, un accord de coopération avec l’Autorité monétaire de Singapour (« Monetary Authority of Singapore » ou « MAS ») dédié aux FinTechs. Singapour étant à la pointe dans le domaine des blockchains, cet accord peut particulièrement être profitable à l’AMF tant en matière d’expertise que de retour d’expériences. A cet égard, il est intéressant de noter que l’Autorité monétaire de Singapour étudie actuellement la possibilité de convertir le dollar singapourien en crypto-monnaie émise par sa banque centrale.

La connaissance et les ressources ne sont néanmoins pas tout. L’AMF observe que les technologies de registres distribuées représentent l’innovation qui soulève le plus grand nombre de questions à la fois d’ordre technique, législatif et réglementaire.

II – L’AMF constate la nécessité de faire évoluer la réglementation applicable

En l’absence d’un droit international en matière de blockchain, l’AMF relève la nécessité de faire évoluer le droit, tant au niveau national qu’au niveau européen.

i) Au niveau national

Sur le plan interne, de nombreuses FinTechs du secteur sollicitent régulateurs et pouvoirs publics dans l’objectif d’obtenir une garantie juridique afin de pouvoir exercer leurs activités dans un contexte législatif et règlementaire stable. L’AMF est consciente dans ce cadre à la nécessité de clarifier la réglementation française en la matière.

Elle reconnaît que, « bien que les analyses juridiques préliminaires estiment que les technologies de type blockchain peuvent être utilisées pour une large part à droit constant, certains projets d’applications, notamment dans le domaine du post marché ne peuvent être réalisées dans le cadre de la réglementation actuelle ».

Dans sa réponse à la consultation à la Commission européenne, la haute autorité souligne l’évolution du droit français avec l’ordonnance sur les minibons (titres émis par une entreprise en contrepartie d’un prêt qui lui est accordée et émis par des plateforme de crowdfunding sur la blockchain) et la loi Sapin II qui doit permettre la mise sur la blockchain de titres de sociétés non cotées.

Néanmoins, si l’AMF a raison de les indiquer, force est de constater que ces modifications du droit français restent pour l’instant à l’état d’ébauches. Si la loi Sapin II devrait aboutir sur la publication d’une ordonnance d’ici la fin de l’année, les minibons marquent un net retard puisque le décret d’application de l’ordonnance du 28 avril 2016 est, plus d’un an après la publication de l’ordonnance, toujours attendu.

Il convient de relever que la cartographie de l’AMF nous révèle la position de cette instance concernant la possibilité d’avoir une approche réglementaire façon « bac à sable », ou « sandbox », de la blockchain. Cette approche, selon l’AMF, consiste pour un certain nombre de régulateurs étrangers à créer un environnement juridique sécurisé au sein duquel certaines startups innovantes, présélectionnées par le superviseur, sont autorisées à tester leurs produits et leurs services auprès d’une clientèle réelles, tout en étant exemptés de certaines des


text:
.

"We are very pleased that the Boards of the Bank and the Fund have approved full debt relief for Burundi under the HIPC initiative and MDRI," said John M. McIntire, World Bank Country Director for Tanzania, Uganda, and Burundi. "This confirms the quality of Burundi's fiscal and debt management as it emerges from conflict and continues toward economic and social recovery. My Fund colleagues and I congratulate the Burundian authorities on this achievement. At the same time we urge them to maintain momentum toward the goals of their national Poverty Reduction Strategy Program by using this debt relief for its intended purposes," he added.

Bernardin Akitoby, IMF Mission Chief for Burundi, noted that "the authorities are to be commended for reaching this important milestone. Debt relief will reduce significantly Burundi's debt burden and free up resources to finance spending in areas critical to meeting the Millennium Development Goals." He added that a key challenge going forward is "to maintain a sustainable external and domestic debt position through careful borrowing and prudent fiscal policy."

ANNEX

The HIPC Initiative

In 1996, the World Bank and IMF launched the HIPC Initiative to create a framework in which all creditors, including multilateral creditors, can provide debt relief to the world's poorest and most heavily indebted countries, and thereby reduce the constraints on economic growth and poverty reduction imposed by the debt-service burdens in these countries. The Initiative was modified in 1999 to provide three key enhancements:

Deeper and Broader Relief. External debt thresholds were lowered from the original framework. As a result, more countries have become eligible for debt relief and some countries have become eligible for greater relief;

Faster Relief. A number of creditors began to provide interim debt relief immediately at the "decision point." Also, the new framework permitted countries to reach the "completion point" faster; and

Stronger Link between Debt Relief and Poverty Reduction. Freed resources were to be used to support poverty reduction strategies developed by national governments through a broad consultative process.

To date, 35 HIPC countries have reached their decision points, of which 24 (including Burundi) have reached the completion point.

The MDRI

At the July 2005 G8 Summit in Gleneagles, Scotland, G8 leaders pledged to cancel the debt of the world's most indebted countries, most of which are located in Africa. The aim of this Multilateral Debt Relief Initiative (MDRI) was to reduce further the debt of HIPCs and provide additional resource to help them reach the Millennium Development Goals (MDGs)

The MDRI is separate from the HIPC Initiative but linked to it operationally. Under the MDRI, three multilateral institutions - the World Bank's International Development Association, the International Monetary Fund, and the African Development Fund - provide 100 percent debt relief on eligible debts to countries having reached the HIPC completion point3. Unlike the HIPC Initiative, the MDRI is not comprehensive in its creditor coverage. It does not involve participation of official bilateral or commercial creditors, or of multilateral institutions other than the above-mentioned three.

1 Net present value of debt is the discounted sum of all future debt service obligations (interest and principal)

2 Nominal terms refer to the actual dollar value of debt service forgiven over a period of time.

3 The IMF also provided MDRI debt relief to non-HIPCs whose income per capita is below US$380 in order to ensure uniformity of treatment in the use of IMF resources.<|endoftext|>Residential characteristics and household risk factors and respiratory diseases in Chinese women: the Seven Northeast Cities (SNEC) study.
Few studies have assessed the impact of residential home characteristics and home environmental risk factors on respiratory diseases in Chinese women. Therefore, this study sought to determine the association between residential home features, domestic pets, home renovation and other indoor environmental risk factors with respiratory health outcomes of Chinese women. This cross-sectional study included a study sample of 30,780 Chinese women aged 23 to 49 from 25 districts of seven cities in Liaoning Province, Northeast China. Information on respiratory health, residential characteristics, and indoor air pollution sources was obtained by a standard questionnaire from the American Thoracic Society. Multivariable logistic regression was used to estimate prevalence odds ratios (POR) and 95% confidence interval (95%CI). The odds of respiratory diseases were higher for those who lived near the main road, or near ambient air pollution sources. Pet-keeping was associated with increased odds of chronic bronchitis (POR=1.40; 95%CI: 1.09-1.81) and doctor-diagnosed asthma (POR=2.07; 95%CI: 1.18-3.64). Additionally, humidifier use was associated with increased odds of chronic bronchitis (POR=1.44; 95%CI: 1.07-1.94). Home renovation in recent 2 years was associated with increased likelihood of allergic rhinitis (POR=1.39; 95%CI 1.17-1.64). Home renovation and residential home environmental risk factors were associated with an increased likelihood of respiratory morbidity among Chinese women.<|endoftext|>Q:

Angular 4 routing - is it possible to have two router components

So, i'm using angular 4 to develop an app, and i have a problem. I want to use angular 4 routing to include two components in one page, but it doesn't seem to be doable in the way i want to do it. I have a component header which is just a navbar, and i have another component home, which already has a navbar so i don't want to include header with home, but with some other component login for example. So i tried looking at angular docs and the closest way to do this would be with childs, but i don't want login to be a child of header. I tried putting to router-outlets and two components in my app.module.ts file, but it didn't work out.

A:

Your main component could be displayed in the default router outlet and the second component could be displayed in a secondary, named router outlet like this:

            <router-outlet></router-outlet>

            <router-outlet name="popup"></router-outlet>

You can then route to the secondary route like this:
this.router.navigate([{outlets: { popup: ['messages']}}]);

You can see a complete example here: https://github.com/DeborahK/Angular-Routing

<|endoftext|>Q:

slideDown and slideUp errors

I am new to jQuery and already I'm seeing problems with the built in
slideDown()/slideUp() animations. I'm using a flexible width
element, and when I use the function, the element does not return to
it's full width. I am thinking this has something to do with the way
jQuery finds the width of the element. I am experiencing the error in Safari 3 and Firefox 3.1 for OS X. Below is the html for the page:

May

              This month
              Sunday, May 31   <input type="button" value="Edit"/>

And the Javascript:
// Enable month names to re-open divs
$("#archive h2").not(":last").wrapInner("").end().find
("a").click(function(event){

event.preventDefault();

var h2 = $(this).parent();

if (h2.hasClass("open")) { // Close

    h2.removeClass("open");
    h2.next().slideUp("fast");

} else { // Open

    h2.addClass("open");
    h2.next().slideDown("fast");

}

});

The problem can be somewhat solved by wrapping the  in, but then a new error occurs in Firefox where the slideDown animation jumps near the end.
Any help would be appreciated.
Thanks,
Brendan

A:

The "jump" happens because of H2 elements have margins and according to the rules of CSS vertical margins will collapse.
Before the animation begins you have H2 headings separated with tables. Headings have some margins above and below them, table has none:
+--------------------------+
|                          |
|H2: April                 |
|                          |
+--------------------------+
||||||||||||||||||||||||||||
|TABLE in the middle       |
||||||||||||||||||||||||||||
+--------------------------+
|                          |
|H2: May                   |
|                          |
+--------------------------+

Then the table gets smoothly animated away, leaving you with just two headings:
+--------------------------+
|                          |
|H2: April                 |
|                          |
+--------------------------+
|                          |


text:
  var IS_FILTER = TYPE == 2;
	  var IS_SOME = TYPE == 3;
	  var IS_EVERY = TYPE == 4;
	  var IS_FIND_INDEX = TYPE == 6;
	  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
	  return function ($this, callbackfn, that, specificCreate) {
	    var O = toObject($this);
	    var self = indexedObject(O);
	    var boundFunction = bindContext(callbackfn, that, 3);
	    var length = toLength(self.length);
	    var index = 0;
	    var create = specificCreate || arraySpeciesCreate;
	    var target = IS_MAP? create($this, length) : IS_FILTER? create($this, 0) : undefined;
	    var value, result;
	    for (;length > index; index++) if (NO_HOLES || index in self) {
	      value = self[index];
	      result = boundFunction(value, index, O);
	      if (TYPE) {
	        if (IS_MAP) target[index] = result; // map
	        else if (result) switch (TYPE) {
	          case 3: return true;              // some
	          case 5: return value;             // find
	          case 6: return index;             // findIndex
	          case 2: push.call(target, value); // filter
	        } else if (IS_EVERY) return false;  // every
	      }
	    }
	    return IS_FIND_INDEX? -1 : IS_SOME || IS_EVERY? IS_EVERY : target;
	  };
	};

	var arrayIteration = {
	  // `Array.prototype.forEach` method
	  // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
	  forEach: createMethod$1(0),
	  // `Array.prototype.map` method
	  // https://tc39.github.io/ecma262/#sec-array.prototype.map
	  map: createMethod$1(1),
	  // `Array.prototype.filter` method
	  // https://tc39.github.io/ecma262/#sec-array.prototype.filter
	  filter: createMethod$1(2),
	  // `Array.prototype.some` method
	  // https://tc39.github.io/ecma262/#sec-array.prototype.some
	  some: createMethod$1(3),
	  // `Array.prototype.every` method
	  // https://tc39.github.io/ecma262/#sec-array.prototype.every
	  every: createMethod$1(4),
	  // `Array.prototype.find` method
	  // https://tc39.github.io/ecma262/#sec-array.prototype.find
	  find: createMethod$1(5),
	  // `Array.prototype.findIndex` method
	  // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
	  findIndex: createMethod$1(6)
	};

	// `Object.keys` method
	// https://tc39.github.io/ecma262/#sec-object.keys
	var objectKeys = Object.keys || function keys(O) {
	  return objectKeysInternal(O, enumBugKeys);
	};

	// `Object.defineProperties` method
	// https://tc39.github.io/ecma262/#sec-object.defineproperties
	var objectDefineProperties = descriptors? Object.defineProperties : function defineProperties(O, Properties) {
	  anObject(O);
	  var keys = objectKeys(Properties);
	  var length = keys.length;
	  var index = 0;
	  var key;
	  while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);
	  return O;
	};

	var html = getBuiltIn('document', 'documentElement');

	var GT = '>';
	var LT = '<';
	var PROTOTYPE = 'prototype';
	var SCRIPT ='script';
	var IE_PROTO = sharedKey('IE_PROTO');

	var EmptyConstructor = function () { /* empty */ };

	var scriptTag = function (content) {
	  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
	};

	// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
	var NullProtoObjectViaActiveX = function (activeXDocument) {
	  activeXDocument.write(scriptTag(''));
	  activeXDocument.close();
	  var temp = activeXDocument.parentWindow.Object;
	  activeXDocument = null; // avoid memory leak
	  return temp;
	};

	// Create object with fake `null` prototype: use iframe Object with cleared prototype
	var NullProtoObjectViaIFrame = function () {
	  // Thrash, waste and sodomy: IE GC bug
	  var iframe = documentCreateElement('iframe');
	  var JS = 'java' + SCRIPT + ':';
	  var iframeDocument;
	  iframe.style.display = 'none';
	  html.appendChild(iframe);
	  // https://github.com/zloirock/core-js/issues/475
	  iframe.src = String(JS);
	  iframeDocument = iframe.contentWindow.document;
	  iframeDocument.open();
	  iframeDocument.write(scriptTag('document.F=Object'));
	  iframeDocument.close();
	  return iframeDocument.F;
	};

	// Check for document.domain and active x support
	// No need to use active x approach when document.domain is not set
	// see https://github.com/es-shims/es5-shim/issues/150
	// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
	// avoid IE GC bug
	var activeXDocument;
	var NullProtoObject = function () {
	  try {
	    /* global ActiveXObject */
	    activeXDocument = document.domain && new ActiveXObject('htmlfile');
	  } catch (error) { /* ignore */ }
	  NullProtoObject = activeXDocument? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
	  var length = enumBugKeys.length;
	  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
	  return NullProtoObject();
	};

	hiddenKeys[IE_PROTO] = true;

	// `Object.create` method
	// https://tc39.github.io/ecma262/#sec-object.create
	var objectCreate = Object.create || function create(O, Properties) {
	  var result;
	  if (O!== null) {
	    EmptyConstructor[PROTOTYPE] = anObject(O);
	    result = new EmptyConstructor();
	    EmptyConstructor[PROTOTYPE] = null;
	    // add "__proto__" for Object.getPrototypeOf polyfill
	    result[IE_PROTO] = O;
	  } else result = NullProtoObject();
	  return Properties === undefined? result : objectDefineProperties(result, Properties);
	};

	var UNSCOPABLES = wellKnownSymbol('unscopables');
	var ArrayPrototype = Array.prototype;

	// Array.prototype[@@unscopables]
	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
	if (ArrayPrototype[UNSCOPABLES] == undefined) {
	  objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, {
	    configurable: true,
	    value: objectCreate(null)
	  });
	}

	// add a key to Array.prototype[@@unscopables]
	var addToUnscopables = function (key) {
	  ArrayPrototype[UNSCOPABLES][key] = true;
	};

	var $find = arrayIteration.find;

	var FIND = 'find';
	var SKIPS_HOLES = true;

	// Shouldn't skip holes
	if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });

	// `Array.prototype.find` method
	// https://tc39.github.io/ecma262/#sec-array.prototype.find
	_export({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
	  find: function find(callbackfn /*, that = undefined */) {
	    return $find(this, callbackfn, arguments.length > 1? arguments[1] : undefined);
	  }
	});

	// https://tc39.github.io/ecma262/#sec-array.