#bash arrays
Explore tagged Tumblr posts
loz-the-noob · 3 months ago
Text
Tumblr media Tumblr media Tumblr media
I encountered the most unexpected new friend on a walk yesterday! I’ve actually wanted a Lollie Lamb for ages, but I never expected to find one in the wild! Meet Pip.
Astrid was already out with me and took it upon herself to be as much of a (friendly) nuisance to them as possible.
Tumblr media Tumblr media
19 notes · View notes
myc3l1uhm · 3 months ago
Text
'i'm fiddleford mcgucketing so hard rn' i say to myself while pulling an all nighter to bug fix the night before a build review, like a normal well-adjusted person
7 notes · View notes
snzical · 1 year ago
Text
this project is easy as fuck actually (a finger on the monkeys paw curls)
4 notes · View notes
eggonthemoon · 21 days ago
Text
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
Is it bad that this made me kind of excited to see?
Because I feel like this really validated what I've been thinking all along.
Mizisua is not healthy.
It's not abusive either.
The children are not okay, none of them are. Even the illusion of a happy life in Anakt Garden is not enough to cover the cracks.
Tumblr media Tumblr media
People might believe Mizi had it good, that she was lucky to be able to live her life in captivity in blissful ignorance. But that's not the case at all.
Tumblr media
(Interesting detail is that despite looking bashful and shy, his collar is red. Its a red flag for sure but its vague and could mean an array of things, so I don't blame Mizi for not noticing)
Tumblr media
We see how her naivete puts her in danger. When the unnamed boy (who I need to see dead asap) makes an advance on Mizi, she rejects him bluntly not knowing the violence he is capable of.
Tumblr media Tumblr media
I believe this was Mizi's first look into how truly horrible the reality of her life is. But she couldn't understand, she didn't know why she got hurt or what she did wrong.
AND she did nothing wrong! She called out the boy's sleazy behaviour for what it was...
Gross.
In her perfect world he would simply apologise and leave her be. But the world is not perfect and her being honest only provoked him.
Its telling that her reaction to what happened to her was to run back to Sua.
Sua is godly, Sua is pure and perfect, she would never hurt her.
And yet she parroted the boy's words back at her
"Must be nice~"
Tumblr media Tumblr media
It shows as much as Sua loves and reveres Mizi, she still resents her for their different upbringings. Sua is not immune to envy or jealousy and she is deeply envious of Mizi's ability to see the world as a child would.
A good happy place where people strive to be good and kind to each other.
There is so much more in this comic that I could go into.
Mizi's survivors guilt, the way the boy's words came back to haunt her, convincing her she used the people she loved. There is so much to unpack and I'm so excited to see how it plays out in the next episode.
2K notes · View notes
ryanvgates · 2 years ago
Text
Bash query json
Problem You want to know all of the applications that your team supports across environments. You are working with an api and it gives you a distinct list of all the apps across all environments. This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode…
Tumblr media
View On WordPress
0 notes
relto · 2 years ago
Text
nothing like thinking of a solution only to be thwarted by a weird quirk of the programming language
1 note · View note
sonarspace · 1 year ago
Text
snip, snip, snip
Tumblr media
synopsis: giving a trim to your boyfriend turns into something more. wc: 2.7k pairings: choso x reader. geto x reader. nanami x reader. content: MDNI. smut (unprotected sex, cowgirl (choso), bow pose (geto), oral - fem!receiving, fingering, creampie, messy kisses) just lots of nsfw 😭 + not proofread as usual a/n: missed y’all!! have no idea what i wrote but i hope you enjoy reading this as much as i enjoyed writing it.
𓇼 ⋆. 𓆝⋆. 𓇼 ˚。𓆉 ⋆𓇼 ⋆. 𓆝⋆. 𓇼 ˚。𓆉 ⋆𓇼 ⋆. 𓆝⋆. 𓇼 ˚。𓆉 ⋆𓇼 ⋆. 𓆝⋆. 𓇼 ˚。𓆉 ⋆𓇼 ⋆. choso kamo
"oww… fuck” you hear choso cuss from the bedroom. “are you okay?” you check in from the bathroom just having finished your night time routine. he walks in rubbing his eye, a tiny pout playin on his lips “i think there’s something in my eye, it hurts,” he whines.
“let me see,” you say. he bends down and moves closer to your face. you notice the whites of his eye are turned a shade of light red, probably from all the rubbing he’s been doing. he hisses as you spot a short strand of hair in his lower lid and pull it out. “it’s hair,” you place it in his palm. “probably from your bangs,” you add on. his pout grows and he stares at the strand in silence for a minute before he asks “can you cut them?”
he sits on a stool in front of the mirror, a bashful smile on his lips. you place a cloth on the floor to catch the hair and wrap another around his neck.
you quickly brush his hair and separate the bangs. he grabs your waist and pulls you in closer when you start cutting his bangs. distracted by the night gown under your robe he starts squirming to get a closer look.
“choso!” you yelp when you feel him kiss over your clothed boob. “sorry,” he bashes his eyelashes at you. “sit still or i’ll mess up” you scold him.
he scoffs in return. you reach up to snip a few stray strands of hair that are in front of his face, and align them with a cute pout of concentration on your face. his eyes remain fixed on you, silently observing your every move, while his heart is filled with an array of intense emotions that overwhelm him. his grip on your waist tightens.
your eyes slowly shift from his freshly trimmed bangs to meet his gaze and a gentle smile curves up the corner of your lips. he pulls you closer — his hand deftly undoes the knot on your robe.
the fabric falls open, revealing a blue silk slip with lace detail covering your cleavage and his breath hitches. your heart begins to race at the anticipation of his next move.
"choso.." you feel his hand inch higher under your slip. you squeeze his shoulders when his finger trace your flimsy panties — a light sheen of your need coats his finger. you unwrap the cloth from around his neck, and he quickly stands up. he taps the back of your thighs, signaling you to jump into his arms.
he walks over to the bed and sits down with you on top. “fuck me,” he whispers as his lips brush over yours. your slip’s moved up and bunched around your thighs as you start grinding on his hardening cock.
he hums into the kiss — satisfied by the little bit of friction. you move a hand to in his hair, tugging at the strands to stop his movements.
he pulls back with a grin. you kiss a path from his jaw down to his neck and suck at the flesh on his throat. he lets out a deep groan as you wrap a hand around his throat and push him to lie down on his back.
you quickly push down his pants and his dick springs out and hits his abdomen. his tip’s a little red with pre-cum leaking. you rub the pre cum up and down his dick — prepping it to be inside you.
his breathing grows erratic and he tries to keep his moans quiet. you lace your fingers with his, near his head and he turns to give it a sweet peck. you both gasp in unison as you slide down his slicked length. his other grips your waist tighter — probably leaving a bruise.
your wetness makes it easy to move up and down his cock. “you can be loud baby,” you groan breathlessly and he immediately lets out a whine as if he was waiting for your permission.
at this angle his cock was hitting all the right spots in you. he wraps a hand around your throat and pulls you down for a messy kiss. his tongue laps at yours and he sucks at your bottom lip before finally letting you go.
he pulls down the straps of your slip still shielding your boobs from his lustful eyes. he gulps at the view from below. silently thanking whatever higher power led you to him and allowed him to experience this moment of utter bliss and pleasure.
you place your hands on his chest and pick up the pace. pussy clamping down on his cock – creating a circle of white around his length.
he notices you slow down as your thighs burn from the movement. “come on, baby. don’t stop now,” he urges you. his hips buck up into yours and you moan in surprise “ahh fuck”. his hands move under your ass to help you keep going.
your head falls into his neck as he keeps fucking into you from underneath. “i’m close” he pants. you bite his shoulder as your orgasm rushes through you, too blissed out to warn him but he notices anyway. his hand moves from under your ass to rubbing your back. soothing you from your high.
and he comes right after with a loud moan of your name. you hum satisfied at the feeling of his cum filling you completely.
suguru geto
he’s sitting on a stool facing the bathroom mirror as you stand behind him, trimming the ends of his hair.
and when you finally move in front of him to cut his front pieces, he keeps trying to put his hand under your shirt. you smack his hand away and he sits there with a pout and you immediately feel bad.
“sorry,” you say meekly. he doesn’t respond instead he looks down at his lap. “suguru,” you call out to him but he ignores you.
“suguru,” you try again but he doesn’t reply. you sigh and continue your task. you move behind him once you’re done and he smiles at you through the mirror, “thank you for the haircut, baby”.
a little confused at the change in his mood, you lean down to give him a quick peck when he looks up at you expectantly. his tongue pokes out and traces your lips and over your chin. you giggle when his tongue moves towards the underside of your jaw. you walk back to the bedroom and he shrugs off the hair and follows you. he spreads your legs and lays atop you. his tongue meshes with yours and your boobs buck up into his chest. he smiles against your lips, pulling back to admire your sprawled out figure.
he bunches up your shirt and places it in your mouth. "can you stay like this for me?" he asks in a hushed tone. you nod and he laughs under his breath as he hears a muffled yes. he places kisses over the expanse of your body and moves between your legs.
he holds eye contact as he pushes your panties to the side. you shudder when he spreads your lips and inserts a finger in you. his gaze moves down to your hole sucking him in desperately.
he leans to peck your clit once and then twice. his lips wrap around your clit, sucking it in slowly as he inserts a second finger into your needy cunt.
one second you’re whining at the way his mouth is making you feel and then before you can register the retraction of his mouth and fingers, you yelp a surprised whimper when you feel his hand come down at the flesh of your ass.
as you come down from the shock of the slap on your ass, you realize that he’s got you laying on your stomach.
you guess you should’ve known smacking his hand away earlier would have its consequences. however you didn’t mind this. his hand rubs soothingly at the reddened skin of your ass before another smack resounds throughout the room and you groan in slight pleasure.
“you like that, huh?” a lilt to his voice. “harder,” you mumble into the sheets. and he abides with your request. after all he’s gotta give you, whatever you ask for.
after two more hard spanks he moves over your legs. his hands rub at the flesh of your ass while he lines himself up with your hole. he rubs his cock head at your glistening pussy before he pushes in.
you gasp when you feel his hands pushing your legs up to hold himself steady as he starts fucking into you from behind. he keeps up a fast and hard pace that has your brain turning into mush. he gently puts your legs back down and you whimper at the mix of pleasure and pain you feel from having your legs up for so long.
he grabs your hips and slides a pillow under your stomach. you peek over your shoulder to catch a glimpse of him. his chest covered in a sheen of sweat and his breathing hard . you reach a hand behind which he immediately intertwines with his own.
he leans down on top of you, his weight heavy and comforting as he slows down the pace of his thrusts. your hair’s sticking to your face and your lip’s parted with drool slipping out of the side of your mouth. he chuckles at your fucked out state and gives you a quick peck.
he shifts his weight onto his other hand as he moves your joint fingers under your stomach and picks you up so you’re hovering over the sheets. “close sugu- ah” you moan as the angle has the head of his cock pressing against your g-spot. he kisses you deeply – tangling tongues together. you lull your tongue out every so slightly and he takes it as his cue to suck on it.
your tongue between his lips as he bobs his head and his thrusts have you turning into a blubbering mess of hmph’s and oh’s.
“go ahead and come for me, pretty girl”. he groans lowly in your ear. a rush of pleasure washes over you and you slump forward in his grip. he lets you lay back down on your stomach. he slows down his pace even more so you can ride out your high comfortably.
finally he pulls out and you turn around to lay on your back. his head falls back as he pumps his cock a few times and releases over your abdomen with a loud moan of your name.
kento nanami
you grow tired after hearing nanami complain several times about his recent grown out beard. “they gave me a weird look,” he huffs. “do you think it makes me look weird?” he asks you seriously.
“i think it looks sexy. but if you want i can make it lighter for you.” you offer and he nods promptly.
so now you’re sitting on the bathroom counter with nanami between your legs and his arms placed on either side of you.
he hands you the trimmer with a shorter guard, allowing you to trim most of his beard but still maintain some facial hair. you turn on the trimmer and start from his ears and work your way down with a gentle but firm pressure. with unwavering focus, you move the trimmer under his nose, over the corners of his mouth and under his chin as the hair falls to the floor.
he keeps his eyes on you the entire time. the way you squint your eyes to focus better. the way your face muscles tense when you reach higher. your lips parting slightly when you move the trimmer under his nose. his heart fills with love at seeing you do this for him with so much care and attention.
you finish it off with a clean edge and pull away to grab a razor. you get back to work and apply a lather of shaving cream and remove any hair you couldn’t get with the trimmer. you pull back and admire your handy work, “how does it look?” you ask him with a sweet grin.
in return he kisses you. you squeal as the shaving cream covers your face. you both laugh as you help each other wash off the shaving cream.
you wipe your face and then his with a towel and he feels overwhelmed with the love he has for you. he wraps your legs around his waist and carries you back to bed.
he flops you down on the bed and wastes no time in ridding you off your clothes. he quickly moves between your legs and slides off your shorts. he sees the confusion on your face and grins “gotta reward my sweet doll for such a good job, don’t i?”
he pulls your legs over his shoulders and gets to work. you gasp when you feel his freshly trimmed beard between your legs. he starts by tracing your outer labia with his tongue and moving to your inner labia. his tongue pokes under your clitoral hood and then presses over your clit.
your hole still untouched. he teases his tongue around it until he hears you whine “kento, please”. he dips his tongue in and you’re almost instantly clenching around his tongue. “oh, she’s needy today,” he speaks to your pussy in a hoarse tone.
he replaces his tongue by inserting two fingers into you. plunging in and out, curving slightly to push against that spot. his tongue moves over your clit in languid teasing licks, making you squirm and tighten your grip on his hair.
“stay still sweetheart,” he tuts at you. having had enough of his teasing, you tighten your legs around his shoulders and pull his head further into your cunt.
with a grip on his hair, you start grinding against his face bringing yourself closer to your high. he removes his fingers from your cunt and dips his tongue once more. excited to have you clenching his tongue as you cum.
“ahh ken, fuck i’m so close,” you mewl indirectly asking him to help you. his thumb alternates between rubbing circles and flicking your nub. soon you cum with a scream of his name. almost suffocating him between your legs, but he doesn’t mind.
he continues lapping at your cunt as you come down from your orgasm. you shudder as his tongue moves over your sensitive nub once more. he sucks your clit into his mouth, on a mission to make you cum again.
your hips grind against him involuntarily but this time he holds you down with a bruising grip. his head bobs as he continues sucking and lapping at your clit.
he holds your gaze as your expression changes to tethering the edge of overstimulation. his favorite view. his free hand moves over to your boobs – massaging and teasing your nipples.
you grab his hand move it higher and up to your lips. he squeezes your cheek once and then you’re poking out your tongue and licking his palm. you hold his hand steady and suck in the two fingers that were in your cunt earlier.
you hum around his fingers and try to match the pace of his tongue on your clit. you look into his eyes, ignoring your gag reflex and push his fingers further into your mouth — you decided to add a third finger.
nanami pulls away and bites your inner thigh as he grinds into the bed trying to get some relief. oh how he wishes you were sucking his cock instead. he plunges his tongue into your hole again and moans at the thought – making your hole spasm around his tongue.
unable to contain himself, nanami, continues bucking his hips into the bed as you keep sucking his fingers greedily.
your second orgasm washes over you and you almost bite down on his fingers at the blissful pleasure. as if on cue he creams his pants and groans into your thigh.
“can’t believe you’ve made me cream my pants more than once,” he chuckles from his place on your sprawled out thigh. he peppers kisses as he moves up your body, purposefully rubbing his freshly trimmed beard causing you to giggle sweetly. he grabs your face and gives you a bruising but loving kiss.
𓇼 ⋆. 𓆝⋆. 𓇼 ˚。𓆉 ⋆𓇼 ⋆. 𓆝⋆. 𓇼 ˚。𓆉 ⋆𓇼 ⋆. 𓆝⋆. 𓇼 ˚。𓆉 ⋆𓇼 ⋆. 𓆝⋆. 𓇼 ˚。𓆉 ⋆𓇼 ⋆.
a/n: reblogs, likes, and comments are highly appreciated!
© SONARSPACE 2023 | DO NOT COPY, TRANSLATE, OR REPOST MY WORK ON OTHER PLATFORMS!
4K notes · View notes
starmocha · 8 months ago
Text
Tumblr media Tumblr media
Carrot Cake [Zayne + Son ★ 1257 words ★ Masterlist ★ Snowdrop Masterlist ★ Series Index ★ AO3] Zayne and his son are identical in appearance, personality, and mannerism, but there is one thing that baffles Zayne about his son. A/N: Needed a smile today, so I finished a wip that’s been sitting around. ❤️ Another part of my LNDS Men + Their Child series, but circling back to Zayne again. 🥹
“Well, doctor, did we forget anything else?”
Zayne looked down at the little three-year-old boy sitting in the shopping cart. The toddler’s appearance was practically identical to his father minus the hair color. The boy grinned at his father.
“Cake!”
Zayne laughed. The little boy was definitely a mini-him.
“You’re right,” Zayne said thoughtfully, “We shouldn’t forget the cake.”
The boy’s smile slowly disappeared, almost as if he remembered something very important. He furrowed his brows in contemplation, speaking softly, “But Mommy said no cakes…”
Zayne leaned down, his face in front of his son, his smile gentle with a touch of mischievousness.
“Mommy is not here. Daddy is in charge,” Zayne said, his smile widening when his son grinned again. “Now what kind of cake should we get?”
“Carrot cake!”
“Denied.”
He pinched his son’s cheek when the little boy pouted. He sighed with mock-exasperation. “I swear you and your mother are always messing with me.”
“But Daddy…carrot cakes are yummy…”
Zayne raised a brow, feeling doubtful. “Who in their right mind would think to use such an ingredient in a dessert…”
“Mommy likes carrot cakes!” the boy said suddenly, hoping this little tidbit of information could persuade his father to change his mind.
“Does she now?” Zayne smiled in amusement, seeing the boy’s earnest look. He casually resumed pushing the shopping cart through the aisle, absently looking at items after items on the shelves with faux interest.
“Yes!”
“She…or you, doctor?” Zayne paused in front of the condiment aisle and grabbed a bottle of soy sauce. As he turned to put the item into the cart, he met his son’s shy smile.
The boy looked bashful, almost embarrassed, as he answered quietly, “…both?”
Zayne laughed. “Maybe there is some truth in that conclusion,” he murmured, his next comment spoken lower and more to himself, “Your mother did eat a lot of carrots while pregnant with you…”
He continued to push the cart through the grocery store. “I don’t know, doctor, you haven’t been able to convince me why we should buy something so terrible.”
The boy frowned, his face scrunching up thoughtfully as he tried to think of a new convincing argument. He looked absolutely determined in his goal to persuade his father to change his mind about carrot cakes.
Zayne chuckled and continued to move through the aisles casually, taking his leisure time. He absently hummed along to the music playing overhead, occasionally sneaking glances at the quiet toddler. He could see his son was still thinking deeply, his only objective was his pursuit of the elusive carrot cake his father was denying him.
“Ah,” Zayne said suddenly, “Tofu is on sale. We can make mapo tofu tomorrow night for dinner.”
Zayne peeked at his son, still not hearing a response. He picked up two containers of silken tofu and placed them into the cart. He pinched his son’s cheek again. “Are you upset with Daddy now?”
The boy pouted. “…No…”
“That did not sound convincing.” Zayne leaned his face down closer again. “We can get a chocolate cake, a castella cake, strawberry, tiramisu…”
“…Carrot cake…”
Zayne playfully pretended he didn’t hear, and pushed the shopping cart through to the bakery department.
“We should get some sandwich bread for breakfast tomorrow,” Zayne said thoughtfully aloud as he examined the array of choices. “We still have that jar of raspberry jam you like…”
Zayne’s words fell on deaf ears. The little boy gasped, his green-yellow eyes catching sight of the cake display. He immediately zeroed in on the two-tiered carrot cakes. He reached out for his father, tapping Zayne’s hand impatiently.
“Daddy, Daddy, the cake, the cake!”
“Hmm?” Zayne continued to feign ignorance. “Oh, right, Mommy did ask us to pick up some steaks.”
He pushed the cart away, heading to the meat department. The little boy’s mouth hung wide open in shock as they walked further and further away from the bakery department. He looked up at his father, lips quivering, but Zayne continued to keep his sight ahead. The toddler slowly lowered his head, disappointed.
“Daddy…”
“Hmm?”
Zayne looked down, seeing his son was sulking. He smiled softly. “Do you want Daddy to hold you?”
The boy nodded and raised his arms up eagerly. Zayne chuckled. “Alright, alright, I will,” he said as he reached down to unbuckle the seatbelt. He lifted the boy out of his seat, and smiled as his son clung to him. He rubbed the toddler’s head gently. “Let’s hurry and finish shopping. Mommy’s waiting for these ingredients to make dinner.”
Zayne resumed shopping, one arm was carrying his son while his free hand pushed the cart and grabbed items from the shelves. When he was close to being done, he noticed his son had fallen asleep with his head resting on Zayne’s shoulder and his small fingers unconsciously rubbing at the material of his father’s coat. Smiling, Zayne, walked back over to the bakery department. He quietly motioned to the employee, pointing at the cake in the display.
He smiled gratefully as the employee handed him a small cakebox. He quickly finished shopping, paid for everything, and put them away in his car trunk.
Once he had returned the shopping cart to the store, he returned to his car, opening the back door and gently set his sleeping son in his car seat. As he buckled the toddler into his seat, Zayne quietly tapped his son’s shoulder.
“Wake up, sleepy head,” Zayne said softly, smiling at the little boy’s bleary eyes.
“Home?”
Zayne chuckled and shook his head. “Not yet,” he answered. He settled into the backseat and sat next to the child. The boy looked up confused.
“We can’t let Mommy know, alright?” Zayne said, pulling out a small cake box from a paper bag, his smile widening at his son’s bright eyes. “Our little secret, got it?”
The boy nodded eagerly. He gasped quietly when his father revealed the inside of the cake box. “Carrot cake!”
Zayne sighed in baffled amusement. “You look completely like me, but this…quirk…of yours…” He reached in and pulled out a small carrot cupcake, handing it to his son. He grabbed the other cupcake—a chai latte—and held the confection next to his son’s. They tapped the cupcakes together.
“Cheers!” both father and son said simultaneously.
The boy giggled and happily bit into his soft, sweet cupcake. Zayne smiled fondly, pleased to see his son’s smile again.
“You know, eating too many carrots will turn you orange,” Zayne warned teasingly.
“Like Windy Carrot?” the boy asked curiously, eyes growing wide.
“Almost,” Zayne said, laughing.
“Daddy?”
“Hmm?”
“…Will you still love me if I turn into a carrot?”
Zayne laughed again. He leaned down, nuzzling his face against his son’s before kissing his cheek. “I will never stop loving you…even if you were a carrot.”
The boy giggled again and turned to kiss his father’s cheek in return.
“I am certain you will be the only carrot I love,” Zayne added as he wiped the cream cheese frosting off his son’s mouth with his thumb. “Can’t leave behind any evidence, remember?”
The boy took the last bite of his cupcake, showing his hands to his father with a wide smile. “All gone! No evidence!”
Zayne finished his own cupcake, laughing. “All gone,” he repeated, “Our little secret from Mommy.”
The boy motioned with his finger over his mouth, shushing quietly. “Secret!”
“Good boy,” Zayne said, kissing the top of his son’s head. “Now let’s get home and help Mommy with dinner.”
1K notes · View notes
nerdygirlramblings · 4 months ago
Text
Ren's adventures continue
a/n: the family pack is back!
previous
"How's training going, honey? They're not pushing you too hard?" Mum asks.
Before you can answer, Mama cuts in. "Of course they're training her hard. This is an elite group of soldiers. Only the best of the best to serve Queen and country." She looks at you with a gleam in her eyes. "Isn't that right, baby?"
Dad rolls his eyes at their antics. It's clear they're all crammed into the nest where Dad's been since the doctor seconded your moms' idea for him to be on bed rest. Seeing them together, knowing Dad's due in a few weeks, it makes you miss them all so much more. Just as Mum and Mama start debating the merits of your service, again, Dad says, "You look good, sweetheart. Happy."
They see your unconscious smile. You haven't spoken to them much since you joined the task force, too tired most nights for anything more than a few texts, but you had a light day and wanted to check on how Dad was doing with the litter. Now you have a captive audience and weeks of stories to share.
You mention how well you fight hand-to-hand, joking how an old schoolyard bully "wouldn't be able to lay a finger on me now." To prove it, you send them a quick video Gaz took of you getting Ghost on his back a few days ago. "That's my Leftenant. He's an 18 stone alpha!" They watch the video, and you track their reactions: Mum's saucer-wide eyes, hand over her mouth; Dad wincing at the thwump of Ghost's back hitting the mat; Mama's nearly-manic grin.
You leave out how quickly he flipped you and got the upper hand.
The video is followed by pictures Soap took on the shooting range, several weapons artfully arrayed around targets with groupings so tight there are fist-sized holes in some. "They're training me on some of the sniper rifles, Mum, so I'd be watching their backs instead of breeching the building." You see the slightest drop of her shoulders as she exhales and know she'll hold tight to that kernel of hope for your safety.
You're most excited to tell them about the records you've set. "And Captain Price was the one who put my name forward. Kept me an' my secondary gender out of it entirely, jus' my call sign-"
"Your call sign?" Mum says. "What's that?"
"It's like a nickname. 'S what th' other soldiers call ya. Mostly based on the dumb shit-"
"Language, young lady," Mum says sharply.
"Sorry, Mum," you mumble, heat flaring along your neck at being scolded.
"Leave the girl be," Mama says. "She's an adult and can use whatever language she wants. Let her finish her story."
You smile gratefully and mouth thank you when Mum glances away towards some sound in the house. "So call signs are usually something you have to learn to deal with because it's a constant reminder of how you screwed up. But not always. An' the guys call me Ren because I'm good at lots of things."
"A modern Renaissance Man, er Woman, huh," Dad comments.
"That's what Captain Price said." You look at your dad and blurt out, "I think you'd like the Captain, Dad. He reminds me a lot of you and Mama."
"So about those records?" Mama asks, redirecting your focus again.
You glance at your parents then dart your gaze briefly down, bashful about bragging. "It seems I set a few base records on the shooting range and with my speed. An', like I said, they're up with my call sign, so no one really knows their mine, but that's not the point."
Dad takes the bait you don't realize you left. "Then what is the point, sweetheart?" he asks quietly.
There's no mistaking the pride in your voice and the joy in your eyes when you tell him, "They make me feel like I belong."
He smiles indulgently, and a loaded glance passes between your moms. The conversation continues a few more minutes, and you get the feeling your parents want to tell you something but don't. As you say your goodnights, you tell them you'll speak to Price about getting a few days of leave when the new litter comes. The call leaves you feeling both lighter and sadder, though you can't articulate the reasons for the second.
After the call to your parents, you start spending more time in the 141 barracks. The call home made you miss being part of something, and when you spend your down time with your team, the ache inside feels less raw, the hurt less sharp.
The easy camaraderie of the gym and mess becomes an uncomplicated cohabitation of video games and movies and parallel quiet time. One night you find yourself reading on one end of the couch in the barracks' rec room while Soap sketches. A tremor runs through you; the team keeps these rooms far colder than you're comfortable with, and you don't have an extra jumper today. Soap catches you rubbing your hands together and gets off the couch, heading to a small footlocker in the corner. You track his movements as he lifts the lid and pulls out a standard issue olive green jersey. He doesn't pull it on as you expect but drops it in your lap as he returns to his seat. "Nae point in bein' cold, Ren," he says with a smile.
You return the smile gratefully. "Thank you," you reply, pulling the jersey overhead. As you sink into its warmth, you take a deep inhale, breathing in the scent of sunshine and fresh cotton. You appreciate the smell of clean laundry. It's far more pleasant than the mothballs you were expecting.
You glance at Soap, surprised to see unbridled joy on his face. "Everything okay?"
He nods quickly. "Yeah, Ren. I'm aces."
You continue sitting in shared silence until the others come in from whatever they were doing. All three men pull up short at the sight of you and Soap on the couch. Looking between them, you worry you did something wrong despite having spent the last few nights with them until heading to bed in your barracks. "Er, what's wrong?"
Price quickly shakes his head as if clearing out cobwebs. "Nothin's wrong, Ren. Just a little surprised is all. Didn't think you-"
"The lass was cold, Cap'n," Soap blurted suddenly. "Figured if the jersey wasnae 'nuf tae warm 'er, Ah'd show 'er where the blankets are."
Price nods absently. "Right. The blankets." He takes one more long look at you, gaze assessing. "Well, glad you aren't cold, then."
The solitude you and Soap shared sits uneasily now with the others around. Something's shifted. You can smell it, like a bite of cold air preceding a storm. You try brushing off the unease, but you can't ignore it. It becomes nearly oppressive by the time you head to your barracks, waving goodnight to the team.
Once the door shuts behind you, Price gapes at Soap. "What were you thinking, giving her Gaz's jersey without telling her?" His tone is angry, but it's betrayed by the concern in his eyes as he looks at the beta.
"She was cold," Soap says simply.
"Yeah, but, one of my jerseys when you could have grabbed the blanket?" Gaz wasn't angry about you walking out with the jersey. He seemed nervous.
Price points at Gaz. "Yes, that!" He runs a hand down his face. "Giving Ren Gaz's jersey when we haven't broached courting 'er could backfire spectacularly."
"Ye were nae here, Cap. Took a big 'ole lungful a' 'is scent and held it. Wouldn't be surprised if she wears it tomorrow night." He looked from Price to Gaz and finally to Ghost, who met his pleading look with a hard reproach.
"It was a bold move, pup. Don't do it again without us all talking first." He voices everyone's shared desire. "We want 'er as pack, as ours. But she's smart, and she's wary, even of us when it comes to being our omega."
Price picks up the thought and says, "If we want this, and want to do it right, we need a plan."
next
series masterlist | main masterlist
~~
taglist: @sirbonesly @z-wantstowrite @thriving-n-jiving @cecelia97 @theycallmevale @boogeysmoth
542 notes · View notes
cybermindz · 5 months ago
Text
Tumblr media Tumblr media
. ۫ ꣑ৎ contains. nsfw, explicit : fem!reader, oral (fem receiving), praise ♡, light smacking, pússydrunk! sugu ♡, manhandling (?), usage of petnames (baby, pretty, sweet girl), wc : 800+
Tumblr media
suguru’s eyes are intense and he damn well knows it too. acutely aware of how they affect you, especially when he’s busying himself in between your legs much like now, lapping at your soaked cunt. his violet irises ogling, studying each face twisting reaction he can pull from you, how you can't help but shy away, unable to watch as he’s working you over to reach that sweet obliterating bliss.
he uses it to his advantage every time when your head lolls back against the plush pillow — quick to have one heavy hand on your inner thigh to keep you from shutting your legs while another snakes up your body — muscled arm long enough to tug on your nape, causing you to prop up on your elbows with your head ducked down to focus on him again.
suguru’s cat-like gaze is downright feral, his eyes unflinching and unrelenting — never leaving your face. it’s vicious, so zealous and sharp that a shiver runs up your spine and he’s just smugly drinking up every drop of everything you’re displaying. devouring you completely, almost like a predator taking in his prey. to his displeasure, you instantly shut your own eyes tightly with a sense of embarrassment from the angle. the way his tongue was making your puffy pussy glisten so lewdly makes your whole body tingle with an unbearable heat.
“nuh-uh open your eyes, pretty baby,” he murmurs in that deep, honeyed voice against your clit, making you shudder as a white flash of euphoria shoots through your core from the vibrations. your cheeks are flushed — reluctant yet so completely entranced. “watch me, wanna see you looking at me.”
“suguuuu,” you shook your head desperately in his grasp with a pitiful whine. his eyes narrowed into slits at your defiant action, his grip on the back of your neck tightens just a little. it's a subtle warning, but there nonetheless — not afraid to exert his power or authority on you.
“eyes on me sweet girl,” he momentarily latches his mouth off of you to repeat himself, face now close to yours you can feel his breath fanning on your cheeks. his tone is gentle but still firm, leaving no room for argument. “don't make me ask you again, you know better. don't be silly.”
he can see how overwhelmed you’re feeling, the bashfulness radiating off of you but he's desperate for the sweet sight of you, needing to witness how far he’s managed to make you a pleasured-drunk mess. the only time he wants to see you look away is when your eyes are rolling back as you cum for him. he’ll be damned if he won't be able to take in every single little expression on your sweet face, see every bit of emotion cross through you.
as soon as you flutter your eyes back open, suguru immediately locks onto them with that same fierce, fixed stare. "theeeerre you go, good girl." the praise leaves his lips in a deep rumble, almost sounding like a purr. another low guttural “very good,” reverberates deep within suguru’s chest before he’s delving in again, your thighs trembling in response.
his ministrations would go right back to being feverish, his tongue working you thoroughly, and his fingers on the back of your nape slowly loosens into a more gentle hold, the feeling completely opposite to the way he was consuming you. to the point of it almost feeling out of place, but it works in calming you down.
he’s got you completely hostage, you’re mesmerized by it all as he continues to keep you enthralled in this intimate moment. and just to tease you, he changes the pace into a more sensual one. his mouth slowly moving at an almost torturously agonizing tempo, wanting to keep you in this overwhelming state of helpless bliss.
suguru feels like there’s sparks going off in his brain, his body feeling like it's buzzing from how good it feels. the taste of you, the array of cute sounds and expressions you're making feeds into his already insatiable hunger — wanting more and more of you. he's in absolute heaven almost drunk on having you in such a state and he can tell just how lost you are in the moment too, eyes practically glazed over and powerless — unable to formulate a single thought or look away with both his clutch and heated gawking.
practically focused on you like a laser, watching you so closely. almost waiting for the moment your eyes would close — taking in every little detail, every little movement you make. and if your eyes go half-lidded just even slightly, he always makes sure to give you a little reprimand, the sensation never failing to shock you out of your almost trancelike state — with either a well placed nip on your sensitive clit, or a sharp smack on your inner thigh.
“you get distracted so easily,” he’d say in a mocking tone, thumb softly caressing the side of your neck. “can’t focus for me huh? can’t even stay awake…you’re just so damn sensitive, baby.”
Tumblr media
© 𝐂𝐘𝐁𝐄𝐑𝐌𝐈𝐍𝐃𝐙 𝐀𝐋𝐋 𝐑𝐈𝐆𝐇𝐓𝐒 𝐑𝐄𝐒𝐄𝐑𝐕𝐄𝐃. please do not plagiarize, translate, or repost any of my works.
434 notes · View notes
kabr0ztrousers · 5 months ago
Text
Kabr0z Writes Episode 19: Four Seasons Landscaping
Find the rest of the Kabr0z Writes anthology here!
CWs: dubcon; noncon; tentacles; cumflation; plant-fucking; creampie;
A/N: Apologies if this one feels rushed. It is. Today's been remarkably busy for a Sunday so I bashed this one out quick. I left the CWs on for dubcon and noncon because fem!reader isn't into it at first, even if she gets into it pretty fast. Read at your own discretion, but this is much nicer than yesterday's
####################################
Another day, another job. You checked your docket, this sure was the address. You sighed heavily, was this another case of them giving the only woman at the firm the shitty job again, or did someone seriously see the half acre of bramble and overgrown hedges and call it "light weeding"
You may never know
First off was the perimeter hedge, where it overhung the street. Your trimmers made short work of the overhang, even if you did need the long ladder to get to the top of them. Whoever owned this plot really liked their privacy to have planted ten-foot hedges around the entire property line. You weren't sure how the neighbours felt about it, but you're only being paid for the street-side so you couldn't care less.
At least the pavement was clear now, and working inside such a private plot really limits how much randos from the street can catcall you. That's one plus, at least.
The docket specified no weedkillers, so you can't just put on a rubber suit and salt the earth with glyphosate and a cocktail of other chemicals adorned with fun-looking warning triangles. You pulled on your overalls and stocked your toolbelt with an array of trowels, secateurs, shears, forks, strimmer wire, a trusty multitool, and a pair of heavier gloves, just in case. Armed with the tools of your profession, girded in denim dungarees, safety specs, and ear defenders, you started your mechanised assault on the wilderness.
You cut your path into the tangle of weeds and vines. Foliage piled high upon itself on wither side of you as you hacked inwards. You wondered if a machete would be a better tool when you remembered: you actually have one in the van! You'd been given it as a joke when you started, but a quirk of the law let you keep it around so it lived in a cubby in the centre console. You turned to make your way back.
Your path had closed behind you. The piles of plant matter leaning on each other and blocking your way. You shrugged and revved your strimmer. Cutting out should be as easy as cutting in.
In theory.
As soon as the wire hit the brambles, it snarled up. You heard the engine struggle, then stall entirely. Damn. You couldn't pull the machine free. The secateurs came out, and you leant down to cut it out.
Big mistake.
You hadn't noticed the vines that had wrapped themselves around your ankles when you turned, and tripped, falling into a bank of thorny vines. You felt the brambles piercing your gloves and long sleeves. Your hands wouldn't pull free. Your legs were rooted to the ground. You struggled against your bonds, thorns biting deeper with every movement.
You start to panic.
Plants don't act like this.
Plants don't do this.
You felt the briars start to pull at your ankles. Plant's definitely don't do this. You called out as you watched the entrance recede from you as you were hauled over the cutting barbs, deeper into the tangle.
Nobody came.
The vines were pulling you on, you could tell you were going downhill, though the plot should be level. A sinkhole perhaps? It didn't matter, down you went. You craned your neck to look behind you. Trying to get a glimpse of where you were going. That's when you saw it.
A flower. Huge and angry pink. You were going straight towards it.
You felt the petals close around your waist. Your hands were free now, but you couldn't wriggle them between your flesh and the opening of the plant. Each ankle was being pulled a different direction, holding you spreadeagled within the plant. You felt something strange within the flower, like your clothes being moved around on you. Something was... rubbing your legs? For some reason your skin felt wet
Wait
Those overalls were waxed. Waterproof. Nothing should be getting on your skin unless... Oh shit.
Your clothes are being digested. The plant must be carnivorous, which made sense, why else would it have vines that drag you into it? It didn't hurt though, which was strange. Whatever the plant was using to so rapidly eat away at your clothing didn't seem to damage your skin, or even sting when it hit the scratches the vines were still leaving on you.
Something pushed up what was left of your trouser leg, tearing the weakened material away from you, leaving you almost completely bare inside the bell of the plant. Next came your underwear, the thin cotton didn't offer any resistance to the digestive juices daubed on it. Now those same tendrils were painting your bare crotch. You felt your cheeks flush with arousal, this plant felt pretty good. The tendrils kept going, lubricating you and running between the lips of your cunt, as though a lover tenderly licking you up and down.
Every stroke caught your clit, your hole, your ass, first one way, then the other. Your breathing was getting heavier as the rubbing edged you closer and closer. Your hands strayed to your tits, cupping and squeezing as you rolled your head back, delighting in the sensations until you reached your peak, crying out as your release simmered over you.
Another tendril was pressing against you now. This one was moving with more purpose, pressing against your pussy until it entered your well-lubricated hole. You whined as it filled you, anticipating another orgasm as it started to thrust in and out, worming around and stretching you out. The insistent thrusting and continued attentions on your clit drove you to another screaming finish before you felt a hot, thick liquid filling you up. More and more it pumped into you, your womb ached with the amount and you could feel your belly bloating, growing large and round with the sheer volume of the stuff.
As quickly as it began, it pulled away. The vines loosened from your ankles and the flower released you, leaving you to cut away the last tangled pieces of vine from you and start the slow climb out, leaking a thick golden sap from your cunt as you dragged yourself uphill.
It took you over an hour to get back up to your strimmer, which you cut out and dragged behind you as you wobbled back into the van. By some miracle, your toolbelt was still largely unharmed, and everything that was on it before was still there. Along with, tucked into one of the thick, heavy-duty gloves, the end of a vine.
You're no botanist, but you know how to propagate a plant.
481 notes · View notes
naffeclipse · 28 days ago
Text
Minnow Pt. 2
Reader x Shark!Eclipse
Content Warning for suggestive themes.
Pt. 1
———
You would think that miraculously removing a 40 ton dead whale from the beach overnight without the use of heavy equipment or even a dumping ground for the gigantic carcass would earn you a raise or even a superficial pizza party. Perhaps a simple thank you.
But no. You, as a member of the council, who is often sent to fetch coffee drinks, are rewarded with a new problem.
Walking the shoreline, you bask in the orange light of the setting sun as the horizon begins to engulf the day within an endless maw. The tourists have mostly migrated back to their condos and hotels and rented beach houses. A few stranglers shout at their children to finish packing away plastic sand toys while loading up little carts that struggle too much in the pale sand before slipping away to the packed and baking parking lots.
Left behind is a slew of trash. Soda cans, cigarette butts, food wrappers. Beginning to touch the shores along the foamy push of the tide reveal a few floating articles left carelessly by beach goers. The greatest offender are plastic bottles. Green, yellow, blue, and white containers lying ending and discarded upon the shoreline.
The council cannot have tourism dying down due to filth, regardless of who is the cause of such a mess.
That’s your reward for such an endeavor. 
You must admit that you didn’t do it yourself. You bargained with a fish-man, and the magic he spoke of was as potent as he promised. He’s kept his end of the deal. Now, you’re suppose to reward him with seven kisses. You’re down to six which you must still give the creature with a shark-like tail and wicked teeth to match.
You stand in your dark wetsuit, intending to swim off the work you’re about to accomplish. Trash bag in hand as the beach becomes a quiet solitude in the falling sunlight, you begin to pick up pieces one by one. Your bag fills to the brim, and you must tie it off and fetch another one before continuing down the small stretch of the coast. 
It is only when you finish with your task, and straighten your back to relieve the ach beginning in your spine that you hear it. A sound of the ocean, like seaspray, but haunting and beautiful. It carries in the salty tange of the air. 
A song calling for you.
You leave the bags of trash tied and secure. A twilight blooms into the soft blue wake of the sun. Stepping into the surf, your skin prickles at its cool sensation. You stride deeper into the brine until your feet leave sand and you begin a gentle stroke through the calm waves. Weightless, you swim.
Briefly, while you peer over the surface and attempt to keep the salt from stinging your eyes, you spy a sharp dorsal fin cutting through the waves. It follows you. The sight might have terrified you with the promise of bull sharks lurking close by, but the dark color and the flash of red barring down the side of the sleek body reveals the one who joins you.
You kick calmly. A tail, long and sleek and gray, flicks up briefly before disappearing down below. A slight apprehension brews in your middle.
What if he decided that seven kisses isn’t enough? Maybe he could simply attack now where no one would hear your screams.
Something moves below. You blanch. The shadow underneath you is much larger than anything your body could cast. Under the warbling blue water is a face staring up at you. Round and disk-like, Eclipse’s mouth splits into a hungry grin. His impressive array of cartilaginous fins crowning his head in red and black rays are barely visible in the deepening darkness. 
He takes you by the hips. Your breath catches when he emerges, his body rising to cradle yours upon his gray and rough flesh. Left to float upon him, you tuck your arms in close while resting against his chest. Water spills off of him in thin sheets. 
His eyes, a brilliant and burning orange, upturn in delight.
“Hello, minnow.”
You don’t understand the bashful reflex which takes hold and causes you to glance away from the intensity of his gaze. It is so bright. 
“Hi,” you say, then take a deep breath. “Do you want another kiss?”
“I do,” he purrs. He, however, continues to swim. His tail undulates and carries you towards the line where sky meets the sea. The beginning of stars speckle the navy blue darkness above before it turns void-like. 
You aren’t sure what he’s waiting for. You figure he would grab you, as he did before and as he has done now, and plant one on you. Maybe slip in his tongue again. You pretend to not turn rosy pink at the memory. 
Instead, he begins a gentle rumble. A deep purr fills his chest where you lie upon it. It soothes the aching of your body from a long day running from the community building to deliver messages to people that should have read their emails.
“Eclipse?”
“Yes?” The rumbling stops. You miss it.
“How did you get rid of the dead whale?” You turn your head to hold his gaze.
His hands rub softly along your hips, as if wishing the wetsuit wasn’t in the way. A sharp, gleaming smile takes hold of his jaws.
“I told you before, minnow. My magic makes much possible.” He lifts a hand to tuck a stray, half-wet hair from your face. His claws are careful along the skin of your temple.
You furrow your brow. Biting your tongue, you must resist the urge to ask if seven kisses are really worth it and instead square your shoulders and press slightly on his chest to present yourself.
“Okay, let’s do this.” You close your eyes. You don’t pucker your lips, but you do wait, hoping you’re not too braced—as if anticipating a pirahan to bite you rather than a kiss from a mythical fish-man.
“Why must we rush our time together?” he chuckles deeply. “You look exhausted, minnow.”
You open your eyes, half squinted, disgruntled at the insult. Yeah, maybe you are, but that’s nothing new.
“I’m not too exhausted to give you a kiss.” You’re not certain what angle he’s going for. He already has you, and you’re ready and willing. So, what gives?
“No, I can see that.” His fingertip draws down your face. Carefully, you hold yourself still while he circles the dark stains underneath your eyes. The sensation is slick with sea salt and soft. Terribly, wonderfully soft. Your eyelids flutter under his caressing. “Relax. You feel as tense as a clam about to be cracked open.”
You have no counter argument, and what would really be an argument when you’re floating on a fish-man in the wide open sea? He could grow impatient. He could realize that it’s much easier to not take kisses from a human. 
“You’re not going to drown me, right?” you ask, arching an eyebrow.
He meets you with an amused expression, his eyes glittering. 
“Do you think I'm so foolish to forsake your payments?”
You open your mouth for a false start, then stop, and try again. “I don’t know.”
He rumbles, a deep, pleasing sound that shakes the tautness of your body free. 
“You are honest,” he muses, and begins to card his slick, dark fingers down your scalp, softly digging in between strands of your hair. “Let me enlighten you.”
While his tail sways back and forth in rhythmic motions, he begins a deeper growth within his chest. It thrums against your body. You steady yourself, folding your arms over his chest while you soak in the tender caresses of his claws along your hair.
First, your eyelids begin to droop. Is it wrong to want to take a nap on a creature that could easily kill you? The quivering of your muscles begin to grow lax, and your legs drape down the sides of his powerful and dark and gray tail, and are swept into the cool wake of his swim. Barrs of red decorate him in bold, striking patterns, like the tiger sharks known to roam these waters. Your fingertips softly brush against his ribcage before catching yourself.
Next, your head begins to sink. The weight of the fish-man’s gaze never lessens, even as he now peers at you, eyes half-lidded in reflecting ease. He continues to pet you, slowly pushing you closer until your cheek rests on his wet and slippery flesh. You stiffen slightly, unsure if this is too far.
Then, you hear a heartbeat. A strong, confident drum underneath the sternum acting as your pillow. You marvel for a moment. 
He seems so real. 
The water softly splashes your sides as you begin to doze, caught under a spell so profound, you truly don’t see a reason to escape it. Drowning right now would be a small price to pay for this mere moment of peace.
Eclipse holds his hum, and it begins to grow in cadence and pitches. A lullaby you have no name for. Perhaps there are words to it, but he remains content to soothe you deeper into his embrace. At last, his hands rest upon your back and secure you against him. He continues to drift, and the world darkens until a twinkling night.
You have fallen asleep on the beach after a day of swimming. You’ve fallen asleep on your couch after telling yourself just one more episode of your favorite TV show. Falling asleep on a  creature who cradles you so carefully while he sings you to sleep is new. 
But when you open your eyes, it is still that perfect blue in between night and day, and you think you must have only drifted for a moment.
A purr grows, until Eclipse murmurs, “You must return to shore, I assume.”
You slowly push yourself up, supported by his body, as you gaze around yourself. The water is calm as it so often is early in the day, and your legs are soaked with brine. The stars overhead are beginning to fade. You ponder a moment, before regarding the fish-man.
“Is it morning?”
“It is.” He turns his burning orange eyes skyward. Then, holding your gaze, he asks, “Did you sleep well?”
You did. You hate to admit it, but your body is light and the weight that usually gathers upon your shoulders when you spend a night tossing and turning over tomorrow’s tasks are simply gone. 
“Yes,” you whisper in astonishment.
“That is good to hear, my minnow.” He purrs again, and flicks his sharp tailfins. The powerful surge carries you to shore, right before the sand gets too high. 
He stops there. You still lean against his chest, almost avoiding his gaze but not out of fright. You feel his heartbeat pick up in tempo in what you imagine is anticipation of something exciting or wonderful.
“May I have a kiss?” he asks, hungry but tender.
You swipe your tongue over your teeth. Before you can grow afraid of morning breath, you nod.
His wet hand lifts from the surf to cradle the back of your skull. He rises to meet your mouth. You close your eyes, and captured in his embrace, you taste the rich and salty wash of the waves upon his lips.
For several heartbeats, he simply holds you there against him. His mouth is wide, and the press of teeth is behind it, but he does not bite, and he does not force more than just the chasteness of two lips interlocking. He seems to savor you. He seems to inhale your scent before he gradually, reluctantly, releases you. 
“Thank you for the kiss,” he rasps.
"Yeah," you utter in a stupor, feeling as scattered as the seafoam upon the beach with the taste of him still on your lips, "No problem."
You open your eyes. He stares back, softened with adoration, before he slips you gingerly off of his tail and back into the water that rushes your skin in a harsh ‘good morning’. 
“I will call upon you again soon,” he says, swiping his tongue over his teeth, “Goodbye, minnow.”
You stand in the shallows as he twists upon his tail, and dives back into the sea. His dorsal fin remains above the surface, cutting through the blue like a knife before the glare of the rising sun upon the ocean hides him away in the waves.
Two down. Five more to go.
You stand and watch the ocean for a while. You’re going to be late to a council meeting. With great reluctance, you climb the sandy coast to retrieve the trash bags you filled last night.
There is still a problem on your hands. It does not feel like one anymore.
330 notes · View notes
crescenthistory · 8 months ago
Note
e.9 w/ regulus pls, i'm on my knees 😭
this is technically a steamy prompt, but gosh this grew real sugary sweet really fast lmao. hope you enjoy the drabble, love<3
Prompt: E.9 "Use your words, sweetheart"
Words: 1.3k
Warnings: implied smut (mdni), not proofread, loads of cursing, talks of sex, background dorlene and rosekiller, established relationship, slight implied d/s dynamic where reader is d, regulus is a Quidditch Player™ but also easy to fluster, marlene is not a quidditch player in this (blasphemy, i know), gn!reader
Note: i could make a part 2 with actual smut, but this is what came to me rn
Tumblr media Tumblr media
Perhaps your favourite part of your boyfriend is how multifaceted he is.
Because when you first met him, in all his moody brooding, repressed emotions, dry sarcasm and school-orientation, you never could have imagined how fervent Regulus Black could get about quidditch. The same Regulus who rolled his eyes painfully hard at his brother and friends's jock habits, as he referred to them as, the same Regulus who polished his Head Boy pin multiple times a day. Somehow, it was the same Regulus you saw run into a slam-hug with Barty on the field once they landed, with wild eyes and tousled hair after catching the snitch that just barely secured Slytherin’s victory against Gryffindor.
“Bloody fucking yes!” You could hear the boys’ exclamations clutter against each other in the air as they hollered their celebrations. 
A wide grin was glued onto your lips as you cheered and clapped with the crowds surrounding you in the stands. Marlene’s voice was bursting your eardrums as she cheered specifically only for Dorcas while grumbling over Gryffindor’s defeat – a complicated day for the blonde.
On the field, Regulus turned from his friends to scour through the stands before his eyes found yours and somehow he smiled wider. Your heart soared every time you saw his carefully crafted mask slip to reveal true enjoyment. His smile grew cheeky as he blew you a kiss with a flourish you knew he would never let fly so publicly had it not been for the adrenaline coursing through his veins.
“Breaking from Slytherin’s passionate celebrations, Regulus Black is taking the opportunity to show his wonderful partner some love.” Pandora’s soft voice booms through the amplification spell as she wraps up her commentary for the game. You grow bashful in your cheering, especially when Marlene elbows you with her wolfish grin, but you don’t cease your clapping – and you don’t break eye contact with Regulus as he walks backwards towards the locker rooms, only tearing away when he has to.
The team are some of the last people to enter the Slytherin common room for the rager that always follows matches with Gryffindor. This time, it was put together by a few fifth years who seemed to consider them their personal heroes – you had overseen some of the decorations just to ensure there were no pictures of Evan with hearts drawn around them, lest Barty get murderous in his partying. 
They were a sight as they walked in with their wet hair from showering and still that crackling atmosphere of sheer joy and perhaps a twinge of earned arrogance.
Dorcas is the one who announces their entrance. “We won, bitches!”
The room erupts into cheers as Marlene runs to lift her girl up, twirling her around as they giggle through kisses. You would have smiled at them in admiration for longer, had your own attention not been reserved for a certain set of black curls.
Regulus is at the very back of the group, just behind Evan who had Barty all but draped over his shoulders, a small smile seemingly etched onto his lips. You were torn between petrifying his face so it could never move from that beautiful expression, and hiding it from the world with an array of kisses. You had a feeling he was partial towards the latter. 
“Nice of you to finally show up at your own party, love,” you say cheekily, as he greets you with a murmured amour before pulling you into his arms for a tight hug.
He smells like his soap and cologne, having cleaned himself up as attentively as he always did. Maybe someday you could convince him to sit in the sweat for a bit, reeling in the victory.
“The hero who caught the snitch.” Your voice is low and teasing, only really intended for Regulus as your arms sneak around his neck.
Barty is never one to miss something though, head picking up from his huddle with a maniacal grin. “Hells yeah,” he yells, cutting through the lively chatter of the room. “Reggie, our hero!”
Everyone erupts into cheers, hoots and whistles – definitely not for the last time of the evening – as Regulus bashfully hides his face in your neck, still not broken away from your embrace. You giggle into his ear, clearly pleased with the teasing attention he receives, to which he pinches your side. When you yelp and swat at him, he comes out of his hiding with a smile that he finally presses to yours.
His kiss receives some more hollers, but they are nothing but murmurs to you as his soft lips mould to your own. You deepen the kiss, trying to get impossibly closer as your blood warms. You’re sure he can feel it emanate through your clothes pressed to his or your palms in his hair.
“Hi,” he whispers when you pull back, foreheads pressed against each other.
“Hi there, seeker. Ready to go celebrate your acts of valour?”
His eyes remain trained on your lips as you speak, which only makes your smile more teasing. He doesn’t answer you right away, holding you close by the small of your back as the party picks up around you. 
“Or did you have something else in mind, player?” You cock an eyebrow at him.
He realises you have read him like the books you bond over, and gives you a few rapid pecks to make up for it. “You know me too well,” he laughs.
“I think I know you the perfect amount.”
“Then you know the only one I want to celebrate with right now is you.” Regulus’s eyes are a beautiful mix of dark and soft as he stare at you, adrenaline seemingly ebbing out of him as he just melts into you and his prescribed lovesickness.
“Silly boy,” you whisper against his lips before giving him a slow, open-mouthed kiss where you tug his bottom lips between your own. “You already have me.”
“You know what I mean,” he all but whines back between kisses as you move to his upper lip. 
“Hm, maybe.” He recognises the glint in your eyes as you pull back to look at him. “Use your words, sweetheart.”
Almost all softness seep from his face as it takes on a hungry quality that his reserved for only when you use that tone.
“Minx,” is all he whispers before his hands slide to find yours, squeezing them as he begins to pull you through the crowd.
“Oi, Black!” Dorcas yells as she sees your figures sneak your way between people with apparent haste. “The fuck you think you’re goin’?” Just from her voice you know Dorcas has had a drink, as her accent has thickened. 
Before either of you can respond, Evan drags her down by the elbow to the sofa he’s sprawled across as he drawls, “They’re going to celebrate dearest Dorc.”
A spat ensues between the two at the use of her least favourite nickname. Regulus has the decency to grow slightly pinkish at that, but his hold on you remains close and you can all but feel his jitters through his touch.
Barty looks at you two upside down from where he lays balancing on top of the sofa. “You nasty fucking skanks,” he grins. “Enjoy yourselves heartily, but get your butts down here to have fun with us too when the adrenaline wears off.”
You snort as Regulus only grows more red. You give Barty a wink as you begin leading the way, dragging your boy dumbly behind you. “We will, Junior, don’t you worry.”
“Bye, lovebirds!” Barty calls behind you as you run up the stairs towards the boys dormitory. Regulus’s hand is hot in yours and your stomach tingles in anticipation – but more importantly, your heart aches with pride and love for your hero seeker.
633 notes · View notes
bluesidez · 8 months ago
Text
The Love Lab presents:
Tumblr media
[Is It Warm?]
Tumblr media
pairing: Miguel O'Hara x fem!Reader
summary: A stressed-out man deserves a stress-free encounter.
content warning: another PWP but it actually has plot...I should stop calling these PWPs, an uncomfortable scene at the beginning that involves a form of harassment, 18+ so MDNI, body worship (m receiving), thorough body massages, freeform? pegging, unprotected p in v sex (WRAP IT UP 🫵🏾), cum as lube, creampie
word count: 4.6k, halfway proofread
a/n: This is partially a birthday gift to myself and partially a part of the array of fics I wanted to get out before October was over for like...an all-month birthday celebration? School is getting in my way and October is over today, so.....that plan is soiled. But still! Enjoy this!
Here’s the Part 1 of this story! It’s not necessary to read, but it’ll add a bit of context.
Tumblr media
“Did you find it yet?”
“No, it’s still the same thing.”
You pout as Miguel digs further into bottom shelf, baskets rattling against him.
One of the stores you frequented was selling a new round of character-themed merchandise and, of course, they were quick to sell out.
This time around, Nueva York’s one and only Spider-Man’s suit would be worn by the different characters adorning the jars, cups, and blankets.
Nueva York’s one and only Spider-Man was also on all fours searching for the basket that your friend hid those multiple things in.
You had work in the morning, so you couldn’t camp outside and grab it as soon as the doors opened. You didn’t want to bother Miguel with something so small either.
However, he picked you up from work as a surprise with a bouquet of roses in one hand which led to the current predicament.
He saw how low the shelf was and didn’t want anyone to look under your skirt, so now you’re stuck staring at his ass filling out his jeans.
“Any warmer?” you ask.
“Maybe?” he mumbled, arch in his back deepening.
You fought the urge to rub your leg along the curve lest he bang his head and knock the entire shelf down. Instead, you folded your arms under your chest and shifted in your heels.
Since you ever so delicately brought him to new horizons, he’s been extra sensitive about your hands fondling that entire zone. He hasn’t really asked you to do it again.
It’s ok. He’s an extremely busy man and the last time, he was conked out and in a daze for a while.
Still, you were obsessed with how he looked from behind.
He starts to back up, pulling a woven basket out from behind the others. He places it on the ground. Once it’s opened, it’s as if the colorful world of cute, lovingly drawn characters was brought to you.
You clap your hands in excitement as Miguel stands up and places the basket in the small cart you’ve been pushing.
“The things I do for my girlfriend,” Miguel sighs as he dusts off his knees.
You wait until he stands straight and pull your arms around his neck to plead for a kiss. He pecks them twice and rubs your waist.
“Thank you, boyfriend,” you whisper with a smile.
Miguel purses his lips and nods, bashful.
You turn and drag the cart down the aisle, Miguel following behind with his warm hand nearly folded over your hips. You hum and comment about the things that you see, turning to look at him with big eyes when you really wanted something.
He’d give the occasional “You don’t need that,” but then there were the silent head-tilts when you described the use of a product so energetically.
“But baby, we could cuddle under this when we watch our shows! And these,” you pointed to some snail mucin you found, “we have to have this for our spa days.”
“That’s,” Miguel folded his arms, “correct. We need to keep our skin clear. And we need to keep warm.”
Errand days always turned to you to Miguel pulling items down and convincing you to get things that you didn’t need but absolutely wanted.
“What about this?” Miguel takes a bra from the rack, head turned toward the piece but eyes looking over at you.
“It’s cute, but I think I could find a cuter one somewhere else.”
“You’re right. I’ll just rip it off.”
“On second thought, add it to the cart.”
It’s about an hour before you both make it to the line for the register.
You’re trying not to add to the “annoying couple” demographic, but Miguel’s arms are holding onto the cart, enveloping you against his chest. You turn and look up at him and smile, giddy that he joined you on this errand run.
He kisses your head and hums along to the song playing through the store speakers. You lay on his chest and read along the products on the shelves next to you.
A man peeks at you over the shelf, eyes cutting into you before he smirks and walks away.
You shudder like you’re cold and make a disgusted sound before you turn your head.
“What’s wrong?” Miguel asks, guiding you and the cart further in line.
“Creepy guy,” you mumble into his chest.
Miguel frowns and turns, squinting around the store. He was definitely hiding now.
“I’ll handle it,” Miguel grunts.
You stay silent, knowing that once he’s set to do something, he won’t change his mind.
One day he quietly asked you “What use would having a boyfriend with superhuman powers be if I don’t use them to protect you?”
You’ve long stopped telling him to ignore things like this.
Another inch further in line and it’s almost time to pay. The guy lingers again by the entrance of the store. You lean your weight on Miguel, feet tired of your heels and anxious of how the next few minutes could play out.
Trying to understand his motive was nearly impossible: you were clearly with someone else with a large physique, clinging to him like a lifeline. That should have been a huge hint.
When it’s time to place your items on the counter, Miguel shifts his body so you don’t see the stranger. The two of you work chat to the cashier, joking about the many things you’ve bought.
With swift movements, Miguel pays for your items and carries your bag before you can even think to pay. He turns and waits for you to lock your arms through his, a habit grown from his need to be near you.
The entrance was empty, other people scattered throughout the store.
Maybe it was just a strange incident.
“Excuse me, miss. Would you mind helping me with something?” the guy asks behind you just when you think you’re in the clear.
“She’s good,” Miguel tells him, face stern.
“What, so she can’t answer for herself?”
You ball a fist up around the back of Miguel’s shirt, steadying yourself, “I can answer for myself, but we’re in a bit of a hurry. So, if you don’t mind, we’ll be out of-“
“I-It’s just that my daughter’s birthday is coming up,” the man holds his hands up frantically. “I have no clue what 10-year-olds like nowadays. I was wondering if you could help me choose something.”
You bit the inside of your cheek. This guy could be lying completely, but the thought of a little girl out there smiling as she ripped the paper off a present tugged at you.
Looking at Miguel, you could tell he was on the same wavelength.
“There is one thing that’s all the craze,” you say.
Tumblr media
Back in the store, you were sifting through the aisles again with your attentive boyfriend not too far behind. He was carrying all of your bags in his hands and on his shoulders so you could really make an honest effort to help.
Ten was that turning point where you either really loved imaginary toys or wanted nothing to do with then, perhaps a mix of both.
“She used to love these when she was younger,” the man pulls out a baby doll from the lower shelf.
There’s been about five things he’s mentioned all of which were geared towards a younger audience. He was so insistent that it made you wonder of he’s even talked with his daughter in the past five years.
“I’m not sure she would like this one. What about that?” you point to a popular plushie. It’s not the baby doll, but you’re sure his daughter would love it.
“Oh I don’t know…”
This back-and-forth continues for longer than you want it to. You could have been wrapped around your boyfriend like a koala while he talked about his day and instead you were stuck here.
“Sir, we really have to go,” Miguel intervenes, “I’m sure whatever you get your daughter, she’ll love it.”
The older man sneers, “You wouldn’t know a thing about that.”
“Excuse me?” your face changes, disturbed.
“Such a beautiful thing on his arm and no ring, no child. He’s slacking up,” he slides a hand down your arm. “My daughter could use someone like you-“
Miguel snatches his hand up from your arm, eyes almost glowing under the bright lights of the store.
“Are you insane?”
“Let go of me!”
The man tries to fight against Miguel but falls short as he keeps his cool. He’s only released when his body flashes in an array of blue and pink squares, knees hitting the ground.
Faster than you can comprehend what’s going on, Miguel drags him out of the door. You follow afterwards, apologetic to the confused employees.
“Do you just like to touch women for fun or is it exclusive to people that try to help you?” you can hear Miguel bark at him.
“I’ll have you reported to the authorities!”
“Yeah, yeah. Try and call the rent-a-cops,” Miguel’s lip never unfurled. He whipped out a phone. “Lyla?”
In a series of events, you watched the man go from Miguel’s grip to the stringy webs of Spider Scarlet.
“I see that this fellow is giving you trouble and sorrow,” Ben’s stunted tone crowded the stranger’s cries. “I’ll remove him quickly, no, swiftly. So that you both can have a wonderful night. Together.”
You can almost see the tension build in Miguel’s temple.
“Thank you. It’s much appreciated,” Miguel grunts. “I would like to move on with my night, please.”
“Of course, Bo- I mean hard-working citizen.”
He grabs the glitching stranger to swing back to HQ, a quiet wave to you before he left.
You laugh, feeling Miguel’s shoulders fall a bit.
“You ok, baby?” he takes your hands in his, bags lining his arms,
You nod your head, “I’ve had worst things happen. Could use some comfort, though.”
He gives a sympathetic smile and rubs a thumb across your cheek.
“Let’s get out of here.”
Tumblr media
Small, pesky incidents like this kept popping up.
An occurrence of a clown that stood in the gray parks holding a single balloon but doing nothing else, women with pixie cuts complaining about the prices of clothes, balding men with beer bellies and baseball caps: all of these people from different eras were spread across Nueva York.
While you’ve been going into work, keeping your schedule relatively normal, Miguel has been in and out.
It wasn’t a rare sight to come home to his empty penthouse, only the city lights and a talkative Lyla to keep you company.
Sometimes, you were woken up by his arms sliding around your middle and a kiss to the back of your neck, but by the time you woke up, he was gone again.
The life of a superhero’s girlfriend was a bit isolating, but you wouldn’t trade it for anything.
Especially not the shocked look on Miguel’s face as he enters the living room one evening.
“What’s all this?” he asks, looking at the dimly lit lights and taking in the smell of something sweet in the air.
Music is playing from the speakers and Miguel is noticing how smooth the skin of your legs look from in between your silk gown. Taking advantage of his focus, you bend and remove the cloth from the table behind you.
“Ta-da!”
You stand there with your hands out, shaking them. It takes a lot to not jump like a star in excitement.
Miguel looks from you to the table.
“What is it?”
“What does it look like?”
“I meant, what is it for, honey.”
You lean on the massage table with your hip and hold your fingers up to count off, “Well, it’s for you. To relax. To unwind. To let me try out the skills I learned from that class my coworker gifted to me.”
Within the pause, you twirl four fingers in the air.
Miguel sits near the back on the couch with an exhausted look on his face, “Baby, thank you for the gesture, but I don’t know if-”
“Please! I think you’ll really, really love it. I can massage you right now while you’re not super busy,” you say as Miguel stands again. You bounce over in front of him, puppy-dog eyes on full display. “I only rented it for a few days!”
He looked to the ceiling and sighed, weak to the look on your face.
“Fine.”
Tumblr media
“Where is your robe at?” a freshly showered Miguel asks with an eyebrow raised. He still pans up and down your body, like he hasn’t explored it a million times over.
A few steps forward and his gaze is stuck on the way your sheer and short gown molds around your body.
There’s nothing underneath but your perfumed skin.
“That’s the perk of having your girlfriend give you a massage,” you say watching him stare at your chest. You take his chin in your hand and guide his face back to your eyes. “Right?”
“Mm hm.”
You snort and tell him to lay down
“Take your towel off, silly.”
Miguel obeys, white fabric pulled from under him with a blink of an eye. He lays it just above his behind.
“This is going to feel so good. I just know it,” you say, giving his back a light rub.
“Thank you in advance,” Miguel replies. He’s lying with his head on his arms, stress from work evident.
You’re really glad he’s letting you help him indulge in this break.
Grabbing the oil from the end table you pulled over, you pour some right on his back, fingers spreading along the pivots of his neck. You. stand in front of the head of the table and press your thumbs into his nape, earning a stunted noise from him.
A smile grows on your face, “I haven’t even really started, Miguel.” Your thumbs start to circle and he turns his face into the open hole.
“Stiff there. Too many screens to watch,” he says. “It smells good.”
“Give those pretty eyes a rest then,” you tut, adding your other fingers to the ones along his neck in an upwards motion.
Shea butter never fails you.
His neck slowly heats up and you giggle to yourself. One compliment and he turned into mush.
“What about here, hm?” shifting down to the tops of his shoulders. The muscles there pulled as tight as a rope. Adding pressure to them makes Miguel groan.
“’S good.”
“I bet,” you work into a knot, warm hands pushing into his skin. “There’s no telling how long this has been here.”
Miguel silently notes that maybe he should wind himself up more if he could end up like this again: pampered by his pretty girlfriend.
As quiet as he kept his running thoughts, his throat involuntary gave you real-time reviews.
Every slide of your knuckles nearly had him purring and your fingertips warmed him through to his bones.
His shoulders feel like air once you’re moving down his spine.
“I’m going to do something different,” your voice is lower so as to not disturb the atmosphere.
You hike one of your knees up on the edge of the table and climb over him, hovering as you asses his back.
Two hands cover his waist with thumbs almost touching each other on his spine. You let go of some of your weight and press your thumbs up his back.
Miguel’s voice vibrates through the room, an arch in his spine forming.
You repeat the action, earning an even louder response.
Moving to stroking in outwards motions from his spine to the sides, you wanted to pat yourself on the back. Miguel was so relaxed under you.
Though, you wanted to smack yourself for getting excited so early, the effect of his sounds making itself evident with how cold the air felt on your exposed lower half.
Switching to move your hands down his arms to hefty muscle of his shoulder blades, you hoped to distract yourself.
“Se siente tan bien,” Miguel sighed, airy and relieved. “I’ve been climbing a lot more this past week.” (That feels so good.)
The praise went straight to your clit.
“I’m glad, Miggy. I’ll work out some more tightness in your back and move down to your legs. Sound good?” you were trying your best to control your tone.
Miguel starts to answer but a stunted sound comes from his lips instead as you start to knead his back in small places.
Back and forth, you move across his skin, heart thumping in your chest.
By the time you got to his lower back, you awkwardly sat on the towel separating the two of you. You were sure it was dampening, but you hoped Miguel was too far gone to notice.
Your thumbs circle in the dips of his skin, his hips lifting up, making you brace yourself.
“Babe, you’re going to push me off,” you say as Miguel tries to glue his waist to your fingers.
“S-sorry,” hips stutter against the table before he lays down completely.
You pat his side as a form of forgiveness and inch off of the table. The towel over his ass was wrinkled, brown skin peeking from under it.
You grab more oil to start on the back of his thighs, a place that you know could carry his tension. With both of your hands focusing on his right thigh, you add pressure to your palms.
Miguel immediately jerked, grunting through his teeth.
“Woah, there,” you rub his leg softly. “Does it hurt?”
“No.”
“What’s wrong?”
He’s softly pushing out air as you continue back.
“It’s embarrassing. And rude,” he mumbles after a while.
You move down to his calf, his voice rising as you envelop his skin.
“What is?”
He huffs, turning his head, “I’m hard.”
Switching legs, you try not to show your giddiness.
“Nothing wrong with that. I think it’s a normal reaction.”
“Is it?” he shifts again when you massage the inside of his thigh, so close to the problem area. “The last time I got massaged was before…everything. It was never like this.”
You try to envision a younger, scrawny Miguel laid out on the table before you and giggle.
“Don’t laugh.”
“I’m not,” you say in between a quiet grin.
Miguel lifts his head a bit, “I can hear you smiling, amor.”
“Ok, how about this,” you remove the towel and softly cover his behind with your hands. “Can I massage here?”
Miguel looks back at you, eyes darker under these lights.
“Isn’t this a full-body massage?”
You bite your cheek to try and stop your face from lighting up, but it fails.
“Then, continue to relax, Mr. Spider-Man.”
“I prefer Mr. Boyfriend, actually.”
Humming, you push into the plushest parts of him, repeating the motion circle after circle.
You try to ignore his hole peering out every time you knead.
Miguel is breathing deeply, back rising and falling.
Looking down, you can tell that his earlier words were true. Poor thing was barely rutting against the table.
You slide a thumb on his taint, marveling at how he lets out a sharp gasp. The feeling makes him grind harder into the soft material.
“Please,” he whispers.
“Please, what, Mr. Boyfriend? Anything I can do to make your experience better?”
“I want,” you brush your finger over his hole and he groans. “Want more.”
You stop and grab the lone tile, wiping the oil from your hands.
Walking near his face, you lean down and kiss his ear, the skin heated, “This requires more facilities. One momento!”
Luckily for him, the dildo from the last time was already clean.
Coincidentally.
You grab it and some lube from the bedroom and rush back to Miguel who is sprawled out on the table.
“Sorry for the wait,” you say. “Let’s start back.”
With lube on your fingers, you rub a thumb over his hole, pressing until you breach past.
Miguel sighs, “Shock. I missed this.”
That surprises you, “Really?”
“Yes,” he moaned as you reach in further. “You make me feel good. I just didn’t have the time to enjoy it.”
Your heart soars, switching from your thumb to two fingers. The way his hips rise shows a beautiful line in his silhouette. When tell him such, he shudders.
“You always compliment me on the things I couldn’t care less for.”
“There’s beauty in all of you though, Miguel,” your words contrast how you’re digging into him, adding another finger and brushing past the ball of fire.
Miguel tightens his fists, pushing back against your hand, “Put it in me.”
“Do you like it when I praise you?” you ask, ignoring his request.
“You already know the answer. Por favor, bebé.”
He was getting whiny and you remembered that this whole endeavor was supposed to be for him, about him.
You climbed back over him, a palm pressed into his back, “I know, I know. I got you.”
“So needy,” you say as you lube up the pink plastic.
Miguel gears up to respond but you shush him when you glide the tip in.
Your name is on his lips, singing along with the melody of the instrumental playing in the background.
You pull your gown up a little, fur on the trim riding up your skin. You moan with him as you let the dildo go deeper.
From here, you can see the glow of his back, glistening under the candlelight from the oil that drives him crazy on you. The nape of his neck is starting to shine with sweat and his fingers are pressing into his palm so as to not puncture the table.
Continuing your movement, you move your wrist continuously, pushing into him and cupping your breasts to stop them from moving.
You’re drenched and when you slide your heat over his cheeks, the end of the dildo feels amazing against your clit. You hold the end of it close and move your hips along every thrust.
“Keep going,” Miguel says, reveling in the way you were getting off on top of him. “Don’t stop.”
Your hips move faster, hand on your chest moving to his back, nails digging into his skin. Your body leans over him, skin-to-skin separated by your thin gown.
No words can be formed as you listen to Miguel let out satisfied grunts, the sound of him covering and uncovering the dildo aligning with him.
You angle it so that it can slide along your folds before it enters him, keening into his skin every time.
“I love you so much, Miggy,” your nails scratch against him, your body tensing like he was the one pinning you into the table.
Miguel jerks, panting out, “Love you, too. Te amo mucho, ángel.”
You continue, Miguel’s words blending from begs for more to confessions of love.
When he reveals that he’s close, arching into you, you suck a kiss into his back, working your dildo past his prostate.
He groans, cum spreading under him. You pepper kisses across his back.
“Hm,” you got up and switch the dildo for a plug, squeezing a cheek for good luck. “I didn’t finish the massage.”
Miguel turns his body around, careful not to knock you off.
“You’re always up to something.”
He smiled, looking at your ruined gown, oil making it cling to you. He’s still hard, cum smeared across his lower abdomen.
You bring your face to his, kissing his lips while his hands slide up your hips.
“I’m just a little crazy when it comes to you,” you reply, tilting your head to deepen the kiss.
Miguel moves his chin up, a hand coming to cover your neck.
“I wouldn’t have it any other way.”
You smiled into his lips, rubbing your nose against his. He laughed at the gesture and rubbed down your back.
“Shall I continue, Mr. Boyfriend?”
“I’m at your command, Ms. Girlfriend.”
You lean up and slowly pull your gown off of you. Miguel watches you, not missing a single moment.
“While I did have ideas of exactly how this massage was going to go,” you reach back and scoop up the milky liquid on his stomach. You take him in your hand and pump once, twice. “I think I’ll end it with a bang.”
When his tip goes past your entrance, his eyes roll back and his hands grab your hips instinctively.
Your head dips past your shoulders as you sit further, the feeling of him familiar but still overwhelming.
Your hips stutter as you try not to let the greedy feeling of chasing your orgasm come back so quickly. To fight it, you place your hands on his pecs.
“Usually, the chest massage is done in the opposite direction,” Miguel hikes his hips up as you try to get back into masseur mode, earning a high moan from you. “B-but you get special privileges today.”
You focus on applying pressure to his collar bones, working over a fading love mark.
Miguel isn’t having it as he holds your hips and snaps up.
“I think I have a more severe problem area,” he says as you push the skin of his chest towards his armpits. He wasn’t even tense there.
“And I’ll get to it-“
“You don’t understand,” Miguel says, locking his arms around you. “It’s serious.”
He thrusts up, delving into you like he was always meant to do so. You grip his shoulders and hold on, mind hazy at the shift.
“The prettiest masseuse in the world,” he breathes out. His eyebrows are scrunching up, ever so expressive. “My private one.”
“Yes,” you sigh, close from before. You’re turning into putty in his arms.
Arousal builds as he continues to work into you. Your mouth parts, unsure as to what was coming from your mouth.
“C’mon, baby. I know you’re there,” Miguel moves one hand to grip your shoulder. “‘M ready to pay you.”
You convulse around him, core swimming with his words.
He follows right after, hips attaching to you as he fills you up. The table creaks as he pumps a few more times into your lifted body.
When you both come down, your muscles feel like they’ve been reconstructed. Miguel lifts you off of his length, keeping you in the air for a bit just to watch him drip out of you.
“That’s a pretty steep payment,” you say once you’re lying on his chest.
Miguel snickers, “I’ll help you manage it later.”
“But before that,” you wave a hand in the air making a holographic screen with blue squares appear before you both. “Leave a tip?”
Miguel wipes it away as you cackle.
“You’ve ruined me for all future massages in a normal setting and you want a tip?”
“I’m just kidding,” you kiss his pout away.
“Besides,” you reach down and graze your fingers over him. “This tip is pretty good.”
“Only ‘pretty good’? Do you need another one?”
You put your eyes to the sky, thinking, “Let’s eat dinner and get away from the nearly ruined, rented table first.”
Miguel smiles softly, “Good idea.”
Tumblr media
dividers by: @/adornedwithlight @/inklore
a/n: I think I would like to consider this story, Is It Tight?, and Wash Day all in the same universe.
Sorry to the people in my taglist who don’t really rock with pegging. It probably won’t happen again. 😭
taglist: @questionable-behaviour @babygotl01292003 @slushycoookie @calig0sto @ghost-lantern
@tatatida @haveclayeveryday @corpsenightmarebride @samjinxx @earth2fae
@maiyart @feegrh32 @darkstalight82 @ladysimp @vmpz8sauceee
@leonsbimbogf @unwrittenletter @madeofstar-dust @leoeloo @just-simpins-blog
@poisamm @thequeenreaders @tinybirdhideout @aly29a2001 @mimi-sanisanidiot
@tojishugetiddies @pigeonmama @av3da @prettygirleli @koikohib
@jaykookies @snails-doodles22 @xo-zeze @plantxella @thedevax
@f1-hoff @stressed-cherry @mozzella @appledressing @abbbbbysvt-17
@woahhajime @vicravluv @xodeity @somniasworld @obsessgurlll
@starboygf @undf-stuff @bmoplanet @alexxavicry @ladysimp
458 notes · View notes
ryanvgates · 2 years ago
Text
Terraform staying current
Problem Depending on your CI/CD story for terraform and the sensitivity of your environments, you may need to apply terraform changes manually. The challenge that can happen is that changes in terraform may not be applied. This creates a challenge when you do try to apply a change but see historic changes as well that were never applied. Solution The first step is to understand what changes…
Tumblr media
View On WordPress
0 notes
donjuaninhell · 1 year ago
Text
How I ditched streaming services and learned to love Linux: A step-by-step guide to building your very own personal media streaming server (V2.0: REVISED AND EXPANDED EDITION)
This is a revised, corrected and expanded version of my tutorial on setting up a personal media server that previously appeared on my old blog (donjuan-auxenfers). I expect that that post is still making the rounds (hopefully with my addendum on modifying group share permissions in Ubuntu to circumvent 0x8007003B "Unexpected Network Error" messages in Windows 10/11 when transferring files) but I have no way of checking. Anyway this new revised version of the tutorial corrects one or two small errors I discovered when rereading what I wrote, adds links to all products mentioned and is just more polished generally. I also expanded it a bit, pointing more adventurous users toward programs such as Sonarr/Radarr/Lidarr and Overseerr which can be used for automating user requests and media collection.
So then, what is this tutorial? This is a tutorial on how to build and set up your own personal media server using Ubuntu as an operating system and Plex (or Jellyfin) to not only manage your media, but to also stream that media to your devices both at home and abroad anywhere in the world where you have an internet connection. Its intent is to show you how building a personal media server and stuffing it full of films, TV, and music that you acquired through indiscriminate and voracious media piracy various legal methods will free you to completely ditch paid streaming services. No more will you have to pay for Disney+, Netflix, HBOMAX, Hulu, Amazon Prime, Peacock, CBS All Access, Paramount+, Crave or any other streaming service that is not named Criterion Channel. Instead whenever you want to watch your favourite films and television shows, you’ll have your own personal service that only features things that you want to see, with files that you have control over. And for music fans out there, both Jellyfin and Plex support music streaming, meaning you can even ditch music streaming services. Goodbye Spotify, Youtube Music, Tidal and Apple Music, welcome back unreasonably large MP3 (or FLAC) collections.
On the hardware front, I’m going to offer a few options catered towards different budgets and media library sizes. The cost of getting a media server up and running using this guide will cost you anywhere from $450 CAD/$325 USD at the low end to $1500 CAD/$1100 USD at the high end (it could go higher). My server was priced closer to the higher figure, but I went and got a lot more storage than most people need. If that seems like a little much, consider for a moment, do you have a roommate, a close friend, or a family member who would be willing to chip in a few bucks towards your little project provided they get access? Well that's how I funded my server. It might also be worth thinking about the cost over time, i.e. how much you spend yearly on subscriptions vs. a one time cost of setting up a server. Additionally there's just the joy of being able to scream "fuck you" at all those show cancelling, library deleting, hedge fund vampire CEOs who run the studios through denying them your money. Drive a stake through David Zaslav's heart.
On the software side I will walk you step-by-step through installing Ubuntu as your server's operating system, configuring your storage as a RAIDz array with ZFS, sharing your zpool to Windows with Samba, running a remote connection between your server and your Windows PC, and then a little about started with Plex/Jellyfin. Every terminal command you will need to input will be provided, and I even share a custom #bash script that will make used vs. available drive space on your server display correctly in Windows.
If you have a different preferred flavour of Linux (Arch, Manjaro, Redhat, Fedora, Mint, OpenSUSE, CentOS, Slackware etc. et. al.) and are aching to tell me off for being basic and using Ubuntu, this tutorial is not for you. The sort of person with a preferred Linux distro is the sort of person who can do this sort of thing in their sleep. Also I don't care. This tutorial is intended for the average home computer user. This is also why we’re not using a more exotic home server solution like running everything through Docker Containers and managing it through a dashboard like Homarr or Heimdall. While such solutions are fantastic and can be very easy to maintain once you have it all set up, wrapping your brain around Docker is a whole thing in and of itself. If you do follow this tutorial and had fun putting everything together, then I would encourage you to return in a year’s time, do your research and set up everything with Docker Containers.
Lastly, this is a tutorial aimed at Windows users. Although I was a daily user of OS X for many years (roughly 2008-2023) and I've dabbled quite a bit with various Linux distributions (mostly Ubuntu and Manjaro), my primary OS these days is Windows 11. Many things in this tutorial will still be applicable to Mac users, but others (e.g. setting up shares) you will have to look up for yourself. I doubt it would be difficult to do so.
Nothing in this tutorial will require feats of computing expertise. All you will need is a basic computer literacy (i.e. an understanding of what a filesystem and directory are, and a degree of comfort in the settings menu) and a willingness to learn a thing or two. While this guide may look overwhelming at first glance, it is only because I want to be as thorough as possible. I want you to understand exactly what it is you're doing, I don't want you to just blindly follow steps. If you half-way know what you’re doing, you will be much better prepared if you ever need to troubleshoot.
Honestly, once you have all the hardware ready it shouldn't take more than an afternoon or two to get everything up and running.
(This tutorial is just shy of seven thousand words long so the rest is under the cut.)
Step One: Choosing Your Hardware
Linux is a light weight operating system, depending on the distribution there's close to no bloat. There are recent distributions available at this very moment that will run perfectly fine on a fourteen year old i3 with 4GB of RAM. Moreover, running Plex or Jellyfin isn’t resource intensive in 90% of use cases. All this is to say, we don’t require an expensive or powerful computer. This means that there are several options available: 1) use an old computer you already have sitting around but aren't using 2) buy a used workstation from eBay, or what I believe to be the best option, 3) order an N100 Mini-PC from AliExpress or Amazon.
Note: If you already have an old PC sitting around that you’ve decided to use, fantastic, move on to the next step.
When weighing your options, keep a few things in mind: the number of people you expect to be streaming simultaneously at any one time, the resolution and bitrate of your media library (4k video takes a lot more processing power than 1080p) and most importantly, how many of those clients are going to be transcoding at any one time. Transcoding is what happens when the playback device does not natively support direct playback of the source file. This can happen for a number of reasons, such as the playback device's native resolution being lower than the file's internal resolution, or because the source file was encoded in a video codec unsupported by the playback device.
Ideally we want any transcoding to be performed by hardware. This means we should be looking for a computer with an Intel processor with Quick Sync. Quick Sync is a dedicated core on the CPU die designed specifically for video encoding and decoding. This specialized hardware makes for highly efficient transcoding both in terms of processing overhead and power draw. Without these Quick Sync cores, transcoding must be brute forced through software. This takes up much more of a CPU’s processing power and requires much more energy. But not all Quick Sync cores are created equal and you need to keep this in mind if you've decided either to use an old computer or to shop for a used workstation on eBay
Any Intel processor from second generation Core (Sandy Bridge circa 2011) onward has Quick Sync cores. It's not until 6th gen (Skylake), however, that the cores support the H.265 HEVC codec. Intel’s 10th gen (Comet Lake) processors introduce support for 10bit HEVC and HDR tone mapping. And the recent 12th gen (Alder Lake) processors brought with them hardware AV1 decoding. As an example, while an 8th gen (Kaby Lake) i5-8500 will be able to hardware transcode a H.265 encoded file, it will fall back to software transcoding if given a 10bit H.265 file. If you’ve decided to use that old PC or to look on eBay for an old Dell Optiplex keep this in mind.
Note 1: The price of old workstations varies wildly and fluctuates frequently. If you get lucky and go shopping shortly after a workplace has liquidated a large number of their workstations you can find deals for as low as $100 on a barebones system, but generally an i5-8500 workstation with 16gb RAM will cost you somewhere in the area of $260 CAD/$200 USD.
Note 2: The AMD equivalent to Quick Sync is called Video Core Next, and while it's fine, it's not as efficient and not as mature a technology. It was only introduced with the first generation Ryzen CPUs and it only got decent with their newest CPUs, we want something cheap.
Alternatively you could forgo having to keep track of what generation of CPU is equipped with Quick Sync cores that feature support for which codecs, and just buy an N100 mini-PC. For around the same price or less of a used workstation you can pick up a mini-PC with an Intel N100 processor. The N100 is a four-core processor based on the 12th gen Alder Lake architecture and comes equipped with the latest revision of the Quick Sync cores. These little processors offer astounding hardware transcoding capabilities for their size and power draw. Otherwise they perform equivalent to an i5-6500, which isn't a terrible CPU. A friend of mine uses an N100 machine as a dedicated retro emulation gaming system and it does everything up to 6th generation consoles just fine. The N100 is also a remarkably efficient chip, it sips power. In fact, the difference between running one of these and an old workstation could work out to hundreds of dollars a year in energy bills depending on where you live.
You can find these Mini-PCs all over Amazon or for a little cheaper on AliExpress. They range in price from $170 CAD/$125 USD for a no name N100 with 8GB RAM to $280 CAD/$200 USD for a Beelink S12 Pro with 16GB RAM. The brand doesn't really matter, they're all coming from the same three factories in Shenzen, go for whichever one fits your budget or has features you want. 8GB RAM should be enough, Linux is lightweight and Plex only calls for 2GB RAM. 16GB RAM might result in a slightly snappier experience, especially with ZFS. A 256GB SSD is more than enough for what we need as a boot drive, but going for a bigger drive might allow you to get away with things like creating preview thumbnails for Plex, but it’s up to you and your budget.
The Mini-PC I wound up buying was a Firebat AK2 Plus with 8GB RAM and a 256GB SSD. It looks like this:
Tumblr media
Note: Be forewarned that if you decide to order a Mini-PC from AliExpress, note the type of power adapter it ships with. The mini-PC I bought came with an EU power adapter and I had to supply my own North American power supply. Thankfully this is a minor issue as barrel plug 30W/12V/2.5A power adapters are easy to find and can be had for $10.
Step Two: Choosing Your Storage
Storage is the most important part of our build. It is also the most expensive. Thankfully it’s also the most easily upgrade-able down the line.
For people with a smaller media collection (4TB to 8TB), a more limited budget, or who will only ever have two simultaneous streams running, I would say that the most economical course of action would be to buy a USB 3.0 8TB external HDD. Something like this one from Western Digital or this one from Seagate. One of these external drives will cost you in the area of $200 CAD/$140 USD. Down the line you could add a second external drive or replace it with a multi-drive RAIDz set up such as detailed below.
If a single external drive the path for you, move on to step three.
For people with larger media libraries (12TB+), who prefer media in 4k, or care who about data redundancy, the answer is a RAID array featuring multiple HDDs in an enclosure.
Note: If you are using an old PC or used workstatiom as your server and have the room for at least three 3.5" drives, and as many open SATA ports on your mother board you won't need an enclosure, just install the drives into the case. If your old computer is a laptop or doesn’t have room for more internal drives, then I would suggest an enclosure.
The minimum number of drives needed to run a RAIDz array is three, and seeing as RAIDz is what we will be using, you should be looking for an enclosure with three to five bays. I think that four disks makes for a good compromise for a home server. Regardless of whether you go for a three, four, or five bay enclosure, do be aware that in a RAIDz array the space equivalent of one of the drives will be dedicated to parity at a ratio expressed by the equation 1 − 1/n i.e. in a four bay enclosure equipped with four 12TB drives, if we configured our drives in a RAIDz1 array we would be left with a total of 36TB of usable space (48TB raw size). The reason for why we might sacrifice storage space in such a manner will be explained in the next section.
A four bay enclosure will cost somewhere in the area of $200 CDN/$140 USD. You don't need anything fancy, we don't need anything with hardware RAID controls (RAIDz is done entirely in software) or even USB-C. An enclosure with USB 3.0 will perform perfectly fine. Don’t worry too much about USB speed bottlenecks. A mechanical HDD will be limited by the speed of its mechanism long before before it will be limited by the speed of a USB connection. I've seen decent looking enclosures from TerraMaster, Yottamaster, Mediasonic and Sabrent.
When it comes to selecting the drives, as of this writing, the best value (dollar per gigabyte) are those in the range of 12TB to 20TB. I settled on 12TB drives myself. If 12TB to 20TB drives are out of your budget, go with what you can afford, or look into refurbished drives. I'm not sold on the idea of refurbished drives but many people swear by them.
When shopping for harddrives, search for drives designed specifically for NAS use. Drives designed for NAS use typically have better vibration dampening and are designed to be active 24/7. They will also often make use of CMR (conventional magnetic recording) as opposed to SMR (shingled magnetic recording). This nets them a sizable read/write performance bump over typical desktop drives. Seagate Ironwolf and Toshiba NAS are both well regarded brands when it comes to NAS drives. I would avoid Western Digital Red drives at this time. WD Reds were a go to recommendation up until earlier this year when it was revealed that they feature firmware that will throw up false SMART warnings telling you to replace the drive at the three year mark quite often when there is nothing at all wrong with that drive. It will likely even be good for another six, seven, or more years.
Tumblr media
Step Three: Installing Linux
For this step you will need a USB thumbdrive of at least 6GB in capacity, an .ISO of Ubuntu, and a way to make that thumbdrive bootable media.
First download a copy of Ubuntu desktop (for best performance we could download the Server release, but for new Linux users I would recommend against the server release. The server release is strictly command line interface only, and having a GUI is very helpful for most people. Not many people are wholly comfortable doing everything through the command line, I'm certainly not one of them, and I grew up with DOS 6.0. 22.04.3 Jammy Jellyfish is the current Long Term Service release, this is the one to get.
Download the .ISO and then download and install balenaEtcher on your Windows PC. BalenaEtcher is an easy to use program for creating bootable media, you simply insert your thumbdrive, select the .ISO you just downloaded, and it will create a bootable installation media for you.
Once you've made a bootable media and you've got your Mini-PC (or you old PC/used workstation) in front of you, hook it directly into your router with an ethernet cable, and then plug in the HDD enclosure, a monitor, a mouse and a keyboard. Now turn that sucker on and hit whatever key gets you into the BIOS (typically ESC, DEL or F2). If you’re using a Mini-PC check to make sure that the P1 and P2 power limits are set correctly, my N100's P1 limit was set at 10W, a full 20W under the chip's power limit. Also make sure that the RAM is running at the advertised speed. My Mini-PC’s RAM was set at 2333Mhz out of the box when it should have been 3200Mhz. Once you’ve done that, key over to the boot order and place the USB drive first in the boot order. Then save the BIOS settings and restart.
After you restart you’ll be greeted by Ubuntu's installation screen. Installing Ubuntu is really straight forward, select the "minimal" installation option, as we won't need anything on this computer except for a browser (Ubuntu comes preinstalled with Firefox) and Plex Media Server/Jellyfin Media Server. Also remember to delete and reformat that Windows partition! We don't need it.
Step Four: Installing ZFS and Setting Up the RAIDz Array
Note: If you opted for just a single external HDD skip this step and move onto setting up a Samba share.
Once Ubuntu is installed it's time to configure our storage by installing ZFS to build our RAIDz array. ZFS is a "next-gen" file system that is both massively flexible and massively complex. It's capable of snapshot backup, self healing error correction, ZFS pools can be configured with drives operating in a supplemental manner alongside the storage vdev (e.g. fast cache, dedicated secondary intent log, hot swap spares etc.). It's also a file system very amenable to fine tuning. Block and sector size are adjustable to use case and you're afforded the option of different methods of inline compression. If you'd like a very detailed overview and explanation of its various features and tips on tuning a ZFS array check out these articles from Ars Technica. For now we're going to ignore all these features and keep it simple, we're going to pull our drives together into a single vdev running in RAIDz which will be the entirety of our zpool, no fancy cache drive or SLOG.
Open up the terminal and type the following commands:
sudo apt update
then
sudo apt install zfsutils-linux
This will install the ZFS utility. Verify that it's installed with the following command:
zfs --version
Now, it's time to check that the HDDs we have in the enclosure are healthy, running, and recognized. We also want to find out their device IDs and take note of them:
sudo fdisk -1
Note: You might be wondering why some of these commands require "sudo" in front of them while others don't. "Sudo" is short for "super user do”. When and where "sudo" is used has to do with the way permissions are set up in Linux. Only the "root" user has the access level to perform certain tasks in Linux. As a matter of security and safety regular user accounts are kept separate from the "root" user. It's not advised (or even possible) to boot into Linux as "root" with most modern distributions. Instead by using "sudo" our regular user account is temporarily given the power to do otherwise forbidden things. Don't worry about it too much at this stage, but if you want to know more check out this introduction.
If everything is working you should get a list of the various drives detected along with their device IDs which will look like this: /dev/sdc. You can also check the device IDs of the drives by opening the disk utility app. Jot these IDs down as we'll need them for our next step, creating our RAIDz array.
RAIDz is similar to RAID-5 in that instead of striping your data over multiple disks, exchanging redundancy for speed and available space (RAID-0), or mirroring your data writing by two copies of every piece (RAID-1), it instead writes parity blocks across the disks in addition to striping, this provides a balance of speed, redundancy and available space. If a single drive fails, the parity blocks on the working drives can be used to reconstruct the entire array as soon as a replacement drive is added.
Additionally, RAIDz improves over some of the common RAID-5 flaws. It's more resilient and capable of self healing, as it is capable of automatically checking for errors against a checksum. It's more forgiving in this way, and it's likely that you'll be able to detect when a drive is dying well before it fails. A RAIDz array can survive the loss of any one drive.
Note: While RAIDz is indeed resilient, if a second drive fails during the rebuild, you're fucked. Always keep backups of things you can't afford to lose. This tutorial, however, is not about proper data safety.
To create the pool, use the following command:
sudo zpool create "zpoolnamehere" raidz "device IDs of drives we're putting in the pool"
For example, let's creatively name our zpool "mypool". This poil will consist of four drives which have the device IDs: sdb, sdc, sdd, and sde. The resulting command will look like this:
sudo zpool create mypool raidz /dev/sdb /dev/sdc /dev/sdd /dev/sde
If as an example you bought five HDDs and decided you wanted more redundancy dedicating two drive to this purpose, we would modify the command to "raidz2" and the command would look something like the following:
sudo zpool create mypool raidz2 /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf
An array configured like this is known as RAIDz2 and is able to survive two disk failures.
Once the zpool has been created, we can check its status with the command:
zpool status
Or more concisely with:
zpool list
The nice thing about ZFS as a file system is that a pool is ready to go immediately after creation. If we were to set up a traditional RAID-5 array using mbam, we'd have to sit through a potentially hours long process of reformatting and partitioning the drives. Instead we're ready to go right out the gates.
The zpool should be automatically mounted to the filesystem after creation, check on that with the following:
df -hT | grep zfs
Note: If your computer ever loses power suddenly, say in event of a power outage, you may have to re-import your pool. In most cases, ZFS will automatically import and mount your pool, but if it doesn’t and you can't see your array, simply open the terminal and type sudo zpool import -a.
By default a zpool is mounted at /"zpoolname". The pool should be under our ownership but let's make sure with the following command:
sudo chown -R "yourlinuxusername" /"zpoolname"
Note: Changing file and folder ownership with "chown" and file and folder permissions with "chmod" are essential commands for much of the admin work in Linux, but we won't be dealing with them extensively in this guide. If you'd like a deeper tutorial and explanation you can check out these two guides: chown and chmod.
Tumblr media
You can access the zpool file system through the GUI by opening the file manager (the Ubuntu default file manager is called Nautilus) and clicking on "Other Locations" on the sidebar, then entering the Ubuntu file system and looking for a folder with your pool's name. Bookmark the folder on the sidebar for easy access.
Tumblr media
Your storage pool is now ready to go. Assuming that we already have some files on our Windows PC we want to copy to over, we're going to need to install and configure Samba to make the pool accessible in Windows.
Step Five: Setting Up Samba/Sharing
Samba is what's going to let us share the zpool with Windows and allow us to write to it from our Windows machine. First let's install Samba with the following commands:
sudo apt-get update
then
sudo apt-get install samba
Next create a password for Samba.
sudo smbpswd -a "yourlinuxusername"
It will then prompt you to create a password. Just reuse your Ubuntu user password for simplicity's sake.
Note: if you're using just a single external drive replace the zpool location in the following commands with wherever it is your external drive is mounted, for more information see this guide on mounting an external drive in Ubuntu.
After you've created a password we're going to create a shareable folder in our pool with this command
mkdir /"zpoolname"/"foldername"
Now we're going to open the smb.conf file and make that folder shareable. Enter the following command.
sudo nano /etc/samba/smb.conf
This will open the .conf file in nano, the terminal text editor program. Now at the end of smb.conf add the following entry:
["foldername"]
path = /"zpoolname"/"foldername"
available = yes
valid users = "yourlinuxusername"
read only = no
writable = yes
browseable = yes
guest ok = no
Ensure that there are no line breaks between the lines and that there's a space on both sides of the equals sign. Our next step is to allow Samba traffic through the firewall:
sudo ufw allow samba
Finally restart the Samba service:
sudo systemctl restart smbd
At this point we'll be able to access to the pool, browse its contents, and read and write to it from Windows. But there's one more thing left to do, Windows doesn't natively support the ZFS file systems and will read the used/available/total space in the pool incorrectly. Windows will read available space as total drive space, and all used space as null. This leads to Windows only displaying a dwindling amount of "available" space as the drives are filled. We can fix this! Functionally this doesn't actually matter, we can still write and read to and from the disk, it just makes it difficult to tell at a glance the proportion of used/available space, so this is an optional step but one I recommend (this step is also unnecessary if you're just using a single external drive). What we're going to do is write a little shell script in #bash. Open nano with the terminal with the command:
nano
Now insert the following code:
#!/bin/bash CUR_PATH=`pwd` ZFS_CHECK_OUTPUT=$(zfs get type $CUR_PATH 2>&1 > /dev/null) > /dev/null if [[ $ZFS_CHECK_OUTPUT == *not\ a\ ZFS* ]] then IS_ZFS=false else IS_ZFS=true fi if [[ $IS_ZFS = false ]] then df $CUR_PATH | tail -1 | awk '{print $2" "$4}' else USED=$((`zfs get -o value -Hp used $CUR_PATH` / 1024)) > /dev/null AVAIL=$((`zfs get -o value -Hp available $CUR_PATH` / 1024)) > /dev/null TOTAL=$(($USED+$AVAIL)) > /dev/null echo $TOTAL $AVAIL fi
Save the script as "dfree.sh" to /home/"yourlinuxusername" then change the ownership of the file to make it executable with this command:
sudo chmod 774 dfree.sh
Now open smb.conf with sudo again:
sudo nano /etc/samba/smb.conf
Now add this entry to the top of the configuration file to direct Samba to use the results of our script when Windows asks for a reading on the pool's used/available/total drive space:
[global]
dfree command = /home/"yourlinuxusername"/dfree.sh
Save the changes to smb.conf and then restart Samba again with the terminal:
sudo systemctl restart smbd
Now there’s one more thing we need to do to fully set up the Samba share, and that’s to modify a hidden group permission. In the terminal window type the following command:
usermod -a -G sambashare “yourlinuxusername”
Then restart samba again:
sudo systemctl restart smbd
If we don’t do this last step, everything will appear to work fine, and you will even be able to see and map the drive from Windows and even begin transferring files, but you'd soon run into a lot of frustration. As every ten minutes or so a file would fail to transfer and you would get a window announcing “0x8007003B Unexpected Network Error”. This window would require your manual input to continue the transfer with the file next in the queue. And at the end it would reattempt to transfer whichever files failed the first time around. 99% of the time they’ll go through that second try, but this is still all a major pain in the ass. Especially if you’ve got a lot of data to transfer or you want to step away from the computer for a while.
It turns out samba can act a little weirdly with the higher read/write speeds of RAIDz arrays and transfers from Windows, and will intermittently crash and restart itself if this group option isn’t changed. Inputting the above command will prevent you from ever seeing that window.
The last thing we're going to do before switching over to our Windows PC is grab the IP address of our Linux machine. Enter the following command:
hostname -I
This will spit out this computer's IP address on the local network (it will look something like 192.168.0.x), write it down. It might be a good idea once you're done here to go into your router settings and reserving that IP for your Linux system in the DHCP settings. Check the manual for your specific model router on how to access its settings, typically it can be accessed by opening a browser and typing http:\\192.168.0.1 in the address bar, but your router may be different.
Okay we’re done with our Linux computer for now. Get on over to your Windows PC, open File Explorer, right click on Network and click "Map network drive". Select Z: as the drive letter (you don't want to map the network drive to a letter you could conceivably be using for other purposes) and enter the IP of your Linux machine and location of the share like so: \\"LINUXCOMPUTERLOCALIPADDRESSGOESHERE"\"zpoolnamegoeshere"\. Windows will then ask you for your username and password, enter the ones you set earlier in Samba and you're good. If you've done everything right it should look something like this:
Tumblr media
You can now start moving media over from Windows to the share folder. It's a good idea to have a hard line running to all machines. Moving files over Wi-Fi is going to be tortuously slow, the only thing that’s going to make the transfer time tolerable (hours instead of days) is a solid wired connection between both machines and your router.
Step Six: Setting Up Remote Desktop Access to Your Server
After the server is up and going, you’ll want to be able to access it remotely from Windows. Barring serious maintenance/updates, this is how you'll access it most of the time. On your Linux system open the terminal and enter:
sudo apt install xrdp
Then:
sudo systemctl enable xrdp
Once it's finished installing, open “Settings” on the sidebar and turn off "automatic login" in the User category. Then log out of your account. Attempting to remotely connect to your Linux computer while you’re logged in will result in a black screen!
Now get back on your Windows PC, open search and look for "RDP". A program called "Remote Desktop Connection" should pop up, open this program as an administrator by right-clicking and selecting “run as an administrator”. You’ll be greeted with a window. In the field marked “Computer” type in the IP address of your Linux computer. Press connect and you'll be greeted with a new window and prompt asking for your username and password. Enter your Ubuntu username and password here.
Tumblr media
If everything went right, you’ll be logged into your Linux computer. If the performance is sluggish, adjust the display options. Lowering the resolution and colour depth do a lot to make the interface feel snappier.
Tumblr media
Remote access is how we're going to be using our Linux system from now, barring edge cases like needing to get into the BIOS or upgrading to a new version of Ubuntu. Everything else from performing maintenance like a monthly zpool scrub to checking zpool status and updating software can all be done remotely.
Tumblr media
This is how my server lives its life now, happily humming and chirping away on the floor next to the couch in a corner of the living room.
Step Seven: Plex Media Server/Jellyfin
Okay we’ve got all the ground work finished and our server is almost up and running. We’ve got Ubuntu up and running, our storage array is primed, we’ve set up remote connections and sharing, and maybe we’ve moved over some of favourite movies and TV shows.
Now we need to decide on the media server software to use which will stream our media to us and organize our library. For most people I’d recommend Plex. It just works 99% of the time. That said, Jellyfin has a lot to recommend it by too, even if it is rougher around the edges. Some people run both simultaneously, it’s not that big of an extra strain. I do recommend doing a little bit of your own research into the features each platform offers, but as a quick run down, consider some of the following points:
Plex is closed source and is funded through PlexPass purchases while Jellyfin is open source and entirely user driven. This means a number of things: for one, Plex requires you to purchase a “PlexPass” (purchased as a one time lifetime fee $159.99 CDN/$120 USD or paid for on a monthly or yearly subscription basis) in order to access to certain features, like hardware transcoding (and we want hardware transcoding) or automated intro/credits detection and skipping, Jellyfin offers some of these features for free through plugins. Plex supports a lot more devices than Jellyfin and updates more frequently. That said, Jellyfin's Android and iOS apps are completely free, while the Plex Android and iOS apps must be activated for a one time cost of $6 CDN/$5 USD. But that $6 fee gets you a mobile app that is much more functional and features a unified UI across platforms, the Plex mobile apps are simply a more polished experience. The Jellyfin apps are a bit of a mess and the iOS and Android versions are very different from each other.
Jellyfin’s actual media player is more fully featured than Plex's, but on the other hand Jellyfin's UI, library customization and automatic media tagging really pale in comparison to Plex. Streaming your music library is free through both Jellyfin and Plex, but Plex offers the PlexAmp app for dedicated music streaming which boasts a number of fantastic features, unfortunately some of those fantastic features require a PlexPass. If your internet is down, Jellyfin can still do local streaming, while Plex can fail to play files unless you've got it set up a certain way. Jellyfin has a slew of neat niche features like support for Comic Book libraries with the .cbz/.cbt file types, but then Plex offers some free ad-supported TV and films, they even have a free channel that plays nothing but Classic Doctor Who.
Ultimately it's up to you, I settled on Plex because although some features are pay-walled, it just works. It's more reliable and easier to use, and a one-time fee is much easier to swallow than a subscription. I had a pretty easy time getting my boomer parents and tech illiterate brother introduced to and using Plex and I don't know if I would've had as easy a time doing that with Jellyfin. I do also need to mention that Jellyfin does take a little extra bit of tinkering to get going in Ubuntu, you’ll have to set up process permissions, so if you're more tolerant to tinkering, Jellyfin might be up your alley and I’ll trust that you can follow their installation and configuration guide. For everyone else, I recommend Plex.
So pick your poison: Plex or Jellyfin.
Note: The easiest way to download and install either of these packages in Ubuntu is through Snap Store.
After you've installed one (or both), opening either app will launch a browser window into the browser version of the app allowing you to set all the options server side.
The process of adding creating media libraries is essentially the same in both Plex and Jellyfin. You create a separate libraries for Television, Movies, and Music and add the folders which contain the respective types of media to their respective libraries. The only difficult or time consuming aspect is ensuring that your files and folders follow the appropriate naming conventions:
Plex naming guide for Movies
Plex naming guide for Television
Jellyfin follows the same naming rules but I find their media scanner to be a lot less accurate and forgiving than Plex. Once you've selected the folders to be scanned the service will scan your files, tagging everything and adding metadata. Although I find do find Plex more accurate, it can still erroneously tag some things and you might have to manually clean up some tags in a large library. (When I initially created my library it tagged the 1963-1989 Doctor Who as some Korean soap opera and I needed to manually select the correct match after which everything was tagged normally.) It can also be a bit testy with anime (especially OVAs) be sure to check TVDB to ensure that you have your files and folders structured and named correctly. If something is not showing up at all, double check the name.
Once that's done, organizing and customizing your library is easy. You can set up collections, grouping items together to fit a theme or collect together all the entries in a franchise. You can make playlists, and add custom artwork to entries. It's fun setting up collections with posters to match, there are even several websites dedicated to help you do this like PosterDB. As an example, below are two collections in my library, one collecting all the entries in a franchise, the other follows a theme.
Tumblr media
My Star Trek collection, featuring all eleven television series, and thirteen films.
Tumblr media
My Best of the Worst collection, featuring sixty-nine films previously showcased on RedLetterMedia’s Best of the Worst. They’re all absolutely terrible and I love them.
As for settings, ensure you've got Remote Access going, it should work automatically and be sure to set your upload speed after running a speed test. In the library settings set the database cache to 2000MB to ensure a snappier and more responsive browsing experience, and then check that playback quality is set to original/maximum. If you’re severely bandwidth limited on your upload and have remote users, you might want to limit the remote stream bitrate to something more reasonable, just as a note of comparison Netflix’s 1080p bitrate is approximately 5Mbps, although almost anyone watching through a chromium based browser is streaming at 720p and 3mbps. Other than that you should be good to go. For actually playing your files, there's a Plex app for just about every platform imaginable. I mostly watch television and films on my laptop using the Windows Plex app, but I also use the Android app which can broadcast to the chromecast connected to the TV in the office and the Android TV app for our smart TV. Both are fully functional and easy to navigate, and I can also attest to the OS X version being equally functional.
Part Eight: Finding Media
Now, this is not really a piracy tutorial, there are plenty of those out there. But if you’re unaware, BitTorrent is free and pretty easy to use, just pick a client (qBittorrent is the best) and go find some public trackers to peruse. Just know now that all the best trackers are private and invite only, and that they can be exceptionally difficult to get into. I’m already on a few, and even then, some of the best ones are wholly out of my reach.
If you decide to take the left hand path and turn to Usenet you’ll have to pay. First you’ll need to sign up with a provider like Newshosting or EasyNews for access to Usenet itself, and then to actually find anything you’re going to need to sign up with an indexer like NZBGeek or NZBFinder. There are dozens of indexers, and many people cross post between them, but for more obscure media it’s worth checking multiple. You’ll also need a binary downloader like SABnzbd. That caveat aside, Usenet is faster, bigger, older, less traceable than BitTorrent, and altogether slicker. I honestly prefer it, and I'm kicking myself for taking this long to start using it because I was scared off by the price. I’ve found so many things on Usenet that I had sought in vain elsewhere for years, like a 2010 Italian film about a massacre perpetrated by the SS that played the festival circuit but never received a home media release; some absolute hero uploaded a rip of a festival screener DVD to Usenet. Anyway, figure out the rest of this shit on your own and remember to use protection, get yourself behind a VPN, use a SOCKS5 proxy with your BitTorrent client, etc.
On the legal side of things, if you’re around my age, you (or your family) probably have a big pile of DVDs and Blu-Rays sitting around unwatched and half forgotten. Why not do a bit of amateur media preservation, rip them and upload them to your server for easier access? (Your tools for this are going to be Handbrake to do the ripping and AnyDVD to break any encryption.) I went to the trouble of ripping all my SCTV DVDs (five box sets worth) because none of it is on streaming nor could it be found on any pirate source I tried. I’m glad I did, forty years on it’s still one of the funniest shows to ever be on TV.
Part Nine/Epilogue: Sonarr/Radarr/Lidarr and Overseerr
There are a lot of ways to automate your server for better functionality or to add features you and other users might find useful. Sonarr, Radarr, and Lidarr are a part of a suite of “Servarr” services (there’s also Readarr for books and Whisparr for adult content) that allow you to automate the collection of new episodes of TV shows (Sonarr), new movie releases (Radarr) and music releases (Lidarr). They hook in to your BitTorrent client or Usenet binary newsgroup downloader and crawl your preferred Torrent trackers and Usenet indexers, alerting you to new releases and automatically grabbing them. You can also use these services to manually search for new media, and even replace/upgrade your existing media with better quality uploads. They’re really a little tricky to set up on a bare metal Ubuntu install (ideally you should be running them in Docker Containers), and I won’t be providing a step by step on installing and running them, I’m simply making you aware of their existence.
The other bit of kit I want to make you aware of is Overseerr which is a program that scans your Plex media library and will serve recommendations based on what you like. It also allows you and your users to request specific media. It can even be integrated with Sonarr/Radarr/Lidarr so that fulfilling those requests is fully automated.
And you're done. It really wasn't all that hard. Enjoy your media. Enjoy the control you have over that media. And be safe in the knowledge that no hedgefund CEO motherfucker who hates the movies but who is somehow in control of a major studio will be able to disappear anything in your library as a tax write-off.
1K notes · View notes