text:
About Revenant
Open-Access and Copyright
Guest Editing Opportunities
Witches, 'bitches' or feminist trailblazers? The Witch in Folk Horror Cinema.
Chloé Germaine Buckley , Manchester Metropolitan University
Gothic Feminisms: Guest Editors Frances Kamm and Tamar Jeffers McDonald . Pages 22 – 42 Download as PDF
Witches have a long history in horror cinema but their status (feminist heroine or patriarchal monster?) continues to be the subject of critical debate. Barbara Creed's seminal analysis notes that the witch is invariably represented as an old, ugly, crone. Elsewhere, Linda Williams's suggestion that women and monsters share an affinity in horror film and pose a threat to vulnerable male power, has lead recent critics to consider depictions of the witch as offering a challenge to patriarchy. This article considers the genealogy of the witch in cinema through her depiction in folk horror, culminating in an analysis of Robert Eggers's 2016 film, The Witch. Examining the debate around the feminist potential of the witch, the article concludes that she offers critics and viewers of horror cinema a troubling ambiguity that serves neither liberal nor conservative politics. The ambiguity of the witch means she can pressed in the service of competing discourses. Moreover, we cannot read the image of the witch independent of her origins in Early Modern history, nor of political and cultural contexts of these early decades of the twenty-first century. These contexts include the rise of the 'Men's Rights' movement, a post-feminist backlash against women in authority, the creation of mainstream media platforms for misogynist ideas and rising economic and social inequalities that have disproportionately affected women. In these contexts, the figure of the witch looms large and ambiguity in itself is not necessarily subversion. As one reviewer of The Witch notes, the audience will see what they want to see.
Witches, 'bitches' or feminist trailblazers? The Witch in Folk Horror Cinema
Chloé Germaine Buckley
This article explores horror cinema's representation of the witch in order to address issues pertinent to feminist criticism and politics. I argue that cultural figurations important in feminist discourse are riven by deep ambivalences that complicate attempts to co-opt them for political utility. The female witch is one such figuration. Cinematic representations of the female witch have their origins in classical mythology and the folklore surrounding the witch trials of the Early Modern period, as well as their literary and cultural afterlives. Horror cinema can subvert older ideas about witches, but it also reveals their continued power. Indeed, horror cinema has forged the witch into a deeply ambiguous figure that proves problematic for feminism and its project to subvert or otherwise destabilize misogynist symbols.
Where feminist analysis of horror cinema (both within and without the academy) focus on women as monsters, it often attempts to determine whether such representations underwrite or undermine patriarchal values and constructions.[1] These readings are fraught with difficulty. In her analysis of Rosemary's Baby (1968) and Aliens (1986), for example, Rhona Berenstein notes the potentially empowering gesture of aligning the woman with the monster, but also recognizes that such images signal patriarchal anxieties about female power (1990: 67). She argues that horror films are 'balanced along a tightrope which divides a progressive from a reactionary reading of them' (68). 'Tightrope' is an evocative image that echoes Mary Russo's formulation of the 'female grotesque' as a form of precarious aerial acrobatics, with the potential of empowering flight as well as a disastrous fall (1990: 30, 44). This notion of the female grotesque in key to my analysis. Philip Thomson defines the grotesque as an 'unresolved clash of incompatibles in work and response' (1972: 27). In Russo's feminist reading of the grotesque, this undecidability is political and aesthetic, forging the female grotesque into a 'painfully conflictual' figuration (1994: 159). Though hailing from the 1990s, Berenstein's insights into women in horror and Russo's theorisation of the female grotesque are relevant to modern cinema and the feminist commentary that it provokes. Indeed, the early decades of the 21st century have seen the rise of a post-feminist backlash against women in authority along with rising economic and social inequalities that have disproportionately affected women. In these contexts, the figure of the witch looms large. The term is deployed as a jokey but nonetheless insulting epithet as well as a more serious accusation. Whilst playful internet memes depicted U.K. Prime Minister Theresa May in a witch's hat, right wing commentators in the U.S. wondered aloud about whether Presidential Candidate, Hillary Clinton, dabbled in the dark arts [Fig 1]. As Madeline Miller notes, the stereotype of the witch persists most visibly in popular culture as an attack on powerful women (2018).
As well as appearing in popular political discourse, the witch has enjoyed a resurgence in horror cinema. The Love Witch (2016), The Neon Demon (2016) and The Witch (2015) all revise the witch motif from older horror cinema and have prompted a plethora of reviews proclaiming the films' feminist credentials.[2] Of these, Robert Eggers' The Witch best epitomizes the ambiguity of the witch through its revival of the 'folk horror' subgenre. The term 'folk horror' originates with British director, Piers Haggard, in an interview for Fangoria magazine, as a description for the 1971 film, Blood on Satan's Claw. The term entered critical discourse through a 2010 BBC4 documentary fronted by writer and actor, Mark Gatiss. The documentary uses 'folk horror' to describe a 'loose collection' of films from the 1960s and 1970s that share a 'common obsession with the British landscape, its folklore and superstitions' (Jardine 2010). The term has since been the subject of academic criticism, notably in Adam Scovell's Hours Dreadful and Things Strange (2017). Scovell argues that Haggard's film, which depicts a satanic witch cult in 17th century rural England, forms one third of a trilogy of films that also includes Witchfinder General (1968) and The Wicker Man (1973). These films epitomize folk horror in the period, which was influenced by the British counter-culture movement (2017: 13). Counter-culture trends included a reversion to older ideas as well as agitation for social freedoms, prompting interest in folk music, folklore, astrology and paganism, all of which found expression in folk horror cinema (Scovell 2017: 13). Indeed, Scovell suggests that witches have been central to the folk horror tradition since its inception, noting their depiction in early films, such as the Swedish-Danish documentary-style silent horror Häxan: Witchcraft through the Ages (1922), through to found-footage modern classic, The Blair Witch Project (1999) (2017: 118).
Though other forms of horror cinema use the figure of the witch, it is folk horror that has made a virtue of her ambiguity due in part to the form's uneasy relationship with counter-cultural discourse. Barbara Creed notes that the witch in horror film is 'invariably represented as an old, ugly crone […] capable of monstrous acts' (1993: 2). This 'incontestably monstrous role' for women can be seen in abject depictions of witches throughout the 20th century in films such as Black Sunday (1960), Suspiria (1977), Inferno (1980) and The Evil Dead (1981) (Creed 1993: 73, 77). However, critical responses to seemingly 'counter-cultural' folk horror films of the late 1960s and early 1970s reveal a more ambivalent attitude towards the witch. For example, Marcus Harmes argues that Blood on Satan's Claw (1971) and The Wicker Man (1973) reinforce the patriarchal insistence on 'the epistemic control of women by men' (2013: 65) whilst Brigid Cherry argues that The Wicker Man depicts empowered neo-Pagan 'Wicca Women' with whom female viewers can identify (2006: 123). Drawing on this ambiguous tradition, The Witch does little to stabilize oppositional readings. Indeed, the film is shot through with ambiguity from the level of narrative causation to the level of interpretation. As one reviewer notes, 'the audience will see in it what they want to see' (Kermode 2016). Throughout the film, the witch figures as a female grotesque in terms described by Russo: a dangerously precarious symbol that, at one turn of the tightrope, seems to subvert patriarchal ideology, and, at another, reinforces it.
Gothic and horror have always refused the role of political utility and its monsters do not act as representatives for either the right or the left of politics.[3] However, given the current lurch to the right in Western politics and the concomitant rise of anti-feminist sentiments, the ambiguity of the witch in Eggers' movie and beyond is perhaps something of which to be wary. Though she seems to be a powerful figure for feminists, the witch in horror cinema continues to signal her origins as a figure used to delegitimise powerful women. In what follows, then, I explore links between fictional representations of the witch and witch imagery outside fictional contexts, linking folk horror cinema to classical mythology and early modern folklore in order to caution against overly optimistic readings of the witch in contemporary horror cinema.
Origins: Folklore, Mythology, Horror
Contemporary cinematic depictions of the witch acknowledge a much older stereotype, one that emerged in Early Modern Europe. As Ronald Hutton's historical study shows, the witch trials of this period created an enduring stereotype: the cannibalistic, murderous and satanic witch (2017). This stereotype emerged from the blending of multiple belief systems and myths, creating an image that spread geographically and endured through the ages. Hutton remarks, 'across the world, witches have been regarded with loathing and horror, and associated with generally antisocial attitudes and with evil forces' (2017: 21). The witch of horror cinema echoes many of the facets of this early stereotype. Hutton's analysis of documents from the earliest witch trials, which occurred between 1426 and 1448, reveal elements that endure in the stereotype of the witch to this day: the theft and murder of infants; the use of poisons and potions to kill adults; the ability to enter a home through closed doors and windows; gaining access to homes in the form of animals; sucking the blood or eating the flesh of infants; anointing themselves or their brooms with the blood or flesh of infants to achieve flight; and riding demons in the form of animals (Hutton 2017: 170-1). These elements of the stereotype were strengthened by confessions extracted under torture, and were then exported, through written accounts and folklore, to other regions where similar ideas and a disposition to use the figure of the witch as a scapegoat already existed. The stereotype that crystallized during this Early Modern period in Europe comprised a new synthesis of older elements – some of which dated back to classical myth – but it was presented as 'one known since ancient times' (Hutton 2017: 181).
In cinema, the resurgence of a threat from 'ancient times' is key to the folk horror genre. Adam Scovell's formulation of folk horror suggests the genre combines a terrifying treatment of landscape with a sense of isolation, from which develops a skewed belief system or moral code (2017: 17-19). In early examples such as Witchfinder General and Blood on Satan's Claw, Scovell suggests that folk horror depicts a violent resurgence of misogynist superstitions in its evocation of witchcraft in the 17th century. Though Scovell argues that films like Witchfinder General confront viewers with the misogyny of their folkloric traditions, such misogyny is also shown to be based in 'truth'. In Blood on Satan's Claw, for example, the evil force is uncovered from within the landscape, taking possession of the female character, Angel Blake. Here, the evil associated with witchcraft appears in the narrative as essential, not discursively constructed (19, 24). In Eggers' U.S revision of the folk horror genre, evil again emerges from the landscape, from deep within the ancient woods that Puritan settlers cannot tame. This appeal to Puritan mythology evokes a gendered nature/culture divide foundational to Western thought, and in so doing, gestures to a misogynist figuration of the 'female grotesque' identified by Russo. Russo argues that the witch or crone is one example of a grotesque aesthetic that draws on 'archaic tropes' of the natural, 'primal' female body and thus places terror and revulsion 'on the side of the feminine' (1994: 2-3).
Such representations of a misogynist female grotesque can be seen in depictions of witchcraft outside folk horror, too. For example, Creed argues that Carrie (1976) links menstrual blood to the possession of supernatural powers, asserting that the film 'plays on the debase meaning of […] blood in order to horrify modern audiences; in so doing it also perpetuates negative views about women and menstruation' (1993: 79-80). Though many have repurposed Creed's 'monstrous feminine' as a feminist concept, Creed asserts that the association of woman with the abject is 'a construct of patriarchal ideology' and that the 'monstrous' woman of the horror film is 'a function of the ideological project […] designed to perpetuate the belief that woman's monstrous nature is inextricably bound up with her difference as man's sexual other' (83). Russo offers a similar warning about the image of the 'female grotesque'. Though it has feminist potential, evocations of the female grotesque can all too easily slide into misogyny in their association of 'woman' with the 'visceral detritus of the body' (1994: 2). Berenstein, too, notes a reinforcement of the patriarchal culture/nature divide in Rosemary's Baby (1990: 63). Though not folk horror, this film draws directly on Early Modern material, including the Compendium Maleficarium (1626), in its depiction of the older woman, Minnie Castavet, as a witch-cum-midwife, laughable as well as horrifying in her grotesquerie. Ultimately, though, Minnie transfers her power to the male members of the coven, her nefarious skills in herblore surpassed by a satanic physician posing as Rosemary's doctor.
The power shifts in Rosemary's Baby highlight the gendered nature of witch stereotypes dating to the Early Modern period. The male 'witches' in the film, including Dr Sapirstein and Adrian Mercado, evoke the image of the ceremonial magician, which was distinct from and developed along a different trajectory to the stereotype of the satanic witch (Hutton 2017: 74-95). Norman Cohn likewise suggests that 'ceremonial magic had nothing to do with witchcraft because the former was mostly the preserve of men, who sought to control demons, while the latter was mostly that of women, who were servants and allies to them' (1993: 102). This gendered distinction in the cultural figuration of the witch works to undercut notions of empowerment. Thus, both mainstream horror and folk horror draw and also develop the Early Modern stereotype of the witch through figurations scholars have variously identified as the 'monstrous feminine' and 'female grotesque', developing a clearly gendered representation emphasizing woman's otherness.
Feminist revisions of the Early Modern witch myth have also informed horror cinema, notably Robin Hardy's The Wicker Man. Yet these feminist revisions are themselves fraught with ambiguities. The Wicker Man, for example, plays with the revisionist idea that persecuted witches were not followers of Satan, but worshippers of an ancient, female-centric pagan religion. The film's anti-hero, Lord Summerisle, played by Christopher Lee as a sympathetic and charismatic version of Adrian Mercado, joyfully resurrects what he calls the 'old ways'. This idea owes much to Margaret Murray's now debunked 1921 study, The Witch Cult in Western Europe, though it falls short of her vision of an ancient matriarchal society. First-wave feminist Murray argued that the Early Modern trials targeted practitioners of an ancient matriarchal fertility religion that predated Christianity. The idea inspired revisionist witch myths at the heart of modern-day 'Wicca' and other forms of neo-paganism that emerged in the counter-culture of the 1960s and 1970s. Gerald Gardner evokes Murray in Witchcraft Today (1954), a foundational text for modern Wicca. Though the 'witch cult thesis' is an evocative and powerful myth for feminism, it might be used by those at opposite ends of the political spectrum. As Hutton argues, 'to conservatives and reactionaries, it was initially a way of defending the trials [whilst] liberals, radicals and feminists could reverse these claims, by portraying the pagan witch religion as […] a joyous, life-affirming, liberating one' (2017: 120). The tenacity and ambiguity of the 'witch cult' myth spills over into horror cinema and its criticism. Even Creed repeats the fallacious witch-cult theory as she laments how the image of the witch came to be manipulated into the monstrous figure of popular horror film (1993: 74-5). As well as being false,[4] the revisionist 'witch cult' myth draws on a very different stereotype to the cannibalistic, satanic witch that emerged in the Early Modern period: that of the 'service magician'. In that the notion of the 'good witch' or 'wise woman' popular in feminist revisionism and neo-paganism draws on this alternative typology of 'service magician', it provides a useful counter-image to the misogynist figuration of the witch. However, this counter-image does little to recuperate the figure of the witch more broadly. As with the image of the ritual magician, the distinction between 'service magician' and 'witch' is gendered in historical archives, with the latter stereotype being associated with and adhering to the idea of an evil woman.[5] Whilst revisionist myths of witchcraft may borrow from the gender-neutral image of the service magician, this conflation of stereotypes does not address the ways in which the figure of the satanic witch provided, in the Early Modern period, 'a kind of human being whom it was not only proper but necessary to hate actively and openly' (Hutton 2017: 23). Arguably, the female witch continues to function as a scapegoat despite the interventions of revisionist storytelling. Certainly, as Creed argues, it is the negative stereotype that tends to perpetuate in horror film.
Key to the development of the evil witch stereotype of the Early Modern period (and beyond) was 'a strong distrust of women within male culture' (Hutton 2017: 192). Hutton traces this distrust back to antiquity, showing how the low status of women in ancient cultures commingled with a general hostility to magic associated with women (seen in figures from Greek myth such as Circe, Medea, Medusa and the Stygian witches). Such material was ripe for use in early Christianity's development of the witch stereotype (51-53, 58-59). Hutton also suggests the stereotype originates in ancient Rome, which had a strong sense of wicked women as agents of disruption. He concludes that cultures which had defined magic as an illicit activity, and in which women were excluded from political power, merged these aspects into a single stereotype of the menacing Other (64).
Horror film evokes this Greco-Roman strand of the witch stereotype. Hammer Studio's The Witches (1966), penned by folk horror writer Nigel Kneale, offers a good example of how Greco-Roman imagery elicits its own ambiguities. The film is set in a rural English village that has rejected Christianity in favour of a witch-cult headed by intellectual aristocrat Stephanie Bax (Kay Walsh). She is also the sister of the local vicar, whose authority she has decidedly usurped. The heroine, an 'off-comer' school teacher played by Joan Fontaine, investigates the cult after becoming worried about some of her pupils. Although she is horrified by the cult, the heroine is also attracted to the charismatic matriarch, Stephanie. The Witches anticipates the themes of The Wicker Man and, like that film, flirts with Murray's 'witch-cult' thesis. In positioning Stephanie as the cult leader (rather than a man), the film might also be read as more subversive than The Wicker Man, offering a tacit validation of second-wave feminism. However, its glimpsed-at promise of female sisterhood is revealed to be a cover for Stephanie's unnatural desire for long life and personal power. Stephanie appears at the climax of the film in a robe embroidered with a medusa head. Finally, she is defeated and the male moral and social order is reasserted. With the return of patriarchal Christianity to the village comes also the modernising force of capitalism. Returning to the village at the end of the film, the heroine notes approvingly that a mini supermarket has opened on the high street. This curious case of 'Medusa versus the Mini-Market' seems to equate female power with archaic monstrosity in a misogynist figuration of the female grotesque. Yet, although the film ends by thoroughly overturning the village's brief flirtation with the female power, the banality of the mini-market suggests a loss of sorts. Stephanie turned out to be a medusa-monster, but she represented an alluring form of female power and rebellion.
Witches as monstrous older women harbouring an unnatural desire for power is one facet of a Western ideology that situates women as outsiders to power. Mary Beard has written passionately about how Western culture consistently represents female power as illegitimate, exploring the cultural underpinnings of misogyny in the political and public sphere, some of which date to the same classical images identified by Hutton as key to the development of the witch stereotype. Beard argues that images of power since classical antiquity have functioned to exclude women (2017: 52). Specifically, Beard shows how women are perceived 'as belonging outside power' in her analysis that explores Medusa as well as modern newspaper headlines, which suggest powerful women are 'taking something to which they are not quite entitled' (56-57). Beard's reading of the Medusa myth asserts that the severed head of the gorgon is 'one of the most potent ancient symbols of male mastery over the destructive dangers that the very possibility of female power represented' (71). She remains sceptical of attempts to reclaim such imagery for the feminist project, citing the image's continued power in the 2016 U.S. Presidential Election, when memes depicting Trump as Perseus holding aloft the severed head of his rival were widely shared. This is 'the classic myth in which the dominance of the male is violently reasserted against the illegitimate power of the woman' (73). Considering that she continues to be evoked in discourse that wishes to insist upon the dangerous illegitimacy of female power, Medusa seems, like the witch, an unstable figuration of female empowerment.
Whatever story is told about the history of its origins, the figure of the witch developed into what Hutton calls a 'literary construct designed to carry moral messages' (2017: 161). For much of Western history, those messages have largely centred upon delegitimising female power. The witch continues to carry weight as an accusation, too. Miller notes that in recent years United Nations officials have reported a rise in women killed for witchcraft across the globe (2017). Since its old associations endure, the figure of the witch proves problematic for feminist readings of horror, a form that has long-traded in images of the monstrous feminine and female grotesque. Though such images might contain the potential for feminist subversion, they continue to carry misogynist moral and political meanings developed over centuries. Such is the polyphonic nature of language. As Bakhtin argues, 'language is not a neutral medium that passes freely and easily into the private property of the speaker's intentions; it is populated – overpopulated – with the intentions of others' (1981: 294). Though Bakhtin's theorisation of language and discourse as inherently polyphonic, or 'many-voiced', suggests a radical interpretation, it also argues that language is a continual struggle. Words and images are embedded in complex histories of utterance, freighted with opposing cultural and political meanings. Happily, for feminism, Bakhtin suggests that the words of others can be reworked and re-accentuated (1986: 89). However, the flipside of polyphony is that one's words are never quite one's own (Bakhtin, 1981: 294). The polyphonic nature of language and discourse leads to ambiguity and to an openness of interpretation that might be appropriated by multiple and competing politics. This ambiguity has become a central feature of folk horror cinema.
Witches in Folk Horror: Developing Ambiguity
Many folk horror films focus on witches as a consequence of the form's interest in archaic superstition. Often the result is exploitation cinema, exemplified by films like Cry of the Banshee (1970), Mark of the Devil (1970), Virgin Witch (1972) and Blood Orgy of the She Devils (1973). Two of the original trinity of folk horror films – Witchfinder General (1968) and Blood on Satan's Claw (1971) – focus on 17th century rural England of the witch trials, whilst The Wicker Man (1973) transposes its thematic material into the present. The theme of witchcraft is both genre-defining and also bound up with folk horror's uneasy relationship to the British counter-culture and exploitation cinema. It is this material that Robert Eggers' revives in his 2015 film, The Witch. Before considering this latter film, I want to explore the ways that this subgenre of cinema has developed the stereotype of the witch, deepening the ambiguity of interpretation the figuration provokes.
Blood on Satan's Claw is a low-budget British horror film set in 17th century rural England. The plot turns on a sinister object unearthed by a plough that possesses the young people of the village, prompting them to form a satanic cult headed by teenage temptress Angel Blake (Linda Hayden). The unearthed object that inspires the return of archaic ritual figures the female antagonist as a female grotesque. Angel Blake is an eroticized figure, rather than a crone or hag, but she is figured as increasingly repulsive as the cult degenerates. Angel exemplifies the undecidable nature of the grotesque as that which simultaneously attracts and disgusts. Decked in a garland and loose shift, Angel also evokes 1960s 'flower power'. As a potentially ironic depiction of teenage rebellion, the film suggests counter-cultural sympathies and many commentators have read the film in this way (Harmes 2013: 71). Critics have also noted the clear parallels between Angel's gang and the infamous 'Manson family' (Scovell 2017: 30). Inciting the other youths to rape and murder, Angel becomes a folk devil of both past and present. Her white shift, loose hair and heavy brows recall police mugshots of 'Sexy' Sadie Atkins, one of the accused in the Sharon Tate murder. The public trial of 1970 turned Manson, Sadie and the Family into modern folk devils, their degeneracy cited in the conservative press as proof of the dangers of the counter culture. This association layers further ambiguity onto the film's depiction of witchcraft. Harmes suggests the film is reactionary, rather than progressive, reading the 'final confrontation with evil' and the defeat of Angel Blake as the reinforcement of male authority (2013: 71). He suggests that the film stages the necessary defeat of female witchcraft by a male magistracy in an affirmation of patriarchal power. In Harmes' analysis, the climax of Blood on Satan's Claw makes plain where its political sympathies lie, but its ambiguous depiction of Angel as a figure out of time leaves much of the film open to viewers' sympathies regarding the counter-culture.
Likewise, The Wicker Man relies on the sensibilities of its viewer, inviting both progressive and reactionary readings. This film imagines the revival of an ancient witchcraft cult on a remote island in contemporary Scotland. The male hero, a policeman named Howie (Edward Woodward) is lured to the island to investigate false reports of a missing girl. The islanders play a series of games, preparing Howie for sacrifice in an annual ritual to the 'Old Gods' to ensure the prosperity of their harvest. There is no final defeat of 'evil' and poor Howie burns as the islanders look on, singing joyously. Scovell notes that 'Hardy and screenwriter Anthony Shaffer make it surprisingly difficult to dislike the Summerislanders' (2017: 22) whilst a review in Sight and Sound argues that the film 'declares the pagans victorious' (Young 2010: 20). Though it seems to stage a successful defeat of the Christian establishment by a 'pagan' counterculture, the film's political sympathies are not so easily determined. Rather, it playfully refracts struggles over the shifting meaning of 'witchcraft' in popular culture in the late 1960s and the early 1970s. While mainstream television aired titillating documentaries like The Legend of the Witches (Border TV, 1969) and The Power of the Witch (BBC, 1971), showcasing 'real life' witches such as Alex and Maxine Sanders, Christian luminaries Mary Whitehouse and Malcolm Muggeridge were leading the 'Festival of Light' (1971) in protest of a perceived moral breakdown of society. The Wicker Man offers similarly sensationalist depictions of its own version of a witch cult, whilst also sending up the uptight Christians.
The film feeds off and back into a popular conflation of revisionist notions of witchcraft (as a surviving pagan religion) with the early-modern stereotype of the satanic witch. It adds the male figure of the ceremonial magician, played with charisma by Christopher Lee, whose career in horror cinema also evokes the satanic. Vic Pratt argues that this is 'not a simplistic film which depicted counter culture free spirits as heroes and upright authorities as fools' (2013: 31). Rather, Lord Summerisle is 'out for his own ends, his propagation of pagan belief a handy tool for the control of his island serfs' (31). If Lord Summerisle is a pragmatist (and the islanders are his dupes), Howie is insistently rationalist, appealing to science in the face of the islanders' belief in the old gods. That the agricultural project of Summer Isle is failing is a matter of science, not ritual and no amount of human sacrifice will bring back the apples. This scientific explanation is rejected by Lord Summerisle, but the note of doubt it introduces into the film lingers. Howie may be uptight, but his appeal to science suggests that the witchy counterculture involves not only a rejection of establishment authority, but, more damningly, the abandonment of reason. In the depiction of the final sacrifice, the film evokes sensationalising views of witchcraft circulating in the media of the times. Reading it in this way suggests less sympathy for the islanders: at worst, witchcraft was satanic and dangerous, at best, misguided nonsense. Thus, the portrayal of 'witchcraft' as a pagan cult in The Wicker Man only creates further problems for the critic intent on disentangling the film's political sympathies.
The Wicker Man is equally tricky in terms of feminist politics. Although they are not explicitly 'witches', the three women at the centre of this film, 'Willow' (Britt Eckland), the unnamed 'librarian' (Ingrid Pitt) and schoolteacher, Miss Rose (Diane Cilento) evoke the multiple and confused notions of witchcraft circulating in the popular culture of the period. Brigid Cherry calls them 'Wicca Women', arguing that they offer pleasurable points of identification for female fans (2006: 111). One reviewer argues that the film actively mocks archaic notions of femininity and playfully puts the male in the role of victim (Brown 2016). Though witchy female bodies are equated with the natural world and reproductive sexuality, Brown argues that this perspective is Howie's. For example, Willow plays on Howie's view of her as a sexual being, taunting him in the infamous naked dancing scene that also functions to reprimand the viewer in their role as voyeur (Brown 2016). Gail Ashurst likewise notes Willow's 'defiant and mocking stance toward the spectator' (2005: 98). Nonetheless, in its repeated imagery of female nudity in connection with archaic fertility rites and its insistence upon male sacrifice for the rejuvenation of the island's apples, the film mingles the female grotesque with biblical imagery of Eve's sin. Here, a countercultural celebration of sexuality clashes with patriarchal anxieties that frame the female body as a site of fear. In addition, The Wicker Man falls short of endorsing the revisionist matriarchal witch cult myth suggested by Margaret Murray: both the Christian establishment and the witch cult are patriarchal forces. Harmes argues that 'the conclusion of The Wicker Man shows the preservation of the patriarchal status quo because the practice of pagan religion and the power structures on the island are so closely imbricated' (2013: 76). Cherry's reading is more celebratory, suggesting that the film offers subversive pleasures in its disruption of genre conventions (2006: 112). Through its playful evocation of the female grotesque, The Wicker Man deepens the ambiguity of the figure of the witch in horror cinema, at one turn asking viewers to condemn the islanders and, at another, celebrating their triumphant rebellion against mainland authority.
The indecisive evocation of both progressive and reactionary politics in folk horror bears strange fruit in the 21st century. Scovell suggests the form's politics are hard to pin down:
Folk horror is the violent re-joining with tradition which, on paper, seems almost conservative, yet it even subverts this reading by often summoning up pre-Christian values rather than more purely traditional ideologies: a strangely progressive form created through a conservative mechanism. (2017: 38).
However, the Hollywood remake of The Wicker Man (2006), which starred Nicholas Cage in the Edward Woodward role, shows that this relationship between progressive and reactionary mechanisms might easily reverse. The remake follows a State Trooper, Edward Malus, on his journey to a coastal island to investigate reports of a missing girl sent to him by an old girlfriend. In this version, the island society is matriarchal and the inhabitants practice a form of neo-pagan witchcraft based on popular notions of 'Wicca'. The film draws on the Murray thesis and its afterlife in neo-pagan culture. The only men on the island are silent and subservient, whilst various female characters taunt Malus as he frantically searches for the missing girl. As in the original, the cultists lead the policeman a merry dance, revealing that it is he who is to be the May Day sacrifice. The major plot elements are the same as the original, but unlike Hardy's version the remake is clear in its condemnation of the witches. In a climactic scene, the female cultists surround Nicholas Cage and place a contraption over his face into which they intend (for inexplicable reasons) to pour bees. As he struggles, the hero shouts 'you bitches! you bitches!' This final ritual sacrifice is denounced as a case of murder, plain and simple. Though many viewers enjoy watching this later Wicker Man against the grain, its message seems straightforward: these women are out of control, their power is corrupt, they are evil 'bitches' one and all.
Like the original, La Bute's The Wicker Man combines a jumble of images and stereotypes in its depiction of the witch, though here the figure is obviously gendered female. The animal masks worn by the islanders directly recalls the original film, whilst other costuming choices reference aspects of modern-day Wicca. The 'blind fates', or Stygian Witches, from the Greek myth of Perseus and Medusa also appear along with the notion of child sacrifice from Germanic folklore, two influences on the Early Modern stereotype of the satanic witch. Initially, the female islanders' gentle demeanour and commitment to ecological conservation evokes feminist and neo-pagan revisionist myths about 'good' witchcraft and living in harmony with nature. However, the film quickly dispels this interpretation, suggesting that although the women wear the floaty smocks and hippy-style jewellery of 'Wicca Women', they are corrupt and evil. Thus, the witch stereotype of the Early Modern period resurfaces, as the film depicts women as agents of disruption and destruction. The remake is a good example of how the muddle of ideas about witches that have emerged from nearly a century of horror cinema might easily devolve to a misogynist core. Though this remake plays with Murray-inspired revisionist imagery popular in Neo-Paganism, it undoes the ambiguity of the original film and uses the figure of the witch to express antifeminist sentiments. In so doing, it shows the ease with which the witch serves very different politics.
The Resurgence of the Witch: Flight or Fall?
La Bute's Wicker Man pre-dates the resurgence of interest in folk horror which occurs in the years around 2010 and is an oddity as an example of folk horror at this time. It transposes an interest in the superstitions of the British landscape to an American setting seemingly without inspiring any other filmmakers to follow suit, partially because it was seen as a failure. Eggers' The Witch (2015) is part of a post-2010 resurgence of folk horror and seems more invested in paying homage to the form's origins in 1960s and 1970s British cinema. Scovell argues that The Witch reveals its debt to British folk horror through its 17th century setting, its British accents and muted colour palette, shot only with natural lighting (2017: 165). Its isolated setting and occult themes recall original folk horror films but layer an additional concern with American settler myths. The film restages the American folk tale of the witch in the woods when an outcast Puritan family found a new farming settlement on the edge of the New England forest. Gradually, each member of the family is possessed by witchcraft (perhaps), then killed by (seemingly) supernatural forces, leaving only the daughter, Thomasin (Anna Taylor-Joy), alive at the close of the film. The Witch concerns the last part of this paper because it represents the culmination – in our contemporary moment at least – of a cinematic history that evokes and layers multiple and conflicting ideas about the witch from both fictional and non-fictional contexts, rendering her an unstable signifier.
The Witch evokes ambiguity at multiple levels. Scovell notes that it 'plays with that most typical of folk horror ideals, the initial ambiguity surrounding its supernatural element' (2017: 166), but I contend this ambiguity runs deeper. Certainly, viewers' hesitation is provoked at the level of narrative: do the puritans invite 'evil' into their home through psychological repression or are they subject to attack by magical forces? Does the heroine of the film become a witch at the end or is the final sequence a wish-fulfilment delusion? Perhaps the truth is more prosaic: a simple case of Ergot poisoning? (The latter is touted as one explanation for the Salem witch trials). These hesitations about the supernatural elements extend to the meanings attached to the witch, too. Early in the film, viewers witness what seems to be a witch kill an infant and ground its innards into a paste. As Hutton notes, a defining element of the Early Modern witch stereotype was the idea that witches used an ointment made from the flesh of babies to confer powers of shapeshifting and flight (2017: 175). This idea traces back to the earliest Alpine trials in 1428 and spread across Europe and to New England. In The Witch, this Early Modern image of infanticide sits uneasily alongside a potentially feminist reading of the witch's 'sabbat' as a rebellious activity. At the close of the film, the witch coven rising above the forest seem to represent escape and empowerment for downtrodden Thomasin, allowing her to cast off the repressive patriarchal structures of family and church. The Witch exemplifies the witch as a female grotesque, that is, an undecidable figuration. Here my reading diverges significantly from those breathlessly positive reviews of the film, one of which declared its celebration of 'the inherent power of femininity' (O'Neill 2016).
The Witch is clearly more open to interpretation than many of its feminist reviewers have suggested. The simplicity of the title – a noun without any modifiers – allows the signifier to conjure multiple ideas from different time periods, political discourses, mythologies and cinematic traditions: its meaning is up for grabs. The polyphony of the film inheres in its script, too, which Eggers compiled partially from various primary source material such as 'The Diary of John Winthrop' and other contemporaneous accounts of demon possession and witchcraft. Eggers recalls, 'the early versions of the script were monstrous, cannibalized collages of other people's words, until I could later hone it into my own' (quoted in O'Falt 2016). This modern folk horror film ventriloquizes many of the ideas about witchcraft formed in the Early Modern period, repackaging the words of 17th century settlers for modern audiences. O'Falt notes that much of the original material from Eggers' sources remains 'intact' in the final film (2016). This suggests that the director's 'own' voice competes with those he ventriloquizes. Any feminist interpretations of the film, which read it as an empowering narrative of young womanhood, must also contend with these utterances hailing from a history of witchcraft that would seek to present the witch as a dangerous and satanic figure. Here, I am reminded of Bakhtin's insistence that forcing words to submit to one's own intentions is a difficult and complicated process.
The polyphonic nature of The Witch suggests an ambivalent politics. The witches' flight could also be a fall, their 'empowerment' simply exclusion. O'Neill argues that the film's climactic scene of shadowy, naked female forms rising into the trees confronts viewers with
a baring of flesh that displays faith and self-recognition. All that is expected of women, a sexual availability, helplessness and humility, is aimed to a level of inversion, becoming horrific to patriarchal values but empowering to those who want to be liberated. (2016)
O'Neill recognises the potential for oppositional readings here, but when the scene is read alongside its intertexts, ambivalence emerges. Hutton points out that 'nudity was a common attribution of witches […] because it stripped away their everyday identities' (2017: 23). Nudity may threaten to invert the social order, but it also creates an anonymous figure who easily becomes a scapegoat. No doubt the image also reads as empowering to some audiences, but the original stereotype of the witch on which the film draws refused to recognize the power of women. In various trial records, the witch functions as a scapegoat in power struggles of various kinds, including political struggles and family feuds. Trials often occurred in places where there was a power vacuum, but the witch was not a powerful figure in herself (Hutton 2017: 154). Indeed, Hutton's careful research offers a counterpoint to revisionist myths that suggest the persecutions were the result of patriarchy's fear of the power of women. Christian treatise used in the trials suggested that women had no form of legitimate power. The Archbishop of Rheims, for example, wrote in 836 that if witches did have power it was only because they gained it in their alliances with demons, whom they sought in order to gain illegitimate power over men (Hutton 2017: 157). These old ideas echo through The Witch, which likewise evokes the idea that female power thrives on the destruction of men in its bloody rendering of the death of Thomasin's father's. He is impaled on the horns of a goat that later appears to Thomasin as a demon, offering her a satanic pact. Scenes like these might easily play into reactionary antifeminist narratives about female power circulating in the present day.
Audiences and critics will continue to produce varied readings of horror because it is a mode that, in its most grotesque incarnations, refuses the role of social and political utility. Nonetheless, The Witch is useful for exploring the cultural significance of the female grotesque, a figuration that pervades much contemporary horror. The female grotesque is a precarious figure that emphasizes the precarity of feminist politics. Eggers' film, for example, leaves open the question of what Thomasin gains in joining the witches. A last resort, it places her on the outside of a patriarchal social system in need of reform by and for its female members. The figure of the witch in horror cinema, then, cannot provide a blueprint for empowerment and change, though its mobilisation may leave misogynist tropes open to critique. Yet, the strategy of deploying misogynist tropes even to critique them, as Russo suggests, 'involves serious risk' since it can also work to reinforce original meanings (1994: 10). Russo argues that the female grotesque offers a chance to escape limiting structures of femininity, though often this escape is not the 'boundless flight' sometimes imagined in narratives of women's liberation (11, 44). The image of boundless flight should be resisted, since it marks off 'irregular bodies to leave behind' (11). Indeed, in the final shots of The Witch there are no saggy, lumpen bodies taking flight, only those pleasing to Hollywood's gaze. Russo's notion of the female grotesque as a precarious form of aeriality, encapsulated in the performance of the trapeze artist, suggests the possibility of transformation, but also of error. 'Aerial leaps and falls' are an alternative to the fantasy of liberation as boundless flight, but, as Russo warns, they can 'end badly' (30).
Aeriality is another aspect of the ambivalence of the female grotesque. She may act as a subversive force, carving out spaces of freedom from oppression. At the same time, the images of hag, Satanist, countercultural temptress and folk devil all endure in the figure of the witch, potentially working to reinforce patriarchal ideology about the need to control women, at least among some audiences. Therefore, the female grotesque is a difficult category, and its moments of subversion are fleeting and contingent. A broomstick flight above the New England forest may expose a fault line in our culture's ideology about female power, but as an image it does not provide a path to power. In contrast to popular feminist plaudits about the return of the witch to the horror film, I have argued that Eggers' modern folk horror film does nothing to stabilize or affirm the witch as a feminist icon. She remains one of horror cinema's most ambivalent figures, in part because she is the amalgamation of fictional and non-fictional histories and myths. As a piece of folk horror cinema, The Witch deepens the ambiguity of its central figure, offering the witch variously as a symbol of female desire, female power, patriarchal fear and patriarchal power. Such clashing sympathies are germane to the folk horror mode.
Aliens, James Cameron (Director), Twentieth Century Fox, 1986.
Black Sunday, Mario Bava (Director), Unidis, 1960.
Blood on Satan's Claw, Piers Haggard (Director), Tigon Pictures, 1971.
Blood Orgy of the She Devils, Ted V. Mikels (Director), Geneni Film Distributors, 1973.
Carrie, Brian De Palma (Director), United Artists, 1976.
Cry of the Banshee, Gordon Hessler (Director), AIP, 1970.
Häxan: Witchcraft through the Ages, Benjamin Christensen (Director), U.F.A., 1922.
Inferno, Dario Argento (Director), 20th Century Fox, 1980.
Mark of the Devil, Michael Armstrong, Adrian Hoven (Directors), Gloria Filmverleih AG, 1970.
Neon Demon, Nicolas Winding Refn (Director), Icon Film, 2016.
Rosemary's Baby, Roman Polanski (Director), Paramount Pictures, 1968.
Suspiria, Dario Argento (Director), P.A.C., 1977.
The Blair Witch Project, Daniel Myrick, Eduardo Sánchez (Directors), Artisan Entertainment, 1999.
The Evil Dead, Sam Raimi (Director), New Line Cinema, 1981.
The Love Witch, Anna Biller (Director), Icon Film, 2016.
The Wicker Man, Neil LaBute (Director), Warner Bros., 2006.
The Wicker Man, Robin Hardy (Director), British Lion Film Corporation, 1973.
The Witch, Robert Eggers (Director), A24, 2015.
The Witches, Mauro Bolognini, Vittorio De Sica et al (Directors), Dear Film, 1966.
Virgin Witch, Ray Austin (Director), Tigon Film Distributors, 1972.
Witchfinder General, Michael Reeves (Director), Tigon Pictures, 1968.
Ashurst, Gail, '"The Game's Over". Breaking the Spell of Summerisle: feminist discourse and The Wicker Man', Constructing the Wicker Man, ed. by Jonathan Murray, Lesley Stevenson, Stephen Harper and Benjamin Franks, Glasgow: Crichton Publications, 2005, pp. 91-105.
Bakhtin, Mikhail Mikhaĭlovich, The Dialogic Imagination: Four Essays by M.M. Bakhtin, ed. Michael Holquist and trans. Caryl Emerson and Michael Holquist, Austin, TX: University of Texas Press, 1981.
Bakhtin, Mikhail Mikhaĭlovic, Speech Genres and Other Late Essays, trans. Vern W. McGee. Austin, TX: University of Texas Press, 1986.
Berenstein, Rhona, 'Mommie Dearest: Aliens, Rosemary's Baby and Mothering', Journal of Popular Culture, Vol 24, No. 2, (Fall 1990), pp. 55-73.
Brown, Christopher, 'Women and The Wicker Man', The Last Horror Podcast, 18th September, 2016, available from: http://thelasthorrorpodcast.com/writing/women-wicker-man/.
Cherry, Brigid, 'The Wicca Woman: Gender, Sexuality and Religion in The Wicker Man', The Quest for the Wicker Man: History, folklore and pagan perspectives, ed. by Benjamin Franks and Gary Carpenter, Edinburgh: Luath Press, 2006, pp. 111-125.
Cohn, Norman, Europe's Inner Demons: The Demonisation of Christians in Medieval Christendom, London: Pimlico, 1993.
Creed, Barbara, The Monstrous Feminine: Film, Feminism, Psychoanalysis, London; New York: Routledge, 1993.
Donahue, Anne, '"We are the weirdos": how witches went from evil outcasts to feminist heroes', Guardian, 28th August 2015, available from: https://www.theguardian.com/film/2015/aug/28/witches-evil-outcasts-feminist-heroes-pop-culture.
Elliott, Kamilla, 'Gothic-Film-Parody', Adaptation, Vol. 1, Issue 1 (2008), pp. 24-43.
Harmes, Marcus K., 'The Seventeenth Century on Film: Patriarchy, Magistracy, and Witchcraft in British Horror Films, 1968-1971', The Canadian Journal of Film Studies, Vol. 22, No. 2 (Fall 2013), pp. 64-80.
Hutton, Ronald, The Witch: A History of Fear from Ancient Times to the Present, New Haven; London: Yale University Press, 2017.
Kermode, Mark, 'The Witch review – original sin and folkloric terror', Guardian, 13th March 2016, available from: https://www.theguardian.com/film/2016/mar/13/the-withc-film-review-robert-eggers.
Jardine, Rachel (dir), A History of Horror with Mark Gatiss, 2010.
Miller, Madeline, 'From Circe to Clinton: why powerful women are cast as witches', Guardian, 7th April 2018, available from: https://www.theguardian.com/books/2018/apr/07/cursed-from-circe-to-clinton-why-women-are-cast-as-witches.
O'Falt, Chris, 'How Robert Eggers Used Real Historical Accounts to Create His Horror Sensation The Witch', IndieWire, 19th February, 2016, available from:
http://www.indiewire.com/2016/02/how-robert-eggers-used-real-historical-accounts-to-create-his-horror-sensation-the-witch-67882/.
O'Neill, Elisabeth, 'How witches reclaimed their rightful place in popular culture', Little White Lies, 4th April 2017, available from: http://lwlies.com/articles/witch-new-wave-the-love-witch/.
Paul, William, Laughing Screaming: Modern Hollywood Horror and Comedy, New York: Columbia University Press, 1994.
Pierce, Scott, 'The Witch is sinister, smart, and wildly feminist', Wired, 19th February, 2016, available from: https://www.wired.com/2016/02/the-witch-demonization-women/
Pratt, Vic, 'Long Arm of the Lore', Sight and Sound, Vol. 23, No. 10 (2013), pp. 24-31.
Russo, Mary, The Female Grotesque, London; New York: Routledge, 1994.
Scovell, Adam, Folk Horror: Hours Dreadful and Things Strange, Leighton Buzzard: Auteur, 2017.
Thomson, Philip, The Grotesque, London: Methuen, 1972.
Williams, Linda, 'When the Woman Looks', in Re-Vision: Essays in Feminist Film Criticism, ed. by Mary Ann Doane, Patricia Mellencamp and Linda Williams, Los Angeles: AFI, 1984.
Young, Rob, 'The Pattern Under the Plough', Sight and Sound, Vol. 20. No. 8 (2010), pp. 16-20, 22.
[1] Foundational feminist analysis of horror film includes oft-cited works by Barbara Creed (The Monstrous Feminine, 1993) and Linda Williams ('When the Woman Looks', 1984).
[2] Examples of such feminist plaudits in popular culture include: 'How witches reclaimed their rightful place in popular culture' by Elisabeth O'Neill for the magazine, Little White Lies; 'The Witch is sinister, smart, and wildly feminist' by Scott Pierce for Wired magazine; and '"We are the weirdos": how witches went from evil outcasts to feminist heroes' by Anne Donahue for the Guardian.
[3] For example, Kamilla Elliott demonstrates that classic gothic films often deploy parody that targets politicized criticism, claiming that such films do not simply serve as 'proof-texts' for feminist, psychoanalytical or cultural studies approaches to cinema (2008: 33). William Paul makes a similar case for 'gross-out' horror movies, suggesting that the spectacle of horror serves neither right-wing moralizing nor a left-wing investment in radical 'subversion' (1994: 420-1).
[4] Ronald Hutton explains that Murray's thesis was proved false during the years around 1970, with the publication of detailed studies on local witch trials that used archival records Murray had neglected. He notes that there is 'no doubt' that witchcraft was not a surviving pagan religion (2017: 121).
[5] Hutton carefully traces this distinction (2017: 74-95), though he downplays its gendered dimension.
Chloé Germaine Buckley is a Senior Lecturer at Manchester Metropolitan University. Her publications include Twenty-First Century Children's Gothic Fiction: From Wanderer to Nomadic Subject (Edinburgh University Press), Telling it Slant: Critical Approaches to Helen Oyeyemi (co-edited with Sarah Ilott), and various chapters and articles on different aspects of the Gothic. She is a member of the Manchester Centre for Gothic Studies and The Manchester Game Studies Network. www.chloegermainebuckley.com
© Revenant Journal 2019. Published in Falmouth, UK, by Ruth Heholt. All Rights Reserved.


text:
// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "chrome/utility/services.h"

#include <memory>
#include <utility>

#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "chrome/services/qrcode_generator/public/mojom/qrcode_generator.mojom.h"
#include "chrome/services/qrcode_generator/qrcode_generator_service_impl.h"
#include "chrome/services/speech/buildflags/buildflags.h"
#include "components/paint_preview/buildflags/buildflags.h"
#include "components/password_manager/core/common/password_manager_features.h"
#include "components/password_manager/services/csv_password/csv_password_parser_impl.h"
#include "components/password_manager/services/csv_password/public/mojom/csv_password_parser.mojom.h"
#include "components/safe_browsing/buildflags.h"
#include "components/services/language_detection/language_detection_service_impl.h"
#include "components/services/language_detection/public/mojom/language_detection.mojom.h"
#include "components/services/patch/file_patcher_impl.h"
#include "components/services/patch/public/mojom/file_patcher.mojom.h"
#include "components/services/screen_ai/buildflags/buildflags.h"
#include "components/services/unzip/public/mojom/unzipper.mojom.h"
#include "components/services/unzip/unzipper_impl.h"
#include "components/webapps/services/web_app_origin_association/public/mojom/web_app_origin_association_parser.mojom.h"
#include "components/webapps/services/web_app_origin_association/web_app_origin_association_parser_impl.h"
#include "content/public/utility/utility_thread.h"
#include "extensions/buildflags/buildflags.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/service_factory.h"
#include "printing/buildflags/buildflags.h"
#include "ui/accessibility/accessibility_features.h"

#if BUILDFLAG(ENABLE_SCREEN_AI_SERVICE)
#include "components/services/screen_ai/screen_ai_service_impl.h"  // nogncheck
#endif

#if BUILDFLAG(IS_WIN)
#include "chrome/services/system_signals/win/win_system_signals_service.h"
#include "chrome/services/util_win/processor_metrics.h"
#include "chrome/services/util_win/public/mojom/util_read_icon.mojom.h"
#include "chrome/services/util_win/public/mojom/util_win.mojom.h"
#include "chrome/services/util_win/util_read_icon.h"
#include "chrome/services/util_win/util_win_impl.h"
#include "components/device_signals/core/common/mojom/system_signals.mojom.h"  // nogncheck
#include "components/services/quarantine/public/mojom/quarantine.mojom.h"  // nogncheck
#include "components/services/quarantine/quarantine_impl.h"  // nogncheck
#include "services/proxy_resolver_win/public/mojom/proxy_resolver_win.mojom.h"
#include "services/proxy_resolver_win/windows_system_proxy_resolver_impl.h"
#endif  // BUILDFLAG(IS_WIN)

#if BUILDFLAG(IS_MAC)
#include "chrome/services/mac_notifications/mac_notification_provider_impl.h"
#include "chrome/services/system_signals/mac/mac_system_signals_service.h"
#endif  // BUILDFLAG(IS_MAC)

#if BUILDFLAG(IS_LINUX)
#include "chrome/services/system_signals/linux/linux_system_signals_service.h"
#endif  // BUILDFLAG(IS_LINUX)

#if !BUILDFLAG(IS_ANDROID)
#include "chrome/common/importer/profile_import.mojom.h"
#include "chrome/utility/importer/profile_import_impl.h"
#include "components/mirroring/service/mirroring_service.h"
#include "components/password_manager/services/password_strength/password_strength_calculator_impl.h"
#include "components/password_manager/services/password_strength/public/mojom/password_strength_calculator.mojom.h"
#include "services/proxy_resolver/proxy_resolver_factory_impl.h"  // nogncheck
#include "services/proxy_resolver/public/mojom/proxy_resolver.mojom.h"
#endif  // !BUILDFLAG(IS_ANDROID)

#if BUILDFLAG(ENABLE_BROWSER_SPEECH_SERVICE)
#include "chrome/services/speech/speech_recognition_service_impl.h"  // nogncheck
#include "media/mojo/mojom/speech_recognition_service.mojom.h"  // nogncheck
#endif  // BUILDFLAG(ENABLE_BROWSER_SPEECH_SERVICE)

#if BUILDFLAG(ENABLE_PRINTING) && BUILDFLAG(IS_CHROMEOS_ASH)
#include "chrome/services/ipp_parser/ipp_parser.h"  // nogncheck
#include "chrome/services/ipp_parser/public/mojom/ipp_parser.mojom.h"  // nogncheck
#endif

#if BUILDFLAG(FULL_SAFE_BROWSING) || BUILDFLAG(IS_CHROMEOS_ASH)
#include "chrome/services/file_util/file_util_service.h"  // nogncheck
#endif

#if BUILDFLAG(FULL_SAFE_BROWSING) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN))
#include "chrome/services/file_util/document_analysis_service.h"  // nogncheck
#endif

#if BUILDFLAG(ENABLE_EXTENSIONS)
#include "chrome/services/removable_storage_writer/public/mojom/removable_storage_writer.mojom.h"
#include "chrome/services/removable_storage_writer/removable_storage_writer.h"
#endif

#if BUILDFLAG(ENABLE_EXTENSIONS) || BUILDFLAG(IS_ANDROID)
#include "chrome/services/media_gallery_util/media_parser_factory.h"
#include "chrome/services/media_gallery_util/public/mojom/media_parser.mojom.h"
#endif

#if BUILDFLAG(ENABLE_PRINT_PREVIEW) || \
    (BUILDFLAG(ENABLE_PRINTING) && BUILDFLAG(IS_WIN))
#include "chrome/services/printing/printing_service.h"
#include "chrome/services/printing/public/mojom/printing_service.mojom.h"
#endif

#if BUILDFLAG(ENABLE_OOP_PRINTING)
#include "chrome/services/printing/print_backend_service_impl.h"
#include "chrome/services/printing/public/mojom/print_backend_service.mojom.h"
#endif

#if BUILDFLAG(ENABLE_PRINTING)
#include "components/services/print_compositor/print_compositor_impl.h"  // nogncheck
#include "components/services/print_compositor/public/mojom/print_compositor.mojom.h"  // nogncheck
#endif  // BUILDFLAG(ENABLE_PRINTING)

#include "components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.h"
#include "components/services/paint_preview_compositor/public/mojom/paint_preview_compositor.mojom.h"

#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "ash/services/ime/ime_service.h"
#include "ash/services/ime/public/mojom/input_engine.mojom.h"
#include "ash/services/nearby/public/mojom/sharing.mojom.h"  // nogncheck
#include "ash/services/quick_pair/quick_pair_service.h"
#include "ash/services/recording/recording_service.h"
#include "chrome/services/sharing/sharing_impl.h"
#include "chromeos/ash/components/assistant/buildflags.h"  // nogncheck
#include "chromeos/ash/components/local_search_service/local_search_service.h"
#include "chromeos/ash/components/local_search_service/public/mojom/local_search_service.mojom.h"
#include "chromeos/ash/components/trash_service/public/mojom/trash_service.mojom.h"
#include "chromeos/ash/components/trash_service/trash_service_impl.h"
#include "chromeos/services/tts/public/mojom/tts_service.mojom.h"
#include "chromeos/services/tts/tts_service.h"

#if BUILDFLAG(ENABLE_CROS_LIBASSISTANT)
#include "chromeos/ash/services/assistant/audio_decoder/assistant_audio_decoder_factory.h"  // nogncheck
#include "chromeos/ash/services/libassistant/libassistant_service.h"  // nogncheck
#endif  // BUILDFLAG(ENABLE_CROS_LIBASSISTANT)
#endif  // BUILDFLAG(IS_CHROMEOS_ASH)

#if BUILDFLAG(IS_CHROMEOS)
#include "chromeos/components/quick_answers/public/cpp/service/spell_check_service.h"
#include "chromeos/components/quick_answers/public/mojom/spell_check.mojom.h"
#endif  // BUILDFLAG(IS_CHROMEOS)

namespace {

auto RunFilePatcher(mojo::PendingReceiver<patch::mojom::FilePatcher> receiver) {
  return std::make_unique<patch::FilePatcherImpl>(std::move(receiver));
}

auto RunUnzipper(mojo::PendingReceiver<unzip::mojom::Unzipper> receiver) {
  return std::make_unique<unzip::UnzipperImpl>(std::move(receiver));
}

#if 0
auto RunLanguageDetectionService(
    mojo::PendingReceiver<language_detection::mojom::LanguageDetectionService>
        receiver) {
  return std::make_unique<language_detection::LanguageDetectionServiceImpl>(
      std::move(receiver));
}
#endif

auto RunQRCodeGeneratorService(
    mojo::PendingReceiver<qrcode_generator::mojom::QRCodeGeneratorService>
        receiver) {
  return std::make_unique<qrcode_generator::QRCodeGeneratorServiceImpl>(
      std::move(receiver));
}

auto RunWebAppOriginAssociationParser(
    mojo::PendingReceiver<webapps::mojom::WebAppOriginAssociationParser>
        receiver) {
  return std::make_unique<webapps::WebAppOriginAssociationParserImpl>(
      std::move(receiver));
}

auto RunCSVPasswordParser(
    mojo::PendingReceiver<password_manager::mojom::CSVPasswordParser>
        receiver) {
  return std::make_unique<password_manager::CSVPasswordParserImpl>(
      std::move(receiver));
}

#if BUILDFLAG(IS_WIN)
auto RunProcessorMetrics(
    mojo::PendingReceiver<chrome::mojom::ProcessorMetrics> receiver) {
  return std::make_unique<ProcessorMetricsImpl>(std::move(receiver));
}

auto RunQuarantineService(
    mojo::PendingReceiver<quarantine::mojom::Quarantine> receiver) {
  return std::make_unique<quarantine::QuarantineImpl>(std::move(receiver));
}

auto RunWindowsUtility(mojo::PendingReceiver<chrome::mojom::UtilWin> receiver) {
  return std::make_unique<UtilWinImpl>(std::move(receiver));
}

auto RunWindowsIconReader(
    mojo::PendingReceiver<chrome::mojom::UtilReadIcon> receiver) {
  return std::make_unique<UtilReadIcon>(std::move(receiver));
}

auto RunWindowsSystemProxyResolver(
    mojo::PendingReceiver<proxy_resolver_win::mojom::WindowsSystemProxyResolver>
        receiver) {
  return std::make_unique<proxy_resolver_win::WindowsSystemProxyResolverImpl>(
      std::move(receiver));
}
#endif  // BUILDFLAG(IS_WIN)

#if BUILDFLAG(IS_MAC)
auto RunMacNotificationService(
    mojo::PendingReceiver<mac_notifications::mojom::MacNotificationProvider>
        receiver) {
  return std::make_unique<mac_notifications::MacNotificationProviderImpl>(
      std::move(receiver));
}
#endif  // BUILDFLAG(IS_MAC)

#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
auto RunSystemSignalsService(
    mojo::PendingReceiver<device_signals::mojom::SystemSignalsService>
        receiver) {
#if BUILDFLAG(IS_WIN)
  return std::make_unique<system_signals::WinSystemSignalsService>(
      std::move(receiver));
#elif BUILDFLAG(IS_MAC)
  return std::make_unique<system_signals::MacSystemSignalsService>(
      std::move(receiver));
#else
  return std::make_unique<system_signals::LinuxSystemSignalsService>(
      std::move(receiver));
#endif  // BUILDFLAG(IS_WIN)
}
#endif  // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)

#if !BUILDFLAG(IS_ANDROID)
auto RunProxyResolver(
    mojo::PendingReceiver<proxy_resolver::mojom::ProxyResolverFactory>
        receiver) {
  return std::make_unique<proxy_resolver::ProxyResolverFactoryImpl>(
      std::move(receiver));
}

auto RunProfileImporter(
    mojo::PendingReceiver<chrome::mojom::ProfileImport> receiver) {
  return std::make_unique<ProfileImportImpl>(std::move(receiver));
}

auto RunMirroringService(
    mojo::PendingReceiver<mirroring::mojom::MirroringService> receiver) {
  return std::make_unique<mirroring::MirroringService>(
      std::move(receiver), content::UtilityThread::Get()->GetIOTaskRunner());
}

auto RunPasswordStrengthCalculator(
    mojo::PendingReceiver<password_manager::mojom::PasswordStrengthCalculator>
        receiver) {
  DCHECK(base::FeatureList::IsEnabled(
      password_manager::features::kPasswordStrengthIndicator));
  return std::make_unique<password_manager::PasswordStrengthCalculatorImpl>(
      std::move(receiver));
}

#endif  // !BUILDFLAG(IS_ANDROID)

#if BUILDFLAG(ENABLE_BROWSER_SPEECH_SERVICE)
auto RunSpeechRecognitionService(
    mojo::PendingReceiver<media::mojom::SpeechRecognitionService> receiver) {
  return std::make_unique<speech::SpeechRecognitionServiceImpl>(
      std::move(receiver));
}
#endif  // !BUILDFLAG(ENABLE_BROWSER_SPEECH_SERVICE)

#if BUILDFLAG(ENABLE_SCREEN_AI_SERVICE)
auto RunScreenAIService(
    mojo::PendingReceiver<screen_ai::mojom::ScreenAIService> receiver) {
  return std::make_unique<screen_ai::ScreenAIService>(std::move(receiver));
}
#endif

#if BUILDFLAG(ENABLE_PRINTING) && BUILDFLAG(IS_CHROMEOS_ASH)
auto RunCupsIppParser(
    mojo::PendingReceiver<ipp_parser::mojom::IppParser> receiver) {
  return std::make_unique<ipp_parser::IppParser>(std::move(receiver));
}
#endif

#if BUILDFLAG(FULL_SAFE_BROWSING) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN))
auto RunDocumentAnalysis(
    mojo::PendingReceiver<chrome::mojom::DocumentAnalysisService> receiver) {
  return std::make_unique<DocumentAnalysisService>(std::move(receiver));
}
#endif

#if BUILDFLAG(FULL_SAFE_BROWSING) || BUILDFLAG(IS_CHROMEOS_ASH)
auto RunFileUtil(
    mojo::PendingReceiver<chrome::mojom::FileUtilService> receiver) {
  return std::make_unique<FileUtilService>(std::move(receiver));
}
#endif

#if BUILDFLAG(ENABLE_EXTENSIONS)
auto RunRemovableStorageWriter(
    mojo::PendingReceiver<chrome::mojom::RemovableStorageWriter> receiver) {
  return std::make_unique<RemovableStorageWriter>(std::move(receiver));
}
#endif

#if BUILDFLAG(ENABLE_EXTENSIONS) || BUILDFLAG(IS_ANDROID)
auto RunMediaParserFactory(
    mojo::PendingReceiver<chrome::mojom::MediaParserFactory> receiver) {
  return std::make_unique<MediaParserFactory>(std::move(receiver));
}
#endif  // BUILDFLAG(ENABLE_EXTENSIONS) || BUILDFLAG(IS_ANDROID)

#if BUILDFLAG(ENABLE_PRINT_PREVIEW) || \
    (BUILDFLAG(ENABLE_PRINTING) && BUILDFLAG(IS_WIN))
auto RunPrintingService(
    mojo::PendingReceiver<printing::mojom::PrintingService> receiver) {
  return std::make_unique<printing::PrintingService>(std::move(receiver));
}
#endif

#if BUILDFLAG(ENABLE_PAINT_PREVIEW)
auto RunPaintPreviewCompositor(
    mojo::PendingReceiver<
        paint_preview::mojom::PaintPreviewCompositorCollection> receiver) {
  return std::make_unique<paint_preview::PaintPreviewCompositorCollectionImpl>(
      std::move(receiver), /*initialize_environment=*/true,
      content::UtilityThread::Get()->GetIOTaskRunner());
}
#endif  // BUILDFLAG(ENABLE_PAINT_PREVIEW)

#if BUILDFLAG(ENABLE_OOP_PRINTING)
auto RunPrintingSandboxedPrintBackendHost(
    mojo::PendingReceiver<printing::mojom::SandboxedPrintBackendHost>
        receiver) {
  return std::make_unique<printing::SandboxedPrintBackendHostImpl>(
      std::move(receiver));
}
auto RunPrintingUnsandboxedPrintBackendHost(
    mojo::PendingReceiver<printing::mojom::UnsandboxedPrintBackendHost>
        receiver) {
  return std::make_unique<printing::UnsandboxedPrintBackendHostImpl>(
      std::move(receiver));
}
#endif  // BUILDFLAG(ENABLE_OOP_PRINTING)

#if BUILDFLAG(ENABLE_PRINTING)
auto RunPrintCompositor(
    mojo::PendingReceiver<printing::mojom::PrintCompositor> receiver) {
  return std::make_unique<printing::PrintCompositorImpl>(
      std::move(receiver), true /* initialize_environment */,
      content::UtilityThread::Get()->GetIOTaskRunner());
}
#endif  // BUILDFLAG(ENABLE_PRINTING)

#if BUILDFLAG(IS_CHROMEOS_ASH)
auto RunImeService(
    mojo::PendingReceiver<ash::ime::mojom::ImeService> receiver) {
  return std::make_unique<ash::ime::ImeService>(
      std::move(receiver), ash::ime::ImeDecoderImpl::GetInstance(),
      std::make_unique<ash::ime::FieldTrialParamsRetrieverImpl>());
}

auto RunRecordingService(
    mojo::PendingReceiver<recording::mojom::RecordingService> receiver) {
  return std::make_unique<recording::RecordingService>(std::move(receiver));
}

auto RunSharing(mojo::PendingReceiver<sharing::mojom::Sharing> receiver) {
  return std::make_unique<sharing::SharingImpl>(
      std::move(receiver), content::UtilityThread::Get()->GetIOTaskRunner());
}

auto RunTrashService(
    mojo::PendingReceiver<chromeos::trash_service::mojom::TrashService>
        receiver) {
  return std::make_unique<chromeos::trash_service::TrashServiceImpl>(
      std::move(receiver));
}

auto RunTtsService(
    mojo::PendingReceiver<chromeos::tts::mojom::TtsService> receiver) {
  return std::make_unique<chromeos::tts::TtsService>(std::move(receiver));
}

auto RunLocalSearchService(
    mojo::PendingReceiver<ash::local_search_service::mojom::LocalSearchService>
        receiver) {
  return std::make_unique<ash::local_search_service::LocalSearchService>(
      std::move(receiver));
}

auto RunQuickPairService(
    mojo::PendingReceiver<ash::quick_pair::mojom::QuickPairService> receiver) {
  return std::make_unique<ash::quick_pair::QuickPairService>(
      std::move(receiver));
}

#if BUILDFLAG(ENABLE_CROS_LIBASSISTANT)
auto RunAssistantAudioDecoder(
    mojo::PendingReceiver<ash::assistant::mojom::AssistantAudioDecoderFactory>
        receiver) {
  return std::make_unique<ash::assistant::AssistantAudioDecoderFactory>(
      std::move(receiver));
}

auto RunLibassistantService(
    mojo::PendingReceiver<chromeos::libassistant::mojom::LibassistantService>
        receiver) {
  return std::make_unique<chromeos::libassistant::LibassistantService>(
      std::move(receiver));
}
#endif  // BUILDFLAG(ENABLE_CROS_LIBASSISTANT)
#endif  // BUILDFLAG(IS_CHROMEOS_ASH)

#if BUILDFLAG(IS_CHROMEOS)
auto RunQuickAnswersSpellCheckService(
    mojo::PendingReceiver<quick_answers::mojom::SpellCheckService> receiver) {
  return std::make_unique<quick_answers::SpellCheckService>(
      std::move(receiver));
}
#endif  // BUILDFLAG(IS_CHROMEOS)

}  // namespace

void RegisterElevatedMainThreadServices(mojo::ServiceFactory& services) {
  // NOTE: This ServiceFactory is only used in utility processes which are run
  // with elevated system privileges.
#if BUILDFLAG(ENABLE_EXTENSIONS) && BUILDFLAG(IS_WIN)
  // On non-Windows, this service runs in a regular utility process.
  services.Add(RunRemovableStorageWriter);
#endif
}

void RegisterMainThreadServices(mojo::ServiceFactory& services) {
  services.Add(RunFilePatcher);
  services.Add(RunUnzipper);
  //services.Add(RunLanguageDetectionService);
  services.Add(RunQRCodeGeneratorService);
  services.Add(RunWebAppOriginAssociationParser);

  if (base::FeatureList::IsEnabled(password_manager::features::kPasswordImport))
    services.Add(RunCSVPasswordParser);

#if !BUILDFLAG(IS_ANDROID)
  services.Add(RunProfileImporter);
  services.Add(RunMirroringService);
  if (base::FeatureList::IsEnabled(
          password_manager::features::kPasswordStrengthIndicator)) {
    services.Add(RunPasswordStrengthCalculator);
  }
#endif  // !BUILDFLAG(IS_ANDROID)

#if BUILDFLAG(ENABLE_BROWSER_SPEECH_SERVICE)
  services.Add(RunSpeechRecognitionService);
#endif  // !BUILDFLAG(ENABLE_BROWSER_SPEECH_SERVICE)

#if BUILDFLAG(ENABLE_SCREEN_AI_SERVICE)
  if (features::IsScreenAIServiceNeeded())
    services.Add(RunScreenAIService);
#endif

#if BUILDFLAG(IS_WIN)
  services.Add(RunProcessorMetrics);
  services.Add(RunQuarantineService);
  services.Add(RunWindowsUtility);
  services.Add(RunWindowsIconReader);
#endif  // BUILDFLAG(IS_WIN)

#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
  services.Add(RunSystemSignalsService);
#endif  // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)

#if BUILDFLAG(ENABLE_PRINTING) && BUILDFLAG(IS_CHROMEOS_ASH)
  services.Add(RunCupsIppParser);
#endif

#if BUILDFLAG(IS_MAC)
  services.Add(RunMacNotificationService);
#endif  // BUILDFLAG(IS_MAC)

#if BUILDFLAG(FULL_SAFE_BROWSING) || BUILDFLAG(IS_CHROMEOS_ASH)
  services.Add(RunFileUtil);
#endif

#if BUILDFLAG(FULL_SAFE_BROWSING) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN))
  services.Add(RunDocumentAnalysis);
#endif

#if BUILDFLAG(ENABLE_EXTENSIONS) && !BUILDFLAG(IS_WIN)
  // On Windows, this service runs in an elevated utility process.
  services.Add(RunRemovableStorageWriter);
#endif

#if BUILDFLAG(ENABLE_EXTENSIONS) || BUILDFLAG(IS_ANDROID)
  services.Add(RunMediaParserFactory);
#endif

#if BUILDFLAG(ENABLE_PRINT_PREVIEW) || \
    (BUILDFLAG(ENABLE_PRINTING) && BUILDFLAG(IS_WIN))
  services.Add(RunPrintingService);
#endif

#if BUILDFLAG(ENABLE_OOP_PRINTING)
  services.Add(RunPrintingSandboxedPrintBackendHost);
  services.Add(RunPrintingUnsandboxedPrintBackendHost);
#endif

#if BUILDFLAG(ENABLE_PRINTING)
  services.Add(RunPrintCompositor);
#endif

#if BUILDFLAG(ENABLE_PAINT_PREVIEW)
  services.Add(RunPaintPreviewCompositor);
#endif

#if BUILDFLAG(IS_CHROMEOS_ASH)
  services.Add(RunImeService);
  services.Add(RunRecordingService);
  services.Add(RunSharing);
  services.Add(RunTrashService);
  services.Add(RunTtsService);
  services.Add(RunLocalSearchService);
  services.Add(RunQuickPairService);
#if BUILDFLAG(ENABLE_CROS_LIBASSISTANT)
  services.Add(RunAssistantAudioDecoder);
  services.Add(RunLibassistantService);
#endif  // BUILDFLAG(ENABLE_CROS_LIBASSISTANT)
#endif  // BUILDFLAG(IS_CHROMEOS_ASH)

#if BUILDFLAG(IS_CHROMEOS)
  services.Add(RunQuickAnswersSpellCheckService);
#endif  // BUILDFLAG(IS_CHROMEOS)
}

void RegisterIOThreadServices(mojo::ServiceFactory& services) {
#if !BUILDFLAG(IS_ANDROID)
  services.Add(RunProxyResolver);
#endif
#if BUILDFLAG(IS_WIN)
  services.Add(RunWindowsSystemProxyResolver);
#endif  // BUILDFLAG(IS_WIN)
}

redpajama_set_name: RedPajamaGithub


text:
− 3 = five
Home›Features›WOMEN PAVING THE WAY IN VISUAL ART
WOMEN PAVING THE WAY IN VISUAL ART
Written by: Xolisani Khumalo
Visual arts seem to be on par with gender equality in Durban.
According to a research done by popular news network, eNews Channel Africa (eNCA) on whether the state is doing enough to empower women in South Africa, 47% women strongly disagreed, 15% disagreed, 14% agreed and 22% strongly agreed.
Although some people would assume that women are the mostly disadvantaged group in most disciplines, this is not the case in the Durban visual arts space.
Carol Brown, renowned curator and former director of Durban Art Gallery expressed that she has not experienced much gender related difficulties.
"I have never encountered any gender related difficulties. This may be as, in the arts, there is less discrimination than in other sectors," Brown told Journalismiziko.
Brown also revealed that in her many years in the industry she has seen much recognition being given to women although, the same can't be said for black female artists.
"In South Africa, female artists have been respected. However, historically, this has not been the case for black female artists," added Brown.
She further explained why some people might think there aren't enough women in the visual arts space.
"It could be that in several workshops/training centres females were considered as crafters rather than artists. White females were treated differently and currently we have many successful women artists in South Africa," explained Brown.
Brown was visual arts adviser to the French/South Africa season in 2012 and 2013, and is currently working in partnership with the University of California Los Angeles (UCLA) to curate and produce a large exhibition called 'Through Positive Eyes' which is timed to coincide with the International ids Conference opening in Durban in July.
Leevi Arrikum, a third year fine art student at the Durban University of Technology, argues that although it is a normal thing to see women having to put extra effort for recognition, he has had the chance to see his female peers blossom.
"I am a year behind Snethemba who just graduated with the Dean's Merit (Award), and she is a female. She found her in-service in a heartbeat and this goes to show that we are in an era where women are respected as much," said Arrikum.
"Your gender and race does not matters, I would say," he added.
Zinhle Khumalo is a Durban creative who holds a degree in Fine Art, from the Durban University of Technology. She told Journalismiziko that she finds herself in the 22% that agrees that the state is doing enough to empower women.
"Female artists that have been afforded a platform are highly praised and celebrated. The biggest issue for all artists, whether male or female in Durban, is the lack of space and lack of support," said Khumalo.
She added that perhaps it could be explained that not enough women pursue a career in art.
"But also fact is the male artist does have many more doors open for him than that of the woman artist," expressed Khumalo.
Khumalo is the official local producer for a photography workshop to be conducted by world-renowned photographer Gideon Mendel also in connection to the AIDS conference. She will also be curating an exhibition show for the KZNSA Gallery about the youth of Durban in August 2016.
ALAMUDDIN WARNS OF NEGATIVE EFFECTS OF SOCIAL ...
MY SKYY WAY GRABS THE CROWD
HEALTH QUALITY IN A DEMOCRATIC COUNTRY
SUICIDE IS NEVER AN OPTION
JOURNALISM-THE TOOL TO DO GOOD
FORGIVENESS – A FRAGRANCE OF LOVE
WATER SHORTAGE, A CAUSE FOR CONCERN IN WELBEDACHT WEST COMMUNITY
five × = 15
ACADEMIC ASSISTANCE THROUGH REP
PRAYERS FOR THE BRAVE
BAFANA LEGENDS SHARE THEIR WC EXPECTATIONS

redpajama_set_name: RedPajamaCommonCrawl


text:
Unsupervised, 2021-22
You are here | Home | Research | Research Centres at the RNCM | PRiSM | PRiSM News and Events | Unsupervised, 2021-22
The Machine Learning for Music (ML4M) Working Group prepares for its second series of Unsupervised events in June 2022
The Machine Learning for Music (ML4M) Working Group is an interdisciplinary community of artists, scientists and engineers. Bringing together postgraduate researchers at RNCM, the University of Manchester, as well as other Manchester-based guest artists, the group is focused upon exploring the creative use of emerging Artificial Intelligence (AI) and Machine Learning (ML) technologies.
ML4M was established in 2020 by Dr Sam Salem (PRiSM Lecturer in Composition, RNCM), Professor Ricardo Climent (Professor of Interactive Music Composition, the University of Manchester), and Dr Richard Allmendinger (Associate Professor in Decision Sciences, Alliance Manchester Business School).
In June 2021, the group's first Unsupervised event took place as part of RNCM PRiSM Future Music #3, showcasing 8 new audio-visual works created by members Anastasios Asonitis, Vicky Clarke, Hongshuo Fan, Robert Laidlow, Zakiya Leeming, Tywi Roberts, Chris Rhodes, and Ellen Sargen.
Images from the 8 new works presented at Unsupervised 2021, part of PRiSM Future Music #3
Members of our 2021-22 cohort are joined this year by Nina Whiteman, Bofan Ma, Megan Steinberg, Daniel Kidane, Jason Dominguez, Tom Baker, Melanie Wilson, Darragh Kelly, James Corely and Lirgan Yuzbegi. Our second series of events will take place in June 2022, preceded by public meetings that will offer the broader postgraduate communities of RNCM / UoM an opportunity to find out more about our work with AI and ML.
Our first Unsupervised events truly exceeded our expectations. The breadth of approaches, and the sheer creativity, of these first ML4M works is very exciting, and I look forward to seeing what our group produces for our next events in June 2022.
Dr Sam Salem, PRiSM Lecturer in Composition, RNCM
ML4M Unsupervised Official Website
Unsupervised 2021 Playlist


For better or for worse, technology is a part of modern childhood. The 'for better' comes around when it's family trip time and parents need to keep kids entertained on the road and in the air. Getting there can actually be half the fun when you're armed with the right gadgets but figuring out what the right gadgets are isn't easy since the options are basically endless.
Noise canceling headphones: Whether you want to drown out sibling battles or your little ones want to chill with a movie, can make being on the road feel more like home. Or maybe quieter than home! You could share cans with your kids, but Sony's MDRZX110NC budget-friendly noise canceling headphones price out at less than $40 so it might make sense to get everyone their own pair.
A headphone splitter jack: Two kids, one device? No problem thanks to iLuv's headphone splitter, which potentially offers peace and quiet for less than six bucks. Dual volume control and plenty of cable length make it easy to use and its size makes it difficult to lose.
The iPad Mini 4: Tablets marketed as just for kids abound but if you'd rather buy something the whole family can use opt for Apple's latest Mini. There are thousands of kid-friendly apps ranging from the educational to the purely entertaining and, when it's housed safely in something like the OtterBox Defender, an iPad is an investment. Plus right now T-Mobile offers free data for tablet users so this is a great time to buy the iPad Mini 4.
The Elago Grip stylus: This stylus fits right into little fingers and has an ergonomic shape and plenty of heft to keep it from rolling away when it's inevitably dropped. It's also sleek and stylish, and it comes in cool colors like pink and gold. But the best thing about Elago's Grip stylus is that it costs less than $20. If it gets left behind at your vacation destination, replacing it won't break the bank.
More juice when you need it: Aukey's high capacity power bank provides enough emergency backup juice to bring an iPhone back to full power ten times, so if your family will be away from outlets (but not their gadgets) for hours at a time it's a must-have.
Trakdot's Luggage Tracker: Flying will get you where you're going faster but it does mean giving up control of your luggage. Trakdot is a tiny connected device that lets you see where in the world your bags are at any given time. While finding out that your toddler's lovey is currently in Timbuktu may not be helpful at bedtime today, being able to recover it tomorrow is priceless.
A tracker for your most precious cargo: Lollipop is a cute little keychain-like tag that you can clip to your kids' belt loops whenever there's a chance you might get separated. Theme park visits and sightseeing are a lot less stressful when you can see at a glance where your kids are when they aren't in your immediate line of sight.
What else might a tech-loving, globetrotting family need? Arkon makes a universal tablet mount so you don't need to get a DVD player installed in your car just for one road trip. And Griffin Tech makes a similar mount that clips onto the seatback on planes to make in-flight movies more comfortable. More importantly, though, what more families than not probably need when it comes to travel tech is boundaries.
Technology can dominate a family trip if you let it, in which case you end up with more snapshots of tweens texting than of mom and dad making memories. On the road, distractions are worth a million bucks – just make sure the gadgets you pack enhance your family vacation instead of taking away from it.
Thank you, Stephen, for sharing with us The Best Tech Gadgets for Family Spring Break Trip. I hope you found some Tech Gadgets for your family to enjoy.


text:
Q: Adding a single occurrence xml tag using lxml Based on a couple of other examples I've found here, I've created a script that creates an xml file from a csv input using lxml.etree and lxml.ebuilder. It gives me almost what I need - the one thing I'm struggling with is that I need to also include a single-occurrence tag at the top of the data which will contain a static value.
Here's my sample data:
ACTION|INV_ACCT_CLASS|EXT_INV_ID|WAREHOUSE_ID|NAME|CNTRY_CD|PHONE|ADDR_STR1|ADDR_STR2|CITY|ST|ZIP|ADD_KEY_NUM
add|2|AAA_00005|1001213|Company 1|US|9995555555|1313 Mockingbird Lane||New York|NY|10001|44433322
add|2|BBB_00008|1004312|Company 2|US|43255511110|Some other address||Stamford|CT|44112|11122233

My code so far:
import lxml.etree
 from lxml.builder import E
 import csv

with open("filename.csv") as csvfile:

  results = E.paiInv(*(
              E.invrec(
               E.action(row['ACTION']),
                E.investor(
                E.inv_account_class(row['INV_ACCOUNT_CLASS']),
                E.ext_inv_id(row['EXT_INV_ID']),
                E.warehouse_id(row['WAREHOUSE_ID']),
                E.name(row['NAME']),
                E.cntry_cd(row['CNTRY_CD']),
                E.phone(row['PHONE']),
                E.addr_str1(row['ADDRESS_STR1']),
                E.addr_str2(row['ADDRESS_STR2']),
                E.city(row['CITY']),
                E.st(row['ST']),
                E.zip(row['ZIP']),
                E.add_key_num(row['ADD_KEY_NUM'])
                      )
                ) for row in csv.DictReader(csvfile, delimiter = '|'))
                          )

 lxml.etree.ElementTree(results).write("OutputFile.xml")

Here's my output so far:
<paiInv>
    <invrec>
        <action>add</action>
        <investor>
            <inv_account_class>2</inv_account_class>
            <ext_inv_id>AAA_00005</ext_inv_id>
            <warehouse_id>1001213</warehouse_id>
            <name>Company 1</name>
            <cntry_cd>US</cntry_cd>
            <phone>9995555555</phone>
            <addr_str1>1313 Mockingbird Lane</addr_str1>
            <addr_str2></addr_str2>
            <city>New York</city>
            <st>NY</st>
            <zip>10001</zip>
            <add_key_num>44433322</add_key_num>
        </investor>
    </invrec>
    <invrec>
        <action>add</action>
        <investor>
            <inv_account_class>2</inv_account_class>
            <ext_inv_id>BBB_00008</ext_inv_id>
            <warehouse_id>1004312</warehouse_id>
            <name>Company 2</name>
            <cntry_cd>US</cntry_cd>
            <phone>43255511110</phone>
            <addr_str1>Some other address</addr_str1>
            <addr_str2></addr_str2>
            <city>Stamford</city>
            <st>NB</st>
            <zip>44112</zip>
            <add_key_num>11122233</add_key_num>
        </investor>
    </invrec>
</paiInv>

And the output I need includes one extra (single occurrence) tag, named request_id, occurring at the top of the data, like this:
<paiInv>
    <request_id>req44</request_id>
    <invrec>
        <action>add</action>
        <investor>
            <inv_account_class>2</inv_account_class>
            <ext_inv_id>AAA_00005</ext_inv_id>
            <warehouse_id>1001213</warehouse_id>
            <name>Company 1</name>
            <cntry_cd>US</cntry_cd>
            <phone>9995555555</phone>
            <addr_str1>1313 Mockingbird Lane</addr_str1>
            <addr_str2></addr_str2>
            <city>New York</city>
            <st>NY</st>
            <zip>10001</zip>
            <add_key_num>44433322</add_key_num>
        </investor>
    </invrec>
    <invrec>
        <action>add</action>
        <investor>
            <inv_account_class>2</inv_account_class>
            <ext_inv_id>BBB_00008</ext_inv_id>
            <warehouse_id>1004312</warehouse_id>
            <name>Company 2</name>
            <cntry_cd>US</cntry_cd>
            <phone>43255511110</phone>
            <addr_str1>Some other address</addr_str1>
            <addr_str2></addr_str2>
            <city>Stamford</city>
            <st>NB</st>
            <zip>44112</zip>
            <add_key_num>11122233</add_key_num>
        </investor>
    </invrec>
</paiInv>

Any suggestions will be appreciated. I haven't been able to get anything other than syntax errors with my attempts to get the extra tag so far.

A: Before you save the file, try something like:
doc = lxml.etree.ElementTree(results)
ins = lxml.etree.fromstring('<request_id>req44</request_id>')
ins.tail = "\n"
dest = doc.xpath('/paiInv')[0]
dest.insert(0,ins)
print(lxml.etree.tostring(doc).decode())

The output should be what you are looking for.

redpajama_set_name: RedPajamaStackExchange


Lord Elgin Streamline | Grumpyguy Inc.
I don't have a name for it yet. This Lord Elgin has the case number 7617. It is 14K gold filled. The movement is the 23 jewel, 718 movement.
The case has interesting lugs, reminiscent of those on the Futura. The dial has a dark gold/copper hue, with silver painted hour markers. The hands are silver as well.
The dial has some patina, but overall looks good. The case is in excellent shape.


Why are some water operators' partnerships more fruitful than others? What are the bottlenecks faced by different stakeholders? How can these be alleviated?
Back in 2013, this was the starting point for the BEWOP initiative: a collaboration between UNESCO-IHE and GWOPA, supported by the Dutch Government (DGIS). By looking more closely at the growing WOPs practice in different contexts and with different results, BEWOP is identifying cross-cutting lessons that can be shared and developing guidance tools that make WOPs easier and more effective. Through these efforts, challenges to WOPs participation or practice will be alleviated and the practice will grow.
In its first phase (2013-2015), BEWOP called upon practitioners from water operators, WOPs facilitators and other stakeholders to share their experiences of WOPs. Through consultation and analysis, the needs of the WOPs practitioners were identified. Examples of good practice, catalysts, and success factors in WOPs were also gathered and studied.
As a complimentary stream, research was conducted on current utility practices in order to better understand how the WOPs approach can adapt to these practices in an effective and impactful way.
As well as being inputs for the development of tools and guidance, the BEWOP studies of WOPs cases were turned into case studies and factsheets. The range of case studies is extremely diverse from international to national WOPs, short and longer-term partnerships, etc. Through these documented cases, a key bottleneck – awareness – is already being addressed. Translation and wide-spread distribution are ensuring that key stakeholders, namely water operators, are aware of WOPs and are inspired to get involved or find out more.
Through the utility research stream, a number of thematic papers and briefs were also developed. Papers covered key topics for utilities and WOPs practice, including: national WOPs, finance, facilitation, benchmarking, knowledge transfer and knowledge management. A number of these papers were shared with target audiences (WOPs practitioners, facilitators, donors) in order to gather feedback and/or influence their involvement in or understanding of WOPs.
A Performance Improvement Manual was drafted and field tested in 2014 through a series of 9 WOPs in Africa. The manual aims to support operators develop medium term-action plans through a WOP to bring about wider and sustainable change within the utility. Feedback from the 9 WOPs in Africa was gathered and will inform a version 2 of the manual.
In its second phase, the focus of BEWOP is now tool and guidance production. Based on the findings of research, study and consultation, staff from GWOPA and UNESCO-IHE are working to develop tools on the following topics.
The format of the guidelines may vary from games, manuals, interactive tools, briefs and training courses. Production and/or testing will also continue over 2017 and 2018 for these and a number of additional tools. If you would like to be involved in the development of these tools, please contact us.