Full text of "Dictionary Of World Literature Criticism
An extremely expressive word that can be used in many situations. List of All Chinese Apps Banned in India So Far. The Elder Scrolls V Skyrim Keygen Crack - The Elder Scrolls V: Skyrim Free Download will give fus ro da fans something to really rave about! RealVision ENB at Skyrim Nexus - mods and community. Large modern house with open kitchen and living room, dining room, office, gym, 1 master bedroom, 1 kids room with 2 beds, 1 teen room, all with private bathrooms.
13 Words from the First Dictionary That No Longer Exist
Your one-stop online shop for new and vintage RPG products from the top publishers, delivered fresh to your desktop in electronic format. Oblivion patch 1.2 deutsch dictionary. The Elder Scrolls IV: Oblivion. Elder scrolls oblivion mods pc download on 17th February 2020 at 6: 32 am.
RAR Password Cracker - Recover your lost WinRAR password
Spirit Box SB7 New 2020 Model (SB7T - Rev 5) The SB7T Spirit Box is a great compact tool for attempting communication with paranormal entities. On one end of the spectrum, "yeet" can be bellowed with a full, guttural sound whilst lobbing an object furiously to assert authority (great for water balloons and empty containers). Tolkien wrote a fairly significant dictionary and grammatical rules for the Goldogrin language, and used it when writing the earliest stories relating to Middle-Earth's history that were eventually collected together into The Book of Lost Tales. What will be - German translation – Linguee. IMG_2364 - Anglers Against Cancer.
- LADbible - Redefining Entertainment & News For a Social
- Elite Praetorian Guard
- Descargar Musica Para Karaoke Km3 Gratis
- English-Greek Dictionary: With a Supplement of Proper
- Urban Dictionary: Yeet
- Lord of the Rings Elf Name Generator
- Vinyl Records For Sale at Discogs Marketplace
- Steam Workshop:: All Custom Workshop Campaigns (100% Complete)
- Pass on to translation Spanish - Dictionary, translation
- Children's Thinking: Cognitive Development and Individual
- Oblivioned Definition - English Dictionary
- Dj Software Windows Media Player
- G9 english lesson exemplar 1st quarter
- Disruption Synonyms, Disruption Antonyms
- WeMod - PC Game Cheats, Trainers, and Mods in One App
- Crime Scene Asia: When forensic evidence becomes the
- Port Manteaux Word Maker - OneLook Dictionary Search
Edge 3d Shabbat Search Engine JewJewJew.com
The Mystery of Dr. Fu-Manchu (Fu Manchu #1) by Sax Rohmer. OXFORD CONCISE MEDICAL. Motu patlu cartoon games Les technologie xdsl pdf download. Master Chief Petty Officer John-117, also known simply by his rank as the "Master Chief" or simply as the "Chief", is a Spartan-II supersoldier of the UNSC Navy's Special Weapons division. Register now online for the discount price!
English Grammar Today on Cambridge Dictionary
It is also distinct from an ordinary coma, whether induced medically or caused by injury and/or illness, even if it is very deep, as long as some brain and bodily activity. Login or register for access to server cluster #1. It uses radio frequency sweeps to generate white noise which theories suggest give some entities the energy they need to be heard. Oblivion by David Foster Wallace view it now. Explore 'oblivion' in the dictionary 1 (noun) in the sense of unconsciousness.
Limited Promotion with URBAN DADDY
Yet these years' output is disseminated most notably with a great number of ambitious vocal scores. Run Microsoft Windows software on Mac, Linux and Chrome OS see this here. Enter the name and the number Add a word to the dictionary supplied by the service provider. And am I to be hurried along by this stream of corruption to infamy and oblivion! Aged - definition of aged by The Free Dictionary.
- DriveThruRPG.com - Castles & Crusades - The Largest RPG
- No dice - definition of no dice by The Free Dictionary
- Dictionary-free Games: The Community Language Pack, page 6
- John-117 - Character - Halopedia, the Halo wiki
- Foxit Software - PDF Editor Software & PDF Solutions
- Roxio easy cd creator download free download
- 43 Chinese apps banned in India: Full list of all blocked
- 500+ Best coatazi images
BLM - The Girl on the other side of the street
Then I moved, so that the beam fell on my eyes. Instantly the whole previous picture vanished. I saw no toolshed, and (above all) no beam. Instead I saw, framed in the irregular cranny at the top of the door, green leaves moving on the branches of a tree outside and beyond that, 90 odd million miles away, the sun. Looking along the beam, and looking at the beam are very different experiences.”
Seeing ‘The girl’ on the other side of the street through the keyhole
I wandered over to the park where The Gathering was happening. I sat on a bench under a tree that had the blossoms of early summer still hanging on stubbornly. I inhaled the warm rich air deeply, air of a sleepy little town in New England, air that assured you. Gave you comfort to be in that spot. My eyes gently wondered amongst the two hundred or so individuals, some that carried handcrafted signs, and I wondered ‘what if.’
As if snipping off a dying blossom the thought just as quickly fluttered to the ground and out of sight. These individuals just seemed like people, ordinary people (men). Some that I knew, some that I recognized and most unfamiliar and new. The people just wandered around the park, most signs hang by their sides, greeting one another in a brotherly way. I sat and watched, trying to allow the warm summer air to fill my lungs. Breathing. I watched the friendship unfold, not the nervousness that I anticipated. As I exhaled, I did my best to expel the borage of Orwellian doublespeak that I tried so furtively not to allow into my mind over the past several weeks. The culture that erupted so explosively, the culture that so many emotionally became transfixed on, the culture that so many vehemently denied.
I wanted a clear head, so I inhaled deeply again and exhaled. I wanted to be mindful. Though I am not sure if this is possible at such a time. Balancing our own individual proclivities that sit cautiously below the surface of our consciousness with the deluge of conscious thoughts that every avenue of media so garishly smears across our thinking. Can we really be in control? As my eyes flutter among the individuals I reminded myself of the dignity, the worth, that we all share as human beings. The right that we all have to share in breathing the same air; the air that holds the fragrance of the hanging blossoms, the air that uses that scent to caress our individual and collective senses, the air that brings and keeps alive the human being.
I sat and I listened, I took in the emotion as individual began to speak to one another. As individuals shared their thoughts and feeling. I sat there until one individual started to address the group. Nothing staged, just the free assembly of individuals, the core of liberty. The organic coming together of individuals to think and to feel together. Whether I agreed or disagreed became irrelevant to me. As the sun warmed that space between the top of my shirt and the bottom of my hairline, I felt another warmth and that was for the people who had gathered to express meaning and to find acceptance. At this point I wanted desperately within my own mind for good or bad to be irrelevant. I just wanted to be in the moment.
I certainly like many have an opinion but just for a moment I desperately wanted my opinion to be immaterial, I wanted my job to be to just listen. So, I tried. So, I did. It was not the content that I soaked in, it was the unity, it was the harmony of individuals. There certainly were a few strong words, chants and slogans that colored in the lines of their position through their feelings; that unleashed their individual and collective emotional frustration, but I help my focus on the moment, on the present. I spent several minutes just allowing the sun, the air, and the feelings to permeate the different levels of my conscious and undoubtedly my subconscious.
In all honesty I felt a little sorry for the group, it appeared to me to lack organization and direction. Perhaps though that was the point, perhaps it was not about the stage as much as it was about the staging; the staging of intrinsic meaning and organic acceptance. They seemed to pass the bullhorn from individual to individual and allowed anyone to have a go at letting out their unrehearsed feeling. Some were certainly more polished than others but there was a beauty in each one; individuals making themselves vulnerable and expressing feelings, emotion, and thoughts. Opening themselves to attack. It made me appreciate not just our freedom of speech but how individuals can be so different yet so collectively unified. I watched until the point that their individual thoughts began to fade into a series of collective chants, they began to rhythmically spill together and unify in the blending of collective set of emotions and words. The colors of the movement seemed to be taking shape, they were being painted together into a portrait that any eye could now recognize. I took in the words and the rhetoric and tried hard not to have an opinion. I closed my eyes and breathed. There is something deeply comforting in chanting and repetitively losing oneself in a cadence; almost spiritual. Then the sudden irregularity in the natural rhythm, the skipping of the pulse brought my eyes open; how long had they been closed, entranced. Seconds, minutes. As quickly as the chant had begun it evaporated. A moment of silence turned into a hum as a voice came crashing through the murmur, “Let’s march down to Main Street.”
As the crowd shifted and heads turned and swiveled in the direction of the suggestion, I stood with the crowd and again filled my lungs. My hands slid into my pockets and, I like so many others, shifted from foot to foot in contemplation. The call to action was given, does the entire group follow the call? The group that was lulled together just moments ago. I seemed to be pulled back to reality through the moment I was in. What were my thoughts on this subject, did I feel as these individuals did, is everyone here of the same mind? My participation was not in support of, nor was it in resistance to, it was just in listening. Just in being.
My senses seemed to shift, to change, my peripheral awareness heightened, and I noticed some of the individuals I recognized started to migrate into their own paths. They were leaving the group and wandering in different directions. I found myself drifting asunder, floating gently away from the group. Not on the rough waves of opposition, just in a natural departure of individual meaning. I was not here in the discovery of meaning or acceptance on in support of a community and group of individuals that have something to say, something to share. A large contingent of the group began to roam in the direction of Main Street but it seemed as though just as many, including myself, began to disperse and scatter purposefully in all direction. I drifted in the direction that had brough me here and back to the restaurant that I had come from, the restaurant that I have stood at the helm of for the past decade, the restaurant that was in the panoramic view of this assembly.
As I crossed Main Street and turned back to face the scene that I had just left, there were still individuals fading into the canopy of the park’s blossoms. As I centered my gaze back on the group of individuals moving towards Main Street, it seemed to be a group of people I did not recognize, but strangely felt as though I knew. As my eyes bounced between individuals it was hard for me to find one that I knew by sight. There may have been one or two sprinkled throughout the fifty or sixty that had made their way to lining the curb opposite me, the curb I was now standing on. I leaned my back against the solid brick wall that has towered over this little historic street, and I wondered what have these brick seen? I thought about the years and decades of decibels that have bounced off these walls only to be absorbed forever by the park in which it faces. How many others have stood across from these bricks and tried to tell their story, to sing their individual and collective songs? Did anyone hear them or did the trees and flowers gobble up their voices and discard them into the relics of time that was never recorded? Regardless of what these hallowed walls have reflected or absorbed, the serenades or barrage that have come before, this was their time, their opportunity, to share their voice and allow their echo to be captured by history or face the oblivion of time.
As the crowd lined the 25-yards of curb, the rhythmic chanting began again as one individual called out words that seemed to idealize the group’s consciousness. I am recounting this not for the agreement or disagreement of the expression but because of the discovery that unfolded before my eyes as a result. The chants continued and horns honked, I am sure in both agreement and disagreement, but they went on regardless. As I watched, I felt curiously connected to the individuals that pumped their arms to the sky as car horns seemed to egg them on in unity and defiance. Their signs now all held high and voices aloft on that breeze that seemed to be changing in tone and cadence. I stared across the blacktop and I had the feeling that I knew these individuals. I felt almost a kinship with them, despite the words, the language the ideology, I felt like I knew them intimately. However, I could not put my finger on it. They were there and I was here. Opposite sides of the street. I did not know the names and faces of any of the individuals. Most were as foreign to me as a perfect stranger, but strangely I knew them. Perhaps it was just the sense of openness I had for their right, the acceptance that we had shared in the park together just moments ago, perhaps it was just our universal liberty. Or perhaps it was that sense of dignity that I have come to appreciate in every individual. But that was not it, it was something else. I studied the group intensely, and the more I examined them the more I felt that they were my people, but I just could not grasp it. It was as if it was standing just within my reach, yet I could not hold on to it. Was like it was slipping between my fingers and I could not comprehend it. Fluttering like wisps of fog before me.
Then it happened, as if the breeze had willed it. Tumbling down the sidewalk like a crumpled-up piece of paper a smaller group of individuals came into being, into focus on my side of the street opposite the group. The contrast between them, the new arrivals, and the group that I seemingly had an unexplained affection towards, could not be more starkly in contrast. It was as if one was looking into a set of binoculars that were in perfect focus, yet each eye saw a perfectly clear yet different picture in each. It all came effortlessly into focus. The smaller group was older, perhaps even wisely grizzled. The larger that I had sat amid was younger, perhaps enthusiastically ablaze. Nothing should be needed to depict or call into view what would unfold in the next several hours. There were two different world views that faced each other and the only outcome that each would accept would be total submission. I do wonder if that had happened what would one have said to the other. What if one had immediately bent the knee, in a supernatural conversion, surrender? What would the other group have done; would it have been a comical satire or would the other just be struck dumb in speech? But that was not to be the case. I do not think this is the place to build the argument for either side and how the ignorance of both took little logical scrutiny to reveal. The vitriol and venom that lashed back and forth was difficult to keep track of. Attacked and counter attacks bombarded both sides, neither taking the time to receive even the full weight and measure of the others attack before catapulting back. The intensity only seemed to increase as both sides canceled each other’s bitterness with their own. But then the moment came, the moment where I understood that writhing mass of individuals across the street from me, the humans that faced the other humans in defiant unwavering opposition. The moment that changed my worldview on the landscape of what was truly being spoken by these individuals I seemed to have this unspoken kinship with.
It was one individual that made this clear, it was one individual that allowed the scales to fall from my eyes, it was one individual that synthesized my understanding and familiarity to the individuals that stood opposite me. She stood at the end of the line closest to me as the group stretched north like a snaggled smattering of teeth along the curb and grass that separated them from the sidewalk. She caught my attention from the moment I leaned up against the wall on my side of the street. She was tall, black shoes, black pants, a black half shirt and a black mask. A ribbon of blond hair spilled down around her shoulders. Three things kept bringing my eyes back to her as the jeers, insults and poison were flung back and forth. First was her position at the end of the column and her proximity to me. It was across Main Street, but it allowed be to study her movements, her gestures, her individual accents. Second was the half shirt she was in. It revealed her thinness. Her lanky long-limbed height certainly contributed to her slimness but as her body writhed and twisted in consort with her voice one could see a thinness that the imagination could see slipping easily between two prison bars. And the third is hard to describe, it was the conjunction of her voice and how it was even possible that it matched the violent motion of her body. It was a perplexing contradiction within my brain. This wispy almost flimsy looking body was projecting a rage that seemed to be coming from another dimension. Her left hand clenched above her head pumping in rhythm to her ferocious voice. I remember thinking, ‘how is that body producing that force, that power?’
Her proximity to me allowed me to just make out the constricted slits of her eyes between the top of the mask and the forehead that her blond bangs flittered across. Her eyes that cruelly gobbled up the opposition facing her. The eyes that had no lens or filter only one purpose. The eyes that stretched out her passion only to be equaled or exceeded by her violent words. Words that made one squint. Made one shudder. I can close my eyes now and see her standing on the curb leaning, stretching like a stalk of bleached wheat in to and over the blacktop. Her strength coming out of the ground, holding her in place, fixed to the curb. Back and forth her body gyrated, hurling her emotion, bombarding the other side with anger and viciousness that seemed impossible to have come from something so slight and petite. Her frame rolled like an incoming wave, whipping at its crest, words laced with indignation and fury.
I remember cocking my head and thinking how can something so slender, almost bordering on feeble, produce such force. In my state of confusion, I felt a sense of impressiveness. Impressed that she could generate such intensity, such power. Pound-for-pound she had no equal lining the curb, or for that matter, in a radius that stretched in all visible directions. Where was it coming from? Where was this will of power emanating from? Is a passion like this born, is it developed in and through an ideology of truth? There was a contradiction in my own consciousness. Her massive passionate countenance for a cause, a belief, seemed to be cancelled out by her apparent hatred for the individuals on the other side of the street. The manifestation of anger and revulsion cracked from her like a whip connecting with flesh. I tilted my head perplexed to understand her. I fought through my own ideological belief, in agreement or in contrast, neither mattered. Struggling in my own mind to see through the behavior. What was she trying to tell the world, for behavior is a form of communication. What was she really saying? What was she really trying to tell us? Was it truth? In this age of post-truth; is it just her truth? Has she found something, is she searching for something? Has she and the others found a clarity of truth that we can only marginally see? To be so confident that your body language, tone of voice and language all line up so ardently, so passionately. Is this truth or is it something else? My mind still could not see it, the scales were still on my eyes, but my vision was about to be changed forever.
It happened in the blink of an eye, her head swivels only for a moment and her fist oddly fell to her side. She momentarily glanced a few meters to her left, in my direction. It made sense since there were diners scatter directly in front of me. Customers littered the space between where I stood and the edge of the curb on my side of the street. Perhaps she recognized a friend seated opposite her, perhaps it was someone she admired. Something instantly changed her countenance. As if caught in a transcendental tractor beam, she turned to her left as if she were rotating like a soldier dressing that direction. Her eyes still attached to the area that I stood in she reached the crosswalk. Without even looking left or right she was pulled across as if in a trance which hastened her step. As she reached my side of the street; the vile shores of her opposition, my eyes were nervously fixed on her, spellbound. What could have broken her rhythmic chant, broken the moment she was in, defied the feelings she was trapped in? What could have so instantaneously unchained her from her emotion? It was like watching a miracle, wonder, unfolding before your eyes. It was like watching a soldier do an about-face, a 180-degree instant transformation and now she was only a few meters from me. This creature that I was studying was just steps from me; this enigma that I was watching as if in a movie scene. One moment she was uttering savage profanities hurling them with the strength of a giant and now she stood at the edge of the crosswalk. The only thing between her and I were a few patrons being entertained or disgusted by the scene rolling out before them. She paused and looked at me over their heads. Tears streamed down her face, tears like two small rivers ran from her eyes into the black mask. Welling into the material, being lost in its darkness. We regarded one another, eyes not blinking. Holding our gaze, my heart seemed to stop momentarily as I studied her face. Softness, surrender, seemed to be etched across it. A sense of brokenness filled me as my heart began to beat again. Pity was my feeling. I was transported into a world of serenity, it seemed as though nothing existed around me, no sounds no reality, just her, and her eyes, these windows into her soul, and the tears that oiled it.
“This life's dim windows of the soulDistorts the heavens from pole to poleAnd leads you to believe a lieWhen you see with, not through, the eye.”
Not the crowd, not the spectators, not even the breeze existed. It was only her and I, our windows open, our souls connected. She moved again, but now she seemed to float between the two sets of diners that flanked her. In moments she would be at my feet, and then she was there. Standing at ease. Her head slightly tilted. The stream of tears still flowing from her brown eyes. I could feel the gentleness, a craving of tenderness calling through them. She softly dropped her gaze to my shirt, FREE HUGS, and then just as quietly her eyes reconnected with mine. Her right hand slowly but smoothly touched the corner of her mask. As if in slow motion she pulled it down, the tears that had been pooling in her mask seemed to let go with her eyes in full. “You saved my life,” was all she said. Faintly, reverently. Even as I think about it now, I touch the keys of my keyboard with a softness, a gentleness that I felt in her voice. Just moments ago, a juggernaut stood, what seemed like miles away, on the other side of the world and now before me was a delicate fragile flower. A flower that was broken in two. A wilting flower that, in those words, was asking me to put it back together. My mind swam, as if caught in this delicate vortex. Confusion, chaos wanted to overtake me, but the bonds of adoration and love seemed to hold them all back and in place. Not even the strength of a nuclear blast could have permeated the capsule that surrounded us. “You saved my life,” she said again. That was the confusion, I could not remember this face, this giant of the opposition party. She was talking to me; she was inches in front of me. Submissive, lost, frightened. “You saved my life.” For at one moment I was standing in darkness just looking at the keyhole of a door, my imagination, fear, told me that the scene on the other side was chaos. If I could only get close enough to peer through what would be on the other side. Yet my consciousness stood there in peace, just focusing on the moment. On this tiny keyhole of time and without provocation a beam of light pierced the darkness. The beam was true and strait, only the beam existed in the darkness. I stood there staring at the beam, was this, is this truth.
Holding her words within the window of my soul. No understanding, the scales covering my eyes seemed to detach but still hung there in open space between us. Silence. Then came the shift, the slightest movement. At one moment I was staring at the beam and in just the blink of an eye she moved me with her words. She spoke again. “You came to my school years ago, you saved my life, will you hug me.” The scales instantly evaporated and I could see. Now I was standing looking along the beam that would stretch that 90 million miles, I was looking straight and true. I was looking at the truth. In an instant it hit me, I understood everything. I flew through the keyhole, the chaos of bewilderment that I thought existed on the other side dissolving. Light filled everything. My confusion was instantly eviscerated. I knew this young woman. I have seen her a thousand times before. I knew her as well as many of my own proclivities. I knew those tears better than my own, I had seen them roll to the floor in the darkness of an empty auditorium hundreds of time. I have pulled them through my windows, they have oiled my very soul for a decade. After every presentation, in the dim lit quietness of an empty auditorium they always find me; and they were here with me falling on the sidewalk.
It is the student that lingers, the one that sneaks back in when I am packing up my equipment. It is the one that shares the unimaginable pain and suffering, that they are feeling. It is the one that unleashed years of trauma and abuse on me. It is the marginalized. It is the freak, the one that is invisible, the one searching for meaning, the one that is hungering for belonging and human acceptance, it is the hopeless. I knew her. No words, only silence. In the blink of an eye I cross the thousand miles that separated me from her world of hopelessness, and I opened my arms, I held her. We just swayed there together; I am not sure if it was a second or a thousand years. It just was. It was just being; human beings. I felt her peace, her surrender as her head turned sideways and rested on my chest. As if we were wrapped together in a cocoon, we were together. I could not feel her hopelessness, though I knew it was there, I could only feel her safety, her security in my arms.
At that moment if a thousand nuclear bombs had gone off, she would have felt protected. Time seemed to stand still, stretching inexorably into oblivion. I imagine that she was standing outside of her hopelessness, it could not touch her in that moment. My arms were a shroud that hopelessness could not permeate. Its dark and malevolent grasp had no power over her in that moment. The power that it was calling forth just moments ago was gone. For what I learned in the blink of an eye, what I uncovered instantaneously, what I was watching on the other side of the street was the natural and the illogical outworking of hopelessness. It is easy to cast up a wall and defend the ideological rhetoric of the voices across the street, but as I held her in my arms I gazed over her and I looked at the faces of her comrades. In silence, I saw the shouts, the signs being pumped up and down, I saw the faces, the faces of the thousands of children that I have met. The ones in the empty auditoriums, the ones that I took the time and listened to their stories. The stories of the hopeless. The ones that were searching for meaning, for purpose. The ones that were craving human acceptance. It was all of them scattered across that curb; they were all there. It was not hatred being flung across the street it was hopelessness. It was pouring out of them, like a filthy black river spewing its vial contents. It was their pain, their trauma, their search for meaning, their deep hunger for acceptance. They were older now, and they are still in this battle against this ancient monster. However, they had found meaning, they had found acceptance, but it was being called forth as hatred. It all unraveled before my eyes as I held her. They are my hopeless children, the ones I have connected with over the past decade. They were all there.
Large Post Warning - Take your time reading this one. There’s a lot here, I’m not expecting you to go through it all in one sitting. You essentially have a month to go through this before you start missing out on anything, worst case you have until the first WAYR thread of the month. But hey, I’m not a cop, I just like to make long posts. Enjoy.
What’s up everyone! Name’s Arcanus, I’ve been around for a while; if you recognize the name great to talk to you again, if not then it’s nice to meet you. Now if you have been around for a while, then doubtless this screenshot is something you remember from a long time ago. If that’s Greek to you, the short and sweet of it is, back in the day this subreddit was managed much more by hand and as a result we had a fair bit more extra features and add-ons. Custom CSS banners for specific VN discussions, weekly threads not even being handled by AutoModerator, and a hand-made WAYR archive, complete with a user leaderboard hosted on the subreddit’s wiki.
That screenshot was taken from the only internet archive snapshot that exists of it, circa Winter 2015. Back then, I loved that leaderboard. It was this tiny little corner of the internet that even plenty of subreddit regulars at the time didn’t care too much about, but in some sense, it was validation; it was motivation to keep posting in the WAYR threads. More importantly, it gamified the WAYR threads. Gamification is as the word implies, it is the process of turning any given action, habit, or task into a game with various degrees of interactivity. Something as simple as a leaderboard with one or two numbers representing a “score” can have powerful motivating effects on people, and as a result can increase activity, engagement, and popularity. Over time, however, this leaderboard was abandoned for a number of reasons, but the simplest being it became too arduous to maintain manually, and demand was not high enough to either tackle that issue head on or find automated alternatives.
Nowadays, additionally for a number of reasons, the WAYR threads aren’t pushing the level of popularity and activity that could be seen in “the good ol’ days” as it were. Simple as it was that motivation to get onto and climb the leaderboard is gone; posting in the WAYR thread nowadays is an exercise in self-satisfaction. There’s only a small handful of users posting consistently in there - write-ups get less upvotes overall, there’s less comment replies, and AutoMod-chan is the most active user in the threads. Now it’s certain that this can grow organically; a lot has happened since the start of the year and especially with things “starting fresh” in a couple senses these weekly threads still need to get their feet under them again. Lately I’ve been mulling this over, of what there may be that I can do to boost activity in these threads, and one of the things I always found myself going back to was that leaderboard. So, I decided why not make my own?
It is with this thread that I announce the spiritual successor to the classic WAYR leaderboard. But this one will be better. This one will be automatic, this one will have more features, track more, be more public, and incentivize different things. This will be more than what it’s based on. Ladies and (mostly) Gentlemen, I present to you a personal project I’ve been working on: WAYRStats.
The Monthly WAYRStats, Leaderboard, and CompetitionWhat is WAYRStats?
I’m so glad you asked in such an incredibly convenient and properly formatted manner! WAYRStats is a data science script written in Python that passes a search query to the Reddit API and processes the results. In plain English, my script passes a string to Reddit to run as a search on /visualnovels; this search string isolates and returns nothing but the WAYR threads. Using this fucking mountain of data I get as a result I can go through ALL that information, parse it in various ways, and set up basically whatever leaderboards/metrics/analytics I (or you!) could want. Later on in this post I’m gonna be breaking down one of the main modules of the script in more detail than you could ever want, so stay tuned for more details. Before that though, I’m excited to announce a new monthly competition revolving around the WAYR posts!
The WAYR Monthly Competition
I say competition but really everyone wins man. The idea behind this is to boost activity in the WAYR threads by providing tangible and intangible incentives to do so. This could work amazingly, this could be downvoted to oblivion, who knows. This competition as it were was the original idea when I came up with this whole project. At the start I asked “what would motivate [user] to participate more in the WAYR threads?” And the answer I came up with is what we all love to see: free shit! The system works like this:
- Post in the WAYR threads three times in one month, and you’re eligible for a raffle drawing at the end of said month. Your post must be a parent comment, presumably talking about, well, uhh, What Are You Reading. Subtle, I know.
- Raffle prizes are currently limited to sidebar suggestions and custom text or image flairs. If you have an idea for a prize that seems reasonable, let me or better yet one of the mods know and they will come to a decision about it. The prize selection is small for now, but we plan on expanding the prize pool if this new system gains traction.
- There is no minimum character requirement, no extras for posting essays; post literally one sentence three times in one month and you’re golden, but we encourage you to discuss!
- Every month I will be posting a huge thread going over the stats and leaderboards for the month; that thread will also be used to announce the winner of the previous month. I will try to post these threads in the first week of every month, most likely the day of the first new WAYR thread so the data is the most accurate.
WAYRStatsSo this is literally the debut so nomenclature is still relatively WIP, but WAYRStats is basically half of what I’ve put together so far (I’ll tell you about the other half in the next section of this post). As I said above I send a search query to isolate the WAYR posts; WAYRStats specifically singles out every WAYR post for the entire month and slowly parses through all the data, building data structures as it goes. One term I’ll use consistently throughout here is the word Dictionary which if you’re unfamiliar with it, it’s a data structure that stores data in key : value pairs; keys are used to access values. It’s a really flexible way of storing data that has a lot of options with it. As a special surprise, y’all will get to see (most of) April’s full suite of WAYR analytics as a part of me explaining what all this stuff does and how it does it. I say most of because there’s still a few more days for other users to comment in the most recent thread that may alter the data. Once the first WAYR in May goes up I’ll prolly run the script again and update it or create another thread. I won’t drone on with the opening paragraph, lemme show you what this thing can do.
You know what, fuck it. Have the largest data set first: Average User Data.
Average user data: [user] - [total char. count / num. of posts = avg character count] [PHNX_Arcanus]----------[25794/6 = 4299] [deathjohnson1]---------[21969/7 = 3138] [UnknownNinja]----------[19217/5 = 3843] [Some_Guy_87]-----------[19192/2 = 9596] [alwayslonesome]--------[16856/2 = 8428] [Alexfang452]-----------[15636/5 = 3127] [KaveAhangar]-----------[13366/2 = 6683] [GitahMuttan]-----------[12837/2 = 6418] [superange128]-----------[8328/6 = 1388] [greenhillmario]---------[7605/2 = 3802] [Betteroni]--------------[7554/1 = 7554] [fallenguru]-------------[7410/3 = 2470] [eiruki]-----------------[6983/2 = 3491] [JayOutslee]-------------[6750/2 = 3375] [RisingChaos]------------[6616/2 = 3308] [nwl123]-----------------[6377/2 = 3188] [GorbyVodka]-------------[6063/1 = 6063] [Kiesuu]-----------------[6013/3 = 2004] [DarknessInferno7]-------[5273/2 = 2636] [SSparks31]--------------[4182/1 = 4182] [MidgetPanda3031]--------[3946/1 = 3946] [SignificantMaybe]-------[3684/1 = 3684] [GeneralGom]-------------[3558/3 = 1186] [Stefan474]--------------[3390/1 = 3390] [Worluvus]---------------[3259/1 = 3259] [SpectrumDT]-------------[3200/1 = 3200] [iT__jUsT__WoRks]--------[3072/1 = 3072] [Eterna1Ice]-------------[2768/1 = 2768] [therumisallgone]--------[2745/1 = 2745] [faiiper]----------------[2610/1 = 2610] [Lastshade01]-------------[2381/3 = 793] [tintintinintin]---------[2333/1 = 2333] [sorathecrow_]-----------[2117/1 = 2117] [a_pale_horse]-----------[1983/1 = 1983] [KnightLunaaire]---------[1966/1 = 1966] [caspar57]----------------[1947/3 = 649] [Inara_Seraph]-----------[1841/1 = 1841] [Zagorz]-----------------[1557/1 = 1557] [SortaWeeb]--------------[1548/1 = 1548] [drinkyourmilk94]--------[1506/1 = 1506] [tauros113]---------------[1322/2 = 661] [OdaNova]-----------------[1226/3 = 408] [OhLookAtMeImSpecial]----[1179/1 = 1179] [AngristIron-Cleaver]----[1173/1 = 1173] [yolo1234123]------------[1154/1 = 1154] [AssembledVoid]----------[1136/1 = 1136] [sfisher923]--------------[1108/2 = 554] [ShinKozato]-------------[1050/1 = 1050] [sirflimflam]------------[1019/1 = 1019] [tostitosruler]------------[888/1 = 888] [nanogenesis]--------------[878/1 = 878] [WalriderCosplay]----------[855/1 = 855] [Deost8003]----------------[677/1 = 677] [Adan181]------------------[616/1 = 616] [YossaRedMage]-------------[590/1 = 590] [Hikagura]-----------------[577/1 = 577] [Codex28]------------------[515/1 = 515] [August_Hail]--------------[482/1 = 482] [Oglifatum]----------------[465/1 = 465] [totallyhuman939]----------[415/1 = 415] [sultonydp]----------------[402/1 = 402] [PlasmaLeaderN]------------[339/1 = 339] [VeriDF]-------------------[332/1 = 332] [Jazz_Musician]------------[325/1 = 325] [morphogenic96]------------[313/1 = 313] [davisjryoung]-------------[264/1 = 264] [Cenriqu3]-----------------[236/1 = 236] [iHicham]------------------[216/1 = 216] [metroman1]----------------[172/1 = 172] [Koyomi-senpai]------------[166/1 = 166] [ShoujoKakumeiLea]---------[139/1 = 139] [Nirvash78]----------------[129/1 = 129] [cerek17]--------------------[70/1 = 70] [chrispy4627]----------------[35/1 = 35]The number you’re wondering about is 74, by the way. This one was one of the earlier modules I put in and the formatting used to be horrible. Here’s a sample:
OdaNova............... Total Posts,  Total Post Length,  Average Post Length. stealthswor........... Total Posts,  Total Post Length,  Average Post Length. deathjohnson1......... Total Posts,  Total Post Length,  Average Post Length.That’s just 3 lines. It did that for every user. Look we learn from our mistakes. Anyways, another little module attached to it:
Averages: Top 5 for the month #1: Some_Guy_87 #2: alwayslonesome #3: KaveAhangar #4: GitahMuttan #5: PHNX_Arcanus #6: UnknownNinja #7: greenhillmario #8: eiruki----- #9: JayOutslee- #10: RisingChaosIt says top 5 because I intend to do only top 5s for monthly leaderboards, however this is the debut so I’ll give y’all a little extra. This one was fun to do because it pushed me to use dictionaries in a creative way. I created my own data structure here and stored that as the value in the dictionary, so one key could access more than one piece of data associated with it. In this case, your Reddit username serves as the key (which it’s gonna do that for almost every single module) which accesses both the total character count and the total number of your posts, both of which it adds up as the script goes through the threads one by one. Afterwards, do a bit of math and print it out nice and neat.
As the name says, these aren’t large aggregations of data, rather singular calculations on said large aggregations of data. Say that five times fast. Here’s some cool stats for the month:
- The longest post in Apr was written by [Some_Guy_87] on [Apr 22] and had a length of  characters.
- We had an average of  comments per thread this month.
- The average length of posts for this month is  characters.
- The Pretty People Coefficient: Percentage of users who have set custom character flairs: [29%]
The next two come in a pair and are a very simple module, here’s the code:
def FindAvgPostInfo(self, submission): self.totalThreads += 1 for comment in submission.comments: self.totalComments += 1 self.totalCharacters += len(comment.body)This function is called once per thread, increments the thread count, then for every comment in the thread it increments the count for comments and adds to the total character count. Again, a bit of math and print to console.
The last one is unique and lets me explain a bit how the Reddit API works. The very first call you make in the program is an authentication call to Reddit, which gives you an instance of their API, fancy words for our own little copy of Reddit we can work with. The Reddit object has subreddit objects you can grab from it, so we get the VNs subreddit. We send a search on that subreddit object and we get a list of submission objects. On a submission object you’ll find a comments object, then an individual comment, then that comment’s author, and then there is an author_flair_css_class object on that. It goes alllllll the way down the rabbit hole, but at least we set up a base camp around the search layer so it’s easy to build off of. By checking if that member variable has either no data at all or a default blank value we can get the total percentage of custom flairs.
The Early Bird Club is easy to figure out - post your review or comment within the first hour of the thread going live, and you get a point. Here’s this month’s notables:
The Early Bird Club: #1: UnknownNinja----- #2: superange128----- #3: PHNX_Arcanus----- #4: alwayslonesome--- #5: Alexfang452------ #6: Some_Guy_87------ #7: KaveAhangar------Like I said, normally I only want to do top 5s for monthly leaderboards, but it doesn’t feel fair to 6 and 7 and I haven’t implemented a weighted ranking system yet. This one is also easy to explain. By now you know we like dictionaries with usernames as our key, same deal here. By checking your post date against the thread’s post date, simply check if the hour value is the same and give a point if so. Sort it and print to console.
After writing this post I realize because this script only checks the post hour, that now gives a 1-hour window every 24 hours to qualify as an early bird; gonna have to update that shit before the end of the month.
This was one of my favorite modules I came up with, and also a headache to implement. The Sweet Talker’s Club tracks total comment replies for the entire month, including shit that goes back and forth. Funny story about February 12th, I’ll tell you in a bit. Top 10 for this month is:
The Sweet Talker's Club: #1: Some_Guy_87------ #2: AutoModerator---- #3: PHNX_Arcanus----- #4: UnknownNinja----- #5: tintintinintin--- #6: tauros113-------- #7: GeneralGom------- #8: Bruxae----------- #9: Zagorz----------- #10: Veshurik--------Honestly I can’t fucking believe Some_Guy_87 tied with Automod. I’ve got the year-in-total leaderboard and she’s got first place by a long shot. So how do we go about getting this data? Let me tell you about something called recursion. People familiar with this concept are already groaning, for those out of the loop (no pun intended but that was godlike), recursion is where you call a function within itself, basically forcing the compiler to do over the same code again and again and again. However, think of it like adding layers to a cave; everything is identical but you’re still going deeper. When you find what you’re looking for you need to go back up to the surface, you don’t just warp back to where you started; you have to manage your ascent. (Sorry for all the cave analogies I watched Made in Abyss last week and this is how I’m coping) I’ll give you the code on this one:
def FindSweetTalkers(self, submission): submission.comments.replace_more(limit = None) for comment in submission.comments: self.RecurseSweetTalkers(comment) def RecurseSweetTalkers(self, comment): if not comment.stickied: for reply in comment.replies: if reply.replies._comments.__len__() > 0: self.RecurseSweetTalkers(reply) if reply.author and reply.author.name not in self.sweetTalkers: self.sweetTalkers[reply.author.name] = 1 elif reply.author: self.sweetTalkers[reply.author.name] += 1That first function just sets up a loop to recurse through the thread. The RecurseSweetTalkers function will continue to call and execute itself until it sees that the Reddit API tells it there are no more comment replies. Then it goes all the way back up the comment chain and loops again. This crawls its way through every comment in every thread and gives points to replies only. So, February 12th fucking broke the shit out of this code because two crazy edge cases happened in a single thread. First, tauros113 posted and stickied a comment in the thread. Stickied comments do all kinds of fucked up shit with the API, it’s got absolutely no idea what to do about it, and crashes my code. Secondly, a handful of users went back and forth long enough for the standard “continue this thread” or “keep reading” prompt to show up. This also breaks the shit out of the API. That “continue reading” is an actual entity, the API thinks it’s a comment reply, but has absolutely no data associated with it because it’s just a button to keep reading. Thankfully with the line submission.comments.replace_more(limit = None) is basically a global command on the thread to flush out those prompts and load every comment in the thread. Even funnier story, fixing that issue was the difference between a user being on the leaderboard or not. Wild stuff.
I saved my favorite for last, I really do hope this category gets bigger as time goes on. The Perfect Attendance Club naturally is for users who posted in every thread for the month:
The Perfect Attendance Club: UnknownNinja deathjohnson1 PHNX_Arcanus Alexfang452Congratulations guys, good stuff. The way I get this list is actually kind of fun; I start with an array of every user in the last thread of the month (Reddit can only sort by new, so all of my data processing actually happens backwards), then one by one strip away any user who is in the next thread and is not in the current list. By the end, only the perfect attendees remain. Shouts out to these guys, they’re doing god’s work.
The WAYR LeaderboardsThe WAYR Leaderboards are........a surprise! Now that WAYRStats has been announced, you all knowing of its existence changes the nature of the data that this thing aggregates, so for now I gave y’all a full suite of monthly analytics for April. At the end of May you’ll get the full suite and that thread will debut the year-in-total leaderboards, and this project will be going open source for anyone who is curious about Python, about how this all works, or if they want to run it on their machine to fiddle with things. In addition, I’m thinking that throughout the month of May, I’ll make some smaller threads to spotlight individual facets of my code, Python in general, and getting feedback from you guys; I’ll probably debut a couple leaderboards in that time. The leaderboards module is fully functional and I actually do have a couple ideas for more, so stay tuned. But, maybe I can give you a little peek...
For real, shouts out to deathjohnson1 for being the only user to have posted in every single thread for the year of 2020 thus far (not including untranslated threads).
In ConclusionYes I know I’m in just about every metric, I made this shit don’t you think I wouldn’t completely rig it my way? /s
I’m very excited to debut this to the subreddit, and a bit nervous as well. In its own right I learned a lot about Python doing this and this project will likely end up on my portfolio as a code sample. I think you guys will like it, I’ve spoken to a few people that miss that old leaderboard, and I hope that this spiritual successor will feel more noticed, more accessible, more engaging, and more fun.
Do you have ideas to make this project better? By all fucking means shoot me a line if it has to do with the code or the mods if you want to contribute to the prize pool or offer suggestions!
It’s been a pleasure getting back into this community after a long break; having a place to just let those creative juices flow and pop off about something I care about is really important to me, and I wanted to show my appreciation with this. So at the end of it all, I would like to ask you a question:
What are you reading?