text:
You are here: Home > Writing in Education > Writing at University > Writing in Practice > Current Issue > Vol. 5 > "That Wicked Arsonist": Writing the musical interlude
"That Wicked Arsonist": Writing the musical interlude
Author: Eric Bronson
Eric Bronson surveys music featuring in fiction, mapping influences on his own novel's narration of ragtime jazz.
How can we use words to describe the irrational effects of music? I confounded myself with this question while writing my historical fiction novel on ragtime composer Scott Joplin. Inevitably, writing music into fiction reveals a kind of literary schizophrenia inside us authors. On the one hand, introducing music is a useful literary device for giving characters and readers non-rational, affective experiences that plot-driven language labours to achieve. But musical melodies also open our texts to misunderstanding and misappropriation. It's a highly flammable compound. Once I learned how all written words are kinds of musical sparks, I discovered more dynamic and dangerous ways of writing scenes.
Keywords: Musical interlude, absolute music, emotion theory, madness, formalism, performance reading
Here's what we know. Sometime around 1899, after a childhood of poverty and personal tragedy, John Stark, a white ex-ice-cream salesman, heard a black piano player belt out syncopated music in the classical tradition and was deeply moved. Today, when we hear Scott Joplin's "Maple Leaf Rag", or his "Entertainer", it sounds cartoonish, childlike. How can we explain what Stark heard? What he felt? How can anyone put words to a moving musical experience? That was my primary interest and challenge while writing King of Rags (Bronson 2013), a fictional account of the desperate yearnings of underbelly artists in America's ragtime era. I'm not the first person to try to put something lyrical and unspeakable into words. And to be perfectly honest, I'm hardly the first author to fall short of my highest hopes.
In the opening of Andrei Bitov's novel, The Symmetry Teacher, a grumpy writer bemoans his own irrelevancy and the pointlessness of his published books. "You reach toward God and it's words, you fall to earth - and it's your homeland" (2014: 51). According to Bitov's fictional character, a well-written novel might fire the imagination but its wildest flights of fancy must always land us close to home. The problem is not the considerable talents of so many novelists, but the mealy language we have to work with. As many of us frustrated authors have discovered, there always seems to be something just out of reach of the written word.
Because musicians don't need to rely solely on words, they would seem to have some built-in advantages over the rest of us confined by our respective and restrictive languages. Music seems like the ideal discount carrier, spiriting its listeners off to the most sought-after places cheaper, faster, on a more direct route than the best literature can ever offer. In Madame Bovary, Gustave Flaubert writes, "Human speech is like a cracked tin kettle on which we hammer out tunes to make bears dance when we long to move the stars" (1892: 210). According to Flaubert, written language is a broken instrument, its best authors destined to be second-rate musicians.
At the core of the issue is the role of the emotions. Jenefer Robinson, an advocate of the emotion theory, argues that "music works through 'non-cognitive' channels and evokes at least some aspects of emotion, such as physiological changes, in an automatic way" (2005: 412, fn. 7). Even philosophers of music who deny direct connections to the emotions acknowledge the inherent advantage music has over literature. Whether one adheres to the idea that the musical experience is "meaningful of emotions" (Davies 2003: 128), or simply an "aural pleasure of the mind" (Kivy 2009: 243), the point is the same. Namely, that music, absolute music, is unique because it points to no specific content. Its sweetest strains are "bearers of vital import without denotative significance." (Bowman 1998: 215) Because it does not obviously represent anything concrete, absolute music helps liberate us from the world that language inevitably engages (Kivy 1997: 204).
If you can't beat 'em, join 'em, the theory goes. Since the novel's flowering in the Romantic Age, many of the best writers have sought to transcend the perceived deficiencies of their art by incorporating musical interludes into their stories. It is a dangerous courtship because any attempt to trap music in the snare of language often blows up the carefully constructed narrative bridge between the reader and the story.
The Madness of the Music
In King of Rags, I wanted to make rational points that capture the spirit of ragtime. That's the first impossible challenge because a large part of music's appeal lies in its non-rational effect on the listener. Traditionally it has played well alongside religious or mystical states that cannot be explained or even understood in words. As Pablo the jazz musician explains in Herman Hesse's Steppenwolf, "Though I carried the complete works of Bach and Haydn in my head and could say the cleverest things about them, not a soul would be the better for it. But when I take hold of my mouthpiece and play a lively shimmy, whether the shimmy be good or bad, it will give people pleasure. It gets into their legs and into their blood" (1964: 132).
The Steppenwolf, ever "dreaming of a speech without words that utters the inexpressible and gives form to the formless," inevitably concedes to Pablo. He comes from a long line of German intellectuals who have "constantly rebelled against the word and against reason and courted music" (1964: 135). Throughout the novel, Hesse shows us how a fictional writer learns to sing the praises of music over the written word.
But to be persuasive the author must rely on the structure and grammar of the German language. It is a kind of literary schizophrenia inherited from 19th century novelists. Romantic writers were understandably uneasy about advocating for the irrational, for trying to get into the "legs and the blood" of the readers through rational language. "The assiduous demand that music be subordinated to a text is symptomatic of their disquiet" (Hamilton 2008: 124). Authors of the Romantic Age dallied with music to give readers a passionate experience. But then the author returned the reader back home as though nothing happened, as though ordinary language in an orderly world might still hold some kind of authority after the breathless experience the musical interlude helped trigger.
It is a strange thing courting the very thing that one will have trouble subordinating. And yet that is precisely what the Romantic writer of the musical interlude appears to do. In Leo Tolstoy's short story, "The Kreutzer Sonata", the narrator recognizes the power of music to destroy his carefully calculated, stable world. He is well-versed in "the intimacy that's associated with artistic pursuits - with painting, and especially music" (2008: 161). But when he catches a famous violin player suspiciously alone with his wife, he politely walks him out, because "how could one fail to accompany out a man who had arrived with the express purpose of shattering one's peace of mind and destroying the happiness of a whole family?" (2008: 162).
Tolstoy's narrator then goes out of his way to invite guests to hear the violin player play a duet with his wife. He, better than anyone, knows that a certain kind of music played a certain kind of way is "such a fearful thing;" it "sometimes has such a horrible effect," sometimes even "the most shattering effect" (2008: 163). The irrational music is a formidable foe to the more rational, language-governed worldview of the lead character. As John Hamilton reminds us, music is "capable of befuddling the clear thinker, driving the resolute into perplexity, or even sinking those already unstable further into madness" (2008: 122).
The drawing-room concert is a particularly vivid backdrop for the clash of two seemingly antithetical worlds. Tolstoy's narrator, like Tolstoy himself, courts the irrational powers of music, fully aware that it must call his own written works into serious question. For the reader, it's more than shattering. It's damning. The musical interlude cannot be the last "word." Otherwise, the defeat of language, and the rational structure that so often informs it, takes us down an all-too-slippery slope into disorder, chaos, even madness. Hamilton presciently points out that "music and madness disrupt the clear and clean working of plot driven language" (2008: 150), which again returns us to the question, why do it at all?
In his semi-autobiographical novel, composer, critic, and novelist E. T. A. Hoffmann introduces the reader to the volatile Kapellmeister, Johannes Kreisler. Volatile because, as his friend tells him, "music affects you too strongly, even destructively; for at the performance of any excellent work your whole being seems filled with it, and at the same time all the features of your face change. You become pale and incapable of speech..." (1999: 63). Hoffmann takes us again into the drawing-room to show Kreisler at his maddening best. At the piano, accompanying his newest apprentice, Kreisler shamelessly plays music without restraint, "to founder in the roaring stream of chords until ardent sighs announced imminent death and the last addio burst forth in a wild cry of pain from the lacerated heart like a fountain of blood" (1999: 118).
The drawing-room guests are mesmerized. Only the Princess calls Kreisler out for his dangerous music. She begs him to consider if it is "proper, that in a pleasant gathering where friendly conversation should prevail . . . that such extravagant things are served up which lacerate the soul and whose powerful, destructive effect cannot be mastered?" (1999: 118). Kreisler responds, "No matter how much tea, how much sugared water, how much respectable conversation, even how much pleasant chitchat one spills out, this or that wicked arsonist still succeeds in throwing a firecracker in our hearts and flames flare up, flare up and even burn, which pure moonlight never does" (1999: 118). Hoffmann, an author and composer, recognizes that the "wicked arsonist" of music de-stabilizes what civilization and his own structured language set out to conquer.
But what is that wicked arsonist that music and the author of the musical interlude unleashes on civilized society? It's an alluring metaphor because unlike the more private disintegration of a literary character, it implies a public threat. An arsonist rarely strikes one time. Musicians, writers, revelers and readers: now we're all at risk.
The Petite Affect
Perhaps the best-known writing of a musical interlude is Proust's depiction of a beautifully played piano sonata in Swann's Way, the first book of Proust's Remembrance of Things Past. One petite phrase in the sonata affects Swann deeply, more deeply than anything he has read or written. Once again, an author shows us how music picks up from where the written word dies.
With a slow rhythm it led him first here, then there, then elsewhere, towards a happiness that was noble, unintelligible and precise. And then suddenly, having reached a point from which he was preparing to follow it, after an instant's pause, abruptly it changed direction, and with a new movement, quicker, slighter, more melancholy, incessant and sweet, it carried him off with it towards unfamiliar vistas. Then it disappeared. He wished passionately to see it a third time (1969: 212-213).
Swann, like Proust, recognizes how difficult it is to nail down musical impressions in one coherent thought.
In the classic formalist argument, first philosophically articulated by Hanslik in 1891, music is so difficult to comprehend rationally because it isn't about anything, at least nothing we can pinpoint in our everyday language. It would seem that the best thing authors can do is politely step aside and put down their words once the music starts. It's noteworthy that Proust never puts a name to his sonata. "It would be impossible for Proust to label a tune," writes E. M. Forster, author and musicologist. "He understands too much about music, and also about people, to suppose that the relationship between them could be bottled up in words" (1964: 103).
But something is happening inside the fictional Swann, and something also is being put into words. In Proust's fiction, only Swann is affected in such a potentially life-changing way. The other regulars who gather in the drawing-room for idle banter are surprised and amused by Swann. Even the pianist fumbles with clichés in his explanation about what he has played. Life will continue as always for the others. Life appears to continue as always for Swann, too, but now his peace is forever disturbed. A musical experience has uprooted him. After thinking it through rationally, in common language, he comes to the devastating conclusion that more interesting life paths are forever closed to him.
But what is it that Proust's Swann is experiencing? Can we be more specific? It's hard to say, or write, exactly. When a musical interlude like Proust's mysterious sonata is introduced into the prose, it breaks the more authoritative, passive experience of understanding a fictional character exactly the way the author intends. So many details of Swann's life are painstakingly constructed by Proust (or more accurately, constructed by Proust's invented narrator). The concert in the drawing-room is the first time Proust fully opens Swann up to the reader's interpretation. The author of the musical interlude appears to relinquish the very control of the narrative he had so carefully constructed.
Music serves as a welcome buffer between the author and reader. This space without substance, this sine materia is a fallow field left to the reader who is now freed to plant (or not plant) the seeds already given to her from earlier cues in the book, mixed together with her own interpretations and affective experiences from outside the novel. A fundamental aspect of affective appraisal is the recognition that we're all different from one another, each with our own unique interpretations. Musical interludes give the readers of fiction a safe space to work out the ideas for themselves. Then, as they come to terms with what they've experienced, they performs a kind of "'cognitive monitoring' of emotional experience" (Robinson 2005: 256) that leans on the writer's language. Proust draws on music to create a dramatic break in order to highlight a dramatic change inside his character. But in doing so, he has given up the power to dictate precisely what those changes are and how they ought to be interpreted.
A long line of Romantic authors before Proust interrupted their linear prose without relying on music. Whether it was a stormy night at sea or a love affair on land, there were countless scenarios one could call upon to break the everyday prose. But music has one advantage over Romantic terror and heartbreak. The same music can be repeated. Even before piano rolls and MP3 players, notated music could be played again and again. Obviously, no two performances could ever be exactly alike, but the same strains of music could be repeated to help certain trains of thought rumble across our multi-tracked minds. It is telling that in Proust's passage it isn't the first time Swann has heard the petite phrase. It won't be the last time either. At least three different piano players will trigger that something, whatever it is, welling up inside of Swann. Unlike many powerful, but transient mystical experiences, a repeatable musical performance makes for a useful literary device to develop a character's cognitive monitoring over time.
What is interesting for me is that in pairing literature with music, the authors seem so uneasy with their invited guest. By introducing the musical interlude, the author appears to retreat, surrendering control of the story to the reader and the whimsical rhythms of the fictional music. In the beginning of the writing process I wanted to put the sounds of ragtime music to words, but still control the narrative arc. In short, I was destined for disappointment.
Musical Discords
An important characteristic of music, as noted at the outset, is its absence of clearly signified meaning. But without clearly signified meanings, musical works can be easily misappropriated, or at least appropriated in ethically irresponsible ways. Music can be used as an escape from the social community, a replacement for the hard work of authentically helping others. One can become lost emotionally, cowardly retreating or violently striking out instead of seeking more constructive means of expression. You can say whatever you want about music, and who can tell you you're going off-track?
John Updike makes his readers uncomfortable with the musical interlude he writes into his short story, "Ace in the Hole." The central character, Ace, is Updike's prelude to his better-known Rabbit Run anti-hero who is never quite strong enough to stay in the world he makes a mess of. In "Ace in the Hole," Ace has lost his job and must come clean to Evey, the mother of his child. The time for a serious talk is at hand. But then, Updike writes, "The radio came in on something slow and tinkly: dinner music" (Updike 2003: 151). Evey wants to talk. There are issues. Real issues like finances, a baby, a cloudy future understood too casually, irresponsibly. "When with a sudden injection of saxophones, the tempo quickened," Ace continues to regress, turning to the music instead of to the everyday problems that need to be addressed. "The music ate through his skin and mixed with the nerves and small veins; he seemed to be great again, and all the other kids were around them, in a ring, clapping time" (151). Music in Updike's story offers a juvenile escape in which nothing is resolved come closing time.
It appears that the creative writer's turn to music comes with a Faustian bargain. Authors get a one-time pass of unparalleled, ecstatic transcendence from their stories in exchange for the real long-term risk of the reader's self-aggrandizing misinterpretation. The hedonistic and otherworldly appeal of music is a difficult thing to pull off responsibly in literature and in life. In Willa Cather's Song of the Lark, Spanish Johnny is a trustworthy character, upstanding and useful in the fictional town of Moonstone. But he also has a secret, a poorly kept secret. He plays the mandolin. Beautifully.
His talents were his undoing. Periodically he went crazy. There was no other way to explain his behaviour. He was a clever workman, and, when he worked, as regular and faithful as a burro. Then some night he would fall in with a crowd at the saloon and begin to sing. He would go on until he had no voice left, until he wheezed and rasped. Then he would play his mandolin furiously, and drink until his eyes sank back in to his head. At last, when he was put out of the saloon at closing time, and could get nobody to listen to him, he would run away - along the railroad track, straight across the desert (Cather 1999: 40).
Spanish Johnny runs away from his stable, workaday, family routine. But after exhausting himself on one of his infamous music benders, he always returns home. Granted, as Cather humorously writes, he returned "once with an ugly knife wound in the neck, once with a finger missing from his right hand - but he played just as well with three fingers as he had with four" (1999: 40). When he does finally return, he commits himself all the more earnestly to his more stable, more lasting personal and professional relationships. But as readers, we aren't likely to be convinced so easily.
Cather contrasts Spanish Johnny with Wunsch, the German piano teacher. Wunsch dedicates his life to the arts, searching for beauty inside the music. He plays Gluck, even German folksongs, anything to help him discover "the secret - what makes the rose to red, the sky to blue, the man to love..." (1999: 40). But the pressure to balance his artistic sensitivities with his life in a small-town is too much to bear. Without an outlet to express his inner music, Wunsch slowly loses his mind. He drinks heavily. In one particularly shameless night he wields an axe, looking to cut down anything in sight. "His face was snarling and savage, and his eyes were crazy" (1999: 73). In Cather's writing, music represents something inside some people that is dangerous, raw. The solution is not to combat it or bottle it up but to give it space, work through it, put it into language.
There is a bridge between language and music, albeit a "rickety bridge" (Forster 1964: 104) that the writer of the musical interlude is encouraged to cross. Much will depend on the abilities of the writer to convert the music back into a plot-driven language that tempers the more interesting emotions the passage has tapped. It's a catch-22 that invariably confounds one's readers. On the one hand, the writer forcibly leads their readers away from the euphoria of the music, back into the every-day language they so willingly left. On the other hand, if the readers give in to the music, they may find themselves too emotionally charged, like the fictional characters the author has bargained for.
Reading Sounds of Music
Today it is commonplace to invite musicians to play at book launches and readings, or to give the microphone over to poets and writers at music venues. But this joining of performance, spoken word, and music was still novel in some of the great social movements of the 20th Century: protesting South African apartheid, European nuclear proliferation, and American sexism. In New York City, the beat writers were among the first American novelists to join forces with musicians. In 1959, Jack Kerouac and jazz musician David Amram performed together at the Brata Art Gallery. Almost immediately, musicians and writers joined forces across the country against a common enemy: American authority at home and abroad. By the 1960s, hippie love-ins were peopled by rebels, writers, and music-makers. They came to dance and to protest, offering up flowers as readily as their middle fingers.
"'Let's be gay!' sings Emilia St. Claire in Kerouac's novel, Doctor Sax. "I want you all to be frightfully mad! I feel so the need for something different!" (1987: 138). The revolution was on and the writers and musicians were on the front line. For Kerouac the enemy was the sane people, the rational ones, the "formalistic bores". For so many novelists of the 1960s, musicians and their legions of fans were allies, fellow critics of Modernity.
The musical interlude helped connect the literary author to the hipster protestors, however briefly. The problem, as earlier noted, is that prose can't stay with the protestors for very long. The musical interlude is just that. Words must still win out. After the barricades are breached the story continues uninterrupted. In its protest, absolute music must also end. Like the writer, the most sublime saxophone player still eats and sleeps in this mundane world; his most interesting moments of madness must be tempered with practical skills at negotiating the everyday kind of problems. As Theodor Adorno writes, "Music shows its similarity to language once more in that, like signifying language, it is sent, failing, on a wandering journey on endless meditation to bring home the impossible" (1993: 404).
What are we to make of this delicate merger between language and music? Are they bound together by a Quixotic quest to "bring home the impossible"? Probably, but that's also what makes the tenuous union so alluring. Not everyone agrees. William Faulkner acknowledged that there are many things composers can do better than fiction writers, "but I prefer to use words as I prefer to read rather than to listen. I prefer silence to sound, and the image produced by words occurs in silence. That is, the thunder and the music of the prose takes place in silence" (1980: 248). Faulkner reminds us that unlike the fictional characters in a musical interlude, readers of words are not, in actuality, listening to music. Even during the most raucously described musical scene, readers sit in silence, hearing nothing inside the book. Or do they? Leaving aside the entire industry of audiobooks where singing passages are often literally sung by professional singers (Irwin 2009), philosophers of literature are beginning to turn a more sensitive ear to the sounds of printed words.
Peter Kivy compares reading a book to playing the piano. Even the amateur piano player is listening to his own "performance", says Kivy (2006: 12-13). Similarly, readers of fiction perform narratives to themselves. They are, in a real sense, hearing voices played by themselves. Readers are actors performing the author's script in their head, so that "it seems far more plausible to conceive of novel-reading as hearing rather than seeing in the head" (2006: 124). What follows, then, is a multitude of voices dynamically and dramatically acting inside one's head. Again, the connections to madness are disturbingly close to home, as Kivy is well aware. "This is how I think I experience the silent reading of a story; and I doubt that I am some kind of weirdo in this regard" (2006: 124).
I'm inclined to believe Kivy is right. He isn't a weirdo. At least no more so than the rest of us writers and readers. The Beat writers were instrumental in their lyrical attention to rhythms, to the musicality of their words. Their musical interludes are meant to sound like music. Whether it is a trumpet player blowing "confessions of his bellybottom strain," (1999: 195) or George Shearing "playing innumerable choruses with amazing chords" (1999: 229), the reader should hear the music behind the words. But what makes Kerouac and the Beat writers so unique is that even when they are not writing about music, their words still have a musical rhythm. At times they seek to capture in words that which is behind the music.
Kerouac, like many of the Beat writers, was also a poet, so his attention to the sounds of words is not surprising. But today's post-humanist writers are also making it their project to expand written language to include voices and sounds, specifically, non-human speech. If we think of speaking "wherein the meaning is inseparable from the sound, the shape, and the rhythm of the words," then, as David Abram argues, "[c]ommunicative meaning is always, in its depths, affective; it remains rooted in the sensual dimension of experience, born of the body's native capacity to resonate with other bodies and with the landscape as a whole" (1997: 74-75). The very act of writing and reading can help make connections to a larger, natural world of music with "each language a kind of song, a particular way of 'singing the world'" (1997: 76).
Let's briefly return to Cather's Song of the Lark. Her main character, Thea Kronberg, leaves the piano to sing opera. Her talents are immense. Before falling off the deep end, even Wunsch observes that much from Thea's reading out loud.
It was a soft, rich contralto, and she read quietly; the feeling was in the voice itself, not indicated by emphasis or change of pitch. She repeated the little verses musically, like a song, and the entreaty of the flower was even softer than the rest, as the shy speech of flowers might be, and she ended with the voice suspended, almost with a rising inflection. It was a nature-voice, Wunsch told himself, breathed from the creature and apart from language, like the sound of the wind in the trees, or the murmur of water" (1999: 71).
Thea put something extra into her ordinary language, and then, "everything was more interesting and beautiful, even people" (1999: 73).
An inspired artist will look for music everywhere. As the composer John Cage noted, "there is no such thing as silence. Something is always happening that makes a sound" (Sontag 1969). If Cage is right, then, following Kivy, we can state that writing musically also sounds a note. One doesn't need to read "out loud" to appreciate reading as a kind of not-so-silent language. What we are left with, then, is a world in which even written words produce sounds, and sounds that can be crafted into something like music by the lyrical author. When we read an author's musical interludes we are not only acting parts, we are also making music, giving our own unique interpretations on the kinds of music the author composes.
In conclusion, we see that when, as authors, we introduce musical interludes in our stories, they can be maddening and misunderstood, misappropriated and even misread. The move to sprinkling in music in literature is problematic because it enlists the reader in ways we can't fully predict or protect. But what I learned through my own writing process is that a well-written musical interlude helps show us the music underneath the words and the ways it might draw us closer to the larger, "natural" world. We see how, as Hamilton argues, "music and verbal language emerge as processes that are better understood as energetic" (2008: 181).
So much, of course, depends on us, the writers. We can ignore the "processes" and continue writing in presumed silence, where nothing crackles and nothing burns. As readers, we might simply continue on with our dry gossip and brittle lives after the concert in the drawing-room. But we'll also have to be extra vigilant. Words, like musical notes, are tiny sparks, and when written or read a certain way, there's no telling what will catch.
Abram, D. (1997) The Spell of the Sensuous. New York, NY: Random House.
Adorno, T. (1993) Music, Language, and Composition. Tr. Susan Gillespie. Musical Quarterly 77 (3), 401-414.
Bitov, A. (2014) The Symmetry Teacher. Tr. Polly Gannon. New York, NY: Frarrar, Straus, and Giroux.
Bowman, W. (1998) Philosophical Perspectives on Music. Oxford: Oxford University Press.
Bronson, E. (2013) King of Rags. Miami, FL: Neverland.
Cather, W. (1999) The Song of the Lark. New York, NY: Vintage.
Davies, S. (2011) 'The Experience of Music' in Musical Understandings: and Other Essays on the Philosophy of Music. Oxford: Oxford University Press.
Davies, S. (2003) Themes in the Philosophy of Music. Oxford: Oxford University Press.
Faulkner, W. (1980) Lion in the Garden: Interviews with William Faulkner (ed. J.B. Meriwether and M. Millgate). Lincoln, NE: University of Nebraska Press.
Flaubert, G. (1892) Madame Bovary: Provincial Matters (trans. E. Marx-Aveling). London: W.W. Gibbings.
Forster, E.M. (1964) 'Word-Making and Sound-Taking' in Abinger Forest. San Diego, CA: Harcourt Brace Jovanovich.
Hamilton, J. (2008) Music, Madness, and the Unworking of Language. New York, NY: Columbia University Press.
Hanslick, E. (1986) On the Musically Beautiful: A Contribution Towards the Revision of the Aesthetics of Music (trans. G. Payzant). Indianapolis, IN: Hackett.
Hesse, H. (1964) Steppenwolf. New York, NY: Holt, Rinehart, and Winston, Inc.
Hoffmann, E.T.A. (1999) The Life and Opinions of Kater Murr, in The Selected Writings of E.T.A. Hoffmann (trans. L.J. Kent and E.C. Knight. Chicago, IL: University of Chicago Press.
Irwin, W. (2009) Reading Audio Books. Philosophy and Literature 33 (2): 358-368.
Kerouac, J. (1987) Doctor Sax. New York, NY: Grove Press.
Kerouac, J. (1999) On the Road. New York, NY: Penguin Books.
Kivy, P. (2006) The Performance of Reading: An Essay on the Philosophy of Literature. Oxford: Blackwell Publishing.
Kivy, P. (2009) Antithetical Arts: On the Ancient Quarrel Between Literature and Music. Oxford: Oxford University Press.
Kivy P. (1997) Philosophies of Arts: An Essay in Differences. Cambridge, Cambridge University Press.
Proust, M. (1969) Remembrance of Things Past. Vol. 1 (trans. C.K. Scott Moncrieff and F.A. Blossom. New York, NY: Random House.
Robinson, J. (2005) Deeper than Reason: Emotion and its Role in Literature, Music and Art. Oxford: Oxford University Press.
Sontag, S. (1969) 'The Aesthetics of Silence' in Styles of Radical Will. New York, NY: Farrar, Straus, and Giroux.
Tolstoy, L. (2008) The Kreutzer Sonata and Other Stories (trans. D. McDuff). London: Penguin.
Updike, J. (2003) "Ace in the Hole" The Early Stories, 1953-1975. New York, NY: A.A. Knopf.
Barthes, R. (1977) Heath, S. (trans.) Image-Music-Text. New York, NY: Hill and Wang.
Berlin, E. (1994) King of Ragtime: Scott Joplin and his Era. Oxford: Oxford University Press.
Forbes, C. (2008) Introducing Bert Williams: Burnt Cork, Broadway, and the Story of America's First Black Star. New York, NY: Civitas.
Gracyk, T. (2014) The Routledge Companion to Philosophy and Music. New York, NY: Routledge.
Jacobs, A. (2011) The Pleasures of Reading in an Age of Distraction. Oxford: Oxford University Press.
Johnson, J.W. (1995) The Autobiography of an Ex-Colored Man. New York, NY: Dover.
Kay, J. (1998) Trumpet: A Novel. London: Picador.
Ondaatje, M. (1998) Coming Through Slaughter. Toronto: Vintage.
Eric Bronson's first work of historical fiction, King of Rags (Neverland) was published in 2013. He teaches in the Humanities Department at York University in Toronto, Canada. In his academic life he's edited five books in the Philosophy and Popular Culture series first with Open Court and later with Wiley-Blackwell. His work focuses on the philosophy of literature and the limits of language. His first world religions textbook, Enchanted Wisdom: Enduring Philosophies of World Religions (Rock's Mills), is due out in 2020.


text:
Q: Mystery UTF-8-like encoding I've been given a file that is supposedly in UTF-8, but there are some weird encodings for some of the non-english characters.  For example, in this mystery encoding, the Hangul string

한국경북영덕군강구면

is encoded as:

0xED959C 0xEAB5AD 0xEAB2BD 0xEBB63F 0xEC983F 0xEB3F95 0xEAB5B0 0xEAB095 0xEAB5AC 0xEBA9B4

(differences in bold) rather than the standard UTF-8:

0xED959C 0xEAB5AD 0xEAB2BD 0xEBB681 0xEC9881 0xEB8D95 0xEAB5B0 0xEAB095 0xEAB5AC 0xEBA9B4"

I'm seeing the same phenomena with Cyrillic and Chinese characters--some characters have the same encoding as UTF-8, but some are different.  The garbled characters have the same byte width as the non garbled ones and I've verified they aren't part of an extension set.  Also, I've already verified this is not Java "Modified UTF-8".
Any other ideas as to what this may be?
BTW: I don't have access to the code or people who originally wrote the file.
Also, I'm on Mac 10.11.6 in case that has anything to do with it.

A: Your example string consists of UTF-8, but with certain byte values (namely x81 and x8D) replaced with the ASCII question mark ? (x3F). The only plausible explanation is that your example string has passed through a piece of software that tried to interpret its contents according to some other encoding (probably a single-byte character set), and that replaced "invalid" characters with ? (analogously to how a Unicode text processor might replace invalid Unicode characters with U+FFFD).
Unfortunately, that process is not really reversible, since at least two distinct byte values (and probably more that don't happen to appear in your example) got replaced, so there's no guaranteed way to identify the original byte value in every case. Depending on how important this is — that is, depending how much time it's worth spending on it — you could potentially identify the complete set of bytes that got replaced, and then write something that tries each possible value for each byte, comparing the resulting character-sequences with (say) bigram frequencies from some corpus of text in the relevant language, and selecting the most-probable byte. (Of course, it will make some mistakes. To estimate the resulting error rate, you can try the same process on a known text.)

redpajama_set_name: RedPajamaStackExchange


text:
SPECIAL SALE!!
Artifacts & Coins
Dinosaur Tumblers
Fossil Displays & Supplies
Fossil Jewelry
Gems & Minerals
Home Decor Items
Invertebrate Fossils
Kids Corner NEW!!!!
Paleo Artwork
Solnhofen Fossils
Vertebrate Fossils
WORLD CLASS FOSSILS
Framed Dinosaur Stamp Set
Paleo Art Collection
Framed Dinosaur Stamp Set quantity
SKU: Framed Dinosaur Stamp Set Category: Paleo Artwork Tags: dinosaur souvenir, dinosaur stamps, paleo art
This set of stamps will come in the matted frame as shown. The stamps are UNUSED and the sheet is complete.
Frame measures 11″ x 14″
1997 WORLD OF DINOSAURS #3136 Sovenir Sheet of 15 x 32 cents US Postage Stamps – IN 1997 the USPS issued the World of Dinosaurs sheet depicting two scenes – one from Colorado during the Jurassic period (about 150 million years ago) and one from Montana during the Cretaceous period (approximately 75 million years ago.) James Gurney, the artist who created this design, worked directly with paleontologists and paleo-botanists to accurately capture the dinosaurs, other animals of the period, and appropriate plant life. One of the scientific advisers Gurney consulted with was prominent U.S. paleontologist Jack Horner. Horner's discoveries have significantly advanced the world's knowledge of dinosaurs. The scientist also served as a consultant for the Steven Spielberg films "Jurassic Park" and "The Lost World." Scheduled for release late in 1997, The World of Dinosaurs stamps were rushed for issue on May 1, to coincide with the release of the Steven Spielberg sequel to "Jurassic Park – The Lost World." This blockbuster movie thrilled audiences with its lifelike depiction of dinosaurs. First Day of Issue ceremonies for the stamps were held at the Dinosaur Valley Museum in Grand Junction, Colorado – located in the heart of the world-famous "Dinosaur Triangle." This Triangle, which extends from western Colorado to northeastern Utah, has produced a wealth of dinosaur excavation sites.
Round Devonian Goniatite Decorative Bowl #7
Fossil Decorative Collection
Devonian Goniatite & Orthoceras Decorative Display #3
Heart Devonian Goniatite Decorative Bowl #5
© 2019 Indiana9 Fossils - WordPress Theme by Kadence Themes

redpajama_set_name: RedPajamaCommonCrawl


Roam the galaxy with an Imperial Star Destroyer!
Decorate your bag or backpack with this mini LEGO® Star Wars Star Destroyer. The pieces are glued so it will never come apart, while the sturdy ring and chain are just the thing for trips into hyperspace… or the schoolyard!
Features a LEGO® Star Wars Star Destroyer mini build attached to a sturdy metal ring and chain.
Mini build is not detachable from metal ring and chain and cannot be disassembled.
A great gift for fans of LEGO® building sets and the Star Wars universe.


text:
Giant Pong Game Played on the Side of a Building
Watch a giant 'Pong' game played on the side of a 29-story building
On Friday evening, Philadelphians were treated to a larger-than-life version of a gaming classic. The side of the Cira Cenre — a 29-story building lined with programmable lights — was turned into a massive Pong game, letting players control three-story-high paddles via a laptop. Dr. Frank Lee, the Drexel University professor who programmed the show, was inspired by seeing the Cira Centre's lights five years ago. "For whatever reason, I saw in my mind's eye… Tetrisshapes outlined by those lights, falling and twisting and rotating," he told Polygon. To make the game work, he had to connect a port of Pong to the building's roughly 1,500 LEDs, using both the building's own light-show software and another program created to communicate with it.
Despite getting off to a rough start due to connectivity problems, the game apparently made a strong showing on April 19th, helping kick off Philly Tech Week. It's also set to come back on the 24th. Andrew Cunningham at Ars Technica, who made the video above, has written an excellent breakdown of Lee's five-year struggle to get the Cira Centre on board and build the game — and an account of what it feels like to actually play an over 400-foot-high game of Pong.
Published April 22, 2013 By MrWalker
Categorized as Computer Science Tagged Games, inspiration, Pong
Web Designer: Formal Degree or Self Taught
Snapchats Don't Disappear


Roger Federer is dominating tennis in a way all other athletes would envy, but most advertisers and Americans don't know who he is.
NEW YORK (CNNMoney.com) -- Roger Federer is probably the most dominant athlete active today, yet there are two places he hasn't been able to win -- the French Open and Madison Avenue.
The former is understandable. The clay courts of Roland Garros make tennis there almost a different sport from contests on other surfaces. And Federer probably would have a couple of French Open titles under his belt to go with all his other majors if he wasn't always running into Rafael Nadal, who is as dominant on clay as Federer is on other surfaces.
Tennis superstar Roger Federer has had trouble breaking through with advertisers, although his upcoming spots for Gillette could help to change that.
His inability to win on Madison Avenue? That's much tougher to understand.
"It's pretty much a mystery to me," said Bob Dorfman, an endorsement expert and editor of the Sports Marketers Scouting Report news letter. "I could probably walk down the street, he could walk by and I don't know if I would notice him."
Even though Federer lists Nike (Charts, Fortune 500), Rolex and Wilson Sporting Goods among his sponsors, he's yet to appear in a national television ad campaign in the United States.
He's a good looking guy (he made People magazine's list of sexiest people), is well spoken (He's Swiss, and his English has only the hint of an accent) and has a gold-plated reputation as genuinely nice person.
And on the court, he's as dominant as can be imagined. Outside of the French Open, it's news when he loses a set, let alone a match.
He's the overwhelming favorite to win his fifth straight Wimbledon title in this year's tournament, which is currently underway, as well as his fourth straight U.S. Open this September. He's already won his second straight Australian Open title.
His chances of someday overtaking the record for most majors in his sport from Pete Sampras are arguably greater than his pal Tiger Woods' quest for the same record in golf.
And for all the talk about how Americans love the underdog, the truth is that U.S. sports fans, and especially advertisers, love dominant champions more than anything else. Federer perfectly fits that bill.
Yet surveys conducted by talent agency Davie Brown and Marketing Evaluations, which does the Q score ratings used by potential advertisers when considering which celebrities to use in their spots, say that he's only known by about 22 to 27 percent of Americans surveyed, far less than the top female players in his sport, such as the Williams sisters and Maria Sharapova.
He even has less than half the recognition of Anna Kournikova, who has a new endorsement deal and a national commercial with K-Swiss (Charts), even though she's no longer playing competitively, and was never all that competitive when she was playing.
"The biggest detriment (to Federer's endorsements) is really the visibility and exposure of tennis, at least on the men's side," said Scott Sanford, senior director of talent at Davie Brown. "The lack of American talent on the men's side has a negative effect on his domestic visibility and marketability. He's picked the wrong time to be dominating."
Another part of the problem has been that Federer hasn't really sought big endorsement deals in the past. One of the things that athletes from LeBron James to Peyton Manning to Tiger Woods have all discovered is that being in high profile ad campaigns helps to bring more high profile ad campaigns.
"He's got the lowest negatives of any tennis player right now, next to Chris Evert," said Henry Schafer of Marketing Evaluations. "He's in a decent position for growth if someone steps up to take advantage of him."
That's why it's possible the most important break through Federer might make with sponsors this year isn't another major title or three, but his first set of U.S. national ads, set to start airing later this summer, for Procter & Gamble (Charts, Fortune 500) unit Gillette. He'll be appearing with Woods and European soccer star Thierry Henry in the razor maker's new Gillette Champions global ad campaign.
"From our standpoint, he fits perfectly in the campaign," said Gillette spokesman Mike Norton. "From an icon point of view, he fits nicely in the male grooming category."
Being in spots with Woods can only help Federer, especially if it stirs up talk about which of the two is more dominating, and if the spots show some interplay between him and his famous pal. Federer joked at the Gillette press conference that Woods has an easier time competing than he does "because he always plays on grass."
But Thierry Henry is so unknown to U.S. sports fans that he probably makes Federer look like Paris Hilton in terms of name recognition. So the risk for Federer is that the ads could come across as "Tiger and those two guys I don't know," even in the eyes of many big sports fans, let alone casual fans.
Still, getting any exposure has to be considered a good thing for sports' most anonymous super star. And it might be something that some future sponsors can take advantage of.
"He certainly would have been perfect for the old American Express "Do you know me? campaign," said Dorfman. "Maybe some sponsor can play off of that angle, the greatest athlete that nobody knows, and maybe the product he's selling can help him become more recognizable."


text:
Steve Lewis
Joe Kates
Airliners / Airshow / military / Royal Canadian Air Force / Transports / USAF Thunderbirds
The "Thunder" in the 2018 Thunder Over Michigan Airshow
by Scott Jankowski · February 16, 2019
The 2018 Thunder Over Michigan Airshow held as usual at the famed Willow Run International Airport just outside of Ypsilanti Michigan celebrated its 20th birthday. This annual airshow never fails to impress, the 2018 event brought together several different warbirds and modern military aircraft. The 2018 headliner was the United States Air Force Thunderbirds. In this article we take a look at the modern military aircraft that the United States Air Force and United States Navy that brought the "Thunder" to the show.
The United States Navy brought trainers in mass in the form of 3 Beechcraft T-6 Texans II and 3 Boeing T-45C Goshawks. Beechcraft T-6's 166181,166185, and 166757 are part of Training Air Wing 5 (TAW-5) and are based at Naval Air Station Whiting Field Florida. Training Air Wing 5 trains aviators from the United States Navy, Marine Corps and Coast Guard and trains approximately 1200 students a year. Training Air Wing 2 (TAW-2) had Boeing T-45C Goshawks 165640,165641, and 167092 in the static display. Training Air Wing 2 is based at Naval Air Station Kingsville Texas and produces 50% of the United States Navy's Tailhook Pilots. These aircraft departed during the Sunday afternoon Airshow.
Carrier Airborne Early Warning Squadron 120 (VAW-120) provided Grumman E-2C+ Hawkeye 164111 for static display. VAW-120 is based at Naval Air Station Norfolk Virginia and is responsible for training E-2 crews. The Hawkeye is an Airborne Early Warning and Control platform, with this version featuring improved avionics and electronics.
Patrol Squadron 30 (VP-30) brought Lockheed P-3C AIP (Anti Surface Warfare Improvement Program) Orion163290 from its base at Naval Air Station Jacksonville Florida for static display. VP-30 was established in 1960, with its primary mission being to train pilots and flight crews prior to reporting to the fleet. Approximately 100 Orion's remain in service with this version featuring enhanced electronics.
The United States Air Force and Air National Guard had fighters, tankers and transports on static display. Air Combat Command's 75th Fighter Squadron based at Moody Air Force Base Georgia has Fairchild Republic A-10C Thunderbolt II, 78-0649 on display. The 75th can trace it's history back to World War II, with their aircraft wearing the same Shark's Mouth that the famed Flying Tigers wore on their aircraft.
Air Education and Training Command's 58th Fighter Squadron based at Eglin Air Force Base Florida had a pair of Lockheed Martin F-35A-1B Lightning II's, 09-5002 and 09-5003 on display. The block 1B Lighting features enhanced software and warfighting capability. The mission of the 58th is to train United States Air Force operators and maintainers on employment and maintenance of the "A" model of the F-35.
The United States Air National Guard had five aircraft on static display. These included General Dynamics F-16C Block 42 Falcon 89-082 serving with the 112th Fighter Squadron. The 112th is part of the Ohio Air National Guard and is based at the Toledo International Airport. The 112th was formed back in World War I as the 112th Aero Squadron. The Block 42 F-16 is an improved model which can carry a LANTIRN (Low Altitude Navigation and Targeting at Night) Pod which give the F-16 a night fighting capability.
Also with the Ohio Air National Guard was Lockheed C-130H Hercules 74-1659 which arrived on Friday for static display. This Hercules serves with the 164th Airlift Squadron, part of the 179th Airlift Wing and is based at the Mansfield Lahm Air National Guard Base in Mansfield Ohio. The 164th was formed in 1942 and became part of the Air National Guard in 1946. This Hercules is named "Spirit of Ashland" with these titles placed above the main crew entry door.
A pair of Boeing F-15C Eagles, 81-036 and 82-010 serving with the 159th Fighter Wing arrived on Friday and departed during the airshow on Sunday. The 159th is part of the Louisiana Air National Guard and is based at the Joint Reserve Base (JRB) New Orleans Louisiana. The 159th is one of the original National Guard Observation Squadrons of the United States Army formed before World War II.
The last aircraft the United States Air National Guard had on display was Boeing KC-135T Stratotanker 60-0346. This KC-135 is based at Selfridge Air National Guard Base, located near Mount Clemens Michigan, and serves with the 127th Air Refueling Group. The KC-135T was originally designated the KC-135Q, which were the only KC-135's modified with two separate fuel systems to be able to refuel the legendary Lockheed SR-71A Blackbird.
Our friends to the North in the shape of the Royal Canadian Air Force had a pair of British Aerospace CT-155 Hawks 155203 and 155205 in the static display. These are Hawks are based at Canadian Forces Base Moose Jaw Saskatchewan Manitoba Canada are part of the NFTC (NATO Flight Training in Canada) the purpose is to train NATO (North Atlantic Treaty Organization) and allied air forces pilots.
The airshow headliner was the United States Air Force Demonstration Team, the Thunderbirds. The Thunderbirds flew their first demonstration 66 years ago and currently fly the General Dynamics F-16 C/D Block 52 variant of the Fighting Falcon. The Thunderbirds are currently based at Nellis Air Force Base Nevada and are part of the 57th Wing.
Those who attended the Saturday show were given an extra special surprise opener to the afternoon air show. Kalitta Airlines Boeing 747-4B5F, N702CK, departed and made a spectacular flyby down Willow Run's Runway 5 Right. This 747 departed Willow Run for Chicago O'Hare on an ferry flight and gave the crowd a great presentation of how agile an empty 747-400 is.
Despite less than ideal weather conditions the entire weekend, Thunder Over Michigan 2018 was still a resounding success. This annual airshow is must see for an Aviation Enthusiast. Until next time, "Blue Skies to All!"
Tags: 2018KalittaThunder over MichiganWillow Run International Airport
Scott Jankowski
Scott Jankowski - Franklin, Wisconsin Like so many others my love of aviation started when I was young, very young. I was only three years old when my Parents took me to my first air show here in Milwaukee, the rest you could say is "history". I would read aviation magazines instead of Comic Books. I would prefer my Dad take me to the airport to watch airplanes instead of throwing a Football around. I grew up watching Convair 580's, DC9's and 727's from the terminal here in Milwaukee, no Stage Three noise compliance back then! I started to seriously take pictures in the Mid 1980's , for my birthday that year I finally had my first decent camera. I would head down to the airport with my pockets full of Kodak Film and take pictures of anything and everything. It did not matter if it was a Air Wisconsin Dash-7 or a 128TH ARW KC-135E if it had an engine I took a picture of it. I would drop those rolls off to be developed and three days later tear into the envelopes to see the results, which to be honest were not that good but there were a few keepers every once and a while. Fast forwarding to today with much better equipment and skills I spend as much time as I can at both General Mitchell International and Chicago O'Hare which are my Hometown Airports. While times and aircraft have changed the excitement is still as great as it was back all of those years ago. It makes no difference if it is 737, P-51, F-16, or Lear 35 I will not pass on any photo opportunity as you may not get that chance again. Even though my primary focus is on Commercial Aviation I still frequent as many Air shows as I can in the short Summer Season. I am fortunate enough to have EAA Air Venture in my backyard only being only an Hour and Half from my home. I routinely attend Air shows here in Milwaukee, Rockford, Chicago, Ypsilanti and the Quad Cities. I am very fortunate to be part of the Photorecon.Net and PHX Spotters Team and am looking forward to bringing everyone some Air show and Airliner action from the Midwest Region!
New York Air Show; August 2019
Joint Exercise "Chesapeake 2018"
PhanCon 2015
No Comments allowed
One Of Our Sponsors
"Shooting Oshkosh"
NBAA BACE 2018, Business Aviation Shines in Florida
Dr Sky interviews Captain Mark Kelly
This website is provided "as is" without any representations or warranties, express or implied. Photorecon.net makes no representations or warranties in relation to this website or the information and materials provided on this website.
Photorecon.net will not be liable to you (whether under the law of contact, the law of torts or otherwise) in relation to the contents of, or use of, or otherwise in connection with, this website:
Best way to Contact Us..
Because of spam issues we have moved our email to the 'contact' page.
Photorecon.net © 2020. All Rights Reserved.	Powered by WordPress. Theme by Alx.


text:
from test.support import (TESTFN, run_unittest, import_module, unlink,
                          requires, _2G, _4G, gc_collect, cpython_only)
import unittest
import os
import re
import itertools
import socket
import sys
import weakref

# Skip test if we can't import mmap.
mmap = import_module('mmap')

PAGESIZE = mmap.PAGESIZE

class MmapTests(unittest.TestCase):

    def setUp(self):
        if os.path.exists(TESTFN):
            os.unlink(TESTFN)

    def tearDown(self):
        try:
            os.unlink(TESTFN)
        except OSError:
            pass

    def test_basic(self):
        # Test mmap module on Unix systems and Windows

        # Create a file to be mmap'ed.
        f = open(TESTFN, 'bw+')
        try:
            # Write 2 pages worth of data to the file
            f.write(b'\0'* PAGESIZE)
            f.write(b'foo')
            f.write(b'\0'* (PAGESIZE-3) )
            f.flush()
            m = mmap.mmap(f.fileno(), 2 * PAGESIZE)
        finally:
            f.close()

        # Simple sanity checks

        tp = str(type(m))  # SF bug 128713:  segfaulted on Linux
        self.assertEqual(m.find(b'foo'), PAGESIZE)

        self.assertEqual(len(m), 2*PAGESIZE)

        self.assertEqual(m[0], 0)
        self.assertEqual(m[0:3], b'\0\0\0')

        # Shouldn't crash on boundary (Issue #5292)
        self.assertRaises(IndexError, m.__getitem__, len(m))
        self.assertRaises(IndexError, m.__setitem__, len(m), b'\0')

        # Modify the file's content
        m[0] = b'3'[0]
        m[PAGESIZE +3: PAGESIZE +3+3] = b'bar'

        # Check that the modification worked
        self.assertEqual(m[0], b'3'[0])
        self.assertEqual(m[0:3], b'3\0\0')
        self.assertEqual(m[PAGESIZE-1 : PAGESIZE + 7], b'\0foobar\0')

        m.flush()

        # Test doing a regular expression match in an mmap'ed file
        match = re.search(b'[A-Za-z]+', m)
        if match is None:
            self.fail('regex match on mmap failed!')
        else:
            start, end = match.span(0)
            length = end - start

            self.assertEqual(start, PAGESIZE)
            self.assertEqual(end, PAGESIZE + 6)

        # test seeking around (try to overflow the seek implementation)
        m.seek(0,0)
        self.assertEqual(m.tell(), 0)
        m.seek(42,1)
        self.assertEqual(m.tell(), 42)
        m.seek(0,2)
        self.assertEqual(m.tell(), len(m))

        # Try to seek to negative position...
        self.assertRaises(ValueError, m.seek, -1)

        # Try to seek beyond end of mmap...
        self.assertRaises(ValueError, m.seek, 1, 2)

        # Try to seek to negative position...
        self.assertRaises(ValueError, m.seek, -len(m)-1, 2)

        # Try resizing map
        try:
            m.resize(512)
        except SystemError:
            # resize() not supported
            # No messages are printed, since the output of this test suite
            # would then be different across platforms.
            pass
        else:
            # resize() is supported
            self.assertEqual(len(m), 512)
            # Check that we can no longer seek beyond the new size.
            self.assertRaises(ValueError, m.seek, 513, 0)

            # Check that the underlying file is truncated too
            # (bug #728515)
            f = open(TESTFN, 'rb')
            try:
                f.seek(0, 2)
                self.assertEqual(f.tell(), 512)
            finally:
                f.close()
            self.assertEqual(m.size(), 512)

        m.close()

    def test_access_parameter(self):
        # Test for "access" keyword parameter
        mapsize = 10
        with open(TESTFN, "wb") as fp:
            fp.write(b"a"*mapsize)
        with open(TESTFN, "rb") as f:
            m = mmap.mmap(f.fileno(), mapsize, access=mmap.ACCESS_READ)
            self.assertEqual(m[:], b'a'*mapsize, "Readonly memory map data incorrect.")

            # Ensuring that readonly mmap can't be slice assigned
            try:
                m[:] = b'b'*mapsize
            except TypeError:
                pass
            else:
                self.fail("Able to write to readonly memory map")

            # Ensuring that readonly mmap can't be item assigned
            try:
                m[0] = b'b'
            except TypeError:
                pass
            else:
                self.fail("Able to write to readonly memory map")

            # Ensuring that readonly mmap can't be write() to
            try:
                m.seek(0,0)
                m.write(b'abc')
            except TypeError:
                pass
            else:
                self.fail("Able to write to readonly memory map")

            # Ensuring that readonly mmap can't be write_byte() to
            try:
                m.seek(0,0)
                m.write_byte(b'd')
            except TypeError:
                pass
            else:
                self.fail("Able to write to readonly memory map")

            # Ensuring that readonly mmap can't be resized
            try:
                m.resize(2*mapsize)
            except SystemError:   # resize is not universally supported
                pass
            except TypeError:
                pass
            else:
                self.fail("Able to resize readonly memory map")
            with open(TESTFN, "rb") as fp:
                self.assertEqual(fp.read(), b'a'*mapsize,
                                 "Readonly memory map data file was modified")

        # Opening mmap with size too big
        with open(TESTFN, "r+b") as f:
            try:
                m = mmap.mmap(f.fileno(), mapsize+1)
            except ValueError:
                # we do not expect a ValueError on Windows
                # CAUTION:  This also changes the size of the file on disk, and
                # later tests assume that the length hasn't changed.  We need to
                # repair that.
                if sys.platform.startswith('win'):
                    self.fail("Opening mmap with size+1 should work on Windows.")
            else:
                # we expect a ValueError on Unix, but not on Windows
                if not sys.platform.startswith('win'):
                    self.fail("Opening mmap with size+1 should raise ValueError.")
                m.close()
            if sys.platform.startswith('win'):
                # Repair damage from the resizing test.
                with open(TESTFN, 'r+b') as f:
                    f.truncate(mapsize)

        # Opening mmap with access=ACCESS_WRITE
        with open(TESTFN, "r+b") as f:
            m = mmap.mmap(f.fileno(), mapsize, access=mmap.ACCESS_WRITE)
            # Modifying write-through memory map
            m[:] = b'c'*mapsize
            self.assertEqual(m[:], b'c'*mapsize,
                   "Write-through memory map memory not updated properly.")
            m.flush()
            m.close()
        with open(TESTFN, 'rb') as f:
            stuff = f.read()
        self.assertEqual(stuff, b'c'*mapsize,
               "Write-through memory map data file not updated properly.")

        # Opening mmap with access=ACCESS_COPY
        with open(TESTFN, "r+b") as f:
            m = mmap.mmap(f.fileno(), mapsize, access=mmap.ACCESS_COPY)
            # Modifying copy-on-write memory map
            m[:] = b'd'*mapsize
            self.assertEqual(m[:], b'd' * mapsize,
                             "Copy-on-write memory map data not written correctly.")
            m.flush()
            with open(TESTFN, "rb") as fp:
                self.assertEqual(fp.read(), b'c'*mapsize,
                                 "Copy-on-write test data file should not be modified.")
            # Ensuring copy-on-write maps cannot be resized
            self.assertRaises(TypeError, m.resize, 2*mapsize)
            m.close()

        # Ensuring invalid access parameter raises exception
        with open(TESTFN, "r+b") as f:
            self.assertRaises(ValueError, mmap.mmap, f.fileno(), mapsize, access=4)

        if os.name == "posix":
            # Try incompatible flags, prot and access parameters.
            with open(TESTFN, "r+b") as f:
                self.assertRaises(ValueError, mmap.mmap, f.fileno(), mapsize,
                                  flags=mmap.MAP_PRIVATE,
                                  prot=mmap.PROT_READ, access=mmap.ACCESS_WRITE)

            # Try writing with PROT_EXEC and without PROT_WRITE
            prot = mmap.PROT_READ | getattr(mmap, 'PROT_EXEC', 0)
            with open(TESTFN, "r+b") as f:
                m = mmap.mmap(f.fileno(), mapsize, prot=prot)
                self.assertRaises(TypeError, m.write, b"abcdef")
                self.assertRaises(TypeError, m.write_byte, 0)
                m.close()

    def test_bad_file_desc(self):
        # Try opening a bad file descriptor...
        self.assertRaises(OSError, mmap.mmap, -2, 4096)

    def test_tougher_find(self):
        # Do a tougher .find() test.  SF bug 515943 pointed out that, in 2.2,
        # searching for data with embedded \0 bytes didn't work.
        with open(TESTFN, 'wb+') as f:

            data = b'aabaac\x00deef\x00\x00aa\x00'
            n = len(data)
            f.write(data)
            f.flush()
            m = mmap.mmap(f.fileno(), n)

        for start in range(n+1):
            for finish in range(start, n+1):
                slice = data[start : finish]
                self.assertEqual(m.find(slice), data.find(slice))
                self.assertEqual(m.find(slice + b'x'), -1)
        m.close()

    def test_find_end(self):
        # test the new 'end' parameter works as expected
        f = open(TESTFN, 'wb+')
        data = b'one two ones'
        n = len(data)
        f.write(data)
        f.flush()
        m = mmap.mmap(f.fileno(), n)
        f.close()

        self.assertEqual(m.find(b'one'), 0)
        self.assertEqual(m.find(b'ones'), 8)
        self.assertEqual(m.find(b'one', 0, -1), 0)
        self.assertEqual(m.find(b'one', 1), 8)
        self.assertEqual(m.find(b'one', 1, -1), 8)
        self.assertEqual(m.find(b'one', 1, -2), -1)

    def test_rfind(self):
        # test the new 'end' parameter works as expected
        f = open(TESTFN, 'wb+')
        data = b'one two ones'
        n = len(data)
        f.write(data)
        f.flush()
        m = mmap.mmap(f.fileno(), n)
        f.close()

        self.assertEqual(m.rfind(b'one'), 8)
        self.assertEqual(m.rfind(b'one '), 0)
        self.assertEqual(m.rfind(b'one', 0, -1), 8)
        self.assertEqual(m.rfind(b'one', 0, -2), 0)
        self.assertEqual(m.rfind(b'one', 1, -1), 8)
        self.assertEqual(m.rfind(b'one', 1, -2), -1)

    def test_double_close(self):
        # make sure a double close doesn't crash on Solaris (Bug# 665913)
        f = open(TESTFN, 'wb+')

        f.write(2**16 * b'a') # Arbitrary character
        f.close()

        f = open(TESTFN, 'rb')
        mf = mmap.mmap(f.fileno(), 2**16, access=mmap.ACCESS_READ)
        mf.close()
        mf.close()
        f.close()

    @unittest.skipUnless(hasattr(os, "stat"), "needs os.stat()")
    def test_entire_file(self):
        # test mapping of entire file by passing 0 for map length
        f = open(TESTFN, "wb+")

        f.write(2**16 * b'm') # Arbitrary character
        f.close()

        f = open(TESTFN, "rb+")
        mf = mmap.mmap(f.fileno(), 0)
        self.assertEqual(len(mf), 2**16, "Map size should equal file size.")
        self.assertEqual(mf.read(2**16), 2**16 * b"m")
        mf.close()
        f.close()

    @unittest.skipUnless(hasattr(os, "stat"), "needs os.stat()")
    def test_length_0_offset(self):
        # Issue #10916: test mapping of remainder of file by passing 0 for
        # map length with an offset doesn't cause a segfault.
        # NOTE: allocation granularity is currently 65536 under Win64,
        # and therefore the minimum offset alignment.
        with open(TESTFN, "wb") as f:
            f.write((65536 * 2) * b'm') # Arbitrary character

        with open(TESTFN, "rb") as f:
            with mmap.mmap(f.fileno(), 0, offset=65536, access=mmap.ACCESS_READ) as mf:
                self.assertRaises(IndexError, mf.__getitem__, 80000)

    @unittest.skipUnless(hasattr(os, "stat"), "needs os.stat()")
    def test_length_0_large_offset(self):
        # Issue #10959: test mapping of a file by passing 0 for
        # map length with a large offset doesn't cause a segfault.
        with open(TESTFN, "wb") as f:
            f.write(115699 * b'm') # Arbitrary character

        with open(TESTFN, "w+b") as f:
            self.assertRaises(ValueError, mmap.mmap, f.fileno(), 0,
                              offset=2147418112)

    def test_move(self):
        # make move works everywhere (64-bit format problem earlier)
        f = open(TESTFN, 'wb+')

        f.write(b"ABCDEabcde") # Arbitrary character
        f.flush()

        mf = mmap.mmap(f.fileno(), 10)
        mf.move(5, 0, 5)
        self.assertEqual(mf[:], b"ABCDEABCDE", "Map move should have duplicated front 5")
        mf.close()
        f.close()

        # more excessive test
        data = b"0123456789"
        for dest in range(len(data)):
            for src in range(len(data)):
                for count in range(len(data) - max(dest, src)):
                    expected = data[:dest] + data[src:src+count] + data[dest+count:]
                    m = mmap.mmap(-1, len(data))
                    m[:] = data
                    m.move(dest, src, count)
                    self.assertEqual(m[:], expected)
                    m.close()

        # segfault test (Issue 5387)
        m = mmap.mmap(-1, 100)
        offsets = [-100, -1, 0, 1, 100]
        for source, dest, size in itertools.product(offsets, offsets, offsets):
            try:
                m.move(source, dest, size)
            except ValueError:
                pass

        offsets = [(-1, -1, -1), (-1, -1, 0), (-1, 0, -1), (0, -1, -1),
                   (-1, 0, 0), (0, -1, 0), (0, 0, -1)]
        for source, dest, size in offsets:
            self.assertRaises(ValueError, m.move, source, dest, size)

        m.close()

        m = mmap.mmap(-1, 1) # single byte
        self.assertRaises(ValueError, m.move, 0, 0, 2)
        self.assertRaises(ValueError, m.move, 1, 0, 1)
        self.assertRaises(ValueError, m.move, 0, 1, 1)
        m.move(0, 0, 1)
        m.move(0, 0, 0)

    def test_anonymous(self):
        # anonymous mmap.mmap(-1, PAGE)
        m = mmap.mmap(-1, PAGESIZE)
        for x in range(PAGESIZE):
            self.assertEqual(m[x], 0,
                             "anonymously mmap'ed contents should be zero")

        for x in range(PAGESIZE):
            b = x & 0xff
            m[x] = b
            self.assertEqual(m[x], b)

    def test_read_all(self):
        m = mmap.mmap(-1, 16)
        self.addCleanup(m.close)

        # With no parameters, or None or a negative argument, reads all
        m.write(bytes(range(16)))
        m.seek(0)
        self.assertEqual(m.read(), bytes(range(16)))
        m.seek(8)
        self.assertEqual(m.read(), bytes(range(8, 16)))
        m.seek(16)
        self.assertEqual(m.read(), b'')
        m.seek(3)
        self.assertEqual(m.read(None), bytes(range(3, 16)))
        m.seek(4)
        self.assertEqual(m.read(-1), bytes(range(4, 16)))
        m.seek(5)
        self.assertEqual(m.read(-2), bytes(range(5, 16)))
        m.seek(9)
        self.assertEqual(m.read(-42), bytes(range(9, 16)))

    def test_read_invalid_arg(self):
        m = mmap.mmap(-1, 16)
        self.addCleanup(m.close)

        self.assertRaises(TypeError, m.read, 'foo')
        self.assertRaises(TypeError, m.read, 5.5)
        self.assertRaises(TypeError, m.read, [1, 2, 3])

    def test_extended_getslice(self):
        # Test extended slicing by comparing with list slicing.
        s = bytes(reversed(range(256)))
        m = mmap.mmap(-1, len(s))
        m[:] = s
        self.assertEqual(m[:], s)
        indices = (0, None, 1, 3, 19, 300, -1, -2, -31, -300)
        for start in indices:
            for stop in indices:
                # Skip step 0 (invalid)
                for step in indices[1:]:
                    self.assertEqual(m[start:stop:step],
                                     s[start:stop:step])

    def test_extended_set_del_slice(self):
        # Test extended slicing by comparing with list slicing.
        s = bytes(reversed(range(256)))
        m = mmap.mmap(-1, len(s))
        indices = (0, None, 1, 3, 19, 300, -1, -2, -31, -300)
        for start in indices:
            for stop in indices:
                # Skip invalid step 0
                for step in indices[1:]:
                    m[:] = s
                    self.assertEqual(m[:], s)
                    L = list(s)
                    # Make sure we have a slice of exactly the right length,
                    # but with different data.
                    data = L[start:stop:step]
                    data = bytes(reversed(data))
                    L[start:stop:step] = data
                    m[start:stop:step] = data
                    self.assertEqual(m[:], bytes(L))

    def make_mmap_file (self, f, halfsize):
        # Write 2 pages worth of data to the file
        f.write (b'\0' * halfsize)
        f.write (b'foo')
        f.write (b'\0' * (halfsize - 3))
        f.flush ()
        return mmap.mmap (f.fileno(), 0)

    def test_empty_file (self):
        f = open (TESTFN, 'w+b')
        f.close()
        with open(TESTFN, "rb") as f :
            self.assertRaisesRegex(ValueError,
                                   "cannot mmap an empty file",
                                   mmap.mmap, f.fileno(), 0,
                                   access=mmap.ACCESS_READ)

    def test_offset (self):
        f = open (TESTFN, 'w+b')

        try: # unlink TESTFN no matter what
            halfsize = mmap.ALLOCATIONGRANULARITY
            m = self.make_mmap_file (f, halfsize)
            m.close ()
            f.close ()

            mapsize = halfsize * 2
            # Try invalid offset
            f = open(TESTFN, "r+b")
            for offset in [-2, -1, None]:
                try:
                    m = mmap.mmap(f.fileno(), mapsize, offset=offset)
                    self.assertEqual(0, 1)
                except (ValueError, TypeError, OverflowError):
                    pass
                else:
                    self.assertEqual(0, 0)
            f.close()

            # Try valid offset, hopefully 8192 works on all OSes
            f = open(TESTFN, "r+b")
            m = mmap.mmap(f.fileno(), mapsize - halfsize, offset=halfsize)
            self.assertEqual(m[0:3], b'foo')
            f.close()

            # Try resizing map
            try:
                m.resize(512)
            except SystemError:
                pass
            else:
                # resize() is supported
                self.assertEqual(len(m), 512)
                # Check that we can no longer seek beyond the new size.
                self.assertRaises(ValueError, m.seek, 513, 0)
                # Check that the content is not changed
                self.assertEqual(m[0:3], b'foo')

                # Check that the underlying file is truncated too
                f = open(TESTFN, 'rb')
                f.seek(0, 2)
                self.assertEqual(f.tell(), halfsize + 512)
                f.close()
                self.assertEqual(m.size(), halfsize + 512)

            m.close()

        finally:
            f.close()
            try:
                os.unlink(TESTFN)
            except OSError:
                pass

    def test_subclass(self):
        class anon_mmap(mmap.mmap):
            def __new__(klass, *args, **kwargs):
                return mmap.mmap.__new__(klass, -1, *args, **kwargs)
        anon_mmap(PAGESIZE)

    @unittest.skipUnless(hasattr(mmap, 'PROT_READ'), "needs mmap.PROT_READ")
    def test_prot_readonly(self):
        mapsize = 10
        with open(TESTFN, "wb") as fp:
            fp.write(b"a"*mapsize)
        f = open(TESTFN, "rb")
        m = mmap.mmap(f.fileno(), mapsize, prot=mmap.PROT_READ)
        self.assertRaises(TypeError, m.write, "foo")
        f.close()

    def test_error(self):
        self.assertIs(mmap.error, OSError)

    def test_io_methods(self):
        data = b"0123456789"
        with open(TESTFN, "wb") as fp:
            fp.write(b"x"*len(data))
        f = open(TESTFN, "r+b")
        m = mmap.mmap(f.fileno(), len(data))
        f.close()
        # Test write_byte()
        for i in range(len(data)):
            self.assertEqual(m.tell(), i)
            m.write_byte(data[i])
            self.assertEqual(m.tell(), i+1)
        self.assertRaises(ValueError, m.write_byte, b"x"[0])
        self.assertEqual(m[:], data)
        # Test read_byte()
        m.seek(0)
        for i in range(len(data)):
            self.assertEqual(m.tell(), i)
            self.assertEqual(m.read_byte(), data[i])
            self.assertEqual(m.tell(), i+1)
        self.assertRaises(ValueError, m.read_byte)
        # Test read()
        m.seek(3)
        self.assertEqual(m.read(3), b"345")
        self.assertEqual(m.tell(), 6)
        # Test write()
        m.seek(3)
        m.write(b"bar")
        self.assertEqual(m.tell(), 6)
        self.assertEqual(m[:], b"012bar6789")
        m.seek(8)
        self.assertRaises(ValueError, m.write, b"bar")

    def test_non_ascii_byte(self):
        for b in (129, 200, 255): # > 128
            m = mmap.mmap(-1, 1)
            m.write_byte(b)
            self.assertEqual(m[0], b)
            m.seek(0)
            self.assertEqual(m.read_byte(), b)
            m.close()

    @unittest.skipUnless(os.name == 'nt', 'requires Windows')
    def test_tagname(self):
        data1 = b"0123456789"
        data2 = b"abcdefghij"
        assert len(data1) == len(data2)

        # Test same tag
        m1 = mmap.mmap(-1, len(data1), tagname="foo")
        m1[:] = data1
        m2 = mmap.mmap(-1, len(data2), tagname="foo")
        m2[:] = data2
        self.assertEqual(m1[:], data2)
        self.assertEqual(m2[:], data2)
        m2.close()
        m1.close()

        # Test different tag
        m1 = mmap.mmap(-1, len(data1), tagname="foo")
        m1[:] = data1
        m2 = mmap.mmap(-1, len(data2), tagname="boo")
        m2[:] = data2
        self.assertEqual(m1[:], data1)
        self.assertEqual(m2[:], data2)
        m2.close()
        m1.close()

    @cpython_only
    @unittest.skipUnless(os.name == 'nt', 'requires Windows')
    def test_sizeof(self):
        m1 = mmap.mmap(-1, 100)
        tagname = "foo"
        m2 = mmap.mmap(-1, 100, tagname=tagname)
        self.assertEqual(sys.getsizeof(m2),
                         sys.getsizeof(m1) + len(tagname) + 1)

    @unittest.skipUnless(os.name == 'nt', 'requires Windows')
    def test_crasher_on_windows(self):
        # Should not crash (Issue 1733986)
        m = mmap.mmap(-1, 1000, tagname="foo")
        try:
            mmap.mmap(-1, 5000, tagname="foo")[:] # same tagname, but larger size
        except:
            pass
        m.close()

        # Should not crash (Issue 5385)
        with open(TESTFN, "wb") as fp:
            fp.write(b"x"*10)
        f = open(TESTFN, "r+b")
        m = mmap.mmap(f.fileno(), 0)
        f.close()
        try:
            m.resize(0) # will raise OSError
        except:
            pass
        try:
            m[:]
        except:
            pass
        m.close()

    @unittest.skipUnless(os.name == 'nt', 'requires Windows')
    def test_invalid_descriptor(self):
        # socket file descriptors are valid, but out of range
        # for _get_osfhandle, causing a crash when validating the
        # parameters to _get_osfhandle.
        s = socket.socket()
        try:
            with self.assertRaises(OSError):
                m = mmap.mmap(s.fileno(), 10)
        finally:
            s.close()

    def test_context_manager(self):
        with mmap.mmap(-1, 10) as m:
            self.assertFalse(m.closed)
        self.assertTrue(m.closed)

    def test_context_manager_exception(self):
        # Test that the OSError gets passed through
        with self.assertRaises(Exception) as exc:
            with mmap.mmap(-1, 10) as m:
                raise OSError
        self.assertIsInstance(exc.exception, OSError,
                              "wrong exception raised in context manager")
        self.assertTrue(m.closed, "context manager failed")

    def test_weakref(self):
        # Check mmap objects are weakrefable
        mm = mmap.mmap(-1, 16)
        wr = weakref.ref(mm)
        self.assertIs(wr(), mm)
        del mm
        gc_collect()
        self.assertIs(wr(), None)

class LargeMmapTests(unittest.TestCase):

    def setUp(self):
        unlink(TESTFN)

    def tearDown(self):
        unlink(TESTFN)

    def _make_test_file(self, num_zeroes, tail):
        if sys.platform[:3] == 'win' or sys.platform == 'darwin':
            requires('largefile',
                'test requires %s bytes and a long time to run' % str(0x180000000))
        f = open(TESTFN, 'w+b')
        try:
            f.seek(num_zeroes)
            f.write(tail)
            f.flush()
        except (OSError, OverflowError):
            f.close()
            raise unittest.SkipTest("filesystem does not have largefile support")
        return f

    def test_large_offset(self):
        with self._make_test_file(0x14FFFFFFF, b" ") as f:
            with mmap.mmap(f.fileno(), 0, offset=0x140000000, access=mmap.ACCESS_READ) as m:
                self.assertEqual(m[0xFFFFFFF], 32)

    def test_large_filesize(self):
        with self._make_test_file(0x17FFFFFFF, b" ") as f:
            if sys.maxsize < 0x180000000:
                # On 32 bit platforms the file is larger than sys.maxsize so
                # mapping the whole file should fail -- Issue #16743
                with self.assertRaises(OverflowError):
                    mmap.mmap(f.fileno(), 0x180000000, access=mmap.ACCESS_READ)
                with self.assertRaises(ValueError):
                    mmap.mmap(f.fileno(), 0, access=mmap.ACCESS_READ)
            with mmap.mmap(f.fileno(), 0x10000, access=mmap.ACCESS_READ) as m:
                self.assertEqual(m.size(), 0x180000000)

    # Issue 11277: mmap() with large (~4GB) sparse files crashes on OS X.

    def _test_around_boundary(self, boundary):
        tail = b'  DEARdear  '
        start = boundary - len(tail) // 2
        end = start + len(tail)
        with self._make_test_file(start, tail) as f:
            with mmap.mmap(f.fileno(), 0, access=mmap.ACCESS_READ) as m:
                self.assertEqual(m[start:end], tail)

    @unittest.skipUnless(sys.maxsize > _4G, "test cannot run on 32-bit systems")
    def test_around_2GB(self):
        self._test_around_boundary(_2G)

    @unittest.skipUnless(sys.maxsize > _4G, "test cannot run on 32-bit systems")
    def test_around_4GB(self):
        self._test_around_boundary(_4G)

def test_main():
    run_unittest(MmapTests, LargeMmapTests)

if __name__ == '__main__':
    test_main()

redpajama_set_name: RedPajamaGithub


Wadi Dawkah is a natural park with many frankincense trees, located about 40 km north of Salalah, easily accessible from the motorway Salalah-Thumrayt. At the time of visiting (January 2011) the access road to it and the tourist facilities were still under construction. Wadi Dawkah was selected as a location for the national park due to the high density of frankincense trees and its proximity to Salalah. The Wadi Dawkah natural park stretches over the bed of the wadi approx. 4km from northwest to southeast. Frankincense trees are being planted in Wadi Dawkah, in an effort to increase the frankincense tree population. Wadi Dawkah has been a UNESCO world heritage site since 2000.


In recent news, Vodafone Australia has announced that the Telco has successfully completed a trial of the Narrowband Internet of Things. But what does this mean for consumers and will it result in an increased beneficial service? Read on in the following article to learn more.
Vodafone Australia recently announced that it was working in partnership with tech company Huawei, to implement wireless network access trials.
Vodafone has recently completed successful trials in Melbourne CBD and suburban areas of Vodafone's Narrowband Internet of Things technology.
Narrowband Internet of Things will allow emerging next generation devices, such as water and electric meters to communicate with minimal data transmissions.
In recent weeks Vodafone Australia has announced to the public that they have completed a successful trial, of the pre-standard Narrowband Internet of Things (NB-IoT).
This new technology allows the national Telco to support the Internet of Things (IoT), by making their network more efficient.
My increasing the Vodafone networks efficiency, the national carrier can enable the connection of devices to the internet.
The NB-IoT connection is using the Vodafone Australia 4G technology and has been developed and implemented in partnership with Huawei.
Vodafone Australia last month working in partnership with Huawei, carried out wireless network access trials at several live sites in suburban and central Melbourne.
The national Telco reported that further testing and trials would be carried out across Australia in the coming months.
Vodafone Australia has reported that based on testing in the Melbourne CBD area, NB-IoT has demonstrated the capabilities of deep signal connectivity.
During the testing trials, NB-IoT signals were able to penetrate two to three double-brick walls, resulting in strong connectivity in underground basements and car parks.
Not only that, but during testing in suburban Melbourne areas, distances of up to 30km were achieved with extended coverage.
The in-field trialling of the new technology is needed to enable millions of new devices to connect to what is known as the Internet of Things (IoT).
With the trial testing phase completed, Vodafone Australia is said to be analysing the results and determining the next stage of their testing project.
By working in partnership with Huawei, Vodafone network user devices will be able to connect with devices and applications.
Narrowband IoT has been designed to be a low-cost solution, extending battery life and allowing remote area access.
Not only is Vodafone Australia working in partnership with Huawei, they are also working with Optus on the trial of IoT with South East Water.
It has been reported that the trials with South East Water involve connectivity testing through its water and sewerage systems.
Speaking to media about the latest developments, CTO Benoit Hanssen commented that narrowband devices can have extended battery life of up to 10 years.
With the cost of the chipsets forecast to decrease over the coming years, to a purchase price of under $5 a unit.
Devices will be able to remain connected to the Vodafone Australia network, with many different applications that only require occasional data transmissions.
As reported by the national Telco, the Melbourne trial was regarded as a success, with signal testing reaching up to 30 kilometres.
Vodafone has a further two trials planned, one in rural Queensland and one more which has yet to be confirmed.
Currently in the initial testing phase, with full deployment planned for commencement in late 2016 with the aim of finishing before the end of 2017.
Vodafone CTO, Mr Hanssen commented that in CBD area testing, deep signal penetration was able to be achieved.
Traditionally areas like offices and basements which often suffer from poor signal strength and reception, will greatly benefit from the roll out of the new technology.
The majority of current NB-IoT requests are coming from utility companies, but increasingly new sectors were also becoming interested.
With more and more companies embedding chips into their products, especially medical device companies are able to track their devices better.
By being able to track where a device is at all times and whether or not it is still functioning, are features which are becoming increasingly important.
In Australia we've all heard a lot about the Internet of Things (IoT), especially in the past year as the Telcos begin to invest more in it.
The idea that all of our devices can be connected to our lives and everything we do on a daily basis is an interesting concept.
IoT is merging together a large number of devices and bringing its computing power to the internet.
The linking of our devices to the internet opens up many new ways in which vast amounts of data can be transmitted around.
National Telcos such as Vodafone Australia understand this, hence their latest partnerships with tech companies and investment in future technologies.
Based on trends with next generation technology, the smart home and car are finally close to becoming a real thing.
In the not too distant future, our devices will be connected to the IoT, resulting in useful, empowering and intuitive living.


text:
Excavation and trenching safety measures
On behalf of Frasier, Frasier & Hickman, LLP posted in Workplace Accidents on Friday, April 17, 2015.
The Bureau of Labor Statistics has indicated that in the decade from 2000 through 2009, there were 350 workers who died in accidents caused by trenching collapses. The majority of these deaths occurred in trenches that were less than 10 feet deep. Because a cubic yard of dirt may weigh more than 3,000 pounds, a cave-in during an Oklahoma trenching project can have devastating results.
Death and injury to workers during digging projects are preventable. OSHA standards provide precautions that must be taken during excavation and trenching work. Among them are protective gear for the laborers, safe work practices and engineering controls. Because a failure of the trench can occur with no warning and can be fatal, this area requires specific attention.
In order to prevent a collapse, there are a number of methods from which the work site supervisors can choose. Among them are shielding the trench with a trench box, sloping the ground and bracing the hole with planking or hydraulic jacks. Workers are cautioned never to enter a hole or a trench that has not been sufficiently protected from a cave-in.
Evacuation and trench failures are just two of the thousands of hazards that workers face every day. Workplace accidents are often preventable, and it is the responsibility of the employers as well as the workers to make sure that safety rules are enacted, understood and followed. When an accident happens and a worker is not able to return to the job, workers' compensation benefits may be available to cover the costs of medical treatment, rehabilitation and therapy. An attorney who has experience in these matters can be of assistance to a client who was injured on the job both during the filing process and in subsequent hearings should the claim be disputed or denied.
Tags: OSHA, workplace accidents
Related Posts: Certain workers more likely to die in job-related accidents, Inexperience could be hazardous in coal mines, Safety efforts to be stepped up in mines, Scaffolding accident may point to bigger issues in the industry


text:
Our cleaning expertise extends across all materials and is as reliant on new technology as it is on traditional craftsmanship…
Whether cleaning is the first stage of full restoration or an end in itself, our expertise spans the centuries, extending from cleaning historic monuments and listed buildings to the brick, stone and concrete of modern homes and offices; from the weather-stained marble of historic statues to the final clean of newly finished facades and stonework.
Our Cleaning Team is available for single projects, emergency call-outs and planned maintenance.
Heritage Cleaning
Cleaning historic and/or listed buildings requires respect, research, understanding and specialist skills.
We employ specific techniques and treatments dependent on the type of stone. Limestone and sandstone, for example, require different handling.
Furthermore, all the chemicals we recommend are designed to be biodegradable and animal and human friendly in use. They are also only available to accredited trade professionals – nothing on the shelves at a local DIY store can match their performance and few will have been subjected to the same level of material-specific testing.
Cleaning Systems
All cleaning procedures we recommend are industry approved and accredited by Restorative Techniques.
Our Clients, though, do have a choice. Our decades of experience (predating most of these systems), including extensive works on heritage buildings, means we can also offer more traditional, and equally effective, cleaning techniques. The choice is yours.
Specialist New Build Facade Cleaning
The facade of any new stone, brick or concrete building will need a final clean once construction work has finished. This is to remove the traces left by the various trades involved and to remove and prevent the re-occurrence of efflorescence or other issues arising from new work.
Protective Coatings & Impregnations
From the first moment of a building's life, it is under constant attack from wind, weather, water and pollution and while stone, brick and concrete are robust, slow deterioration is inevitable.
This process, though, can be slowed even further by applying specialist (invisible or decorative) protective coatings that halt water penetration and act as a buffer to atmospheric corrosion.
They can be applied after cleaning or as a preventative measure and are suitable for buildings of any age. Some new coatings are even accepted by individual Conservation Officers for use on heritage and listed buildings


a floral poplin msgm shirtdress with a fixed sash across the bodice. fold-over collar and concealed-button placket. long sleeves and single-button cuffs. hidden side zip.
trim: 90% cotton/5% elastane/5% polyurethane.


brussels - The European Union and the United Kingdom have 'made sufficient progress' on the conditions of separation of the brexit. That paves the way for negotiations on the future trade relationship, said European Commission President Jean-Claude Juncker in Brussels.
'Sufficient progress' on the London bill, the rights of EU citizens living in Britain and the border between Ireland and Northern Ireland are the conditions for the EU to enter the second phase.


For National History Day, we chose our topic of Stem Cell Research for many reasons; it is a highly controversial topic, a very close to heart topic, a very interesting topic and it has lots of conflicts, each with a compromise. Our topic is highly controversial because of all the different aspects of the research itself and all the ways they are being viewed. For example, the moral battle over stem cell research is the most common debate. Many people believe that because a human embryo, a living, unborn child, is being destroyed in the process of isolating stem cells, that the research is wrong. However, many others believe that because the research could save lives and help devastated families, it would be unethical to merely dispose of them.
Conducting our research was a fairly simple undertaking; five resources were used: Internet, interviews, classroom texts, newspaper articles and books. For the internet, we were able to find websites pertaining to stem cell research history and we used fertility clinic web pages to look at what current research was being conducted with private funding. We were also lucky enough to contact Richard Galli, author of Rescuing Jeffrey, a memoir about his son's dive into paraplegia, and acquire a chance to interview them both. Additionally, we interviewed a biology teacher at our school to learn more about what stem cells are. Also attained from a biology class were texts explaining what stem cells are and where they were first isolated. Newspaper articles also gave us information as far as history because articles from many years ago about, then, current breakthroughs, could be read, giving us a firsthand look at what America saw at those times.


text:
See our image rights statement.
See more objects with the color darkblue dimgrey navy midnightblue or see all the colors for this object.
Work on this object ended.
Colorings Low Tumbler
This is a Low Tumbler. It was designed by George Schmidt, Inc. and manufactured by George Schmidt, Inc. and distributed by IDG Marketing. It is dated ca. 1987 and we acquired it in 1988. Its medium is plastic (co-extruded crystal styrene and high-impact styrene). It is a part of the Product Design and Decorative Arts department.
This object was donated by George Schmidt, Inc.. It is credited Gift of George Schmidt, Inc..
0903, Spot Collection, 2014
Senses.0903
H x diam.: 9.5 x 9.1 cm (3 3/4 x 3 9/16 in.)
Colorings Low Tumbler; Designed by George Schmidt, Inc. (United States); Distributed by IDG Marketing; plastic (co-extruded crystal styrene and high-impact styrene); H x diam.: 9.5 x 9.1 cm (3 3/4 x 3 9/16 in.); Gift of George Schmidt, Inc.; 1988-1-18
The Conservation department has taken one photo of this object.
Short URL http://cprhw.tt/o/2Ds4R/
Accession Number 1988-1-18
<ref name=CH>{{cite web |url=https://www-6.collection.cooperhewitt.org/objects/18623327/ |title=Colorings Low Tumbler |author=Cooper Hewitt, Smithsonian Design Museum |accessdate=27 January 2023 |publisher=Smithsonian Institution}}</ref>


Create captivating photos with just a click!
Are you struggling to find a way to edit your photographs with a professional touch? Are you having a difficult time choosing between Adobe Photoshop and Lightroom to edit your photographs?
In order to make it easier, we give you various options to enhance your photographs. There is no need to choose between the two as we offer creative and professional presets for Lightroom and various actions for Photoshop.
These presets are compatible with both Lightroom and Adobe Photoshop and are used by many photographers across the globe as they help to make the workflow easy while ensuring that the editing process is enjoyable as well.
They are an excellent tool used by not only professional photographers but also amateur ones.
In these, Lightroom presets offered by BeArt-Presets, various photo editing tools have been combined to create high-quality pictures. When it comes to adjusting the tone of photographs along with setting the appropriate exposure of a picture. These offer various combinations of editing features to create high-quality photographs that have a professional touch.
The presets are compatible with Adobe Lightroom 4, 5, 6, & CC.
Categories include topics such as Wedding presets, food presets, & more.
The presets makes editing easier with one click of a button.
The presets are highly compatible and can be used with JPG & RAW images.
The presets are also compatible with Windows and IOS operating systems.
Easily find presets that suits you instead of going through the hassle of designing your own in Lightroom.
For people who are mastering the art of photography, these are an excellent tool to help them attain professional results. These features are not only easy to use but also easy to obtain.
So why waste more time? Hurry up and download your free Lightroom Presets before our offer expires!
Very nice collection of presets. I can't believe they're free. Thank you, Photowhoa.
thank you PhotoWhoa, you are a fantastic product, go on !
Nice one! I love this!


The Juan de la Cosa Hotel invites you to share your reviews and impressions regarding the hotel. All this will help us improve our services. Thanks a lot in advance.
Send us a review by click here about your hotel in Santoña and telling us about it.
Having stayed on a Saga holiday in April 2015 for a 2 week break, plus my wife being gluten free. We both just wish to say what a fantastic experience. Margot for running the place plus getting involved with events for Saga, for organising such great Spanish meals and for her staff where nothing is too much trouble. Lets not the Saga rep BELEN who puts herself above her family to ensure all Saga guests are happy with their holiday, 24 hours a day. We have never returned to a location, having preferred to see new countries/ cities etc. But we will return to Hotel Juan de la Cosa.
How sad to leave this simply fantastic hotel on 21 May after 2 weeks relaxing holiday. Every single member of Margot's team is so attentive. nothing is too much trouble for anyone. My gluten free diet proved to be no problem at all and the ease with which the chef coped with it puts many UK hotels to shame. This hotel is a jewel in all respects and surrounded by marvellous countryside. Thank you Margot.
We stayed at Hotel Juan De La Cosa for one week in May 2012 and we are going to return there for two weeks on 17 September 2013. Margot and her team were great, made us really welcome. Can't wait to return to this beautiful part of Spain.