#server hardware and software
Explore tagged Tumblr posts
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…
View On WordPress
#building a home server#DIY Home Server#home automation server#home network management#home server energy savings#home server operating systems#Home Server Setup#home server vs cloud storage#remote access server#server hardware and software
0 notes
Text

#a.b.e.l#divine machinery#archangel#automated#behavioral#ecosystem#learning#divine#machinery#ai#artificial intelligence#divinemachinery#robot#android#computer#computer boy#guardian angel#angel#angels#serverroom#server room#wires and cables#hardware gore#software gore#message#how dare you#sentient objects#sentient ai
84 notes
·
View notes
Text
HDG Fic that never will be
Hello internet HDG fans and my poor followers who have to see this
I've recently fallen down the HDG fic rabbit hole (WELLNESS CHECK DID THIS TO ME) and reading about the Affini and the Compact and the universe on the wiki have got a bunch of wheels turning in my brain. I got bit by the fic writing bug and started drawing up an outline for a fic idea I had.
However, as I thought about it more, I started to realise this probably wasn't a fic I should write or that might be controversial because it would violate one of the universe guidelines. I figured I may as well make a post talking about it and hopefully get some feedback before I move on to actually spending hours writing thousands of words. Explanation under the cut.
The fic I'm thinking of is an Affini POV. Basically there's a case worker who works to help organise all the affini-floret paperwork, keeps track of the "Notices of Intent to Domesticate", checks in on "independent" Sophonts who are struggling, etc etc. Its also about the wider Compact, about the case worker taking a critical look at their culture and their ideology and potential conflicts that might arise from that. Its looking at the Affini Compact as a kind of "pet rescue" situation, and examining the issues that arise in that context.
So for example, what happens when there's a perfectly dramatic meow-meow or Autistic Trans Girl Who Stinks Good (tm) and like eight different Affini all want them as their Floret? Or how human Pinnates or Pluribuses are less likely to be "adopted" by Affini because they're more difficult and complex to care for? What happens when there's a queer polycule, three of whom are Pluribuses and two of whom are seriously disabled, who SOMEHOW made it through the Accord and are now struggling even in the post-scarcity society of the Affini? They obviously need help but most Affini are reluctant at best to take on that much responsibility.
What happens when an Affini gets bored of their Floret (*gasp*) and wants to give them up? Humans are the most recent acquisition by the Compact and are considered especially cute/domesticable, what happens when human Florets are a "fad"? Do Affini ever trade Florets, temporarily or otherwise?
And what about all the humans who AREN'T Autistic Trans Girls Who Stink Good(tm) or poor exploited military personnel who need domesticating? The "silent majority" of middle class/straight humans for whom life in the Accord was good (as long as they kept their heads down and ratted out their neighbours)? The "boring" ones. Would the Affini even be interested in them?
This is the kind of thing I want to write about. Its really got me humming along, but I'm also aware this kind of messes with one of the big guidelines for the universe - that the Affini are always "perfect". They're centuries/millennia old and are incredibly intelligent, so understand the needs and wants of their charges so perfectly they don't need or understand consent. They know you better than you know yourself, virtually gods compared to human flaws and imperfections.
But my fic would look at the Affini as people - as characters who have quirks and preferences and can make mistakes. As beings who can misunderstand you in important ways. It would be Affini interacting with other Affini, it would be comparing how different Affini treat their Florets. As I understand it, that kind of flies in the face of what the Affini are supposed to be as a concept.
I'm interested in HDG but I'm not interested in writing something that ends up being on the same tier as "Muh Spess Mehreens Could Totally Kill A Bunch Of Big Plants For Real" (shut up no they couldn't, the Compact runs on Saitama rules, your Space Marines are happy lil action figures shooting at each other with Nerf Bolters in the Space Marine Enrichment Centre). Its a really cool universe but I don't want to try and use it for something it was never intended for, I understand its got a fairly narrow focus normally.
So I thought I'd make a post about it to test the waters and see how the community reacts. Please if there are any fans or writers who see this post, I could really use some feedback. Anything you suggest is appreciated!
#HDG#hdg shitposting#human domestication guide#I'm only halfway through Wellness Check and I've got a bunch of other fics I wanna read#but the wheels started turning early on this one#I've also got an idea for an Affini OC#Who gets trapped in another dimension with their Floret#for thousands of years#and so Digitizes them to keep the Floret alive and avoid loneliness#but the only thing they have access to with the server space for a human mind is the Affini's own body#so the human ends up a hologram “ghost” of software running on the Affini's “hardware”#and ends up being more of a Wife than a pet because of the intimacy of their bond#and the Affini needing someone to talk to as an equal#“This is my Wife Who I have loved and cherished for thousands of years”#“So much so that I have deliberately mangled/strung out my last eight or nine reblooms to make sure I didn't accidentally absorb her”#“also the ”server“ I keep her on is shaped like a Heart and I keep it at the deepest part of me for protection”#though the issue there is if you remove an Affini from the compact they stop being Affini#they're just Sparkling Plant Monster#not even sure what I'd use them for#maybe the Affini comes back to the compact and their relationship is seen as weird#IDK but they are very fun to think about
22 notes
·
View notes
Text
why's it so hard to set up a custom minecraft server...
#like cmon I have a public facing server already#I know it works since the logs dont show any errors#and like ive tried running the exact same hardware+software setup on my local network#but like unfortunately the public facing server only has IPv6#and I cant connect cause my ISP only issues IPv4#and the other people I want to play with probably only have v4 as well#I guess the hosting provider I have technically has a v4->v6 proxy to allow ppl with v4 only to connect to their servers#but it only passes through http imap and smtp traffic#so its pretty much useless for what I want to do#and like so far finding a proxy service that actually does what i want it to do seems impossible#like PLEASE I WANNA PLAY MINECRAFT WITH SOMEONE ELSE#I DONT WANNA SPEND TIME TRYING TO FIGURE OUT HOW TO GET THE SERVER RUNNING
3 notes
·
View notes
Text
My parents went to meet up with some extended family the other day and my mum mentioned I was looking for work and my so dad's cousin (from overseas??) is trying to recruit me. For a field I don't work in!!!
But that's kind of the way, I guess many people are happy to hire a Big Nerd and retrain them.
#I have written some software I am not a hardware guy#please do not put me in charge of your servers I am not good at that bit#my real life#I have been procrastinating looking for work while my legal name change goes through but I should probably start looking for real
2 notes
·
View notes
Text
nothing makes me feel more fundamentally stupid than trying to dive into technology projects outside my wheelhouse
#ie a NAS media server#I just built a computer and worked on a bunch more software and hardware issues today at work and I feel SO STUPID trying to figure this ou#out
5 notes
·
View notes
Text
fucking client emailed in requesting a license last night at 10, called today before nine asking for the license and if I could hurry this along because it was urgent; being the person that I am I went to go find some more information and discovered that the customer wants to do an in-place upgrade on a nine-year-old free license to a recent server license which is.
A) not possible with the service pack they have installed B) probably not compatible with the two kinds of software they have talking to the database C) probably not compatible with their actual server, which blew up spectacularly in January.
(all of which is to say nothing about the wide variety of possible ways to purchase and install the license, but probably standard is what they want even if they're technically too big for it)
I talk to my team, most of whom do not have much experience with upgrades/migrations for this software and we all agree that more research into their environment is needed, including possibly calls with their other software vendors and also possibly maybe replacing their twelve year old server.
Call the client at 2pm and let him know that this project is going to be more rigorous than just ordering a license, let them know that this isn't being dropped or ignored, but we need more information and will be in contact when more of the team knows what's going on.
5:14 PM, my coworker messages me "hey, do we have a tenant for this client?"
I message my coworker: "fucking lol, this is about their license, isn't it?"
It is about their license. They have sent in an emergency after hours ticket describing the issue as urgent: they have purchased the license on their own from a consumer vendor unaware of the fact that they need admin access to a tenant to download the software.
I create a tenant for the client and document the information, then provide the tenant ID.
And then since it's urgent, it's an emergency, I begin gathering data and composing an email.
The license won't populate to the tenant for hours at least and probably not for a full day.
They didn't actually tell us what license they've got, but if they plan to use it with one flavor of software they've got they probably need a secondary license they were totally unaware of.
I have found no evidence whatsoever that this license is compatible with their other software.
I hop into an after hours meeting with one of our tier three consultants to get the exact version number of the software and confirm that there is not a straightforward upgrade path between the license they have and the license they want.
I send an email advising that if their developer wants to make an upgrade they MUST back up the database because we have emergency backups, not database backups, let them know in writing "per our conversation this afternoon, this is why we don't think this will work" and thank them cheerfully, letting them know to reach out if they have questions about licensing.
hit send at half past eight.
Combined after hours work on this "emergency" "critical" "urgent" ticket is now probably about half the hardware cost of a better server.
I get that emergencies happen, but buddy if I tell you "hey, I know you are in a rush with this but we have to take our time to do this correctly" and you ignore me and make me stay late to handle your "critical" ticket, you and I both are not going to have a good time.
2K notes
·
View notes
Text
SSTech Networking is India's Top IT Service Provider, Fulfilling a Range of Needs.
In the quickly advancing universe of information innovation, organizations in India are progressively depending on complete IT solutions to remain competitive. One standout player in this field is SSTech Networking, a main IT specialist co-op that has gained notoriety for conveying a wide range of services, going from cloud computing to computer customization.
Cloud Computing Greatness
SSTech Networking is at the forefront of the cloud computing insurgency, offering organizations adaptable and secure solutions that influence the force of the cloud. From cloud-based capacity to cutting edge computing assets, the organization guarantees that its clients can outfit the maximum capacity of cloud innovation, upgrading flexibility and proficiency in their tasks.
Computer Cleaning and Maintenance
Perceiving the significance of all around kept up with computer frameworks, SSTech Networking gives exhaustive computer cleaning services. Standard cleaning works on the longevity of hardware as well as guarantees ideal performance. SSTech Networking's careful way to deal with computer maintenance assists clients with keeping away from possible issues, adding to a smoother and more solid computing experience.
Custom Computer Building and Upgrades
For organizations with explicit computing prerequisites, SSTech Networking offers custom computer building services. Customized to individual requirements, these solutions ensure that the hardware meets the specific determinations of the client. Additionally, the organization succeeds in computer upgrades, staying up with the latest with the furthest down the line innovation to improve performance and productivity.
Complete Hardware and Software Installation
SSTech Networking's expertise reaches out to exhaustive hardware and software installation services. Whether it's setting up a new computer, designing software applications, or coordinating new hardware parts, the organization guarantees a consistent installation process. This tender loving care assists clients with streamlining their IT framework for most extreme productivity.
Mac Services for Apple Enthusiasts
Understanding the interesting prerequisites of Mac clients, SSTech Networking offers specific types of assistance for the Apple environment. From Mac setup to investigating and maintenance, the organization's experts are knowledgeable in the complexities of Apple innovation, guaranteeing that Mac clients experience smooth and effective computing.
Network and Printer Setup
SSTech Networking goes past individual gadgets, offering master network and printer setup services. The organization guarantees that networks are designed for ideal performance and security, while printers are flawlessly incorporated into the general framework. This comprehensive way to deal with IT framework setup adds to a strong and productive working environment climate.
New Computer Setup and Fast Arrangement
Organizations frequently need to set up new computer frameworks rapidly and proficiently. SSTech Networking succeeds in fast sending, guaranteeing that new computers are designed, associated with networks, and prepared for use in the most limited conceivable time. This assistance is especially significant for organizations going through extensions or upgrades.
Repair and Maintenance Expertise
In case of hardware or software issues, SSTech Networking gives fast and powerful repair and maintenance services. The organization's talented professionals analyze and determine issues effectively, limiting personal time and guaranteeing that clients can continue their activities with negligible disturbance.
Server Support for Vigorous Tasks
Perceiving the critical job servers play in present day business tasks, SSTech Networking offers extensive server support services. From setup to maintenance and investigating, the organization guarantees that servers work at max execution, supporting the reliability and scalability of the clients' IT foundation.
About conclusion,
SSTech Networking stands out as a flexible and dependable IT specialist co-op in India, tending to the different requirements of organizations across different areas. From cloud computing to computer customization, hardware and software installation to server support, the organization's extensive scope of services positions it as a go-to accomplice for organizations hoping to improve their IT capabilities. SSTech Networking's commitment to greatness and customer fulfillment concretes its status as a forerunner in India's competitive IT services landscape.
#Cloud computing#Computer cleaning#Computer Customization#Computer upgrades#Custom Computer Building#Hardware & software installation#Mac#Network & printer setup#New computer setup#Repair & maintenance#Screen replacement#Server support
0 notes
Text
We Got More Tools For #Price
See REDFISH IA VEN ( https://goo.gl/maps/LVKkEYNN2LTe9C34A ) in Google Maps.
Be the First To Know About The New #software
#software#hardware#technology#money#earning#ipmc#love#giveaways#computing#computers#informationtechnology#learning#AI#redfishiaven#servers#deepweb#darkweb#bitcoin#rianews#tutorial
1 note
·
View note
Text
Jellyfin vs Plex: Best Self-hosted Media Server
Jellyfin vs Plex: Best Self-hosted Media Server #homelab #selfhosting #JellyfinvsPlex #mediaserversoftwarecomparison #PlexPassfeatures #opensourcemediaserver #mediastreamingsolutions #Jellyfinmediaserver #Plexmediaserver #hardwaretranscoding #mediaserver
Two names generally come up with self-hosting your own media files: Jellyfin and Plex streaming platforms. They each have great capabilities. However, let’s look at Jellyfin vs Plex and see which one might best fit for your home media services for hosting video and audio files. We will compare Plex vs Jellyfin in the following categories for media servers: Device compatibility User…
View On WordPress
#hardware transcoding#Jellyfin media server#Jellyfin vs Plex#live TV support#media server software comparison#media streaming solutions#open-source media server#Plex media server#Plex Pass features#remote media access
0 notes
Text

#a.b.e.l#divine machinery#archangel#automated#behavioral#ecosystem#learning#divine#machinery#ai#artificial intelligence#robot#angels#angel#guardian angel#wires and cables#serverroom#server room#hardware gore#software gore#computer#sentient objects#sentient ai
67 notes
·
View notes
Text
Still standing
On the afternoon of April 14th, a hacker using a UK IP address exploited an out-of-date software package on one of 4chan's servers, via a bogus PDF upload. With this entry point, they were eventually able to gain access to one of 4chan's servers, including database access and access to our own administrative dashboard. The hacker spent several hours exfiltrating database tables and much of 4chan's source code. When they had finished downloading what they wanted, they began to vandalize 4chan at which point moderators became aware and 4chan's servers were halted, preventing further access.
Over the following days, 4chan's development team surveyed the damage, which to be frank, was catastrophic. While not all of our servers were breached, the most important one was, and it was due to simply not updating old operating systems and code in a timely fashion. Ultimately this problem was caused by having insufficient skilled man-hours available to update our code and infrastructure, and being starved of money for years by advertisers, payment providers, and service providers who had succumbed to external pressure campaigns.
We had begun a process of speccing new servers in late 2023. As many have suspected, until that time 4chan had been running on a set of servers purchased second-hand by moot a few weeks before his final Q&A, as prior to then we simply were not in a financial position to consider such a large purchase. Advertisers and payment providers willing to work with 4chan are rare, and are quickly pressured by activists into cancelling their services. Putting together the money for new equipment took nearly a decade.
In April of 2024 we had agreed on specs and began looking for possible suppliers. Money is always tight for us, and few companies were willing to sell us servers, so actually buying the hardware wasn’t a trivial problem. We managed to finalize a purchase in June, and had the new servers racked and online in July. Over the next few months we slowly moved functionality onto the new servers, but we had still been relying on the old servers for key functions. Everything about this process took much longer than intended, which is a recurring theme in this debacle. The free time that 4chan's development team had available to dedicate to 4chan was insufficient to update our software and infrastructure fast enough, and our luck ran out.
However, we have not been idle during our nearly two weeks of downtime. The server that was breached has been replaced, with the operating system and code updated to the latest versions. PDF uploads have been temporarily disabled on those boards that supported them, but they will be back in the near future. One slow but much beloved board, /f/ - Flash, will not be returning however, as there is no realistic way to prevent similar exploits using .swf files. We are bringing on additional volunteer developers to help keep up with the workload, and our team of volunteer janitors & moderators remains united despite the grievous violations some have suffered to their personal privacy.
4chan is back. No other website can replace it, or this community. No matter how hard it is, we are not giving up.
585 notes
·
View notes
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:
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.
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.
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.
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:
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.
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.
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.
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.
My Star Trek collection, featuring all eleven television series, and thirteen films.
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
Note
Is AWAY using it's own program or is this just a voluntary list of guidelines for people using programs like DALL-E? How does AWAY address the environmental concerns of how the companies making those AI programs conduct themselves (energy consumption, exploiting impoverished areas for cheap electricity, destruction of the environment to rapidly build and get the components for data centers etc.)? Are members of AWAY encouraged to contact their gov representatives about IP theft by AI apps?
What is AWAY and how does it work?
AWAY does not "use its own program" in the software sense—rather, we're a diverse collective of ~1000 members that each have their own varying workflows and approaches to art. While some members do use AI as one tool among many, most of the people in the server are actually traditional artists who don't use AI at all, yet are still interested in ethical approaches to new technologies.
Our code of ethics is a set of voluntary guidelines that members agree to follow upon joining. These emphasize ethical AI approaches, (preferably open-source models that can run locally), respecting artists who oppose AI by not training styles on their art, and refusing to use AI to undercut other artists or work for corporations that similarly exploit creative labor.
Environmental Impact in Context
It's important to place environmental concerns about AI in the context of our broader extractive, industrialized society, where there are virtually no "clean" solutions:
The water usage figures for AI data centers (200-740 million liters annually) represent roughly 0.00013% of total U.S. water usage. This is a small fraction compared to industrial agriculture or manufacturing—for example, golf course irrigation alone in the U.S. consumes approximately 2.08 billion gallons of water per day, or about 7.87 trillion liters annually. This makes AI's water usage about 0.01% of just golf course irrigation.
Looking into individual usage, the average American consumes about 26.8 kg of beef annually, which takes around 1,608 megajoules (MJ) of energy to produce. Making 10 ChatGPT queries daily for an entire year (3,650 queries) consumes just 38.1 MJ—about 42 times less energy than eating beef. In fact, a single quarter-pound beef patty takes 651 times more energy to produce than a single AI query.
Overall, power usage specific to AI represents just 4% of total data center power consumption, which itself is a small fraction of global energy usage. Current annual energy usage for data centers is roughly 9-15 TWh globally—comparable to producing a relatively small number of vehicles.
The consumer environmentalism narrative around technology often ignores how imperial exploitation pushes environmental costs onto the Global South. The rare earth minerals needed for computing hardware, the cheap labor for manufacturing, and the toxic waste from electronics disposal disproportionately burden developing nations, while the benefits flow largely to wealthy countries.
While this pattern isn't unique to AI, it is fundamental to our global economic structure. The focus on individual consumer choices (like whether or not one should use AI, for art or otherwise,) distracts from the much larger systemic issues of imperialism, extractive capitalism, and global inequality that drive environmental degradation at a massive scale.
They are not going to stop building the data centers, and they weren't going to even if AI never got invented.
Creative Tools and Environmental Impact
In actuality, all creative practices have some sort of environmental impact in an industrialized society:
Digital art software (such as Photoshop, Blender, etc) generally uses 60-300 watts per hour depending on your computer's specifications. This is typically more energy than dozens, if not hundreds, of AI image generations (maybe even thousands if you are using a particularly low-quality one).
Traditional art supplies rely on similar if not worse scales of resource extraction, chemical processing, and global supply chains, all of which come with their own environmental impact.
Paint production requires roughly thirteen gallons of water to manufacture one gallon of paint.
Many oil paints contain toxic heavy metals and solvents, which have the potential to contaminate ground water.
Synthetic brushes are made from petroleum-based plastics that take centuries to decompose.
That being said, the point of this section isn't to deflect criticism of AI by criticizing other art forms. Rather, it's important to recognize that we live in a society where virtually all artistic avenues have environmental costs. Focusing exclusively on the newest technologies while ignoring the environmental costs of pre-existing tools and practices doesn't help to solve any of the issues with our current or future waste.
The largest environmental problems come not from individual creative choices, but rather from industrial-scale systems, such as:
Industrial manufacturing (responsible for roughly 22% of global emissions)
Industrial agriculture (responsible for roughly 24% of global emissions)
Transportation and logistics networks (responsible for roughly 14% of global emissions)
Making changes on an individual scale, while meaningful on a personal level, can't address systemic issues without broader policy changes and overall restructuring of global economic systems.
Intellectual Property Considerations
AWAY doesn't encourage members to contact government representatives about "IP theft" for multiple reasons:
We acknowledge that copyright law overwhelmingly serves corporate interests rather than individual creators
Creating new "learning rights" or "style rights" would further empower large corporations while harming individual artists and fan creators
Many AWAY members live outside the United States, many of which having been directly damaged by the US, and thus understand that intellectual property regimes are often tools of imperial control that benefit wealthy nations
Instead, we emphasize respect for artists who are protective of their work and style. Our guidelines explicitly prohibit imitating the style of artists who have voiced their distaste for AI, working on an opt-in model that encourages traditional artists to give and subsequently revoke permissions if they see fit. This approach is about respect, not legal enforcement. We are not a pro-copyright group.
In Conclusion
AWAY aims to cultivate thoughtful, ethical engagement with new technologies, while also holding respect for creative communities outside of itself. As a collective, we recognize that real environmental solutions require addressing concepts such as imperial exploitation, extractive capitalism, and corporate power—not just focusing on individual consumer choices, which do little to change the current state of the world we live in.
When discussing environmental impacts, it's important to keep perspective on a relative scale, and to avoid ignoring major issues in favor of smaller ones. We promote balanced discussions based in concrete fact, with the belief that they can lead to meaningful solutions, rather than misplaced outrage that ultimately serves to maintain the status quo.
If this resonates with you, please feel free to join our discord. :)
Works Cited:
USGS Water Use Data: https://www.usgs.gov/mission-areas/water-resources/science/water-use-united-states
Golf Course Superintendents Association of America water usage report: https://www.gcsaa.org/resources/research/golf-course-environmental-profile
Equinix data center water sustainability report: https://www.equinix.com/resources/infopapers/corporate-sustainability-report
Environmental Working Group's Meat Eater's Guide (beef energy calculations): https://www.ewg.org/meateatersguide/
Hugging Face AI energy consumption study: https://huggingface.co/blog/carbon-footprint
International Energy Agency report on data centers: https://www.iea.org/reports/data-centres-and-data-transmission-networks
Goldman Sachs "Generational Growth" report on AI power demand: https://www.goldmansachs.com/intelligence/pages/gs-research/generational-growth-ai-data-centers-and-the-coming-us-power-surge/report.pdf
Artists Network's guide to eco-friendly art practices: https://www.artistsnetwork.com/art-business/how-to-be-an-eco-friendly-artist/
The Earth Chronicles' analysis of art materials: https://earthchronicles.org/artists-ironically-paint-nature-with-harmful-materials/
Natural Earth Paint's environmental impact report: https://naturalearthpaint.com/pages/environmental-impact
Our World in Data's global emissions by sector: https://ourworldindata.org/emissions-by-sector
"The High Cost of High Tech" report on electronics manufacturing: https://goodelectronics.org/the-high-cost-of-high-tech/
"Unearthing the Dirty Secrets of the Clean Energy Transition" (on rare earth mineral mining): https://www.theguardian.com/environment/2023/apr/18/clean-energy-dirty-mining-indigenous-communities-climate-crisis
Electronic Frontier Foundation's position paper on AI and copyright: https://www.eff.org/wp/ai-and-copyright
Creative Commons research on enabling better sharing: https://creativecommons.org/2023/04/24/ai-and-creativity/
217 notes
·
View notes
Text
poly 141 x IT tech reader
Chapter 2 (Unedited)
18+ MDNI
cw: afab reader, mxm, masturbation, talk of shooting and weapon handling, inaccurate military descriptions, the reader has female anatomy, were all down bad.
…
You couldn't sleep.
The golden light cascaded through the open curtains, hitting your bare legs sending warmth through to your toes.
Whether it was the eagerness to make a good impression, or the anxiety of starting in a brand new team you know nothing about that kept you awake, it didn't matter.
You tried to do some digging into this team but their files are so hard to pull due to the level of clearance needed to access. And even if you had the needed clearance youd suspected that these files were heavily redacted regardless.
These men were gray to the government, they were killed a long time ago to best fit the needs of the ones they serve. So no wonder you couldn't pull anything, not even the status of deployment.
Laswell explained that this team is something that won't go on your file, but would be invaluable to you later in your career. So getting the head start on the system is exactly what you're looking for.
You spent hours just working on necessary updates to the system, one that had been pushed off for too long. Seems the last guy was just here for the paycheck as nothing was really done besides the bare minimum. Taking the time to sort out the plan for future needs on the software.
Sleep continued to evade you, even after you showered and got a head start on work.
So you decided to go for a walk to try and find the access to the hard drive and the physical elements to the server.
Knowing about where most bases keep their hardware, you started walking in that general area. The empty hallways were a welcome sight after all of the travel and meeting new people.
You followed the memorized map in your mind down a dimly lit hallway. It was sterile, the clean silver knob was cold in your hand as you twisted the door open. Taking in the small office you mentally cheered. Normally you didn't have an office, you'd have to bunker down on the floor with a mobile set up, this could be for days at a time. Especially when there is a mission, that floor near the hardware unit is your new home.
Taking in the small desk, the gray carpet, some simple cupboards holding manuals about the current system in operation. The glass closet doors on the right side showing thousands of blinking green and red lights, the tangle of wires that wound need to be re-organized.
On your left through the blinds was a small window, just big enough to let in the orange tint light of the lamp post filter through.
Walking around to run your fingers over the desk, it wasn't anything fancy, it was a small wooden desk with one drawer under it. The chair isn't a normal office chair, it looked like someone brought an armchair from home and never took it back. You weren't complaining as that means you can curl up better anyway.
You throw yourself down onto the weathered furniture, smiling to yourself.
You opened the drawer to rummage through and see if there were any left behind treasures when you heard a grunt from the slightly ajar door. Looking up to make eye contact with the mountain of a masked man.
Your mouth fell open in surprise as you didnt expect to see anyone out here, especially the elusive man that you were sure wouldn't have shown himself if he didn't want to be seen.
“O-Oh, my apologies, Sir. I didn't mean to wake you-” You scrambled as you pushed yourself up to be in a more proper position while facing someone in a higher position than you.
He shakes his head at you, his gaze lingered on your bare dewey legs, taking in the way that your skin looks under the orange tint light that cascaded through the blinds. Your damp hair fell past your mid back, framing your face.
“S’alright.” His eyes linger on you, you feel the dark pools of his eyes drape over you. Clinging to every bone in your body. It felt like more than just an observation, it was like he was trying to burn your image to his eyelids. And you're unsure if that's a good or bad thing.
You stood at attention waiting for orders, you knew you weren't supposed to be awake. Both him and Price gave an order and you didn't listen. And all you could look at was the veins that are protruding under his flesh, arms crossed and bulging under the sleeveless tank top he wore. The Ghost mask he was known for was traded out for a black neck gaiter, and the messy ashy blonde hair stood at odd directions on top of his head.
“Should be sleeping.” The deep grumble of his voice sounded out as he leaned against the door frame. Not breaking eye contact he continued, “Got a long day ahead of you, need ta’ see you at your best.”
You nodded your head along with him, “Course, Sir. I’ll go straight to bed.”
Ghost never took his eyes off yours, you just waited for him to dismiss you.
He internally grinned, you were finally now being a good girl after disobeying orders.
“You're dismissed, Soldier.”
You tried to bolt out of the door as soon as the words left his mouth. But his large frame took up most of the doorway. Making you stand in front of him, the smell of your shampoo danced into his nose.
Looking up at him, “Excuse me, Lieutenant.”
He pushed off of the wall and gave you enough space to wiggle through and scurry off to bed. A dark chuckle made its way out of Ghost's chest, a confusing amount of heat ran through his body, pooling blood into his lower region.
It was the way you stared into his eyes with confidence, but still so timid and eager to please all at the same time.
Sighing he shut the door to what is now your new office, he'll have to send Gaz in here to set up surveillance during tomorrow's training.
…
As soon as you scurried back into bed, it took you a while to calm your heart and mind down enough for you to get some sleep. Leading to the slim amount of sleep that left you desperate for more.
Your alarm went off dragging a frustrated sigh out of you and a long stretch before you got up to get ready. Truth is you were up a couple hours before you needed to be so you could get in a workout before training.
You needed to make sure you were in top condition during these training exercises, the last time that you were on an assignment the team wouldn't allow you in the field so you were excited to have the opportunity.
With that in mind you got a motivation streak and got ready in record time, the grey work out gear hugging you well, as you threw on a large shirt over for the walk to the gym. Opening the door you glided your way, remembering where it was from the small tour the Captain gave to you.
Stopping by the dingy water fountain to top off your army issued water bottle.
Once you breached the doors to the gym, you had to turn on the light as it seems you were the first person in today. The hum of the fluorescent lights buzzing in the background. There were small windows on the back wall above the machines and weight racks. On the left there was an area for stretching and lockers.
Turning to the right you see yourself in the large mirror that was covering the entire wall, chuckling at the heavy purple bags under your eyes.Three well loved benches sat in front of it.
Quickly finding your way to the open area, setting your things down before you sit down to stretch. Getting through most of your stretch routine before you hear the door open. A whistling Soap walked in, both of you locked eyes for a while.
You couldn't look away from him. His messy mohawk stood at odd angles after a night of sleep, but what really had you was the strong arms that made you want to drool. The natural tanned skin sprinkled with freckles, covered in a layer of burly thick hair that traveled all over his chest. His loose green tank top did nothing to hide anything.
Your fingers twitched with the need to run your hands through it.
His lip pulled up into a dog-like smile.
With burning cheeks you decided to get back to your stretching, hiding your face in your legs while touching your toes.
Soap let out a chuckle at the redness that dusted your cheeks, as you hid your face his eyes dilated at the dusting of red on the nape of your neck. He felt himself salivate.
He broke himself out of his staring and headed to grab his weights and start his own workout, not wanting to creep you out with his staring.
…
Soap has never been this worked up during a workout.
You were his exact fucking type.
Half way through your work out, he watched you strip off the loose shirt, leaving you in a tight black sports bra. Exposing your muscled shoulders and the soft flesh of your tits that spilled slightly out of your bra. He was absolutely hiding a boner the entire time.
The worst of it was when you bent over to adjust weight on the squat machine, the line of your panties digging into the meat of your hips and ass leading all the way down to the damp outline of your pussy.
It reminded him of how long it was since he tasted a woman. Especially one like you.
He would rather take torture in a syrian prison then have to be tortured like this again.
You went up on weight on this next set, your head tilted back with eyebrows furrowed as you struggled against the new weight. You grunted on the next rep, looking ready to give up.
You heard the sounds of two weights drop on the ground as Soaps form slowly walked towards you, “C’mon bonnie lass, ya can do it.” he clapped his hands.
Your legs shook as you tried to push the weights up, after a few moments you finally got it to its resting position. Slowly sliding out of the machine and onto the cold floor. Your eyes were closed as you tried to regulate your breathing.
“Think I tried too much weight” You chuckled dryly. He took the time to look at you, taking notes of any scars, freckles, or moles. He saw a pretty bad scar that peeked out from your back and over your shoulder.
“Nonsense, ya powered through.” he laughed as you opened your eyes, a small smirk on your face, “Ya should stop now, doll. Got training exercise in an hour.” He said, taking in how your eyes looked when you looked up at him from this position.
You nodded at him checking your watch as it read 0430, as his hand came into view to help you up.
He pulled you up as if you weighed nothing, almost pulling you into his chest.
“Appreciate your help, any advice for the training?” You probed. Grabbing your shirt from the floor and wiping the sweat that was running down your neck.
His eyes tracked the movement happily, “Ya done a lot of shootin?”
You nodded and sat down on the floor, “I was deployed in a Special Activity unit before I transferred to IT.” From the way your smile dropped a bit, a sad look in your eye, he knew it wasn't by choice.
He made a noise of acknowledgement, “Should be the same thing ya did with that unit.”
That gave you some confidence, nodding your head and grabbing your stuff you turned back to Soap before you left.
“Thank you, Soap. I’ll see you at the training exercise.” You turned to leave and he took another full look at you before he went to grab his stuff to hop in the shower or get in bed with one of the boys and relieve some tension before he had to see you handle guns, he didn't think he could survive that boner.
…
You met Captain Price in his office. You looked at the clean cut beard on his face under the soft lighting of his lamp. His handsome eyes looking over paperwork and then back to you, why did they all have to be so good looking.
Stood in front of the deep mahogany desk, dressed in your dark camo fatigues, with a tight compression shirt tucked into a standard belt.
He was treating this as a mission, so he was giving a full debrief. He is sending you alone to clear a small compound, no prize or target, just clear and hold. He asked you to follow him to the outdoor range, you had four personal gun cases sitting on the floor.
Bending down to pick them up at the same time as Price feeling his warm hand as you grabbed the same case. Looking up, the blush dusted across your face, making eye contact with him.
“Let me help you with these, kid.” He said, arms bulging as he picked the cases up and opened the door for you. Making your way into the hallway.
“I have gear for ya at the range, once there you can pick from our standard selection of hardware, we want to see ya use your personal and the standard.” He said as he showed his badge to the man at the gate of the range.
“What are you guys running in your kits?” you asked.
“You can choose what you want to have in your kit but the standard currently is the MK25.” You nodded.
As we breached the doors to the outdoor training area the cool humid air hitting you as your boots hit the wet pavement, the stormy sky greeted you as you breathed in the air.
There was a maze of walls with scaffolding above so superior officers could observe the training, next to it was a table with firearms and ammo, in front of that sat four unmoving fresh targets. Ghost and Soap were there in full gear waiting for you and John.
Soap stands slightly behind Ghost giving you a quiet thumbs up, which gives you a little bit of confidence.
Ghost stared through you as he barked questions at you, “What do you have for your personals?” Watching as price sets down two gun cases and you set down two.
“Currently I'm running beretta 92FS and ZEV OZ9 elite for handguns,” popping open the cases with your personal firearms, “Colt M4A1 URG-1 and SIG-sauer MCX-SPEAR LT for my carbines.” Pulling one of your carbines out, Soap practically buzzing just from watching you check your sights and settings on the gun.
Ghost too found himself watching the gun press into your tit as you checked it over, quickly looking away.
“Run your beretta and the ZEV, then I need ya to run the MK25.” you nodded at the tall man, surprised at how many words he's using.
They departed from you and walked up the stairs to watch you, Soap looked at you as he started his climb, giving you another thumbs up mouthing a quick good luck.
Grabbing the ear and eye protection, you grabbed your mags that you filled this morning and loaded your weapons. You walked over to the door and waited in position.
“Cleared hot.”
As soon as the word came out of John's mouth, the lights started to strobe and screaming played over the PA system.
You were startled but regained composure and breached the first door, keeping your back to the wall with your service weapon at the ready. Coming up to a corner that rounded to the right, there was a piece of plastic tarp covering half of the doorway.
Gaz climbed the stairs joining the others, running a hand down John’s back as he looked down.
“Where have you been, Kyle?” John asked, leaning into the warmth of Gaz’s hand.
“Had ‘im run an errand for me.” Ghost interrupted, looking at John,
Price chuckled, running a hand over his beard watching as you proceeded through the compound.
As soon as you cleared the corridor you breached, seeing two targets on both sides of the rooms. You shot a distraction shot forward and then hit both bogeys. As soon as that room was cleared you moved to the next hallway. There immediately was a target to the right of the door, sending a quick shot into the head.
This hallway was a dead end except for the rooms on either side of it. Inching forward and looking at the closed door to the left, deciding to keep that for last and bracing against the wall next to the open door. Taking a deep breath trying to drown out the screaming, you peeked the gap between the door and the doorway seeing a target.
Sending the first shot through that gap before running into the room, and taking out the other two. The rest of the room was clear so you moved back out to the hallway, slowly opening the door and you find the room is empty.
It was supposed to be a bathroom, with debris in the way you took a defensive stance in the corner of the room.
The boys watched as you cleared the last room. You obviously haven't been in combat in a while but for being thrown in a simulation you weren't bad, just needed some extra practice to get back into the groove of things.
The way your muscles flexed while you fired into a target was a welcome sight to them. Soap and Gaz kept eyeing each other. Soap ran straight to his partners to relieve some stress after watching you working out. Ghost and Price didn't think much of it as he's always a horny mutt, but Gaz knew.
Looking down, they saw you lift your head.
“I need evac.” You yelled out of breath.
The lights kicked over to the constant yellow lighting, and the screaming finally stopped.
Standing up and walking out of the door you see the team now including Gaz are walking toward you.
“Fuck ya bonnie.” Soap hollarded, happy with your run through. He had to readjust the half chub in his pants before walking down earning an eye roll and a smack to the ass from Ghost, “Hit me harder LT.” Soap winked before running down, giggling.
You gave him a quick fist bump and moved to face the captain.
“Ya did good, taking out the three in the last room was a bit reckless but if you're ever in the field you should have one of us with you at all times.” He gruffed out walking to show you your accuracy on some of the shots.
You nodded, starting to cool down and feel the sweat drip down your back.
The group moved out of the building as you welcomed the cool air on your skin.
“Go reload your weapons, you're going to run the course with Ghost.” He nodded at you with a smile, you're fighting the reflex to giggle as when he smiles his beard moves in a cute funny way.
He looks up and motions for Soap and Gaz to reset the course.
You walk over to the table where Ghost was loading up a pistol and carbine.
“Are we taking the carbines?” You said as you pop out the empty magazine.
“Yes.” He said, not even looking at you.
Nodding you reloaded all of your mags and placed your handgun in the holster on your right hip, and held your carbine. Walking over to the door, you moved the ear protection back over your ear and waited for Ghost to get into position.
His hand grabbed your shoulder and squeezed letting you know he was ready, trying to ignore the tingling under the calloused hand, as soon as he squeezed the music started and the lights began to strobe.
Walking through the now familiar corridor, there was immediately a target behind the door which you neutralized. As you did Ghost took a shot at a target that was tucked behind a pile of debris.
As soon as you made it to the last hallway the hallway was clear but the door to the left was closed so you cleared the bathroom first, taking out the target that was in the middle of that room. Moving out, you and Ghost took a position outside the door, Ghost's thumb brushed against where your neck and shoulder met. Feeling the nail dig slightly in sending a chill down your back and a dust of pink across your neck.
Ghosts keen eyes caught the movement, knowing what it was doing to you.
You felt the rough corners of his gear dig against your hip as you peeked through the door seeing the targets. You didn't know if it was the close proximity to Ghost or the adrenaline that was making your body hot.
All you knew was you needed to get this out of your system, you can't be feeling all hot and bothered while being thrown into a new team.
Taking a quick breath you breached the room, finding two targets on the right close to each other and two farther away on the right side.
You too made quick work of the targets in the room, kneeling down and calling for evac.
The lights switched over and the music stopped.Ghosts hand was still on your shoulder as you looked back at him. His gazed bored through your skull.
You looked back waiting for him to either give you criticism or what to do better next time, but instead he took his hand from your shoulder and walked out without muttering a word to you.
Sighing you pulled the ear covering off of your head and leaned your head back.
You met up with the group outside of the building.
“You did good, we're going to have you join the majority of our training sessions from now on-” Price gruffed out, placing a large hand on his hip. Your eyes watching the handsome older man.
“For now you're free to work on the servers or have some down time, Laswell wanted to make sure you had time to get settled in before joining our training sessions regularly.”
Nodding your head, “Sounds good, Sir.”
…
You found yourself in the comfy chair of your new office, finally changed into an army issued green hoodie and leggings. Your hair was gel free and flowing down naturally.
Currently you are setting up to download the last upgrade before you can redo the wiring in the hardware. After hitting the allow button you leaned back sighing, glancing out the window to see the rain was coming down harder than it had been all day.
Looking back to the screen on your laptop, you saw the loading bar was still on one percent.
You got to thinking about the day.
Your mind drifted away to how Soap's chest looked, how Ghost’s hand felt wrapped around your shoulder, the warmth of John's hand against yours, and how Kyle's eyes slid over your body.
You felt the molten heat that gathered between your legs stick to the leggings that now felt too tight on you.
You couldn't stop yourself as you traced the tips of your fingers down the front of the scratchy hoodie. Tracing over the pierced sensitive flesh of your nipples over the fabric, biting your lip to hide the moan that was beginning to fall out of your mouth.
Ripping the hoodie over your tits feeling the cool air, and rubbing your legs together. You pinched and rolled the piercings in your fingers, feeling the devastating pang of electricity that it sent to your cunt.
You knew you shouldn't be doing this…
But you couldn't stop either.
You trailed one of your hands down the smooth surface of your tummy, passed the waistband of your leggings. Suddenly thankful that you didn't put a pair of panties on before leaving your room.
The pads of your finger met the surprisingly soaked heat of your cunt, letting out a small broken whimper as your back arched off of the chair. Using the edge of the desk to help keep your legs open.
Running two fingers up from your dripping hole to the buzzing button of flesh that begged for attention, rubbing your fingers in a figure eight motion. Having to cover your mouth as your toes curled. It felt so good to finally have relief.
You rolled your eyes into the back of your head, feeling your body release its slick all over your fingers and inner thighs. Barely able to keep your sounds at bay.
You quickened your fingers as you felt your climax approaching rapidly, the knot tightening in your lower stomach.
Then it snapped.
Letting out the quietest moan you could manage, riding out as much of the high you could before it got to be too much and you snapped your knees together. Your chest was heaving from trying to catch your breath. The faint buzzing in your pussy pulsed after finally getting the high you so desperately needed.
You laid there for a bit, eyes closed, feeling the cool air from the vent above you. Nipples tighten once again to the cold air.
Unknown to you in the foggy cloud that was your mindset, post orgasm, a red light faintly blinked from inside the vent, a strategically placed camera faced directly at your chair.
On the other side of the camera was Ghost.
Large hands closed in tight fists, knuckles turning white, cock angry red being choked against the fabric of his jeans. Feeling his breath quicken as he watched you come down, tits high in the air, hand still pushed between closed legs.
He didn't know what he was getting into when he asked Gaz to install the camera, and he was at war with his brain and cock. He yanked out his phone sending a text to Gaz, knowing he was free.
Get in my office. Now.
Quickly saving the video to his computer, he heard footsteps quickly approaching his office as the door was wrenched open. In walks an out of breath Garrick, a look of concern taking over his handsome face.
“Ya alright Si?” The bronze skinned man walked over to place a hand over the masked jaw of Simon.
The blonde man said nothing as he looked into Gaz’s eyes, quickly yanking his mask down and grabbing the man by the back of his neck. He yanked him down to bring their lips together, immediately earning a groan from Gaz.
Finally understanding what was happening, Gaz took a confident seat on the widespread of Ghosts lap.
Gaz swallowed the desperate groan as he rocked his hips against the rock hard length of Simon's cock. Before pulling his lips back looking down at the desperate man beneath him.
“What's gotten into you?” he said, tracing a finger around his lips.
Large hands wrapped around the smaller man's hips, forcefully turning him around to see a video paused of you sitting at your desk in a typing position. He cocked his head confused as Ghost hit play on the video, watching you trail your shirt up exposing the pink and pierced nipples almost directly to the camera.
Gaz moaned as he watched you slide your hand into your pants, face twisted in pleasure.
“Holy fuck.”
#john price#john soap mactavish#kyle gaz garrick#simon ghost riley#task force 141#tf 141 x reader#poly 141#smut
74 notes
·
View notes
Text
✦ the coffin dwellers gift to thee ~
✦ ── Computer themed , System alt terms
001 ── 'System' ; Computer , Network ノ Net , Code , Matrix , Motem , Motherboard¹ , CPU , Cache , Hardware¹ , Database ノ Datacenter , Hardrive ノ Drive , Domain , Server , Brower , Cloud , Index , Local area network ノ LAN , Operating system ノ OS , Sort field , Zipfile , Mainframe , Peripheral , Console , Terminal
002 ── 'Alters' ; Floppydisks ノ Disks , CDs , Robots ノ Bots² , Scripts , Facets , Wires , Bytes , Cookies , Ports , Software , Proxies , Clients , Users , Profiles , Files , Drives , Players , Accounts ノ Account holders , Add-ons , DLCs , Skins , Hackers , Developers ノ Devs
003 ── ¹ May also be used for body , ² May be reminiscent for those who have been called bots for using proxies on discord.
#❝ 🩸 ❞ — resurrection#plural#system stuff#plural community#plural id#plural flag#plural coining#system terms#system flag#did osdd#did system#dissociative system#osdd system#plural system#sysblr#system coining#system name#system names#system term#alter term#alter terms#system alt terms#system npts
357 notes
·
View notes