#BASH Software
Explore tagged Tumblr posts
hallowed-somnolence · 2 months ago
Text
too much techincal stuff i dont understand my head hurts orz
2 notes · View notes
slipgatetourist · 2 years ago
Text
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
Turbo Overkill
41 notes · View notes
avery-braindump · 7 months ago
Text
God I fucking hate maya I am going to SCREAM!!!!!!
3 notes · View notes
mxgoldenwood · 2 years ago
Text
Tumblr media Tumblr media
Looking forward to STVBB 2023! Erann's updated one of his older looks to fit with the new celestial theme - and this year he's put together a coordinating outfit for his date Val, as well!🌙✨☀️
( Val belongs to @nicole-lachell )
16 notes · View notes
doom-nerdo-666 · 1 year ago
Photo
Was thinking about this because of BJ's belt here.
Tumblr media
An unused painting by Ken Rieger, the cover artist for Commander Keen and Wolfenstein 3D. This was meant for an Apogee catalog. Found in George Broussard’s closet. (Source)
428 notes · View notes
stevensaus · 1 year ago
Text
How To Back Up Your Patreon Posts And Photos To Multiple Formats Automatically (Using Linux) In December 2023
Tumblr media
Patreon Creators -- I have good news and bad news for you.
The Good News: You Can Back Up Your Posts
The good news: You can back up your Patreon posts and then -- with a bit of scripting and some linux software tools {1} -- get them, along with images in the proper places, as word processing documents or standalone web pages. There is -- as far as I can tell -- no built-in way to export your data from Patreon. I asked a year ago, and they told me "Nope, but that's a great idea." While other changes have occurred with Patreon in the last year, there's still no internal way to export what you've written on the site/app -- and if anything, Patreon seems rather set on making sure it's that way. There are some third-party WordPress plugins I've heard of (and not tested), but if you're not using WordPress, you're SOL. There are extensions and tools to download individual images and such from posts, but that's not going to help if you need a backup of what you've created on the site. Given the principle of "What you don't own can ban (or get rid of) you with no notice," it is desirable to have a copy of your Patreon posts if you want to use them for anything else, or simply have a backup.
Using the tools (Linux instructions)
So here's how we do it. First, it requires a cross-platform tool called PatreonDownloader. Download the release and unpack it to a directory of your choosing and change into that directory. If needed (for linux) make PatreonDownloader.App executable by typing chmod +x ./PatreonDownloader.App. Using the tool is pretty straightforward: ./PatreonDownloader.App --url https://www.patreon.com/ --descriptions --embeds --download-directory /path/to/save/location --use-sub-directories It will open a browser window automatically for you (chromium -- a fork of Chrome without Google), warn that the browser is being operated by an automated tool, and have you log into Patreon. You can only access creator posts that you normally can reach when logged into Patreon. And then the tool will work for a while in a terminal window. This... may take a while, depending on how many posts you have. PatreonDownloader will not download externally hosted images (e.g. on imgur) or videos (e.g. on YouTube or Vimeo). The --embeds flag will create text files in the appropriate directories with the information about those externally hosted embeds. Each post will be in its own subdirectory, and there will be a description.html file with the body of the text. And while the images have been downloaded, the links in description.html still point to an online source. It's all there... but not very easily usable. Our friends sed, awk, detox, and pandoc are here to help (sed and awk should already be on your Linux system; pandoc and detox are probably available in your package manager as well). (I also use unzip at one point as well.) I wrote a BASH script using all of those tools to go through, smarten the quotation marks (to avoid escaping errors) and producing the following: - The document, renamed with the title of the post (and the title and date posted at the top of the doc), in markdown - The document, renamed with the title of the post (and the title and date posted at the top of the doc), with images embedded in ODT (OpenDocument format) - The document, renamed with the title of the post (and the title and date posted at the top of the doc), with images embedded in DOCX (MS-Word format) - The document, renamed with the title of the post (and the title and date in the metadata of the format), in epub format - The document, renamed with the title of the post, in HTML format with links to images pointing to ./media and the image files all located in that subdirectory. The script (MIT license) is available from GitHub, GitLab, or my own repo. The usage is pretty simple: convert_patreon_downloader_files.sh /path/to/save/location If you do not specify a path, it will start at the current directory and recurse downward. If you want to have it all as a single file, I recommend taking all of the resulting epub files -- assuming their titles are different -- and combining them using the EpubMerge plugin for Calibre. While pandoc is able to take multiple files and combine them into one large ebook, if there are a lot of files and images getting pulled in, you may end up with your CPU and RAM at 100%. (Ask me how I know.) However, once Calibre combines them all into a single big epub file, you can use pandoc MyBig.epub -f epub -t docx -o MyBig.docx, for example, to make it into one big Word document. There you have it. A genuine backup of (at least) your words and images that you've posted on Patreon.
The Bad News: (Sort Of)
If you were paying attention, you already know the bad news. PatreonDownloader allows the user to use the tool with any post the user can normally see when logged into Patreon. For example, when putting this together, I was doing so on behalf of M. Sotherden (who makes glass art and often writes about her life) who wanted to have a backup of her writing. I did not need their login credentials, I just had to subscribe to their Patreon. So, at least theoretically, any patron could download every post of any creator they support.
Should I Worry?
Is that actually something to worry about? From what I've observed of Patreon -- which admittedly isn't much -- it seems like most of the patrons really are there to support artistic and creative endeavors, not to "get the most bang for their buck". There are going to be scammers who try to rip off someone else's work -- not a large percentage, but with automation and the size of the internet, a small percentage can have a big impact. If a Creator is worried about it, they can set their posts to only be visible for a period of time, so their most recent Patron will not have automatic access to their entire back catalog. I'm sure that once this gets realized, there will be a vocal few with their trousers all in a twist worrying about AI or plagarists or pirates or youths, and frantically changing the settings on their Patreon. {2} They will hit their socials, pearls firmly clutched. Again, not a large percentage of Creators, but a vocal one. They may even do something so stupid as to try to lash out at PatreonDownloader. Let me say that again. SOMETHING STUPID LIKE GOING AFTER THE TOOL. Because ultimately, this is the same issue as DRM, except a lot more personal. DRM -- or restricting how far back Patrons can look -- inherently says "I don't trust you with what I made." And Patreon is explicitly about trust and people wanting to support artists and creators rather than thinking they're "pre-ordering" something with their pledge {3}. Patrons can -- and frequently do -- support artists and creators at financial levels well over the "cost" of any tangible gain they receive. So to those creators who are thinking about doing something stupid, take a moment to reflect on that. Your Patrons are not paying you for a product or a service. They may get something out of supporting you -- something to read every week or month, a postcard, whatever -- but that is not why they are your patrons. They are not there to snag merch or take all your stuff. They are your patrons because they are supporting you.
Further Work And Promoting Creators
If you are a Windows or Mac (or BSD, hi MWL) person who can tweak this for those operating systems (particularly the BASH script), please let me know so I can link to it here as well. There are some guides for the PatreonDownloader portion in this Reddit thread: https://www.reddit.com/r/DataHoarder/comments/s15j94/simple_patreon_downloader/ And if you have a Patreon that you support, leave a comment wherever you see this telling us why you support that creator and where we can find them. (If you have a Patreon, feel free to leave yours, but then leave a second, separate comment sharing another creator, please.) I'll start with one: As previously mentioned, I started this project on behalf of M. Sotherden, who is a fascinating writer and makes some exquisite glass art. You can find their Patreon at https://www.patreon.com/MSotherden, and can read some samples of their work over at https://glasslassie.com/. {1} It is possible to get pretty much all of these tools on Windows and Macs, but that's beyond the scope of what I'm describing here, and I don't have either handy to test this on. If you write that guide, please let me know so I can link to it here. Particularly the bits for using the BASH script. {2} That is legitimately why this is going live after Christmas Day and before New Year's. {3} We know what service I'm talking about. Featured Image by tookapic from Pixabay Read the full article
0 notes
donjuaninhell · 1 year ago
Text
How I ditched streaming services and learned to love Linux: A step-by-step guide to building your very own personal media streaming server (V2.0: REVISED AND EXPANDED EDITION)
This is a revised, corrected and expanded version of my tutorial on setting up a personal media server that previously appeared on my old blog (donjuan-auxenfers). I expect that that post is still making the rounds (hopefully with my addendum on modifying group share permissions in Ubuntu to circumvent 0x8007003B "Unexpected Network Error" messages in Windows 10/11 when transferring files) but I have no way of checking. Anyway this new revised version of the tutorial corrects one or two small errors I discovered when rereading what I wrote, adds links to all products mentioned and is just more polished generally. I also expanded it a bit, pointing more adventurous users toward programs such as Sonarr/Radarr/Lidarr and Overseerr which can be used for automating user requests and media collection.
So then, what is this tutorial? This is a tutorial on how to build and set up your own personal media server using Ubuntu as an operating system and Plex (or Jellyfin) to not only manage your media, but to also stream that media to your devices both at home and abroad anywhere in the world where you have an internet connection. Its intent is to show you how building a personal media server and stuffing it full of films, TV, and music that you acquired through indiscriminate and voracious media piracy various legal methods will free you to completely ditch paid streaming services. No more will you have to pay for Disney+, Netflix, HBOMAX, Hulu, Amazon Prime, Peacock, CBS All Access, Paramount+, Crave or any other streaming service that is not named Criterion Channel. Instead whenever you want to watch your favourite films and television shows, you’ll have your own personal service that only features things that you want to see, with files that you have control over. And for music fans out there, both Jellyfin and Plex support music streaming, meaning you can even ditch music streaming services. Goodbye Spotify, Youtube Music, Tidal and Apple Music, welcome back unreasonably large MP3 (or FLAC) collections.
On the hardware front, I’m going to offer a few options catered towards different budgets and media library sizes. The cost of getting a media server up and running using this guide will cost you anywhere from $450 CAD/$325 USD at the low end to $1500 CAD/$1100 USD at the high end (it could go higher). My server was priced closer to the higher figure, but I went and got a lot more storage than most people need. If that seems like a little much, consider for a moment, do you have a roommate, a close friend, or a family member who would be willing to chip in a few bucks towards your little project provided they get access? Well that's how I funded my server. It might also be worth thinking about the cost over time, i.e. how much you spend yearly on subscriptions vs. a one time cost of setting up a server. Additionally there's just the joy of being able to scream "fuck you" at all those show cancelling, library deleting, hedge fund vampire CEOs who run the studios through denying them your money. Drive a stake through David Zaslav's heart.
On the software side I will walk you step-by-step through installing Ubuntu as your server's operating system, configuring your storage as a RAIDz array with ZFS, sharing your zpool to Windows with Samba, running a remote connection between your server and your Windows PC, and then a little about started with Plex/Jellyfin. Every terminal command you will need to input will be provided, and I even share a custom #bash script that will make used vs. available drive space on your server display correctly in Windows.
If you have a different preferred flavour of Linux (Arch, Manjaro, Redhat, Fedora, Mint, OpenSUSE, CentOS, Slackware etc. et. al.) and are aching to tell me off for being basic and using Ubuntu, this tutorial is not for you. The sort of person with a preferred Linux distro is the sort of person who can do this sort of thing in their sleep. Also I don't care. This tutorial is intended for the average home computer user. This is also why we’re not using a more exotic home server solution like running everything through Docker Containers and managing it through a dashboard like Homarr or Heimdall. While such solutions are fantastic and can be very easy to maintain once you have it all set up, wrapping your brain around Docker is a whole thing in and of itself. If you do follow this tutorial and had fun putting everything together, then I would encourage you to return in a year’s time, do your research and set up everything with Docker Containers.
Lastly, this is a tutorial aimed at Windows users. Although I was a daily user of OS X for many years (roughly 2008-2023) and I've dabbled quite a bit with various Linux distributions (mostly Ubuntu and Manjaro), my primary OS these days is Windows 11. Many things in this tutorial will still be applicable to Mac users, but others (e.g. setting up shares) you will have to look up for yourself. I doubt it would be difficult to do so.
Nothing in this tutorial will require feats of computing expertise. All you will need is a basic computer literacy (i.e. an understanding of what a filesystem and directory are, and a degree of comfort in the settings menu) and a willingness to learn a thing or two. While this guide may look overwhelming at first glance, it is only because I want to be as thorough as possible. I want you to understand exactly what it is you're doing, I don't want you to just blindly follow steps. If you half-way know what you’re doing, you will be much better prepared if you ever need to troubleshoot.
Honestly, once you have all the hardware ready it shouldn't take more than an afternoon or two to get everything up and running.
(This tutorial is just shy of seven thousand words long so the rest is under the cut.)
Step One: Choosing Your Hardware
Linux is a light weight operating system, depending on the distribution there's close to no bloat. There are recent distributions available at this very moment that will run perfectly fine on a fourteen year old i3 with 4GB of RAM. Moreover, running Plex or Jellyfin isn’t resource intensive in 90% of use cases. All this is to say, we don’t require an expensive or powerful computer. This means that there are several options available: 1) use an old computer you already have sitting around but aren't using 2) buy a used workstation from eBay, or what I believe to be the best option, 3) order an N100 Mini-PC from AliExpress or Amazon.
Note: If you already have an old PC sitting around that you’ve decided to use, fantastic, move on to the next step.
When weighing your options, keep a few things in mind: the number of people you expect to be streaming simultaneously at any one time, the resolution and bitrate of your media library (4k video takes a lot more processing power than 1080p) and most importantly, how many of those clients are going to be transcoding at any one time. Transcoding is what happens when the playback device does not natively support direct playback of the source file. This can happen for a number of reasons, such as the playback device's native resolution being lower than the file's internal resolution, or because the source file was encoded in a video codec unsupported by the playback device.
Ideally we want any transcoding to be performed by hardware. This means we should be looking for a computer with an Intel processor with Quick Sync. Quick Sync is a dedicated core on the CPU die designed specifically for video encoding and decoding. This specialized hardware makes for highly efficient transcoding both in terms of processing overhead and power draw. Without these Quick Sync cores, transcoding must be brute forced through software. This takes up much more of a CPU’s processing power and requires much more energy. But not all Quick Sync cores are created equal and you need to keep this in mind if you've decided either to use an old computer or to shop for a used workstation on eBay
Any Intel processor from second generation Core (Sandy Bridge circa 2011) onward has Quick Sync cores. It's not until 6th gen (Skylake), however, that the cores support the H.265 HEVC codec. Intel’s 10th gen (Comet Lake) processors introduce support for 10bit HEVC and HDR tone mapping. And the recent 12th gen (Alder Lake) processors brought with them hardware AV1 decoding. As an example, while an 8th gen (Kaby Lake) i5-8500 will be able to hardware transcode a H.265 encoded file, it will fall back to software transcoding if given a 10bit H.265 file. If you’ve decided to use that old PC or to look on eBay for an old Dell Optiplex keep this in mind.
Note 1: The price of old workstations varies wildly and fluctuates frequently. If you get lucky and go shopping shortly after a workplace has liquidated a large number of their workstations you can find deals for as low as $100 on a barebones system, but generally an i5-8500 workstation with 16gb RAM will cost you somewhere in the area of $260 CAD/$200 USD.
Note 2: The AMD equivalent to Quick Sync is called Video Core Next, and while it's fine, it's not as efficient and not as mature a technology. It was only introduced with the first generation Ryzen CPUs and it only got decent with their newest CPUs, we want something cheap.
Alternatively you could forgo having to keep track of what generation of CPU is equipped with Quick Sync cores that feature support for which codecs, and just buy an N100 mini-PC. For around the same price or less of a used workstation you can pick up a mini-PC with an Intel N100 processor. The N100 is a four-core processor based on the 12th gen Alder Lake architecture and comes equipped with the latest revision of the Quick Sync cores. These little processors offer astounding hardware transcoding capabilities for their size and power draw. Otherwise they perform equivalent to an i5-6500, which isn't a terrible CPU. A friend of mine uses an N100 machine as a dedicated retro emulation gaming system and it does everything up to 6th generation consoles just fine. The N100 is also a remarkably efficient chip, it sips power. In fact, the difference between running one of these and an old workstation could work out to hundreds of dollars a year in energy bills depending on where you live.
You can find these Mini-PCs all over Amazon or for a little cheaper on AliExpress. They range in price from $170 CAD/$125 USD for a no name N100 with 8GB RAM to $280 CAD/$200 USD for a Beelink S12 Pro with 16GB RAM. The brand doesn't really matter, they're all coming from the same three factories in Shenzen, go for whichever one fits your budget or has features you want. 8GB RAM should be enough, Linux is lightweight and Plex only calls for 2GB RAM. 16GB RAM might result in a slightly snappier experience, especially with ZFS. A 256GB SSD is more than enough for what we need as a boot drive, but going for a bigger drive might allow you to get away with things like creating preview thumbnails for Plex, but it’s up to you and your budget.
The Mini-PC I wound up buying was a Firebat AK2 Plus with 8GB RAM and a 256GB SSD. It looks like this:
Tumblr media
Note: Be forewarned that if you decide to order a Mini-PC from AliExpress, note the type of power adapter it ships with. The mini-PC I bought came with an EU power adapter and I had to supply my own North American power supply. Thankfully this is a minor issue as barrel plug 30W/12V/2.5A power adapters are easy to find and can be had for $10.
Step Two: Choosing Your Storage
Storage is the most important part of our build. It is also the most expensive. Thankfully it’s also the most easily upgrade-able down the line.
For people with a smaller media collection (4TB to 8TB), a more limited budget, or who will only ever have two simultaneous streams running, I would say that the most economical course of action would be to buy a USB 3.0 8TB external HDD. Something like this one from Western Digital or this one from Seagate. One of these external drives will cost you in the area of $200 CAD/$140 USD. Down the line you could add a second external drive or replace it with a multi-drive RAIDz set up such as detailed below.
If a single external drive the path for you, move on to step three.
For people with larger media libraries (12TB+), who prefer media in 4k, or care who about data redundancy, the answer is a RAID array featuring multiple HDDs in an enclosure.
Note: If you are using an old PC or used workstatiom as your server and have the room for at least three 3.5" drives, and as many open SATA ports on your mother board you won't need an enclosure, just install the drives into the case. If your old computer is a laptop or doesn’t have room for more internal drives, then I would suggest an enclosure.
The minimum number of drives needed to run a RAIDz array is three, and seeing as RAIDz is what we will be using, you should be looking for an enclosure with three to five bays. I think that four disks makes for a good compromise for a home server. Regardless of whether you go for a three, four, or five bay enclosure, do be aware that in a RAIDz array the space equivalent of one of the drives will be dedicated to parity at a ratio expressed by the equation 1 − 1/n i.e. in a four bay enclosure equipped with four 12TB drives, if we configured our drives in a RAIDz1 array we would be left with a total of 36TB of usable space (48TB raw size). The reason for why we might sacrifice storage space in such a manner will be explained in the next section.
A four bay enclosure will cost somewhere in the area of $200 CDN/$140 USD. You don't need anything fancy, we don't need anything with hardware RAID controls (RAIDz is done entirely in software) or even USB-C. An enclosure with USB 3.0 will perform perfectly fine. Don’t worry too much about USB speed bottlenecks. A mechanical HDD will be limited by the speed of its mechanism long before before it will be limited by the speed of a USB connection. I've seen decent looking enclosures from TerraMaster, Yottamaster, Mediasonic and Sabrent.
When it comes to selecting the drives, as of this writing, the best value (dollar per gigabyte) are those in the range of 12TB to 20TB. I settled on 12TB drives myself. If 12TB to 20TB drives are out of your budget, go with what you can afford, or look into refurbished drives. I'm not sold on the idea of refurbished drives but many people swear by them.
When shopping for harddrives, search for drives designed specifically for NAS use. Drives designed for NAS use typically have better vibration dampening and are designed to be active 24/7. They will also often make use of CMR (conventional magnetic recording) as opposed to SMR (shingled magnetic recording). This nets them a sizable read/write performance bump over typical desktop drives. Seagate Ironwolf and Toshiba NAS are both well regarded brands when it comes to NAS drives. I would avoid Western Digital Red drives at this time. WD Reds were a go to recommendation up until earlier this year when it was revealed that they feature firmware that will throw up false SMART warnings telling you to replace the drive at the three year mark quite often when there is nothing at all wrong with that drive. It will likely even be good for another six, seven, or more years.
Tumblr media
Step Three: Installing Linux
For this step you will need a USB thumbdrive of at least 6GB in capacity, an .ISO of Ubuntu, and a way to make that thumbdrive bootable media.
First download a copy of Ubuntu desktop (for best performance we could download the Server release, but for new Linux users I would recommend against the server release. The server release is strictly command line interface only, and having a GUI is very helpful for most people. Not many people are wholly comfortable doing everything through the command line, I'm certainly not one of them, and I grew up with DOS 6.0. 22.04.3 Jammy Jellyfish is the current Long Term Service release, this is the one to get.
Download the .ISO and then download and install balenaEtcher on your Windows PC. BalenaEtcher is an easy to use program for creating bootable media, you simply insert your thumbdrive, select the .ISO you just downloaded, and it will create a bootable installation media for you.
Once you've made a bootable media and you've got your Mini-PC (or you old PC/used workstation) in front of you, hook it directly into your router with an ethernet cable, and then plug in the HDD enclosure, a monitor, a mouse and a keyboard. Now turn that sucker on and hit whatever key gets you into the BIOS (typically ESC, DEL or F2). If you’re using a Mini-PC check to make sure that the P1 and P2 power limits are set correctly, my N100's P1 limit was set at 10W, a full 20W under the chip's power limit. Also make sure that the RAM is running at the advertised speed. My Mini-PC’s RAM was set at 2333Mhz out of the box when it should have been 3200Mhz. Once you’ve done that, key over to the boot order and place the USB drive first in the boot order. Then save the BIOS settings and restart.
After you restart you’ll be greeted by Ubuntu's installation screen. Installing Ubuntu is really straight forward, select the "minimal" installation option, as we won't need anything on this computer except for a browser (Ubuntu comes preinstalled with Firefox) and Plex Media Server/Jellyfin Media Server. Also remember to delete and reformat that Windows partition! We don't need it.
Step Four: Installing ZFS and Setting Up the RAIDz Array
Note: If you opted for just a single external HDD skip this step and move onto setting up a Samba share.
Once Ubuntu is installed it's time to configure our storage by installing ZFS to build our RAIDz array. ZFS is a "next-gen" file system that is both massively flexible and massively complex. It's capable of snapshot backup, self healing error correction, ZFS pools can be configured with drives operating in a supplemental manner alongside the storage vdev (e.g. fast cache, dedicated secondary intent log, hot swap spares etc.). It's also a file system very amenable to fine tuning. Block and sector size are adjustable to use case and you're afforded the option of different methods of inline compression. If you'd like a very detailed overview and explanation of its various features and tips on tuning a ZFS array check out these articles from Ars Technica. For now we're going to ignore all these features and keep it simple, we're going to pull our drives together into a single vdev running in RAIDz which will be the entirety of our zpool, no fancy cache drive or SLOG.
Open up the terminal and type the following commands:
sudo apt update
then
sudo apt install zfsutils-linux
This will install the ZFS utility. Verify that it's installed with the following command:
zfs --version
Now, it's time to check that the HDDs we have in the enclosure are healthy, running, and recognized. We also want to find out their device IDs and take note of them:
sudo fdisk -1
Note: You might be wondering why some of these commands require "sudo" in front of them while others don't. "Sudo" is short for "super user do”. When and where "sudo" is used has to do with the way permissions are set up in Linux. Only the "root" user has the access level to perform certain tasks in Linux. As a matter of security and safety regular user accounts are kept separate from the "root" user. It's not advised (or even possible) to boot into Linux as "root" with most modern distributions. Instead by using "sudo" our regular user account is temporarily given the power to do otherwise forbidden things. Don't worry about it too much at this stage, but if you want to know more check out this introduction.
If everything is working you should get a list of the various drives detected along with their device IDs which will look like this: /dev/sdc. You can also check the device IDs of the drives by opening the disk utility app. Jot these IDs down as we'll need them for our next step, creating our RAIDz array.
RAIDz is similar to RAID-5 in that instead of striping your data over multiple disks, exchanging redundancy for speed and available space (RAID-0), or mirroring your data writing by two copies of every piece (RAID-1), it instead writes parity blocks across the disks in addition to striping, this provides a balance of speed, redundancy and available space. If a single drive fails, the parity blocks on the working drives can be used to reconstruct the entire array as soon as a replacement drive is added.
Additionally, RAIDz improves over some of the common RAID-5 flaws. It's more resilient and capable of self healing, as it is capable of automatically checking for errors against a checksum. It's more forgiving in this way, and it's likely that you'll be able to detect when a drive is dying well before it fails. A RAIDz array can survive the loss of any one drive.
Note: While RAIDz is indeed resilient, if a second drive fails during the rebuild, you're fucked. Always keep backups of things you can't afford to lose. This tutorial, however, is not about proper data safety.
To create the pool, use the following command:
sudo zpool create "zpoolnamehere" raidz "device IDs of drives we're putting in the pool"
For example, let's creatively name our zpool "mypool". This poil will consist of four drives which have the device IDs: sdb, sdc, sdd, and sde. The resulting command will look like this:
sudo zpool create mypool raidz /dev/sdb /dev/sdc /dev/sdd /dev/sde
If as an example you bought five HDDs and decided you wanted more redundancy dedicating two drive to this purpose, we would modify the command to "raidz2" and the command would look something like the following:
sudo zpool create mypool raidz2 /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf
An array configured like this is known as RAIDz2 and is able to survive two disk failures.
Once the zpool has been created, we can check its status with the command:
zpool status
Or more concisely with:
zpool list
The nice thing about ZFS as a file system is that a pool is ready to go immediately after creation. If we were to set up a traditional RAID-5 array using mbam, we'd have to sit through a potentially hours long process of reformatting and partitioning the drives. Instead we're ready to go right out the gates.
The zpool should be automatically mounted to the filesystem after creation, check on that with the following:
df -hT | grep zfs
Note: If your computer ever loses power suddenly, say in event of a power outage, you may have to re-import your pool. In most cases, ZFS will automatically import and mount your pool, but if it doesn’t and you can't see your array, simply open the terminal and type sudo zpool import -a.
By default a zpool is mounted at /"zpoolname". The pool should be under our ownership but let's make sure with the following command:
sudo chown -R "yourlinuxusername" /"zpoolname"
Note: Changing file and folder ownership with "chown" and file and folder permissions with "chmod" are essential commands for much of the admin work in Linux, but we won't be dealing with them extensively in this guide. If you'd like a deeper tutorial and explanation you can check out these two guides: chown and chmod.
Tumblr media
You can access the zpool file system through the GUI by opening the file manager (the Ubuntu default file manager is called Nautilus) and clicking on "Other Locations" on the sidebar, then entering the Ubuntu file system and looking for a folder with your pool's name. Bookmark the folder on the sidebar for easy access.
Tumblr media
Your storage pool is now ready to go. Assuming that we already have some files on our Windows PC we want to copy to over, we're going to need to install and configure Samba to make the pool accessible in Windows.
Step Five: Setting Up Samba/Sharing
Samba is what's going to let us share the zpool with Windows and allow us to write to it from our Windows machine. First let's install Samba with the following commands:
sudo apt-get update
then
sudo apt-get install samba
Next create a password for Samba.
sudo smbpswd -a "yourlinuxusername"
It will then prompt you to create a password. Just reuse your Ubuntu user password for simplicity's sake.
Note: if you're using just a single external drive replace the zpool location in the following commands with wherever it is your external drive is mounted, for more information see this guide on mounting an external drive in Ubuntu.
After you've created a password we're going to create a shareable folder in our pool with this command
mkdir /"zpoolname"/"foldername"
Now we're going to open the smb.conf file and make that folder shareable. Enter the following command.
sudo nano /etc/samba/smb.conf
This will open the .conf file in nano, the terminal text editor program. Now at the end of smb.conf add the following entry:
["foldername"]
path = /"zpoolname"/"foldername"
available = yes
valid users = "yourlinuxusername"
read only = no
writable = yes
browseable = yes
guest ok = no
Ensure that there are no line breaks between the lines and that there's a space on both sides of the equals sign. Our next step is to allow Samba traffic through the firewall:
sudo ufw allow samba
Finally restart the Samba service:
sudo systemctl restart smbd
At this point we'll be able to access to the pool, browse its contents, and read and write to it from Windows. But there's one more thing left to do, Windows doesn't natively support the ZFS file systems and will read the used/available/total space in the pool incorrectly. Windows will read available space as total drive space, and all used space as null. This leads to Windows only displaying a dwindling amount of "available" space as the drives are filled. We can fix this! Functionally this doesn't actually matter, we can still write and read to and from the disk, it just makes it difficult to tell at a glance the proportion of used/available space, so this is an optional step but one I recommend (this step is also unnecessary if you're just using a single external drive). What we're going to do is write a little shell script in #bash. Open nano with the terminal with the command:
nano
Now insert the following code:
#!/bin/bash CUR_PATH=`pwd` ZFS_CHECK_OUTPUT=$(zfs get type $CUR_PATH 2>&1 > /dev/null) > /dev/null if [[ $ZFS_CHECK_OUTPUT == *not\ a\ ZFS* ]] then IS_ZFS=false else IS_ZFS=true fi if [[ $IS_ZFS = false ]] then df $CUR_PATH | tail -1 | awk '{print $2" "$4}' else USED=$((`zfs get -o value -Hp used $CUR_PATH` / 1024)) > /dev/null AVAIL=$((`zfs get -o value -Hp available $CUR_PATH` / 1024)) > /dev/null TOTAL=$(($USED+$AVAIL)) > /dev/null echo $TOTAL $AVAIL fi
Save the script as "dfree.sh" to /home/"yourlinuxusername" then change the ownership of the file to make it executable with this command:
sudo chmod 774 dfree.sh
Now open smb.conf with sudo again:
sudo nano /etc/samba/smb.conf
Now add this entry to the top of the configuration file to direct Samba to use the results of our script when Windows asks for a reading on the pool's used/available/total drive space:
[global]
dfree command = /home/"yourlinuxusername"/dfree.sh
Save the changes to smb.conf and then restart Samba again with the terminal:
sudo systemctl restart smbd
Now there’s one more thing we need to do to fully set up the Samba share, and that’s to modify a hidden group permission. In the terminal window type the following command:
usermod -a -G sambashare “yourlinuxusername”
Then restart samba again:
sudo systemctl restart smbd
If we don’t do this last step, everything will appear to work fine, and you will even be able to see and map the drive from Windows and even begin transferring files, but you'd soon run into a lot of frustration. As every ten minutes or so a file would fail to transfer and you would get a window announcing “0x8007003B Unexpected Network Error”. This window would require your manual input to continue the transfer with the file next in the queue. And at the end it would reattempt to transfer whichever files failed the first time around. 99% of the time they’ll go through that second try, but this is still all a major pain in the ass. Especially if you’ve got a lot of data to transfer or you want to step away from the computer for a while.
It turns out samba can act a little weirdly with the higher read/write speeds of RAIDz arrays and transfers from Windows, and will intermittently crash and restart itself if this group option isn’t changed. Inputting the above command will prevent you from ever seeing that window.
The last thing we're going to do before switching over to our Windows PC is grab the IP address of our Linux machine. Enter the following command:
hostname -I
This will spit out this computer's IP address on the local network (it will look something like 192.168.0.x), write it down. It might be a good idea once you're done here to go into your router settings and reserving that IP for your Linux system in the DHCP settings. Check the manual for your specific model router on how to access its settings, typically it can be accessed by opening a browser and typing http:\\192.168.0.1 in the address bar, but your router may be different.
Okay we’re done with our Linux computer for now. Get on over to your Windows PC, open File Explorer, right click on Network and click "Map network drive". Select Z: as the drive letter (you don't want to map the network drive to a letter you could conceivably be using for other purposes) and enter the IP of your Linux machine and location of the share like so: \\"LINUXCOMPUTERLOCALIPADDRESSGOESHERE"\"zpoolnamegoeshere"\. Windows will then ask you for your username and password, enter the ones you set earlier in Samba and you're good. If you've done everything right it should look something like this:
Tumblr media
You can now start moving media over from Windows to the share folder. It's a good idea to have a hard line running to all machines. Moving files over Wi-Fi is going to be tortuously slow, the only thing that’s going to make the transfer time tolerable (hours instead of days) is a solid wired connection between both machines and your router.
Step Six: Setting Up Remote Desktop Access to Your Server
After the server is up and going, you’ll want to be able to access it remotely from Windows. Barring serious maintenance/updates, this is how you'll access it most of the time. On your Linux system open the terminal and enter:
sudo apt install xrdp
Then:
sudo systemctl enable xrdp
Once it's finished installing, open “Settings” on the sidebar and turn off "automatic login" in the User category. Then log out of your account. Attempting to remotely connect to your Linux computer while you’re logged in will result in a black screen!
Now get back on your Windows PC, open search and look for "RDP". A program called "Remote Desktop Connection" should pop up, open this program as an administrator by right-clicking and selecting “run as an administrator”. You’ll be greeted with a window. In the field marked “Computer” type in the IP address of your Linux computer. Press connect and you'll be greeted with a new window and prompt asking for your username and password. Enter your Ubuntu username and password here.
Tumblr media
If everything went right, you’ll be logged into your Linux computer. If the performance is sluggish, adjust the display options. Lowering the resolution and colour depth do a lot to make the interface feel snappier.
Tumblr media
Remote access is how we're going to be using our Linux system from now, barring edge cases like needing to get into the BIOS or upgrading to a new version of Ubuntu. Everything else from performing maintenance like a monthly zpool scrub to checking zpool status and updating software can all be done remotely.
Tumblr media
This is how my server lives its life now, happily humming and chirping away on the floor next to the couch in a corner of the living room.
Step Seven: Plex Media Server/Jellyfin
Okay we’ve got all the ground work finished and our server is almost up and running. We’ve got Ubuntu up and running, our storage array is primed, we’ve set up remote connections and sharing, and maybe we’ve moved over some of favourite movies and TV shows.
Now we need to decide on the media server software to use which will stream our media to us and organize our library. For most people I’d recommend Plex. It just works 99% of the time. That said, Jellyfin has a lot to recommend it by too, even if it is rougher around the edges. Some people run both simultaneously, it’s not that big of an extra strain. I do recommend doing a little bit of your own research into the features each platform offers, but as a quick run down, consider some of the following points:
Plex is closed source and is funded through PlexPass purchases while Jellyfin is open source and entirely user driven. This means a number of things: for one, Plex requires you to purchase a “PlexPass” (purchased as a one time lifetime fee $159.99 CDN/$120 USD or paid for on a monthly or yearly subscription basis) in order to access to certain features, like hardware transcoding (and we want hardware transcoding) or automated intro/credits detection and skipping, Jellyfin offers some of these features for free through plugins. Plex supports a lot more devices than Jellyfin and updates more frequently. That said, Jellyfin's Android and iOS apps are completely free, while the Plex Android and iOS apps must be activated for a one time cost of $6 CDN/$5 USD. But that $6 fee gets you a mobile app that is much more functional and features a unified UI across platforms, the Plex mobile apps are simply a more polished experience. The Jellyfin apps are a bit of a mess and the iOS and Android versions are very different from each other.
Jellyfin’s actual media player is more fully featured than Plex's, but on the other hand Jellyfin's UI, library customization and automatic media tagging really pale in comparison to Plex. Streaming your music library is free through both Jellyfin and Plex, but Plex offers the PlexAmp app for dedicated music streaming which boasts a number of fantastic features, unfortunately some of those fantastic features require a PlexPass. If your internet is down, Jellyfin can still do local streaming, while Plex can fail to play files unless you've got it set up a certain way. Jellyfin has a slew of neat niche features like support for Comic Book libraries with the .cbz/.cbt file types, but then Plex offers some free ad-supported TV and films, they even have a free channel that plays nothing but Classic Doctor Who.
Ultimately it's up to you, I settled on Plex because although some features are pay-walled, it just works. It's more reliable and easier to use, and a one-time fee is much easier to swallow than a subscription. I had a pretty easy time getting my boomer parents and tech illiterate brother introduced to and using Plex and I don't know if I would've had as easy a time doing that with Jellyfin. I do also need to mention that Jellyfin does take a little extra bit of tinkering to get going in Ubuntu, you’ll have to set up process permissions, so if you're more tolerant to tinkering, Jellyfin might be up your alley and I’ll trust that you can follow their installation and configuration guide. For everyone else, I recommend Plex.
So pick your poison: Plex or Jellyfin.
Note: The easiest way to download and install either of these packages in Ubuntu is through Snap Store.
After you've installed one (or both), opening either app will launch a browser window into the browser version of the app allowing you to set all the options server side.
The process of adding creating media libraries is essentially the same in both Plex and Jellyfin. You create a separate libraries for Television, Movies, and Music and add the folders which contain the respective types of media to their respective libraries. The only difficult or time consuming aspect is ensuring that your files and folders follow the appropriate naming conventions:
Plex naming guide for Movies
Plex naming guide for Television
Jellyfin follows the same naming rules but I find their media scanner to be a lot less accurate and forgiving than Plex. Once you've selected the folders to be scanned the service will scan your files, tagging everything and adding metadata. Although I find do find Plex more accurate, it can still erroneously tag some things and you might have to manually clean up some tags in a large library. (When I initially created my library it tagged the 1963-1989 Doctor Who as some Korean soap opera and I needed to manually select the correct match after which everything was tagged normally.) It can also be a bit testy with anime (especially OVAs) be sure to check TVDB to ensure that you have your files and folders structured and named correctly. If something is not showing up at all, double check the name.
Once that's done, organizing and customizing your library is easy. You can set up collections, grouping items together to fit a theme or collect together all the entries in a franchise. You can make playlists, and add custom artwork to entries. It's fun setting up collections with posters to match, there are even several websites dedicated to help you do this like PosterDB. As an example, below are two collections in my library, one collecting all the entries in a franchise, the other follows a theme.
Tumblr media
My Star Trek collection, featuring all eleven television series, and thirteen films.
Tumblr media
My Best of the Worst collection, featuring sixty-nine films previously showcased on RedLetterMedia’s Best of the Worst. They’re all absolutely terrible and I love them.
As for settings, ensure you've got Remote Access going, it should work automatically and be sure to set your upload speed after running a speed test. In the library settings set the database cache to 2000MB to ensure a snappier and more responsive browsing experience, and then check that playback quality is set to original/maximum. If you’re severely bandwidth limited on your upload and have remote users, you might want to limit the remote stream bitrate to something more reasonable, just as a note of comparison Netflix’s 1080p bitrate is approximately 5Mbps, although almost anyone watching through a chromium based browser is streaming at 720p and 3mbps. Other than that you should be good to go. For actually playing your files, there's a Plex app for just about every platform imaginable. I mostly watch television and films on my laptop using the Windows Plex app, but I also use the Android app which can broadcast to the chromecast connected to the TV in the office and the Android TV app for our smart TV. Both are fully functional and easy to navigate, and I can also attest to the OS X version being equally functional.
Part Eight: Finding Media
Now, this is not really a piracy tutorial, there are plenty of those out there. But if you’re unaware, BitTorrent is free and pretty easy to use, just pick a client (qBittorrent is the best) and go find some public trackers to peruse. Just know now that all the best trackers are private and invite only, and that they can be exceptionally difficult to get into. I’m already on a few, and even then, some of the best ones are wholly out of my reach.
If you decide to take the left hand path and turn to Usenet you’ll have to pay. First you’ll need to sign up with a provider like Newshosting or EasyNews for access to Usenet itself, and then to actually find anything you’re going to need to sign up with an indexer like NZBGeek or NZBFinder. There are dozens of indexers, and many people cross post between them, but for more obscure media it’s worth checking multiple. You’ll also need a binary downloader like SABnzbd. That caveat aside, Usenet is faster, bigger, older, less traceable than BitTorrent, and altogether slicker. I honestly prefer it, and I'm kicking myself for taking this long to start using it because I was scared off by the price. I’ve found so many things on Usenet that I had sought in vain elsewhere for years, like a 2010 Italian film about a massacre perpetrated by the SS that played the festival circuit but never received a home media release; some absolute hero uploaded a rip of a festival screener DVD to Usenet. Anyway, figure out the rest of this shit on your own and remember to use protection, get yourself behind a VPN, use a SOCKS5 proxy with your BitTorrent client, etc.
On the legal side of things, if you’re around my age, you (or your family) probably have a big pile of DVDs and Blu-Rays sitting around unwatched and half forgotten. Why not do a bit of amateur media preservation, rip them and upload them to your server for easier access? (Your tools for this are going to be Handbrake to do the ripping and AnyDVD to break any encryption.) I went to the trouble of ripping all my SCTV DVDs (five box sets worth) because none of it is on streaming nor could it be found on any pirate source I tried. I’m glad I did, forty years on it’s still one of the funniest shows to ever be on TV.
Part Nine/Epilogue: Sonarr/Radarr/Lidarr and Overseerr
There are a lot of ways to automate your server for better functionality or to add features you and other users might find useful. Sonarr, Radarr, and Lidarr are a part of a suite of “Servarr” services (there’s also Readarr for books and Whisparr for adult content) that allow you to automate the collection of new episodes of TV shows (Sonarr), new movie releases (Radarr) and music releases (Lidarr). They hook in to your BitTorrent client or Usenet binary newsgroup downloader and crawl your preferred Torrent trackers and Usenet indexers, alerting you to new releases and automatically grabbing them. You can also use these services to manually search for new media, and even replace/upgrade your existing media with better quality uploads. They’re really a little tricky to set up on a bare metal Ubuntu install (ideally you should be running them in Docker Containers), and I won’t be providing a step by step on installing and running them, I’m simply making you aware of their existence.
The other bit of kit I want to make you aware of is Overseerr which is a program that scans your Plex media library and will serve recommendations based on what you like. It also allows you and your users to request specific media. It can even be integrated with Sonarr/Radarr/Lidarr so that fulfilling those requests is fully automated.
And you're done. It really wasn't all that hard. Enjoy your media. Enjoy the control you have over that media. And be safe in the knowledge that no hedgefund CEO motherfucker who hates the movies but who is somehow in control of a major studio will be able to disappear anything in your library as a tax write-off.
1K notes · View notes
crybaby-magic · 10 months ago
Text
Trouble Maker
Lloyd x reader
contains:jealousy,angst-ish,fluff,choking,oral,um smut,semi not really edited
this request is long overdue lmao
Tumblr media
As tech support you did thinks like help Nya or jay with machinery,help Zane or Pixal with there software,give the ninja intel that could help them with a mission.This also included watching there every move thanks to borg putting in cameras everywhere in ninjago you can easily keep up with them and give them directions.
Your other job was seeing who they save or defeat.You make sure to put it in a file to see who’s more prone to danger or how the ninja can defeat a certain criminal easier.It made your life much easier.Though lately your starting to hate this file.Mainly the one with civilians.You set it up so you can see how much the ninja saved someone; tiring yes, beneficial to them also yes,annoying you definitely yes.
over that past couple of months there’s been this girl who kept getting in dangerous predicaments.At this point you think it intentionally because she only insisted on the green ninja saving her even going as far as pushing the other ninja or having a complete breakdown of its not the green ninja.
Today just happened to be another day with her putting herself in a silly situation and demanding the green ninja save her.Watching him jump to her rescue the bashful praise from her after it was slowly driving you to insanity.What kills you the most is when you point it out he just brushes you off.
“Tch,honestly i’m tired of this Tiblit take care of coms i’m going to my room.”you had stated as you slowly got up leaving the computer to your fox familiar.
Wandering down the hall you continue to think about the situation.Lloyd tends to be dense to the point it gets him in stupid or dangerous situations.For example trusting a serpentine….that didn’t end well.You would think he’d learn but at this point you think he just likes the attention.
You pause at your door for a moment ‘Attention’ you thought then suddenly you came up with a wonderful idea.You hurried into your room to plan out this wonderful idea.
————————————☆————————
You could see it in lloyds eyes, the annoyance directed towards you.Though you weren’t paying him any mind as y’all were in the check out.You two were supposed to grab some groceries for zane but the trip soon turned into you getting hit on by the cashier at the register.After the transaction(and the guy giving you his number) you and lloyd headed out with him huffing.
Honestly you would feel bad seeing as you been doing this for the past two weeks but at the same time him being annoyed is so funny especially when he pouts like a toddler.Sighing to yourself as you to wander back to the monastery you wonder if you should just stop seeing as he's still hasn’t confronted you.After a long travel of him staring daggers in you head and you acting oblivious you wander into your room to nap knowing you'll have to pull an allnighter to catch up on a couple documents.Stripping yourself of clothing to lay in your cool bed.As soon as your body made contact you felt your eyes heavily close.
Through you semi consciousness you felt weight on your bed along with the shuffling of the blanket that lifted a bit from you body letting the cool air prick at your exposed skin.choosing to ignore it knowing who it is you turn your body to face away from him to go back to sleep.
That dream was short lived when you were force onto your back eye forcing themself awake to see green to red eyes before you.Lloyd breathing is very harsh like you'd even say you see faint fog coming out with each breath.You slowly grow nervous about his behavior feeling sweat bead start to form you stutter out “W-what’s wrong lloyd?” All that followed was his eyes glinting towards you.you opened your mouth to say something only for him to shove his fingers down your throat gagging you.
Clenching your legs by impulse to soothe the aching that awakened in your nether regions.Your hand grab at his hand that currently assaulting your mouth.Lloyds mouth proceed to attack you body in bites and hickies.At some point he wanders farther down your chest his unattended arm gripped at your bra in a moment of shock he ripped it off your body.The impact mad you whine out in protest.His fingers moved out of your mouth letting you gasp for breath only for his hand to hold you throats.Shaking gulping you looked at his face that had a smirk and eyes that fully went red.You tried to make noise only for his hand to tighten up.”What? You wanted to say something to me?I don’t know why when you've been ignoring me for the past two weeks” he said with a cheeky tone that soon lead to gruff laugher “You don’t get to complain you did this to yourself”
You breathing slowly started to pick up either from excitement or fear.Your breath hitched when you felt him tearing your underwear off.While distracted his mouth slotted against yours fighting for dominance that you quickly lost.Your legs soon started to shift again to tame the heated feeling in between your legs.Lloyd quickly gripped your thighs separating them with force.You whined out at the cool air touching you fully exposed body.He released your mouth and moved lower to your slit.
His hot breath made you squirm with anticipation.Your eyes widened immensely at his hot long tongue that started to make out with your pussy.Your hands reaction was grabbing at his hair thought it did make him grunt it didn’t deter him from stopping.Your mind blanked out once his thumb started to mess with your clit.You soon started to moan out louder when his tongue intruded your insides.Your walls started tightening up around it while you impulsive grinded on his face to the best of your abilities in attempt to reach your climax that so close.
You nearly cried as soon as lloyd removed his mouth off of your edging you from your climax.He moved his face towards your mouth shoving his tongue against yourself letting you taste yourself.All while not noticing that he had pulled out his dick and tapped it on your clit.He rubbed against you collecting your juice to lubricate his dick.He grasps at your thighs spreading them wider while slowly entering you.You didn’t know whether to move with him or pull away from him.
The pain was there but it only made you much wetter as it was also pleasurable.He moved his thumb back to start messing with your clit again to add more stimulation.At some point his thick length made it to the base.He pause to let you adjust.While he was semi quietly groaning you were whimpering from the constant throbbing of his dick against your walls.His hands grasp at your waist slowly lifting you up.At instinct you wrap your arms around his neck slightly grasping at his hair in the process.
Lloyd subtly starts moving his hips, gaining speed as he goes.As he moves he leans his head next to yours nuzzling into your neck as he vigorously thrust into you.he lets go of one of your legs and pushes the one he still had his hands on closer toward your chest.He starts to fondle you breast while sucking on you neck and chest area once again.
The squelchy from the constant pounding is dizzying to hear plus y'all's moans combined made you tighten up.Your nails started to scratch at his back as you writhe from the pleasure.You soon felt that coil start to tighten making you moan out louder.He groaned at the sudden tightening of your walls.At this point you were just babbling random things while he took pleasure in utterly destroying you mentally and physically.
He speedup seeing as yall both were wreaking that peak.The coil tightening until if finally burst.You came to the point your mind blanked into white.He soon follow pouring his seed deep into your walls.Once yall paused for a moment he slowly pulled himself out letting his seed fall out of you.You sighed out heavily.Lloyd fell onto his back panting he used the last of his energy to pull you onto him.
————————————☆————————
It was quite after yall had caught your breaths.Lloyd gently rubbed you back while looking at the ceiling.Glazing your eyes up at him you made a giggling noise “Pfft you could have just told me you were pent up!”
Lloyd just glared at you unimpressed.He pinched one of your face cheeks and started pulling it back and forth putting you in discomfort. “You’re a brat,you know that right?!” he said in a monotone voice.You tried to say something along the lines of “im sorry” but struggled against your face being pulled.
285 notes · View notes
hotchnersangel · 4 months ago
Text
MATILDA
Aaron Hotchner
-----
Tumblr media Tumblr media Tumblr media
cw; childhood trauma, panic attacks, illusions to drinking, abuse, self-worth issues, mentions of the bau's traumas, hurt, blood, violence, bit of a persistent and overbearing hotch at the end. PLEASE DO NOT READ IF ANY MENTION OF THESE THINGS TRIGGER YOU. This is a very deep and raw piece.
this has not been edited because it feels a bit too personal to reread lol
you have been warned.
You were always conditioned to brush off your feelings. It became a coping mechanism to get through the torment of your past. Physically you were fine but emotionally you were bruised and tainted with the colour indigo, that led to the bottled up pain.
No one knew your history or the treatment you went throuh as a child, in fact you often believed you history inferior due to your friends' upbringings. With Morgan being manipulated and molested, Emiy being dragged city to city to escape bible bashings, JJ losing a most beoved sister, Penelope losing her parents, Spencer's father leaving and him becoming a prodigy of the education system, Rossi watching his friends die right in front of him and Hotch. Well, Hotch's past had been a blurred line to the team, similar to yours. Though they knew something had happened to destroy you mentally for you to be where you were today- it was practically alien to have a member of the bau come from a happy home.
Your team had lost people around them, family, friends- life's true tragedy. But, you didn't. You lost no one but yourself.
You could argue that you lost you parents but it would be insensitive, they were still alive but they simply were never parents to you. They were strangers who barely even knew of your existence when you were present and a burden now that you were no longer around for them. No longer there to be their punching bag, no longer there to be their outlet of anger and cutthroat insults.
When the topic comes up, you deny, deny, deny.
"It's no big deal really," you would tell them with a large smile, diverting their attention and you had given them no reason to doubt you until one case.
A case that focused on parents abusing their children. You had almost gone quiet but it was not noticed, you played it off as exhaustion considering you had all been working back to back for weeks straight.
The jet felt colder that Tuesday morning, the seats glassed with a coat of ice as you sat down, letting out a shiver, Hotch takes his usual seat besides you and raises an eyebrow at you. "You okay?"
You nod with a smile, "Yeah it's no big deal, just a bit cold." You shrug, looking out the window, ready to set off for New Orleans. Midway through the flight, you feel a material rest over your legs, seeing Hotch reading the case file and hardly even looking at you. `like he could sense your need for some sort of comfort, whether it be from the sudden breeze or the pain inside your heart.
You arrive swiftly at the precinct, everyone getting up and getting to work. The team rarely struggled on a case but as you were all slumped around a board finishing your takeout. You look over the case files again and look up, causing eyes to dart over to you.
"Oh she's on-to something." Morgan exclaims.
"Let it download, almost there." Emily smirks slightly, watching the cogs turn in their head.
"A child can form a negative sense of love from super young, right?"
"Yeah, it's called our 'love map', it's the ideology of our internal software being developed from around the ages 5 to 6 based on our surroundings and the environment we grew up in." Spencer adds and agrees, seeing where you are going with this.
"And am i right in saying that it is effects our ability to process, receive and distribute love?" You inquire and Spencer nods along.
"Yeah, the result of a healthy development of self-cohesion, self-constancy, and self-agency is self-esteem. Positive affect becomes integrated with self-representation. A negative love map, essentially a distorted internal representation of what a healthy relationship looks like based on negative past experiences, can lead to significant issues in romantic relationships, including difficulty forming deep connections, distrust, emotional withdrawal, anxiety, and a tendency to repeat unhealthy patterns." Spencer nods along.
"So, this unsub had a broken home? Let's get Garcia to check records of social service calls to residents with multiple visits." Emily says to the team as they dial Garcia and are met with a sigh at the vast load she has to sieve through.
"I wouldn't rely on it there are so many left unreported." You added, shaking your head. "Look for school reports, teachers may have noticed suspicious behaviour and markings on a child- it's not much and hardly narrows it down but it is something."
The team nod impressed and you catch Hotch's eye as he narrows his eyes softly, like he was trying to read into your soul. You were, simply put, a book he could read one hundred times and still be unable to decode every last detail.
"Garcia, cross check school reports with silent 911 calls." You heart ached as you say the words, a rush of memories flooding back to you as you ran up the stairs of your house, hearing your father shouting up at you and your mother knocking on your door harshly. You'll never forget those knocks, like a constant reminder that you were always wrong. You had stolen the landline phone, really scared for your life in that moment. You were sat in you closet, knees tucked to your chest as silent tears glass your eyes.
"911, what's your emergency?"
Silence.
Bang.
Bang.
Bang.
"Hello?"
Bang.
Bang.
Bang.
"This is 911, are you in danger?"
Yes, help. Please. I'm scared.
Your shallow breaths cut through the silence before the call ended and your inevitable fate had drawn closer.
"I've cross checked teachers note with 911 calls and i think i have something." Garcia informs the team over the phone, "It may be a long shot but a man named Dane Kirighan called 911 twice but they were both silent, as our pretty girl said." She starts. "His mom Janet Kirighan recently passsed away... it says... oh- she was bludgened to death by a flat object four months ago.."
"That could be our stressor." Aaron nods at the team as Garcia continues.
"It gets worse, his father was sentenced to life for the murder of Janet Kirighan but he was deemed deceased only last month."
You stay silent. "He has abandonment issues, as much as he hated them both for the pain they inflicted, they left him again..."
"What's his address?"
The case was long, almost a week long and you were sure it was torturous. Memories came back in floods to the point that you could no longer focus on the situation at hand but rather the pain in Dane Kirighan's voice as he screamed in the line of crossfire.
One harsh scream then silence.
That silence you knew all too well, you left the scene quickly, getting into the back of one of the SUV's. You talk to no one, you look at no one, you react to nothing. Right now, you're as lifeless as Dane. The little boy who was manipulated and formed into a killer. You shouldn't but you empathise for him. You sympathise.
You knew that there were two sides to a coin and you and Dane Kirighan were one of the same. Heads vs Tales, you saw different lives but deep down you were made from the same foundations and ou were terrified.
You excused yourself from the car, heading into the bathroom to freshen up. No one joined you, which you were grateful for because currently, you hamd was stretched against the painted wall, clawing for something to hold you body up as your other dug into the skin of your chest as if it would help you breathe. Suddenly you were back in that closet, rocking back and fourth as you hear footsteps growing nearer to you.
You heart rate picked up at the memory, you breathing becoming shallow and uneven and suddenly the all too familiar burning sensation infiltrated your lungs. The need of oxygen grew stronger as you slid down the wall of the bathroom, feeling pathetic and completely naked on that tile flooring.
Bang.
Bang.
Bang.
Your mind became your biggest enemy as your heartbeat rung through you ears like a cry for help.
Footsteps.
The echo of your parent's footsteps grew louder in you mind as they neared the bathroom door.
Your heart was racing. Fuck. Breathing. You need to breathe. Come on. You gotta keep trying. In and Out. They're not here. You're safe.
Until silence, once again.
A laugh echoed from outside and you realised you were safe, you were home. Not all family was bad, but you didn't know how to be in the family. What was your role?
You walk back to the team after freshing up a bit, swearing an oath to yourself to avoid the topic of your panic attack.
You walk up to the team and they greet you with warm smiles.
"Nice call kid, you may not feel like it was positive but you helped." Rossi pulled you into a hug, a tight hug and you realised that the team knew. Fuck, they knew.
"How did you know?" Emiy inquires, breaking the ice to the topic. "How did you know to check for 911 calls?"
"I did it a few times," you shrug, being honest. This is what a family des right. "I knew nothing would come out of it but it felt like I was doing something."
Faces softened and you hated that.
You pull you hair into a ponytail and smile, though it is far from real. "it's no big deal."
"You were abused." Hotch's voice cuts the silence and zones his vision on you. "Do you hear me?"
"Hotch man-" Derek tries to intervene but Hotch cuts him off.
"You were abused." he repeats.
"Stop."
"You are a victim." he states so boldly with no judgement whatsoever.
"Stop," You repeat, urgently, feeling your emotions swell.
"It is a big deal. You. Were. Abused." He repeats and you are getting angry now, you hardly notice that Hotch had gestured for the others to leave.
"Hotch- stop it."
"Why are you defending them?"
"I'm not."
"The people you should trust the most hurt you, in every way they could."
"Hotch-" you feel tears threaten your eyes.
"That's why you don't trust easy. It's why you don't talk about your experiences. It's why you never miss a deadline because you think you will be punished. You think that your a burden and you bottle up your feelings and belittle them until they are overwhelming for you. Its why you can tell who is nearing you because you have our footsteps memorised. Do you know what these are?"
"Stop profiling me." You burst, your voice echoing through the walls.
A tear.
He lifts his hand.
You flinch.
He moves gently.
You look down.
He tilts your head up.
"It's all trauma responses. You are a victim of abuse and you're too thoughtful to ask for help because you don't want to gain friendships where people will leave you."
Your eyes are full of silent tears as you look up at him.
His heart breaks.
"You can let it go." He whispers to you, resting his hand on your cheek. "Do you hear me?"
You nod, you eyes rimmed red and glossy with pain.
"You-" he points at your chest, more specifically your heart. "You don't have to invite your blood related family to the party of your soul."
"Your heart, honey, truly is a party. It is beautiful, it is flourished, it is fun and it reflects every ounce of who you are. Your parents never showed you love but I do, we all do. Never be sorry for growing up surrounded by pain, never belittle your past experiences until you are on the edge okay?"
"What are you asking of me?"
"I'm asking you to let me love you... let me take care of you. You talk of all this pain like it's alright, it isn't so stop. A part of you feels like a lost cause but baby, you shine like the brightest star. You showed me a power that is strong enough to bring sun to the darkest days."
"I'm asking you to let me into your heart, your mind."
In that moment, you realised that you were starting a family who will always show you love and though it will be a long process, it will be worth it in the end.
272 notes · View notes
drabblesandimagines · 2 years ago
Note
400 request! Leon x female reader. How they meet or first impressions.
(Also omg I’m so happy you write about resident evil too!)
Thank you, anon! I'm happy I write about Resident Evil too x Travel Pillow Leon Kennedy x female reader, fluff
Looking at the rain smacking against the tarmac through the plane window, you’re not convinced you will be taking off any time soon, despite the airline’s confidence when they’d opened the boarding gate 20 minutes ago. The last of the passengers are finding their seats in the small plane, only two seats either side of the aisle. You feel a knee bash against your thigh and you turn, seeing a handsome man with light brown hair framing bright blue eyes, jeans with a white tee and a semi-smart black jacket stood over the empty seat, looking apologetic.
“Sorry.” He rubs the back of his head, scolding himself for a bad first impression on the pretty girl he is going to be sitting next to for the next three hours. “I swear they make the leg room on these tin cans smaller and smaller every time.”
“No harm done. And, yeah, I agree - trying to get you to splurge for the emergency exit.”
“Mm, and my work won’t cover that expense.” He tugs off his jacket before he sits down, banging his knee against the upturned tray table on the seat in front and winces. “Yep, should’ve got some knee pads.”
You laugh at that and he smiles, sensing it’s genuine in nature. Makes a change.
“Name’s Leon.” He offers you his hand and you take it, giving it a shake and offering your name in return.
“Take it you’re traveling for business, then?” You probe – he’s easy on the eyes and much more interesting to look at than the rain out the window.
“Was.” He leans back, buckling up his seatbelt. “On the way home now. You?”
“Moving - starting a new job on Monday.”
“Oh, wow. Moving via plane?”
You shake your head. “Got a guy driving my stuff over in a few days. Only got the job offer Wednesday.”
“Huh,” Leon mulls. “They sound pretty keen for you.”
“Yeah, well-”
The PA system pings, interrupting you. There’s a crackle of static before a voice rings out. “Good evening, this is your captain speaking. I’m afraid we have a storm warning rolling in and, currently, we are unable to take off. As we are still at the gate and it will be a little while before we can depart, we are going to ask you to disembark.” Groans ring around the plane. “Please be sure to take all your hand luggage with you and be sure to pick up your complimentary drinks voucher from the cabin crew.”
“Bets on it excluding alcohol?” Leon asks, unbuckling his seat belt and getting to his feet as your fellow passengers follow suit - grumbling about the delay, grabbing their bags. “Got anything in the overhead?”
“Yeah.” You get to your feet, having to hunch over a little as the side of the plane slopes. “Black duffel bag.”
“I got it.”  
“What a gentleman.” You smile, watching as he raises his arms above his head to reach for your bag, your eyes lingering on the way his biceps tense.
“I may have an ulterior motive.” He smirks, pulling the bag down and hanging it off his shoulder with ease. You hadn’t been exactly subtle while you had admired his arms.
“Oh?”
“Hoping you might partake in a non-complimentary drink with me.”
“I think I can manage that.”
--
“So, what do you do?”
You’d grabbed a cosy table for two in the corner of the airport bar, a clear view of the departures board in sight in case any news came through about your delayed flight. The complimentary drinks voucher had excluded alcohol, so you had ended up with two drinks in front of you – a soda from the airline that you’d quickly polished off, and one from your handsome seat-mate that you made sure to take your time over.
“Me?” Leon shrugs a shoulder. “I work for the government – just boring bureaucratic nonsense, wrapped up in a lot of red tape. How about you?”
“Software.”
“Guess you’re pretty skilled to be in such high demand.”
“Something like that. Just a niche area. Money was too good to say no.” It wasn’t strictly a lie. “And, if I can be so bold, no-one to leave behind?”
“Bingo.”
“Well, I feel that. No-one for me to return home to. Work keeps me too busy – can be away a few days to a few months.”
“Ah, so you don’t always flirt with women you meet on planes?”
“No,” he shakes his head, “This is just an elaborate apology for bashing your knee earlier.” “Gotcha.” You take another sip of your drink. “So, how long have you lived in DC?”
“A few years now, on and off.”
“Good, then you can tell me all of the bad coffee shops and tourist traps I need to avoid.”
Leon shakes his head, grinning all the while. “I can’t hand over that information, you’ve gotta work your way through sucky cups of coffee like every other fine resident that came before you.”
“Please?” You pout, tilting your head and he’s so tempted to give in with how adorable you look.
“Cute, but no. You’ll understand one day.”
“Not even a clue?”
“Uh-uh, I’m sorry.”
“No, you’re not.”
“Yeah,” he lifts his glass to his lips, trying to hide his smile. “I’m not.”
“Is there anything you can tell me about DC, then?”
He ponders for a moment. “They really like brunch.”
“Maybe…” you rest your hand on the table, wondering if you could reach out and touch his, “..you could take me for br-“
“Passengers for delayed flight AA4628 are asked to head towards gate 34 to commence boarding.” The PA system announces from above your heads. “That’s passengers for delayed flight AA4628 are asked to head towards gate 34 to commence boarding. Thank you.”
“Guess we better head back.” Leon downs his drink and gets to his feet, heaving your bag back over his shoulder.
“Mm,” you agree, downing the rest of your own and your question, and following him back to the gate.
--
The drink must’ve gone more to your head than you thought, especially after a frantic few days of packing, late nights from trying to get everything in order before you moved across the country because you don’t remember the plane even taking off. You wake up to your ears popping as the plane begins its descent and slowly open your eyes, wondering why the seat in front of you is at an angle. It’s then you realise you’re not upright in your own seat, instead cuddling up into someone’s chest, almost nuzzling your cheek into them, an arm draped around your shoulders.
You shoot up, the arm sliding off and you see Leon besides you, smiling sleepily, “Hey, sleepyhead.”
“I am so sorry.” You can feel your cheeks burn as you worry if you drooled, or snored or…
“What, for using me as a pillow?” He chuckles. “It’s fine. For the record, I fell asleep too so it was mutually beneficial.”
“Oh. Good.” You nod, settling back into an awkward silence as the plane continues its descent towards the tarmac and you turn your attention to the window, looking down at the place you’ll be calling home for however long.
As the plane lands and begins taxiing to the gate you wonder if you should ask Leon for his number, or give him your own. It would be nice to know someone in DC, after all. You pull your phone out your pocket, about to ask when an air stewardess appears at Leon’s side, whispers in his ear and he smiles, nods in thanks and unbuckles his seatbelt to stand, before he hesitates and turns to look at you, noting your look of confusion.
“Seems work’s been waiting for me since our delay. My boss has pulled some strings to get me off the flight first, so…” He swallows, disappointed - though he knows he shouldn’t be. He knew from the moment you started talking, despite the feeling in his stomach, that it was fantasy where he could pretend that after you’d arrived in DC, the two of you could exchange numbers and he’d take you out for the good coffee, brunch and dinner, buy you flowers, kiss you under the streetlights…
Idiot, he reprimands himself. You’re a sweet girl, too sweet for the world he’s involved in.
“It was nice to meet you.” He smiles. “Good luck with the new job.”
“Oh.” You can’t hide your disappointment as he finally stands, the air stewardess waiting to lead him back up the aisle. “Thanks. Nice to meet you too, Leon.”
He nods, once, and you watch him walk away.
--
You hesitate outside your new work, the building looming over you. You still don’t know how to feel about this, but how can you reject a job offer from the President of the United States? You bin the cup of coffee you’d bought from a cart in the park on the way here – mistake, curse Leon for not giving you any heads up – and walk inside, navigating through security and reception, before being told to head up to floor three where an Ingrid Hunnigan is waiting to brief you, standing by the elevator doors. She’s a smartly dressed woman, curly hair tied up in a bun and studious glasses, though she greets you with a smile and a handshake.
“Welcome to the DSO. Glad to have you – I’ve been admiring your work over the weekend.”
“Oh, thank you. I’m… It’s good to be here.” You correct.
Hunnigan doesn’t press, instead gesturing you forward. “Sorry, I promise we’ll do a whistlestop tour another time, but you’re going to be hitting the ground running this morning – we have an intel briefing at 0915.”
“We?”
“Mm – me, you and Agent Kennedy.”
You’re led to a small meeting room and told to take a seat, but Hunnigan remains standing by the door.
“Coffee? Since I haven’t had chance to give you the tour, it’s the least I could do.”
“Oh, yeah. Thank you.” You reply, taking a seat.
“Be right back.”
You fiddle with the hem of your shirt, looking around at the room – not that there’s much to take in, it’s a small, circular table with six chairs around it, a projector hanging from the ceiling and some adaptor cables poking out the middle for someone to connect a laptop.
The door opens a couple of moments later and you turn your head, eyes widening at the figure who enters.
Leon looks equally surprised for a moment before a smirk crosses his lips and he strides in, taking the seat opposite. He leans back in his chair, crosses his arms and quirks an eyebrow.
“Software, huh?”
--
You wake up to your ears popping as the plane begins its descent, your face resting on Leon’s chest, his arm wrapped around your shoulders and head resting atop your own – an all too familiar routine when you travel together by plane. You nuzzle your cheek into his warmth, feeling too content to open your eyes just yet when you feel him move and place a kiss upon your crown.
“Afraid it’s time to wake up, sweetheart”
“Mm, five more minutes. We can’t be landing already, we only just left the gate.” You protest.
His chuckle vibrates through your cheek. “You were out like a light before we even took off. I’m beginning to worry you only keep me around as your personal travel pillow.”
Sighing, you sit upright, trying to rub the crick out of your neck. “That, among other reasons.”
“What other reasons?”
“Hmm,” you pretend to muse, cupping his face in your palm and press a soft kiss to his lips before pressing your forehead against his. “Cos I love you.”
“Love you more.”
-- Comments, likes and reblogs make my whole day! x Masterlist . Requests welcome . Commissions/Ko-Fi
403 notes · View notes
heartfullofleeches · 1 year ago
Note
Ya know the nightlight reader/darling?
All I’m thinking about is them getting railed by someone and their lights just flashing because of it
I've had this thought before, but I guess it disappeared into the depths of my kind. - How I imagine it, it starts off as slow flickering which grows quicker as they near closer to climax if they're at the stage where their parts/software is advanced enough for them to feel things on a similar level to organic bodies. They have a heart shaped light on their chest which is where I like to think most of the flashing would come from because if a whipped dork like Mono saw their Starlight's heart flashing as a sign of how good it makes them feel, Mono would just cease to function. Even a horny bastard like Titus would grow a little bashful seeing that.
293 notes · View notes
hiskillingjar · 1 year ago
Note
Do you think you can make more of ren Hana x reader please and keep doing amazing amazing job 
Tumblr media
yeah sure.
1300+, hyperfem mc, kind of...au post BTD2 ren where he's trying to be a normal guy and. doesn't work out for him. cw for ref to CNC but we're all freaks here so......
College was supposed to Ren's fresh start.
Well, community college was supposed to be, anyway. A full bank account and a computer full of fake documentation software and malware couldn't get him into a regular school (what with a lack of a GED and all).
So, he had applied to the closest community college with a sob story (something something abusive relationship that forced him to drop out, something something he’s trying to build a life for himself again) and gotten in on a partial scholarship to finish his high school diploma, and to study coding and programming after the fact.
It was good. Or, at least, it was movement to start a new life for himself, a normal life, a life he could be proud of that wasn’t built off of the legacy of-.
Then she happened.
He wasn't going to do this, he had told himself from the beginning. He wasn't going to let himself get caught up in the dazed and familiar spiral of infatuation and dangerous obsession, as he was so prone to do.
She deserved better than that. She was good and he was going to be good, too.
But...he was never that good at controlling himself.
Which was why they were making out in the college library, his hand up her frilly skirt (he was a sucker for that kind of thing and she almost leaned into it) and his tongue down her throat.
She moaned little whimpers against his lips, pressing her fingers in to his hair, her fake acrylic nails occasionally scratching at his scalp and rubbing the base of his ears, making him totally melt against her.
They were decorated with ���My Melody’ charms this week, the pink matching the pale streaks in her blonde hair.
Like she had been plucked right out of his fantasies and placed in front of him.
Like a steak in front of a starving animal.
“Ah, Ren,” She gasped sweetly, wrenching her lips away from his as his fingers stroked over the front of her underwear. He pressed two of them against the slightly damp fold, and idly circled the plush flesh underneath, feeling the wet fabric cling to her skin. “Mmm…noooo, don’t…”
“You like that?” He whispered, dipping his head down to kiss her neck.
She smelled of perfume and powder foundation, and he was addicted to it.
“Stoooop,” She whined with the slightest pout, pressing her face into his shoulder and gripping his hair a little tighter, pulling a little too hard for it to feel good.
“Ngh,” Ren let out a little grunt, pulling himself away and shaking his head (like a startled animal) before staring at her, his brows knitting together as he drew his fingers back from her panties. “Are you not into this? Should I stop?”
“Huh?” She blinked as he pulled back, her fake lashes fanning against her cheeks, making her eyes look even bigger and doll-like. God, no wonder he was crazy about her. “Oh, no, I’m…really into it, actually.” She admitted shyly.
“But,” He tilted his head with a confused look. “You were telling me to stop…”
“Um…y-yeah,” She giggled, her cheeks flushing a soft pink, matching her blush, as she idly scraped a lock of pink hair behind her ear. “Ah, not to freak you out out or anything, but, mm…I’m kind of into that sort of thing…consensual-non-consent, roleplay…stuff. And, you know, we’ve been seeing each other for a while, so…”
Ren blinked too, his ears tilting back as his expression gave away even more confusion.
"Non-consent? You...think about that stuff?" He asked, idly hooking a fang over his lip and biting down.
"Ah," She shook her head and covered her face to hide a bashful smile. It was a ridiculously adorable gesture. "I-It's not that big of a deal...and a-a lot of girls are into that stuff, more than you think!"
"Isn't that kind of messed up, though?” He continued to press, drawing his hand back from her thigh and letting it trail down to her knee, where her sock was slipping down.
“I mean, I know it's a little messed up, even if it’s not...the real thing," She insisted, her hands back in her lap (like she was chasing after his hand, chasing some way of grounding her body to the Earth) and looking at him, sweet sincerity in her big eyes. "I know it is. But it's like a...reclamation kind of thing, you know?"
Ren frowned.
"Reclamation, wha...?"
"Like, taking bad things that have happened to you and,” She paused, biting her lip to hide a thoughtful frown of her own. “...Putting them in a situation that you have control over. A situation you can stop, if you need to."
"Huh..."
He’d never considered anything like that before.
Ren did know, probably more than most, that there were a lot of…weirdos out there (pot calling the kettle black, he knew), but he hadn’t considered that she might be like that too.
It didn’t make sense to him. She dressed in pink and white, got new nail designs every two weeks, and told him extensively about her plans to program a game about cat sitting when she had finished their course.
Girls like that didn’t have the darkness that he had, did they?
She was his ‘sweet one’, after all, his innocent, little angel, his doll, his Madonna, his-
"Please don't think I'm weird..." She murmured, her smile dropping at little at his extended silence. “I was being a little hasty, I know that. We don't have...I was just trying-"
She was so nervous. She was so worried that showing her darkness was going to scare him off.
If only she knew how often he though the same.
"No, no, I-" Ren cut her off with a slight chuckle, rubbing her knee affectionately. "It's okay," He then said, giving her an encouraging smile (trying not to let it grow into something bigger, scarier, more threatening, more honest). "I...I like it too, I think.” He knew, but he didn’t want to tell her too much. Not yet. “I like that you like it, too. We can keep going."
Her eyes widened a little and that sweet, innocent smile came back to her face.
"Really?" She said, her voice filled with something close to awe.
"Yeah," He dipped his voice down low and moved in closer again, reaching up and wrapping his fingers around her wrists and squeezing tight, keeping them pinned together (in lieu of any bondage) as he gave her a fang filled smirk. "Let's keep going."
She shivered, trying to wrench her wrists away from his grip as he pressed his smirk to her neck for a harsh bite.
“AH!” She gasped, her soft thighs pressing together as he dug his teeth into her skin, bruising her, marking her as his. “No, no…s-stop-“
He paid no attention to her protests (uncaring if they were even real or not) as he dug his teeth in a little harder, feeling the first pinpricks of blood welling against his lips as he reached one hand back up her skirts and began to knead at her panties again.
She was much wetter than she had been before, and he didn’t stop himself from purring lowly in delight.
“Dirty girl,” He murmured hotly, laving his tongue over the bloody bite on her neck. Her cute blouses weren’t going to hide that one, and he struggled to contain his delight about that. “Getting off on this, aren’t you? Me touching you when you don’t want it.”
“Nghh…” She kept twisting in his grip, her bottom lip swelling as she bit down even harder. “I’m not…getting off-“
“Yessss, you are,” He drawled, suddenly pulling the gusset of her panties to the side and pressing his fingers inside of her. Thank god it was late, and the library was empty. “Look at that, angel…I think your body is smarter than your head~”
“Fuck,” She swore, pressing her face into his shoulder again and tensing up even tighter. “T-That’s good…”
“I know,” He crooned, pressing a wet kiss to her cheek and sliding his fingers deeper. “I know it is. Good girl…”
“Just let me take what I want, now…”
98 notes · View notes
teacupsandcyanide · 6 months ago
Text
If I had video editing software I’d make endless videos mashing together all of new Who’s most poignant pacificism speeches with footage of the early Doctors committing acts of violence because they were lightly inconvenienced. I want to take the “I never would” anti-gun Tenth Doctor scene and end it with Ian having to physically stop the First Doctor from bashing a caveman to death in cold blood with a large rock
33 notes · View notes
nyxtickled · 5 months ago
Note
I kind of can't get over you studying freakin' *robotics engineering.* Now I'm picturing you as the cool engineer on some sci-fi show. Whaddaya think? Star Trek? Something with giant robots? Maybe something grittier and more cyberpunk?
Maybe this is making too light of what you're working so hard for. Follow-up and/or substitute question: what's one of your dream projects or goals? What kind of robot(s) does Nyx most want to create, or work on?
🥹🤭 awww jeez don’t make me all fricken bashful on main i’m supposed to be tough !!!! CYBERPUNK PLEASE AAAAH
ok ok but to answer seriously, so far in my academic career i’ve worked on autonomous cars (1/10 scale autonomous racecars built essentially from scratch, a full size autonomous EV gokart, and i’ve even been fortunate enough to work on a fully autonomous indy 500 car…essentially the most advanced autonomous vehicle in the world. shit was one of the most mind blowing things i’ve ever been a part of), i’ve worked on some cool solar stuff (solar water heater for an orphanage in Tijuana, solar carport concept design for a nonprofit who wants to propose the idea of charging EV cars while they’re parked outside at work all day and distributing leftover power to the building), and my personal favorite was this project i did for a class i took where i designed an autonomous campus rideshare prototype on one of the 1/10 scale cars that was able to use facial recognition to identify the student who requested the ride and would essentially drive itself to the drop off location!
the last one was the most fun for me bc it was the first time i really got into the programming side of robotics. the car would have a starting location where it waited for ride requests, then when you submitted one it would drive itself to the location using LiDAR for collision avoidance and GPS path training. but the real doozy was the pickup stage bc i had to develop the facial recognition code to be able to scan the student’s face upon arrival with computer vision in live time with a camera that was attached to the car, and then match it to a photo of the student that was stored in a database, and then try to match the name of that student to the name of the student who requested the ride! if it matched, the screen would be like “rider verified! hop in!” and proceed to the next stage of driving itself to the drop off point. if it didn’t, the screen would read “sorry, we couldn’t verify your identity with the ride request” and drive itself back to the parking spot where it would wait for the next ride request! and the database of faces would basically come from your student ID picture, cuz the rideshare service would be around campus for students only!
god it was so fucking challenging but i had so much fun with it. so uhhhh to avoid writing 18 more paragraphs about all the cool robotics shit that i’m obsessed with, i would say my dream project is definitely something that combines machine learning software, robotics operating systems programming, and mechanical design all in one. something that could take the technological advancements that we have made and turn it into something useful for everyone. fuck i’m such a nerd i’m sorry i did NOT mean to go on like this ahahahahaha
29 notes · View notes
maniculum · 1 year ago
Text
Tumblr media
Google tells me this is from a book called “Culture Made Stupid” by Tom Weller. Text below for screen-readers, though I’m not sure how well the software is going to handle the spelling.
Meanehwæl, baccat meaddehæle, monstær lurccen; Fulle few too many drincce, hie luccen for fyht. Ðen Hreorfneorhtðhwr, son of Hrwærowþheororthwl, Æsccen æwful jeork to steop outsyd. Þhud! Bashe! Crasch! Beoom! Ðe bigge gye Eallum his bon brak, byt his nose offe; Wicced Godsylla wæld on his asse. Monstær moppe fleor wyþ eallum men in hælle. Beowulf in bacceroome fonecall bemaccen wæs; Hearen sond of ruccus sæd, “Hwæt ðe helle?” Graben sheold strang ond swich-blæd scharp Stond feorth to fyht ðe grimlic foe. “Me,” Godsylla sæd, “mac ðe minsemete.” Heoro cwyc geten heold wiþ fæmed half-nelson Ond flyng him lic frisbe bac to fen. Beowulf belly up to meaddehæle bar, Sæd, “Ne foe beaten mie færsom cung-fu." Eorderen cocca-cohla yce-coeld, ðe reol þyng.
Just thought y'all would enjoy it.
Also, the font this book uses makes the capital thorn look like a wynn. Seems unnecessarily confusing.
138 notes · View notes
mayskalih · 2 years ago
Text
welcome to my little crackship sanctuary!
My name is Sasha, I'm not yet 30+ and I have a long-term Naruto brainrot. Occasionally I dip my toes into other fandoms with jjk and atla being the most common.
Tags: #sasha arts, #sasha asks, #sashas ocs
It's a discourse-free blog where I post arts with my fav ships and blabber about my headcanons. I love age gaps, regularly entertain my daddy issues and will sell my soul for top quality enemy to lovers fic.
Please leave the character bashing and ship wars outside, otherwise just block me - it's free!
You can find my ongoing Zutara comic (no avatar au) here:
Part 1 Part 2 Part 3 Part 4 Part 5 Part 6 Part 7
Comms: CLOSED. Requests: CLOSED. All characters I draw are 18+.
Since I keep getting repetitive asks, please check FAQ below before sending one <3
• Can I use you art as ...?
It's ok to use my art as pfp/headers, screenlocks and fanfic covers (as long as you don't edit it to change the ships or characters). Please credit me, though. AND DON'T REPOST ON TWITTER, PLEASE. I hate that place and even more the man who owns it.
• What do you think about ship X/Y?
I'm very multiship. If I ship something, then you will see me drawing them. My main ships of interest currently are: Kakasaku, Sasosaku, Deisaku, Kisasaku, Inosaku, Inohina, Zabukaka, Kakarin, Kakatsu, Shisaku, Itaino, Tobihina, Shitsu, Hidaten, all/Genma, Gojohime, Shokohime, Ginran, Howl/Sophie and ZUTARA. I will be happy to chat about these ships. If I don't draw them, then this means I don't care about the ship.
• What software/hardware you use?
Clip Studio Paint on Samsung Galaxy Tab S7+. Main brushes: SU-Cream, Magdas brushes, DAUB (their textured brushes are <3).
• Do you have OCs in Naruto universe?
No, I don't. I also don't like thinking about potential babies of ships.
• Do you have OCs?
Wohoo now I have OCs. But it's work in progress. I'm working on an original comic (academia, kinks, age gap - everything I love) so hopefully will soon share some designs!
• Which canon ships you like?
None, because being canon in shonen is a mood killer for me. The only one I like is ShikaTema since it made sense and actually had storyline.
• Can you draw character X?
I appreciate you liking my work, but requests and commissions are closed.
• Where can I find your nsf/w works?
Nowhere, I'm keeping it to myself right now.
Thank you and hope you'll enjoy! <3
P.S. You don't have to take my personal feelings into account, say whatever you want to me and I'll be fine.
283 notes · View notes