text:
Hello and welcome to About This Writing Thing, a weekly podcast about living the writing life. I'm your host, Sayword B. Eller, novelist, short story writer, and podcaster. Today I want to talk a little bit about first drafts, more specifically why we shouldn't expect gold the first time we write "the end".
First, though, I want to update you on my writing life because that's what I do here, right? At the end of August I received a rejection letter from The Sun for my short story The Snowbank. I love this story so much, but am having a very difficult time placing it. I'll be submitting it to a few more publications. Hopefully one of those submissions will be a yes. In case you haven't realized it yet, writing equals a whole lot of no's and very few yes's. Adding to that rejection, I also received a rejection for my novel, Catching Fireflies, from one of my dream agents. I still haven't heard back from the agent that requested the revise and resubmit, but I'm hoping to hear back before January 2021. If I don't hear back by then I'll just assume it's a no. 7 months is long enough. I did see a horrible tweet the other day where a woman just received a rejection for her manuscript. She submitted to this agency 3 years ago. Here's a little tip to agents, if it's been 3 years you can assume that we've moved on.
Courtney Maum says that your book isn't really ready to go until you've gone through around 4 drafts and I've found, at least for me, that this is 100% true. Take my most recently completed novel for example. When I first completed it in November of 2018 I had a word count of 58,000 words. I also had a very shallow character and not a lot of what I needed to make a compelling story. I had a sexual abuse survivor who had tried to commit suicide, failed, and returned home to live with her mother. I had a dysfunctional relationship between her and her mother and a too-perfect one between the MC and her sister, despite the fact that she abandoned her little sister a decade ago to vanish into the night. What little sister isn't going to be harboring some bad feelings about that?
Now, with me I tend to work through a second draft very quickly. The real work, aside from writing the damn thing in the first place, comes when I get to draft three. That's when I really start to consider the motivations of my characters, what situations I can introduce to up the conflict, and how much deeper I should go with each character. Here's the thing; with each draft I added 8 - 10,000 words because I was going deeper into the story and the characters and the messes they kept creating for themselves. Finally, at the beginning of draft four I needed 14,000 more words to get the book to industry standard so that an agent would look at it. For women's fiction the standard is 80,000 words. When I got into the draft I noticed my MC didn't have a lot of interactions with people outside of work and home, so I made it a point to add a few. I also wanted to add more of her stepfather and neighbor into the story because they didn't feel rounded out enough. When I finished that draft I had 82,000 words, and I was happy with it. The story was told.
Then an agent requested a full and suggested that I make a few more changes, so fifth draft it was! After those revisions I came out at 91,000 words and a story that I am proud to say I wrote.
Well, you ask, what about those authors who say they turned in their first draft to their editor and it was "almost perfect." Let me tell you this, I know those writers (could name them, but I won't) and that is not their first draft. They may not have twenty-five revision files sitting in their documents folder, but I can assure you they have been back over that manuscript time and time and time again. I know a couple of writers who go back and edit previous chapters at the beginning of every writing day. For example, let's say Writer Cindy wrote two chapters on Sunday. She couldn't write on Monday for whatever reason. Maybe she takes Monday's off. Anyway, when she opens the file on Tuesday to write, she goes back to those chapters written on Sunday and reads through them to make corrections or revisions before moving on to write new material. Nothing wrong with this method, but this gives the sense that they're turning in a first draft. They are not.
Also, stop comparing yourself to Writer Cindy.
I know I haven't been validated by the publishing world yet, so you can take what I say with a grain of salt. However, I'm going to tell you three reasons why your first draft doesn't have to be "perfect".
No draft is perfect. Period. Anne Lamott wasn't kidding when she said it's okay for a first draft to be shitty and neither am I. I'm a moderate reader. Maybe 25 books per year. I think I'm at 18 books for 2020 so far. Yes, I'm behind. My point, not even those finely polished, traditionally published books were perfect. It's time we stop striving for perfection and remind our brains that nothing is perfect - Nothing - and our first drafts are allowed to be the most imperfect of all.
Your first draft is simply you telling yourself the story. Think of it as a very detailed outline. One that you can just improve upon until it's a bonafide story ready for the world.
Writing is hard work.
Let me explain this last bit. I'm in an MFA program. In that program I've met a number of very "green" authors. To them I am a jaded old hag who's lost her passion for this work. When one of my classmates starts waxing poetic about the muse and how we all must dance with it, or whatever, I'm the first one to say, the muse has no place in professional writing. It's another of those myths. Have you seen The Muse with Albert Brooks and Sharon Stone? That is not writing.
Undoubtedly someone is shouting at me now, "You shut your blasphemous mouth!" But, I can't hear them so it's okay. And, if they want to wait around for some muse to whisper in their ear or sprinkle stardust on them, that's cool. Me? I'll be seated at my desk getting some words in when all I really want to do is go back to bed or play State of Decay 2.
How many times have you told someone you're a writer and they say, "Oh, I thought about writing a book!" as if it's the easiest thing in the world? Too many times for me, thank you very much. The average person really has no idea how difficult it is to be a writer. It's Hollywood's fault, for sure. They've glamorized the profession, made it seem like big advances are the norm for everyone, you're always with the same publisher, and the profits from your first book are enough to live on and buy that big mansion in the hills. That may be the norm for 1% of the writing population, but the other 99% had to take off those rose-colored specks and take a look at the harsh realities of the writing world.
It's mostly Nos
It costs a hell of a lot of money
Most people don't get to live the "full time writer" dream life.
**Please note: As someone currently living the full time writer dream life, it isn't what it's cracked up to be.**
Writing is rewriting. We've all heard it and, if you're a professional writer, you've lived it. You know that the first draft doesn't have to be perfect because you know that writing "the end" doesn't mean you're anywhere near finished.
I was in a Facebook group a couple of weeks ago and saw a writer's post about finishing their first draft. The author said they were sending the completed draft to their editor that day and would be publishing in two weeks. My first question was, of course, how on earth will the editor get the suggested edits back, the writer complete them, the editor go over the revisions, and betas read before it is published in two weeks?
How does that even make sense?
I will admit, there are a whole lot of behaviors in the indie publishing community that don't make sense (more on that in an upcoming episode), but this publishing a first draft has vexed me for a long time. Then I realized what most of these publish-button-happy writers haven't, writing is hard work.
It took me 5 drafts to get the story right (well, right enough to submit to agents). For other writers it takes 3 and for many others take 7 or 8 or 10! But one thing I know for sure, a first draft is not ready for publishing. You are not the exception. Very, very few people are.
So let your first drafts be as shitty as they need to be. Finish it, write "the end", and have a celebratory whatever, then put it in the drawer and walk away from it for 4 to 6 weeks. Stephen King says it should take no longer than 3 months to write a novel. I think for him that may be true. For the rest of us, though, I'd say the number should be doubled.
3 months to write draft 1 (no need to stress yourself), 4 - 6 weeks rest, and the rest to edit and revise.
This method isn't conducive to rapid-release publishing, but you shouldn't be doing that anyway. More on that in a later episode.
So those are my thoughts on why your first draft doesn't have to be perfect. I know there's all this noise in the writing community where people toot their own horns. All that tooting becomes overwhelming and makes us start to question our own methods and instincts when it comes to writing. One thing I've learned in my time here in the land of writers and writing is that writers lie. That's what we do, right? We make up stories to entertain readers. We also make up stories to hide what we perceive as our shortcomings. Think Nicole Kidman's character Devlin in "Just Go With It". She always felt superior to Jennifer Aniston's character Katherine, so when they bump into one another in paradise Devlin keeps up pretenses that she's in the perfect marriage and her life is perfect. Turns out, Devlin's marriage is a disaster and she's just as insecure about herself as Katherine is about herself. Writers are no different. We put up a good front:
We tweet, "Just got another rejection. YEAH!" while tears drop on our keyboards and our wounded hearts struggle to pump.
We say, "Write for you, no one else!" while desperately checking our emails in the hope that one of the million agents or publishers we've submitted to will just say yes.
And we tell other writers things like, "My first drafts don't need much editing" knowing full-well that the reason they don't need a ton of editing is because we went back through the manuscript over and over and over again to make sure that "first draft" was as close to perfect as possible.
I suppose what I'm really saying to you today is this: Don't listen to the noise. No one has a perfect first draft and you damn sure won't either. Writing takes time. A LOT Of time. It takes patience and it takes perseverance. It is a business, like any other, and there are very few fairytales. You have to put in the work to get a product that's worthy of publication, whether it's traditional or indie, and you have to really, really want it because aside from being a parent and a spouse, being a writer is the hardest thing I've ever done.
Good luck and, as they say, God speed.
That's all for this week. Next time I'll be talking about how to handle critique. Fun times, fun times!
If you enjoyed this episode please be sure to like and subscribe. I'd also be grateful if you tell your other writing friends about me!
If you'd like to know what I'm up to when I'm not talking to you about writing, you can find me on Twitter and Instagram, @saybeller. You can also find this podcast on Twitter (@WritingThingPod) and Instagram (@AboutThisWritingThing).
Thanks for listening. Talk to you soon!
Hello and welcome to About This Writing Thing, a weekly podcast about living the writing life. I'm your host, Sayword B. Eller, novelist, short story writer, and podcaster. Today I thought we'd chat about one of my favorite writing topics, showing and telling.
Anyone who has received a critique from me has likely read the word "Telling" in track changes. Sometimes I add a note along with it to give you ideas as to how you might fix it, especially if it's a particularly good moment that simply needs unpacking. That's another note writers may see from me often: "unpack this". I think at least one writer I work with now hates the very thought of unpacking anything!
Recently I worked with an author who said to me, "I don't know how to show." As you can imagine my first thought was, "Huh?" But then after that meanie in my head who is quick to respond took a seat, my logical mind spoke, "They know how to show, they're just intimidated by the thought of doing it." Now, this thought may or may not be true in this particular author's case. I've read more of their work and know they're capable of showing. It may just be something they don't actively think about.
The thing about showing is that you do have to think about it. A lot. Because it matters how you describe things. It isn't enough to say, "She was embarrassed." We need to see her face color, see her body curl in on itself in an effort to become smaller, and we need to see her wish she could become a part of the wallpaper, undetectable to the naked eye. Because, as Noah Lukeman says, "It is the writer's job to show us what his characters are like, not by what he says about them, or what they say about one another, but by their actions" (Lukeman 119).
Last year when I began this podcast, I did a little episode about eliminating thought verbs from your narrative (https://aboutthiswritingthing.podbean.com/e/eliminating-thought-verbs/). I'd recently read a 2013 article by Chuck Palahniuk on the topic and was working through my own narrative to do as he instructed, eliminate and unpack. Because my novel is written in first person present tense, there's quite a bit of "tell:" mixed in with the "showing", so you can imagine how much fun it was to go through and take out those telling parts that didn't serve my story.
Oh yeah, you heard me correctly, I left some telling in on purpose! This is because I'm a firm believer that sometimes telling works and the key to a good narrative is finding a balance that works.
Before we get into the meat and potatoes of how to use them, let's look at what showing and telling are. One of my favorite (and spot on) quotes comes from E.L. Doctorow, "The historian will tell you what happened. The novelist will tell you what it felt like." In other words, a historian is going to recant for you the events that happened, but the novelist is going to make you feel as though you were there. At least, they should.
AutoCrit defines showing as the use of "description and action to help the reader experience the story" while telling is simply stating what's happening. To "show" is to add depth to a moment. This is what I try to impress upon every writer who gets that dreaded "Telling" note from me.
When revising my own novel I had a system for implementing showing into my narrative, particularly in those places where the telling was stealing all of my narrative's umph.
Take a step back and examine the scene as a moment.
Consider what emotions the character(s) should be experiencing. Are they angry, devastated, overwhelmingly happy? When that question was answered I would think about how I feel in those extreme moments of feeling. How does my body feel when I'm devastated? Empty, heavy, numb. Once the feelings were isolated, I thought of how to describe them as motions and not just emotions.
Write the scene with the motions of emotion (say that 10 times fast) taking center stage.
The key thing to remember when writing is you're not in this to "give your readers information. You want to give them experiences," make them feel what your character is feeling (Browne & King 16). I recently finished The Confessions of Frannie Langton by Sara Collins. It's the story of a slave girl from Jamaica who, under the direction of her master, does unspeakable things and then, when going to England with him, is "gifted" to another man and his wife. I was uncomfortable reading this story, uncomfortable exposed to the harshness of being a Black human in 1820s Jamaica and England. I shudder to think what would have been lost with such a powerful story had Collins merely told her readers about the experiences and not allowed us to be present when Frannie's mistress turns her out or when she is last in her former master's presence. It would've been tragic.
Think about the last book you read. The last really good book you read. What kept you reading? This is assuming you aren't one of those people who can force themselves to read something they don't like. I do not understand those readers! If you don't have me, you don't have me. What types of language did the author use, did they make use of motion? Sara Collins uses a lot of bold words that lash out at the reader, angry and hopeless.
Renni Brown and Dave King give one of the best pieces of advice to the writer seeking to show instead of tell. When in doubt R.U.E. --> Resist the Urge to Explain.
The new writer (my former self included) wants to make sure their readers "get it", that they understand exactly what's going on in the scene and how the character is feeling because they want their readers to see things exactly as they do. They haven't realized yet that reading is interpretation. Not everyone is going to see their characters the way they see them. My first night as a history student dear Dr. Stitt stood in the front of the classroom and wrote across the whiteboard "History is interpretation". When you get right down to it, I think everything is interpretation and we writers will do good to realize that.
Take the movie House of 1000 Corpses for instance. When it came out a lot of people loved that the good guy didn't win. Some people even said it was "refreshing". Personally, I don't want the bad guy to win, so when I watch a movie or read a story or book where the bad guy wins I'm lost to that writer. Bad guys win in real life, I don't want them winning in fiction as well.
So, getting back to the new writer, things will begin to come together when they realize that their readers are not the same as them. They don't think like them, they don't root for the same things they do, and they may not even like the character that the writer adores. Look at Twilight by Stephenie Meyer or Hunger Games by Suzanne Collins. I've heard so many people say they couldn't stand Bella and Katniss, that they hated being in their POV. Just imagine if Meyer or Collins wrote these stories without leaving room for interpretation of character or their motivations, and just think if they hadn't created compelling secondary characters!
The most important part of this new writer discussion (I keep chasing squirrels) is that the less experienced writer is compelled to tell the reader how they should feel. "She is angry" can be interpreted as the writer telling the reader, "You gotta be angry because she's mad about this." It's like when you boycott something and express to those around you the reason for your boycott and they look at you like you've flipped your lid because they love chicken and pickles! Just like family and friends, our readers may not share our views. So don't spell it out for them. Just give them the story and let them figure out how they feel about it. As Natalie Goldberg says, "Use words like a mirror to reflect the pictures" (Goldberg 76).
This isn't to say that you shouldn't use tell. Tiffany Yates Martin has an entire chapter on showing and telling in her 2020 release, Intuitive Editing. In it she says, "Show and tell often work best together to heighten the reader's emotional engagement.
Take this scene from my novel (Yes, I'm using my work as an example. No, it isn't ego.)
Oliver has kept his distance since my abandoning him out back. It bothers me that I care as much as I do. The lunch rush is a whirlwind with lines stretching around the building outside and almost to the door inside. Becca says it's the result of two factories nearby that actually give hour lunches. I haven't known anyone by name, but some faces are familiar. I wonder if I went to high school with them and they're just as unsettled by my presence as I am by theirs.
There is a lot of telling in this passage. It isn't horrible. It gets the point across, but this follows a very high stress moment where my MC has had an argument with Oliver, her manager and friend. Following my 3 previous referenced points, I took at look at the passage to see how I could revise to make it stronger. This is what I came up with.
Oliver has kept his distance since my abandoning him out back. Why do I care? It's none of his business why I don't want to go to a party. He may be an over sharer but I'm certainly not. Yet, there's that niggle; the little tug from somewhere inside my hardened core that urges me to go to him and make sure he's okay. Thankfully, the lines stretching across the dining room to the front doors offers a distraction from the internal nudge that keeps trying to persuade me to be human.
"Where did all these people come from?" It is less a question and more my exasperation for how hopeless getting these people served in a timely manner seems.
"It's the two factories just down the road." Becca says. "They actually give hour lunches so their people take advantage."
I haven't known anyone by name, but some faces are familiar. It's possible I'm taking the orders of former jocks and emo kids I went to high school with but time has robbed me of their names. From the looks on their faces they're as unsettled by my presence as I am by theirs.
You see that I've kept some telling there, but I've also opened it up a bit more, given a deeper look into my MC and her inner struggles when it comes to Oliver. Not only that but I've included an exchange between my MC and her co worker, Becca. I did this revision after reading Chuck Palahniuk's 2013 article about eliminating thought verbs. Turns out, when you eliminate thought verbs, you cut out a lot of telling.
So how do you find the "telling" in your manuscript that you need to change? Noah Lukeman says to look for it in character introductions, in places where there is a flurry of events, places where you may have jumps in time, and in your setting descriptions, while Tiffany Yates Martin says to follow the descriptors, look for places where you sum things up that may need a more nuanced approach, and look at the descriptions of your settings and surroundings.
I'll talk more about showing and telling in episode 32. This is a topic we could seriously spend hours talking about because so many writers just don't get it, but, alas, I only have 15 - 20 minutes to talk your ear off. Until then, take a look at your manuscript. Look expressly at the areas where Lukeman and Martin say you're likely to find those trouble telling spots, then unpack the emotions in those spots. Think about how you feel those emotions and how you've witnessed others feel those emotions and stay there while you write out that part of the scene. As Natalie Goldberg says, "When you write, stay in direct connection with the senses and what you're writing about" (Goldberg 75).
That's all I have for you this time. You'll find resources for this episode on my blog at saywordbeller.com. You'll find the direct link in the description below.
If you enjoyed this episode please like and subscribe, and share me with your other writing pals. The more the merrier.
If you'd like to know what I get up to when I'm not talking about writing, you can find me on Instagram and Twitter @saybeller, and you can find this podcast on Twitter (@WritingThingPod) and on Instagram (About This Writing Thing).
If you're interested in a professional critique of your work, I am taking clients. Visit my website (saywordbeller.com) for more information or send me an email sayword@saywordbeller.com to discuss.
Thank you so much for hanging out with me today.
Take care, keep writing, and I'll catch you later!
AutoCrit Team. Showing vs. Telling. https://www.autocrit.com/editing/support/showing-vs-telling-indicators/#:~:text=In%20a%20nutshell%2C%20showing%20is,the%20reader%20what%20is%20happening.
Browne, Renni & King, Dave. Self-Editing for Fiction Writers: How to Edit Yourself Into Print. William Morrow, 2004.
Goldberg, Natalie. Writing Down the Bones: Freeing the Writer Within. Shambhala, 2016.
Lukeman, Noah. The First Five Pages: A Writer's Guide to Staying out of the Rejection Pile. Fireside, 2000.
Martin, Tiffany Yates. Intuitive Editing: A Creative & Practical Guide to Revising Your Writing. Foxprint Ink, LLC, 2020.
Palahniuk, Chuck. Nuts and Bolts: Thought Verbs. LitReactor, August 12, 2013: https://litreactor.com/essays/chuck-palahniuk/nuts-and-bolts-%E2%80%9Cthought%E2%80%9D-verbs
Hello all you writerly people, and welcome to About This Writing Thing, a weekly podcast about living the writing life. I'm your host, Sayword B. Eller, novelist, short story writer, and podcaster.
Today I'm talking about pacing. Why? Because I like to talk about my weaknesses. How else do we get stronger, right?
First, let's talk about what pacing actually is. "Pacing is a tool that controls the speed and rhythm at which a story is told" (Carpenter 2012). In other words, it's how fast or slow you make things happen in your narrative. The pacing in my first drafts (referred to some as the zero draft) is always at lightspeed. Things happen fast and then the book is done. This is why I'm always 30k-40k words under industry standard. I guess my first draft is really my outline. My very in-depth outline. It takes me 3 - 4 drafts before I have the pacing and story just right.
Last term my professor commented on my outline that I don't have enough action in Act II of my historical fiction/thesis novel. If you look at my work through the eyes of someone who writes plot-driven narratives you will always believe that my pacing is too slow. That's because I don't write plot-driven or action-driven narratives. I focus on conflict and characters. In other words, I don't have a ton of physical action in my stories.
"Now, hold on there, missy," you might be saying. "Conflict is pacing. It drives it."
You would be right. If you were saying that. Also, don't call me missy.
With great conflict comes swifter pacing, at least for that scene. You're raising the stakes for your character, putting them in the hot seat and making them squirm, and if you're very good at it you're making your readers squirm too.
K.M. Weiland says, "writers who are in control of their pacing are writers who are in control of their stories" (Weiland 2017). If this is the case, I am not a writer who is in control of my stories. My problem… I don't seem to be very adept at pacing scenes that are high action. I'm too wordy.
Last term my class had a discussion wherein we were supposed to write two scenes and one of them needed to be fraught with conflict and high in action. Here's what I turned in:
The air was thick, sticking to her skin as she rushed through the trees that spread out before her. Heart pounding and air coming out in dripping gasps, Kyla dashed through the thickets, wincing when a bare foot would land on a twisting root. The naked fingers of trees just waiting to die scratched her bare arms and tried to become entangled in the long tendrils bouncing in her wake. She stopped, her head jerking left, then right. The air was pressing harder, making her gasps come out quicker. She was alone in a sea of trees. She tried to begin again, to find her way out of the succession of naked and full trees, but her legs wouldn't move. Falling to the ground, she rolled onto her back, her hands going to her throat, and her mouth posed to scream for help, but all air was gone.
Here's what my professor said:
In this assignment, your own style has gotten in your way. What do I mean by that? I mean that you have a certain pace and sentence structure that appears to be pretty natural in your writing. I think that voice is so strong that you fall into that rhythm without even noticing.
As a result, both of these pieces are almost the same pace. Your action piece should be more disjointed. Short. Clipped. Instead, your sentences are about the same length and offer the same type of information as in the second paragraph.
Suggested rewrite: The air was thick. Her shirt stuck to her as she rushed through the thicket. Her heart pounded. Her breath became dripping gasps. One bare foot landed on a twisted root. She winced. Kept going.
She has said in 7 sentences what it took me an entire paragraph to convey. The difference between us, I think, is that she is a more experienced writer and she writes in a different genre. She doesn't like writing in the women's fiction genre and instead prefers writing book club fiction. You may think they're the same, but they aren't. Book club fiction has to appeal to a broader audience, must like commercial fiction. More on that in a later episode.
So my problem with pacing is that I slow things down too much. I think this has a lot to do with the fact that I overthink everything, and because I have very little experience with anything. This is one of my greatest weaknesses as a writer and human. I've always heard we should write what we know, but the things I know through experience are very limited. I'll be working on both of those in the future.
What do I do about this little problem of mine then?
As always, I've scoured the internet and my bookshelves to find some awesome tips.
Noah Lukeman says that "Pacing and progression are the most cumulative, most far-reaching elements of writing and thus demand the greatest long-term concentration" (Lukeman 187). It's delicate and unbelievably strong all at the same time. Think dynamite.
Two things stand out to me in Lukeman's book as things that are affecting my own pacing: my stakes aren't high enough or plentiful enough and too much description. Though he's speaking specifically of telling in the narrative, I'm harkening back to what my professor said, my sentence length is too rambly. Too long. For conflict-driven scenes where the stakes are high and the action is amped up the sentences need to be short, disjointed, and constantly keep readers on their toes. We want them to be just as out of sorts as our characters.
Courtney Carpenter lists 7 literary devices that can be used to keep your pacing where it needs to be:
Action - keep them active (duh), have few distractions, little description, and limited transitions.
Cliff Hangers - keep your readers guessing.
Dialogue - Rapid fire with reactions and descriptions kept to a minimum.
Prolonged Outcomes
Scene Cuts or Jump Cuts
A series of incidents in rapid succession - a whirlwind!
Short chapters and scenes - I used to see these all the time. One page chapters or half page chapters. They really did keep me turning pages.
Keep these scenes active and use potent verbs to keep your scene moving forward.
The really important thing is gaining the control over your story mentioned earlier by K.M. Weiland. The most disappointing thing to me, as a reader, is a big build up with no pay off. In other words, pacing that falls flat or fails to produce anything at all. Don't drag me through a narrative at warp speed and leave me with nothing. It's disappointing and frustrating.
Weiland has a few tips for both speeding up and slowing down our pacing. I guess I don't need much help slowing down, but you might, so I won't leave them out.
For speeding up:
Reduce the number of characters - I usually only have 2 characters in a scene, so I'm good there.
Minimize sequel scenes - these are your "follow up" scenes. A big break up followed with the equivalent of a movie montage of your character going through life aimlessly without their one true love.
Add a ticking clock - A deadline your character must reach in order to avoid dreadful consequences. Think Jason Statham in Crank (those movies are pointless, BTW. Well, except for the Jason Statham parts).
Raise the stakes - This is the one for me. I never feel like the stakes are high enough in my stories. Gonna keep working on that.
For slowing down:
Complicate your sentence structure.
Skew the scene.
Add more internal narrative.
Focus on descriptive details.
I'm going to be experimenting with these tips while working through my WIP. It's contemporary women's fiction, of course, but there are some highly emotional moments where the stakes will be high and I'll need the pacing to be just right. Wish me luck.
What are some of your tips for handling pacing in your own work? Send me a email or message. I'd love some additional tricks to getting my pacing just right.
That's all I've got for you this week. If you enjoyed this episode please like and share. If you haven't subscribed to my monthly email list, and you'd like to, you can visit my website and sign up to see what I'm reading, what I've got coming up, and (of course) what's happening with About This Writing Thing.
If you want to know what I'm up to between shows, you can find me on Instagram and Twitter as @saybeller or you can find this podcast on Twitter (@WritingThingPod) and Instagram (About This Writing Thing). You can also go to my website saywordbeller.com.
Next week I'll be chatting about some of my favorite literary devices. Thanks for listening. Have a great week and stay safe!
Carpenter, Courtney. 7 Tools for Pacing a Novel & Keeping Your Story Moving at the Right Pace. Writer's Digest, April 24, 2012. https://www.writersdigest.com/improve-my-writing/7-tools-for-pacing-a-novel-keeping-your-story-moving-at-the-right-pace
Kieffer, Kristen. How to Create Strong Pacing for Your Story. Well Storied, December 3, 2017. https://www.well-storied.com/blog/how-to-create-strong-pacing-for-your-story
Lukeman, Noah. The First Five Pages. Fireside, 2000.
Weiland, K.M. Learn How to Pace Your Story (and Mind-Control Your Readers) in Just 8 Steps. Writers Helping Writers, February 20, 2017 https://www.helpingwritersbecomeauthors.com/8-ways-master-storys-pacing/


text:
Q: Order by difference of two columns from two subquerys I have two tables
Table1 with columns
    f_id, a_id

Table2 with columns
    a_id, a_name

And I am trying to find a query where I can order the f_ids by the difference of the count of a_ids in two subquerys. Subquery 1 would basically be something like:
SELECT f_id,
       count(a_id)
FROM Table1
GROUP BY f_id

While Subquery 2 would then look a little like this:
SELECT Table1.f_id,
       count(Table1.a_id)
FROM Table1, Table2
WHERE
     Table1.a_id = Table2.a_id

WHERE Table2.a_name= "User Input1" OR "User Input2"
GROUP BY f_id

Now the main Query is supposed to order the f_ids of Table1 by the difference of the count of the subquerys, I hope you get the idea even though I might have not explained it very well
Sample Data and desired output:
Table1 with columns
    f_id, a_id
    5,    3
    5,    4
    6,    2
    6,    3

Table2 with columns
    a_id, a_name
    2,    "foo"
    3,    "bar"
    4,    "too"

Now considering that user input is bar and too I would like to have the following output
Output with order by difference of the two counts:
   r_id     difference of counts
   5,       0
   6,       1

A: if i understand correctly this is what you looking for:
SELECT t1.f_id, (t1.cnt1 - t2.cnt2) AS DifferenceOfCount
FROM (SELECT f_id, COUNT(a_id) AS cnt1
      FROM Table1
      GROUP BY f_id) t1
INNER JOIN (SELECT Table1.f_id AS f_id, COUNT(Table1.a_id) AS cnt2
            FROM Table1
            INNER JOIN Table2
            ON Table1.a_id=Table2.a_id
            WHERE Table2.a_name= "foo" OR table2.a_name = "bar"
            GROUP BY f_id) t2
ON t1.f_id = t2.f_id
ORDER BY DifferenceOfCount

Here is SQL Fiddle so you can see how it's work.
You should notice that i use INNER JOIN syntax to join two table instead of your old fashion way for doing that (it's better practice to do that...)
Also if this query will take user input i think you should create stored procedure for that... How that's look like you can see HERE!
Note: this is MySQL but something similar (maybe the same should be in Sql Server), I'm not quite sure what you use because you tag both of them...
GL!

redpajama_set_name: RedPajamaStackExchange


AUI offers one formal M.Sc. Programme in Planning. The Programme combines planning theory and practice and the study of Icelandic circumstances, aiming for sustainable development and the creation of a liveable environment. The study emphasizes individual work as well as practical case studies where students tackle real problems, thus practising skills for independent work. Graduating students have gained necessary knowledge of planning required for certification by the Icelandic Planners Association.
Other M.Sc. Programmes are designed as an individually planned study scheme with only two compulsory courses given at AUI, Philosophy of Science and Research Methodology, with the possibility to fulfil coursework partly at other qualified academic institutions. The aims of the programme are to provide individual scientific education and training in the relevant field of science. The general rule is that the research project is either 60 or 90 ECTS.
The aim of the Doctoral Programme is to give students sound research training within selected academic fields. The Programme is run jointly with the Centre of Graduate Studies at the University of Iceland (UI) and comparable rules and regulations apply as at the UI. The research project makes up the largest part of the programme (150 out of 180 ECTS) and courses can be taken at another Icelandic or foreign university. AUI co-operates with various other universities, both domestic and international, with regard to mutual recognition of studies. There is, for example, a long standing formal co-operation between the Agricultural and Veterinary Universities of the Nordic Countries (NOVA University -Network), with joint courses being offered and a mutual recognition of coursework.
ECTS course catalogue – includes complete descriptions in of all courses offered in English and Icelandic.


large detailed tourist map of tarragona. Good day precious visitor. Hunting for new thoughts is probably the interesting events but it can as well be bored when we could not have the wished idea. Just like you now, Youre looking for unique concepts regarding large detailed tourist map of tarragona right?
Honestly, we also have been realized that large detailed tourist map of tarragona is being just about the most popular topic right now. So that we attempted to get some terrific large detailed tourist map of tarragona graphic for you. Here you go. we found it from reliable on line source and that we enjoy it. We think it carry a new challenge for large detailed tourist map of tarragona topic. So, how about you? Can you love it too? Do you ever totally agree that this picture will likely be one of great resource for large detailed tourist map of tarragona? Please leave a thoughts for us, we hope were able to bring much more useful information and facts for future reports.
This amazing large detailed tourist map of tarragona picture has submitted in [date] by admin. We thank you for your visit to our website. Make sure you get the information you are looking for. Do not forget to share and love our reference to help further develop our website.


Enterprise Minister Arlene Foster pictured at the annual Northern Ireland – Netherlands Trade and Export Society dinner in Belfast. Also in the photograph are (from left): Ambassador to the Netherlands, Pim Waldeck, Colin Reid, Chief Executive, TotalMobile and Hans van der Last, Aenova Managing Director.
Enterprise Minister Arlene Foster has announced that TotalMobile in Antrim has won new export business in the Netherlands.
Minister Foster, speaking at the annual Northern Ireland – Netherlands Trade and Export Society dinner in Belfast, said TotalMobile has signed a deal with Aenova BV, a leading software company based in Delft.
The Minister said: "This is a significant export development for TotalMobile in the Netherlands and will further strengthen the strong and impressive business collaborations now developing between companies.
"This is another success from Invest NI's excellent 'Going Dutch' initiative which has enabled many small to medium-sized enterprises (SMEs) here to access the Dutch market. This new partnership will enable TotalMobile, among our most successful export-led IT companies, to benefit from Aenova's knowledge and contacts there and further afield.
Colin Reid, TotalMobile Managing Director, commenting on the company's latest export contract, said: "The agreement with Aenova is the outcome of research by us to identify a suitable partner in a market that we believe offers substantial potential for our specialist software for businesses and public sector bodies that use mobile technology. Our software helps industry, government, and their agencies, to streamline workflow, maximize productivity and reduce their operational costs.
"Aenova is an ideal fit for us because of the company's vast experience in Time Resource Management software and its excellent customer base such as local government and Utilities, such as water companies. Aenova will integrate our software within its solutions and also market it as a standalone product and market it to existing and new customers. The partnerships will also allow us to target new opportunities in Healthcare.
"Invest NI's Going Dutch programme was extremely important in terms of the advice and guidance about doing business in the Netherlands and in helping us to find the right partner there in our business sector," he added.


text:
JSTOR Data For Research
Early Journal Content Data Bundle
About the Early Journal Content (EJC)
The Early Journal Content on JSTOR includes journal articles published in the United States before 1923 and articles published in other countries before 1870, and includes discourse and scholarship in the arts and humanities, economics and politics, and in mathematics and other sciences.
On JSTOR, the Early Journal Content is free and available for use by anyone, without registration and regardless of institutional affiliation. The amount of free content will grow over time. As we add more journals to JSTOR, new articles within these time ranges will be added to the Early Journal Content, and will remain freely available.
Making this early journal content freely available is the most recent step in our ongoing work to expand access to content on JSTOR, particularly for individuals who are not affiliated with academic institutions or libraries.
The EJC Data Bundle
We are happy to also make a data bundle for the Early Journal Content freely available to those who would like to conduct data mining or other research across the content.
The data bundle for EJC includes full-text OCR and article and title-level metadata. The Read Me file explains the data in more detail. The currently available data bundle includes all the EJC as of September 7, 2011.
Please note that use of the Early Journal Content bundle is subject to the Early Journal Content Specific Terms and Conditions of Use.
To access the data bundle, please create an account using the very brief registration form, or login if you already have a Data for Research account. We plan to update the bundle on a semi-regular basis and to alert registrants when the bundle has been updated.
The format of the data bundle is a .tar.gz archive containing a readme file explaining the format of the data files, and an XML file for each article in the Early Journal Content bundle.
Once logged in, you can download the Early Journal Content bundle here
The size of the bundle is approx. 2.3 GB compressed, and 7.2 GB inflated.
The bundle was last updated November 11, 2011.
And see also:
Results of the Poll: Do You Have Access to JSTOR? and
The Ancient World in JSTOR: AWOL's full list of journals in JSTOR with substantial representation of the Ancient World.

redpajama_set_name: RedPajamaCommonCrawl


DETERPON SK is a synthetic polymer used as dispersant, sequestering, colloid protector in the preparation, dyeing and finishing of yarns and fabrics. DETERPON SK has sequestering action on calcium and magnesium ions, without interfering with the dyeing characteristics of the dyes. In the preparation and dyeing operations it prevents the insoluble impurities of the fibers from agglomerating and precipitating in various forms on the goods. During the soaping phase it favors the removal of reactive coloring compounds (alkaline earth metals and hydrolysed reactive dyes) not bound to the fiber. DETERPON SK is a non-foaming product and can also be used in equipment with strong turbulence.


Rungsted waits for Fredrikshaven at the top of the METAL hockey league in the DENMARK 26.03. 19:00 and I believe we will have more than 6 goals in this game because they are very good attacking teams. Last 5 matches 4 Win Rungsted, 1 Win Fredrikshaven, goals difference at 23:11 Domestic players in average give 4 goals in their home games and should be able to score at least 4 goals in this game as they face defensive players who receive 3,15 goals. Guests score an average of 2,75 goals in their away games and should be able to score at least 2 goals in this game. The home team gets 2,2 goals. My guy has over 5.5.


text:
PROTECT & PRESERVE
HELP RESTORE
CREEKKEEPER
ABOUT FOHC
ANNUAL CREEK CLEANUP
See our calendar for more events and details.
See more creek maps.
HELP RESTORE > BULLETIN BOARD >
THE SAD STORY OF ALABAMA FRESHWATER MUSSELS.
posted Mar 30, 2012, 5:52 PM by Friends of Hurricane Creek [ updated Jul 24, 2012, 7:34 AM ]
The orange-nacre mucket is one of many species that have disappeared from most major rivers, and only small streams
and creeks now afford suitable habitats for the creature (Hartfield and Butler 1996). The host species for many mussels are darters. These fish exhibit a rainbow of iridescent hues in a multitude of patterns. Many of their names are evocative of their color or origin: Amber (Percina antesella), Bayou (Etheostoma rubrum), Goldline (Percina aurolineata), Slackwater (Etheostoma boschungi), Watercress (Etheostoma nuchale) and Okaloosa Darters (Etheostoma okaloosae). All the latter species are listed on the Endangered Species Act.
Source: The Endangered Species Handbook
The orange-nacre mucket mussel (pictured to the right) is one of the mussels unfortunate enough to be a resident of Tuscaloosa County. Sadly, life for our mussels is not ameliorated by national football victories. This year, the federal government added another Alabama freshwater mussel to the endangered species list. Since mussels play such an important role in filtering water and keeping stream systems habitable for other forms of life, Friends of Hurricane Creek who have personal knowledge about local mussels are encouraged to share their knowledge with the community. Please contact us and let us know- we'd love to have some speakers on the topic.
Also, to keep the field for action broad, anyone with a guitar or mouth harp and a penchant for the blues should consider writing blues tune for the poor freshwater mussels of Alabama- the "Mussels Mosey on Out" or "I'm a Mad Ole Mussel" or something that reflects the sad state of affairs for our mussel friends.
Currently, the Alabama Fish and Wildlife Services is actively seeking community partnerships and projects which might lead to increased protection of rare mussels. If you'd like to learn more about freshwater mussels in our state, the following papers, projects, and articles might be of interest:
List of endangered species in Alabama
Diversity of freshwater mussels in Alabama, Jeff Garner, Alabama Dept. of Conservation and Natural Resources. Jeffrey T. Garner is a malacologist for the Alabama Division of Wildlife and Freshwater Fisheries and coauthor of Alabama Wildlife (Vol 4): Conservation and Management Recommendations for Imperiled Wildlife and Alabama Wildlife (Vol 2): Imperiled Aquatic Mollusks and Fishes.
Results of a Survey of the Mussel Fauna at Selected Stations in the Black Warrior River System, Alabama, 2009 , OPEN-FILE REPORT OFR 0917 By Stuart W. McGregor, E. Anne Wynn and Jeffrey T. Garner (GSA)
Alabama mollusks bibliography
Alabama heelsplitter mussel (US Fish and Wildlife Service)
Recovery Plan for Inflated Heelsplitter Mussel, 1992 (US Fish and Wildlife Service)
"Exploring state's mussels" by Dan Lopez, Tuscaloosa News, 2 November 2008
Protected mussels and county distribution in Alabama, Forestry and Wildlife Services Extension. This chart lists Tuscaloosa county as habitat to the following endangered or threatened mussels: Inflated Heelsplitter Mussel (Potamilus inflatus), Fine-lined Pocketbook Mussel (Lampsilis altilis), Southern Clubshell Mussel* (Pleurobema decisum), Ovate Clubshell Mussel* (Pleurobema perovatum), Orange-nacre Mucket Mussel (Lampsilis perovalis)
Endangered invertebrates, Document 1092507 (Alabama Forestry Commission)
Federal Register Entry concerning endangered mollusks in Alabama, 2004
"Mussels, snails, and other mollusks" by David Rainer, a very compelling article
Results Of Qualitative Sampling for Protected Mussel Species at Selected Stations in the Cahaba River System, Tuscaloosa, Alabama, 2005 By Stuart W. McGregor and Jeffrey T. Garner
Threatened and Endangered Species Survey for Coskata Project Conducted by TTL in 2010
Mollusk Bibliography Database: A searchable database of literature on freshwater mussels and, to a lesser extent, other freshwater mollusks. With around 14,000 references, the database covers freshwater mussels worldwide and includes paleontological literature, "gray" literature, theses, and dissertations. Maintained by Kevin Cummings (Illinois Natural History Survey), Dr. Arthur Bogan (North Carolina Museum of Natural Sciences), Dr. G. Thomas Watters (Ohio State University, Museum), and C. A. Mayer (Illinois Natural History Survey), the database is a work in progress. Users are encouraged to notify the authors of errors and omissions. Supported by a grant from the National Fish and Wildlife Foundation.
Biology and Ecology of the Threatened Inflated Heelsplitter Mussel, Potamilus inflatus, in the Black Warrior and Tombigbee Rivers, Alabama, June 1994 by Andrew C. Miller, David Armistead, Barry S. Payne (US Army Corps of Engineers)


text:
Justia Patents Input/output Data ProcessingUS Patent for Method and apparatus for handling network I/O device virtualization Patent (Patent # 10,754,679)
Method and apparatus for handling network I/O device virtualization
A method for handling network I/O device virtualization is provided. The method comprises, translating, by a virtual machine monitor, a guest physical address of a virtual machine to a host physical address in response to an I/O request from at least one virtual machine among a plurality of virtual machines, transmitting, by a virtual machine emulator, an instruction request including the translated address information to an extended device driver associated with the virtual machine from which the I/O request is forwarded, inserting, by the extended device driver, the translated address into a transmission queue, and performing a direct memory access for the I/O request using a physical I/O device according to the transmission queue.
This application claims the benefit under 35 U.S.C. § 119 of a Korean Patent Application No. 10-2016-0180464 filed Dec. 27, 2016, in the Korean Intellectual Property Office, the entire contents of which are hereby incorporated by reference.
The present disclosure relates to a method and apparatus for handling network I/O device virtualization.
Virtualization technology is a technology that abstracts various physical resources and present them to users and it is the most important technology when constructing a cloud computing environment. There are various virtualization technologies including system virtualization technology, which is a virtualization technology for hardware devices existing in physical servers such as a central processing unit (CPU), memory, and I/O device, operating system virtualization technology, which is a technology for isolating or distributing shared resources based on containers while sharing the kernel, and so on.
Among the various virtualization technologies, system virtualization technology provides the flexibility of the infrastructure of the cloud and has the most significant impact on the performance of the physical server. In system virtualization technology, virtualization is performed on the central processing unit, memory, I/O device, etc. through system software called 'hypervisor' or 'virtual machine monitor'. According to the system virtualization technology, virtualized resources can be allocated to a logical space called a virtual machine, thereby providing an environment capable of operating a plurality of logical devices in one physical device.
System virtualization technology can be divided into paravirtualization technology that improves performance through modification of guest operating system instruction set and full virtualization technology which performs emulation for all instructions without modifying instruction set. Recently, technologies such as Intel's VT (Virtualization Technology) and AMD's SVM (Secure Virtual Machine) have been widely used to minimize the cost of central processing unit and memory virtualization with the help of hardware.
Still, there are various limitations in using conventional virtualization technology, and a new virtualization method is desired to improve it.
An aspect of the present disclosure is to provide a method and apparatus for handling network I/O device virtualization in a virtual machine environment that separates and processes packets provided from a plurality of virtual machines into a control channel and a data channel.
An aspect of the present disclosure is to provide a method and apparatus for handling network I/O device virtualization in a virtual machine environment that performs memory mapping using a remapping context entry separated on a virtual machine basis.
An aspect of the present disclosure is to provide a method and apparatus for handling network I/O device virtualization in a virtual machine environment in which a host machine has extended device drivers matched to device drivers of a plurality of virtual machines and the extended device drivers are exposed in the virtual machines.
In accordance with an aspect of the present disclosure, a method for handling network I/O device virtualization comprises the steps of, translating, by a virtual machine monitor, a guest physical address of a virtual machine to a host physical address in response to an I/O request from at least one virtual machine among a plurality of virtual machines, transmitting, by a virtual machine emulator, an instruction request including the translated address information to an extended device driver associated with the virtual machine from which the I/O request is forwarded, inserting, by the extended device driver, the translated address into a transmission queue, and performing a direct memory access for the I/O request using a physical I/O device according to the transmission queue.
In an embodiment, the translating address may include requesting, by the virtual machine emulator, an address translation to the virtual monitor upon receiving the I/O request. For example, the method for handling network I/O device virtualization may further comprise forming a control channel between a device model of the virtual machine emulator and the extended device driver using a kernel interface.
In an embodiment, the transmitting the instruction request may include the transmitting the instruction request through the control channel with the extended device driver associated with the device model of the virtual machine.
In an embodiment, the extended device driver may be exposed in the virtual machine.
In accordance with an aspect of the present disclosure, a method for handling network I/O device virtualization comprises the steps of, forwarding a transmission instruction to a virtual machine emulator by handling an I/O request interrupt from at least one virtual machine of a plurality of virtual machines, transmitting, by the virtual machine emulator, an instruction request to an extended device driver associated with the virtual machine by inserting information on the virtual machine which has forwarded the I/O request, inserting, by the extended device driver, an address of the I/O request into a transmission queue, and translating, by direct memory access mapping hardware, a guest physical address of the address included in the transmission queue to a host physical address based on the identifier of the virtual machine that generated the interrupt.
In an embodiment, the method for handling network I/O device virtualization may further comprise generating a remapping context entry including a context entry divided for each of the plurality of virtual machines.
In an embodiment, wherein the translating may comprise performing, by the direct memory access mapping hardware, the address translation by mapping a domain from the remapping context entry based on the identifier of the virtual machine identifier included in the transmission queue.
According to an embodiment, the method for handling network I/O device virtualization may further comprise forming a control channel between a device model in the virtual machine emulator and the extended device driver using a kernel interface.
In an embodiment, the transmitting an instruction request may comprise transmitting the instruction request through the control channel of the extended device driver associated with the device model of the virtual machine.
In an embodiment, the virtual machine emulator may not perform emulation for the I/O request.
In accordance with an aspect of the present disclosure, a method for handling network I/O device virtualization according to an embodiment of the present disclosure comprises, generating extended device drivers mapped to a plurality of virtual machines in a host machine, performing access setting of the extended device driver to expose the mapped extended device driver in the virtual machine, inserting a host physical address into a transmission queue for the exposed extended device driver after translating a guest physical address included in an I/O request generated by the virtual machine into the host physical address, and performing a direct memory access based on the transmission queue through the exposed extended device driver.
In an embodiment, the inserting into the transmission queue may comprise translating, by a virtual machine monitor, the guest physical address into the host physical address in response to a request of the virtual machine emulator that received the I/O request.
According to an embodiment, the method for handling network I/O device virtualization may further comprise forming a control channel between a device model of the virtual machine emulator and the exposed extended device driver.
In accordance with an aspect of the present disclosure, a computer readable storage medium stored thereon a program for executing a method of the present disclosure by the computer is provided.
In accordance with an aspect of the present disclosure, a method and apparatus for handling network I/O device virtualization in a virtual machine environment capable of flexibly translating addresses for a plurality of virtual machines using a single physical I/O device by assigning context entries for each virtual machine can be provided.
In accordance with an aspect of the present disclosure, a method and apparatus for handling network I/O device virtualization in a virtual machine environment capable of using a device driver in the virtual machine as a native device driver by providing an extended device driver for each virtual machine in a host machine and exposing the extended device driver in a virtual machine can be provided.
In accordance with an aspect of the present disclosure, a method and apparatus for handling network I/O device virtualization in a virtual machine environment which is capable of improving performance by reducing data copying burden can be provided as the data is directly I/O to/from the outside without being copied in a process of performing I/O operations of a virtual machine.
BRIEF DESCRIPTION OF THE FIGURES
The above and other aspects, features, and advantages of certain embodiments of the present disclosure will be more apparent from the following description taken in conjunction with the accompanying drawings, in which:
FIG. 1 is a diagram illustrating a computing platform according to an embodiment of the present disclosure, and
FIG. 2 is a sequence diagram illustrating operations performed in the computing platform of FIG. 1.
FIG. 3 is a diagram illustrating a computing platform according to an embodiment of the present disclosure.
FIG. 4 is a diagram for explaining address translation of direct memory access mapping hardware according to an embodiment of the present disclosure.
FIGS. 5 and 6 are sequence diagrams for explaining transmission and reception processes of the computing platform according to an embodiment of the present disclosure.
FIG. 7 is a diagram illustrating a computing platform according to another embodiment of the present disclosure.
Throughout the drawings, it should be noted that like reference numbers are used to depict the same or similar elements, features, and structures.
Hereinafter, preferred embodiments of the present disclosure will be described in detail with reference to the accompanying drawings in order to make the technical idea of the present invention clear. In the following description of the present invention, a detailed description of known functions and configurations will be omitted when it may make the subject matter of the present invention rather unclear. In the drawings, elements having substantially the same functional configuration are given the same reference numerals and symbols as possible even if they are appeared on different drawings. For convenience of description, the apparatus and method are described together when necessary.
The specific structural or functional description is merely illustrative for the purpose of describing embodiments of the present disclosure with respect to various embodiments of the present disclosure disclosed herein. Various embodiments of the present disclosure may be implemented in various forms, and may not be construed as limited to the embodiments set forth herein.
Expressions such as "1st", "2nd" "first" and "second" used in various embodiments may be used to refer to various elements regardless of the order and/or the priority, but the above elements should not be restricted to the above expressions. For instance, the first element may be named the second element, and vice versa, without departing the scope of claims of the present disclosure.
The terms used in the specification are intended to describe certain embodiments only, and should by no means restrict the scope of another embodiment. Unless clearly used otherwise, expressions in a singular form include a meaning of a plural form.
All the terms used herein, which include technical or scientific terms, may have the same meaning that is generally understood by a person skilled in the art. It will be further understood that terms, which are defined in a dictionary and commonly used, should also be interpreted as is customary in the relevant related art and not in an idealized or overly formal unless expressly so defined in various embodiments of this disclosure. In some cases, even if terms are terms which are defined in the present disclosure, they may not be interpreted to exclude embodiments of the present disclosure.
FIG. 1 is a diagram illustrating a computing platform according to an embodiment of the present disclosure, and FIG. 2 is a sequence diagram illustrating operations performed in the computing platform of FIG. 1. Hereinafter, the configuration and operation of a computing platform according to an embodiment of the present disclosure will be described together with reference to FIG. 1 and FIG. 2.
The computing platform 100a according to an embodiment of the present disclosure may include a plurality of virtual machines 110_1, 110_2, . . . , 110_n (hereinafter referred to as 110) implemented in a virtual machine environment, a host machine 120, and a physical I/O device 130. The plurality of virtual machines 110 perform I/O operations with a plurality of devices (not shown) through the host machine 120, and such I/O operation is performed through one physical I/O device 130. As used herein, 'computing platform' performs a method for handling network I/O device virtualization, and may be also referred to as a virtualization apparatus.
Respective of the plurality of virtual machines 110 may include applications 111_1, 111_2, . . . , 111_n (hereinafter referred to as 111) performing operations such as I/O, network stacks 113_1, 113_2, . . . , 113_n (hereinafter referred to as 113) existing in guest operating system kernels, and device drivers 115_1, 115_2, . . . , 115_n (hereinafter referred to as 115) performing network I/O.
Each virtual machine 110 operates in a guest operating system, and packets are generated through the network stack 113 existing in the guest operating system kernel. The generated packet tries to input to a virtually created device through the device driver 115. For example, the virtual machine 110 may generate an I/O request signal in the form of a trap and forward it to the host machine 120 (step 210).
The host machine 120 includes a virtual machine monitor 121 for generating and/or managing the virtual machines 110_1, 110_2, . . . , 110_n, a virtual machine emulator 123 for controlling access of the virtual machines, and extended device drivers 125_1, 125_2, . . . , 125_n corresponding to the respective virtual machines 110_1, 110_2, . . . , 110_n.
The virtual machine monitor 121 is a logical platform for simultaneously executing a plurality of operation systems, which is also referred to as a hypervisor. The virtual machine monitor 121 supports scheduling or processing methods assigned to the plurality of virtual machines 110. For example, the virtual machine monitor 121 may include Xen, Citrix XenServer, VMware ESX Server, L4 microkernel, TRANGO, IBM POWER hypervisor (PRISM), Microsoft Hyper-V, parallel server, logical domain hypervisor of Oracle (SUN), VMware Server, VMware Workstation, VMware Fusion, QEMU, Microsoft's virtual PC and virtual server, virtual box of Oracle (SUN), and SWsoft's Parallels Workstation and Parallels Desktop.
When the virtual machine monitor 121 according to an embodiment of the present disclosure receives an interrupt including an I/O request (for example, VMexit indicating the end of virtual mode) from the virtual machine 110, the internal trap handler adjusts the scheduling policy for the virtual central processing unit (CPU) assigned to the virtual machine (step 220) and forwards the transmission instruction to the virtual machine emulator 123 (step 230).
The virtual machine emulator 123 has a device model. The virtual machine emulator 123 according to an embodiment of the present disclosure does not perform emulation of the I/O included in the transmission instruction received from the virtual machine monitor 121, but requests the virtual machine monitor 121 to perform address translation for the guest physical addresses (GPAs) included in the transmission instruction (step 240).
Since the virtual machine emulator 123 according to an embodiment of the present disclosure does not copy the packet information, it is possible to reduce an overhead due to the copying of the packet information. Accordingly, it is possible to reduce the I/O performance degradation that may occur in the process of the host machine 120 copying packet information for I/O in the computing platform 100a. In addition, the virtual machine emulator 123 according to an embodiment of the present disclosure requests only the address translation to the virtual machine monitor 121 without performing the emulation for the I/O request, and communicates only with the extended device driver 125 associated with the virtual machine, thereby reducing processing burden of the virtual machine emulator 123 itself.
In response to the address translation request from the virtual machine emulator 123, the virtual machine monitor 121 translates the guest physical address to the host physical address (HPA) (step 250), and forwards the translated address again to the virtual machine emulator 123 (step 255).
The virtual machine monitor 121 can perform address translation in different ways according to the respective virtual machines 110_1, 110_2, . . . , and 110_n, and manage memory mapping information for these virtual machines. For example, the virtual machine monitor 121 may perform different memory mappings according to the virtual machines 110.
The virtual machine emulator 123 transmits an instruction request including the translated address to the extended device driver 125. In one embodiment of the present disclosure, the host machine 120 includes extended device drivers 125_1, 125_2, . . . , 125_n mapped to the plurality of virtual machines 110_1, 110_2, . . . , 110_n, respectively, and the virtual machine emulator 123 forwards the translated address information to the extended device driver 125 associated with the virtual machine 110 that transmitted the I/O request (step 260).
In one embodiment of the present disclosure, the virtual machine emulator 123 may perform PCI and Memory Mapped Input Output (MMIO) access settings for mapping the respective device drivers 115_1, 115_2, . . . , 115_n in the virtual machines 110_1, 110_2, . . . , 110_n to the extended device driver 125, 125_2, . . . , 125_n. Thus, the mapped extended device driver 125 are respectively exposed to the virtual machines 110
As the extended device drivers 125_1, 125_2, . . . , 125_n of the host machine 120 are exposed to the virtual machines 110_1, 110_2, . . . , 110_n, device drivers managed by both the virtual machine 110 and the host machine 120 become the same, and, as a result, the virtual machine 110 can use the extended device driver exposed in the virtual machine as a native device driver inherently included in the virtual machine 110.
According to the various embodiments, an additional control channel between the device model of the virtual machine emulator 123 and the extended device driver 125 may be set using a kernel interface such as an IOCTL, and the virtual machine emulator 123 may transfer the translated address information to the extended device driver 125 via the set control channel.
Since the extended device driver is exposed to the virtual machine 110, information on the extended device driver associated with the virtual machine can be provided to the virtual machine emulator 123 from the time when the virtual machine makes an I/O request. In another embodiment, the virtual machine emulator 123 may identify the extended device driver 125 associated with the virtual machine based on the information on the virtual machine included in the I/O request provided from the virtual machine and forward the translated address information via the control channel.
The extended device driver 125 inserts the translated address information into the transmission queue and completes the transmission (step 270). By sending the transmission queue in this way, in the I/O request generated by the device driver 115 in the virtual machine 110, only the address and the instruction are processed through the control channel, and the data are directly forwarded to the physical I/O device 130 through direct memory access based on the translated instruction and the address.
The control channel and the data channel are separated from each other in the computing platform 100a according to the embodiment of the present disclosure so that a control channel is formed along the virtual machine monitor 121 and the virtual machine emulator 123 of the host machine 120 and a data channel is formed from the device driver 115 of the virtual machine 110 to the extended device driver 125. Accordingly, the operation of copying data into the host machine 120 accompanying the I/O request is unnecessary. That is, the separation of the control channel and the data channel can be achieved by separating the packet generated in the device driver 115 and processing it separately.
The computing platform 100a according to an embodiment of the present disclosure can provide the same effect as each virtual machine performing I/O through a native device driver by providing an extended device driver for each virtual machine. Furthermore, it is possible to access multiple virtual machines by utilizing one physical I/O device 130 without need of separate hardware such as SR-IOV (Single Root Input/Output Virtualization), whereby it can be implemented at a low cost.
However, since the virtual machine monitor 121 included in the computing platform 100a performs address translation for an I/O request, it may cause waste of the central processing unit whenever the I/O request occurs.
When compared to the computing platform 100a of FIG. 1, the computing platform 100b of FIG. 3 further includes direct memory access mapping hardware 140. Since the same reference numerals denote the same components which perform substantially the same operation, the description overlapping with the computing platform 100a of FIG. 1 will be omitted.
Referring to FIG. 3, the computing platform 100b includes direct memory access mapping hardware 140 to translate a guest physical address included in an I/O request forwarded from the virtual machine 110 into a host physical address. In contrast to the virtual machine monitor 121 performing address translation in the computing platform 100a described with reference to FIGS. 1 and 2, all of the plurality of virtual machines 110 share one direct memory access mapping hardware 140 and the direct memory access mapping hardware 140 may perform the address translation in the computing platform 100b of FIG. 3. Accordingly, it is not necessary to perform memory mapping every time an I/O request is made.
Specifically, the direct memory access mapping hardware 140 has a remapping context entry divided on a virtual machine basis.
The domain mapping for the device is a two-level mapping that derives a context table pointer from the root entry table and maps the domain based on device and function information of the context entry table. The direct memory access mapping hardware 140 according to an embodiment of the present disclosure includes a remapping context entry, which logically divides a portion of the context entry table on a virtual machine basis and maps virtual machine addresses to the divided spaces.
By providing the remapping context entry, address remapping can be performed based on the virtual machine identifier instead of mapping the address based on the PCI information. Accordingly, a plurality of virtual machines may share one physical I/O device instead that a specific virtual machine exclusively uses the one physical I/O device.
FIGS. 5 and 6 are sequence diagrams illustrating the operation of the computing platform described with reference to FIGS. 3 and 4. FIG. Specifically, FIG. 5 is a sequence diagram illustrating a transmission process of a virtual machine, and FIG. 6 is a sequence diagram illustrating a reception process of a virtual machine.
Referring to FIG. 5, an I/O request is generated in the device driver 115 in the virtual machine 110 (step 210), and the virtual machine monitor 121′ in the host machine 120′ captures the I/O request. The virtual machine monitor 121′ executes an interrupt handler such as adjusting a scheduling policy for the virtual central processing unit assigned to the virtual machine 110 that has forwarded the I/O request (step 220), and forwards the transmission instruction to the virtual machine emulator 123′ (Step 230).
The virtual machine monitor 121′ and the virtual machine emulator 123′ do not perform the operation of requesting address translation, but the virtual machine emulator 123′ directly inserts information on the virtual machine 110 that forwarded the I/O request (step 510) and sent an instruction request to the extended device driver 125′ associated with the corresponding virtual machine 110 (step 520).
As described above, the computing platform 100b according to an embodiment of the present disclosure includes the extended device drivers 125′ corresponding to the respective virtual machines 110 in the host machine 120′, and the extended device drivers 125′ included in the host machine 120′ are exposed in the virtual machine 110 to operate as the native device driver of the virtual machine 110. Therefore, the virtual machine emulator 123′ included in the computing platform 100b according to an embodiment of the present disclosure can transmit the instruction request to the extended device driver 125′ based on the information provided from the virtual machine 110, and such transmission may be made through a control channel between the device model in the virtual machine emulator 123′ and the extended device driver 125′.
As the extended device driver 125′ inserts the guest physical address into the transmission queue (step 530), direct memory access including data is performed from the device driver 115 in the virtual machine 110. In this process, an entry assigned to the virtual machine of the remapping context entry included in the direct memory access mapping hardware 140 is derived to translate the guest physical address into the host physical address (step 540). Based on the translated address, the direct memory access through the physical I/O device 130 is completed.
FIG. 6 is a sequence diagram illustrating a process in which an interrupt generated from the physical I/O device 130 is forwarded to the device driver 115 in the virtual machine 110. In FIG. 6, an interrupt occurs according to an access request from the external device to the virtual machine 110 (step 610). The generated interrupt includes information on a virtual machine to be accessed, and an interrupt is transmitted to the extended device driver 125 associated with the virtual machine 110 based on the information.
The extended device driver 125 transmits the interrupt information to the connected virtual machine emulator 123′ via the control channel (step 630), and the virtual machine emulator 123′ transmits the interrupt request file indicator (IRQ FD) to the virtual machine monitor 121′ (Step 640). The virtual machine monitor 121′ injects the interrupt into the device driver 115 according to the scheduling of the central processing unit assigned to the virtual machine 110 to which the interrupt is provided (step 650).
Address translation can be performed through the data channel simultaneously with or before or after the operation of the control channel. The direct memory access mapping hardware 140 derives a remapping context entry based on the virtual machine identification information included in the interrupt to translate the host physical address to the guest physical address in accordance with the occurrence of the interrupt (step 620).
The data provided to the physical I/O device 130 according to the translated address is forwarded to the guest physical address through the device driver 115 in the virtual machine 110.
As described above, the computing platform 100b according to an embodiment of the present disclosure can perform different address translations on the basis of virtual machine instead of PCI since the direct memory access mapping hardware 140 has context entries assigned for each virtual machine. Therefore, one single physical I/O device 130 can be shared by a plurality of virtual machines 110.
As the computing platform 100b according to an embodiment of the present disclosure performs address translation for a plurality of virtual machines 110 through one physical I/O device 130, it is possible to reduce the burden of the address translation of the virtual machine monitor 121′ in the host machine 120′ and have the effect described with reference to the computing platform 100a as well.
The computing platform 700 of FIG. 7 can configure a dual-band environment by configuring a router environment based on I/O virtualization and establishing a wireless channel even though only a single network interface chip (NIC) is provided.
Specifically, the computing platform 700 of FIG. 7 re-assigns an instruction to a network interface chip so that a plurality of guest OSs can communicate with a plurality of virtual medium access control through a virtual machine emulator and a virtual machine monitor.
Through this process, it is possible to solve the problem of incorporating two or more network interface chips in one wireless access point in case of dual band.
Various embodiments of the present invention may be implemented in hardware, firmware, software, or a combination of at least one of them. Various embodiments of the present invention may be implemented with instructions stored on a computer-readable storage medium that can be read and executed by one or more processors. A computer-readable storage medium is a physical medium for storing information, and may include volatile memory, non-volatile memory, optical storage medium, magnetic disk storage medium, and the like. Also, various embodiments of the present disclosure may include a computer-readable storage medium having instructions for performing the above-described methods recorded thereon.
The present invention has been described in detail with reference to the preferred embodiments shown in the drawings. It is to be understood that these embodiments are exemplary rather than limiting, and should be considered in an illustrative rather than a restrictive sense. The true scope of protection of the present invention should be determined by the technical idea of the appended claims rather than the above description. Although specific terms have been used herein, they are used for purposes of describing the concept of the invention only and are not used to limit the scope of the invention as defined in the claims. Each step of the present invention need not necessarily be performed in the order described, but may be performed in parallel, selectively, or individually.
It will be understood by those skilled in the art that various modifications and equivalent other embodiments are possible without departing from the spirit and scope of the invention as defined by the appended claims. It is to be understood that the equivalents include all components that are invented in order to perform the same function irrespective of the currently known equivalents as well as the equivalents to be developed in the future.
While the inventive concept has been described with reference to embodiments, it will be apparent to those skilled in the art that various changes and modifications may be made without departing from the spirit and scope of the inventive concept. Therefore, it should be understood that the above embodiments are not limiting, but illustrative.
1. A method for handling network I/O device virtualization comprising:
translating, by a virtual machine monitor, a guest physical address of a virtual machine to a host physical address in response to an I/O request from at least one virtual machine among a plurality of virtual machines;
transmitting, by a virtual machine emulator, an instruction request including the translated address information to an extended device driver associated with the virtual machine from which the I/O request is forwarded;
inserting, by the extended device driver, the translated address into a transmission queue; and
performing a direct memory access for the I/O request using a physical I/O device according to the transmission queue,
wherein a plurality of extended device drivers are provided in a host machine, the plurality of extended device drivers being mapped to the plurality of virtual machines, respectfully,
wherein the plurality of extended device drivers are exposed in the plurality of virtual machines, respectively.
2. The method of claim 1, wherein the translating the guest physical address comprises, requesting, by the virtual machine emulator, an address translation to the virtual monitor upon receiving the I/O request.
forming a control channel between a device model of the virtual machine emulator and the extended device driver using a kernel interface.
4. The method of claim 3, wherein the transmitting the instruction request comprises, transmitting the instruction request through the control channel of the extended device driver associated with a device model of the virtual machine.
5. The method of 1, wherein the virtual machine emulator does not perform emulation for the I/O request.
6. A non-transitory computer readable storage medium storing a program for executing the method of claim 1 by a computer.
forwarding a transmission instruction to a virtual machine emulator by handling an I/O request interrupt from at least one virtual machine of a plurality of virtual machines;
transmitting, by the virtual machine emulator, an instruction request to an extended device driver associated with a virtual machine by inserting information on the virtual machine which has forwarded the I/O request;
inserting, by the extended device driver, an address of the I/O request into a transmission queue; and
translating, by direct memory access mapping hardware, a guest physical address of the address included in the transmission queue to a host physical address based on the identifier of the virtual machine that generated the interrupt,
generating a remapping context entry including a context entry divided for each of the plurality of virtual machines.
9. The method of claim 8, wherein the translating comprises, performing, by the direct memory access mapping hardware, the address translation by mapping a domain from the remapping context entry based on the identifier of the virtual machine included in the transmission queue.
forming a control channel between a device model in the virtual machine emulator and the extended device driver using a kernel interface.
11. The method of claim 10, wherein transmitting an instruction request comprises, transmitting the instruction request through the control channel of the extended device driver associated with a device model of the virtual machine.
12. The method of 7, wherein the virtual machine emulator does not perform emulation for the I/O request.
13. A non-transitory computer readable storage medium storing a program for executing the method of claim 7 by a computer.
14. A method for handling network I/O device virtualization comprising:
generating a plurality of extended device drivers mapped to a plurality of virtual machines in a host machine;
performing access setting of the plurality of extended device drivers to expose the plurality of extended device drivers in the plurality of virtual machines;
inserting a host physical address into a transmission queue for each of the plurality of extended device drivers after translating a guest physical address included in an I/O request generated by at least one of the plurality of virtual machines into the host physical address; and
performing a direct memory access based on the transmission queue through each of the plurality of extended device drivers,
15. The method of claim 14, wherein the inserting into the transmission queue comprises, translating, by a virtual machine monitor, the guest physical address into the host physical address in response to a request of the virtual machine emulator that received the I/O request.
16. The method of claim 14, further comprising:
forming a control channel between a device model of the virtual machine emulator and the plurality of extended device drivers.
17. A non-transitory computer readable storage medium storing a program for executing the method of claim 14 by a computer.
18. An apparatus for handling network I/O device virtualization comprising:
a direct memory access mapping hardware for managing a remapping context entry including a context entry assigned for a plurality of virtual machines; and
a processor for assigning a plurality of extended device drivers to the plurality of virtual machines, respectively, and performing a direct memory access by forwarding an I/O request generated from at least one of the plurality of virtual machines to a transmission queue through the assigned extended device drivers and performing address translation based on the remapping context entry,
wherein the plurality of extended device drivers are provided in a host machine, the plurality of extended device drivers being mapped to the plurality of virtual machines, respectfully,
19. The apparatus of claim 18, wherein the processor forms a control channel between a device model in the virtual machine emulator and the plurality of extended device drivers assigned for the plurality of virtual machines.
9836421 December 5, 2017 Bshara
9959214 May 1, 2018 Habusha
20060143311 June 29, 2006 Madukkarumukumana
20070057957 March 15, 2007 Wooten
20080092148 April 17, 2008 Moertl
20080148005 June 19, 2008 Moertl
20120216191 August 23, 2012 Tsai
20130174155 July 4, 2013 Yang et al.
20140068137 March 6, 2014 Kegel
20150370586 December 24, 2015 Cooper et al.
10-0871743 December 2008 KR
10-2011-0064539 June 2011 KR
10-1387971 April 2014 KR
2006/039643 April 2006 WO
2008/005722 January 2008 WO
2011/075870 June 2011 WO
Nanos et al. A smart HPC interconnect for clusters of virtual machines. [online]. Springer-Verlag., pp. 398-406. Retrieved From the Internet <https://dl.acm.org/citation.cfm?id=2238487> (Year: 2012).
S.J.Kim, "New Virtualised AP for Independent Wireless Network Composition". Electronic Letters, vol. 52 No. 7 pp. 562-564, Apr. 1, 2016.
Filed: Dec 22, 2017
Date of Patent: Aug 25, 2020
Assignee: TMAX CLOUD CO., LTD. (Seongnam-si)
Inventors: Seong-Joong Kim (Seongnam-si), Da-Hyun Jang (Seongnam-si)
Primary Examiner: Emerson C Puente
Assistant Examiner: Jonathan R Labud
Current U.S. Class: Input/output Data Processing (710/1)
International Classification: G06F 9/455 (20180101);


text:
Q: C++ ofstream can't open file from variable name (not even after using c_str()) In my code I am trying to create a file and write to it:
std::ofstream saveFile("file.txt");
ofstream << "test" << endl;

Works perfectly!
But,
std::string fileName = "file.txt"
std::ofstream saveFile(filename.c_str());
ofstream << "test" << endl;

I've tried with and without c_str(), with no luck. There are no errors. But ofstream.good() returns false.

A: It should work. But do you really post the right code?
At least your code has several obvious syntax errors:
std::string fileName = "file.txt"; // no semicolon
std::ofstream saveFile(fileName.c_str()); // 'fileName' rather than 'filename'
saveFile << "test" << endl; // don't redirect "test" to std::ofstream
// std::ofstream is a class rather than an instance

Please refer to fstream for more detailed information.


– In Texas, 41 innocent lives have been exonerated from wrongful convictions due to DNA testing.
– In Collin County, even the Supreme Court says its OK to have the Judge and the prosecutor in a sexual relationship together during the prosecution of a capital murder.
Part of why I was surprised of this conviction is because I thought there was no way a guilty verdict would ever come from this case. I sat through parts of the trial and never saw any evidence that even remotely pointed towards guilt.
The theory of the case was an odd one to me. In a county where no incumbent judge had ever been defeated, supposedly someone was willing to "bribe" a lawyer to unseat a judge, and reverse rulings already made on their case. The theory was further removed from reality considering Judge Wooten removed herself from the case and never made any rulings that aided the briber.
The prosecutor's theory (an Assistant Attorney General brought in "AG") was quite close to the plot of John Grisham's The Appeal, where a Mississippi Supreme Court justice is pushed to the court to hopefully overturn a big corporate jury verdict. In the book, however, the judge to be didn't know of the reason he was being placed on the court.
But the fiction in this case became hard reality for Judge Wooten. She now faces up to 20 years in prison. Along with the possible prison sentence she is also subject to the convicted felony tag, the loss of her job as a judge, and probable loss of her law license.
The AG's theory of the case is that it didn't matter if the Judge made the favorable rulings or not – the bribe was committed on acceptance of the offer. I guess that is true in theory. I offer to pay an elected official for some favor, they are guilty when they take the money, not when they do the favor.
But a closer look at that idea would show that if the bribed person didn't do the favor in return for the bribe, then it most likely wasn't a bribe anyway. The briber in Wooten's case certainly got screwed out of their $150,000 considering the bribed judge refused to even hear the case much less make favorable rulings.
When I was a prosecutor in Collin County, nobody ever asked me how many innocent people I thought I convicted. As a defense attorney, I am constantly asked how many guilty people I get off. The general public perceives the greater "wrong" to be a guilty person getting away with a crime, not an innocent person getting convicted.
Although not asked about convicting innocent people as a prosecutor, I thought about it during and after my prosecuting career ended. The stock answer in my mind was that I never convicted anyone. They either pled guilty, or a jury convicted them – never me.
My suspicion is that the AG in the Wooten case feels the same way. A jury convicted Wooten – not him. Furthermore, the jury's verdict justified this prosecution.
Except this AG had even more to gain from a guilty verdict. This verdict cleared his name in an FBI investigation against him. The problem with this outcome is that this prosecution could have been pushed forward out of a hope to clear his name – not for a prosecutor's stated duty of seeing that justice be done.
Art. 2.01. It shall be the primary duty of all prosecuting attorneys, including any special prosecutors, not to convict, but to see that justice is done.
At one point the current Collin County District Attorney tried to intervene and take the case back out of the hands of the AG. This was fought by the AG and eventually overruled by the visiting judge.
If a new, uninterested prosecutor were assigned to the case, the outcome might have become more reliable, and easier for me to believe.
So here we have it, an AG working for the Republican elected AG's office, prosecuting a perceived Democrat. If the undertones weren't enough, during the trial the prosecution politics a focal point of their case. Questions were asked of how many Republic events Judge Wooten attended before running. Not exactly subtle.
It had always been a joke that its illegal to be a Democrat in Collin County. Unfortunately this trial brings the joke into possible reality.
In the end I am saddened by what seems on all accounts as yet another innocent person being convicted of a crime. If there was any chance at the public having faith in the jury's verdict, it was lost a long time ago in the face of the overwhelming politics that plagued this case.


Unable to find a medium containing live filesystem.
Newer versions of gparted live are unable to find live medium, when booting from network. I use gparted on my public site http://boot.salstar.sk/ . Boots well with gparted-live-0.30.0-1, but all later versions including latest 0.33.0-2 fails to boot with a message, that unable to find medium containing live filesystem. Testing using a KVM virtualised guest. Let me know, if you need more information.


Bill Belichick (left) recently agreed to a major trade between the Patriots and Rams.
The New England Patriots and Los Angeles Rams completed a blockbuster trade on Tuesday, and the teams may have Georgia football to thank for that. At least in part.
That's because Patriots coach Bill Belichick and Rams coach Sean McVay made significant progress on a deal that had gone cold while working one of Kirby Smart's coaching clinics at UGA last week, according to a report from Sports Illustrated's Peter King.
I'm told the deal, which had been discussed several times since the end of the season, got rekindled when Sean McVay and Bill Belichick talked at the University of Georgia football coaches clinic late last week. I hear the Rams had their first-round pick on the table, but it was the ancillary picks that needed to be reconfigured for the deal to finally get done; the Rams wanted better than a fourth-rounder in return from New England, and the Patriots stuck to their guns on their proposed compensation. And it got done Tuesday afternoon.
The trade involves star wide receiver Brandin Cooks, who goes from the Patriots to the Rams along with a fourth-round pick in exchange for Los Angeles' first and sixth round selections in the 2018 NFL Draft, per ESPN's Adam Schefter.
While Smart likely didn't bring the two into a room and force them to come to an agreement, the Bulldogs do get the assist for facilitating the discussions while featuring the two as headlines for its annual clinic.
After all, without that face-to-face interaction, who is to say the trade ever happens?
Belichick, McVay and Smart were joined by Atlanta Falcons coach Dan Quinn, as well as the rest of the Georgia football staff.