#home automation server
Explore tagged Tumblr posts
virtualizationhowto · 2 years ago
Text
Home Server: Why you shouldn't build one
Home Server: Why you shouldn't build one #homelab #homeserversetup #buildingahomeserver #serverhardwareandsoftware #DIYhomeserver #homeservervscloudstorage #homenetworkmanagement #homeserveroperatingsystems #remoteaccessserver #homeautomationserver
You can do so much running your own home server. It is a great tool for learning and actually storing your data. Many prefer to control their own file sharing, media streaming services, and also run their own web server hosting self-hosted services. However, let’s look at a home server from a slightly different angle – why you shouldn’t build your own home servers. Table of contentsWhat is a…
Tumblr media
View On WordPress
0 notes
anghimalaaynasapuso · 5 months ago
Text
DISCORD BOYFRIEND KÖNIG
sfw + nsfw. this is just an amalgamation of all my ideas
könig has never been one for putting his face on social media. even before the scars that pull at the skin of his cheek, reshaping his expression in ways he’s never fully grown used to, the idea of being seen, really seen, has never sat right with him. there’s a certain comfort in anonymity, in keeping the world at arm’s length. easier that way. safer.
that unease, paired with what some might consider his more nerdy interests, means he gravitates toward spaces like discord rather than the highly curated feeds of instagram or facebook. there, he doesn’t have to worry about photos or videos— just a username, and a presence in text.
his handle is simple: king 👑. a nod to the name he’s carried for so long, stripped of rank, stripped of weight.
even in the server where he’s most active, he keeps things vague, blending into discussions about games, military history, or whatever niche interest has caught his attention that week.
every now and then, he’ll let something slip— a mention of deployment, an offhand comment, disappearing for months at a time, only to return with a sudden burst of activity. some put the pieces together. most don’t. and könig prefers it that way. it’s easier to let them think he’s just another guy with spotty internet.
your first interaction is rather simple in retrospect.
he’s back after weeks of recon, shaking off the mission like dirt from his boots, easing into the familiarity of a gaming server he’s called home for years.
it’s not a small server, so new people come and go. he does his usual routine— an automated, slightly impersonal welcome but what he doesn’t expect is the sheer enthusiasm in return.
“hi!!!!”
he stares at the message for a second, counting the exclamation marks. three. four. five? a small smile tugs at his lips before he even realizes it.
it doesn’t take long before you’re at his metaphorical side, sending a friend request before the conversation even shifts from your college courses.
the older members tease him. something about his last deployment scrambling his head enough to take a newbie under his wing. he lets them talk. he doesn’t mind.
soon enough, you’re in his private messages, dramatically lamenting your latest loss in a game he’s only vaguely familiar with. könig listens— well, reads— as you rant, words spilling out at a rapid-fire pace, interspersed with keyboard smashing and increasingly incoherent frustration.
he’s not much for new releases, preferring to sink his teeth into a single game for months on end, grinding away until mastery is muscle memory. still-
one evening, without preamble, he sends you a link. his profile. in your game.
the response is immediate. ‘king!!! 🥺’ you type, followed by an onslaught of keyboard mashing that takes up half his screen.
he exhales a short laugh, shaking his head. he wonders if you know how easy it is to make him grin like an idiot.
the calls are… an unexpected development.
könig doesn’t make a habit to join server calls. ever. it’s not even about anxiety, not really, just preference. too many voices, too much noise. he never expected to be comfortable enough with anyone to want to be in a call, let alone initiate one.
but when you start gaming together, it becomes a necessity. typing mid-match isn’t exactly efficient, and you’re the first to point that out.
“okay, listen, king, i am not about to lose another ranked match just because you take five years to type ‘behind you.’” he huffs, amused, but relents.
soon enough, calls become second nature— no longer tied to gaming, no longer requiring an excuse. you always ask first, polite thing that you are, and könig always agrees. sometimes it’s an unspoken invitation, a simple “call?” sent in the quiet hours of the night. sometimes he beats you to it, pressing the button before he can think too hard about it.
one time, it’s you who calls. he answers on the first ring.
“are you- wait.” you pause, listening. there’s a distinct, rhythmic thud-thud-thud in the background. not footsteps, but something heavier, more controlled. “are you on a treadmill?”
“mm.” his voice is steady, unaffected. a quiet confirmation.
you gasp, and he can practically hear the amusement brewing in your tone. “oh my god! you actually work out? i thought you were lying.”
he snorts, breath hitching slightly as he adjusts his pace. “why would i lie about that?”
“i don’t know! you just- i mean, you sit at your desk all day, playing the same game for hours, and you’re always online at weird times-”
“you are describing yourself,” he points out.
“shut up.”
there’s a pause, and then, with the kind of mischief that only comes from knowing exactly how to push his buttons, you add, “prove it.”
he slows to a walk, swiping open his phone. a moment later, you receive a picture. him, flexing. the lighting is dim, but you can still make out the cut of his forearm, the solid shape of his bicep. just to humor you, he throws up a peace sign.
“not stolen from pinterest.”
you burst into laughter so sudden and bright that he finds himself smiling before he can stop it.
you learn what it means to miss könig pretty early on.
it happens suddenly. one day, he’s there, active as usual, sending the occasional meme, idling in voice chat even if he’s not talking. the next? radio silence. not even a ‘typing…’ indicator.
at first, you don’t think much of it. maybe he’s sleeping in. maybe he’s busy. time zones are weird. it’s fine.
but then a whole day passes. then another. you check his status— nothing. not offline, not do not disturb, just… gone.
curiosity turns into concern, and before you can think better of it, you ask in the server.
“hey, anyone heard from king?”
the response is casual. unbothered. “oh, dude’s probably deployed again.”
you blink. reread the message. “deployed?”
“yeah, king’s military.”
there’s no warning for the way that statement knocks the air from your lungs.
military? as in, real-life combat? as in, war zones and danger and actual life-or-death situations?
you stare at the screen, fingers hovering over the keyboard, unsure what to even say to that.
he doesn’t resurface for weeks.
you don’t realize how much you’ve come to rely on his presence until it’s gone. his absence is loud in the quiet moments of your day, in the spaces where a message from him would normally be.
you check the server out of habit, catching yourself before you can search his username. it’s stupid, you think. you barely know him. he’s just some guy from a discord server.
but the worry lingers.
and then, one day, just like that— he’s back.
his return is as unceremonious as his disappearance.
no dramatic entrance, no fanfare. just a simple “hello.”
you see it the moment he sends it. your stomach flips.
before you can stop yourself, you send a private message. “you’re alive.”
a moment passes. then— “yes.”
you frown. “you were gone for weeks.”
“i know.”
frustration bubbles up. “you could’ve said something.”
“i couldn’t.”
you hesitate, fingers tightening around your phone. you don’t know what you were expecting. an explanation? reassurance? but it’s clear you’re not getting one.
but then, a follow-up message. one that feels heavier, more careful. “i’m sorry.”
and just like that, the irritation dissolves.
it’s strange, the way things slip back into place after that.
he doesn’t talk about it, and you don’t ask. but something shifts. after that deployment, könig starts telling you when he’ll be gone. nothing in detail, really. just a simple, “i’ll be away for a bit.”
(it means everything.)
slowly, you get used to it. the rhythm of his presence and absence, the way your conversations pick up right where they left off, as if no time has passed at all.
it goes on for months. this… thing between the two of you. könig doesn’t hesitate to call it friendship, though he knows, knows, it’s something else entirely.
something with edges softer than companionship, something that lingers in the pauses between conversation, in the way you had whispered his real name under your breath when he revealed it to you.
he doesn’t rush to name it. doesn’t push. he lets it simmer until it feels inevitable.
in the end, it’s you who breaks first. technically. not that he’s keeping score. not that he would ever rub it in your face, especially when he was a mere day away from asking the very same thing.
it starts with a message. no preamble, no buildup. just a simple: hey, what are we?
könig sees it and reacts before thinking. presses the call button so fast his thumb practically smashes the screen. it rings once, twice—
“you didn’t even ask.” your voice comes through, half exasperated, half amused.
“didn’t want to give you time to unsend.” his own voice is steady, but his heart is anything but.
you huff. “bold assumption.”
“not really.”
a pause. he hears you shift, fabric rustling, the sound of you settling in. something warm and slow uncoils in his chest at the familiarity of it.
“so,” you start, hesitant. “what’s your answer?”
könig exhales, tipping his head back against his pillow. “do you want the truth?”
“obviously.”
he hums, considering. in reality, he’s known the truth for a while now. probably before you even realized it yourself.
“i like you,” he says, simple, sure. then, because he knows you, because he knows your deflections, your habit of teasing when you get nervous, he adds, “and i’m very aware you like me back.”
you sputter. “that’s a bold assumption-”
“not really,” he repeats, smug this time.
you groan, but you’re laughing, and it sends something bright flickering through him.
könig doesn’t ask for nudes. not once. he flirts, he teases, but never pushes. he knows your boundaries, respects them, never even hints at wanting more. if anything, he’s careful. too careful, sometimes. like he’s afraid of crossing a line you haven’t even drawn.
so when you finally send something, it’s your choice.
the first picture is tame. barely anything. it's a shot of your thighs, soft and warm in the low light of your room. nothing scandalous. nothing too revealing. but the second you hit send, your stomach twists with nerves.
könig sees it immediately. you watch the typing bubble appear, disappear, then appear again. and then— “fuck.”
you grin. “good?”
“you have no idea.”
it only escalates from there.
könig never requests more. but when you send it, when you want to send it, his reaction is worth it. he worships you through the screen, tells you how beautiful you are, how much he wishes he could touch you.
“pretty,” he texts once, attached to a voice message.
you press play. his breath is ragged, like he’s just run a mile. “pretty thing,” he repeats, voice tinged with something almost reverent. “you’re going to ruin me, love.”
the first time he sends you something, it takes him forever to work up to it.
you don’t ask for it. wouldn’t dream of pushing him into something he’s not comfortable with. könig isn’t shy, necessarily, but he’s private. you know that by now.
so when, out of nowhere, a picture pops up on your screen, your brain short-circuits.
it’s cropped carefully, but there’s no mistaking what you’re looking at— bare skin, broad shoulders, his stomach flexed just slightly.
“you like?” he texts after a minute.
you swallow hard. “yes.”
“good.” and then— “more?”
you bite your lip. “please.”
könig gets bolder after that.
he sends more. never too much, always teasing, always just enough to leave you wanting. sometimes it’s his hands, sometimes it’s his abs, the sharp cut of his hip bones, the waistband of his sweatpants hanging just low enough to make your mouth water.
one night, he sends a voice message instead. you press play.
at first, all you hear is his breathing. then, slowly, softly— your name, whispered through a noise that makes heat bloom low in your stomach.
“wish you were here,” he murmurs. “wish you could see what you do to me.”
the actual nudes don’t take long. not ar all. you’re both desperate. buzzing. könig’s the one who caves first.
it starts with your text. 10 p.m., the hour where inhibitions slip through grasping fingers like sand.
“wanna see your cock so bad, könig…” you murmur to your propped phone, cheek pressed to your pillow, another one stuffed against your chest like it might replace the hollow ache between your ribs. a distraction. a poor substitute.
on the other side of the screen, he exhales, dragging a hand down his face. fingers tensing, then flexing, like he needs something to hold onto. “love-” your whine cuts through before he can even think. instinctive. needy. his stomach clenches. “okay, okay. as long as you're sure.”
his heart pounds as he opens his photos. he doesn’t exactly collect dick pics, but there are a few kept locked away, private albums, a passcode he suddenly fumbles to enter.
three minutes. that’s how long it takes to choose the best one. the right angle. the right lighting. enough to make your breath hitch when you see it.
he hits send before he can overthink it, then leans back, phone balanced on his thigh, bottom lip caught between his teeth.
your phone buzzes. the photo pops up. you blink, breath hitching sharp in your throat.
“oh my god.” the words spill out of you before you can even think to stop them. “könig…” you stare at the screen, gaze locked on the thick, heavy length of him. the way it curves slightly, resting against his thigh like it’s weighed down by its own sheer mass. your breath stutters.
“you're so fucking big.” it barely registers that you've said it aloud.
“yeah? you like it?
“like it?” you shoot back. “i want it inside me.”
his breath leaves him in one harsh exhale. he shifts, hips rolling involuntarily like he can feel your words on his skin.
“can i see you too?” he sounds so polite. and then, as if that wasn’t enough to twist the knife deeper— “please?”
your stomach flips. you bite your lip, already reaching for your phone camera, the need to show him everything burning through you like wildfire.
your breath comes shallow as you slip your hand lower, phone steady in the other. the need is a pulse under your skin, throbbing, insistent. you pull the covers back just enough, the cool air prickling against the heat between your thighs.
the camera catches everything. your slightly parted thighs, your swollen clit, the wetness gushing out of your hole. it feels like baring a secret you’ve never told anyone. you hesitate for half a second, heart racing, then hit send.
the second the message disappears from your screen, it hits you— you just sent that to him.
on his end, könig freezes. the photo loads slow, torturous, and when it finally pops up, he feels his whole body tense, blood rushing south so fast it’s dizzying. “f-fuck, i need to be inside of you-”
sex with könig, if you can even call it that, at first, sneaks up on you. you never thought you’d be the kind of person who got into this. sending texts that made your face burn, leaving voice messages you could barely listen back to without cringing. but with him, it’s different. easier. less embarrassing because it’s him.
still, going from nudes to actual phone sex takes some time.
“gonna sleep,” könig texts you once, attached to a blurry photo of his bed.
“alone?” you send back, teasing.
the typing bubble appears. then disappears. then— “obviously.”
you grin at your phone, satisfied. but then— “but i could use some company.”
you stare at the message longer than you’d like to admit.
in the past, you hadn't told him how many times you’d dreamt of him because you thought you'd scare him off, kept your mouth shut about the images that haunted you at night, of his hands pinning you down, his mouth at your throat.
didn't tell him that you had woken up panting, arousal between your thighs, könig’s name on your lips too many times. didn't tell him that you had pressed your hand against your clit during your calls, to the sound of his voice, to his laugh, to the quiet, wrecked groans he sometimes lets out when he stretches after a workout.
but you wanted to.
and tonight, you would.
the conversation turns slow. lazy. heavy with something unspoken.
“you sound tired,” könig murmurs, voice warm. he’s always like this late at night. soft, unhurried, like he’s sinking into the sound of you.
you swallow hard. your skin feels too hot, too tight. “i’m not.”
a pause. then, lower— “what is it, love?”
you hesitate, pressing your lips together. it’s too much. too embarrassing. but he knows something is different.
“talk to me. tell me what you’re thinking.”
you let out a shaky breath. “i had a dream about you.”
the silence stretches.
you can hear him inhale. you bite your lip. force yourself to continue. “i think about you. when i-” you stop. you can’t say it. can’t admit it.
könig exhales through his nose, like he’s trying to steady himself. “when you what?”
your stomach is a knot of nerves. but you want this. want him. so you take a breath, close your eyes. “when i touch myself.”
his breath stutters.
“fuck.” the word is almost a groan. your pulse hammers, blood rushing through your ear as heat pools in your stomach.
“könig,” you whisper.
he exhales, whispers his next words like a beg, “say it again.”
you swallow. “i touch myself to you.”
“i do too.”
your stomach flips. “what?”
“i-” he cuts himself off with a quiet curse, like he's frustrated with himself for hesitating. “i touch myself to you too.”
your breath catches. heat blooms in your chest, spreading down your spine. “könig-”
“all the time.” his voice is lower now, raw, like he's aching with it. “when i can't sleep. when you're on call with me, laughing, teasing me. when i wake up hard in the middle of the night and can’t stop thinking about stuffing you full.”
your body is burning again, despite the aftershocks still rolling through you. you're about to choke out a reply when you hear it— the rustle of fabric, the faint creak of bedsprings, the wet slide of skin on skin.
“are you-”
a sharp inhale. “yes.”
“let me hear you,” you whisper, thinking about his pretty, pretty cock. uncut, soft skin stretched over the flushed head, the way it would slide back when he’s fully hard, revealing the deep pink of his leaking tip. the veins that wind down the length, standing out against the pale skin
there's a pause, a hitch in his breath. then, slowly— “okay.”
there's a small rustle, könig adjusting himself on the bed. the faint sound of him pumping lotion on his hand. a quiet sigh. and then, a low grunt as the warmth of his palm wraps around his cock.
könig looks down at his hand, eyes half-lidded, hips bucking up in small thrusts. he imagines your pussy instead of his fist, hot and tight and so fucking warm, fluttering around his length as he pushes in, spearing you open with a cock too big for your little cunny.
he knows you’d cry for him, little gasps and hiccupped moans, squirming beneath him as he bullies his cock deeper, past that tight ring of muscle into the slick, warm clutch of your cunt.
“a-ah- fuck, ah-”
your breath stutters at the sounds, hips grinding against your palm. “wish i could see you.”
“on cam?”
you groan, squeezing your thighs around the pillow in-between your legs, grinding your clit against the material softly. “yes, please..”
fuck, you're so polite.
5K notes · View 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
blackjackkent · 2 months ago
Text
Occasionally I think about the fact that I probably have (most of) the technical skills to build a serviceable Tumblr alternative in the event of The Collapse, and have an investment in the culture and preservation/enabling of fandom creation, and I start wondering again about whether it would be a good idea to make an attempt.
And then I always run up against the elephant in the room which is cost. The cost of maintaining a site like this at scale must be astronomical. Vast numbers of servers for redundancy and global endpoints, processing power to handle millions of simultaneous requests, database storage for an exponentially growing amount of posts and reblog information, and then the image hosting requirements, my god... and the human non-automated moderation that people want...
I already spend a sizable chunk of change just keeping RPThreadTracker running and that thing is TINY.
This is why I get a little frustrated at the kneejerk aversion to any sort of monetary support by the Tumblr userbase; I think a lot of people just don't fathom that if you want a FREE site and community of this size and robustness, money still HAS to be involved somewhere. A LOT of money. Which means our options are:
A powerful corporate interest
Having our data sold to the highest bidder
User participation in donations and optional purchases
Tumblr has a combination of 1 and 3 which allows us to avoid 2, and yet people constantly spit in the face of 3 and then wonder why the whole situation is so fragile.
Anyway, all this to say that I need some extraordinarily rich person who is at home in the Tumblr ecosystem to come out of the woodwork. I just wanna talk.
64 notes · View notes
dragonnarrative-writes · 6 months ago
Text
Data Breach
Read on AO3
Word count: 12.8k
Tumblr media
Alternatively titled "Lockdown."
CW: Public partial-nudity, references to sex work, Kidnapping, implied trafficking, threats of violence, anxiety/panic, body horror, brief mentions of medical trauma, character being hunted, brief mention of cannibalism, guns, knives
Notes: Naya "Bambi" Walker and Veronica "Bricks" Mason are my characters. Morgan "Sparrow" Voss belongs to @sentientcave.
I'm very excited because this is my first "complete" fic. And I wrote it within my first year of posting fanfiction! Thanks to everyone who has been here with me through it all!
Tumblr media
The genetic and cybernetic enhancements that the public took for granted were a drop in the bucket. No one protested the same-day medical procedures for aesthetics and practicality and security. What harm is a microchip to automate one’s home, modified musculature that needed less exercise to maintain? Who was ever going to protest genetically coded locking mechanisms?
Soldier modifications are a violation of human rights. The deployment of those soldiers isn’t, unless they use their enhanced abilities to commit a war crime. But the process of modification, experimental and unregulated, driven by greed, desperation, a cold war that bled and screamed…
In the early days of accelerated genetics, on the heels of the prosthetic revolution, things had been hellish. Rejected limb grafts.    Explosively contagious viral infections previously rare in humans. Incompatible bones and organs and structures drowning experimental groups in their own fluids. Hunting and prey drives that only became apparent on the battlefield.
The deployment of modified soldiers isn’t a violation of human rights. But if even a single civilian is caught in the crossfire, it’s a war crime.
What the governments of the world did to the men and women who served them - and the populations they were supposed to serve - was a flood of destruction that led to international court-martial and proposed executions.
Only proposed though.
Naya, green around the gills from her latest information dive, wonders if maybe those proposals had more merit than she’d initially thought.
The files she found about the modified joint task forces, the Ghost Team JTFs, are more horrifying than anything she’s ever seen. Bone and dental removal, replacement, and additions. Brain implants, deeper and more invasive than most civilian interface units, which go just under the skin. Increased metabolism, shortening of the digestive tract, automatic injectors with stim packs that keep soldiers awake and lucid through unimaginable horrors.
Her hands shake, spilling tea leaves on the counter as she disconnects from her VPN network. She’d stumbled upon the initial files surrounding what had been Task Force 141 days ago, had quickly skimmed and duplicated their contents to read and review on her own time. Those had been bad enough. Reading about a Scottish soldier, shot in the head and brought back only to have his body altered. Another sergeant suspended in a tank as his genetically altered body attempted and failed to process all of the poisons they wanted him resistant to. A lieutenant who’s frontal lobe was hacked through to make room for a larger processor. The Captain captured and tortured and changed for investigating what was happening to his unit…
And that was before the videos.
Finding more information on Ghost Teams is virtually impossible. Official reports, even the ones she breaks into, list the 141 as defunct. Her fellow archivists don’t have any other information, and aren’t willing to help her dive again.
>>>Flower: even if the GTs are still alive >>>Flower: it’s too dangerous >>>Flower: too many powers want them to stay buried >>>Flower: we’ll lose everything if we go digging >>>Bambi: you don’t have any contacts i could ask? >>>Flower: i‘m sorry bambi
There’s more security, when she returns to the original server, too much for her to feel comfortable to try to force her way in. Her bots identify a couple of devices on the network that might be exploitable - a printer, two coffee machines - but she leaves them alone, for now.
Instead, she trawls conspiracy theory forums for any mention of experimental modifications, missing soldiers, and questionable medical equipment shipments. Experience means her bots filter through everything, which saves her more than a few headaches, but also means that she waits hours before a possible hit. And that hit is a dead end.
The hours turn to days before she’s able to find an abandoned, locked forum with deleted answers to heavily coded questions. The last post is seven years old, ostensibly informing community members of upcoming changes to the forum. The veil over the warning of government surveillance is thinner than tissue paper.
It’s the closest thing she has to a lead, so she makes a new post and sets her bots to monitor it.
>>18|\/|48(Guest): GTJTFs producing new 141 units? Leaked production reports, new specs?
She doesn’t expect a response, but maybe an auto-responder will give her a clue of where to look next. So it’s jarring when she gets an encrypted email with a reply from “[email protected],” an hour later.
new units? have info on old units if you need references. let me know.
The middle city isn’t the safest, for all that the well-to-dos topside like to pretend that the truly unsavory elements aren’t that close to their picturesque lawns. Naya’s lived here her whole life, though she’s worked above a time or two. Even so, she’s never ventured this close to the freight shafts down to the docks.
The bar she steps into is loud and smells like liquor and motor fluid. It’s dim, and smoky, and she feels eyes on her as she makes her way to the bar. Her interface lights up with pings and an attempted ID and bank chip skim. All they get for their trouble is her least informative ID tag - Bambi.
The bartender, a large bodied person with the simple tag of Engine, operates behind the bar with four cybernetic arms. There’s no digital queue for her to log in to, or even a service request button on the seemingly organic wood bar. So she stands, hands folded on top of the bar for them to finish pouring drinks and notice her standing there.
Just as the barkeep’s attention slides her way, a warm body presses up behind hers. She stiffens as a the person jostles her to lean heavily on the bar. “Eng! Another for me. And whatever my cute new friend wants.”
A refusal is on the tip of her tongue, but when she looks up into slitted yellow eyes haloed by curled black and purple freeform locs, she gets an encrypted message.
>>>Bricks: Hello Bambi. >>>Bricks: Order a drink and come with me.
"They shouldn't be locked up. They're people, not mindless killing machines."
Across the table, under the dim lights, the woman called Bricks cocks her head. She’s a true cyborg, someone who’s modifications are probably keeping them alive. The cybernetics of her left arm extending well into her ribcage. She doesn’t hide it. Under dark overclothes, a slouching shirt exposes the metal of her collarbones, the servos that whir as she breathes. She swirls her glass of Jack and Coke with an amused look on her face as a barely muffled moan pierces through loud music.
Naya takes a deep breath to keep from fidgeting. It took three months to arrange even this meeting with the elusive American arms dealer, in the back of this dingy bar on a busy Friday. She wasn't about to lose the lead just because she could hear lewd comments and barely muffled squeals of pleasure from the nearby hall to the washrooms. The more concerning noise was coming from behind her, anyhow, the thump of knives into a dart board, distressed beeping from the unlucky mini-droid bound to the target.
"You want me to set up a meeting with the Watcher," Bricks drawls, sitting back in her chair. Her pointed cybernetic nails drum against the table. She doesn’t bother to whisper, but both of them have been disrupting any listening devices in range. "So you can make sure that Price's monsters are being treated humanely?"
"They're not monsters," Naya hisses.
"You've never seen them." It's not a question.
"I don't need to see them to know they shouldn't be kept locked in cages."
Bricks freezes with her glass halfway to her lips. Her eyes narrow. “Cages?”
“That’s what I saw.” Gritting her teeth, Naya hisses. “Look. You know what it means to be augmented, what extensive modifications are like. But without anesthesia? I wouldn’t wish that on anyone, not even my worst enemy.”
“You’d be surprised what I would wish on my worst enemy, sweetheart.” Bricks chuckles and throws back the last dregs of her drink. "But you know what? Fine."
"Fine?"
"Fine. You want in so bad? I'll set up a meeting with the Watcher, and Price."
Well. That was easier than expected. "What'll it cost me?"
"Oh, your whole life, probably. Your whole world view, certainly," Bricks chuckles. She gives Naya an obvious once over, gaze lingering on her breasts. "But you don't owe me any more than a quick flash of your tits."
That does make Naya’s confidence falter. "W-what?"
"You heard me. C'mon, give me a little peek, and I'll send a message right now. You can have Price's monsters off their leashes by the end of the week." Bricks grins, slit pupils pulsing wide with interest. "We don't even have to go anywhere, just pull down your shirt a little bit."
"I'm not..." Naya looks around, furtively. "This isn't exactly priv-" She flinches as she's interrupted by a loud moan, followed by a cheer from the rest of the bar.
"You're asking me to let your hands get real dirty, sweetheart." Bricks stands and circles the table to crowd Naya against the wall. She dips down to breathe into her ear. "And unless you want word to spread of a cute, clean cut, little topsider digging into illegal soldier mods, you're gonna pull your tits out and take the money I give you, after, Bambi."
There’s something behind the predatory look in the taller woman’s eyes. A challenge. She’s called Naya’s bluff, hasn’t she? When she refuses, Bricks will send her off with a laugh and a pat on her ass. And she’ll be back at square one, unable to face the danger of diving deeper again.
But Naya’s never been accused of knowing when to back down.
It’s the work of a moment to have the various video feeds in the room start a ten second loop. Her bots use movement patterns to make the video seem natural to anyone not looking closely. Bricks makes an interested noise when the video feed from her cybernetic eye continues showing Naya’s darting eyes and regular breaths. Her organic eye takes in the way Naya’s hands come up to unclasp the front of her shirt.
She takes a deep breath before hooking her fingers into the neck of her undershirt. She looks down as she inches it down to reveal the scalloped edge of her bra, instead of looking to see if Bricks is aroused or amused or some other, worse thing.
Before she can truly expose herself, a warm hand touches her wrist. “So eager. Not even gonna give me a little tease?”
>>>Bricks: Nice trick with the cameras, but you’re going to call attention.
Naya tips her chin up and immediately regrets it when Bricks leans down to meet her. Her breath shivers between their lips. When a metal arm comes up to block her view of the rest of the room, she turns her face away.
>>>Bambi: It’d be more suspicious if I let everyone have a clip for distribution.
“Smart girl,” Bricks whispers against her temple. “Take the credits.”
The fund transfer Bricks initiates has a public comment attached. ‘Classy. Could almost be the real thing.’ Naya glares up at Brick’s smirking face as she accepts the transaction. Two hundred. It feels like too little and too much money at the same time. Almost immediately, she gets inquiry pings from six other patrons the bar.
“And that’s your alibi,” Bricks chuckles, stepping back so quickly that she barely has time to put herself to rights. “Let’s go, sweetheart.”
Naya tries not to fidget in the freight elevator, down, down, down, into The Throat. Bricks's arm is a possessive weight on her shoulder. On the other side of the lift, a startlingly tall man stares at them through the holes in a cloth sack. When she meets his eyes, something writhes where his mouth should be.
"Eyes to yourself," Bricks growls when he takes a half step in their direction. Her cybernetic arm crackles warningly.
The man visibly considers his options before making a guttural sound. A thick appendage, tongue or tentacle, Naya can’t really tell, pokes out from under the hood. He mutters something she doesn’t understand in under-tongue. Bricks hisses something back, pushing Naya behind her as she takes a threatening step forward. The man flinches, then crowds himself into his corner. He doesn’t even look in their direction for the rest of the descent.
When the doors open, Bricks holds her back until the man leaves, then steers her out into the street. Naya's been under-city before, but not in this bloc. The air is just as stale and hazy as she remembers, but this shaft doesn't see as much vertical commuter traffic as some of the others, so the street is dark instead of lit with neon. The faintest bit of light filters down from straight above.
Groping for something to say, she asks, "Did you know that guy?"
Bricks snorts, keeping an arm around her's waist as she steers her along. "Yeah."
“What did he want?”
She gets an uninterested shrug. “The same thing any bottom dwelling opportunist wants.”
It’s not hard to imagine what she means. When she doesn't say anything else, Naya searches for another topic. She swallows her pride and forces herself to say, "Thank you for setting up this meeting."
"Don't thank me yet, sweetheart. You're gonna hate me soon enough."
"I know it's dangerous for you," she insists as Bricks draws her down a side street. Dangerous is an understatement, if the Ghost Teams are so far gone that they’re experimenting on human beings. "Even if things are hard, moving forward, I appreciate your help."
Bricks doesn't answer. Instead, she knocks on a barred door. It opens a crack, and she and the other person hiss low words at each other. A shining green eye looks Naya up and down, the door shuts, and Bricks draws her away.
They stride, briskly, back to the main street. Bricks asks, "Do you have a respirator?"
"Yes."
"Put it on, don't speak."
Wordlessly, Naya unfolds the mask from her pocket and covers her mouth and nose. Bricks pulls a dark scarf from her shoulders and wraps it around Naya’s head and neck, and then drops a poncho over her head. Somehow, the mercinary looks bigger in just her thin shirt, the muscles and metal in her shoulders more pronounced.
Ten minutes into their silent walk, a man melts from the shadows and starts walking on Naya's other side. Though she can’t see much under his baggy clothes, his gait speaks to digitigrade modifications. When she glances up, he has a faceplate under his own hood. His voice, when he speaks, is robotic. "Bricks."
"Roach."
“You’re looking smug and determined.”
“I’m on a very… interesting job.” An encrypted message gets passed between the two of them, and Naya frowns behind her mask. She shouldn’t be able to tell that a message was sent, though, so she bites her tongue. Bricks smirks down at her, then turns her eyes forward. “What’s on your mind?”
"Shadows are hunting you. Seven thousand credits."
"That's insulting," Bricks dismisses. "Mace take the job?"
"That's insulting," Roach parrots back. Somehow, his metered and inflectionless voice sounds amused. A flurry of encrypted messages flows between them. Once those have finished, he says, "Come see us when your business with the Watcher is done." And then he fades away into the shadows again.
"Good job," Bricks whispers. "Stay silent. Keep taking deep breaths. Walk straight ahead. Don't run." And then she ducks down a side street, leaving Naya alone in the dark.
Fuck.
She keeps putting one foot in front of the other. Measured. Brisk, but unhurried. A couple of people pass on the other side of the street, then a man passes on her side. Under her poncho, she palms her pocket knife, but no one spares her a second glance.
After a full minute, Bricks slides out of the next alley and falls into step with her, a cigarette that smells like real tobacco between her lips. In her cybernetic hand, she has a twitching, bleeding length of what looks like an octopus tentacle the size of Naya’s forearm.
"You can talk now,” she says. “But you don't want to ask about this."
The respirator makes a lot more sense when Naya is led to a shaft to the Belly.
She’s never been to the middle level of the true undercity. Technically, no one should live in this industrial level, so there’s very little in the way of individual commerce and amenities. There is an abundance of dead “topsider tourists” every year, mangled and hacked to drain all of their resources before anyone can realize that they haven’t come home.
This lift is much smaller, just big enough for her to stand behind Bricks as the woman primes her arm. The edge of a plasma knife glows blue from within the mechanics of her bicep. When Naya activates the plasma in her own knife, Bricks looks over her shoulder at the near silent hum.
“You ever use that before?”
“Once.”
That earns an interested noise as the other woman faces forward again. “On a person?”
“…No.”
“Well, there’s a first time for everything,” is all she says about that as the elevator shudders to a stop. “Stay behind my right arm. If I tell you to drop, you fall to the ground and don’t move until I tell you.”
When the door opens, it’s into a pitch black alley. The only light is the obscured gleam from with Brick’s left shoulder. Something in the darkness hisses. Bricks strides forward, and Naya has no choice but to follow after.
They walk for a few minutes without incident before Bricks knocks on a nondescript door. Next to it, a biometric scanner creaks open and scans one of her eyes, then one of her metal fingers. Naya flinches at the noise of a series of locks grinding open.
A stern faced blonde woman is on the other side of the door when Bricks gestures Naya inside. She’s not wearing a respirator, but then, neither is Bricks. The woman doesn’t say anything, so Naya doesn’t either. She just waits for Bricks to finish securing the door, then returns to her spot just behind her.
“Watcher,” Bricks greets with clear good humor. “I brought you a little something.”
Naya huffs a surprised breath from her nose, but stays silent. The Watcher. The overseer of at least one of five active Modified Task Forces. She looks so… normal. A woman in her mid forties, maybe, face lined with stress but open. Naya feels a little thrown off. When the lights flicker, however, she catches the red shine of a cybernetic eye. Whatever mods she has, they’re hidden so well that Naya can’t even sense them.
The Watcher’s eyes scan her for a moment before she’s looking back to Bricks. Naya only has a moment to wonder why she hasn’t been pinged before she asks, “Alive?”
“You always pay more when they’re alive.”
What? Naya stumbles backwards until she hits the door. “What?”
Bricks throws a grin over her shoulder. “I told you not to thank me.” Turning back to the Watcher, she says, “Thirty thousand credits. Had a run in with the King on the way here.”
“No one told you to bring her alive. Fifteen, and we void the Shadows bounty on you.”
“Twenty five. You want her alive, trust me. And I can handle the Shadows on my own.”
Naya gapes at the two of them. A quick glance over her shoulder and query to the door confirms that the locks won’t open again without a lot more force than she could manage, even if she wouldn’t have to fight Bricks to get out. And the Watcher… isn’t motivated to let her live. Fuck. The little knife in her hands feels less than useless.
“She wanted to meet you,” Bricks continues, crossing her arms. “And Price.”
That makes the Watcher pause and look over Naya again. “Oh?”
“She used his name,” Bricks confirms. “Real skilled code-breaker.”
“Hm.” The Watcher frowns, then says. “Thirty thousand is a low ball offer, then.”
“She thinks you’re keeping the task force in cages,” Bricks chuckles. “I want to watch when she sees them for the first time.”
That gets a huff of amusement. “Thirty thousand and a show… Deal. Bring her.”
When the Watcher turns away, Bricks looks back at Naya with a surprisingly gentle smile. “Good job. Now comes the hard part. Let’s go.”
“What’s going to happen to me?” she doesn’t want to walk forward, but there’s not much else to do. She tries to stand away from Bricks, but it’s hard in the narrow hallway.
“Nothing, now,” Bricks laughs. “Got you through the door alive, and Watcher can always use a code breaker.”
It’s hard not to feel stupid. Naya struggles to keep her voice even. “So this was just… a bounty for you?”
“Better me than König.” Bricks wiggles the tentacle that she’s still holding in metal fingers. “And better now than when an actual bounty was on your head. Diving into secure government information brings out the worst kind of trouble. The Shadows would have killed you in your bed. Kortac would have chipped you, if they decided keeping you was worth it. This way, everyone gets what they want.”
“Except me,” Naya points out.
“You’re still alive, for now,” the Watcher points out from a few steps ahead, without looking back. “Considering the problems you’ve caused me, it’s tempting to kill you myself. But Bricks is right. I can always use a Breaker.”
“I don’t do that professionally,” Naya protests weakly.
The Watcher doesn’t break stride. “You do, now.”
They get into another elevator, big enough for eight people. There aren’t any floor indicators, but as soon as the doors close, it starts to descend. Wrapping her arms around herself, Naya shivers. At this rate, she realizes, she may never see the sky again. She’ll be locked in a cage next to the 141, underground, let out to circumvent code for… what? To support more killing? More human experimentation? If she doesn’t cooperate, will they experiment on her? Put a processor in her brain to erase everything about her except for her skill?
Tears gather in the corners of her eyes, and she can’t help a sniffle.
“None of that,” comes the surprisingly gentle voice of the Watcher. When she approaches, she puts a gentle hand on Naya’s shoulder. “You’re here now. There’s no going back. But we take care of our own.”
Bricks snorts. “For given values of taking care of. You are keeping the boys in cages after all.”
“That’s not helpful,” the Watcher says, producing a tissue from her pocket and dabbing at Naya’s eyes. She pushes the makeshift hood back and gently removes her respirator, scanning her face with hard blue eyes. Eventually, she asks, “Why did you come here, Bambi?”
Shoulders coming up around her ears, Naya gets the feeling that because I’m an idiot isn’t the answer she’s looking for. She looks down at her sensible shoes, bracketed by the Watcher’s own worn work boots, and confesses, “Bricks said I could meet with you, and Price. And… I thought I could… encourage you to treat the modified soldiers more like people than animals.”
“And I suppose this encouragement was going to come with a threat to leak records to the public?” The Watcher’s mouth twitches into a sardonic smile when Naya looks up at her again. “Bold.”
Bricks chuckles. “Naive.”
“Hopeful. And some of the best plans are the simplest,” the Watcher dismisses.
Naya wouldn’t call her plan to connect to the building’s intranet and threatening to disrupt all of the life support systems “naive.” Now that she’s locked in, it feels like a distinctly hopeless course of action. She’ll have to think of something else, fast.
The Watcher steps away as the elevator comes to a stop. The doors open into a large control room, huge observation windows giving a 360 degree view out into dimly lit halls. Bricks ushers Naya out, heavy hands on her shoulders, until she pushes her into a chair facing a window to the left side of the room.
“Did we miss feeding time?” Bricks grins and pulls a puzzle ball from her bag. Her cybernetic hand twitches and whirs as it clicks through combinations.
“Luckily for Bambi, yes.”
Before Naya can ask what feeding time entails, something drops from the ceiling on the other side of the glass, startling a yelp from her. It’s a man, tall and lean, slitted eyes shining a red orange as he stares at her face through the glass. He’s half dressed, only in loose pants. Thick, dark streaks of something wet cover his chest and splatter down his legs. The grin that splits his pretty face puts three pairs of sharp canines on display, stained red.
The Watcher pushes a button, an intercom. “Gaz.”
“Who’s this cute little thing, Laswell?” Naya shivers as Kyle “Gaz” Garrick looks her up and down. He looks just like his personnel file, except for a wildness around his eyes that changes his face from welcoming to something dangerous. “Could practically smell her from the street.”
“Back away from the glass, you’re filthy. What the hell did you roll in?”
The man ignores the Watcher, face going soft as he leans down to get on a level with Naya. “Hello, honey. Such a pretty girl, what are you doing down here? You a friend of Bricks?”
Something about his crooning voice makes Naya’s hair stand on end. At the same time, she finds that she can’t look away from the man’s eyes as he tilts his head. They’re such an interesting color, and he keeps shifting ever so slightly in ways that draw her eyes to follow. He jerks quickly to one side when her eyes dip down to the red and brown splashed down his chest, then smiles when she looks back at his face. His teeth - even the extra ones - are perfect and red. Naya’s heart beats a little faster.
A loud pop and sudden flash makes Naya jump as Gaz reels back with a snarl.
“I told you not to touch the glass,” the Watcher grumbles. “Clean up. Make yourself presentable. And remind the others to put their masks on.”
“Sir, yes, sir,” he hisses. With one last, sweet smile to Naya, he turns and strides away before leaping up to grab an exposed beam and hoist himself into the shadows above the observation room. He disappears in the space of a moment. No matter how Naya squints, she can’t tell where he’s gone.
“Don’t look any of them in the eye,” Bricks whispers from close behind, chuckling at the way Naya jumps. “They’re predators, sweetheart, and you’re the sweetest bite of prey they’ve had in a long while.”
“Bricks,” the Watcher (Laswell?) chides. “Get her keyed in. Bambi, you’re not to be alone in here. We’ll get you interfaced with security so you know how to do a lockdown sequence before you’re introduced to the Task Force.”
When she’s handed an interface chip, Naya blanches. “I can’t, I don’t have a hard disk reader. Why do I need to know the facility’s lockdown sequences?”
“There’s no where in this facility that they can’t get,” Bricks replies, distracted as she opens a floor panel to extract a series of wires, and what looks like a very robust integration cable. “And if you’re going to work here, you’re going to need to be able to keep them from dragging you off and eating you.”
“Bricks.” Laswell snaps. To Naya she explains,    “Everyone who works here needs to know how to lock down in case of emergency.”
Naya gapes. “Emergencies? They can - They’re not -! They have full access to the facility?”
“Of course. They can get out of the facility, too,” Bricks snickers. “Who’s going to stop them?”
“Bricks!”
“All of the records say that they’re severely restricted.” The tight squeak in Naya’s voice is undeniable. “What do you mean they could eat me?”
“Old records,” Laswell answers without looking. A terminal lights up under her fingertips. “The only way the SAS would let us keep the facilities without bomb chips. Let me know when you’re ready for input.”
“The part about eating me?” Naya flinches as Bricks circles behind and pushes her hair up to expose the port beneath her left ear.
“If you’re as good as I think you are, you don’t have to worry about that,” Bricks says, shoving the cable into place. “Go.”
“What-”
Laswell launches the integration before she can get the question out. Naya’s whole body jolts, brain flooded with sudden input. She doesn’t dive into the data so much as she’s dragged under the tidal wave of the facility.
The whole structure unfolds around her, five floors, twelve stories down, three shafts up, two elevators, one stair. She’s in the observation tower, which descends three more floors. Heat, cooling, air filtration, power, food storage, office of Watcher One Kate Laswell, office of Bravo One John Price, research labs east and south, conference rooms, break rooms, sleeping quarters, inventory, directory of personnel.
Access Denied.
It’s nothing to shuffle the alert away. Asset Records. Veronica “Bricks” Mason, Gary “Roach” Sanderson, Mason “Mace�� Ward, [Redacted] Nikto, Morgan “Sparrow” Voss. The list goes on. Task Force 141. Kyle “Gaz” Garrick, John “Soap” MacTavish, John “Bravo One” Price, Simon “Ghost” Riley. Vital statistics steady, duplicate identification signals, three dead copies, one living set. Security, kill switch overrides. These doors won’t close, but they’ll tell the observation tower that they have. Interesting.
Diving a layer deeper, she observes three separate security records. One is distressingly familiar, the records she’d found before, that spurred her to find Bricks, full of echoes of old code, now that she can see it. Then the one with logs going to Watcher One Kate Laswell, current and accurate. Except that the third log indicates security discrepancies and pings to KGKLJMJPSR. She logs the discrepancy on her own, internal system, a reminder to see if she can piggyback on someone else’s clearance.
Now that she’s thinking about it, she scans for what her clearance is supposed to have access to. It’s the second level, the one that doesn’t actually close the security doors surrounding the servers, sleeping quarters, and the observation tower. Well, that won’t do. She makes a digital copy of KL’s access and patches it into her own.
Just as she finishes, four ID tags simply labeled “Ghost” enter the lowest observation tower floor. That’s a glaring red security alert, and it only doubles in urgency as he accesses the hatch to the system port cable.
“Oh, that’s bad,” she hears herself say aloud as she gropes, blindly for the cable in her neck. “Ghost is accessing, I need to disconnect before he-“
Three more security alerts come up as the ID tags for Bravo One, Gaz, and Soap appear around the top floor of the observation tower, their floor. Naya quickly circumvents the overrides on the blast doors, and half observes rolling shutters covering the windows as Laswell makes a startled noise. Unfortunately, Ghost finds her while she’s distracted.
And he is a ghost, sliding between the layers of Naya’s own security code like a cold breeze. He rifles through her ID cards before she can even try to lock down. When she tries to lock him out of her interface, he slams through so fast it sends her reeling. Unfortunately for him, and for her, he trips over her Brain Blast in the process. The packet of musical theater data explodes to override everything she’s connected to, knocking her out of her connection to the facility and blaring Ohmigod You Guys through the speaker systems of the facility.
“What the fuck,” Veronica Bricks Mason shouts, covering her ears.
“Sorry, sorry,” Naya yelps. She manually reopens her access to the facility and cuts the sound. Her head spins with new information that she doesn’t have time to let her organic brain process. Ghost is nowhere to be found, but she doesn’t wait around to see where he pops up again before locking herself down and physically removing the cable from her neck. “Ghost tripped my security protocol.”
“You shouldn’t be able to influence any part of the facility,” Watcher One Kate Laswell observes. “Which means you’re every bit as good as Bricks says you are. Why did you lock down the tower?”
“Just this floor,” she answers absently, looking around as her interface flashes and labels new data points about her surroundings. It takes a moment for her to filter through everything enough to focus. “Bravo One, Gaz, and Soap were approaching as Ghost tapped in on the bottom floor.”
“I should have charged more,” Asset:Mason chuckles.
“Maybe you should have, Veronica,” Naya replies without thinking.
The woman just laughs. “Oh ho ho, you’re even better than I thought.
Watcher One Laswell drums her fingers on the table. “You don’t have a hard disk reader. Can you still access the facility without a hard line?”
Naya has to shake her head before she runs a quick system check. A ping to the 141 Facility gets a happy little ping back. “Yeah. My, um… my interface is a bit more robust than standard.”
Watcher Laswell nods. “Noted. Reset the security settings.”
Naya almost does it on autopilot, but stops herself. Running a quick check, she shivers. “They’re still out there. Three of them.” When Laswell only nods, she nudges the blast doors and security shutters to open. It takes a moment, but eventually they start to rumble to life.
Worryingly, when she can see through the windows again, Bravo One, Gaz, and Soap are no where to be found. The only active vitals in the facility say they’re right across the glass from where Naya is sitting. It sends a chill down her spine. Diving through the facility systems, she had felt untouchable. But she’s been outmaneuvered again. Unless…
She stands and leans closer to the glass, looking up into the shadows above.
Three pairs of eyes shine down at her from the darkness.
“They’re up there,” Naya whispers. When Laswell simply answers in the affirmative, she activates the intercom with a gulp. “Um. I’m sorry about the noise.”
“That’s quite alright, sweetheart,” a deep voice answers. “Ghost has a way of startling pretty girls. And I quite like a bit of theater.”
Well it’s not Gaz, and there’s no hint of a Scottish accent. “Are you… Bravo One? John Price?”
“You are a clever one.” One of the pairs of eyes squints and tilts. Another shuts, and doesn’t open again. Soap’s tags move a short ways away as Price continues. “Bricks says you asked to meet me.”
“Yes, sir,” Naya says, and then remembers too late that Bricks said not to meet their eyes. She tears her eyes away and jumps at the sight of John “Soap” MacTavish standing a few feet down the hall in front of her.
He looks good, surprisingly so. His hair is long, braided mohawk shining. A gleaming scar is the only indication of the wound that almost killed him. He’s healthy, big and bulky and dressed casually in black joggers and a tight black tshirt. Bright blue eyes with crossed pupils scan her face with interest. When he grins at her, his sharp teeth flash with titanium augments.
“Gaz wisna exaggeratin,’ ye smell quite nice, Bambi,” Soap purrs.
“What part of ‘masks on’ don’t you all understand?” Laswell grumbles.
“They’ve already got her scent,” Bricks snickers. “Did Ghost get your tags Bambi?”
“He did,” Price confirms from above. “Naya Walker, also known as Bambi. Computer scientist, you’ve sold a couple of database systems. Quite impressive.”
A pit opens in her stomach. Ghost had access to her system for less than three seconds. Her throat is tight when she says, “Thank you, sir.”
“So polite,” Gaz chuckles from above. “Come say hello, doll.”
Naya chances a glance back at Kate, then looks back at Soap, then up at the single pair of shining eyes above as Price’s ID winks away from your awareness. “I’m not sure I have clearance for that.”
“You didn’t have clearance to know about this facility,” Gaz points out. “And yet, here you are. Pretty as a picture.”
“Jesus,” Bricks mutters as Laswell makes a startled sound. “We really should put a bell on you.”
And then a huge hand presses against the glass next to Naya’s face. She startles backwards and runs into a huge, solid body, and yelps as a strong arm catches her about the waist.
“Caught ya,” a fourth, deeper voice rumbles above her. His other hand catches both of her wrists and immobilizes her as she stares at dark brown stains up to his wrists. “Been teasin’ us f’ months, dippin’ in an’ out ‘f m’code. So careful, li’l fawn. But not careful enough.”
“Ghost,” Laswell says. The whine of a plasma weapon being primed pierces through the otherwise silent room. Naya squeezes her eyes closed.“Hands off. That’s my Breaker.”
“’S’at so?” Ghost bends down, so far down, it seems, to drag the tip of his nose along Naya’s temple. “Seems she moight be mine, since I invited ‘er.”
“Speaking of,” Bricks interjects. “I’ll take my finder’s fee, now.”
“Bricks.” Laswell hisses.
“Transfer’s cleared, Bricks,” John Price says with a chuckle. “Pleasure doing business, as always.”
Like Gaz and Soap, Captain Price is bigger than his file made him seem. They’d shaved him, when they had replaced some of his bones with metal, but now his facial hair is as full and vital as the rest of him. This close, Naya can see the mechanics whirling within his eyes.
Leaning against his free side, Gaz licks his lips with a tongue that seems too long. But she only sees them for a moment before she’s being turned around, still wrapped in Ghost’s arms.
On the left side of the room Bricks lounges in a chair, tossing and catching and cycling through the combinations on her ball. She’s grinning like she’s gotten away with murder. Maybe she has - she’s been paid three times today for possibly the easiest bounty of her career. Across from her, Laswell holds a glowing knife in a loose grip by her side, shooting an annoyed glare at the other woman.
“What the hell is this?” Laswell hisses.
“You told us to stop hunting your techs,” Price chuckles.
“Bambi is mine,” Kate reiterates, glaring out the glass.
“Just a wee taste, Watcher,” Soap burrs from somewhere. “Ghost is code breaker enough, ye dinnae need another.”
Naya feels her entire body go cold. She takes a deep breath, reconnects with the facility, and runs Flash_Bang.exe.
The underground building has a straightforward layout, but that’s dangerous. Naya flicks away the alert when Ghost manages to patch his way back into the facility and silence the music - fuck, it only took him twenty eight seconds? - and ducks under a desk in the office she broke into, one floor down.
It’s hard to stay one step ahead of him, but her spiders and bots repair the five second camera feed loops as soon as he forces the cameras back online. He only wastes time breaking a third of the bot codes before he seems to realize that they’re replicating and switches to tagging, leaving them to run their processes.
It takes two agonizing seconds for her to open the audio relay from the observation tower without revealing her location to Ghost’s sweeping pings.
“-vilian running wild and scared through a secure facility, John.” Kate snaps.
“I thought she was your new breaker,” Gaz snickers. “Not really a civilian.”
“Nae,” Soap interjects. Naya is glad she doesn’t have video to see the nasty smile she can hear in his voice. “Watcher’s right. We cannae let her get too far.”
“She’s fucked the cameras,” Ghost chuckles. “Could get them back online, but it’d take some time.”
Price hums. “Location?”
“West labs’re pingin’,” Ghost answers. He sounds pleased. “Don’t mean much. She’s got bots spoofin’ her IDs.”
“Smells like she’s gone to the east wing,” Gaz purrs. “Lots of classified documents that way, Laswell. Hate to think of what she might come across if she makes it down to the third floor.”
There’s a tense silence before something slams. Eventually, Laswell hisses, “Fine. Bring her back. Alive and unharmed.”
“No promises,” Soap laughs.
Naya scrambles from her hiding spot as she confirms that the cameras in this south wing hall are looped. She needs to get back to the north side of the facility to get to the stairs that might take her up and out. But first she needs to get them off her trail… Somehow.
There’s a janitor closet two doors down, and she spoofs the signal to unlock the door just long enough to slip through it. She looks for bleach and prays it will be enough to mask her scent, then curses to herself when she realizes the bleach will be an obvious mark of her presence. She can’t just erase herself in the physical world the way she can, digitally.
An encrypted message alert calls her attention.
>>>Bricks: Soap will run at you directly. Gaz likes to ambush. Good Luck!
“I c’n see that, Bricks,” Ghost rumbles.
“She’s already at a disadvantage,” the mercenary chuckles. “Poor little thing, you’re going to eat her alive.”
“Oh, she’s not as harmless as all that,” Price laughs. “Took over the whole facility, gave Ghost the slip-“
“I let her go,” Ghost interrupts.
“Set up the meeting so there’d be no one here but us. Got her hands on the codes she thought would let her take control of us, the mindless killing machines.” John continues. He chuckles. “She’s a smart little thing.”
“She got the deadswitches?” Bricks sounds genuinely surprised.
“Command codes. The first ones,” Ghost confirms. “Duds, since we don’t have the chips, but she don’t know that.”
Well, she does now. Naya grabs three bottles of bleach and puts her respirator back on as her mind races. Part of what made soldier modifications so disgusting were the control processors. The irony of finding out that the 141 had somehow removed theirs was not lost on her. They’re already as free as she’d hoped to help them be, and they’re using that freedom to hunt her like animals.
The IDs for Soap and Gaz are still a floor above, moving slowly, following her trail. Ghost and Bravo One are still in the observation tower. She opens one bottle and rolls it back down the hall she came down, then jogs the other way, splashing the bleach as she goes. The observation tower in the center of the floor has mirrored glass, spiking her heart rate every time she catches sight of herself out of the corner of her eye. It’s so jarring that she almost doesn’t realize Gaz and Soap are coming out of the nearest elevator.
She ducks into an office just as the bell dings around the corner.
“Ach, that’s nae very nice, Bambi,” Soap calls. When he speaks next, it’s muffled, likely by his own respirator. “Ghost, she’s scent bombed the whole steamin’ floor. Where is she?”
“Don’t be lazy, Johnny,” Ghost chuckles. “’Ardly a hunt if there’s no challenge.”
“She’ll want the stairwell,” Gaz says. “Lock it down.”
“Already done,” Ghost says. “But locks aren’t exactly a deterrent, if you ‘aven’t noticed.”
“Bottle rolled down this hall,” Gaz says. “So she probably took the other.”
“Aye, that’s what she wants us to think,” Soap chuckles. “I’ll clear this side.”
Naya holds her breath as heavy footsteps start toward her hiding spot, then go so light she almost can’t hear them. She watches the light under the door and resists the urge to flinch at the appearance of a shadow. The man - Soap’s ID sits like a brand so close to her own in her interface - lingers by the door for a long moment then moves on. He’s so quiet that she keeps the map of the floor up to watch his progress. He’s listening for her, she realizes, stopping at each door. She’s lucky that the air circulation vents are above the door, or he might have heard her heart racing.
When Soap and Gaz each turn corners to start investigating the south wing, Naya finally lets herself take more than the shortest breath. She eases the lock open with a flinch at the mechanical click, but neither Soap nor Gaz change their trajectory. When she opens the door and peeks out, the hall is empty. So she eases her way out, crouches low, and shuffles as fast as she can to the stairwell.
She gives the locks three scans before coding them to unlock. The light turns green without incident. She waits for a moment. Soap and Gaz move just a bit farther away. Naya breathes a silent sigh and eases the door open.
“Got her,” Ghost says. “She’s in the stairwell.”
Above her, a door slams open. Naya yelps and starts jogging down the stairs before she can hear what Captain Price yells down at her. She brute forces her way through the lock codes for the third floor and pulls the door open, throwing her bottle of bleach at the wall before slamming it shut. She trips every proximity alarm she can, leading west through the third floor as she throws herself down the next flight. At the fourth floor door, she creates a signal loop, mindful of the door sensor she’d overlooked before. She hears Gaz and Soap slam through the second floor door open just as the door to the fourth closes behind her.
Too late, she realizes that she can’t hear into the tower anymore, and the map of this floor is all static in her interface. The schematics she had before are corrupted - Ghost’s doing, most likely. She can still see the locks on the doors, the terminals connected to the intranet in the various offices. It will have to be enough.
She darts into the eastern wing of the floor and realizes that no, it won’t be enough. The layout is different than the upper floors. The observation tower has no windows in this direction to speak of, for one. And the cameras are few and far between. The doors are also farther apart, and low pile carpet gives way to hard linoleum.
When she turns the corner, she gasps and ducks. Not that it would have helped any. She’s faced with a gymnasium, weight machines and benches and treadmills like a normal gym, except with weights so large it’s almost comical. There’s no one here, but the open space feels like a threat all the same. She turns tail and jogs back toward the observation tower.
As she turns south, she realizes that the tower has no windows on this floor. It’s not a relief, not really. Even if no one can see her, she’s trapped. Gaz and Soap are still looking for her, one floor up. How long will that last? The bleach trick can only work for so long, probably. And Ghost is good, it’s only a matter of time before he breaks into the camera bot code and finds her. How is she going to get up, past the first floor, let alone the next twelve flights of stairs to the streets of the Belly.
God, how is she going to make it home?
Her vision blurs with tears before she can finish taking her next breath.
“No, no, no, no, no,” she whimpers before a hiccup jolts through her. Her breath shudders from her throat as she swipes at her eyes. “No, no, keep it together, it’s gonna be okay. I can figure this out, I can. I can, it’s okay.”
“Bambi? Talk to me,” Brick’s serious voice comes through, suddenly, fuzzy but definitely there. “Those sound like tears, sweetheart.”
Naya sobs, she can’t help it. It’s a few seconds before she can force more words out. “Why did you do this to me?”
“You asked me to bring you,” Bricks reminds her with a soft chuckle. “Didn’t know you were gonna try to take over the whole facility, or I might have set something else up. But if you come out now -“
A hand touches Naya from behind and she screams, throwing a HardReset packet into the space before she can even wonder if that would have any impact on Soap or Gaz. When she whirls around, though, a man she doesn’t recognize is slumped against the wall, barely keeping the weight of a bricked cybernetic leg from dragging him to the floor. Her interface has a moment to tell her this is “Mace,” before she’s darting around him and running again.
“Fuck!” the man shouts. “Watcher what the fuck- No, I’m on the fucking training floor, why the hell-“
“Bambi,” Bricks shouts, “Do not go into the w-“
She slams the connection shut and tries, unsuccessfully, to wipe her tears away. The distraction is probably why she doesn’t realize she’s heading north, but she knows her mistake as soon as she hears the stairwell door open.
She screams again, right in Gaz’s face, can’t help it now that she’s finally made noise. She dodges his reaching hand and bolts, knowing she can’t outrun him, but what else can she do?
“Shite. Ghost!” Soap calls. “Lock it doon!”
Naya dives through a blast door as it slides shut, ignoring the myriad of voices that shout at her. Through the panic, she terminates all of her bots and slams all of her processing power into separating Ghost from the security access from the floor. He puts up a fight, but another BrainBlast and FlashBang gives her the two seconds she needs to take control.
An alert flashes.
<<Message from: WatcherOneKL. Accept?>>
Sitting on the floor, panting and sniffling, she gulps a deep breath. Someone pounds on the door, but it’s solid, and Ghost can’t get past her bots to regain control. She’s safe.
In the observation tower, Price frowns at the data pad in his hands. “Ghost, Bricks. Where did you say you found Ms. Walker?”
“Found us, really,” Ghost mutters, focused on the 3D hologram of the facility. Bambi’s ID markers dance all over the place. He’s running algorithms to try to find a pattern, but she’s three steps ahead, it seems. “Set out a lure and she tore through it like tissue paper. An’ then she made a forum post lookin’ f’r information on soldier mods.”
“Scrubbed everything clean,” Bricks adds. “We couldn’t find her for days after she blew through everything. I got lucky that I found the forum post, it didn’t even trigger Ghost’s spiders.”
Price hums. “And… did either of you confirm which hacker group she’s a part of?”
“Didn’t really have time,” Bricks answers with a shrug. “As soon as I confirmed who I was, she demanded to meet Laswell, and you.”
“Interesting. Any of you ever hear of a group called the Archivist Collective?”
Laswell frowns. “Collective for Anarchy?”
“No.” Price shakes his head. “Archivist Collective. It’s the only thing coming up with her background check. And she’s not a known member of any of the major hacking groups.”
Bricks shrugs. “Obviously, she’d use another alias.”
“No,” Price says again, walking over to show Laswell and Bricks the data pad. “None of her aliases are connected with anything but this Archivist Collective. And their only mission is to ‘Counter censorship through the collection, preservation, and dissemination of contested and classified texts.’”
Ghost makes an interested noise and leaves the hologram to start another terminal whirring. “Let’s see what they’ve got then -… oh.”
Bricks sits up from her sprawl. “Oh?”
“They’ve got an archive. Barely any security at all. Hosted on the GaiaPet: Craft servers.”
“GaiaPet?” Kate frowns. “Isn’t that a… virtual pet game? Where people make things with voxels? Procedurally generated…. They’re definitely robust enough servers for cyberattacks-“
“It’s jus’ a fuckin’ library,” Ghost grunts, navigating through. “Huge text files, embedded images. Some of it’s definitely classified. But tha’s oll… Oh, shite. Jus’ found our records.”
Bricks looks from the terminal in Price’s hand, to Ghost, and back. “Wait. John, you said she sold a couple of database systems. She’s got to be working with some data brokers, at least.”
“This says she developed and sold literal systems,” John says, horror dawning on his face. “A spreadsheet editor and a UI designed to organize complex data sets. As far as I can tell, she doesn’t sell information. Everything she’s got, besides those systems, is open source.”
“Oh, fuck,” Ghost breathes.
Kate strides up to look at his screen. “What?”
“She’s got an active account on GaiaPet. A pet frog named Señor fuckin’ Snuggly. Her last login was today, and her chat with the AI said ‘Wish me luck, if we can’t get those soldiers released, we can at least get the information out there.’”
The silence in the room is palpable. And then Bricks says, “Bambi? Talk to me. Those sound like tears, sweetheart.”
Naya keeps her arms wrapped around her knees until she stops shivering. In that time, two more message request alerts pop up, from BravoOneJP and GhostSR. All of them are marked maximum priority, and she has no desire to touch them. She can see the signal burst of Bricks trying to talk to her, but she’s muted the feed so that she can just have… a single second to breathe.
Her interface pushes everything away to prioritize an SOS signal, then automatically begins transcribing the subsequent Morse code message.
SOH. West wing dangerous stop. Battle androids stop. 15 active 20 inactive stop. GSR give code for control stop. Confirm stop. SOH. West wing dangerous stop. Battle androids stop. 15 active 20 inactive stop. GSR give-
She minimizes the message and sucks in the deepest breath she can, holds it, and forces herself to focus on her body. If she thinks about fifteen battle droids on this side of the door while modified soldiers hunt her on the other, she’ll start screaming and never stop. A part of her wants to lay down and just… give up. A big part. The whole part.
She opens the message from Laswell.
Bambi: You’re in a hazardous section of the facility. Ghost is standing down, for your safety. You will have to establish connection with the control tower to gain codes for control of battle -
Naya deletes the message and opens the one from Price. It’s more of the same, a demand that she open communication, a warning that the west wing of the floor is dangerous. She almost doesn’t open the message from Ghost, but… she doesn’t have much to lose.
She jumps when the message contains an audio file.
“Bambi, fuck, we didn’t know you was a literal archivist. Bricks an’ I fucked up. This is a truce, a suspension of hostilities. SOH. The training floor you’re on is fuckin’ dangerous, Bambi. Too dangerous for me to try t’ take it from you. You gotta take control of the droids. I can’t fuck wit’ ‘em while you’re in control of the space. I managed to confirm shut down of 20, but there’s 15 more. I c’n try to send the control codes this way, but the codes expire every 2 seconds. Better if you open comms. If you can’t, Morse confirmation, I’ll send the codes. Once you grab one, the rest will come for you. You’re fuckin’ fast, I know you can do it, but if you have an issue, open the door an’ Soap and Gaz’ll support.”
She’d rather be shot full of holes by military grade turrets than open the door. Her map of the facility is complete again, and she can see four IDs on the other side of the barrier. Soap, Gaz, Mace, and the redacted asset, Nikto, mill around, pacing between the blast doors and the central tower. But no one is pounding on the door or trying to open it, physically or otherwise. When she checks, her bots are idly cycling through access code randomization, but there’s no attempts at a breach.
Maybe Ghost is telling the truth?
She sends a Morse message.
Received stop. Hold for confirmation stop.
The answer is immediate.
Received stop. Holding for confirmation stop.
Does she want to open the comms? What if it’s a trap? Without knowing how long the code chains are, she’s at a disadvantage without a direct link to the tower. But if she opens connection to the tower, how can she guarantee that Ghost won’t command the androids to terminate her? On the other hand, if he is telling the truth, and the codes expire that fast, there’s no way she can locate and override that many machines that are actively trying to keep her out in time. And they are definitely trying to keep her out - her spiders have been able to confirm twenty units on standby, and fifteen empty holding stations, but there’s no sign of the other droids.
With a shaking breath, Naya opens the comms.
Brick's voice is the one she hears first. "Oh, thank fuck, she's back. Bambi? Can you hear me? Sweetheart, I need you to keep the blast doors static. If they cycle, they might start a lockdown sequence, and that will get the droids moving.” It takes two tries to get the words past her tight throat. "I don't want to die." "I'm so sorry, dove," Captain Price croons. "We’re gonna get you out of there.” "I won't tell anyone, I promise," Naya babbles though gasps. "I just want to go home." "You're gonna be okay, Bambi," Ghosts voice is surprisingly gentle. “Cleverest breaker above and below the city, yeah? Gave Soap an’ Gaz a proper chase an’ knocked Mace on ‘is arse. Coupl’a droids don’t stand a chance.”
“I’m not - I don’t know how to fight,” she whimpers.
“Who said anythin’ about fightin’? Pretty girl like you don’ have t’ lift a finger. Laswell?”
“Working on it,” the woman mutters. “Bambi, I need you to try to give us cameras without initiating any other processes. That’ll help- oh. You are fast. Give me a few seconds to find the nearest droids and we can give you the serial numbers.”
“She’s so small,” Price notes, somewhere in the background. “Possible the droids won’t even register her as a target.”
“I think we’ve fucked up enough today that we don’t need to risk it,” is Brick’s bone dry reply. “Sparrow is going to beat all of our asses.”
“Well, we’re about to give Bambi control of thirty-five full combat units,” the Captain points out. “Might not be much left of us to kick.”
Laswell breaks in. “Ghost-”
“Got em,” Ghost answers. “Bambi, ‘ve got a bead on the nearest units. ‘ow do you want to do this?”
Naya takes a couple of deep breaths and tries to hype herself up. It’s just code work. There are other variables, but at the core of it all, it’s just code. Yes, many of the variables have potentially painful and fatal consequences… But in the end, she can either do the code or not. And if there’s one thing she can do, it’s code.
“H-how,” she clears her throat and blinks back tears. “How many bits, per unit? For the key, I mean.”
“Forty ninety-six.”
Oh, just the highest security rating in the world, she thinks to herself, a little hysterical. She nods to herself and talks through the urge to giggle with nerves. “Okay. That’s seven hundredths of a second per unit, with the key. That’s… not so bad. I can probably handle them in batches of 5. Can I have the first hardware address? Morse, please.”
It takes a second, but the information comes through. It only takes a moment for a spider to highlight the machine in the network. Very quickly, her bots are able to identify and tag seven other units on her map. She shoots a summary data packet back to Ghost.
“Are these all droids?”
“Yeah, that’s half of ‘em. Laswell, she was able to identify all of the A-27 units, do you have eyes on any of the E-243s?”
In the background, Price mutters, “Kate hasn’t even laid eyes on all of the 27s.”
Another data packet comes through, and Naya is able to tag seven more dots on her map. Fifteen battle androids, and two of them just down the hall and around the corner on either side.
Naya takes another hiccuping breath. “How fast can they move?”
“A-27s are closest to you, they’re about a meter per second. The 243s move at about 4 per second.”
“Okay,” she says, holding her breath through another hiccup. She has two of her bots run movement simulations, and decides she’ll focus on the closest two A-27s, then the closest four E-243s. She has the processing power to do it, between her own interface and the facility. But… “I’m going to need these six keys first, but I have to let the doors cycle. How long is the lockdown sequence?”
Bricks makes a concerned noise before answering, “Fifteen seconds before you can open the door.”
So, if she messes this up, she’ll be dead for about 11 seconds before they’d be able to retrieve her body. Wonderful. “Ghost, I need all of the codes at once, in two packets, with the keys in this order. And then the next set of keys as soon as you have them. There’s a half second delay, so I need them as soon as they’re generated.”
Laswell sounds genuinely concerned when she asks, “Is that going to give you enough time?”
Naya runs the numbers again, and realizes that she’s fallen into a very peculiar state of calm. “I should have one point three seconds plus a little wiggle room per key. That’s plenty, for the first part. And if the first part doesn’t work… I don’t really have to worry about the rest of it.”
Captain Price’s voice is stern as he gives commands. “Gaz, tell Nikto to power up the cutter, in case we need to get you through the door. Bambi’s going to override the droids.” He’s quiet a moment, then, “Ghost says she can do it, and from what I’m seeing up here, I’m inclined to believe him. But the resets she did mean the door is going to lock down before she can open it again.”
Ghost says, “Ready to send the next round of codes on your mark, Bambi.”
Naya squeezes her eyes shut and sets her bots to be ready to receive and engage the keys. She takes one long, deep breath. Another. Lets all the air out in a huff. “Mark.”
As soon as the packet comes through, her interface is a flurry of executables and intrusion alerts. Her bots are fast, but the activation of the keys isn’t instantaneous. Just as she was warned, as soon as the first set of keys starts running, all of the droids set themselves to Active:Seeking, Objective:Eliminate. But almost as fast, they’re all placed back into Standby:HoldPosition in a wave that flows through the entire wing.
"That's all of em," Ghost sighs, four seconds later. Something creaks, probably the chair he's sunk himself into. "Fuckin' 'ell, she got all of em. Don' think she even needed me to provide the third set of keys. If she don't run screamin', I want her runnin' the damn-" Naya's heart spikes as an alert pings her interface. Her voice squeaks when she calls, "Ghost? There's two units coming online. They’re not listening to me, I can't stop them. What do I do?" Before she can hear his response, the power to the hall cuts out. Naya holds in a scream as everything goes dark and then red with emergency lighting. Captain Price's voice is overtaken by static, and then she loses the tower completely. Somewhere, in the darkness, she can just barely hear the whine of attack units Riley and Merlin priming their weapons.
“Goddamn it,” Kate snarls. “It’s the 9s. They’re jamming the signal.”
Bricks jumps up from her chair. “Bambi’s in there without access to the system?”
Ghost makes a disagreeing noise. “They’re active because she’s not an authorized user. They’re jamming anything that isn’t local to the wing, I should be able to patch- Johnny!”
“We cuttin, LT?”
“Forward these packets to Bambi, nothing else.”
“Aye - fuck!”
A message request from SoapJM flashes on Naya’s screen just as she finds out that these new droids can move at thirteen meters per second. When she opens it, she gets an immediate key packet. Every bot she has gets set to receive, but the keys are expired, so she has to wait an agonizing three-quarters of a second before the next ones come through.
Just as a next packet arrives, a blue beam of light slices across the end of the hall, then a second from the opposite side. She barely has time to match the keys to the hardware addresses before two furry muzzles round the corner, guns glowing from their shoulders. Naya has only a moment to recognize the controversial K-9 battle units before they both take a step in her direction. And freeze.
It’s an harrowing second of silence, two, three. She doesn’t even breathe.
With a whir, mounted turrets power down and withdraw back behind artificial fur. The K-9s change their status to Standby:AcceptNewObjective with identical head tilts. The one tagged Riley wags its tail and trots forward, tongue lolling like the average bio-dog. Merlin approaches with a little more hesitant body language, though Naya can see the way it’s integrating her tags into the authorized user list in its software.
She flinches away from the door at the high pitched whine of a plasma cutter on metal. Hastily, she sends an ‘All Clear’ message back to Soap, just as the lights come back on.
Captain Price’s voice resolves with renewed connection to the control tower. “-both of your necks. What were you thinking?”
“Oh, suddenly we’re all about vetting assets?” Bricks laughs. “You recruited me with a bag over my head.”
“You were an establlished CIA asset,” Laswell grits out.
Bricks scoffs. “And Sparrow and Nikto?”
“We wasn’t wrong,” Ghost interjects. “Bad intel aside-”
“No intel!” Captain Price half-shouts.
“-she took the facility from me twice and disarmed 15 droids in less than 4 seconds without any formal training. She’s good.”
“None of that matters if she’s dead,” Laswell snaps.
Naya clears her throat. “I’m not dead.”
“Bambi!” Bricks sound downright cheerful. “Doors are almost done cycling, you’re almost out. Hold tight.”
Petting a hand over the soft fur of Riley’s head, Naya feels for the lumps of it’s internal machinery. Of course, she can’t find it - K-9s were built for stealth and surveillance, to blend in with any other dog. These ones are modified for combat, but they’re still adorable.
It’s almost hard to believe that they were going to shoot her, less than ten seconds ago.
The blast door’s status changes to ready, an almost cheerful ping in her interface. She barely gives it a thought before initiating another lockdown sequence, then queuing two more behind it.
Ghost notices. “Bambi?”
“I need a minute, please,” she answers, then cuts the camera feeds.
Merlin eventually comes and sits just out of reach, tail thumping once against the ground. Naya pulls up it’s configuration settings and examines the personality controls. Calm, but friendly, alert, reserved, breaks “arbitrary dog rules” at a rate of 6%. Riley: open and playful, eager to please, breaks rules 17% of the time. Both locked to 141 facility 4th floor, west wing training center.
Do Not Remove.
When the blast doors open, Naya is standning a few feet back. Riley and Merlin lay on either side of her feet, solidly in a sleep cycle. Her fingers dig into the opposite sleeves of her cardigan as Soap and Gaz come into view, along with a fully functional Mace, and a fully helmeted cyborg she can only assume is Nikto.
“Steamin’ Jesus, bon,” Soap says taking a step forward. “Ye gave us a wee fright!”
“If you get within three feet of me,” Bambi says, pausing for a deep breath. “I’ll shoot you.”
Three set of eyebrows shoot up. Nikto’s faceplate remains unchanged. Gaz looks at the others before answering, “We’re sorry we frightened you, love. We didn’t know Bricks hadn’t-”
Naya interrupts him. “I would like to leave now.”
“Well…” Soap says with a shrug. “We can take ye back t’ Laswell?”
“That’s fine. Riley, Merlin, up.”
When the dogs “wake” and stand, Mace says, “They can’t pass that door.”
She takes a step forward, flanked by the dogs. “I think you’ll find that they can.”
“Nae, Bambi,” Soap says gently. “They’re hard coded-”
Riley’s turret activates as soon as Soap takes a step toward her. Naya takes another deep breath, and repeats, “If you get within three feet of me, I will shoot you.”
“Well you certainly won’t be doing that with the dogs,” Gaz scoffs. “We won’t touch you, but you really should come with… us.”
The dogs cross the threshold of the door with her, and the plasma cannon in Merlin primes with a dangerous, high pitched sound. When the stunned soldiers don’t step back, the dog’s chest panel opens with a blue glow.
“Three feet,” Mace says, taking two big steps back, hands in the air near his head. “You got it.”
“Yes, sir,” Gaz says aloud, taking his own step backwards. “The doors are open and we have eyes on her. She’s got the 9s with her. Well sir, it seems she’s taken a liking to them.” He pauses. “Soap did tell her that, but apparently she doesn’t really care.”
Naya rolls her eyes and enables the cameras in the hall. “So you’re all allergic to just saying things outright?” The muted audio feed is a flurry of activity, but she just gestures down the hall. “After you.”
In the end, everyone ends up in a second floor conference room. Naya stands by the far wall, Riley and Merlin a deadly guard panting in front of her feet. The other eight sit and stand at the other end, fidgeting and clearly searching for a way to break the silence.
Bricks tries first, “Sweetheart-”
“Give me a reason not to overload the filtration systems,” Naya interrupts.
That makes everyone flinch. Laswell clears her throat. “What-”
“Because,” Naya nearly shouts, “I could shoot at least two of you, but then you really would kill me this time. But if I backflow and spark the air, that would kill all of you.”
“Kill ye, as well,” Soap points out.
“I thought I was going to die about five times in the last hour,” Naya says, much calmer than she feels. “Mention me dying again and I’ll fry your interface.”
“Ghost just aboot did tha’ already,” Soap mutters.
“Need a hacker for an op. Thought you was a professional,” Ghost finally admits after a moment of tense fidgeting. “Way you ate through the files I laid out, blew through a 256 like tissue paper. Couldn’t find you after… Figured you knew what you was doin’. And y’do.”
Naya’s eye twitches. “And you couldn’t send me an email? Set up an interview?”
“I did try,” Bricks points out. “But you said all the keywords that tend to get a person fast tracked to a very classified meeting.”
“A very classified meeting where you sell me, twice and then hunt me for sport?”
“Everything sounds bad when you say it like that,” the other woman chuckles.
The air circulator over the door falls silent. In the ensuing silence, Naya can hear the servos whir in Bricks’s arm.
“Clearly, we made mistakes,” Laswell admits. “So. What do you want?”
“I want to not have been sold and hunted for sport. Barring that, I would like a time machine. I’d love to know what you consider an equitable offer, Watcher One.”
“What the fuck did you do?” Mace hisses at Captain Price.
“Apparently we made a tactical error,” the man grumbles. “And then a series of compounding tactical errors.”
“You did not ask Nikolai,” Nikto says, matter of fact. It’s the first Naya’s heard his voice, human and heavily accented. “Or Sparrow. She will not be pleased, I think.”
“None of Nik’s contacts c’n do what Bambi c’n do,” Ghost counters.
“Bambi can kill every person in this room,” Naya says, voice flat, emphasized by the glow of two plasma cannons. “Bambi can turn this whole facility into a goddamn crater. Bambi can post videos of the human experimentation to the holonet.”
“Woah, woah, woah,” Gaz says. “What human experimentation? No one’s experimenting on anybody.”
“I saw the videos!” Naya yells. “People in cages, people on operating tables, awake, screaming, crying. I saw people eating raw meat, off of leg bones, eating people!”
“Oh fuck,” Ghost says, voice wavering. His face is stricken when she looks at him. “Bambi, that weren’t for you to see, fuck, ‘ow deep did you fuckin’ go? I didn’t even-”
“That’s the job,” Bricks cuts in. “That’s why we needed a hacker, because we’re trying to stop that from happening, and we can’t get through their walls or exploit their vulnerabilities.”
“Oh, that’s just the “bad guys”?” Naya scoffs. “Okay. Why was Gaz covered in blood when I arrived?”
“Blood!” Soap yelps. “That was hydraulic fluid an’ oil! One of the bikes is actin’ up, and our mechanic isnae aroond!”
“It was in his teeth!”
“He’s bonnier than he is graceful!”
“Oh, fuck you, Tav!”
“You said you couldn’t promise to bring me back alive! Ghost called it a hunt!”
“Ah was jokin’!” Soap runs and hand over his mohawk. “We’re a right frightful lot, and sometimes we sneak aboot, but mostly people just cannae always hear us coming! Ye’d think we could catch one wee little civilian withoot incident!”
“You’re the one who was running through a secure facility,” Captain Price points out.
A plasma cannon discharges into the wall above his head. The whole room freezes for a beat before Naya hisses. “If you ever even think of implying-”
“Any information you find about Makarov and his dealings, you can make public,” Bricks interrupts. “Who, what, when, where, how. All of it can go into your archive.”
Laswell scowls. “Now hold on-”
Bricks talks over her. “We don’t have anything you want that you can’t just outright take, Bambi. That’s what you came here for. Information, and to get people out of cages.”
Nikto looks at Bricks and snorts before muttering something under his breath in Russian. Mace crosses his arms, leaning back in his seat and doing a much better job of keeping his thoughts off of his face than Soap and Gaz. The sergeants look horrified. Ghost looks about ready to throw up. Captain Price and Laswell share a sour, resigned look.
“You’ll have our backing,” Laswell sighs. “You’ll need something a bit more secure than the GaiaPet servers, or you’ll be tracked. But yes. You can disseminate the information.”
There’s a long moment of silence. Naya considers her options, arms around herself. The air circulator kicks back on.    Eventually, she says, “I want an advance. Thirty thousand credits, plus however much Price paid.”
“Done,” Bricks answers.
“And… I want seventy five credits an hour.”
“…Fine,” Laswell agrees.
“And I keep the dogs.”
Captain Price makes a disagreeing noise. “Those are government property.”
“Either I keep them, or I set them to self destruct and detonate every android on the fourth floor.”
Nikto says, “You are a bloodthirsty hind.”
“I’m really not,” Naya says. “But I’ve had a very long day. Do we have a deal?”
“Don’t think we have much of a choice,” Captain Price concedes.
Just then, the door to the conference room opens, and a brunette peeks her head in. Morgan Voss, “Sparrow,” as her ID tags her, nods at Laswell. “Just got in, didn’t know there was a meeting scheduled. What did I miss?” Her eyes drift up. “What the hell happened to the wall?”
52 notes · View notes
darkficsyouneveraskedfor · 11 months ago
Text
If You Can't Dance 7
Warnings: dubcon, noncon, other possible triggers. Proceed with caution.
Note: this is what you get when you encourage me. Please leave any and all feedback! 😍
Part of The Club AU
Tumblr media
You spend the rest of the day in a void. Your migraine keeps you hidden beneath a pillow, curtains drawn, unmoving and uncomfortable. When you finally manage to sleep, the dull pain remains, throbbing in your forehead until you wake in a sweat. 
It’s still early, the sun has yet to rise. You push the blankets off of you and put your head on top of the pillow. You don’t move further than that, wary of the shadow of the migraine hovering in your skull. You sink into a daze until your alarm goes off and you sit up stiffly, dreading a new day ahead of you. 
Now that you’re required in office, you have to get up even earlier. You pick out a purple turtleneck and a long pleated skirt with black and white stripes. You throw a necklace of plastic beads around the cowl of the shirt and tuck your feet into a pair of velvet loafers.  
You ready your lunch and a thermos of tea to take with you. You’re running out of time. As your phone vibes, you don’t have time to check it. You’re still trying to shake off the fog from your migraine as you shamble out the door and to your car. 
You drive slow, overly cautious, and tense as a rod. You wish you could just stay home and hide like you always do. You’re sure you can find something else from home but for now, you need to stick with this. Besides, you’ve worked your way up the pay ladder. Starting over isn’t exactly ideal. 
As you pull into the lot, you reach to grab your phone from the little slot between the cupholders. The screen flashes to remind you of your unchecked notifications. It’s a Teams message. Shoot. Jonathan. Your de facto boss. 
You tap the message. 
‘Good morning. I hope you are feeling better. Should you wish to work from home, you may connect to the remote server. Please let me know if I can offer any support’. 
The message is unusually concerned. Typically, you use an automated portal to put in for absences or vacation and if you need to be offline, you email Jensen and rarely get more than a thumbs up in return. It’s too late now anyway. 
You grab your bag and keep your phone clutched tight. You get out and lock the doors, treading heavily over the tarmac. You look up at the shining glass panes that line that outer walls. Everything here is so bright and open. You hate it. 
As you get to the front door, another figure approaches from the other corner of the building. G doesn’t say a word as he opens the door and holds it for you. You thank him and he follows you inside. You note that he hasn’t traded his gray hoodie for a blazer or dress shirt. He doesn’t seem the type to care or the heed warnings. 
He walks at your back as you try to recall your way through the hallways. You stop and he hits your shoulders, putting his hand to your back to still himself. He apologise and pulls away. 
“Sorry, I forgot where I’m going,” you murmur. 
“Mm,” he grumbles, “wish I could help. I hate this place.” 
You want to agree with the sentiment but you wouldn’t want to be overheard. You give him a strained look and shrug. He frowns. 
“Question,” he says sharply. 
“Yes?” You’re suddenly nervous. 
“Do you have other tea suggestions? I like the mint but I want something new.” 
“Oh,” you think and scrunch up your lips, “anything in the same brand is good, I find. They have a toasted coconut flavour but it’s hard to find.” 
“Toasted coconut,” he repeats. “I’ll look out for it.” He looks down the hall and sighs, “see ya ‘round.” 
He stalks off before you can respond. He’s strange like that. Abrupt, awkward, and slightly scary. You peer around and orient yourself according to the breakroom. You think you remember. 
You go to the exact wrong corner of the building and have to turn back before you find the correct door. Your name is the only assurance that you’re not entirely lost. It still says ‘senior developer’. As long as the misplaced title doesn’t come with the extra work, it can’t matter that much. 
“Ah, there you are,” your name draws you back before you can escape into the office. You turn to face Jonathan as he struts down the hall, “you didn’t respond to my message. I assume you are feeling better.” 
“Um, yes, I only just saw it,” you say, “sorry, but appreciate it.” 
“Again, I must apologise about the flowers, if I’d known...” he lifts his hand and shows the paper gift bag hooked around his fingers, “I’ve found a suitable welcome gift this time.” 
You look him in the face then at the bag, “oh, you don’t need to--” 
“It’s what we do here. All our new members received their own welcome. I do feel terrible that yours backfired so egregiously.” 
“No, it’s okay,” you take the bag with some hesitation. “Thanks. Um, I should get settled, I’m probably already behind.” 
“As I said, if you should require any support, you only need message,” he insists, “and please, take care of yourself. Do not put the work above your health.” 
“Mm, okay.” 
“You’ve something in case, for headaches, I mean?” He asks. 
“Uh, tylenol,” you shrug, “really, I’m feeling alright.” 
“Very well, I made certain the cleaners did a thorough scour to be sure no pollen was left behind,” he states proudly. “Oh, and do let me know if there’s anything else? If you need anything for your office? Or perhaps would like to relocate. I know the sun can come in at the wrong angle after noon.” 
“Really, it’s fine,” you say, biting down on your exasperation. You just want to work. You want to be left alone. “Thank you.” 
“A pleasure,” he grins. 
You nod and slowly back away. You turn and enter your office but don’t close the door. That feels like too much. You cross to the desk and put your bag beside the chair and the gift on top. You’ll deal with that once you get signed in. Or maybe when you get caught up. You really don’t care. 
71 notes · View notes
hornymotionalcookie · 1 month ago
Text
Been awhile since I posted a server exclusive
And I just want to contribute appropriately tag related stuff because I'm tired.
Anywho, here goes.
Tw: mention of trafficking and imprisonment and apparently some later Sarah whump, no detail tho.
Tumblr media
Seent this pic on Pinterest and had a thought of murder hubbies turned dark vigilantes against those grossly misusing their power, inflicting great harm for their own personal gain. One retires perhaps with his mistress or maybe with one or two of his victims as part of a severance package that includes this home far off the grid with suped up security with amenities like this one-way, bullet proof, 10-inch thick glass. They can enjoy the view while being untouchable. Outside is camoflauged, doesn't look like a multi-million dollar, impenetrable fortress. But that isolation doesn't prove to be as useful in the end.
One night while one of the live-in prisoners is cleaning in the kitchen, they come to get the former judge because someone is outside, looking in. He doesn't believe it and waves them off, telling them to lay off the party favors and finish cleaning. But they insist and fed up and angry goes to see and prove her wrong. Insteas, he too sees a figure in all black about 20-feet away just standing, looking in their direction but likely not seeing anything.
"They're just lost, not the first time someone's strayed this far. The security will take care of them soon enough." He insists though anyone who's made it that close to the house should have been long dispatched by the automated weapons buried under the perimeter, hidden in false trees or perched on the rooftop.
At the sound of his voice, the distant figure approaches, their gait strong, assured and swift. The closer it gets, the clearer he sees the bulky, muscular frame outfitted in black, tactical clothing, the exposed skin pale and the eyes blocked by goggles. He stops just on the other side of the sink, head tilted as if listening as his eyes shift across the wall.
The woman has shruken back into a corner far from the wall the would be intruder approached, the retiree scared into silence at the bold movement. No one should have ever been allowed to get this close. Where are his security, where is the explosive fire of the 50cal cannons?
Panicking he snaps at her whimpering, not taking his eyes off the man, "Quit your blubbering. He cannot see us, he cannot get in." Emboldened by his own lies, he speaks louder, "They have no idea who they're fucking with! He doesn't know where we are." The wandering, goggle covered eyes stop, focused directly on him at this. Before he can tell his feet to hold ground, to not show fear, the man takes a step back from the sink as he chokes on a sharp gasp.
The judge shuffles side to side, testing and watching as the mystery man shifts to follow his every move. "He cannot see us, he-he cannot hear us..." He repeats again with false bravado, voice trembling. The head stops again, a sinister smile curving his lips in a knowing smirk as he nods. Retired Richard (dick) stumbles back again in a fearful panic, chest heaving. "You cannot see me!" He shouts at the figure beyond the glass. There's a clattering on the roof and he shouts, "FINALLY!" believing his defense system is about to kick in and annihilate the threat.
But his triumph is short lived as the power cuts out instead, a high pitched shriek sounding from his lips or the woman's, he cannot tell. He's whipping his head side to side, calculating his closet exit or weapon, forgetting all the routes his very expensive security team laid out for him, believing he'd never need to run or think. That's what he paid them for. But now he was left clueless, defenseless and alone as the woman who'd cowered with him had run sometime during his panic. Paralyzed from fear and for lack of anything else to do, he turned his eyes back to the menacing figure, still smiling in his direction. His head turned upwards towards the roof, mouth moving but his words go unheard. Judge has no strength in his tremblimg legs to move to the wall and activate the perimeter speakers. He watches as the man's gaze turns back to him, smile falling before he raises his left hand, that shines in the light from the moon, reflecting off its metal appearance with black and gold coloring, looking every bit as powerful, and dangerous. His heart falls to his stomach.
In the time it take that hand to ball into a fist and draw back, he feels a surge of relief remembering the thickness of the walls. There's no way anyone, not even the Winter fucking Soldier, could through that to get to him. And then as fast as it came, that relief vanishes as that hand lands against the wall, impact splintering the glass. And faster than his panicked blinking can catch, Barnes has drawn back and slammed the glass again, and again, digging a crater into the structure, sending cracks spiraling through the thick glass. The vibrations of the relenting hammering echoes in his head.
Something snaps in him, hysterical laughter bubbling out of him before his cowardly sense of self-preservation kicks in. He's not going to wait to die here on this floor and surely not alone. He plans to find one of those bimbos and use her as a shield or a bargaining chip as he makes his way out to his security that he plans to put a bullet in for this gross incompetence. He ambles away on unsteady legs, bracing along the wall in the darkness of the kitchen, letting the sounds of the flurried punches motivate him on.
He calls out in angry tones, demanding one of them show, "Where the fuck are you? Come here at once! Who do you think you are to leave me like that?! You're fucking nothing without me!" He trips over a lamp cord, coming to his knees, anger ratcheted up in spite of his fear, "Bitch where are you?!" He's stumbled down to his office, rushing in towards the safe, tripping over chair and table legs in his haste to arm himself. He isn't far off from the kitchen being breached when he realizes he no longer hears the crashing of that fist into the wall.
Sweat makes his fingers fumble on the keys, punching in the wrong password twice before he gets it right. He wrenches the door open, reaching in for his desert eagle only to have the heavy door slammed onto his retracting hand. The sound of his crunching wrist competes with his fearful, pained wail. His eyes are shut tight against the pain as the door is released and he falls to the floor clutching his wrongly bent hand.
A clicking tongue draws his attention towards the figure. He panics in the darkness that surrounds him as Barnes' stalking figure towers above him. "I can give you anything you want. Money, power, girls, boys..." Barnes draws up his leg, bringing it down on the former judge's right knee twice, snapping it at an awkward angle, haulting his slow backwards scrambling at the last part. The intense hurt floods him with heat, heart stopping a fraction of a second before it pounds in his chest again, nearly causing him to black out in pain and the loss and immediate surge of oxygen.
Hot tears and snot stream down his face as he continues to desperately barter, "I may not be in house anymore, but I can still call in favors. Just tell me what it is you want!" He throws out more empty promises in a hope to stall, to find any thread that can tempt his would be killer.
"Lights," Barnes calls out, the darkened office flooding with them, blinding the partially broken figure on the floor. Laughing, deep and humorless, sounds from Barnes and he opens his eyes, freezing as they adjust to the sudden brightness, his fear multiplying to learn his blinded assumptions were wrong. Barnes is not the one lurking over him, not the one who furiously snapped his bones and laughed at his pleas. It was Wilson.
There had been talk of him disappearing with the shield in light of the way the Flagsmashers had been handled. Anyone who'd had contact with them had gone missing, supposedly relocated camps had actually been erased, no trace of the survivors or their bodies. Someone had even dared going after Wilson's family, only managing to injure his sister because she'd spoken with Karli, nevermind she'd been threatened.
"I never had anything to do with what happened to your sister, I swear!"
Sam's stare turned colder though it remained visibly unchanged. Sarah had survived the attack, traffic cams catching her car being funneled into an area where she'd been T-boned from the passenger side. While she healed, Sam had convinced her to let him get her and the boys to a safe haven. Aj & Cass could've been with her and been hurt or worse, but the hurt she felt leaving behind her home... that face Sam would never forget, the anger and hardness his nephews felt, the dark fury that had awoken in Sam.
"If I thought you had any say in what happened to my family, you wouldn't have lived long enough to feel embarrassed about soaking in your own piss."
Panicked at the violent truth of the words, but recognizing he could be useful only ratcheted up his begging and bartering attempts. "Names! I can get you names! You think I'm the only one guilty of shit like this, this fucked lifestyle and severance package? There are more, so many more and so much worse than me! I-i-i can get them for you, I kept extensive records -- locations of trafficking hubs, safehouses, offshore accounts..."
"Oh, you'll give us names, records, everything you have that guaranteed you a hideaway of this magnitude. And afterwards, a swift death is all you'll be able to trade for in the end. This fortress will be your tomb."
10 notes · View notes
wolfliving · 2 years ago
Text
It starts with him
What was once a promise of technology to allow us to automate and analyze the environments in our physical spaces is now a heap of broken ideas and broken products. Technology products have been deployed en masse, our personal data collected and sold without our consent, and then abandoned as soon as companies strip mined all the profit they thought they could wring out. And why not? They already have our money.
The Philips Hue, poster child of the smart home, used to work entirely on your local network. After all, do you really need to connect to the Internet to control the lights in your own house?  Well you do now!Philips has announced it will require cloud accounts for all users—including users who had already purchased the hardware thinking they wouldn’t need an account (and the inevitable security breaches that come with it) to use their lights.
Will you really trust any promises from a company that unilaterally forces a change like this on you? Does the user actually benefit from any of this?
Matter in its current version … doesn’t really help resolve the key issue of the smart home, namely that most companies view smart homes as a way to sell more individual devices and generate recurring revenue.
It keeps happening. Stuff you bought isn’t yours because the company you bought it from can take away features and force you to do things you don’t want or need to do—ultimately because they want to make more money off of you. It’s frustrating, it’s exhausting, and it’s discouraging.
And it has stopped IoT for the rest of us in its tracks. Industrial IoT is doing great—data collection is the point for the customer. But the consumer electronics business model does not mesh with the expected lifespan of home products, and so enshittification began as soon as those first warranties ran out.
How can we reset the expectations we have of connected devices, so that they are again worthy of our trust and money? Before we can bring the promise back, we must deweaponize the technology.
Guidelines for the hardware producer
What we can do as engineers and business owners is make sure the stuff we’re building can’t be wielded as a lever against our own customers, and to show consumers how things could be. These are things we want consumers to expect and demand of manufacturers.
Control
Think local
Decouple
Open interfaces
Be a good citizen
1) Control over firmware updates.
You scream, “What about security updates!” But a company taking away a feature you use or requiring personal data for no reason is arguably a security flaw. 
We were once outraged when intangible software products went from something that remained unchanging on your computer, to a cloud service, with all the ephemerality that term promises. Now they’re coming for our tangible possessions.
No one should be able to do this with hardware that you own. Breaking functionality is entirely what security updates are supposed to prevent! A better checklist for firmware updates:
Allow users to control when and what updates they want to apply. 
Be thorough and clear as to what the update does and provide the ability to downgrade if needed. 
Separate security updates from feature additions or changes. 
Never force an update unless you are sure you want to accept (financial) responsibility for whatever you inadvertently break. 
Consider that you are sending software updates to other people’s hardware. Ask them for permission (which includes respecting “no”) before touching their stuff!
2) Do less on the Internet.
A large part of the security issues with IoT products stem from the Internet connectivity itself. Any server in the cloud has an attack surface, and now that means your physical devices do.
The solution here is “do less”. All functionality should be local-only unless it has a really good reason to use the Internet. Remotely controlling your lights while in your own house does not require the cloud and certainly does not require an account with your personal information attached to it. Limit the use of the cloud to only the functions that cannot work without it.
As a bonus, less networked functionality means fewer maintenance costs for you.
3) Decouple products and services.
It’s fine to need a cloud service. But making a product that requires a specific cloud service is a guarantee that it can be enshittified at any point later on, with no alternative for the user owner. 
Design products to be able to interact with other servers. You have sold someone hardware and now they own it, not you. They have a right to keep using it even if you shut down or break your servers. Allow them the ability to point their devices to another service. If you want them to use your service, make it worthwhile enough for them to choose you.
Finally, if your product has a heavy reliance on the cloud to work, consider enabling your users to self-host their own cloud tooling if they so desire. A lot of people are perfectly capable of doing this on their own and can help others do the same.
4) Use open and standard protocols and interfaces.
Most networked devices have no reason to use proprietary protocols, interfaces, and data formats. There are open standards with communities and software available for almost anything you could want to do. Re-inventing the wheel just wastes resources and makes it harder for users to keep using their stuff after you’re long gone. We did this with Twine, creating an encrypted protocol that minimized chatter, because we needed to squeeze battery life out of WiFi back when there weren’t good options.
If you do have a need for a proprietary protocol (and there are valid reasons to do so):
Document it. 
If possible, have a fallback option that uses an open standard. 
Provide tooling and software to interact with your custom protocols, at the very least enough for open source developers to be able to work with it. This goes for physical interfaces as much as it does for cloud protocols.
If the interface requires a custom-made, expensive, and/or hard-to-find tool to use, then consider using something else that is commonly available and off the shelf instead.
5) Be a good citizen.
Breaking paid-for functionality on other people’s stuff is inherently unethical. Consider not doing this! Enshittification is not a technical problem, it is a behavioral one. Offer better products that are designed to resist enshittification, and resist it yourself in everything you do.
Nothing forced Philips to do what they are doing: a human made a decision to do it. They could have just as easily chosen not to. With Twine’s server lock-in, at least we chose to keep it running, for 12 years now. Consider that you can still make a decent living by being honest and ethical towards the people who are, by purchasing your products, paying for your lifestyle. 
We didn’t get here by accident. Humans made choices that brought us to this point, and we can’t blame anyone for being turned off by it. But we can choose to do better. We can design better stuff. And we can choose not to mess things up after the fact.
We’re putting this into practice with Pickup. (We also think that part of an IoT reset is giving users the creative freedom of a general-purpose device.) If you’re looking for something better and our product can fill a need you have, consider backing us. We cannot claim to be perfect or have all of the answers, but we are absolutely going to try. The status quo sucks. Let’s do something about it.
Published October 15, 2023 By Jeremy Billheimer
137 notes · View notes
goitale · 3 months ago
Text
WHY HELLO my wonderous follows and fans of mcsm! i've come to announce i have a discord server up and running!!!
AHEM AHEM.... lights camera and action for a proper long message!:
"Our defenses are impressive. State of the art machinery... automated farming... The Oasis is a completely self-sustaining city. It's... home?" —Xara explaining her town to Jesse's Gang.
Welcome to The Oasis- the great town Xara created! In this brand-new server, you'll find many familiar faces in the Minecraft Story Mode community. This is a safe space for all, and those who ruin the peace are kept out.
MOD APPLICATIONS ARE OPEN! Feel free to help us grow!!!
Here are our essentials: > LGBTQ+ friendly > Non-toxic, non-drama > SFW > 15+ > No endo supporters/neutrals or system fakeclaimers > Easy-to-use tickets for member reporting > Strict rules and punishments > Helpful staff ... and more!
Come to the brightest city, The Oasis! We'll love to see you!
11 notes · View notes
torillatavataan · 8 months ago
Text
Tumblr media
Linux creator Linus Torvalds wrote:
"Ok, lots of Russian trolls out and about. It's entirely clear why the change was done, it's not getting reverted, and using multiple random anonymous accounts to try to "grass root" it by Russian troll factories isn't going to change anything. And FYI for the actual innocent bystanders who aren't troll farm accounts - the "various compliance requirements" are not just a US thing. If you haven't heard of Russian sanctions yet, you should try to read the news some day. And by "news", I don't mean Russian state-sponsored spam. As to sending me a revert patch - please use whatever mush you call brains. I'm Finnish. Did you think I'd be *supporting* Russian aggression? Apparently it's not just lack of real news, it's lack of history knowledge too."
What is Linux?
Linux is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds.
Linux was originally developed for personal computers based on the Intel x86 architecture, but has since been ported to more platforms than any other operating system. Because of the dominance of Linux-based Android on smartphones, Linux, including Android, has the largest installed base of all general-purpose operating systems as of May 2022.
Linux is the leading operating system on servers (over 96.4% of the top one million web servers' operating systems are Linux) leads other big iron systems such as mainframe computers, and is used on all of the world's 500 fastest supercomputers (as of November 2017, having gradually displaced all competitors).
Linux also runs on embedded systems, i.e., devices whose operating system is typically built into the firmware and is highly tailored to the system. This includes routers, automation controls, smart home devices, video game consoles, televisions (Samsung and LG smart TVs), automobiles (Tesla, Audi, Mercedes-Benz, Hyundai, and Toyota), and spacecraft (Falcon 9 rocket, Dragon crew capsule, and the Perseverance rover).
18 notes · View notes
virtualizationhowto · 1 year ago
Text
Automate Home Lab Server Updates with GitLab CI CD
Automate Home Lab Server Updates with GitLab CI CD @vexpert #vmwarecommunities #devops #gitlab #linuxupdates #ubuntuupdates #automation #cicdpipeline #virtualization #homelab #homeserver #selfhosted #selfhosting #vhtforumsupdates #learneveryday
I recently wrote a blog post about replacing traditional Windows scheduled tasks with a CI/CD pipeline and the automation it provides. There are so many advantages to running something like Gitlab in your home lab to centralize your automation and help with bringing one-off scripts into source control with Git. I wanted to share with you guys a cool project I have been working on to bring my…
Tumblr media
View On WordPress
0 notes
auttentiondeficitaggretsuko · 7 months ago
Text
*sitting in my cube reading emails when suddenly the entire building loses power*
*realize our lead systems engineer is out on medical leave, and our other associate systems engineer besides myself is WFH today, making me the most senior IT tech on site*
*sprint into the server room (after a moment's panic not knowing if the badge reader will work), glimpse the remaining time on the rack UPSes changing from 19 minutes to 18 minutes, anxiously ping WFH engineer asking for instructions*
WFH engineer: "eh let em die. test of automated recovery systems"
*return to sitting in my cube reading emails on mobile till management sends us all home 45 minutes later*
10 notes · View notes
alpydk · 5 days ago
Text
Friday I'm in Love
Gale X OC (F) - Part 2 - “I’ll order us some tea,”
Read on Ao3
We start at 1 but if star asks its 12.50. We got tired of him being fashionably late (╥﹏╥)
Gale couldn’t help but be thankful for a mobile phone’s ability to correct spelling and add capitalisation where needed, all the other little foibles easy enough to ignore. He was curious what the bridges and river meant towards the end, though. Possibly the reason why this supposed Star was late?
Typing a quick reply, he kept himself in the kitchen, hearing as Mystra lingered in the bedroom. She’d already peered over his shoulder once, inquiring as to what was keeping him so busy on his phone.
1pm, it is. Are there any snacks I should avoid or perhaps preferences on which everyone would like to indulge?
No garlic! Star allergic. /|\ ^._.^ /|\
Ah, emojis, he realised, deciphering the bat. Perhaps Star was some sort of thespian who threw themself into the roles, or maybe there was a genuine allergy. Then again, garlic was not normally a flavour one would look to bring to a social gathering, not unless the gathering was that of folks one wished to make miserable. Then again, tzatziki was always appreciated, as was skordalia with freshly baked bread.
Gale knew he was overthinking everything as the follow up text from Quinn appeared on his screen.
Cookies always go down well.
Then expect the finest cookies I can muster.
He spent far longer than was necessary attempting to come up with his own relevant emoji, the assortment of squiggles somewhat resembling a small chef before he gave up entirely and simply clicked send. Her whimsy was clearly affecting his sense of reason, though what harm was a little whimsy every once in a while?
“Gale, do you have the financial reports ready?”
Mystra’s cold tone sounded down the hallway, the sharp tapping of the new black kitten heels on the laminate flooring announcing her imminent arrival. There was a brief moment of panic as Gale jumped between pocketing his phone and grasping at the brown leather satchel lying on the counter.
“Of course, my love.” He wasn’t sure at what point their relationship had turned from one of romance to one of efficiency, where sweet nothings had become literal nothings. Even the ‘my love’ was now spoken with such automation it didn’t register to him until he recognised the scowl pointed in his direction.
“None of that, Gale,” Mystra snapped, her dark hair straightened and pinned back, revealing pinpoint accuracy makeup highlighting her features. “We have a long day ahead of us and there will be no flights of fancy or lingering puppy eyes.”
Nodding, Gale followed behind in silence out to the car. She would be in a better mood later, no doubt. Meetings like this always soured her temperament, and it was only a few hours to ride through. It was one of the reasons he’d fallen in love with her after all: her ability to take control of the situation. Whilst he had been more emotional, she had been more logical. They balanced each other out; opposites attract, the Ying to his Yang. All he needed to do was ignore how off balance some days felt.
---
Another Monday had arrived too quickly as Quinn stepped into the office, a large mango slushy dripping condensation over her hand. She quickly spotted Karlach spinning away in a chair, a sign that the servers had gone down again and they were most likely waiting on IT to get back to them.
“How long?” Quinn asked, taking her own seat and switching on the computer.
Karlach stopped her spinning, reaching over for a slurp of the slushy only to get a quick slap of the hand. “Ow,” she hissed. “About forty-five minutes.”
“Any ideas on when they’ll be back up?”
“Nope, but Q, something more important is happening. Have you heard who’s been spotted?”
“Wally?” The computer was taking a while to boot up. It was going to be a long shift if they had no work to do and there was little chance management was going to let them go home early.
“No, you muppet. Corporate is here. Minthy has been on high alert patrolling the reception.”
“You really think the redundancies are going ahead, then?”
“If we get an email through about an emergency meeting, then yeah.”
The morning dragged on, Karlach often slipping off to spend time on the balcony with Shadowheart. With no work to do, it meant few were watching the break times. Quinn found herself occasionally twisting in her own seat, sometimes browsing the web for studio prices. With a decent enough redundancy, she could make her dreams come true, she figured. Something positive out of the negative of a job loss. With her headphones blaring R.E.M and her imagination already playing out the scenario of a luxury open plan loft being decorated, she failed to notice the well-dressed group led past the office by an unusually pale Minthara.
---
“Ms Baenre,” Mystra spoke, trying to be friendly but clearly growing impatient with the pushback she’d been receiving, “surely a woman of your experience must understand that organisation restructuring is a necessary process within business.”
Gale was omitting notes about experience from the record, sticking with only the main points of what had been discussed. So far, despite the hours spent in the conference room, the minutes listed only three main areas: the redundancies, the transfers, and the shareholders.
“It may be necessary, but you’re suggesting over seventy-five percent of the staff be let go and replaced for some sort of cyber people.”
“Artificial intelligence, yes.”
“But we were informed-”
“Yes, yes. You’ve already told me of what was said six months ago, but again, it’s in the company’s interests-”
Things were once again getting out of hand, the two strong-willed women taking over one another. It was clear that despite Minthara’s loyalty to the company, it was to what she believed was her company and not the ones it had been sold to.
“Ms Baenre,” came Mystra’s harsh tone. “I will not repeat myself any further. The decision is final, and you are to do your job and let these employees know of the outcome.”
Backed into a corner was the only way the situation could be described: Minthara’s sharp jaw gritted tight to avoid sacrificing her own role in the business, Mystra’s cold eyes fixed on the woman before her with contempt. Gale simply kept his head down, tapping another note into his laptop. He ignored the buzz of his phone, one he desperately wanted to check if only for a brief reprise from the surrounding tension.
“Eight weeks?” Minthara eventually mumbled, somewhat admitting defeat.
“Yes.”
“But it can be negotiated,” Gale quickly tagged on, knowing that if not given the option, the meeting would simply continue longer than any of them wished. The look of disdain from both women was difficult to ignore, and just as rapidly, he went back to the keyboard, adding that the redundancy payments had been briefly discussed.
Mystra pursed her lips, a habit she often used when trying to compose herself. “Eight weeks has been the standard. It can be negotiated, however, that does not mean it will be any higher. Understood?”
The meeting came to a close with professional handshakes, but little more than that in terms of familiarity. Three weeks Minthara Baenre had been given to discuss the redundancy package with representatives of the various departments and Gale estimated it would take even longer to come to an agreement that Mystra was willing to tolerate. Why couldn’t this have just been another Yawning Portal Inc, merged and shut down in a little under nine months?
---
Bored now!
Quinn sent the text, not entirely expecting a reply but hoping for one. She’d already prepared Gale’s character sheet, created a little portrait in the corner of him decked out in a tattered wizard’s hat and purple robe. Rayne Kadarios. Class – Wizard. Birthplace – Waterdeep. She wanted Friday to come sooner so she could show it off, introduce her own character and escape into one of the many stories that popped into her mind without a moment’s notice. He’d confirmed he was going to be there, so why was she getting nervous about it? It’s not like she really knew the guy or even enjoyed the feeling of his hands on her when he’d caught her. Nope. She was not so easily swayed by dashing good looks, trailing chest hair, deep brown eyes…
“Earth to Quinn…”
A tap to her shoulder brought her back to reality, her bottom lip moistened with what she hoped wasn’t her own drool but remnants of the slushy. “Shadowheart? How long have you been standing there?”
“Not long. Have you seen the email?”
Quinn’s stomach dropped, already knowing what it was going to say. “No…”
Tossing a braid of dark hair from her shoulder to her back, Shadowheart reached over the back of the seat, taking Quinn’s mouse and moving it across the desktop. “Cyric has resigned. Seems he’s had it planned since he sold the company off to Mystic Arts.”
The email read as standard, long winded and full of cliches. Thank you for letting me be a part of your family, long years and passion for games, exciting chapters. Blah blah blah. It had been signed by Cyric, but most likely written by some unpaid intern.
“Like rats fleeing a sinking ship,” Shadowheart added, placing herself in a seat.
“Any news on how the meeting is going?”
“Raised voices every now and again, but nothing useful. Sounds like HR is on our side.”
“That’s a first.”
The erotic sound of a woman sighing rang out from Quinn’s phone, a notification of a new text drawing her attention.
Shadowheart simply tutted. “Still living in 2012?”
“Shh. You’re just jealous that I hear these sounds more than you.”
“I hear them louder. Quality over quantity.”
Batting the nonsense away, Quinn grabbed her phone, a smile creeping onto her lips as she read the words from Gale.
Are you perhaps available? I may have a few rather unusual questions about this Friday, and I’d like your assistance. If you have the time, that is.
The servers were still down. She could sneak out for lunch, and time herself as being back whenever they came back up.
٩(^ᗜ^ )و ´- Where and when????
---
Mystra had thankfully – though Gale would not admit that part – met up with an old acquaintance soon after they’d departed the lair of ‘Tadpoles’. She’d kept her composure leaving, but it had started to unravel as he hesitantly recommended stopping for lunch at the café they’d not been able to get to the previous weekend. There was more work to be done, she had chastised, before spotting the old friend and letting her personality do a full 180. When was the last time she had smiled like that for him, he’d wondered, as she’d placed kisses on both sides of the other guy’s cheeks and left with a dismissive wave of her hand.  
At least it left the afternoon free, and Quinn’s text had brought a welcome lightness to Gale’s steps as he approached the café. She was already waiting for him; a slice of cake pinched between her fingers as she tried as gracefully as she could not to lose crumbs with a bite. She failed miserably before glancing around to see if anyone had spotted her faux pas.
“You have a little…” He gestured to the flake of sponge cake above her lip, chuckling softly as she licked at the opposite side.
“Did I get it?”
“Not quite.”
Gale wasn’t sure what drew him to pick up the corner of the napkin and dab it on the crumb lightly, lingering longer than was really needed as he took in the subtle blush, the way her eyes settled on his. If it hadn’t been for the shuffling of crockery on the table beside them, he may have made the mistake of kissing her there and then, but then what was the logic behind that? The first bit of positive attention and he was becoming a desperate schoolboy. If only Mystra could see him. The thought almost terrified him, causing him to back up his movements and start apologising profusely.
Quinn only seemed to smile wider at the behaviour. “You’re all good. Not the first time I’ve had cake on my lips. Well, this kind of cake… Not the other kind of cake. Not that I wouldn’t be willing to try your cake.”
It was as if her mouth moved with no connection to her brain, but then Gale understood how easily this could be done. How many times had he waffled on about a topic with little realisation of what was relevant or embarrassing?
“I’ll order us some tea,” he coughed, saving them both from the uncomfortable dance they’d caught themselves in.
With tea came a rather unusual experience for Gale: a comfortable silence. Both sipped quietly, taking in the atmosphere of the café around them, averting their gazes whenever caught sneaking glances at the other. Conversation was light at the start, the usual comments about the weather, about the now devoured slices of sponge cake, but they soon moved onto topics both were keen to share in: literature, music, and of course, roleplay.
“So Rayne is all ready and raring to go. I’ve stuck some pretty easy-to-use spells in there, like Fireball and Misty Step, but if you’re unsure, just go for the Magic Missile.”
He felt lost as she continued to ramble on, but there was something intoxicating about the enthusiasm and passion behind how she spoke. Every now and again, she would wave her arms in the air to demonstrate some type of explosion, and he could only laugh as she recited a tale of how the party had almost died at the hands of their own poorly thought-out plans.
“Of this party, who is there precisely?” Gale asked, trying to bring the subject back to a reality he could navigate.
“Oh. Well, there’s me and you. Star is our rogue and then there’s Wyll too, who you’ve already met.”
“And Wyll is playing a fighter or some sort?”
“Sort of. He’s got this whole backstory as a warlock and a kidnapped father. Bit of a min-max’er if you ask me.”
“Hm, quite. And you’re playing?”
Louder than expected and with actions to match, Quinn raised her fork in the air. “I’m Freya, the dwarf barbarian, dragon-slayer and wielder of the Earth-hammer!”
Gale was taken aback by the behaviour, shuffling in his seat. “Are all role-players quite so…”
“Weird? Odd? Socially inept?”
“To put it in not so studious terms, yes.”
“Nope. Most are pretty normal. But why hide who you really are behind books and die when you can be your real self at any time?”
He couldn’t help but agree. How many people did he know, himself included, that hid themselves behind unwritten social norms? When was the last time he had spoken openly about a topic that interested him with such passion? It was certainly before his marriage, that was for sure.
“You look tired.”
The comment caught him off-guard, his momentary lapse of concentration revealing a side he kept guarded. “It’s been a rather long morning,” he answered, bringing the tea back to his lips.
“Well, you’ve asked me about snacks and the group. I’ve told you that you don’t need to dress up, unless you want to, that is. And I’m sucking the life force out of you as we speak.”
She frowned at his confusion before continuing. “Ignore that last part. I’d need to be under the table to do something like… I should probably be going.”
Gale almost spat out his coffee as he realised what she had been insinuating. 75 days and counting and certainly longer for any act such as that. He’d be lucky even to hear a mention of it on his birthday, let alone in everyday conversation in public with Mystra. Swallowing the mouthful of tea, he got up from the table, watching as Quinn tugged at her jacket. “Here, let me help you with that.”
“You’re such a gentleman, Gale.”
It felt good to be appreciated for such a small act, to feel the heat in his cheeks as she placed the gentle kiss on his cheek and left the café, smiling back at him. Friday could not come soon enough, and he feared how he was going to cope, knowing now a taste of the world that lay ahead of him.
6 notes · View notes
mangocurist · 22 days ago
Note
hi oz its 3 am and img still thinking about the hell au bro 😭😭😭 free me
i’m trying to get a mental image of the nightshade hq base and i thibk in the beginning it would just be very simple. Like, neither ro or wemm are people who care much about the decor and are really just focused on having a practical and secure place to stay,,, so i feel like their base would probably just be a little nook somewhere deep underground, small and a little crammed but cozy still. it’s also a bit of a mess but they’re making do with it okay <3
i think its only until uuzam and pangi join the squad where it’s like. they actually renovate or move out of the old base to make something a little bigger and grander (because uuzam would not enjoy living in a tiny ass underground bunker lmfoa) . ro and wemm come back one day and their base is 10x more grandiose and extravagant and uuzam is still complaining about how small the base is . Idk just some thoughts i hauve rn…….
how do you think the daybreak confed base would be like based on aesthetic and practicality as well….. i lowk want to make the bases if i can i feel like that’d be fun ^_^
on anon because im still nervous but . yeah i think . Its a lil obvious who this is . Oooooo you’ll never guess
ohohoho i wonder who this mysterious s7 hell au anon is.... you should really go to bed soon by the way om . please get some rest jet i mean it 😭😭😭🙏
but YEAH i totally see that. im outside rn but if i can get home and pull up one of my old mc worlds ill take a picture of one of my former homes to show, i totally think that wemmro (we really need an early s7 team name for them) would have a cozy little underground burrow. like a place thats cozy because of how cramped it is, not in spite of it- theres barely enough space for their beds next to the messes of chests and shulkers and brewing stands strewn around the place, and their base opens up directly into a small mineshaft that they use to help keep their base coords relatively obscured. when lswemmbu invites uuzam onto the team the very first thing she says upon seeing their burrow is 'dear god,' because sure, she and pangi retired to a cozy little cottage after the war and everything but they werent constantly in skirmishes and battles, and they definitely werent living in a nyc apartment level of trashy living space! one day she pushes pangi and wemmro out of the space to 'go show pangi around the server because id rather be left alone right now' and when they come back uuzams expanded the place about thirty chunks wider, put in at least a dozen automated redstone contraptions and brewers, made a training room and grinded them enough materials and villagers for them to never worry about resupplying after battles again.
in a similar vein, i think daybreaks base would be also large, or at least large enough to fit in the necessities (automated redstone machines, brewers, turtle farm- which that i feel uuzam probably wouldnt have implemented since she plays more offense than defense- villager trading hall about the length of seven whole chunks, iron farm, gold farm, literally anything that daybreak could think of) that zams bases usually have. shed probably go a bit overboard with the contraptions after coaxing eggbu onto the team, a bit like how maybe youd bait strays off the street into the house with expensive food and toys and stuff; but its all very much necessary because flame never bothers to regear and somehow always ends up mooching off his fallen opponents gearsets despite zam telling him theres dozens more at home.
i think the real distinguishing factor between daybreak and nightshade is the decor of each base- daybreak, as i think ive mentioned before, would eventually have a large master bedroom built in for the entire team so that they can all rest and cuddle together after long days, and flame/eggbu regularly vie for zams attention by adding their own flairs of decor to the base, which results in a lot of different colours and designs being splashed all around the walls of daybreaks base (which, by the way, i imagine to have a similar colour scheme to one of zams current s6 castle's drafts! pink red orange white and gold, accented by honeycomb and honeyblocks).
meanwhile nightshade is, as the name suggests, darker in nature thanks to its having been built in a mineshaft / deepslate biome ^_^ theres probably sculk blocks lying around nearby that uuzam uses for decoration and from there shes like Okay well why not commit to the deep dark aesthetic, and works in some black terracotta and then goes Hmmm well i also want to put some of my teammates colours in and scatters some darker purple and lapis blocks around. when wemmro+pangi come back and see the base, their first reaction is 'why the Fuck does this place look like a dungeon'. their second reaction is to put the most clashing shit everywhere- and they do it in red for uuzam, so she cant even complain! (she complains anyway. wemmro are scolded within an inch of their lives but they keep doing it because its funny)
4 notes · View notes
equinity-sims · 1 month ago
Text
Tumblr media
Equinity Sims
The Future of Sims 3 & 4 Equine RP Has Arrived! 🌟
Whether you’re deep into Sims 3 or loving Sims 4, this is your place to bring digital stables, rich characters, and stunning horses to life. Welcome to Equinity Sims, where the equine sims world is evolving — and we’re inviting you to ride with us. Are you interested yet? Then there is more to see below this line!
What sets us apart from other eq communities:
A Fully Automated RP Website (wip) No more spreadsheets, clunky forms or custom websites! Our custom site tracks your horses, stables, show records, bloodlines, and roleplay progress automatically. Log in, create, and manage everything with ease. The Sims 3 and The Sims 4 are both available. This is just some of the features the website will have. All this and more to be revealed on our Discord server.
Immersive Roleplay Systems Dive into detailed character stories, stable management, and realistic or fantasy-based equine worlds. You set the tone — we provide the tools.
Automated Shows & Registrations Enter shows and register horses in just a few clicks, with results and points calculated automatically.
Equine CC Database The biggest Sims 3 and 4 Custom Content database online. We will always preserve your cc, so it never gets lost and forgotten. Now with creator credit page with links, names etc. Credit is key.
Exclusive Custom Content We have multiple content creators, who are exclusively releasing their creations only in our server. Conversions and new cc as well.
So much more will be available, this is just a bit of the features
OUR DISCORD IS OUT NOW What will be on discord, you ask?
Connect with all members Share your screenshots, edit photos, build stables, write lore, and bring your sim world to life.
An Inviting Community Whether you’re a pro at "pose player" or just learning to build a barn, everyone has a place to call home here.All creators are welcome, beginners to advanced.
This isn’t just another equine sims community — it’s a living, growing world of equine simulation, powered by passionate members.
So if you’re convinced already, head over to our server and become a part of our cozy community today by clicking the image below!
We are trying to rebuild the group after some issues, so we would appreciate it if you would invite your fellow equine simmers.
3 notes · View notes
nebra-sky-disk · 10 months ago
Text
i fucking hate spotify man like i go to the song radio for a song and i want to listen to songs like that not THE SAME 20 FUCKING SONGS i really should cancel this dogshit service i hate giving them my money. im going to find a way to export a list of all my liked songs and automate downloading them all on soulseek and im going to set up a home server that i can access from my home and listen to the fucking music jesus fucking christ
16 notes · View notes