Southampton have completed the signing of attacker Sofiane Boufal from French side Lille, according to SkySports.
The reports have revealed that the Saints paid a club record fee around £16million for the highly rated winger. Dani Osvaldo was holding the record of the most expensive transfer with £15million which has now been broken.
The deal was agreed last week for Boufal and had a medical earlier today. The club officially announced the deal after the medical was passed and the contract was signed.
The 22-year-old has signed a five year contract which will keep him at the St Mary Stadium until 2021.
Boufal has expressed his happiness after signing the long term deal that he is very happy to be a part of Southampton and cannot wait to play in the home stadium.
The Saints have always produced and signed great young players and he is also likely to be a star for them.
Southampton's executive director Les Reed also revealed happiness upon this deal and said that he is a talented winger, he has proved in France and now will be star in England.
Boufal netted 11 goals in assisted five times for Lille last season.
The sad news is that the player is suffering from knee injury at the moment and would not be available for the next few weeks.


text:
Both of my parents were lovers of the arts, from the symphony to the cinema, from backyard talent shows to Broadway. Our family is filled with people with artists' souls. I think often of my mother's brother James Browne who worked as a custodian by day and sang with the North Jersey Philharmonic Glee Club for more than five decades, wowing audiences with his rich baritone. Then there are the dancers, actors, jewelry designers in the Ray, Rucker, Williams, Brooks, Alladice clan that just keep coming.
Tonight at 8 p.m., Zuri Adele will make her major TV debut in Good Trouble on the Freeform network. She plays Malika, an activist who is going to stir up trouble in the best sense.
The show's title is inspired by Rep. John Lewis who has said: "I want to see young people in America feel the spirit of the 1960s and find a way to get in the way. To find a way to get in trouble. Good trouble, necessary trouble."
As with The Fosters, of which Good Trouble is a spinoff, the show will deal with issues that we have been confronting since before the 60s — racial justice, police brutality, immigration, women's rights and LGBTQ issues. The characters in the show have their own contemporary approaches to fighting injustice, using tools that were not available in the 60s, such as crowd sourcing and social media.
They also get into other kinds of trouble as well. And that's real.
The first episode dropped on Hulu and Xfinity last week and will air on Tuesdays on Freeform at 8 p.m. Eastern and Pacific Time. (Check your local listings.)
Kicking off the new year 💣 ✨ It's getting real on @goodtrouble!! 🔥 Make sure to tune in to the series premiere Tuesday Jan 8 on @freeform! #goodtrouble #series #newfamily #2019 #letsgo
A post shared by J. MALLORY MCCREE (@callmejmallory) on Jan 2, 2019 at 10:02am PST
The fire is at hand. Let us organize.
Those were the words of Ulric McDonald Grant, a Barbadian union organizer, who in 1937 was sentenced to 10 years in prison for sedition.
Occasionally, Ebenezer devoted his holiday columns to sentimental musings. But quite often, he used them to remind people that the Scottsboro Boys were still in prison or that white Harlem merchants still failed to hire blacks to work in their stores. He devoted his Christmas Day column in 1937 to inveigh against the injustice visited upon Ulric Grant.
Noting that the case constituted the first time he'd felt ashamed of the "isle of my birth," Ebenezer asserted that Grant's "crime" was that he gave a few speeches in which he vowed to continue to fight against the white planter class.
"What must have made Grant's remarks all the more 'seditious' in the eyes of the law was that they were made following an island-wide disturbance arising out of labor conditions and capitalistic oppression under which the masses, Negroes almost in toto, have groaned for many years," my father wrote.
He had harsh criticism for a number of players in this case, but curiously, he let the British off the hook.
Much of what is charged up to 'the British' is the work of a few West Indian-born and bred ninnies usurping their power in the only manner they know and usurping it badly, occasionally harmfully.
"The entire judicial setup in Barbados which had to do with the case of Grant is of local birth," my father continued. "Judge, attorney general, solicitor general and police constabulary. And we find Grant arrested, prosecuted, sentenced to 10 years in prison for an offense which amounted in the most to an attempt to disturb the peace — an offense to which a small fine generally meets the end of justice."
My father expressed disappointment toward Grant supporters for failing to rally to Grant's aid, but he speculated that many of them were probably swept up in wholesale arrests that were taking place or "hiding from the accusing finger of this same judicial setup."
He took aim at local attorneys who did not offer their expertise. to Grant, who faced a jury without legal counsel. "It was regrettable that the Negro lawyers of Barbados did not see 'a cause' in a fight for Grant's exoneration."
As to the judge in the case, whom he described as being "born of a small-town aristocracy and elevated to his present position by curry-favoring small-town cronies, he sees the right of the populace in a small-town way. The right of free speech was not included in his legal studies."
On a more hopeful note, Ebenezer said that a West Indian Defense Committee had been formed in Harlem to provide financial assistance to the defense.
"The West Indian Defense Committee has quite a task before it,Ebenezer wrote.
The progress of the world and the right of free speech must be carried home to shortsighted colonials.
I found a brief legal note that indicated that Grant was released early, in February 1942 after the remission of his sentence. But aside from a few letters to the editor in response to my father's 1937 Christmas column, I haven't found much on Grant. I did find an article in the Barbados Advocate in 2016, in which a contemporary union leader lamented the fact that Grant and several other activists had never gotten due credit for their contributions to Barbados' decolonization.
So as I celebrate Unity — the first principle of Kwanzaa — I will light a candle for Ulric Grant and all of those whose voices that have filled our diasporic chorus against injustice.
Cousin Eva, center in pink, flanked by her siblings.
Cousin Eva. Photo credit Greg Stansbury
Eva V. Williams, one of my mother's first cousins, turns 90 this weekend. Two weeks ago, about 200 friends and family members gathered to celebrate this milestone. While as one of her nephews, Russell Irvine, noted in a tribute to Cousin Eva, fewer and fewer elders from that generation remain, an added blessing is that five of Cousin Eva's siblings were there to celebrate with her. Six of the original 10 are still with us.
Cousin Eva, who worked as a school librarian, did not have children of her own, but she has been a mother to many. Her "radiant, captivating" smile and open heart, are her signature. Thank you, dear cousin, and Happy Birthday.
May 24 would have been my father's 120th birthday.
I don't know what would resonate with him today, but back in the 1930s, when he was in his mid-to-late 30s, he was given to quoting Henry Wadsworth Longfellow on his birthday.
For three consecutive years, in columns that ran near May 24, Ebenezer would quote the same lines from Longfellow's "The Spanish Student," a play in three acts.
"Approaching one of those inevitable milestones imposed by Father Time, this paragrapher pauses in reflection and does a little audible thinking. Methinks Longfellow was correct when he wrote of persons born on May 24. 'The strength of thine own arm is thy salvation.' But I think he stretched his optimism a bit far when he said, 'Behind those riftless [sic] clouds there is a silver lining [sic]; be patient,'" my father wrote in the New York Age, May 28, 1934.
Longfellow actually wrote "rifted clouds," and in at least one edition, that one line was not about a silver lining. It was, "there shines a glorious star!" Also, I could not find any verification that the 19th-century poet and essayist was specifically referring to those who were born on May 24.
But, ok, Dad.
More often than not, my father used his weekly column for a little of this and a little of that. In one paragraph, he would rail against racially discriminatory hiring practices in Harlem and in the next, he would chide an acquaintance for falling under the spell of Father Devine. Then he'd wax about a social event or musical performance that moved him. Often, he used his column to express his outrage about lynchings and the trumped-up charges against the Scottsboro Boys. During the years when my father was quoting Longfellow in his birthday columns, the United States was in the throes of the Great Depression; Adolf Hitler and the Nazi Party had begun their reign. You couldn't fault him for seeing no rift in the clouds.
These days, the press is literally being punched and kicked simply for the "crime" of asking questions.
A Republican Congress is poised to denude health care, the environment, public education and women's agency over our bodies.
Our president and his family are raiding our treasury.
Law enforcement officers who kill unarmed black and brown civilians, including children, do so with impunity.
Immigrants are being harassed, deported and maligned.
White supremacists in this country have been given license to spew hate and kill.
Has anyone seen a glorious star lately?
Actually, yes.
When a Supreme Court majority (that includes Justice Clarence Thomas!) rejects North Carolina's voter suppression efforts.
When reporters fight back with fierce investigative journalism.
When constituents yell "you lie" at those to try to sell us alternative facts.
When we forge authentic alliances strong enough to demolish and deconstruct silly walls.
When we vote like our lives depend on it, because apparently, they do.
So, in honor of Ebenezer's 120th birthday, I will take a few liberties of my own with Longfellow:
Only the strength of [OUR] own [COLLECTIVE] arm[S] will be [OUR] salvation.
Tags: African American, african american history, birthday, black history, ebenezer ray, Family, Father Divine, History, journalism, Politics, scottsboro boys, White House
Categories 1933, 1934, 1935, As We See It, Uncategorized
I returned home last Sunday, inspired, and stirred after a trip to North Vietnam. During the time I was there, enjoying the lush landscape, the rich history, the value of lasting friendships and the resilience of the Vietnamese people, the question that kept coming back to me was "What was the point of the Vietnam War?" (By the way, the Vietnamese refer to it as the "American War.")
My return to the U.S. coincided with the 50th anniversary of Martin Luther King's courageous speech "Beyond Vietnam," which he delivered at Riverside Church on April 4, 1967, exactly 365 days before he was assassinated. It was courageous because in speaking out against the war, many – from the White House to the black civil rights establishment – denounced King for veering off script. But King's point was that injustice at home and military aggression in Southeast Asia were morally intertwined.
I come to this platform tonight to make a passionate plea to my beloved nation. This speech is not addressed to Hanoi or to the National Liberation Front. It is not addressed to China or to Russia. Nor is it an attempt to overlook the ambiguity of the total situation and the need for a collective solution to the tragedy of Vietnam. Neither is it an attempt to make North Vietnam or the National Liberation Front paragons of virtue, nor to overlook the role they must play in the successful resolution of the problem. While they both may have justifiable reasons to be suspicious of the good faith of the United States, life and history give eloquent testimony to the fact that conflicts are never resolved without trustful give and take on both sides. Tonight, however, I wish not to speak with Hanoi and the National Liberation Front, but rather to my fellow Americans.
Since I am a preacher by calling, I suppose it is not surprising that I have seven major reasons for bringing Vietnam into the field of my moral vision. There is at the outset a very obvious and almost facile connection between the war in Vietnam and the struggle I and others have been waging in America. A few years ago there was a shining moment in that struggle. It seemed as if there was a real promise of hope for the poor, both black and white, through the poverty program. There were experiments, hopes, new beginnings. Then came the buildup in Vietnam, and I watched this program broken and eviscerated as if it were some idle political plaything on a society gone mad on war. And I knew that America would never invest the necessary funds or energies in rehabilitation of its poor so long as adventures like Vietnam continued to draw men and skills and money like some demonic, destructive suction tube. So I was increasingly compelled to see the war as an enemy of the poor and to attack it as such.
Journalist and author Tavis Smiley visited the campus of Stanford University on April 4 to commemorate the 50th anniversary of King's speech. The program included a screening of his 2010 PBS documentary "A Call to Conscience," which provided a political context for King's anti-Vietnam speech in 1967. Scholars and activists who lent their voices to that documentary included Marian Wright Edelman, Harry Belafonte, Cornell West, Clayborne Carson, Clarence B. Jones, Susannah Heschel and the late Vincent Harding. Smiley threw a bit of shade on former President Barack Obama, who acknowledged in a clip of his Nobel Peace Prize acceptance speech that he owed his political ascendence to King's nonviolent movement, but that as commander-in-chief, he could not rule out the use of force. "Make no mistake, evil does exist in the world," Obama said.
We were reminded of such evil this week after Syria launched another brutal chemical attack against its own people and President Donald Trump responded with a bombing raid.
These are unsettling times, but my trip to Vietnam reminded me that human beings have a capacity for unspeakable cruelty but also, yes, the audacity to hope.
But King warned us from the pulpit at Riverside Church 50 years ago of the "fierce urgency of now."
I am convinced that if we are to get on to the right side of the world revolution, we as a nation must undergo a radical revolution of values. We must rapidly begin, we must rapidly begin the shift from a thing-oriented society to a person-oriented society. When machines and computers, profit motives and property rights, are considered more important than people, the giant triplets of racism, extreme materialism, and militarism are incapable of being conquered.
Blown away and humbled. The first piece of fiction I've ever gotten published wins an award. The story is published here.
I was going to watch the OWN Network's Greenleaf, no matter what, since my nephew Lamman Rucker is a principal character. The fact that Keith David and Lynn Whitfield star in it too and Oprah Winfrey is an executive producer and has a recurring role were attractions.
That writer and producer Craig Wright, whose credits include Lost and Six Feet Under gave the show some cred for me.
After watching the premier last night, though, what is most intriguing in my mind is that the story about a Tennessee megachurch, and an uber wealthy black family, centers around Grace Greenleaf, a disillusioned preacher prodigy, prodigal daughter, and (yay!) a truth-seeking journalist. She seems to be the only one, aside from her Auntie Mavis, played by Winfrey, who is interested in getting to the bottom of her sister Faith's death. She and Mavis are the only ones willing to confront the open secret that a family member is a sexual predator.
Until Spotlight, the Academy Award-winning film based on the true story of my former Boston Globe colleagues who uncovered a massive international scandal about child sexual abuse by Catholic priests and the complicity of the Catholic Church, I hadn't seen a movie or television show that portrayed journalism in a way that rang true.
I'm counting on Oprah, a journalist at her core and a victim of sexual abuse herself to get it right. And in the meantime, I'll be watching it as a proud auntie too.

redpajama_set_name: RedPajamaCommonCrawl


Are you looking for the the best retaining wall blocks for your landscape projects? Do it yourself or hiring someone to build a retaining wall for you in Roanoke Virginia? CornerStone Retaining wall blocks have been used in the Roanoke Virginia market for over 10 years. CornerStone was invented by a contractor for contractors and homeowners. Using the simply designed SecureLug system on the bottom of the blocks cornerstone has become a favourite system of many, many users.
When building with retaining wall blocks in the Roanoke Virginia region, cornerstone blocks will allow you to build Stairs, Curves, Corners, tall retaining walls and small retaining walls. Your imagination is really the limit to building these structures. Most landscape projects are simply just levelling out a front or backyard. The simplicity of using this retaining wall system is what drives users to keep coming back for more.
Contact us for where to buy retaining wall blocks in the Roanoke Virginia region.


text:
Library 2.0: balancing the risks and benefits to maximise the dividends
Brian Kelly, Paul Bevan, Richard Akerman, Jo Alcock, Josie Fraser
UKOLN
1664 Downloads (Pure)
Purpose: This paper provides a number of examples of how Web 2.0 technologies and approaches (Library 2.0) are being used within the library sector. The paper acknowledges that there are a variety of risks associated with such approaches. The paper describes the different types of risks and outlines a risk assessment and risk management approach which is being developed to minimize the dangers whilst allowing the benefits of Library 2.0 to be realized. Design/methodology/approach: The paper outlines various risks and barriers which have been identified at a series of workshops run by UKOLN for the cultural heritage sector in the UK. A risk assessment and risk management approach which was initially developed to support use of Web 2.0 technologies at events organized by UKOLN (a national centre of expertise in digital information management based in the UK) is described and its potential for use within the wider library community, in conjunction with related approaches for addressing areas such as accessibility and protection of young people, is described. Findings: Use of Library 2.0 approaches is becoming embedded across many Libraries which seek to exploit the benefits which such technologies can provide. The need to ensure that the associated risks are identified and appropriate mechanisms implemented to minimize such risks are beginning to be appreciated. Practical implications: The areas described in this paper should be of relevance to many Library organisations which are making use of Library 2.0 services. Originality/value: The paper should prove valuable to policy makers and Web practitioners within Libraries who may be aware of the potential benefits of Library 2.0 but have not considered associated risks.
Program Electronic Library & Information Systems
author-version.doc
This paper is an updated version of a presentation made at the Bridging Worlds 2008 Conference organised by the National Library Board of Singapore in October 2008.
author-version.pdf
print-it.html
http://www.ukoln.ac.uk/web-focus/papers/program-2009/
Fingerprint Dive into the research topics of 'Library 2.0: balancing the risks and benefits to maximise the dividends'. Together they form a unique fingerprint.
library Earth & Environmental Sciences
risk management Earth & Environmental Sciences
library service Earth & Environmental Sciences
risk assessment Earth & Environmental Sciences
information management Earth & Environmental Sciences
cultural heritage Earth & Environmental Sciences
accessibility Earth & Environmental Sciences
Kelly, B., Bevan, P., Akerman, R., Alcock, J., & Fraser, J. (2009). Library 2.0: balancing the risks and benefits to maximise the dividends. Program Electronic Library & Information Systems, 43(3), 311-327. https://doi.org/10.1108/00330330910978608
Library 2.0: balancing the risks and benefits to maximise the dividends. / Kelly, Brian; Bevan, Paul; Akerman, Richard; Alcock, Jo; Fraser, Josie.
In: Program Electronic Library & Information Systems, Vol. 43, No. 3, 2009, p. 311-327.
Kelly, B, Bevan, P, Akerman, R, Alcock, J & Fraser, J 2009, 'Library 2.0: balancing the risks and benefits to maximise the dividends', Program Electronic Library & Information Systems, vol. 43, no. 3, pp. 311-327. https://doi.org/10.1108/00330330910978608
Kelly B, Bevan P, Akerman R, Alcock J, Fraser J. Library 2.0: balancing the risks and benefits to maximise the dividends. Program Electronic Library & Information Systems. 2009;43(3):311-327. https://doi.org/10.1108/00330330910978608
Kelly, Brian ; Bevan, Paul ; Akerman, Richard ; Alcock, Jo ; Fraser, Josie. / Library 2.0: balancing the risks and benefits to maximise the dividends. In: Program Electronic Library & Information Systems. 2009 ; Vol. 43, No. 3. pp. 311-327.
@article{1d5b0ca4dbe144588f40971d603c4762,
title = "Library 2.0: balancing the risks and benefits to maximise the dividends",
abstract = "Purpose: This paper provides a number of examples of how Web 2.0 technologies and approaches (Library 2.0) are being used within the library sector. The paper acknowledges that there are a variety of risks associated with such approaches. The paper describes the different types of risks and outlines a risk assessment and risk management approach which is being developed to minimize the dangers whilst allowing the benefits of Library 2.0 to be realized. Design/methodology/approach: The paper outlines various risks and barriers which have been identified at a series of workshops run by UKOLN for the cultural heritage sector in the UK. A risk assessment and risk management approach which was initially developed to support use of Web 2.0 technologies at events organized by UKOLN (a national centre of expertise in digital information management based in the UK) is described and its potential for use within the wider library community, in conjunction with related approaches for addressing areas such as accessibility and protection of young people, is described. Findings: Use of Library 2.0 approaches is becoming embedded across many Libraries which seek to exploit the benefits which such technologies can provide. The need to ensure that the associated risks are identified and appropriate mechanisms implemented to minimize such risks are beginning to be appreciated. Practical implications: The areas described in this paper should be of relevance to many Library organisations which are making use of Library 2.0 services. Originality/value: The paper should prove valuable to policy makers and Web practitioners within Libraries who may be aware of the potential benefits of Library 2.0 but have not considered associated risks.",
author = "Brian Kelly and Paul Bevan and Richard Akerman and Jo Alcock and Josie Fraser",
journal = "Program Electronic Library & Information Systems",
T1 - Library 2.0: balancing the risks and benefits to maximise the dividends
AU - Kelly, Brian
AU - Bevan, Paul
AU - Akerman, Richard
AU - Alcock, Jo
AU - Fraser, Josie
N2 - Purpose: This paper provides a number of examples of how Web 2.0 technologies and approaches (Library 2.0) are being used within the library sector. The paper acknowledges that there are a variety of risks associated with such approaches. The paper describes the different types of risks and outlines a risk assessment and risk management approach which is being developed to minimize the dangers whilst allowing the benefits of Library 2.0 to be realized. Design/methodology/approach: The paper outlines various risks and barriers which have been identified at a series of workshops run by UKOLN for the cultural heritage sector in the UK. A risk assessment and risk management approach which was initially developed to support use of Web 2.0 technologies at events organized by UKOLN (a national centre of expertise in digital information management based in the UK) is described and its potential for use within the wider library community, in conjunction with related approaches for addressing areas such as accessibility and protection of young people, is described. Findings: Use of Library 2.0 approaches is becoming embedded across many Libraries which seek to exploit the benefits which such technologies can provide. The need to ensure that the associated risks are identified and appropriate mechanisms implemented to minimize such risks are beginning to be appreciated. Practical implications: The areas described in this paper should be of relevance to many Library organisations which are making use of Library 2.0 services. Originality/value: The paper should prove valuable to policy makers and Web practitioners within Libraries who may be aware of the potential benefits of Library 2.0 but have not considered associated risks.
AB - Purpose: This paper provides a number of examples of how Web 2.0 technologies and approaches (Library 2.0) are being used within the library sector. The paper acknowledges that there are a variety of risks associated with such approaches. The paper describes the different types of risks and outlines a risk assessment and risk management approach which is being developed to minimize the dangers whilst allowing the benefits of Library 2.0 to be realized. Design/methodology/approach: The paper outlines various risks and barriers which have been identified at a series of workshops run by UKOLN for the cultural heritage sector in the UK. A risk assessment and risk management approach which was initially developed to support use of Web 2.0 technologies at events organized by UKOLN (a national centre of expertise in digital information management based in the UK) is described and its potential for use within the wider library community, in conjunction with related approaches for addressing areas such as accessibility and protection of young people, is described. Findings: Use of Library 2.0 approaches is becoming embedded across many Libraries which seek to exploit the benefits which such technologies can provide. The need to ensure that the associated risks are identified and appropriate mechanisms implemented to minimize such risks are beginning to be appreciated. Practical implications: The areas described in this paper should be of relevance to many Library organisations which are making use of Library 2.0 services. Originality/value: The paper should prove valuable to policy makers and Web practitioners within Libraries who may be aware of the potential benefits of Library 2.0 but have not considered associated risks.
UR - http://www.ukoln.ac.uk/web-focus/papers/program-2009/
UR - http://dx.doi.org/10.1108/00330330910978608
JO - Program Electronic Library & Information Systems
JF - Program Electronic Library & Information Systems


text:
Futha es el segundo álbum de estudio de la banda Heilung. Salió a la venta el 28 de junio de 2019 bajo el sello discográfico Season of Mist. El estilo se caracteriza por evocar un aspecto más «femenino» en contraposición al anterior álbum de estudio Ofnir, de 2015, más centrado en temas «masculinos» y de guerra. La canción «Norupo» cuenta con un video musical y ganó por empate la categoría Música tradicional global de Premios de música independiente (IMA).

Contenido

El nombre se debe a que Futha es la conjunción de las primeras cuatro letras del alfabeto rúnico (en orden Fehu, Ur, Thurs, Ansuz), que suelen iniciar inscripciones en lenguas germánicas halladas en artefactos antiguos. Aparece a su vez en un bracteato de oro fabricado entre los años 500-530 a.C. y hallado en Escania, Suecia; mientras que su interpretación no es clara, la banda asume que grabar el inicio del alfabeto guarda «gran significado».

Se tardó tres años en concluirlo y simbólicamente el álbum es la contraparte «femenina» de su antecesor Ofnir, el cual presentaba un estilo más «masculino, áspero y bélico» de acuerdo con Kai Uwe Faust, cantante y compositor. El trío comentó que el vocablo Futha sostiene el significado de la fertilidad y el género femenino, y comentaron «como Ofnir se concentraba en la guerra y nociones masculinas, el gran poder sanador de la fuerza salvaje femenina es evocado en Futha. Aquellos que hayan estado presentes en un nacimiento o han visto a una leona cazando conocen el espíritu, y lo recibimos y abrazamos en los sonidos que nacieron en la creación (del álbum)».El álbum se caracteriza por el rol de Maria Franz, vocalista de la banda, la adición de coristas femeninas y la presencia en las letras de encantamientos y bendiciones de poesía islandesa, originalmente recitadas por mujeres en la antigüedad. La obra presenta mantras, diálogos, y los ritmos predominantes de percusión son «tribales» como en las canciones «Othan» y «Elddansurin». Estas últimas hacen uso de efectos de reverberación y bajos descritos por Metal Hammer como «tecno y ominosos». «Traust» inicia con el sonido de campanas y continúa con secuencias de «zumbidos oscilantes» que culmina en una progresión de cuerdas «gótica». «Galgaldr» se basa en las profecías del Ragnarök del poema «Völuspá», recogido en la Edda poética y en la interpretación en vivo de esta canción se utiliza un amuleto proveniente de Högstena con la inscripción futh, interpretado como «poder sanador de la mujer» y cuyo significado el trío relaciona a cualidades mágicas y a los genitales femeninos. «Vapnatak» emula el sonido de un combate antiguo en la lluvia. «Elivagar» presenta susurros y gruñidos «ásperos» con el sonido de las grietas que se forman en el hielo y cierra «Hamrer Hippyer», la más larga del repertorio cuya letra toma fragmentos de los encantamientos de Merseburg.

El corte «Norupo» cuenta con su propio video musical grabado en los menhires de Monteneuf, Francia; la edición tiene tomas aéreas y en la locación se observan los monolitos de piedra junto a runas inscriptas en el suelo y el bosque circundante. La lírica versa sobre el balance de los espíritus masculinos y femeninos, la resiliencia, la naturaleza y la abundancia. Se basa en un poema rúnico futhark en nórdico antiguo, hablado por los pueblos germánicos del norte, y preservado en un texto del siglo  sobre un manuscrito perdido del siglo . Tanto «Othan» como «Hamrer Hippyer» habían sido registradas previamente en el álbum en directo Lifa, de 2017.

El arte gráfico y merchandising que acompaña al álbum toma inspiración de la figura del dios celta Cernunnos.

Crítica y recepción
Luke Morton para la revista Kerrang! comentó que el género de Futha corresponde más a la música global que el rock, y en líneas generales dijo que es una «experiencia inmersiva».  Jessica Howkins de Distorted Sounds Magazine le dio la máxima calificación y describió que existe una «energía masculina (...), pero que es pasiva a lo femenino». Metal Hammer afirmó que no es apto para oyentes con periodos cortos de atención destacó como el álbum retrata «como una instantánea» el estilo de la banda en los shows en vivo. Dargedik.com enlistó los elementos principales del álbum, una musicalización «minimalista» con preponderancia de tambores, estilos de canto canto guturales, susurrantes y una narrativa donde predominaba las voces femeninas.

«Galgaldr» se utilizó en el avance del videojuego  VII: "Wolves of Ragnarok de la franquicia Conquerer's Blade. «Norupo» ganó por empate la categoría de Música tradicional mundial en la decimoctava edición de los Premios de música independiente (IMA).

Posicionamiento en listas

Canciones

Lista de canciones

Personal

 Heilung
 Christopher Juul: productor, multinstrumentista.
 Kai Uwe Faust: voz principal, compositor.
 Maria Franz: voz principal, compositora.
 Compañía discográfica: Season of Mist.

Fuentes

Referencias

Enlaces externos
 Álbum completo disponible en el canal oficial de Season of Mist en YouTube.

Álbumes de 2019
Álbumes de folk metal

redpajama_set_name: RedPajamaWikipedia


text:
In digital communications networks, packet processing refers to the wide variety of algorithms that are applied to a packet of data or information as it moves through the various network elements of a communications network. With the increased performance of network interfaces, there is a corresponding need for faster packet processing.

There are two broad classes of packet processing algorithms that align with the standardized network subdivision of control plane and data plane. The algorithms are applied to either:

 Control information contained in a packet which is used to transfer the packet safely and efficiently from origin to destination
or
 The data content (frequently called the payload) of the packet which is used to provide some content-specific transformation or take a content-driven action.

Within any network enabled device (e.g. router, switch, network element or terminal such as a computer or smartphone) it is the packet processing subsystem that manages the traversal of the multi-layered network or protocol stack from the lower, physical and network layers all the way through to the application layer.

History

The history of packet processing is the history of the Internet and packet switching. Packet processing milestones include:

 1962–1968: Early research into packet switching
 1969: 1st two nodes of ARPANET connected; 15 sites connected by end of 1971 with email as a new application
 1973: Packet switched voice connections over ARPANET with Network Voice Protocol. File Transfer Protocol (FTP) specified
 1974: Transmission Control Protocol (TCP) specified
 1979: VoIP – NVP running on early versions of IP
 1981: IP and TCP standardized
 1982: TCP/IP standardized
 1991: World Wide Web (WWW) released by CERN, authored by Tim Berners-Lee
 1998: IPv6 first published

Historical references and timeline can be found in the External Resources section below.

Communications models

For networks to succeed it is necessary to have a unifying standard for which defines the architecture of networking systems. The fundamental requirement for such a standard is to provide a framework that enables the hardware and software manufacturers around the world to develop networking technologies that will work together and to harness their cumulative investment capabilities  to move the state of networking forward.

In the 1970s, two organizations, the International Organization for Standardization (ISO) and the International Telegraph and Telephone Consultative Committee (CCITT, now called the International Telecommunication Union (ITU-T) each initiated projects with the goal of developing international networking standards. In 1983, these efforts were merged and in 1984 the standard, called The Basic Reference Model for Open Systems Interconnection, was published by ISO and as standard X.200 by the ITU-T.

The OSI Model is a 7 layer model describing how a network operating system works. A layered model has many benefits including the ability to change one layer without impacting the others and as a model for understanding how a network OS works. As long as the interconnection between layers is maintained, vendors can enhance the implementation of an individual layer without impact on other layers.

In parallel with the development of the OSI model, a research network was being implemented by the United States Defense Advanced Research Projects Agency (DARPA). The internetworking protocol developed to support the network, called ARPAnet, was called TCP or Transmission Control Program. As research and development progressed and the size of the network grew, it was determined that the internetworking design that was being used was becoming unwieldy and it did not exactly follow the layered approach of the OSI Model.  This led to the splitting of the original TCP and the creation of the TCP/IP architecture - TCP now standing for Transmission Control Protocol and IP standing for Internet Protocol.

Advent of packet processing

Packet networks  came about as a result of the need in the early 1960s to make communications networks more reliable. It can be viewed as the implementation of the layered model using a packet structure.

Early commercial networks were composed of dedicated, analog circuits used for voice communications. The concept of packet switching was introduced to create a communications network that would continue to function in spite of equipment failures throughout the network. In this paradigm shift, networks are viewed as collections of systems that transmit data in small packets that work their way from origin to destination by any number of routes. Initial packet processing functions supported the routing of packets through the network, transmission error detection and correction and other network management functions.

Packet switching with its supporting packet processing functions has several practical benefits over traditional circuit-switched networks:

 An all-digital environment supporting multiple data types (such as voice, data and video) not only enriched the lives of users, it significantly increased the efficiency of network providers who previously had to implement different networks to support different data types.
 Greater bandwidth utilization, with multiple 'logical circuits' using the same physical links
 Communications survivability due to multiple paths through the network from any origin to any destination
 Added-value information services can be introduced using packet processing functions to provide the necessary processing

Packet structure

A network packet is the fundamental building block for packet-switched networks. When an item such as a file, e-mail message, voice or video stream is transmitted through the network, it is broken into chunks called packets that can be more efficiently moved through the network than one large block of data. Numerous standards cover the structure of packets, but typically packets are composed of three elements:

 Header – contains information about the packet, including origin, destination, length and packet number.
 Payload (or body) – contains the data that comprises the packet
 Trailer – indicates the end of the packet and frequently include error detection and correction information

In a packet-switched network, the sending host computer packetizes the original item and each packet is routed through the network to its destination. Some networks used fixed length packets, typically 1024 bits, while others use variable length packets and include the packet length in the header.

Individual packets may take different routes to the destination and arrive at the destination out of order. The destination computer verifies the correctness of the data in each packet (using information in the trailer), reassembles the original item using the packet number information in the header, and presents the item to the receiving application or user.

This basic example includes the three most fundamental packet processing functions, packetization, routing, and assembly. Packet processing functions range from the simple to highly complex. As an example, the routing function is actually a multi-step process involving various optimization algorithms and table lookups. A basic routing function on the Internet looks something like:

1. Check to see if the destination is an address 'owned' by this computer. If so, process the packet. If not:
a. Check to see if IP Forwarding is set to 'Yes'. If no, the packet is destroyed. If yes, then
i. Check to see if a network attached to this computer owns the destination address. If yes, route the packet to the appropriate network. If no, then
1. Check to see if there is any route to the destination network. If yes, route the packet to the next hop gateway.  If no, destroy the packet.

More advanced routing functions include network load balancing and fastest route algorithms. These examples illustrate the range of packet processing algorithms possible and how they can introduce significant delays into the transmission of an item. Network equipment designers frequently use a combination of hardware and software accelerators to minimize the latency in the network.

Network equipment architecture

IP-based equipment can be partitioned into three basic elements: data plane, control plane and management plane.

Data plane
The data plane is a subsystem of a network node that receives and sends packets from an interface, processes them as required by the applicable protocol, and delivers, drops, or forwards them as appropriate.

Control plane

The control plane maintains information that can be used to change data used by the data plane. Maintaining this information requires handling complex signaling protocols. Implementing these protocols in the data plane would lead to poor forwarding performance. A common way to manage these protocols is to let the data plane detect incoming signaling packets and locally forward them to the control plane. The control plane signaling protocols can update the data plane information and inject outgoing signaling packets into the data plane. This architecture works because signaling traffic is a very small part of the global traffic.

Management plane

The management plane provides an administrative interface into the overall system. It contains processes that support operational administration, management or configuration/provisioning actions such as:

 Facilities for supporting statistics collection and aggregation,
 Support for the implementation of management protocols,
 Command line interface, graphical user configuration interfaces through Web pages or traditional SNMP (Simple Network Management Protocol) management.

More sophisticated solutions based on XML (eXtensible Markup Language) can also be included.

Examples

The list of packet processing applications is usually divided into two categories. The following are a few examples selected to illustrate the variety in use today.

Control applications

 Forwarding, the basic operation of a router
 Encryption/Decryption, the protection of information in the payload using cryptographic algorithms
 Quality of Service (QOS), treating packets differently, such as providing prioritized or specialized services depending upon the packet's class

Data applications

 Transcoding, the transformation of a particular video encoding to the particular encoding used by the destination
 Transrating & Transizing, transforming an image size and density appropriate to the destination device
 Image or Voice Recognition, the detection of a particular pattern (image or voice) that is matched to those in a database with some attending action taken when a match occurs
 Advanced applications include areas such as security (call monitoring and data leak prevention), targeted advertising, tiered services, copyright enforcement and network usage statistics. These, and many other content-aware applications, are based on the ability to discern specific intelligence contained within packet payloads using Deep Packet Inspection (DPI) technologies.

Packet processing architectures

Packet switching also introduces some architectural compromises.  Performing packet processing functions in the transmission of information introduces delays that may be detrimental to the application being performed. For example, in voice and video applications, the necessary conversion from analog-to-digital and back again at the destination along with delays introduced by the network can cause noticeable gaps that are disruptive to the users. Latency is a measure of the time delay experienced by a complex system.

Multiple architectural approaches to packet processing have been developed to address the performance and functionality requirements of a specific network and to address the latency issue.

Single threaded architecture (standard operating system)

A standard networking stack uses services provided by the Operating System (OS) running on a single processor (single threaded). While single threaded architectures are the simplest to implement, they are subject to overheads associated with the performance of OS functions such as preemptions, thread management, timers and locking. These OS processing overheads are imposed on each packet passing through the system, resulting in a throughput penalty.

Multi-threaded architecture (multi-processing operating system)

Performance improvements can be made to an OS networking stack by adapting the protocol stack processing software to support multiple processors (multi-threaded), either through the use of Symmetrical Multiprocessing (SMP) platforms or multicore processor architecture. Performance increases are realized for a small number of processors, but fails to scale linearly over larger numbers of processors (or cores) and a processor with, for example, eight cores may not process packets significantly faster than one with two cores.

Fast path architecture (operating system by-pass)

In a fast path implementation, the data plane is split into two layers. The lower layer, typically called the fast path, processes the majority of incoming packets outside the OS environment and without incurring any of the OS overheads that degrade overall performance. Only those packets that require complex processing are forwarded to the OS networking stack (the upper layer of the data plane), which performs the necessary management, signaling and control functions. When complex algorithms such as routing or security are required, the OS networking stack forwards the packet to dedicated software components in the control plane.

A multicore processor can provide additional performance improvement to a fast path implementation. In order to maximize the overall system throughput, multiple cores can be dedicated to running the fast path, while only one core is required to run the Operating System, the OS networking stack and the application's control plane.

The only restriction when configuring the platform is that, since the cores running the fast path are running outside the OS, they must be dedicated exclusively to the fast path and not shared with other software. The system can also be reconfigured dynamically as traffic patterns change. Splitting the data plane into two layers also adds complexity as the two layers must have the same information to ensure system consistency.

Packet processing technologies

In order to create specialized packet processing platforms, a variety of technologies have been developed and deployed. These technologies, which span the breadth of hardware and software, have all been designed with the aim of maximizing speed and throughput while minimizing latency.

Network processors
A network processor unit (NPU) is similar in many respects to general purpose processors (GPP) that power most computers but with its internal architecture and functions tailored to network-centric operations. NPUs commonly have network-specific functions such as address lookup, pattern matching and queue management built into their microcode. Higher level packet processing operations such as security or intrusion detection are often built into NPU architectures. Network processor examples would include:

 Intel - IXP2xxx family
 Netronome - NFP-6xxx/4xxx/32xx families
 PMC Sierra – Winpath family
 EZChip – NP-x family

Multicore processors

A multicore processor is a single semiconductor package that has 2 or more cores, each representing an individual processing unit, capable of executing code in parallel. General purpose CPUs such as the Intel Xeon now support up to 8 cores. Some multicore processors integrate dedicated packet processing capabilities to provide a complete SoC (System on Chip). They generally integrate Ethernet interfaces, crypto-engines, pattern matching engines, hardware queues for QoS and sometimes more sophisticated functions using micro-cores. All these hardware features are able to offload the software packet processing. Recent examples of these specialized multicore packages, such as the Cavium OCTEON II, can support from 2 up to 32 cores.
 Tilera - TILE-Gx Processor Family
 Cavium Networks - OCTEON & OCTEON II multicore Processor Families
 Freescale – QorIQ Processing Platforms
 NetLogic Microsystems – XLP, XLR and XLS Processor Families

Hardware accelerators

For clearly definable and repetitive actions, creating a dedicated accelerator built directly into a semiconductor hardware solution will speed up operations when compared to software running on a general purpose processor. Initial implementations used FPGAs (field-programmable gate array) or ASICs (Application-specific Integrated Circuit), but now specific functions such as encryption and compression are built into both GPPs and NPUs as internal hardware accelerators. Current multicore processor examples with network-specific hardware accelerators include the Cavium CN63xx with acceleration for security, TCP/IP, QOS and HFA pattern matching and the Netlogic Microsystems XFS processor family with networking and security acceleration engines.

Deep packet inspection

Being able to make decisions based on the content of individual packets enables a wide variety of new applications such as Policy Charging and Rules Functions (PCRF) and Quality of Service. Packet processing systems separate out specific traffic types through the use of Deep Packet Inspection (DPI) technologies.  DPI technologies utilize pattern matching algorithms to look inside the data payload to identify the contents of each and every packet flowing through a network device. Successful pattern matches are reported to the controlling application for any appropriate further action to be taken.

Packet processing software

Operating system software will contain certain standard network stacks that will operate in both single and multicore environments. To be able to implement operating system by-pass (fast path) architectures requires the use of specialized packet processing software such as 6WIND's 6WINDGate. This type of software provides a suite of networking protocols that can be distributed across multiple blades, processors or cores and scale appropriately.

References

External links
 Living History. "Internet History"
 Howe, Walt. (2010) "A Brief History of the Internet"
 Internet Society. "Histories of the Internet"
 Living History. "Packet Switching History"
 Roberts, Dr. Lawrence G. (November 1978). "The Evolution of Packet Switching"
 Marshall, Dave. "History of the Internet – Timeline."
 Rami Rosen "Network acceleration with DPDK", article in lwn.net, July 2017.
 Rami Rosen "Userspace Networking with DPDK", article in Linux Journal, April 2018.

Computer networking
Packets (information technology)
History of the Internet


1. Tarawih Prayer a Nafl or Sunnah 2. If races abolished how come quraish leaders by Prophet Mohamed 3. Are Arabs superior race? 4. Ahle Sunnah, Ahle hadith, barelvi, devbhandi 5. Are Shias Kafir? 6. Muslim burial in any other graveyard 7. Many many thanks to the answers to my various questions which I have understood very very clearly, but judging from the answers given by you or for that matter as portrayed by Allah and the Prophet (saws) as you say,then it would become difficult for an individual to live alone, separate from the family and specially the community as a whole, to ensure he/she follows exactly what you explain. Thus, the person will be completely isolated from the rest and everyone, so how would he/she live alone in this world? because everybody have their own community and religion to follow, including the Muslims, and one or a few individuals have no place in this world. Can you pls explain how could one isolate himself and stay alone and follow exactly Allah`s guidance and to keep on the Siraat-ul-Mustaqeem (the Straight- Path of Islam) and in the event of one`s marriage and burial who on this earth will assist or help? because the person won`t be recognised of any community or will be having any friends for that matter. This is serious and I want an authentic answer to my above question. 8. So many sects claiming to be truthful 9. So then we go to hajj-umrah, all the piligrims bow , do sajdah in front of holy prophets(saws) tomb, prophets daughter tomb. 10. Why are there different races if all are from Adam? 11. It is your site that originally gave me the courage to put into action belifs I always had but was afraid or too lazy to practice 12. Assalamalekum Mr Burhan if you r a dawoodi bohra and pointing out the shortcomings of our community then you are doing some thing which many,many of our community people want to do but they are not able to do it because they are scared that they will be penalised as "salaam band"by amil saheb.i appreciate your efforts and wish you all the success. 13. Who are the Ummah of the Prophet (saws)? 14. Which firqah do you follow? 15. Dawoodi bohras are like any other community 16. Right to practice Islam but dont get personal 17. Bohra leadership falsehoods 18. Shia or Sunni site 19. Bohras different from Muslims 20. What is Dawoodibohra?


text:
Search in titles only Search in High School and College Football only
High School and College Football
2021 College Football (so far)
broncolee
Harbaugh finally beats Ohio State. Still wouldn't want him coaching the Broncos.
Good for him though.
My Opinion isn't determined by what the Popular Opinion is. Sometimes I agree with the Majority, Sometimes I Don't. If My Opinion is Different than Yours, I have to Ask One Question:
You Mad Bro?
Don't Be A Mean Girl
Hell No!!! To the Texans Quarterback!!!
InsaneBlaze23
The ArchAngel
It's a weird turn of events for Michigan. After losing the game to MSU and then being told by the Big Ten that the refs messed up, implying Michigan would've likely won that game as well. It turned beating their biggest rival to dictate success this year.
Beating Ohio St is Michigan's bowl game. They can make it to the playoffs and get bounced first game, and the season would still be a success bc they beat Ohio. Harbaugh has had heat under his backside, from me and those in better positions than me. But Michigan brass stay having faith in him because Michigan will always be loyal to a Michigan man. They ran the ball and the defense did enough to keep putting Ohio in positions they couldn't overcome, including having to give up a touchdown on purpose just to get the ball back. Michigan didn't have the better statline.
OSU had more time of possession, a better passing game, Cade threw a pick and barely did anything else for Michigan.
Hassan Haskins once more had a game that's gonna have NFL scouts wanting him early.
Adopted Broncos:
EmmanuelSanders
https://www.espn.com/college-footbal...ch-sources-say
Maybe the Trojans found a coach that can get them back to the top of the PAC-12. That's where the conference needs them.


text:
- [ ] Create new local hotfix branch from master branch
    - `git checkout -b hotfix-x.y.z<PATCH> master`
- [ ] Uninstall annalist
- [ ] Delete contents of build directory (ensure any old files are removed)
- [ ] Clean old .pyc files - `clean.sh`
- [ ] Fix bug, and add test cases
- [ ] Regenerate test data (e.g. `maketestsitedata.sh`, `makebibtestsitedata.sh` and `makeemptysitedata.sh`)
- [ ] Local install
- [ ] Run test suite
- [ ] Update site data in local 'personal' installation
    - `annalist-manager initialize`
    - `annalist-manager updatesitedata`
- [ ] Test 'personal' deployment in actual use
    - `annalist-manager rundevserver`
- [ ] Bump version to patch release and update release notes history
    - `src/annalist_root/annalist/__init__.py`
- [ ] Update version number in scripts, documents, etc.
    - [ ] Release notes
    - [ ] documents/release-notes/announce_0.1.*.md
    - [ ] documents/roadmap.md
    - [ ] documents/pages/index.html
    - [ ] src/newkit_to_annalist_net.sh
    - [ ] src/newkit_to_conina_ubuntu.sh
- [ ] Create and post updated kit download to annalist.net
    - use `src/newkit_to_annalist_net.sh`
- [ ] Test in deployment environment where problem seen?
- [ ] Deploy updated kit on annalist.net
    - ssh to annalist@annalist.net
    - `killall python`
    - `. anenv/bin/activate`
    - `pip uninstall annalist`
    - `pip install /var/www/software/Annalist-0.1.xx.tar.gz --upgrade`
    - `annalist-manager runtests`
    - `. update-run-annalist.sh`
    - `cat annalist.out`
- [ ] Update front page link at annalist.net
    - copy `~annalist/uploads/pages/index.html` to `/var/www`
        cp ~annalist/uploads/pages/index.html /var/www
- [ ] Commit changes
- [ ] Upload to PyPI (see below)
- [ ] Tag release on hotfix branch
    - `git tag -a release-x.y.z<PATCH>`
- [ ] Merge hotfix updates to master
- [ ] Test again on master branch
- [ ] Push master branch, and tags
    - `git push --tags`
- [ ] Merge hotfix updates to develop branch
    - [ ] resolve any conflicts
    - [ ] revert version number (back to odd value)
- [ ] Regenerate test data (e.g. `maketestsitedata.sh`, `makebibtestsitedata.sh` and `makeemptysitedata.sh`)
- [ ] Test again
- [ ] Commit and push changes
- [ ] Post announcement to Google Group, and elsewhere
- [ ] Delete hotfix branch
    - (do this last when all the changes have been checked out.  It further changes are needed, do them on the hotfix branch and re-merge to master and develop)
    - `git branch -d hotfix-x.y.z<PATCH>`

## Build kit and PyPI upload

Local:

    python setup.py clean --all
    python setup.py build
    python setup.py sdist
    python setup.py install

Register with PyPI:

    python setup.py register

Upload to PyPI:

    python setup.py sdist upload

redpajama_set_name: RedPajamaGithub


text:
Bim Bam Boom was a Canadian children's television series which aired on CBC Television between November 18, 1955 and January 13, 1956. The show featured three clowns, named Bim, Bam and Boom, who told fairy tales and performed. The clown Boom was a human actor played by John Allen. Bim and Bam were puppets controlled by Kitty Dutcher and voiced by Rosemary Malkin and Sam Payne.

External links
 Queen's University Directory of CBC Television Series (Bim Bam Boom archived listing link via archive.org)
 Bim Bam Boom at the Canadian Communications Foundation

1955 Canadian television series debuts
1956 Canadian television series endings
CBC Television original programming
1950s Canadian children's television series
Canadian television shows featuring puppetry
Black-and-white Canadian television shows
Television shows filmed in Vancouver
Television shows about clowns


FreeFileSync is a free, open source folder comparison and synchronization software for Windows, Linux, and Mac OS X.
It also works on 64-bit operating systems on all platforms. The program can be installed in two versions: as a standard installer on Windows or as a portable application (no registry entries). Powered by a clean, smooth, intuitive interface, this tool offers a myriad of features for synchronization purposes.
Important: Great news! Starting with version 10 (announced on Jul 16, 2018) FreeFileSync is no longer using third-party bundles or advertisements. It means that the program is clean and we re-listed FreeFileSync with the author permission. We also encourage users to donate to help keep FreeFileSync clean and free.
Those are just a couple of its features (not all), many others are improved and added regularly.
As soon as you install FreeFileSync, you will notice a clear, uncluttered interface. If you never used this program before, you should look at the help section. From the program interface, press the "Help" tab or F1 and the help file will open. The author of this program (Zenju), was kind enough to provide an excellent help file.
At the "Overview" section he made a basic usage map, including the necessary steps to use this tool. I won't cover a basic usage tutorial - as I said, the "Help" file does a great job but here's what the program does - in my vision.
Choose two folders (located on different partitions or devices), and it will compare and synchronize them.
The application allows you to choose between several synchronization settings. Each synchronization variant is briefly described in the settings window. If you need to include or exclude filters go to "Filter files" section.
When you're ready to synchronize files, hit the "Synchronize" button. You can start to compare and synchronize files in a matter of minutes; there's no doubt. "Easy to use" is a concept that can be found at many applications but for FreeFileSync this is just another plus.
The real power of this program lies in its features.
Just a few examples that worth to be mentioned: it can create batch files for automated synchronization, it can copy locked files (using Windows Volume Shadow Copy service), and it can surpass most similar programs such as SyncToy when it comes to speed (performance).
Finally, this software is almost perfect, and the most appropriate ending phrase would be "one of the best backup tools I've ever used!".


Full disclosure: The headline isn't mine. It's the title of the documentary Mary Richards produced in the episode that began the second season of The Mary Tyler Moore Show, which was itself titled The Birds … and … Um … Bees. It came to mind last Saturday during a rainy afternoon on the Yale campus in New Haven when I found myself seeking shelter from the weather in a crowded coffee shop, huddled in a corner with a copy of the Yale Daily News -- the oldest college daily in the country, still published on actual paper.


text:
Q: Display the blank page on the SEARCH TERMS page I can see some search queries on MARKETING, SEO & SEARCH, Search Terms of the admin page. However, the SEARCH TERMS page of frontend displays the blank.
Some people mentioned hat this error happens in version 2.1 even though it works in version 2.0.7.
I appreciate if you give advice or solutions.
Thank you.

A: Appears to be a bug in 2.1. The code is trying to get the "name" of the search term when it should be asking for the "query_text."
You can get it to work by updating the following two files:

File Magento/Search/Block/Term.php.

94. $temp[$term->getName()] = $term;
94. $temp[$term->getData('query_text')] = $term;

95. $termKeys[] = $term->getName();
95. $termKeys[] = $term->getData('query_text');

127. $url->setQueryParam('q', $obj->getName());
127. $url->setQueryParam('q', $obj->getData('query_text'));

File Magento/Search/view/frontend/templates/term.phtml.

16. escapeHtml($_term->getName()) ?>
16. escapeHtml($_term->getData('query_text')) ?>

A: can you provide a link to the site where the search is executed? It will be helpful)
Alos, try to run the search when you logged in, logged out, from the private tab in your browser, etc.

redpajama_set_name: RedPajamaStackExchange


text:
Ransdorp is a village in the province of North Holland, Netherlands, part of the municipality of Amsterdam. It lies about 7 km northeast of the city centre, in the Landelijk Noord district. Ransdorp is a part of the borough (Dutch: stadsdeel) Amsterdam-Noord and has about 245 inhabitants.

In 1840, the village had 292 inhabitants, living in 44 houses. Ransdorp was a separate municipality until 1921, when it merged with Amsterdam so that the Government of Amsterdam could ensure that the village's infrastructure was well-maintained. The municipality also covered the villages of Durgerdam, Holysloot and Schellingwoude. The village has an exceptional number of buildings labelled as Rijksmonumenten; its church is the best known. The village's main sources of revenue are dairy farming and tourism. Ransdorp is served by public bus lines operated by the Gemeentelijk Vervoerbedrijf (GVB).

Ransdorp was visited by the American reality television show The Amazing Race 12 in 2007. Contestants had to perform a traditional fierljeppen river vault before completing the "leg" at a local yacht club in Durgerdam. The show returned to the village five years later on The Amazing Race 21 to perform a "Switchback" of fierljeppen task again before ending the leg near the church of Ransdorp. In 2016, the village was featured on the Chinese reality show Race the World as the site of a geese herding task. In 2020, the village appeared on the Israeli reality show HaMerotz LaMillion 8 as the site of a fierljeppen task.

References

External links

Former municipalities of North Holland
Neighbourhoods of Amsterdam
Amsterdam-Noord


text:
const expect   = require('chai').expect;
const request  = require('supertest');
const parse    = require('csv-parse');
const settings = require('../../../settings');
const defVersion = "1.0";

module.exports = (server, version=defVersion) => {

  const fields = ['gender', 'name', 'location', 'email',
    'login', 'registered', 'dob', 'phone',
    'cell', 'id', 'picture', 'nat'
  ];

  let nats = [
    'AU', 'BR', 'CA', 'CH',
    'DE', 'DK', 'ES', 'FI',
    'FR', 'GB', 'IE', 'IR',
    'NL', 'NZ', 'TR', 'US'
  ];

  // Include NO nat for versions 1.2+
  if (version !== "1.0" && version !== "1.1") {
    nats.push('NO');
  }

  // Include fields
  describe(`Include fields`, () => {
    for (let i = 0; i < 5; i++) {
      let copy = [...fields];
      let chosen = new Array(5).fill().map(i => {
        return copy.splice(Math.floor(Math.random() * copy.length), 1)[0];
      }).sort().join(',');

      it(`should return only included fields [check ${i+1} of 5] using fields (${chosen})`, async () => {
        const res = await request(server).get(`/api/${version}?inc=${chosen}`);
        const result = JSON.parse(res.text);
        expect(Object.keys(result.results[0]).sort().join(',')).to.equal(chosen);
      });
    }
  });

  // Exclude fields
  describe(`Exclude fields`, () => {
    for (let i = 0; i < 5; i++) {
      let copy = [...fields];
      let chosen = new Array(5).fill().map(i => {
        return copy.splice(Math.floor(Math.random() * copy.length), 1)[0];
      }).sort().join(',');

      it(`should return all fields except excluded fields [check ${i+1} of 5] using fields (${chosen})`, async () => {
        const res = await request(server).get(`/api/${version}?exc=${chosen}`);
        const result = JSON.parse(res.text);
        expect(Object.keys(result.results[0]).sort().join(',')).to.equal(copy.sort().toString(','));
      });
    }
  });

  // Request multiple nats
  describe(`Request multiple nats`, () => {
    for (let i = 0; i < 5; i++) {
      let copy = [...nats];
      let chosen = new Array(3).fill().map(i => {
        return copy.splice(Math.floor(Math.random() * copy.length), 1)[0];
      }).sort().join(',');

      it(`should return multiple nats [check ${i+1} of 5] using nats (${chosen})`, async () => {
        const res = await request(server).get(`/api/${version}?nat=${chosen}&results=100`);
        const result = JSON.parse(res.text);
        let resultNats = result.results.reduce((acc,cur) => {
          acc.add(cur.nat)
          return acc;
        }, new Set());
        expect([...resultNats].sort().join(',')).to.equal(chosen);
      });
    }
  });

  // Pretty json
  describe(`Pretty JSON format`, () => {
    it(`should return output in nicely formatted json`, async () => {
      const res = await request(server).get(`/api/${version}?fmt=pretty`);
      expect(res.text.slice(0, 22)).to.equal(`{\n  \"results\": [\n    {`);
    });
  });

  // Fetch limits
  describe(`Fetch Limits`, () => {
    it(`should fetch 5,000 users in 1 request`, async () => {
      const res = await request(server).get(`/api/${version}?results=5000`);
      const result = JSON.parse(res.text);
      expect(result.results.length).to.equal(5000);
    });

    it(`should return 1 request when more than 5,000 users are requested`, async () => {
      const res = await request(server).get(`/api/${version}?results=5001`);
      const result = JSON.parse(res.text);
      expect(result.results.length).to.equal(1);
    });
  });

  describe('Format parameter testing', () => {
    it('should return JSON when JSON format specified', async () => {
      const res = await request(server).get(`/api/?fmt=json`);
      const result = res.text;
      try {
        JSON.parse(result);
      } catch(e) {
        throw e;
      }
    });

    it('should return JSON when prettyjson format specified', async () => {
      const res = await request(server).get(`/api/?fmt=prettyjson`);
      const result = res.text;
      try {
        JSON.parse(result);
      } catch(e) {
        throw e;
      }
    });

    it('should return JSON when pretty format specified', async () => {
      const res = await request(server).get(`/api/?fmt=pretty`);
      const result = res.text;
      try {
        JSON.parse(result);
      } catch(e) {
        throw e;
      }
    });

    it('should return JSON when invalid format specified', async () => {
      const res = await request(server).get(`/api/?fmt=blahblah`);
      const result = res.text;
      try {
        JSON.parse(result);
      } catch(e) {
        throw e;
      }
    });

    it('should return CSV when CSV format specified', async () => {
      const res = await request(server).get(`/api/?fmt=csv`);
      const result = res.text;
      parse(res.text, (err, text) => {
        if (err) throw err;
      });
    });

    it('should return content type text/xml when XML format specified', async () => {
      const res = await request(server).get(`/api/?fmt=xml`);
      expect(res.header['content-type']).to.equal("text/xml; charset=utf-8");
    });

    it('should return content type text/x-yaml when YAML format specified', async () => {
      const res = await request(server).get(`/api/?fmt=yaml`);
      expect(res.header['content-type']).to.equal("text/x-yaml; charset=utf-8");
    });

    it('should return content type text/csv when CSV format specified', async () => {
      const res = await request(server).get(`/api/?fmt=csv`);
      expect(res.header['content-type']).to.equal("text/csv; charset=utf-8");
    });
  });

  // Nat check
  describe(`Nat check`, () => {
    for (let i = 0; i < nats.length; i++) {
      let nat = nats[i];
      it(`should retrieve ${nat} nat when specified`, async () => {
        const res = await request(server).get(`/api/${version}?nat=${nat}`);
        const result = JSON.parse(res.text);
        expect(result.results[0].nat).to.equal(nat);
      });
    }

    // Special Lego check
    it(`should retrieve lego nat when lego parameter is specified`, async () => {
      const res = await request(server).get(`/api/${version}?lego`);
      const result = JSON.parse(res.text);
      expect(result.results[0].nat).to.equal('LEGO');
    });

    // Invalid nat check
    it(`should retrieve random nat when invalid nat is specified`, async () => {
      const res = await request(server).get(`/api/${version}?nat=blah`);
      const result = JSON.parse(res.text);
      expect(nats).to.include(result.results[0].nat);
    });
  });
};


text:
Q: Using C++ DLLs in a browser We have a .DLL library generated from a huge C++ project. We would like to expose it over the web.
The first attempt was to use Emscripten. But I guess based on This Answer, not every library could be linked with JavaScript.
What we would like to have is a client-side application. The reason is security and performance. The application is highly interactive which makes it almost impossible to implement in a client-server fashion. The security reason is that as a part of interactions users can access the underlying hardware resources, thus hosting it on a server is risky.
Is there any way to make this happen? I just want to know if there are other options available, or whether a solution using Emscripten is available.
P.S: We have the source code for our C++ library, but the code itself uses many other libraries.

A: One possible approach would be to expose the API from your DLL to Node.js via C++ bindings. Consider the following example from the documentation:
#include <node.h>

using namespace v8;

void Method(const FunctionCallbackInfo<Value>& args) {
  Isolate* isolate = Isolate::GetCurrent();
  HandleScope scope(isolate);
  args.GetReturnValue().Set(String::NewFromUtf8(isolate, "world"));
}

void init(Handle<Object> exports) {
  NODE_SET_METHOD(exports, "hello", Method);
}

NODE_MODULE(addon, init)

Basically in the init function you can expose all the entry functions to your DLL which can further either return primitive types like strings, numbers etc. or even wrapped C++ objects (however so far I've been sticking with the primitives to escape modifying the existing code, as long as you stick with primitive types you just need to translate the C++ types to v8). So this C++ code would yo allow to do the following from javascript:
var object = require('./build/Release/addon');
console.log(addon.hello()); // 'world'

Since you need to communicate with some other web based application then your node.js code would most likely bind to a port on the same machine and process ajax requests or web socket calls from the application you are integrating with and then forward what is needed to the functions exposed from the DLL.


Here at Alderwood, we are actively involved with the TFL STARS programme.
STARS is TfL's accreditation scheme for schools and inspires pupils to travel to school actively, safely and responsibly by promoting and encouraging healthier travel behaviours and habits such as walking, biking, scooting and cycling.
The JTAs at Alderwood are passionate about their roles and have been working hard to promote active travel for our pupils and we are pleased to announce that we have just been awarded with Silver level Accreditation from TFL.
Watch this space for upcoming events this academic year. Gold, here we come!


text:
<?php

namespace AppBundle\Entity\Behavior;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Serializer\Annotation\Groups;

trait EnablableTrait
{
    /**
     * @var bool
     *
     * @Groups({"read"})
     *
     * @ORM\Column(type="boolean")
     */
    protected $enabled = false;

    /**
     * @return bool
     */
    public function isEnabled(): bool
    {
        return $this->enabled;
    }

    /**
     * @param bool $enabled
     *
     * @return $this
     */
    public function setEnabled(bool $enabled)
    {
        $this->enabled = $enabled;

        return $this;
    }
}


Grating coupled surface emitting lasers (GCSELs) are in- plane lasers monolithically integrated with grating outcouplers for beam shaping and image generation. Highly directional and efficient outcouplers can be formed using various grating and waveguide geometries. Beam shaping features are incorporated using a computer generated waveguide hologram that allows the wavefront of the emitted light to be tailored for the required beam shape. Requirements on the integrated in-plane laser include a wide and spatially coherent guided wave with a minimum of wavefront distortion and a stable emission wavelength. Promising lasers for this purpose are master-oscillator power-amplifier configurations as well as various kinds of unstable resonator designs. Here we present results from modeling and experiments on the key elements of GCSELs as well as fully integrated GCSELs of linear and circular geometries.


This tool is part of glusterfs(8) package, which is used to mount using GlusterFS native binary.
mount.glusterfs is meant to be used by the mount(8) command for mounting native GlusterFS client. This subcommand, however, can also be used as a standalone command with limited functionality.
Cluster Filesystem 14 September 2013 Red Hat, Inc.


text:
Richardson Helped Mantle Fill Void - Chautauqua Sports Hall of Fame
by Scott Kindberg
In his final hours, Mickey Mantle filled a void that home runs, World Series titles or a worldly lifestyle could not, according to a former teammate.
He became a Christian.
Bobby Richardson, speaking at the Chautauqua Region Fellowship of Christian Athletes dinner Monday night at First Covenant Church in Jamestown, played with Mantle for 10 ½ years on the New York Yankees. He recounted to a near-capacity crowd in the church's fellowship hall, some of the poignant moments he shared with Mantle last summer prior to the Hall-of-Famer's death.
The first of two meetings occurred in July at the Major League All-Star Game, which was played in Arlington, Texas, just outside of Dallas, where Mantle made his home.
Richardson was at the All-Star Game to promote the baseball Assistance Team, an organization which benefits retired players in need. Mantle, who was recovering from a liver transplant a month earlier, called Richardson at 5:30 one morning wanting Richardson, a life-long Christian, to pray for him.
"I remember he said, "I'm really discouraged. Can you encourage me?" Richardson recalled.
So Richardson offered Mantle some comfort by reading him a Bible verse from Philippians, Chapter 4.
"Delight yourself in the Lord," Richardson told Mantle. "Find your joy in Him at all times. Never forget His nearness…Tell God in detail your problems and anxieties. And the promise of the peace of God which passes all understanding, shall keep our hearts and minds as we rest in Christ Jesus."
Richardson didn't see Mantle again until mid-August. By then, "The Mick" was waging a losing battle with cancer. But when Richardson and his wife Betsy visited their friend at Baylor Medical Center, Mantle told them: "I want you to know I've become a Christian."
Richardson recalled how Mantle got out of bed and eased himself, IVs and all, into a recliner.
"Mickey, if God were here today and He should ask why should I let you into My heaven, what would you say?" Richardson recalled his wife asking Mantle. "He thought for a moment and he said, 'Betsy, we're talking about God,' and she said, 'That's right.' He waited a moment or two and then he quoted the verse: "For God so loved the world that he gave His only begotten Son and that whosoever believeth in Him, should not perish, but have everlasting life."
"He had a real peace in those last days," Richardson continued. "The next day he couldn't communicate anymore and he died the following day."
Richardson was asked to speak at Mantle's funeral where he shared the poem, "God's Hall of Fame."
It reads in part: "This crowd on earth may soon forget the heroes of the past. They cheer like mad until you fall and that's how long you last. But in God's Hall of Fame, by just believing in His Son, inscribed you'll find your name. I tell you friend I wouldn't trade my name, however small, that's written there beyond the stars in that celestial hall. For every famous name on earth or glory that they share, I'd rather be an unknown here and have my name up there."
Richardson said he has been challenged in three different areas as he watched Mantle search for, and eventually find, a way to fill the emptiness he felt in his heart.
The three challenges, Richardson said are:
Recognize it is important how we live.
Make sure we don't portray one thing on the outside and see it break down at home where our true nature is revealed.
Don't have in our lives a religion or a philosophy that we can read about in a book. Rather, make it something real in our lives that we know won't fail.
The dinner was one of several Richardson is speaking at this week as the Fellowship of Christian Athletes seeks to get its message out in Western New York.
According to the organization's literature, FCA is a movement "to present to athletes and coaches, and all whom they influence, the challenge and adventure of receiving Jesus Christ as Savior and Lord, serving Him in their relationships and in fellowship of the church."
Prior to Richardson's talk, Fran Sirianni of West Ellicott received a plaque for his continued work with FCA. Sirianni, a teacher and coach at Southwestern Central School, has had a FCA chapter since 1979, the longest of any chapter in New York State.


Some of our recent library acquisitions are listed below. Click on a book cover for more information.
Seventeen new books have been added to the VQG Library over the summer. For more information see the New Books web page.
Nineteen new books have been added to the VQG Library over the summer. They include many member requests and will be available on a special table at the September meeting. For more information see the New Books web page.


text:
National Museum of Art, Krakow
The National Museum in Kraków, popularly abbreviated as MNK, established in 1879, is the main branch of Poland's National Museum, which has several independent branches with permanent collections around the country.
3 Maja 1
The Museum consists of 21 departments which are divided by art period; 11 galleries, 2 libraries, and 12 conservation workshops. It holds some 780,000 art objects, spanning from classical archeology to modern art, with special focus on Polish painting.
Kraków National Museum was first housed at the upper floor of the Renaissance Sukiennice building located at the Main Square in the Kraków Old Town, now home to one of its most popular divisions in the city. The construction of the Museum's contemporary New Main Building located at 3 Maja Street, started in 1934, but was interrupted by World War II. It was fully completed only in 1992, after the collapse of the Soviet empire. The collections – consisting of several hundred thousand items in total – are kept in big part in the Main Building where the administrative offices are located, but also in the nine of its divisions around the city.
During World War II the collection was looted by the German fascist invaders. After the war the Polish Government retrieved many of the works seized by the Germans. Still more than 1,000 artifacts are missing, including The Fight Between Carnival and Lent (which Polish authorities allege was stolen in 1939 by German invaders, reportedly taken away and sold in Vienna, and currently resides in the Kunsthistorisches Museum there) by Pieter Bruegel the Elder (donated to the Museum in 1937 by Stanisław Ursyn-Rusiecki) and priceless others.
The Main Building features the newly renovated upper Gallery of the Twentieth Century Polish Art, one of the largest galleries of painting and sculpture from the late 19th century on in Poland, with most celebrated artwork by Jacek Malczewski, Leon Wyczółkowski, Włodzimierz Tetmajer; an extensive collection of works by Stanisław Wyspiański; and also, works by artists of the interwar and postwar periods: the Polish cubists, expressionists, colorists, the avant-garde of the 1930s, and representatives of New Directions from the 1960s.
The Main Building has a vast display of militaria ranging from 12th to 20th century. The Museum holdings also include a collection of Western and Eastern European weapons. The militaria are presented at the "Arms and Colours" exhibition.
Decorative arts and crafts are exhibited in the Decorative Arts and Crafts Gallery, with gold, silver and precious stone artifacts ranging from twelfth to eighteenth century; copper, pewter and iron objects, such as bowls and wrought iron chests; old furniture, musical instruments, clocks, ceramics and glass, notably stained glass from the churches of Kraków. The Museum has one of Poland's largest collections of Polish and Oriental antique rugs and carpets, as well as a collection of sixteenth to twentieth century costumes.
Contacts & Details
sun 10:00 am – 4:00 pm; tue, wed, thu, fri, sat 10:00 am – 6:00 pm
CLOSING DAYS:
T: +48 12 433 55 00; +48 12 433 54 44
M: dyrekcja@mnk.pl; rezerwacja@mnk.pl; internet@mnk.pl
W: Website
My Art Guides Art Spaces' Dashboard
Update your art space's profile with all current and upcoming shows and keep yourselves on the map


Open HRMS recognizes the importance of partnering to win new business and deepen penetration in existing accounts. If you partner with Open HRMS, you become the part of a driving force that missions digital transformation across a vast number of industries in various domain, helping countless businesses.
Through our partnership network, you can build and develop Open HRMS to address more of its efficiencies. You can learn how you can expand the market opportunities via adding your expertise and experience to our partner ecosystem.
Train their staff by following Open HRMS functional training sessions.
Become a Certified Open HRMS Partner.
Have a fully functional company website where Open HRMS is listed as your official partner with logo.
Getting access to one-week functional training from Open HRMS Functional Experts. Helps in exploring more on the effectiveness of application and understanding of the user level configurations in an efficient manner.
Permission to use Open HRMS logo.
The label firmly establishes your brand. Establishes you as a leading enabler of digital transformation for businesses with Open HRMS. Creates a sense of value feeling and trust among your clients.
Listed as an official partner in Open HRMS Partners page.
Visibility and recognition by being listed as an official partner of Open HRMS. Your brand will be promoted across the ecosystem to improve your revenues and fuel your growth.
Open HRMS will offer their partners 10 % discount for every partnership services. The discount will run up to a period of six months from the date of partnership.
Open HRMS is a vast application with infinite possibilities. It is embedded with numerous localization features creating opportunities for new innovations. Open HRMS partner can publish their Apps AS Open HRMS Modules in Odoo Apps, attaining the status contributor in Odoo Apps.
Open HRMS partnership will benefit its partners with Open HRMS marketing materials like posters, information videos and other credentials for conductive effective marketing.
Get access to training sessions and guides that are updated regularly. Experience the support, collaboration, and encouragement of Open HRMS group. Get access to new version releases and more.
We keep a direct relationship with the partner and equip them with easy issue-resolving metrics. Our official partner will get an easy access to information and solution with regard to software malfunctioning, bug fixing, and other support services.


Esprit isn't letting anything go to waste. The Hong Kong-based apparel brand has released a collection of casual and denim pieces derived from its own manufacturing off-cuts. The "Recycled Collection by Esprit," unveiled on Thursday, uses 74 percent less water and 18 percent less electricity than comparative garments, according to the company, a move that results in roughly 54 percent fewer greenhouse-gas emissions per item. Designed in collaboration with Janko Lam, winner of the 2011 EcoChic Design Award, the line is part of Esprit's overall goal to reduce textile waste and promote sustainable production in one of the garment capitals of the world.
At least 22 percent of Esprit's recycled denim uses cotton gathered from the label's own production waste. Likewise, its T-shirts comprise 35 percent recycled cotton, with recycled PET making up the remaining 65 percent.
Because nothing was re-dyed, the fabrics offer a pastiche of colors that follow the original off-cuts.
During production, Esprit's supply chain was assessed and audited by several third-party organizations, including Redress, organizer of the EcoChic Design Awards; Control Union, which specializes in the Global Organic Textile Standard; and Reset Carbon, a carbon-management firm.
The Recycled Collection by Esprit will be available at the company's Tsim Sha Tsui flagship store and select Esprit boutiques starting May 8.


The Ofqual conference took place on 8 December 2015 at the Vox in Birmingham.
In this session Rosemary described the procedures and application of our regulatory processes. The session provided an opportunity for delegates to meet Rosemary's team and discuss how they could expect Ofqual to conduct itself with regard to audit and compliance with Ofqual's regulatory conditions.
In this session Bryan explained Ofqual's approach to risk. We described the indicators that we use to measure system-level risks and how that drives our audit process, before exploring how individual awarding organisations view, identify and manage risks in relation to their qualifications and regulatory obligations.
This interactive session gave delegates the opportunity to express their views on how the market is evolving to meet changing demands and discuss whether there are actions Ofqual can take to reduce regulatory barriers to awarding organisation innovation. Ken Young, Director at the Manufacturing Technology Centre, spoke about his experiences of qualification innovation.
This session followed on from the theme started in "Audit and Compliance". Matthew explained what can be expected when we believe an awarding organisation may have failed to comply with the conditions. He also described Ofqual's current enforcement powers, how we use them and how our use may evolve in the future.
This session was aimed at those who were either new to awarding organisations or who wanted a refresher on our conditions and guidance. Julie Outlined Ofqual's regulatory framework and described what we expect from those we regulate. She discussed our regulatory strategy and how we have reorganised our structure to better support our goals and objectives.
This interactive session allowed delegates to discuss a series of scenarios to help illustrate how equality factors should be considered throughout the lifecycle of a qualification. Julie set out the need to properly take equalities into account in order to comply with the law as well as our conditions.


text:
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">DensitySplitInL-Release</string>
</resources>


Ambassador Wolfgang Ischinger is a German diplomat and was the German Ambassador to the United Kingdom from 2006 to May 2008. From 2001 to 2006, he was the German Ambassador to the United States and from 1998 to 2001 he served as the German Deputy Foreign Minister.
Ambassador Ischinger has been the Chairman of the Munich Security Conference since 2008, and served as Global Head of Government Relations of Allianz SE from 2008 to 2014. He serves on the Supervisory Board of Allianz Deutschland AG, on the European Advisory Board of Investcorp, and on the governing board of the Stockholm International Peace Research Institute (SIPRI).
Since December 2009, he has been co-chair of the Euro-Atlantic Security Initiative (EASI) of the Carnegie Endowment for International Peace. He is also a member of the European Council on Foreign Affairs (ECFR) and the Global Zero Commission, amongst others. In 2015, he was named Senior Professor for Security Policy and Diplomatic Practice at the Hertie School of Governance, Berlin.
Ambassador Ischinger is a member of the Executive Board for the European Leadership Network (ELN).
Ahead of Theresa May's speech at the Munich Security Conference, ELN members Wolfgang Ischinger and Stefano Stefanini argue that EU-UK cooperation on security and foreign policy is indispensable to both parties and must continue irrespective of Brexit.


If you've come to functional programming from an object oriented background, you may have found it hard to grok state in a functional system. You're accustomed to creating and manipulating objects, but in functional languages everything is immutable. Often the answer to this problem is to use processes to store state. Elixir has an Agent which is a simple construct for storing state in processes. Let's see if we can roll our own AgentSmith.
When you are first introduced to agents, they appear somewhat magical. You'll think "If everything is immutable, how are agents mutated?" The key is: processes are mutable. This extends beyond Elixir. Processes consume memory, and this memory can grow as they allocate space for variables and such. By exploiting this quality of processes, they can be used to track changing state in an otherwise immutable sea of values.
Let's remember how agents work in Elixir.
A link is started to an agent, and the agent itself is just a process (see, it's a PID). Then using update and get you may provide a function used to interact with the value stored in the agent. Keep in mind there is no constraint on the type of data that may be stored in an agent. You control how it's changed and retrieved.
With this basic understanding of agents in Elixir, you're ready to implement it yourself. It shall be known as AgentSmith, and it's not as scary as it sounds.
The first thing you need is an AgentSmith.start_link/1 function. You know that an agent is just a process, so spawn should come to mind. In particular spawn_link as it's nice for errors to propagate to the parent process.
Focus on the spawn_link call for a moment. This creates a new process executing AgentSmith.loop/1 and passing in the argument list [value]. While a process is created at this point, it doesn't do anything. It exits as soon as loop returns.
In order to interact with this process, it must receive messages.
Now the agent smith process will wait for a message to be sent to it. It's time to implement the get message.
Now the "get" message responds by sending a message back with the value to the caller. The caller receives the value and it's implicitly returned.
One thing's missing here. After a "get" message is received, the agent process exits. This is because there is no implicit looping in a receive block. Keeping the agent going is as simple as recursing on the loop with the agent's value.
Getting the value from an agent is fine and all, but state isn't being manipulated. Let's implement the "update" message.
The AgentSmith.update/2 implementation is surprisingly simple. The magic is in the recursion. Since the func argument takes care of performing the update, it's sent to the agent and used to update the value passed to the next recursion. Now the next "get" request will be processed by a call to AgentSmith.loop/1 with the updated value.
That's it? YES! The state is represented as a series of translations applied to the original value passed to the agent. Let's try it out.
The interface isn't exactly like Elixir's Agent, but it gets the point across. For good measure, here's the full implementation.
This is certainly overly simplified in comparison to Elixir's Agent (which uses GenServer), but fundamentally it's a great illustration of how to pull off state in a functional system using processes. What do you think??