#Turns out it's pretty dang hard to write a room of 7 different characters!
Explore tagged Tumblr posts
respectable-username ¡ 2 years ago
Text
Res gon' give it to ya. I'm gon' give it to ya. Res gon' give it to ya. Whaaaat? A new chapter of my fic is what!
If you've not been following along, this is part of the Hermitgao3ng event, taking a line from the song Hermitgang as inspiration for a story. This particular fic is about Gem being mind controlled into enchanting items for her fellow Hermits that trap them into an unknown dimension. If this piques your interest, you can find the first chapter here!
I'm gon' give it to ya - Chapter 11
11. Reinforced
Fandom/collection: Hermitcraft/@hermitgang-ao3
Words: 3640 of 24740 total so far
Summary: The Hermits try to open the portal, but it takes a lot more than they expected.
Preview:
Another flash ran through the city as Gem's hands made contact with the enchanter. The sculk sensors let out yet another warble as the wave rushed through them, though this time their dancing tendrils stayed in sync after the light had passed, waving together as if to an unheard rhythm.
The glow danced around Gem's body, jumping towards her hands as the several hundred levels from the enderman farm coursed into the enchanter, flowing from the top surface down in intricate lines through previously unnoticed grooves in the sides of the table. The enchanter started to hum as the levels kept pouring in, growing in intensity as the power increased and the light grew stronger.
And then the hum changed, as if it reached some threshold and overflowed.
Tendrils of light shot out from the base of the enchanter into the surrounding brickwork, that same greeny-yellow glow trailing through the cracks and cervices in the stone. They crawled towards the giant pillars on either side of the altar like vines, twisting and turning as they made their way up, up, up towards the portal.
As the light travelled, a different song seemed to come from the surrounding cavern. It was as if the sculk sensors themselves were singing, an otherworldly warble more melodious than any noise she'd heard them make before, calling out to whatever lay deep beyond the stonework.
The tendrils of lights wreathed around the giant structure, forming a halo of light that knitted together at the top. The sensors' song grew in intensity, as if anticipating what would happen next.
And with the loop completed, the light changed direction, redirecting inwards into the reinforced deepslate from all sides.
"It's working!" shouted Grian, spinning around to get a better view of the show.
"I don't have enough level," said Gem, wincing through the raw exertion of her power. Indeed, the glow around her had already started to wane, her hair drifting lower and lower towards her shoulders as the magic drained away.
Ren stepped forward, putting his hand on Gem's shoulder. He winced slightly as the glow passed through into his hand and up his arm, racing to surround him, but he held firm as the Gem seemed to refuel her power.
The veins of light pulsed stronger, the reinforced deepslate taking on a glow of its own. The song slowly crescendoed, becoming clearer and clearer as the levels continued to pour into the enchanter.
Then suddenly, with the sound of a bolt sliding into place, the centre-most bottom frame lit up fully, as bright as glowstone but with that same greeny-yellow that characterised everything the enchanter did.
The sensors warbled again, a new layer of harmony added to the song as it passed.
"Holy smokes," said Etho, staring up at the portal in awe. "It's actually working."
11 notes ¡ View notes
hamanuelton ¡ 4 years ago
Text
my favorite parts of hamilton:
- “I imagine death so much it feels more like a memory.”
- every time Leslie Odom Jr. as aaron burr begins another part with “how did a bastard, orphan-“ or like in that same way ‘cause he doesn’t always start it that way but you know what I mean
- the way Leslie Odom Jr. as My Boi Burr™️ says “well, the world got around, they said, ‘this kid is insane, man!’”
- also when Leslie Odom Jr. as A. Burr says
“WHAT’S YOUR NAME, MAN?!”
- “our man saw his future drip-dripping down the drain, a pencil to his temple, connected it to his brain”
- “Alexander Hamilton. My name is Alexander Hamilton. And there’s a million things I haven’t done, but just you wait, just you wait...”
- background “just you wait, just you wait”’s as hammy’s putting on a new jacket and ensemble is praising nyc
- “and me? i’m the damn fool that shot him.”
- “Burr, sir” + the continuation of this all throughout
- “If you talk you’re gonna get shot” / FORESHADOWING WOOOEEEEWOOOOO
- “i’m John Laurens in the place to be”
- Lafayette’s fuckinf accent
- “BRRRAH! BRRAAAH! HERCULES MULLIGAN UP IN IT LOVIN IT”
- “if you stand for nothing, Burr, what’ll you fall for”
- “‘Onarchy?”
- hey, yo, i’m just like my country, i’m young, scrappy, and hungry—
- the way Odom Leslie Jr. as The Hamburrglar™️ says ‘shot’ and they all take a shot
- this ⤵️
Tumblr media
- Hammy getting //flustered// about friendship
- WHEN ARE THESE COLONIES GONNA RISE UP
- Angelica’s face when Burr is tryna tell her bout herself and she shows him up and ships him out
- Act 1: 6. Farmer Refuted
- honorable mention: “my dog speaks more eloquently than thee!" "but strangely, your mange is the same." "is he in jersey?”
- King George pouting
- Jonathan Groff’s overarticulation of each syllable as King George is a work of art
- “♪ Da-da-da-dat-da-dat-da-da-da-dai-ah-da! ♪ Da-da-da-da-dai-ah-da! ♪
- “Everybody! —“
- “We keep meeting.”
- “i imagine death so much it feels more like a memory. when’s it gonna get me? in my sleep? seven feet ahead of me?”
- “See, I never thought I’d live past twenty.”
- “this is not a moment, it’s the movement”
- “I’m laughin’ in the face of casualties and sorrow, for the first time, I’m thinkin’ past tomorrow!”
- “dying is easy, young man, living is harder!”
- “i’m being honest. i’m working with a third of what our Congress promised.”
- “you need all the help you can get. i have some friends. Laurens, Mulligan, Marquis de Lafayette, okay, what else?” — “we’ll need some spies on the inside, some king’s men who might let some things slide.”
- “watch this obnoxious, arrogant, loudmouth bother be seated at the right hand of the father.”
- “Martha Washington named her feral tomcat after him” — “That’s true.”
- “Yo, if your marry a sister, you’re rich, son!” — “Is it a question of ‘if’, Burr, or which one?” and then the little ‘hey’ ‘hey’ thing they do gets me every time
- literally the use of yo throughout the production fucking gets me every single fucking time
- “i’m writin’ a letter nightly. now my life gets better, every letter that you write me. — THE PURE UNBRIDLED SENSE OF FORESHADOWING IN “laughin’ at my sister, cuz she wants to form a harem” — ft. “i’m just sayin’, if you really loved me, you would share him!”
- the irony in “Eliza, i don’t have a dollar to my name”, you’ll be on the $10 bill, my man
- top-notch brain
- Angelica TRIED TO TAKE A BITE OF ME
- the way Anthony Ramos as John Laurens says “alright, alright. that’s what i’m talkin’ about!” and also the face that he makes
- hunger-pang frame
- “You strike me as a woman who has never been satisfied.” — “I’m sure I don’t know what you mean. You forget yourself.” — “You’re like me. I’m never satisfied.” — “Is that right?” — “I have never been satisfied.” — “My name is Angelica Schuyler.” — “Alexander Hamilton.” — “Where’s your fam’ly from?” — “Unimportant. There’s a million things I haven’t done but just you wait, just you wait...”
- tbh the way ‘Schuyler’ is spelled is oddly satisfying to me
- honestly just the way LMM says Alexander Hamilton+/ my name is Alexander Hamilton, and there’s a million things i haven’t done, ‘just you wait, just you wait...’ throughout the production
- “i’m the oldest and the wittiest and the gossip in new york city is insidious”
- “You are the worst, Burr.”
- Act 1: 12. The Story of Tonight (Reprise)
- “love doesn’t discriminate, between the sinners and the saints, it takes and it takes and it takes”
- “love doesn’t discriminate, between the sinners and the saints, it takes and it takes and it takes and we keep living anyway. we rise and we fall and we break and we make our mistakes. and if there’s a reason i’m still alive when everyone who loves me has died—“
- “Chick-a-plao!”
- the way they say ‘raise a glass’ is both elegant and (appropriately) reverent
- “i go back to new york and my apprenticeship” — i shouted MY BOI HERCULES MULLIGAN UP IN IT LOVIN IT DID NOT JUST SAY THAT, IF HE ACTUALLY LEFT AND ISN’T JUST UNDERCOVER OR SOME SHIT IMMA WRITE LIN-MANUEL MIRANDA A STRONGLY WORDED LETTER
- the minute General Charles Les came into the picture i hated him so hard, even though his literal first word was ‘Whee!!!!’, though i can appreciate the sentiment and what LMM was tryna do there
- “Washington cannot be left to his devices indescisive, from crisis to crisis” — sweet baby jesus that alliteration, and jon rua totally pulled it off (i hate General Charles Lee not the person who played him, i can also appreciate the fact that as an actor it takes a lot of talent to be able to make you hate a character so easily, also shoutout to Jonathan Groff as King Georgey-Boy™️, Sydney James Harcourt as james reynolds, and the general way LMM somehow made me fed up/turn on Alexander with the whole scene with him and Maria Reynolds — and not only that but somehow redeemed himself to me which is easier said than done for characters and people alike.. i’ve been hurt too much to play like that.
- Act 1: 15. Ten Duel Commandments
- honorable mention: “if you don’t reach peace, that’s alright. time to get some pistols and a doctor on site. you pay him in advance, you treat him with civility. you have him turn around so he can have deniability.”
- Act 1: 17. That Would Be Enough
- honorable mention: the melody that LMM went with for that turn of phraseis a truly beautiful thing
- “Immigrants:” — “We get the job done.”
- THE FACT THAT MY MAIN MAN HERCULE MULLIGAN WAS ON THE INSIDE NOT ONLY DID I CALL IT BUT DAMN HE REALLY GOT THAT GOOD HOT TRIBUTE HE DESERVED
- “To my brother’s a revolutionary covenant! I’m runnin’ with the sons of liberty and I am lovin’ it! See, that’s what happens when you up against the ruffians. We’re in the shit now, somebody gotta shovel it! Hercules Mulligan, I need no introduction, when you knock me down I get the fuck back up again!”
- Act 1: 21. What Comes Next
- honorable mention: “i’m so blue” — the little squat that Groffsauce does as the light turns blue really got to me
- Act 1: 22. Dear Theodosia
- Leslie Odom Jr.’s voice is so ding dang delightfully airy
- honorable mention: “You have my eyes. You have your mother’s name. When you came into the world, you cried and it broke my heart.”
- Act 1: 23. Non-Stop
- as someone with siblings i can appreciate that they’re bickering like that’s just what they are
- “I was chosen for the constitutional convention! *squeal*”
- “Burr, we studied and we fought and we killed for the notion of a nation we now get to build. For once in your life, take a stand with pride. I don’t understand how you stand to the side.”
- Act 2: 1. What’d I Miss?
- honorable mention: “But the sun comes up and the world still spins.”
- Act 2: 2. Cabinet Battle #1
- honorable mention: “DOIN’ WHATEVER THE HELL IT IS YOU DO IN MONTICELLO!”
- tomorrow and tomorrow and tomorrow
- “Daddy, daddy, look.... My name is Philip. I am a poet. I wrote this poem just to show it. And I just turned nine. You can write rhymes but you can’t write mine.” - “What!” - “I practice French and play piano with my mother.” — “Uh-huh!” — “I have a sister but I want a little brother.” — “Okay!” — “My daddy’s trying to start America’s bank. Un deux trois quatre cinq!” — “Bravo!” — “Hey, our kid is pretty great.”
- as much as i hate Act 2: 4. Say No To This (because for some reason i though Alexander Hamilton was better than that) Jasmine Cephas Jones sings in it is like a hot knife through butter — namely; “My husband’s doin’ me wrong beatin’ me, cheatin’ me, mistreatin’ me...”... I guess maybe I understand it ‘cause damn Jasmine Cephas Jones is so ding dang pretty and ding dang talented and wow what a remarkable person
- the way that Lin says “And her body’s saying, ‘hell, yes’ is um.. 😓
- “You see, that was my wife you decided to” — “Fuuuu—“
- Act 2: 5. The Room Where It Happens
- honorable mention: “Bros.”
- “Talk less. Smile more.” LMM being a dramatic bastard
- Act 2: 6. Schuyler Defeated
- Act 2: 7. Cabinet Battle #2
- “revolution is messy but now is the time to stand."
- honorable mention: “Ooh!!”
- “We signed a treaty with a King whose head is now in a basket. Would you like to take it out and ask it? ‘Should we honor our treaty, King Louis’ head?’ ‘Uh... do whatever you want, I’m super dead.’”
- Thomas Jefferson all like “but sir do we not fight for freedom” MY BAD SIR YOU ARE A SLAVE-OWNER HOW ABOUT YOU NOT
- mentioning Lafayette because apparently LMM has no problem with breaking the fourth wall
- “Daddy’s calling.”
- “I’m in the cabinet. I am complicit in watching him grabbin’ at power and kiss it. If Washington isn’t gon’ listen to disciplined dissidents, this is the difference. This kid is out!”
- “Southern motherfuckin’ Democratic-Republicans!”
- “The emperor has no clothes.”
- “Sir, I don’t know what you heard but whatever it is Jefferson started it.” — “Thomas Jefferson resigned this morning.” — “You’re kidding.” — “I need a favor.” — “Whatever you say, sir, Jefferson will pay for his behavior.” — “I’ll use the press. I’ll write under a pseudonym, you’ll see what I can do to him—“ — “Yes! He resigned you can finally speak your mind!” — “Ha. Good luck defeating you, sir.” - “I’m sorry, what?”
- Act 2: 10. I Know Him
- “—Vice President.” — “— No more Mr. Nice President.”
- “Sit down, John, you fat motherf—“
- Act 2: 12. We Know
- honorable mention: “You see that was my wife you decided to—“ — “WHAT—“
- Act 2: 13. Hurricane
- Act 2: 14. The Reynolds Pamphlet
- honorable mention: *DEEP VOICE* “DAMN”
- Act 2: 15. Burn
- i’ll be the first to say i wasn’t a huge fan of Eliza at first aside from Phillipa Soo’s killer voice
- this gave me a lot of respect for her
- honorable mention: “You have married an Icarus. He has flown too close to the sun.”
- Act 2: 16. Blow Us All Away
- i would like to point out that tweet where someone @‘s LMM about not mentioning Philip’s hot and he responds “I’M FAIRLY F**CKING SURE I DID”, y’know ⤵️
Tumblr media
- “The ladies say my brain’s not where the resemblance stops.”
- “God, you’re a fox.”
- Act 2: 17. Stay Alive (Reprise)
- The ‘I know, I know. Shh.’ and the full circle back to his mom teaching him french on the piano really got to me for the beautiful artistry in it but also damn them feels
- Act 2: 18. It’s Quiet Uptown
- “I spend hours in the garden. I walk alone to the store and it’s quiet uptown. I never liked the quiet before. I take the children to church on Sunday, a sign of the cross at the door, and I pray. That never used to happen before.”
- “Philip, you would like it uptown. It’s quiet uptown.”
- “You knock me out, I fall apart.”
- “Eliza, do you like it uptown? It’s quiet uptown.”
- “There are moments that the words don’t reach. There is suffering too terrible to name. You hold your child as tight as you can and push away the unimaginable. The moments when you’re in so deep it feels easier to just swim down.”
- “There are moments that the words don’t reach. There is a grace too powerful to name. We push away what we can never understand. We push away the unimaginable.”
- “Can you imagine?”
- Act 2: 19. The Election of 1800
- honorable mention: “And they say I’m a Francophile: at least they know I know where France is!”
- “You used to work on the same staff” — “Whaaaat.”
- “Honestly, it’s kind of draining.” — “Burr...” — “Sir!” — “Is there anything you wouldn’t do?” — “No. I’m chasing what I want. And you know what?” — “What?” — “I learned that from you.” / this moment made the blow that he voted for Jefferson like a damn hole in my chest and i actually really felt for Burr. i get Hammy’s reluctance, i think if anything he was hoping voting for Jefferson would give Burr the chance to have experience as VP and then the next election he might vote for him then depending
- Act 2: 20. Your Obedient Servant
- A. Burr
- A. Ham
- “I just need to write something down.” / really resonated as one of the last things they showed him doing before going off to the duel, his life really was writing and that was the perfect way to say that in a very subtle sort of way. i really appreciate it artistically, whether it was intentionally so or not.
- Act 2: 22. The World Was Wide Enough
- okay but first of all i would like to comment on the fact that Ariana DeBose PLAYS THE GODDAMN BULLET, I JUST
- THE FACT THAT THE BULLET HAS A PART
- “This man will not make an orphan of my daughter.” / this made me really sympathize with Burr, as well as when he tries to go towards Hamilton (at least in the play but I sincerely hope that was historically accurate) / but also that fact that Theodosia Burr was lost at sea at 29 makes me sad because Hamilton’s life was taken to give her one and then she just up and disappears in a freak accident
- Act 2: 23. Who Lives, Who Dies, Who Tells Your Story
- the orphanage got to me
- i loved that he (LMM) didn’t end it with himself or anything
- he let Phillipa Soo tear my heart out
- it killed me but i died quite happily
- and really what more could you ask for.
16 notes ¡ View notes
helshades ¡ 5 years ago
Link
Tumblr media
Hard to deny that we live in an age dominated by the superhero. That classic Superman chestnut, “Look up in the sky!“, feels as apropos as ever when you can’t drive down a major road without Tony Stark’s mustachioed mug or Clark Kent’s Kryptonian biceps flexing down at you like judgemental gods. They rule the box office, they rule the pop culture conversation, they rule the graphic t-shirt real estate at every coffee shop. We’re about one particularly effective after-credits scene away from fandom spilling over into actual worship—pull up any video from inside Hall H if you don’t believe me—which means there’s no better time to ring up The Boys.
Adapted by Seth Rogen, Evan Goldberg, and Eric Kripke from the Dynamite comic series by writer Garth Ennis and Darick Robertson, the eight-episode Amazon series has a wickedly sharp eye for what an actual modern age of superheroes would look like. Costumed vigilantes come with an army of publicists to craft public apologies. Major media corporations schedule the crime-stopping “team-ups” that would drive the optimal amount of social media engagement. And there’s the possibility that the superheroes themselves, so shiny and glossed in front of a camera, are the type of A-list TMZ trash-monsters in their private lives who might smash a man’s skull during a particularly aggressive round of analingus. This is an actual thing that happens in The Boys. A lot of wild things happen in The Boys. But underneath all that superpowered ass-murder is genuinely one of the most timely TV series I’ve seen in a long time.
Our way into the mayhem is “Wee” Hughie Campbell (Jack Quaid), a completely normal A/V salesman living a completely ordinary life until a super-fast superhero named A-Train (Jessie Usher) literally runs through his girlfriend Robin (Jess Salgueiro), turning her into a cloud of blood and guts. A-Train is essentially untouchable as a member of The Seven, the world’s premiere superhero team, along with aquatic fish-talker The Deep (Chace Crawford), silent ninja Black Noir (Nathan Mitchell), the invisible Translucent (Alex Hassell), superstrong ass-kicker Queen Maeve (Dominique McElligott), and the squad’s Superman-esque leader, Homelander (Antony Starr). Quieted with a half-assed apology and ironclad Non-disclosure Agreement, Hughie’s thirst for revenge leads him straight to Billy Butcher (Karl Urban), former leader of an under-the-radar squad that worked to keep the “supes” in check: The Boys.
Running parallel to Hughie and Butcher is the story of Starlight (Erin Moriarty), The Seven’s bright-eyed and optimistic new recruit who quickly learns she’s joined a team of corrupt corporate suits, perverts, and murderers. The two plots intertwine, and soon a grand conspiracy emerges surrounding the mysterious super-steroid “Compound V” that could completely destroy the superhero game and the mega-corporation that funds it, Vought.
The Boys operates on a few different levels, all of which the creative team nails on one level or another. It’s your classic gettin’-the-band-back-together story, as the Compound V conspiracy convinces Butcher to track down the rest of the retired Boys, Mother’s Milk (Laz Alonso) and Frenchie (Tomer Capon), who are eventually joined by the hyper-violent killing machine known only as The Female (Karen Fukuhara). It’s also a pretty dang intriguing mystery tale dressed up in tights and capes, as well as a pitch-black comedy filled with enough flying guts, exploding dolphins, and C-4 shoved into a person’s unholy crevices to keep even the sickest of you puppies squirming.
But where the writing staff really excels is in the world-building. They’ve kept large chunks of the comic book story intact while also stripping away a bit of the X-Treme Edginess—I like Garth Ennis a lot, but Garth Ennis is occasionally too Garth Ennis for his own good—and setting it firmly in a setting that’s both comic-book elevated and so perfectly 2019. Superheroes argue not about the number of lives saved, but their cut of the merch and box office sales raked in from the Vought Cinematic Universe. ESPN runs 24/7 coverage of a race between speedsters. SEO experts and video editors cut together image-boosting clip shows of The Seven interacting with the common folk. (Possibly my favorite joke in the entire show is the fact newcomer Starlight’s segment is placeholder text that just says “Starlight relating to people.”)
And with that comes a really dark, unique relatability to the material that’s completely different than any on-screen comic book series out there. Though we don’t live in a world of actual superpowers, we do live in one filled with supremely shitty people in extraordinary positions of power and wealth. Tune into literally any news outlet of your choice—or just log on to Twitter dot com—and you’re bombarded with the latest government figure or Hollywood elite who was caught and/or just outright said the depths of their sheer shittiness. It makes you long for the days when a celebrity’s name trending meant they were just dead, not a sexual deviant. The Boys, similar to the comic series, leans hard into this idea: What if the rich, powerful fraudsters and public masturbators of the world were actually sitting in the position of the gods? It’s the darkest material on the show, but the story approaches it unflinchingly. There’s a real stomach-churning familiarity to a high-ranking member of The Seven dropping his pants in front of Starlight and asking how badly she wants to be a part of a superhero team. But even the worst parts come with a sense of wish fulfillment; as awful as it is to see and recognize a world run by all-powerful assholes, it’s thrilling when you realize The Boys is really about how ordinary people can fight back.
As Starlight, Moriarty shines brighter and brighter with each episode, a fantastic foil to Quaid’s increasingly twitchy Hughie. The cast is pretty electric across the board—especially Karl Urban out there throwing around c-words like his name is Cookie Monster—but there are two performances in particular that really make the story tick. Antony Starr is terrifying as Homelander; he plays the main supe like a petulant child given the strength of a nuclear bomb—a Shazam who also burns people’s faces off—and it’s chilling how quickly the actor switches between Homelander’s toothy-smiled choir boy image and the stone-cold persona below. Standing behind him is Elisabeth Shue as Madelyn Stillwell, Senior Vice President of Superhero Management at Vought. The Oscar-nominee is perfectly icy in the role, and low-key the most terrifying character on the show. As the mass murders and war crimes pile up around her, Madelyn is just booking the dates and scheduling the meetings, proving there’s nothing more horrific than a suit who signs lives away with a smile.
If there’s a complaint to be had about The Boys, it’s that its first eight-episode run ends awkwardly, right in the middle of the narrative with several loose threads dangling and a few key characters left forgotten in the home stretch. You have the sense the creators were pretty confident given the fact casting announcements started to pop up before a season 2 was confirmed. [UPDATE: Which it was, just now, at Comic-Con.] But the roller-coaster ride to that abrupt end is something you must experience. Like Alan Moore‘s Watchmen in the late-80s, TV series has the chance to be the superhero deconstruction of our time. Less a peek behind the curtain, and more a seedy glimpse behind the social media likes and box office numbers, a story that manages to be heartbreakingly relevant while still finding time to have Karl Urban kill a room full of goons with a super-powered baby.
Oh shit, did I not mention Karl Urban kills a room full of goons with a superpowered baby earlier? Yeah, man. Watch The Boys. A lot going on there.
3 notes ¡ View notes
raiswanson ¡ 7 years ago
Text
Annual Writing Self Evaluation: 2017
Tagged by @universalfanfic, ooooh thank you!
I’m just going to tag in all the usuals I can think of at the moment @__@ everyone is welcome to fill this out though! @typeaadventures @helenpowers @jesse-is-inarguably-purple @h-brook-writes @bambmazing @my-words-are-light @scribbledwriting @tangledlinescrumpledpaper @otramble @prycarious @brynwrites @tundra-tiger @lilymaidofgallifrey @acfawkes @byjillianmaria @christinawritesfiction @audreyroseb
*All answers should be about works published in 2017
1.) List of works posted last year
Posted? None. I don’t post my work anywhere, aside from sharing Pryza with a few writing friends for general review.
2.) What work are you most proud of and why?
Dancing Sands, not only because it’s the first thing I’ve completed and been satisfied with, but because I wrote that bastard in 2 months, pre-planned almost nothing, hit 190k, and genuinely feel that it came out really well and will only need minor alterations to be the best it can be. (minor as in it will ultimately be the same, but smoother and refined)
3.) What work are you least proud of and why?
Dragon’s Totem. I could have done better last NaNo, and I was definitely pushing it to keep a stable word count even though I was still hung up on another story/probably needed a break from blasting through 80k-ish the month before. It came out forced, and will still need tons and tons of repair work to make up for the mess I made of it. Not to mention it feels like it drags a lot.
It could be so much better and I just don’t know what to do for it :/
4.) A favorite excerpt of your writing
Enjoy some Maika being....Maika. ;p
  Rewill looked immensely pleased with himself when I finished dressing and stepped out of the room with a sulky expression, arms crossed and shoulders bunched at my neck. He motioned for me to turn despite the death glare I was trying to melt him with, and I made a half-assed attempt to indulge him. He clapped once I was facing him again, and I stood sulking at the genuine delight on his face.
  “I’m not cheering for yours. I want you to know that,” I grumbled, gesturing to the suit he had thrown over his shoulder. Not missing a beat, he grinned back and lifted the article in question.
  “I wouldn’t expect you to. It’s just a tux. Nothing special,” he agreed, then gestured to me. “That fits alright, right? It looked your size but if it needs fitting they offer that service,” he asked. I blinked in surprise and uncrossed my arms to take another look.
  “Actually, it fit perfectly. How’d you call that so well?” I asked as he moved into the dressing room.
  “Oh, I just have an eye for that sort of thing.”
  “Is that a dodgy way of saying you have a clothing-size recognition program in your fake eye? Because that’s what it sounds like. And that’s weird,” I said, making the cyborg’s cackle fill the waiting room.
~
  “Aw, c’mon, this isn’t so bad. It’s nice to see you in heels again!” Rewill insisted as we filed into a station hover-rickshaw to ride to the docks. I settled into my seat as far from him as possible and crossed a leg over my knee to give him a sour look.
  “I’m going to stomp you with these heels if you don’t stop being so damned cryptic about what we’re—”
  “Hey, there are people that would pay for that kind of treatment from a woman that looks like you,” Rewill blurted with a playful nudge. My breath exploded out of my lungs, and I choked on my words a while before I could even process what he’d said with such a stupid grin.
  “Wh-what? You—  Rewill Lase, watch your tongue or I’ll rip it out of your unthinking head—”
  “Just a little longer, okay Mai? You’ll know what we’re up to before it matters, I promise,” he assured me over my sputtering. I chewed the inside of my cheek and glared him down, calming somewhat to see he’d sobered. Clucking my tongue, I turned my gaze to the passing view of the station below.
  “Fine. But, Rewill?” I waited long enough to ensure he was listening, then pointed one painted nail--further courtesy of his mysterious influx of wealth--at him as threatening as I could. “Stop calling me that or I will put one of these heels through the back of your metal head,” I warned. To my chagrin he only laughed and gave my curled up-do a gentle ruffle.
  “Man, I really did miss that while I was running around in the dust storms. Never change, Miss Sumi,” he replied, snatching his hand back when I reared on him. “Ack! What?! What’d I do?! I didn’t say it!” he protested as I cocked an arm back.
  Even the android driving the rickshaw winced at the thump that followed.
5.) Share or describe a favorite comment you received
Tumblr media
@typeaadventures put me into freaking tears with these three words
But seriously all of the feedback I’ve gotten on Pryza thus far has been glorious and I’m so happy with what I’ve gotten back on it. All of it. Perfect. Love you guys. Your enthusiasm and wonderful comments saved the project. I mean that.
6.) A time when writing was really, really, hard.
LAST NOVEMBER WAS PRETTY DANG BAD NGL
I re-learned that when I got on a crazy burst with my writing, I need to take a break afterward or I crash and burn and lose more time than I would have if I’d just sat back and let myself rest. (Will this stop me from pushing myself again next time? Probably not. I’m a workaholic until I’m literally too stuck to move, and even then I gripe and wish I was writing)
7.) A scene or character you wrote that surprised you.
 I’m always surprised. Things never go according to plan. Never.
But to cite an especially surprising character, there’s always Iwiw, from Dancing Sands. When I planned his character he was supposed to be fairly stiff and serious/stern, super professional, very dry. Y’know, that character that isn’t any fun. But, when he finally swaggered into his introduction paragraph he was anything but. He was biting and witty and brought more life to things than I ever would have expected, and turned into basically the darling of the whole book.
damn you, Iwiw.
8.) How did you grow as a writer last year?
Well I learned that I CAN in fact complete a book if I try hard enough, and ironed out a few punctuation errors I’ve allowed to perpetuate for far too long. So that’s good.
9.) How do you hope to grow as a writer this year?
Uhh I dunno learning how to complete books FASTER would be a nice improvement ;p
10.) Who was your greatest positive influence last year?
The tiny writers group I made on discord with the remains of a camp nano cabin. As stated above, I love you guys. My creativity train had been running on fumes for a while and you were (and continue to be) a heaping pile of coal on the fire. Thank you so much for giving Pryza a try <3
11.) Anything from your real life turn up in your writing last year?
No, that doesn’t really tend to happen. I kinda make an active effort to ignore real life when focusing on writing. I want to enjoy my fictional world, yknow?
12.) Any new wisdom you can share with other writers.
Uh. Idk about NEW, but... Look, you can follow all the advice you want and listen to as many tips and tricks that you can find, but you need to remember that it’s your story you’re writing, and no one knows what’s best for it but you. Listen to advice, but make the ultimate call yourself. No one can tell you the RIGHT way to write something--they can only tell you what they think works best for them. If you disagree, neither of you are wrong. You just have differing views. This is okay.
Above all, write what makes you happy.
13.) Any new projects you’re excited to start this year?
Book 2 of Pryza is singing to me from the distance like a siren, and while they aren’t new I am looking forward to revisiting Truant Goddess to clean it up and I really hope to finish Lovely Teeth at last. :)
7 notes ¡ View notes
wearebutler ¡ 7 years ago
Text
Ever wonder about that mysterious Content-Type tag? You know, the one you’re supposed to put in HTML and you never quite know what it should be?
Did you ever get an email from your friends in Bulgaria with the subject line “???? ?????? ??? ????”?
I’ve been dismayed to discover just how many software developers aren’t really completely up to speed on the mysterious world of character sets, encodings, Unicode, all that stuff. A couple of years ago, a beta tester for FogBUGZ was wondering whether it could handle incoming email in Japanese. Japanese? They have email in Japanese? I had no idea. When I looked closely at the commercial ActiveX control we were using to parse MIME email messages, we discovered it was doing exactly the wrong thing with character sets, so we actually had to write heroic code to undo the wrong conversion it had done and redo it correctly. When I looked into another commercial library, it, too, had a completely broken character code implementation. I corresponded with the developer of that package and he sort of thought they “couldn’t do anything about it.” Like many programmers, he just wished it would all blow over somehow.
But it won’t. When I discovered that the popular web development tool PHP has almost complete ignorance of character encoding issues, blithely using 8 bits for characters, making it darn near impossible to develop good international web applications, I thought, enough is enough.
So I have an announcement to make: if you are a programmer working in 2003 and you don’t know the basics of characters, character sets, encodings, and Unicode, and I catch you, I’m going to punish you by making you peel onions for 6 months in a submarine. I swear I will.
And one more thing:
IT’S NOT THAT HARD.
In this article I’ll fill you in on exactly what every working programmershould know. All that stuff about “plain text = ascii = characters are 8 bits” is not only wrong, it’s hopelessly wrong, and if you’re still programming that way, you’re not much better than a medical doctor who doesn’t believe in germs. Please do not write another line of code until you finish reading this article.
Before I get started, I should warn you that if you are one of those rare people who knows about internationalization, you are going to find my entire discussion a little bit oversimplified. I’m really just trying to set a minimum bar here so that everyone can understand what’s going on and can write code that has a hope of working with text in any language other than the subset of English that doesn’t include words with accents. And I should warn you that character handling is only a tiny portion of what it takes to create software that works internationally, but I can only write about one thing at a time so today it’s character sets.
A Historical Perspective
The easiest way to understand this stuff is to go chronologically.
You probably think I’m going to talk about very old character sets like EBCDIC here. Well, I won’t. EBCDIC is not relevant to your life. We don’t have to go that far back in time.
Back in the semi-olden days, when Unix was being invented and K&R were writing The C Programming Language, everything was very simple. EBCDIC was on its way out. The only characters that mattered were good old unaccented English letters, and we had a code for them called ASCII which was able to represent every character using a number between 32 and 127. Space was 32, the letter “A” was 65, etc. This could conveniently be stored in 7 bits. Most computers in those days were using 8-bit bytes, so not only could you store every possible ASCII character, but you had a whole bit to spare, which, if you were wicked, you could use for your own devious purposes: the dim bulbs at WordStar actually turned on the high bit to indicate the last letter in a word, condemning WordStar to English text only. Codes below 32 were called unprintable and were used for cussing. Just kidding. They were used for control characters, like 7 which made your computer beep and 12 which caused the current page of paper to go flying out of the printer and a new one to be fed in.
And all was good, assuming you were an English speaker.
Because bytes have room for up to eight bits, lots of people got to thinking, “gosh, we can use the codes 128-255 for our own purposes.” The trouble was, lots of people had this idea at the same time, and they had their own ideas of what should go where in the space from 128 to 255. The IBM-PC had something that came to be known as the OEM character set which provided some accented characters for European languages and a bunch of line drawing characters… horizontal bars, vertical bars, horizontal bars with little dingle-dangles dangling off the right side, etc., and you could use these line drawing characters to make spiffy boxes and lines on the screen, which you can still see running on the 8088 computer at your dry cleaners’. In fact  as soon as people started buying PCs outside of America all kinds of different OEM character sets were dreamed up, which all used the top 128 characters for their own purposes. For example on some PCs the character code 130 would display as é, but on computers sold in Israel it was the Hebrew letter Gimel (), so when Americans would send their résumés to Israel they would arrive as rsums. In many cases, such as Russian, there were lots of different ideas of what to do with the upper-128 characters, so you couldn’t even reliably interchange Russian documents.
Eventually this OEM free-for-all got codified in the ANSI standard. In the ANSI standard, everybody agreed on what to do below 128, which was pretty much the same as ASCII, but there were lots of different ways to handle the characters from 128 and on up, depending on where you lived. These different systems were called code pages. So for example in Israel DOS used a code page called 862, while Greek users used 737. They were the same below 128 but different from 128 up, where all the funny letters resided. The national versions of MS-DOS had dozens of these code pages, handling everything from English to Icelandic and they even had a few “multilingual” code pages that could do Esperanto and Galician on the same computer! Wow! But getting, say, Hebrew and Greek on the same computer was a complete impossibility unless you wrote your own custom program that displayed everything using bitmapped graphics, because Hebrew and Greek required different code pages with different interpretations of the high numbers.
Meanwhile, in Asia, even more crazy things were going on to take into account the fact that Asian alphabets have thousands of letters, which were never going to fit into 8 bits. This was usually solved by the messy system called DBCS, the “double byte character set” in which someletters were stored in one byte and others took two. It was easy to move forward in a string, but dang near impossible to move backwards. Programmers were encouraged not to use s++ and s– to move backwards and forwards, but instead to call functions such as Windows’ AnsiNext and AnsiPrev which knew how to deal with the whole mess.
But still, most people just pretended that a byte was a character and a character was 8 bits and as long as you never moved a string from one computer to another, or spoke more than one language, it would sort of always work. But of course, as soon as the Internet happened, it became quite commonplace to move strings from one computer to another, and the whole mess came tumbling down. Luckily, Unicode had been invented.
Unicode
Unicode was a brave effort to create a single character set that included every reasonable writing system on the planet and some make-believe ones like Klingon, too. Some people are under the misconception that Unicode is simply a 16-bit code where each character takes 16 bits and therefore there are 65,536 possible characters. This is not, actually, correct. It is the single most common myth about Unicode, so if you thought that, don’t feel bad.
In fact, Unicode has a different way of thinking about characters, and you have to understand the Unicode way of thinking of things or nothing will make sense.
Until now, we’ve assumed that a letter maps to some bits which you can store on disk or in memory:
A -> 0100 0001
In Unicode, a letter maps to something called a code point which is still just a theoretical concept. How that code point is represented in memory or on disk is a whole nuther story.
In Unicode, the letter A is a platonic ideal. It’s just floating in heaven:
A
This platonic A is different than B, and different from a, but the same as A and A and A. The idea that A in a Times New Roman font is the same character as the A in a Helvetica font, but different from “a” in lower case, does not seem very controversial, but in some languages just figuring out what a letter is can cause controversy. Is the German letter ß a real letter or just a fancy way of writing ss? If a letter’s shape changes at the end of the word, is that a different letter? Hebrew says yes, Arabic says no. Anyway, the smart people at the Unicode consortium have been figuring this out for the last decade or so, accompanied by a great deal of highly political debate, and you don’t have to worry about it. They’ve figured it all out already.
Every platonic letter in every alphabet is assigned a magic number by the Unicode consortium which is written like this: U+0639.  This magic number is called a code point. The U+ means “Unicode” and the numbers are hexadecimal. U+0639 is the Arabic letter Ain. The English letter A would be U+0041. You can find them all using the charmaputility on Windows 2000/XP or visiting the Unicode web site.
There is no real limit on the number of letters that Unicode can define and in fact they have gone beyond 65,536 so not every unicode letter can really be squeezed into two bytes, but that was a myth anyway.
OK, so say we have a string:
Hello
which, in Unicode, corresponds to these five code points:
U+0048 U+0065 U+006C U+006C U+006F.
Just a bunch of code points. Numbers, really. We haven’t yet said anything about how to store this in memory or represent it in an email message.
Encodings
That’s where encodings come in.
The earliest idea for Unicode encoding, which led to the myth about the two bytes, was, hey, let’s just store those numbers in two bytes each. So Hello becomes
00 48 00 65 00 6C 00 6C 00 6F
Right? Not so fast! Couldn’t it also be:
48 00 65 00 6C 00 6C 00 6F 00 ?
Well, technically, yes, I do believe it could, and, in fact, early implementors wanted to be able to store their Unicode code points in high-endian or low-endian mode, whichever their particular CPU was fastest at, and lo, it was evening and it was morning and there were already two ways to store Unicode. So the people were forced to come up with the bizarre convention of storing a FE FF at the beginning of every Unicode string; this is called a Unicode Byte Order Mark and if you are swapping your high and low bytes it will look like a FF FE and the person reading your string will know that they have to swap every other byte. Phew. Not every Unicode string in the wild has a byte order mark at the beginning.
For a while it seemed like that might be good enough, but programmers were complaining. “Look at all those zeros!” they said, since they were Americans and they were looking at English text which rarely used code points above U+00FF. Also they were liberal hippies in California who wanted to conserve (sneer). If they were Texans they wouldn’t have minded guzzling twice the number of bytes. But those Californian wimps couldn’t bear the idea of doubling the amount of storage it took for strings, and anyway, there were already all these doggone documents out there using various ANSI and DBCS character sets and who’s going to convert them all? Moi? For this reason alone most people decided to ignore Unicode for several years and in the meantime things got worse.
Thus was invented the brilliant concept of UTF-8. UTF-8 was another system for storing your string of Unicode code points, those magic U+ numbers, in memory using 8 bit bytes. In UTF-8, every code point from 0-127 is stored in a single byte. Only code points 128 and above are stored using 2, 3, in fact, up to 6 bytes.
This has the neat side effect that English text looks exactly the same in UTF-8 as it did in ASCII, so Americans don’t even notice anything wrong. Only the rest of the world has to jump through hoops. Specifically, Hello, which was U+0048 U+0065 U+006C U+006C U+006F, will be stored as 48 65 6C 6C 6F, which, behold! is the same as it was stored in ASCII, and ANSI, and every OEM character set on the planet. Now, if you are so bold as to use accented letters or Greek letters or Klingon letters, you’ll have to use several bytes to store a single code point, but the Americans will never notice. (UTF-8 also has the nice property that ignorant old string-processing code that wants to use a single 0 byte as the null-terminator will not truncate strings).
So far I’ve told you three ways of encoding Unicode. The traditional store-it-in-two-byte methods are called UCS-2 (because it has two bytes) or UTF-16 (because it has 16 bits), and you still have to figure out if it’s high-endian UCS-2 or low-endian UCS-2. And there’s the popular new UTF-8 standard which has the nice property of also working respectably if you have the happy coincidence of English text and braindead programs that are completely unaware that there is anything other than ASCII.
There are actually a bunch of other ways of encoding Unicode. There’s something called UTF-7, which is a lot like UTF-8 but guarantees that the high bit will always be zero, so that if you have to pass Unicode through some kind of draconian police-state email system that thinks 7 bits are quite enough, thank you it can still squeeze through unscathed. There’s UCS-4, which stores each code point in 4 bytes, which has the nice property that every single code point can be stored in the same number of bytes, but, golly, even the Texans wouldn’t be so bold as to waste that much memory.
And in fact now that you’re thinking of things in terms of platonic ideal letters which are represented by Unicode code points, those unicode code points can be encoded in any old-school encoding scheme, too! For example, you could encode the Unicode string for Hello (U+0048 U+0065 U+006C U+006C U+006F) in ASCII, or the old OEM Greek Encoding, or the Hebrew ANSI Encoding, or any of several hundred encodings that have been invented so far, with one catch: some of the letters might not show up! If there’s no equivalent for the Unicode code point you’re trying to represent in the encoding you’re trying to represent it in, you usually get a little question mark: ? or, if you’re reallygood, a box. Which did you get? -> �
There are hundreds of traditional encodings which can only store somecode points correctly and change all the other code points into question marks. Some popular encodings of English text are Windows-1252 (the Windows 9x standard for Western European languages) and ISO-8859-1, aka Latin-1 (also useful for any Western European language). But try to store Russian or Hebrew letters in these encodings and you get a bunch of question marks. UTF 7, 8, 16, and 32 all have the nice property of being able to store any code point correctly.
The Single Most Important Fact About Encodings
If you completely forget everything I just explained, please remember one extremely important fact. It does not make sense to have a string without knowing what encoding it uses. You can no longer stick your head in the sand and pretend that “plain” text is ASCII.
There Ain’t No Such Thing As Plain Text.
If you have a string, in memory, in a file, or in an email message, you have to know what encoding it is in or you cannot interpret it or display it to users correctly.
Almost every stupid “my website looks like gibberish” or “she can’t read my emails when I use accents” problem comes down to one naive programmer who didn’t understand the simple fact that if you don’t tell me whether a particular string is encoded using UTF-8 or ASCII or ISO 8859-1 (Latin 1) or Windows 1252 (Western European), you simply cannot display it correctly or even figure out where it ends. There are over a hundred encodings and above code point 127, all bets are off.
How do we preserve this information about what encoding a string uses? Well, there are standard ways to do this. For an email message, you are expected to have a string in the header of the form
Content-Type: text/plain; charset="UTF-8"
For a web page, the original idea was that the web server would return a similar Content-Type http header along with the web page itself — not in the HTML itself, but as one of the response headers that are sent before the HTML page.
This causes problems. Suppose you have a big web server with lots of sites and hundreds of pages contributed by lots of people in lots of different languages and all using whatever encoding their copy of Microsoft FrontPage saw fit to generate. The web server itself wouldn’t really know what encoding each file was written in, so it couldn’t send the Content-Type header.
It would be convenient if you could put the Content-Type of the HTML file right in the HTML file itself, using some kind of special tag. Of course this drove purists crazy… how can you read the HTML file until you know what encoding it’s in?! Luckily, almost every encoding in common use does the same thing with characters between 32 and 127, so you can always get this far on the HTML page without starting to use funny letters:
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
But that meta tag really has to be the very first thing in the <head> section because as soon as the web browser sees this tag it’s going to stop parsing the page and start over after reinterpreting the whole page using the encoding you specified.
What do web browsers do if they don’t find any Content-Type, either in the http headers or the meta tag? Internet Explorer actually does something quite interesting: it tries to guess, based on the frequency in which various bytes appear in typical text in typical encodings of various languages, what language and encoding was used. Because the various old 8 bit code pages tended to put their national letters in different ranges between 128 and 255, and because every human language has a different characteristic histogram of letter usage, this actually has a chance of working. It’s truly weird, but it does seem to work often enough that naïve web-page writers who never knew they needed a Content-Type header look at their page in a web browser and it looks ok, until one day, they write something that doesn’t exactly conform to the letter-frequency-distribution of their native language, and Internet Explorer decides it’s Korean and displays it thusly, proving, I think, the point that Postel’s Law about being “conservative in what you emit and liberal in what you accept” is quite frankly not a good engineering principle. Anyway, what does the poor reader of this website, which was written in Bulgarian but appears to be Korean (and not even cohesive Korean), do? He uses the View | Encoding menu and tries a bunch of different encodings (there are at least a dozen for Eastern European languages) until the picture comes in clearer. If he knew to do that, which most people don’t.
For the latest version of CityDesk, the web site management software published by my company, we decided to do everything internally in UCS-2 (two byte) Unicode, which is what Visual Basic, COM, and Windows NT/2000/XP use as their native string type. In C++ code we just declare strings as wchar_t (“wide char”) instead of char and use the wcs functions instead of the str functions (for example wcscat and wcslen instead of strcat and strlen). To create a literal UCS-2 string in C code you just put an L before it as so: L"Hello".
When CityDesk publishes the web page, it converts it to UTF-8 encoding, which has been well supported by web browsers for many years. That’s the way all 29 language versions of Joel on Software are encoded and I have not yet heard a single person who has had any trouble viewing them.
This article is getting rather long, and I can’t possibly cover everything there is to know about character encodings and Unicode, but I hope that if you’ve read this far, you know enough to go back to programming, using antibiotics instead of leeches and spells, a task to which I will leave you now.
0 notes