#article bundle
Explore tagged Tumblr posts
digiyah · 2 years ago
Text
1 note · View note
oifaaa · 1 year ago
Note
How is Bruce doing in the Jason lives au?
I means it's Bruce so even if Jason didn't die I'm sure he'll still manager to get worse just means he can't blame it on Jason's death in this universe
87 notes · View notes
weird-will · 6 months ago
Text
Lol remedy took down the collectors edition article from the AW2 website 😅
8 notes · View notes
unofskylanderspages · 1 month ago
Text
Tumblr media
Did you know? For some reason, in some versions of Spyro's Adventure, the Hidden Treasure item does not work in the Darklight Crypt.
3 notes · View notes
whentherewerebicycles · 1 year ago
Text
okay well we spent two hours doing a small group brainstorming/planning activity using projects from people’s work and that was actually fun—I love doing that kind of ideation and planning work with people. then we had to sit through 30+ min of whole-group debrief where people stood up and monologued breathlessly about feeling held by the collective as we harvested each other’s wisdom which almost ruined the experience. but luckily I came prepared with a challenge to work through in my head lol.
today’s zoning-out project is mapping out the basic research skills class I’ll be teaching in the spring quarter. one of the big problems I’ve identified in my info-gathering interviews is that students can’t do some pretty basic research things (like reading academic articles, evaluating sources, conducting lit reviews on a given topic, etc) and so faculty don’t want to take them on as summer research assistants because it’s a ton of work to train them in those skills AND familiarize them with the faculty member’s questions and methods AND give them a crash-course on the existing scholarship around this topic. so I am trying to pilot a thing where faculty get extra research funds for taking on a small group of summer students… but my office takes them for a quarter first, trains them in those basic skills and helps them build relationships with the librarians, and has them do all their major activities & assignments using real sources/data related to the faculty member’s project. that way students have 10 weeks to practice the skills and learn at least some of the research before we hand them off to the faculty mentors for the summer. I think we will also provide ongoing mentoring + student services-type support throughout the summer so we can continue working on project management and skill-building type stuff with them individually as they are conducting research… but for now I am focusing on drafting a version of the spring course to workshop with the faculty members who have expressed interest in participating. anyway I am at the very earliest stages but today while zoning out I spent some time trying to unbundle some of the skills that go into engaging with academic sources… needs refining (and maybe even some more unbundling?) but here is a first stab at it:
Tumblr media
15 notes · View notes
fierykitten2 · 1 year ago
Text
Tumblr media Tumblr media
I’ve had an idea!
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
Yeah! Taste the rainbow (not sponsored by Skittles)!
Images from the Metroid wiki and Bulbapedia
9 notes · View notes
pbmonkeybutt · 2 years ago
Text
River City Girls trial is good! Hopefully the (physical) 1+2 bundle release makes it to America so I can finish the last 2 boss fights lol
3 notes · View notes
jcmarchi · 7 days ago
Text
WordPress Multi-Multisite: A Case Study
New Post has been published on https://thedigitalinsider.com/wordpress-multi-multisite-a-case-study/
WordPress Multi-Multisite: A Case Study
The mission: Provide a dashboard within the WordPress admin area for browsing Google Analytics data for all your blogs.
The catch? You’ve got about 900 live blogs, spread across about 25 WordPress multisite instances. Some instances have just one blog, others have as many as 250. In other words, what you need is to compress a data set that normally takes a very long time to compile into a single user-friendly screen.
The implementation details are entirely up to you, but the final result should look like this Figma comp:
Design courtesy of the incomparable Brian Biddle.
I want to walk you through my approach and some of the interesting challenges I faced coming up with it, as well as the occasional nitty-gritty detail in between. I’ll cover topics like the WordPress REST API, choosing between a JavaScript or PHP approach, rate/time limits in production web environments, security, custom database design — and even a touch of AI. But first, a little orientation.
Let’s define some terms
We’re about to cover a lot of ground, so it’s worth spending a couple of moments reviewing some key terms we’ll be using throughout this post.
What is WordPress multisite?
WordPress Multisite is a feature of WordPress core — no plugins required — whereby you can run multiple blogs (or websites, or stores, or what have you) from a single WordPress installation. All the blogs share the same WordPress core files, wp-content folder, and MySQL database. However, each blog gets its own folder within wp-content/uploads for its uploaded media, and its own set of database tables for its posts, categories, options, etc. Users can be members of some or all blogs within the multisite installation.
What is WordPress multi-multisite?
It’s just a nickname for managing multiple instances of WordPress multisite. It can get messy to have different customers share one multisite instance, so I prefer to break it up so that each customer has their own multisite, but they can have many blogs within their multisite.
So that’s different from a “Network of Networks”?
It’s apparently possible to run multiple instances of WordPress multisite against the same WordPress core installation. I’ve never looked into this, but I recall hearing about it over the years. I’ve heard the term “Network of Networks” and I like it, but that is not the scenario I’m covering in this article.
Why do you keep saying “blogs”? Do people still blog?
You betcha! And people read them, too. You’re reading one right now. Hence, the need for a robust analytics solution. But this article could just as easily be about any sort of WordPress site. I happen to be dealing with blogs, and the word “blog” is a concise way to express “a subsite within a WordPress multisite instance”.
One more thing: In this article, I’ll use the term dashboard site to refer to the site from which I observe the compiled analytics data. I’ll use the term client sites to refer to the 25 multisites I pull data from.
My implementation
My strategy was to write one WordPress plugin that is installed on all 25 client sites, as well as on the dashboard site. The plugin serves two purposes:
Expose data at API endpoints of the client sites
Scrape the data from the client sites from the dashboard site, cache it in the database, and display it in a dashboard.
The WordPress REST API is the Backbone
The WordPress REST API is my favorite part of WordPress. Out of the box, WordPress exposes default WordPress stuff like posts, authors, comments, media files, etc., via the WordPress REST API. You can see an example of this by navigating to /wp-json from any WordPress site, including CSS-Tricks. Here’s the REST API root for the WordPress Developer Resources site:
The root URL for the WordPress REST API exposes structured JSON data, such as this example from the WordPress Developer Resources website.
What’s so great about this? WordPress ships with everything developers need to extend the WordPress REST API and publish custom endpoints. Exposing data via an API endpoint is a fantastic way to share it with other websites that need to consume it, and that’s exactly what I did:
Open the code
<?php [...] function register(WP_REST_Server $server) $endpoints = $this->get(); foreach ($endpoints as $endpoint_slug => $endpoint) register_rest_route( $endpoint['namespace'], $endpoint['route'], $endpoint['args'] ); function get() $version = 'v1'; return array( 'empty_db' => array( 'namespace' => 'LXB_DBA/' . $version, 'route' => '/empty_db', 'args' => array( 'methods' => array( 'DELETE' ), 'callback' => array($this, 'empty_db_cb'), 'permission_callback' => array( $this, 'is_admin' ), ), ), 'get_blogs' => array( 'namespace' => 'LXB_DBA/' . $version, 'route' => '/get_blogs', 'args' => array( 'methods' => array('GET', 'OPTIONS'), 'callback' => array($this, 'get_blogs_cb'), 'permission_callback' => array($this, 'is_dba'), ), ), 'insert_blogs' => array( 'namespace' => 'LXB_DBA/' . $version, 'route' => '/insert_blogs', 'args' => array( 'methods' => array( 'POST' ), 'callback' => array($this, 'insert_blogs_cb'), 'permission_callback' => array( $this, 'is_admin' ), ), ), 'get_blogs_from_db' => array( 'namespace' => 'LXB_DBA/' . $version, 'route' => '/get_blogs_from_db', 'args' => array( 'methods' => array( 'GET' ), 'callback' => array($this, 'get_blogs_from_db_cb'), 'permission_callback' => array($this, 'is_admin'), ), ), 'get_blog_details' => array( 'namespace' => 'LXB_DBA/' . $version, 'route' => '/get_blog_details', 'args' => array( 'methods' => array( 'GET' ), 'callback' => array($this, 'get_blog_details_cb'), 'permission_callback' => array($this, 'is_dba'), ), ), 'update_blogs' => array( 'namespace' => 'LXB_DBA/' . $version, 'route' => '/update_blogs', 'args' => array( 'methods' => array( 'PATCH' ), 'callback' => array($this, 'update_blogs_cb'), 'permission_callback' => array($this, 'is_admin'), ), ), );
We don’t need to get into every endpoint’s details, but I want to highlight one thing. First, I provided a function that returns all my endpoints in an array. Next, I wrote a function to loop through the array and register each array member as a WordPress REST API endpoint. Rather than doing both steps in one function, this decoupling allows me to easily retrieve the array of endpoints in other parts of my plugin to do other interesting things with them, such as exposing them to JavaScript. More on that shortly.
Once registered, the custom API endpoints are observable in an ordinary web browser like in the example above, or via purpose-built tools for API work, such as Postman:
PHP vs. JavaScript
I tend to prefer writing applications in PHP whenever possible, as opposed to JavaScript, and executing logic on the server, as nature intended, rather than in the browser. So, what would that look like on this project?
On the dashboard site, upon some event, such as the user clicking a “refresh data” button or perhaps a cron job, the server would make an HTTP request to each of the 25 multisite installs.
Each multisite install would query all of its blogs and consolidate its analytics data into one response per multisite.
Unfortunately, this strategy falls apart for a couple of reasons:
PHP operates synchronously, meaning you wait for one line of code to execute before moving to the next. This means that we’d be waiting for all 25 multisites to respond in series. That’s sub-optimal.
My production environment has a max execution limit of 60 seconds, and some of my multisites contain hundreds of blogs. Querying their analytics data takes a second or two per blog.
Damn. I had no choice but to swallow hard and commit to writing the application logic in JavaScript. Not my favorite, but an eerily elegant solution for this case:
Due to the asynchronous nature of JavaScript, it pings all 25 Multisites at once.
The endpoint on each Multisite returns a list of all the blogs on that Multisite.
The JavaScript compiles that list of blogs and (sort of) pings all 900 at once.
All 900 blogs take about one-to-two seconds to respond concurrently.
Holy cow, it just went from this:
( 1 second per Multisite * 25 installs ) + ( 1 second per blog * 900 blogs ) = roughly 925 seconds to scrape all the data.
To this:
1 second for all the Multisites at once + 1 second for all 900 blogs at once = roughly 2 seconds to scrape all the data.
That is, in theory. In practice, two factors enforce a delay:
Browsers have a limit as to how many concurrent HTTP requests they will allow, both per domain and regardless of domain. I’m having trouble finding documentation on what those limits are. Based on observing the network panel in Chrome while working on this, I’d say it’s about 50-100.
Web hosts have a limit on how many requests they can handle within a given period, both per IP address and overall. I was frequently getting a “429; Too Many Requests” response from my production environment, so I introduced a delay of 150 milliseconds between requests. They still operate concurrently, it’s just that they’re forced to wait 150ms per blog. Maybe “stagger” is a better word than “wait” in this context:
Open the code
async function getBlogsDetails(blogs) let promises = []; // Iterate and set timeouts to stagger requests by 100ms each blogs.forEach((blog, index) => if (typeof blog.url === 'undefined') return; let id = blog.id; const url = blog.url + '/' + blogDetailsEnpointPath + '?uncache=' + getRandomInt(); // Create a promise that resolves after 150ms delay per blog index const delayedPromise = new Promise(resolve => setTimeout(async () => try const blogResult = await fetchBlogDetails(url, id); if( typeof blogResult.urls == 'undefined' ) console.error( url, id, blogResult ); else if( ! blogResult.urls ) console.error( blogResult ); else if( blogResult.urls.length == 0 ) console.error( blogResult ); else console.log( blogResult ); resolve(blogResult); catch (error) console.error(`Error fetching details for blog ID $id:`, error); resolve(null); // Resolve with null to handle errors gracefully , index * 150); // Offset each request by 100ms ); promises.push(delayedPromise); ); // Wait for all requests to complete const blogsResults = await Promise.all(promises); // Filter out any null results in case of caught errors return blogsResults.filter(result => result !== null);
With these limitations factored in, I found that it takes about 170 seconds to scrape all 900 blogs. This is acceptable because I cache the results, meaning the user only has to wait once at the start of each work session.
The result of all this madness — this incredible barrage of Ajax calls, is just plain fun to watch:
PHP and JavaScript: Connecting the dots
I registered my endpoints in PHP and called them in JavaScript. Merging these two worlds is often an annoying and bug-prone part of any project. To make it as easy as possible, I use wp_localize_script():
<?php [...] class Enqueue function __construct() add_action( 'admin_enqueue_scripts', array( $this, 'lexblog_network_analytics_script' ), 10 ); add_action( 'admin_enqueue_scripts', array( $this, 'lexblog_network_analytics_localize' ), 11 ); function lexblog_network_analytics_script() wp_register_script( 'lexblog_network_analytics_script', LXB_DBA_URL . '/js/lexblog_network_analytics.js', array( 'jquery', 'jquery-ui-autocomplete' ), false, false ); function lexblog_network_analytics_localize() $a = new LexblogNetworkAnalytics; $data = $a -> get_localization_data(); $slug = $a -> get_slug(); wp_localize_script( 'lexblog_network_analytics_script', $slug, $data ); // etc.
In that script, I’m telling WordPress two things:
Load my JavaScript file.
When you do, take my endpoint URLs, bundle them up as JSON, and inject them into the HTML document as a global variable for my JavaScript to read. This is leveraging the point I noted earlier where I took care to provide a convenient function for defining the endpoint URLs, which other functions can then invoke without fear of causing any side effects.
Here’s how that ended up looking:
The JSON and its associated JavaScript file, where I pass information from PHP to JavaScript using wp_localize_script().
Auth: Fort Knox or Sandbox?
We need to talk about authentication. To what degree do these endpoints need to be protected by server-side logic? Although exposing analytics data is not nearly as sensitive as, say, user passwords, I’d prefer to keep things reasonably locked up. Also, since some of these endpoints perform a lot of database queries and Google Analytics API calls, it’d be weird to sit here and be vulnerable to weirdos who might want to overload my database or Google Analytics rate limits.
That’s why I registered an application password on each of the 25 client sites. Using an app password in php is quite simple. You can authenticate the HTTP requests just like any basic authentication scheme.
I’m using JavaScript, so I had to localize them first, as described in the previous section. With that in place, I was able to append these credentials when making an Ajax call:
async function fetchBlogsOfInstall(url, id) let install = lexblog_network_analytics.installs[id]; let pw = install.pw; let user = install.user; // Create a Basic Auth token let token = btoa(`$user:$pw`); let auth = 'Authorization': `Basic $token` ; try let data = await $.ajax( url: url, method: 'GET', dataType: 'json', headers: auth ); return data; catch (error) console.error('Request failed:', error); return [];
That file uses this cool function called btoa() for turning the raw username and password combo into basic authentication.
The part where we say, “Oh Right, CORS.”
Whenever I have a project where Ajax calls are flying around all over the place, working reasonably well in my local environment, I always have a brief moment of panic when I try it on a real website, only to get errors like this:
Oh. Right. CORS. Most reasonably secure websites do not allow other websites to make arbitrary Ajax requests. In this project, I absolutely do need the Dashboard Site to make many Ajax calls to the 25 client sites, so I have to tell the client sites to allow CORS:
<?php // ... function __construct() add_action( 'rest_api_init', array( $this, 'maybe_add_cors_headers' ), 10 ); function maybe_add_cors_headers() // Only allow CORS for the endpoints that pertain to this plugin. if( $this->is_dba() ) add_filter( 'rest_pre_serve_request', array( $this, 'send_cors_headers' ), 10, 2 ); function is_dba() $url = $this->get_current_url(); $ep_urls = $this->get_endpoint_urls(); $out = in_array( $url, $ep_urls ); return $out; function send_cors_headers( $served, $result ) // Only allow CORS from the dashboard site. $dashboard_site_url = $this->get_dashboard_site_url(); header( "Access-Control-Allow-Origin: $dashboard_site_url" ); header( 'Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization' ); header( 'Access-Control-Allow-Methods: GET, OPTIONS' ); return $served; [...] }
You’ll note that I’m following the principle of least privilege by taking steps to only allow CORS where it’s necessary.
Auth, Part 2: I’ve been known to auth myself
I authenticated an Ajax call from the dashboard site to the client sites. I registered some logic on all the client sites to allow the request to pass CORS. But then, back on the dashboard site, I had to get that response from the browser to the server.
The answer, again, was to make an Ajax call to the WordPress REST API endpoint for storing the data. But since this was an actual database write, not merely a read, it was more important than ever to authenticate. I did this by requiring that the current user be logged into WordPress and possess sufficient privileges. But how would the browser know about this?
In PHP, when registering our endpoints, we provide a permissions callback to make sure the current user is an admin:
<?php // ... function get() $version = 'v1'; return array( 'update_blogs' => array( 'namespace' => 'LXB_DBA/' . $version, 'route' => '/update_blogs', 'args' => array( 'methods' => array( 'PATCH' ), 'callback' => array( $this, 'update_blogs_cb' ), 'permission_callback' => array( $this, 'is_admin' ), ), ), // ... ); function is_admin() $out = current_user_can( 'update_core' ); return $out;
JavaScript can use this — it’s able to identify the current user — because, once again, that data is localized. The current user is represented by their nonce:
async function insertBlog( data ) let url = lexblog_network_analytics.endpoint_urls.insert_blog; try await $.ajax( url: url, method: 'POST', dataType: 'json', data: data, headers: 'X-WP-Nonce': getNonce() ); catch (error) console.error('Failed to store blogs:', error); function getNonce() if( typeof wpApiSettings.nonce == 'undefined' ) return false; return wpApiSettings.nonce;
The wpApiSettings.nonce global variable is automatically present in all WordPress admin screens. I didn’t have to localize that. WordPress core did it for me.
Cache is King
Compressing the Google Analytics data from 900 domains into a three-minute loading .gif is decent, but it would be totally unacceptable to have to wait for that long multiple times per work session. Therefore I cache the results of all 25 client sites in the database of the dashboard site.
I’ve written before about using the WordPress Transients API for caching data, and I could have used it on this project. However, something about the tremendous volume of data and the complexity implied within the Figma design made me consider a different approach. I like the saying, “The wider the base, the higher the peak,” and it applies here. Given that the user needs to query and sort the data by date, author, and metadata, I think stashing everything into a single database cell — which is what a transient is — would feel a little claustrophobic. Instead, I dialed up E.F. Codd and used a relational database model via custom tables:
In the Dashboard Site, I created seven custom database tables, including one relational table, to cache the data from the 25 client sites, as shown in the image.
It’s been years since I’ve paged through Larry Ullman’s career-defining (as in, my career) books on database design, but I came into this project with a general idea of what a good architecture would look like. As for the specific details — things like column types — I foresaw a lot of Stack Overflow time in my future. Fortunately, LLMs love MySQL and I was able to scaffold out my requirements using DocBlocks and let Sam Altman fill in the blanks:
Open the code
<?php /** * Provides the SQL code for creating the Blogs table. It has columns for: * - ID: The ID for the blog. This should just autoincrement and is the primary key. * - name: The name of the blog. Required. * - slug: A machine-friendly version of the blog name. Required. * - url: The url of the blog. Required. * - mapped_domain: The vanity domain name of the blog. Optional. * - install: The name of the Multisite install where this blog was scraped from. Required. * - registered: The date on which this blog began publishing posts. Optional. * - firm_id: The ID of the firm that publishes this blog. This will be used as a foreign key to relate to the Firms table. Optional. * - practice_area_id: The ID of the firm that publishes this blog. This will be used as a foreign key to relate to the PracticeAreas table. Optional. * - amlaw: Either a 0 or a 1, to indicate if the blog comes from an AmLaw firm. Required. * - subscriber_count: The number of email subscribers for this blog. Optional. * - day_view_count: The number of views for this blog today. Optional. * - week_view_count: The number of views for this blog this week. Optional. * - month_view_count: The number of views for this blog this month. Optional. * - year_view_count: The number of views for this blog this year. Optional. * * @return string The SQL for generating the blogs table. */ function get_blogs_table_sql() $slug = 'blogs'; $out = "CREATE TABLE $this->get_prefix()_$slug ( id BIGINT NOT NULL AUTO_INCREMENT, slug VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL, url VARCHAR(255) NOT NULL UNIQUE, /* adding unique constraint */ mapped_domain VARCHAR(255) UNIQUE, install VARCHAR(255) NOT NULL, registered DATE DEFAULT NULL, firm_id BIGINT, practice_area_id BIGINT, amlaw TINYINT NOT NULL, subscriber_count BIGINT, day_view_count BIGINT, week_view_count BIGINT, month_view_count BIGINT, year_view_count BIGINT, PRIMARY KEY (id), FOREIGN KEY (firm_id) REFERENCES $this->get_prefix()_firms(id), FOREIGN KEY (practice_area_id) REFERENCES $this->get_prefix()_practice_areas(id) ) DEFAULT CHARSET=utf8mb4;"; return $out;
In that file, I quickly wrote a DocBlock for each function, and let the OpenAI playground spit out the SQL. I tested the result and suggested some rigorous type-checking for values that should always be formatted as numbers or dates, but that was the only adjustment I had to make. I think that’s the correct use of AI at this moment: You come in with a strong idea of what the result should be, AI fills in the details, and you debate with it until the details reflect what you mostly already knew.
How it’s going
I’ve implemented most of the user stories now. Certainly enough to release an MVP and begin gathering whatever insights this data might have for us:
It’s working!
One interesting data point thus far: Although all the blogs are on the topic of legal matters (they are lawyer blogs, after all), blogs that cover topics with a more general appeal seem to drive more traffic. Blogs about the law as it pertains to food, cruise ships, germs, and cannabis, for example. Furthermore, the largest law firms on our network don’t seem to have much of a foothold there. Smaller firms are doing a better job of connecting with a wider audience. I’m positive that other insights will emerge as we work more deeply with this.
Regrets? I’ve had a few.
This project probably would have been a nice opportunity to apply a modern JavaScript framework, or just no framework at all. I like React and I can imagine how cool it would be to have this application be driven by the various changes in state rather than… drumroll… a couple thousand lines of jQuery!
I like jQuery’s ajax() method, and I like the jQueryUI autocomplete component. Also, there’s less of a performance concern here than on a public-facing front-end. Since this screen is in the WordPress admin area, I’m not concerned about Google admonishing me for using an extra library. And I’m just faster with jQuery. Use whatever you want.
I also think it would be interesting to put AWS to work here and see what could be done through Lambda functions. Maybe I could get Lambda to make all 25 plus 900 requests concurrently with no worries about browser limitations. Heck, maybe I could get it to cycle through IP addresses and sidestep the 429 rate limit as well.
And what about cron? Cron could do a lot of work for us here. It could compile the data on each of the 25 client sites ahead of time, meaning that the initial three-minute refresh time goes away. Writing an application in cron, initially, I think is fine. Coming back six months later to debug something is another matter. Not my favorite. I might revisit this later on, but for now, the cron-free implementation meets the MVP goal.
I have not provided a line-by-line tutorial here, or even a working repo for you to download, and that level of detail was never my intention. I wanted to share high-level strategy decisions that might be of interest to fellow Multi-Multisite people. Have you faced a similar challenge? I’d love to hear about it in the comments!
0 notes
digivault1 · 5 months ago
Text
How to Make Money Online with DigiVault’s All-in-1 Bundle
Unlock the potential of DigiVault’s All-in-1 Bundle and start making money online today! Learn how to resell digital products, offer services, and grow your brand with our comprehensive guide. Dive in now! #MakeMoneyOnline #DigitalProducts #DigiVault
In the modern digital age, the opportunities to make money online are vast and varied. Whether you’re a budding entrepreneur, a seasoned business professional, or someone looking to generate passive income, digital products offer a profitable and scalable avenue. DigiVault, with its extensive range of digital resources, stands out as a premier platform for acquiring high-quality digital products…
Tumblr media
View On WordPress
1 note · View note
fullhalalalchemist · 1 year ago
Text
internet censorship bill about to pass congress:
ao3 is facing a ddos attack from an overseas right-wing anonymous group because it contains "degeneracy and disgusting things like LGBT and NSFW".
they're not the only right-wing group that is attacking fanfiction sites because of queer & nsfw content. the Heritage foundation, the US right wing think tank that writes laws for republicans, wrote an article about how "big tech turns kids trans" in which they're advocating for the Kid's Online Safety Act to pass because it will give state attorney generals power to sue websites for "potentially harmful content towards minors". in this article they point out websites like wattpad, tumblr, tiktok, twitter as sites that GOP attorney generals can and will target for censorship if this bill passes. all places where fandom, that's mostly queer, hangs out.
if you think this bill has no chance of passing because of all the red flags it poses, think again. it currently has 38 cosponsors in the senate, and is being pushed by the democrats as a "protecting the children!!" type bill.
there are left-aligned orgs in congress rn lobbying for this bill to pass. july is extremely decisive, because if KOSA goes through to markup it'll be bundled with the Earn It act, Restrict, and all the other bad internet bills and passed as a package, completely censoring the internet forever.
if you want to learn more about the bill, go here. also sign the open letter against it here
it's ESSENTIAL that you call your members of congress, specifically Maria Cantwell (you can call from out of state) and tell them DO NOT PASS KOSA. this site here connects you to your members of congress and gives you a short simple script to read off of! super easy and doesn't take much out of your day! please do this now!!
23K notes · View notes
lenoraslament · 7 months ago
Note
slytherin boys + edging/orgasm denial!!!
Thanks for the request!
Slytherin Boys React: Edging / Orgasm Denial
Tumblr media
Warnings: 18+, Minors DNI, piv, oral (male and female receiving), degradation, orgasm denial, edging, smut with no plot.
Tumblr media
Mattheo Riddle
“Add Ashwinder egg to a cauldron, then add horseradish and heat” Mattheo’s voice sounded strained as your head bobbed down on his cock. The sound of your gagging muffled his words so you pulled away as he groaned.
“What kind of egg?” Your eyebrow raised as he tried to grab your hair and pull you back. You smack his hand as he gives you a desperate look.
“Ashwinder…baby please” he mutters and you lick the head flicking your tongue over it.
“What’s next?” You asked as your tongue moves down the length.
“Anemone?” Mattheo asks as he grabs the bedsheets, his head falls back as he groans. You sit straight up and he panics. “Thyme? Occamy?” He grabs your wrist trying to pull you back, he’s aching and he bites your lip. Your head is shaking as you hop off, “Rue!? IS IT FUCKING RUE!?” He calls after you but you’re already walking towards his door giving him a devilish smirk.
“You really should study” you tease leaving him panting helplessly on the bed as he reaches for his potions textbook to find the recipe for Felix Felicis hoping he could still get lucky.
Tumblr media
Theodore Nott
Your thighs burned, it was quite a workout. Theo’s head was thudding on the headboard as your rocked your hips back and forth on him. Your ministrations were slow and teasing. His knitted brow, mouth hanging slack as another low groan escaped his lips was worth how absolutely spent you were.
Just when you felt his legs begin to tighten you pulled away giving him a little slap on the cheek.
“Ah fuck” he muttered his eyes nearly rolling back as you ripped another climax away from him. He licked his lips as he looked at you half lidded, “No more teasing, let me fill you up” he muttered in his low voice.
“No” you said haughtily, “why don’t you ask Astoria to?”. Your cheeks were flushed with defiance. You caught them talking, no flirting in the common room.
“I don’t want her baby, I only want you bella” he said in nearly a whiny voice that made you grin.
You sunk back down on his aching, rigid cock as his lips let out another moan.
“Then say my name, and maybe I’ll let you come” you say and snap your hips forward to see if you can chase your own high before you take away his.
Tumblr media
Lorenzo Berkshire
Enzo is flattered, tickled even when you tell him you want him to edge you. What the hell were you thinking? This boy researched. For hours. Reading articles, watching porn, asking his friends.
Your legs are tied to his bedposts, Enzo lays between them observing your impossibly wet pussy. It’s been nearly an hour, your back arches as you desperately seek out a means to an end. His fingers swirl around your swollen clit, eliciting a loud moan from you.
Enzo chuckles and dips two fingers into your cunt, listening to how loudly you cry out from barely any movement. The past hour he has edged you so badly, you nearly begin to beg when he pulls away again.
He ghosts his finger over your sensitive bundle of nerves and you come. Hard. You clench around nothing as your body finally gives in at the faintest touch.
“Holy shit,” Enzo says in a low voice. He didn’t mean for you to finish so soon, although just the sight of you letting go is enough to make him want more.
“Let’s do that again” he says.
Tumblr media
Draco Malfoy
“Don’t be so impatient love,” Draco whispers as he slides his cock over your aching pussy.
“Once…Draco I said it ONCE,” you whine and your eyes roll back as you bite your bottom lip. Earlier in the day he had tried to pull you away from a conversation with Enzo. You made the mistake of rolling your eyes and telling him to “stop being impatient”.
You try and grind yourself up to meet him but he is quick to shove your hips down and onto the bed as he tuts.
“Baby please” you plead as he brushes a strand of hair out of your face.
“So needy for me pretty girl,” he says and shoves himself forward making you gasp. A few strokes and he’s gone again leaving you nearly clawing at his back for more.
Tumblr media
Blaise Zabini
It was time for revenge. After he made you fall apart in the Great Hall you knew you had to get your boyfriend back. It was Friday night and another party in the Slytherin common room was in full swing.
You had on a short, black bodycon dress, no panties. There was work to be done. When you spotted your boyfriend he was laughing with Draco, already a few drinks down.
“I need you baby…now,” you muttered in his ear. He stood nearly immediately and began to lead you to his dorm. You shake your head and pull him down the hall, the sight of the broom closet makes him even more excited. Nothing gets him going like the taboo.
He’s ravaging your lips, neck, chest. When his hands reach your thighs and he realizes you aren’t wearing panties he groans loudly. You hitch your leg up on his waist as he fumbled with his belt. The two of you combined feverishly, he pushes into you with eager strokes.
It’s not long until you hear his breath hitch and you pull away so quickly he is breathless with confusion. You pull away with a wink and open the door, he scrambles to cover himself.
“What am I supposed to do with this?” He asked loudly.
“Save it for later I guess” you call back grinning.
Tumblr media
Tom Riddle
“You think,” Tom snapped forward making your hips bite into the desk, “you’re so damn….” He pulled your hair making you flush to his chest, “funny”.
To be fair it was funny. Tom was in the common room, talking to Mattheo and Draco when you sauntered over. You sat on his lap, your lips moving to his ear, “I’m so wet right now,” you mumbled to Mr. No PDA. Tom’s eyes widened as Draco and Mattheo smirked at you straddling his lap.
He dragged you to his room shortly after, immediately bending you over his desk. His hands yanking your panties to the side as he pushed into you at a punishing pace. You weren’t mad about it, in fact it’s what you wanted.
“I am funny,” you tease defiantly. He pulls away turning you to face him. His eyes are pure rage, the quiet kind that actually makes you nervous. Tom lifts you onto the desk, he spread your legs and dropped to his knees, surprising you.
Under a vicelike grip on your thighs, he flutters his tongue softly, almost delicately. Tom does not usually go down on you, even though he is absolutely phenomenal at it. Within minutes you’re trembling, eyes rolling back so close to your orgasm you can nearly taste it.
Then he pulls away, wiping his mouth as he observes at your shocked face. Before you can protest he grins.
“See, I can be funny too”.
—————————————————
Actively taking requests!
2K notes · View notes
ibook4you · 2 years ago
Link
0 notes
gloomwitchwrites · 1 month ago
Text
In the Wolf's Maw
Werewolf John Price x Female Reader
Content & Warnings: mild dubcon, knotting, mating bonds, accidental mating, oral sex (female receiving), unprotected piv, creampie, breeding, dominance, protectiveness, possessive behavior, werewolf!Price, shifter!Price
Word Count: 4.2k
Tumblr media
A/N: Requested by @glitterypirateduck for 3.5k Spooky Bingo (Werewolf AU)
Walking home on Halloween night, you’re accosted by three strange men. From the dark emerges a stranger, but one that has been haunting your steps for months. He might be your savior, but there is a deeper hunger within him that needs to be satiated, and only you can satisfy it.
ao3 // main masterlist // 3.5k spooky bingo masterlist
Something walks with you amongst the trees.
It is always near—always close—but never enough for you to glimpse it between the towering bark.
When you first felt the strange presence, you believed it to be human. Your senses awakened in expectation of threatening intent, but now, with the passing of the months, you no longer believe it to be so.
Whether for good or ill, a human would have revealed themselves in some capacity. This must be animal. It has to be. Either curious or cautious but it clearly does not see you as a threat. It is always there though. A phantom. A figure. You've never seen who or what but you sense it.
"You should really take the main road. I don't understand why you insist on cutting through the forest."
"It's peaceful," you reply. "Gives me time to think."
Your friend arches an eyebrow. "You know the stories."
"Myths," you correct. "Not stories."
"Myths always carry a bit of truth."
There are wolves in the forest. But they live deeper, away from the human population. Wolf sightings are extremely rare, and those that claim to see them are often known for being terrible gossips and liars.
The myth that walks with them is that the wolves are not wolves at all.
They are cursed men. Shifters. Werewolves.
It's nonsense.
Scientifically impossible.
The wolves are only wolves. Maybe the one that watches you is one of these wolves?
Possible, but unlikely.
For all you know, you're being watched by a curious scurry of squirrels.
The myth is history drenched, from a time when people needed to explain natural phenomena they didn't understand. It is only stories.
Or so you believed.
It's late in October. Halloween night.
You stayed far too late at the local library, browsing shelves and losing track of time until the librarian, Mrs. Dean, came scouting for you in the basement archive. Down there, you went searching for what hadn't been digitized, seeking stories about these wolves.
Most of what you uncovered were old newspaper articles of missing women and mauled men in the forest. The details were few and relatively unhelpful, but like gum stuck to the bottom of a shoe, there was one consistency in all of them.
The myth, mentioned at the end of every article. Cursed men that shift into wolves. Men in the skin of a predator that hunt women and slaughter their menfolk. You'd think the town had a serial killer, but the articles go back far enough in time that it simply couldn't be the case. Many of the articles cite historical records and reports of the same thing happening over a hundred years ago.
It plagues you on your walk home.
Staying late at the library and taking the path through the forest home takes you away from the roaming families and the angsty teens ready to terrorize anyone who steps in their path. The streets are alive with movement, but you need to collect your thoughts, to consider what you've found and figure out where to look next.
A gentle wind brings a chill with it, sneaking underneath your coat to tease skin. Shivering, you bundle up tighter, the cold bite of air adding a kick to your step. You feel eyes on you, but not your anonymous phantom.
These eyes feel cruel. Malicious.
"What's this?"
Three tall figures in masks emerge from the dark. Like a whisper of wind they appear, skulking toward you, fanning out in a half-moon directly in front of you.
"Cute thing like you shouldn't be out here all on your own." The voice is masculine. Deep. Not one of the local teens. This is someone much older. "There are...wolves about."
The trio saunters forward, the two on the ends splintering off from the man in the middle, slowly boxing you in. There is nowhere to go but behind. Turning tail and running means a chase. You scent their excitement. That is what they're itching for.
"I'm fine. Thank you for the concern," you reply in the blandest voice you can muster.
Don't show fear.
"Need an escort?"
He's not taking the hint, but what did you expect?
Missing women. Dead men.
"No. Thank you."
Squaring your shoulders, you charge forward, intent on walking through the two on the right. In sync, they close ranks, blocking your path.
"Sure about that?"
"We insist."
Your lips part. "I'm—"
A low growl reaches your ears. It is laced with warning, and a sudden surge of energy rushes up to greet you, wrapping around and between your limbs like invisible rope. You know this sensation. It is familiar and unwaveringly comforting.
The two men standing in front of you glance over your shoulder. From behind their masks, their eyes widen with abject terror. Their shoulders tighten with tension, and they freeze like a deer sensing danger.
The growl comes again, and that sensation bleeds into you further, becoming more than just comfort.
It is...ownership.
Possession.
"What the fuck is that?" whispers one of the men.
They're not focused on you anymore. They're looking beyond you. Behind.
"Fucking run, mate. Run!"
The three men stumble backward, becoming small and insignificant before your very eyes. They shove at each other, not for encouragement, but for distraction. If one should fall, it might distract whatever it is that lurks behind you.
At first, you do not turn. You wait for the pounce—for the growl. But there is nothing. Only silence. Yet those invisible ropes still cling to your body. They still hold tight.
With a baffling sense of calm, you slowly swivel.
There is a wolf. Not a normal one you might see in a wilderness documentary. This one is large, nearly as tall as you on all fours. Its fur is a deep brown. It watches you intently, gaze fixated on nothing else. Even as you take a step away, the creature does not waiver.
It's unnerving, at least, it should be. Yet that comforting familiarity shuts out everything else. It chases away fear and doubt. You know that the natural instinct of any animal facing down a larger predator is survival, but there is nothing that beats within your body that suggests your fight or flight response is on.
It is eerily peaceful. Serene even.
If this sensation did not encompass you as completely as it did, you suspect that you'd be like the trio. Afraid. Terrified.
But just because your sense has left you, that doesn't mean your brain has. It is loud and it is talking.
Do not turn your back. Do not break eye contact. Make yourself big. Make noise. Move backward slowly.
You stretch your arms out wide, puffing your chest, attempting to make yourself bigger. Not like you could ever compare to this beast. You step back, breathe in, preparing a yell.
But just as you do, the wolf shifts. It's not showing its fangs or quickening its haunches. It only watches on, alert and curious. Not aggressive.
There is no submission, though. The wolf does not seem intent on simply walking away. That sensation hugging your body brightens, and a flare of possession surges through you, stiffening your muscles as if you've been turned to stone.
The wolf shifts again. Shakes. Takes a step toward you.
As it does, you hear bones pop and snap. Beneath the wolf, its legs twist and bend beneath it, staggering its forward progress. Its nostrils flare and then the neck snaps as if lurched to the side by some invisible force.
"What the fuck," you mutter, that sense of calm slipping.
The connection is still there, but it's slightly weaker than before. A drop of fear creeps in, and the need to escape starts to bloom in your chest. It widens, that familiarity leaking away to bleed into the earth as the broken wolf shakes and twists some more.
It is just a mass of fur and tangled limbs.
And then, from the pile, the fur splits open, and a human arm emergers, the fingers reaching out, tearing at the dirt.
You need to go, to fucking run.
The phantom threads release you, and your feet find their purchase. You launch yourself backward and away, sprinting as fast as you can. The cold, October air bites at your cheeks. Everything burns.
You know this is just adrenaline. It will fade and you will crash.
Boot slipping on dead leaves, you go stumbling forward, the ground coming up fast. You're jerked to a stop. Halted. Face inches away from smashing into a rock. Glancing down your body, you see...arms. Human arms. Wrapped around your torso. They are muscular and marked with protruding veins, with a dusting of hair along the forearms.
Slowly, you are lifted upward and onto your feet, but the arms remain. Warmth greets you, pressing into your back to chase away the October chill. With it comes a honey-laced scent. It is sweet and lulling, seeping into your pores to flood your senses. This is like before—the awareness of familiarity and possession, but there is a difference in its tone. Beneath it is a wicked teasing, a promise of dominance and pleasure. Like the invisible ropes, it overpowers, wrapping around you to hold you like a blanket.
It is enticing. A pull that calls to you. Something within you reverberates its call, answering back.
The arms around you tighten until you're firmly pressed against the man holding you. That is who it is. Not what. The wolf is gone. This is solid flesh.
This is myth made life.
The lulling sensation settles in, calling to you, telling you to submit.
It would be so easy. So simple.
No.
You push at the man's arms, twisting in an attempt to break free. But your savior turned captor holds firm, allowing nothing.
"Let me go."
"No."
The no is a rumble deep in his chest. It vibrates through the pull and into your bones. This is a command, and your body promptly responds, coiling tight.
Glancing over your shoulder, you lock gazes with the man holding you in his arms. You're staring at the face of a man. He is handsome. Older. His skin is lightly coated in sweat and dirt. But the eyes. They are wolf eyes. Completely animal. The rest of him is completely bare. No clothing in sight, and yet he doesn’t appear cold.
His chest heaves slightly, nostrils flaring. This man burst forth from the wolf, but there is still a beastly quality that sings along the pull. This man is somewhere between, lingering between the wolf and humanity.
How you know this isn't entirely clear. There is a link somewhere. A tether. His closeness only makes the awareness grow in strength. Confusion and concern twist together even as the comforting familiarity attempts to soothe your nerves.
"Please," you murmur, not entirely understanding yourself what it is you're trying to say.
The man only sighs. His head dips, and then he inhales deeply as if—
Is he…scenting you?
"What are—"
The question disappears from your lips. Taken from your mouth. The stranger nuzzles your neck, inhaling deeper. One hand descends as the other rises. Along the pull you feel heat, it floods outward from him and into you, going straight to your pussy.
The descending hand slides between your legs, cupping your sex. The other roams up your stomach to your chest, gently learning the curve of a breast through your sweater.
He groans low, and that too reverberates within you. A tingling blooms in your core. There is your own desire, but beside it is another. His.
The stranger's hand slides further between your legs. Back and forth, the pressure building so suddenly and intensely that your pussy clenches.
He inhales again. Growls. "Mine."
That one word is like a slap to the face and a comforting caress. Along the pull, it is a dominating serenity. Outwardly, your freedom rebels, pushing against the idea.
As if sensing the unease, his hold on you releases, but only for a moment. He lifts you effortlessly into his arms, clutching you tightly, strutting forward with purpose in every step. You sense it through the pull, this taut string that has woven its way inside.
"Let me go," you murmur, pressing against his firm chest.
Be calm.
The command comes not from his own throat, but from within your head. It is his voice. Clear and resonate. The moment your brain processes it, all your limbs soften like jelly.
Are you trapped? Have you been possessed?
A part of you firmly clings to this idea while the other part remains completely calm as if this is supposed to happen.
He walks deeper into the forest, and time stretches, the stars through the canopy your only light. The trees thicken, and then the stranger comes to a stop before a group of jagged rocks that juts upward from the ground.
Within the rock, you spy darkness.
An opening. An entrance.
Instinct flares, and the need to escape comes rushing back. Be calm, he says again.
This time, there is no instantaneous softening. Along the pull, something tightens, as if adjusting a belt buckle. A wildness stirs, and the earlier arousal returns, tinged with desperation. Eagerness settles in your chest, but it feels more like his emotions than yours.
The man walks toward the rock. He tilts forward, stepping inside, submerging the two of you in utter darkness. Yet, you do not feel frightened. Each step of his is confident and steady, and as the two of you steadily move forward, a soft white glow begins to appear. It is faint at first. Soft.
Another opening emerges, and before you is an antechamber. In the middle of the rock-laden room is a massive slab of solid, black stone. It stands at waist level, the surface worn from age. Above it is an opening in the cave ceiling. From it, moonlight falls upon the rock slab. An acrid odor fills your nostrils. A brief brush of wind slides against your cheek. Something magical and old stirs. Something primal.
He stops at the rock slab, and then gently brings you down to your feet. Solid ground is comforting. Stable and strong.
The wolf eyes stare back at you. A fire swirls within them. As your gazes’ lock, memory surges down the pull. That familiar feeling returns, and with it, memories of you.
He is the one who has walked with you amongst the trees. He is the one who has been the presence at your back. Keeping you safe. Protected. A sense of duty follows the memory along with a flare of purpose. At the end is dominance and possession. It all slithers around the pull until you feel it in every part of you down to the tips of your fingers.
Maybe all those missing women aren’t missing at all. Maybe they went willingly. Maybe they had wolfish protectors of their own.
You are at ease, your limbs responding of their own accord. You place your hand on his chest, right over his heart. Its beat is strong beneath your palm. He places his hand over yours, gently grasping it. Stepping forward, his head dips, forehead pressing to yours with an intimacy that somehow feels…normal. Like you've known it all your life.
Along the tether, you taste a name.
John.
His name is John.
"John," you breathe, and his hand upon yours tightens.
The distance closes, a radiating heat bursting within your chest as John’s other hand falls upon your hip. It flows outward, warming you down to your toes and into your fingers. John's lips find yours, and it is perfectly blissful. This stranger is not unknown to you. Your soul sings with longing and want.
There is a connection here. Why not seek it?
You return the kiss, grasping the back of his neck, moving in to consume just as he does. John's answer is a deep growl, one that vibrates in his chest. A sharp spike of arousal shoots through the tether, slamming into you at full force.
You gasp. Draw back.
John is partially transformed, fingers morphing into claws. With a groan that is more animal than human, John tugs at your clothes. They surrender under his touch, like a knife through softened bread. There is no ceremony to it. No ritual. You are laid bare before this man. At his mercy. The chilly October air rushes in and then immediately departs, John's body heat chasing it away almost the moment it arrives.
His hands are on your waist, lifting you, planting you atop the stone slab. You want to say something—anything, but all words escape your head and tongue as John spreads your legs wide and places his mouth on your pussy. Sudden surprise becomes languid pleasure.
He is ravenous. Hungry. John leaves no part of you untasted. Your moans echo in the small cave, filling the space with your ecstasy. His tongue delves inside, and then languidly slides upward to swirl and tease your clit. Everything in you tenses, anticipating release.
John's arms hook over your legs, hands splayed wide, gripping your thighs, pulling you closer against his mouth. With your pleasure comes his, rolling across the link in waves. It comes in flashes of images. You glimpse yourself as he sees you, not only in this moment, but in all the moments he's watched you.
Between the desire and need is a hint of loneliness, of an unfilled connection that burrows in his chest and eats away at his heart. This current moment isn't what he intended, but it has all unraveled.
Your grasp for him, fingers threading through his hair, tugging hard as your orgasm burns bright behind your eyelids.
Look at me, comes the command.
You do, and your gazes lock. His nails are still elongated, still claw-like. One pointed tip pierces your skin just as your orgasm bursts. He growls low.
Mine.
The voice. His voice.
Mine.
A sense of ownership and dominance enters your consciousness. You feel as if you're incomplete. only a portion of yourself, yet the end is near. It will all end, and you will be fulfilled.
In the hazy aftermath of your orgasm John's tongue traces up the beads of blooming blood. You shiver, blinking to clear away some of the euphoria. John stands between your legs. His hands are still on your thighs, keeping them wide. In full view is his erect cock. There is a slight curve to it, and at the base is a swollen bulge. John squeezes one thigh and your gaze returns to his face. They are still all wolf.
When the wolf fades, what color might they be? The question pops into your head and then quickly fades. His wolfish features are starting to bleed in again. Nose elongating, fur returning, claws lengthening.
"I'm sorry," he says, and his voice a tangled snarl.
With a quickness that startles you, John flips you onto your stomach. His hands are everywhere, spreading you wider. You briefly glimpse him between your legs before he lifts himself up and onto the stone slab, settling behind you. Above you, one half-transformed hand presses against the stone just next to your head. His other finds rest against your waist.
While your own body buzzes with anticipation, you sense an excitement along the tether. John's excitement. Of the act itself but also of a sense of peace.
The head of his cock presses at your entrance. You exhale, relaxing your muscles, welcoming him in. You're wet, and your pussy accepts him with only the slightest resistance. He holds himself there for a moment, simply breathing. Like this, you feel entirely full. It's a snug fit, but it feels amazing, like his body was made for yours and yours for his.
Mine.
"Yours."
At your admission, John thrusts in earnest. There is nothing slow and sensual about his movements. It is only primal need and utter hunger. His arm hooks under your stomach, and then you're pressed firmly into the rock by his body. You are trapped beneath him, completely at John's mercy.
Each stroke is perfect. Cleansing.
You pant beneath him, almost in time with his own needy groans. The swell at the base of his cock slaps your pussy with each thrust. It doesn't seek entrance, but deep down, you know it will, but for what purpose is unclear.
John's movements become sharper. More intense. His panting increases, and you feel his mouth at your throat. There is a soft press of his lips, then a gentle tease of his tongue. You cannot see him, but you feel the transformation above you.
John is no longer human as his maw opens wide and holds your throat in it as he ruts. His cock swells in your pussy, stretching. The swell at the base prods, and with a final thrust, it pops in. John holds there, growling. His sharpened teeth pierce your skin. You feel the little rivers of blood trail down your throat. With the bite comes understanding. That tether becomes a solid, unbreakable thing.
Mine. She is mine.
Forever mine.
Mate.
Memories and emotions crash into your skull. You see all of John for who and what he is. A wolf. A shifter. The alpha of his pack.
Within your pussy, you feel a flood of heat. Now you know what the knot is for. His pleasure becomes yours, and you shiver, another orgasm creeping up suddenly and without warning. You clench down on his cock and on his knot. His answer is a pleased growl.
Ever so slowly, the wolf’s massive maw releases your throat. The transformed paw above your head disappears, followed by the weight of him. His cock and knot remain where they are. You feel him shiver. Hear a cracking of bone. You remain perfectly still until the ragged breathing of an animal becomes that of a human.
You turn just enough to glance over your shoulder. Behind you is John. The man, not the wolf. There are no sharp claws. No pointed teeth. The tips of his fingers brush over your skin, becoming full hands that gently caress. There is no harshness. His head tilts up, and for the first time, you're seeing him as he truly is.
Blue eyes. John has blue eyes.
"I'm sorry," he breathes, exhaling deeply, a nervous flutter to his lashes.
"You're still inside me," you reply softly.
He glances down and groans. "Fucking hell. Forgot about that." He flushes slightly. "It'll be a minute."
"A minute?"
He grimaces. "The knot. Still swollen. It'll hurt you if I pull out now."
"Oh."
There is a stretch of silence. John sighs, his hands gentle tapping a rhythm against your ass. "This is...awkward,” he murmurs.
"Is it?" you ask, arching a single eyebrow.
"John," he says sheepishly, extending his hand in introduction.
"I know your name. I heard it through the—"
"The bond," he finishes. "I know." He drops his hand, and places it on your lower back. Using the position, John tests the knot. You wince. It doesn’t want to budge. "Fuck. I'm sorry. I didn't mean for...this."
"It's fine,” you reply, because it is.
You feel light. Content. This man is a complete stranger and yet not. Between you is the bond. There is strength in it, and a comforting embrace that you’ve always wanted but have never found.
"It's not." He sighs. "It's not how I wanted to do this," he mutters. Gripping your hips, John tests the knot. There is resistance but it’s significantly less than before. "Relax your muscles," he says softly.
You inhale, and on the exhale, John withdraws. You whimper from the brief flare of resistance but it isn't painful.
“I forget myself when I’m changed. You were threatened, and I couldn’t resist the impulse to protect you. For the wolf, that meant stealing you away. Completing the bond. But it’s not an excuse.”
You draw your knees up, suddenly realizing how exposed you are.
“You didn’t harm me. Except—”
You reach up and touch your throat. There is no blood or puncture wounds. Just a couple raised bumps that weren’t there before.
“What is this place?” you ask, glancing around.
John’s gaze scans the room, and then returns to you. “A ceremonial space. It’s been here for thousands of years. The wolf brought you here because it knew it would be safe.” He licks his lips in agitation, and then runs his fingers through his hair, tugging at them in irritation. “Could we begin again? Start over?”
“What did you have in mind?”
He places both hands on the stone slab, leaning in close. “I’ll…take you home.” His muscles bunch with tension when he says it. Along the bond, you sense the wolf’s firm refusal of the idea. “I’ll come to you during the day. We can talk.”
You scoot down the rock slab, moving closer to him. The middle of John’s brow furrows with confusion as he watches you. As you cozy up to him, you sense his calm—the relaxing of his muscles. John’s head dips, nostrils flaring slightly as his eyelids close in pleasure.
“My scent is all over you,” he purrs.
A mix of deep desire and contentment wraps you up in its embrace.
“How do you plan on taking me home? You did shred all my clothes.”
John chuckles. “Discreetly.”
taglist:
@km-ffluv @tiredmetalenthusiast @miaraei @cherryofdeath
@ferns-fics @tulipsun-flower @miss-mistinguett @ninman82 @eternallyvenus
@beebeechaos @smileykiddie08 @whisperwispxx @chaostwinsofdestruction @weasleytwins-41
@saoirse06 @unhinged-reader-36 @ravenpoe67 @sageyxbabey @mudisgranapat
@lulurubberduckie @leed-bbg @yawning-grave81 @azkza @nishim
@voids-universe @iloveslasher @talooolaaloolla @sadlonelybagel @haven-1307
@itsberrydreemurstuff @cod-z @keiva1000 @littlemisscriesherselftosleep @blackhawkfanatic
@sammysinger04 @kylies-love-letter @dakotakazansky @suhmie @kadeeesworld
@umno-yeah @marispunk @jackrabbitem @arrozyfrijoles23 @lovely-ateez
@ash-tarte @enarien @gingergirl06 @certainlygay @greeniegreengreen
477 notes · View notes
rise-fashion-zine · 2 months ago
Text
Tumblr media Tumblr media Tumblr media
⭐️🌟STYLE ON THE RISE V2 PREORDERS ARE NOW OPEN!🌟⭐️
This book is chock full of amazing articles, beautiful art, and of COURSE stunning fashion! Check it out here and our bundles below!
->styleontherise.bigcartel.com
⭐️SUPERSTAR (Book Bundle) - $25
Filled to the brim with jaw dropping talent, art, articles, everything you could want! This book only bundle also comes with the zine pdf and it's eligible for all stretch goals!
🌟RISING STARS (V1+V2 Bundle) - $40
In this bundle you will not only get Volume 2 of Style on the Rise but ALSO Volume 1! If you missed the first run now is your chance to get it again and for the last time! Will come with V2's pdf and is eligible for all stretch goals!
⭐️STRETCH GOALS⭐️
Not only will you get these gorgeous books, but also there is a chance to unlock some stunning stretch goals along the way! Our first one is a holographic die cut sticker, and our second one is THREE page prints! All Unlocked! If we reach more orders, there might be another Stretch Goal to be revealed!
Our main focus will be making sure everything is fulfilled and delivered, but we aim for the remaining proceeds to go to charity! More information will follow later!
Thank you all for your patience and support, we cannot wait to deliver this amazing labor of love, passion and fashion to you all! Preorders run till November 15th! HOT SOUP!
415 notes · View notes
domesticandlovingmonsters · 3 months ago
Text
M!Naga x F!Reader (NSFW)
Themes/Warnings: Nsfw, breeding/oviposition, aphrodisiac themes, monster x reader, fantasy world, mute monster Words: 4.5k Notes:  Hi Hi! Here is this month's free story! A quick tangle with a Naga. Hope you enjoy!
Tumblr media
The front wooden door creaked softly as you pushed it open. The soft chime of the bell that hung over the entrance echoed through the shop like a lullaby. It was a much needed relief from the hustle and bustle of the city outside. 
One you traversed through all morning to drop off Isiah’s order. 
“Isiah?” You called towards the back of the store. Where a set of red curtains separated the front of the shop, with many shelves and tables of goods, from the rest of the establishment. 
You heard a returning chime, similar to the bell above the door but much deeper in tone. An answer from the shop owner who was no doubt busy and was signaling to give him a second. 
You decided to wander the store while you waited. Keeping your pack of herbs and roots securely on your back so you don't accidentally knock over anything. 
You browsed the many potions and elixirs that looked both delicious and mesmerizing as they swirled in their small bottles. 
Then moved on to the table of baked goods. Some of which still had a trail of steam wafting off of them. A fresh batch of brownies that smelled absolutely wonderful caught your eye immediately. 
Your stomach gave a hard reminder that you forgot to eat breakfast this morning. 
The sound of rustling curtains brought your attention from the mouth-watering display to the store owner as he slithered out between the silk linings. 
He wore loose veil’s of purple silks and velvet today. So thin in fact that you got a very easy opportunity to gawk at his broad chest; two thick plates of silver scales that melted into the deep navy blue of his serpentine tail. His dark human complexion split apart with his too wide smile as you hurried over to the counter. His hands folded smoothly over each other in Sign before he eagerly plucked open the pack and peered inside. 
“A successful harvest?” He had asked. And you nodded, allowing him to start pulling out various leafy bundles and thick dirt covered roots. 
“It was. Spring has apparently come early this year. I managed to get some of the things that weren’t on your priority list.” You pointed out the leather pouch of flower petals and seeds. Which made the spines along Isiah’s tail quiver excitedly. 
His hands were a blur with his response. “You treat me like royalty, (y/n). You will be compensated, of course.” 
You nodded and waited by the counter as Isiah dipped back behind the curtain, disappearing from sight. 
While you were waiting, a couple wandered into the store. They browsed briefly but seemed to already know what they were buying. Taking their time to browse any new stock but immediately take a few vials from a shelf that passed. Seeming to know the place well. 
They lined up behind you, talking idly until Isiah returned. His smile was welcoming when he spotted his two new customers. And he placed down a pouch of coins in front of you before Signing a question to the couple. 
“The usual?” He asked with a mischievous glint to his sharp gaze. 
“Of course. Why change what works?” The first customer chuckled and fished out some coins to pass into Isiah’s waiting hand. Once the coins were counted, Isaiah leaned over and pulled back the red curtains for the couple to pass through. 
They continued to chat as they disappeared into the back of the shop. But their voices were silenced when the curtain fell back into place. 
“It’s good to see business wasn’t damaged by that review article.” You said, matching your teasing words with an equally joking smile. 
Isiah rolled his eyes, flashing you his fangs in a silent hiss as he feigned anger. His hands spoke his reply. 
“To be honest, that article has increased my revenue. My loyal customers now make reservations weeks in advance so they have a spot amongst all the new bloods.” 
Isiah pushed the pouch of coins closer to you across the counter. “I doubled what I usually pay you since you brought me back so much. But I do have a request, if you’re free today.” 
“A request?” You asked, picking up the swollen bag of money to throw into your pack. “If you’re sending me back out to the wilds, I have a few more stops I need to make before I can go.” 
Isiah’s hands waved away your words and then he gestured for you to follow him through the curtains. 
You trailed along behind him. Thanking him as he held the curtains aside for you before continuing down the warmly lit hallway. 
Looking at the shop from outside, a passerbyer would never imagine the sheer size of the establishment within. The front store was big enough to have its shelving and still have plenty of space for a large sum of customers. 
But the back? It felt like you were walking the corridors of a fancy hotel three times the size of the shop outfront.
You passed seating areas with plush couches and soft rugs spread out beside roaring fires. 
Other areas included pools of crystalline water, bordered by beautiful gardens and mossy carpets. There was a bar beside a tile floor with many tables, perfectly illuminated by the soft glow of candlelight. 
The scents of the meals being cooked for customers made your stomach twist with jealousy, as you watched a throuple share a large thick crusted pizza between them. 
“You’ve redecorated.” You said, suddenly coming to the realization that some of the gardens were more lush than usual. And the extra marble pillars hadn’t been there last time. Each with beautiful carvings of scaled tails curling around the thick white beams. 
Isiah smiled broadly, very proudly Signing, “Like I said, business has been good since that article.” 
He led you past the restaurant and the pools to a staff only area. Where the delicious smells of cooked meals turned sickly sweet with an undertone of bitterness that plagued your nose. 
You politely tried not to shiver as the scent of Isiah’s mixtures coiled with your senses. 
You focused on Isiah’s hands as he explained his request, “I have a new concoction I wanted you to try.” He said, pausing to remove a vial from a crystal casing by the door. “They are strong and we have tested it on hybrids and monster kinds already; but not humans. It is safe for you to digest, I made sure of it. But the strength of its effect is unknown.” 
Isiah offered you the vial and you took it very carefully. The vial was made from very thin glass and it felt like you’d crack it just by touching it. 
You popped the corked lid and sniffed it. That sweet smell that filled the room tripled inside your nose and your mouth nearly watered. 
It was a usual reaction from sniffing anything that had Isiah’s venom imbued in it. But this was like you sucked on the most delicious lolly ever, and your skin rippled with goosebumps from the warm sensation that flooded your mind. 
You shivered and quickly placed the small lid back into place on the vial. “That is definitely strong.” You said with a laugh. Still feeling like someone had tickled along your sides, filling you with a blissful tingling. “What was the effect on the monsters?” 
Isiah’s smile was wicked and playful. His hands were slow as he translated in a teasing manner. “It sent a number of them into a rut that lasted many hours. Some are still here enjoying themselves.” 
You gawked up at the naga in front of you. 
Isiah was highly adept at making potions and goods that heightened everything and anything to do with pleasure. Using his venom, which was already a strong aphrodisiac among his kind, to cook and bake and brew all manner of edible contents.
The last substance you tested for him sent you into a lovely high of desire that you shared with a number of other testers. It had been a wonderful experience that had lasted the entire night. And left you feeling bubbly days after. 
However, in all your time working with Isiah or being around his establishment, you have never heard of his goods sending creatures into ruts. 
“Isn’t that dangerous?” You asked. And Isiah shrugged. 
“Only if their partners are unprepared. But I have many happy customers because of this. I only need to ensure that it isn’t going to comatose my human patrons.” 
You knew he was joking when he used the word ‘comatose”. His glistening eyes told you as much. But if this twisted a natural need into a burning desire to a monster, you seriously doubted you’d be making your other stops anytime soon. 
“I think I deserve a little break.” You said. “How do you want me to test it? Do I just drink it? Or do you want me to find someone to share this with?” 
Isiah’s deep gaze sharpened and your entire body heated up under his heavy stare. 
His hands Signed quickly as he leaned forward, his claws trailing over your cheek as he finished his question. “I was hoping I could share this with you. If you’d have me?” 
You smiled, ignoring the growing flustered heat that crawled its way up your neck and into your cheeks as Isiah’s long fingers continued to scrape carefully down your throat. His touch barely left a red mark but his talons left your skin tingling. “Your business will be ok without you?” You asked. And Isiah made a noise in the back of his throat that would have been a hissing chuckle if his voice hadn’t been taken from him. 
“My workers know what they’re doing. And they’ve been ordered to leave me for the rest of the day if you were to accept my offer.” 
You nodded again and Isiah gestured for you to follow him once more. 
He led you out of the cooking room and up some stairs to a room hidden behind a gilded set of doors. 
You knew this as Isiah’s office and had only been here once, when you first came here with herbs to trade for coins nearly at the start of his business career. 
You remember growing incredibly flustered when you noticed his office had, not only a desk and couches set for meetings; but also a large circle bed built into the floor. It was so large fifty people could probably lay in it, tangling themselves together, with ease. 
But now, you were growing more and more excited as Isiah took your hand and tugged you towards the nest of pillows and blankets. When you stood on the lip of the bed, Isiah coiled his tail around your legs, turning to face you and plucked the vial from your hands. 
Without taking his eyes off of you, he uncorked the glass container and pressed it tenderly against your lips. 
You grinned and obediently opened your mouth. To which Isiah tilted the glass vial up and the syrupy liquid pooled onto your tongue. 
The flavor was indescribable. A mixture of sweet honey and bitter dark chocolate. You eagerly swallowed the contents and as it traveled down your throat and settled in your stomach, you felt a fiery warmth begin to spread through you. 
Pins and needles prickled the tips of your fingers and you sighed as the familiar blissful sensation rushed through you. 
It was very instantaneous, your reaction. And you heard Isiah’s spines vibrate with delight.
So caught up in the enraptured feeling, you almost missed Isiah’s hands moving in front of you. Asking a question. “How do you feel?” 
You smiled and ran your hands along Isiah’s shoulders. The texture of his silks felt so good against your palms. And the rolling muscles beneath his scales had your thighs pinching closer together. 
Isiah shadowed your touches with his own. His large hands smoothed down along your sides. Carefully scraping his talons against any bare skin he found. 
It made your body shiver pleasantly.
“I feel like you’ve just wrapped me up in a warm blanket and put a vibrator between my legs.” It was a vulgar explanation but it’s exactly what you were feeling. 
Isiah’s smile looked almost triumphant as he slid his hands up along your sides and wound his arms around your middle. Pulling you closer, you eagerly fell into his embrace as he slowly twisted so you were lying beneath him on the mattress. 
His tail nudged your thighs apart and you pushed up against him as he settled between your legs. 
Isiah didn’t need to Sign to tease you. His wide smile, showing the tips of his fangs between his lips, said it all. 
Your fists tangled themselves in his silks as your breathing grew heavier. Not from lack of breath, but definitely from the need that was clawing at your restraint. 
“Don’t give me that look. Your venom already drives me insane. This is…by the Gods…please touch me, Isiah.” 
You felt the hiss vibrate through him as Isiah purred contently with your words. His hand snaked between you and you saw stars as your eyes squeezed close with the contact. 
Even with your clothes still on, that small amount of friction sent sparks to every inch of your body. 
You gasped as Isiah’s tongue swept along your throat. You felt the pinpricks of his fangs scratch against your skin and the sensation had your lungs emptying with a moan. 
Isiah rewarded the sound with a rather rushed circular motion between your legs. His fingers pressed deliciously hard against the bundle of nerves that screamed for attention. 
You couldn’t take it anymore. 
You needed to be naked and you needed his scales against your skin. Every inch of you needed his touch or else you were going to go mad. 
Your hands felt clumsy and slow as you tore off the layers from your travels. Isiah grinned down at you, unhelpful as he continued to rub and roll his palm against your core. You moaned and tried to wriggle away from him just enough to pull your pants away, but the damn naga trapped you beneath him with a single hand wrapping around your throat. 
Your eyes widened and your whole body burst with that fiery desire as Isiah shook his head down at you. His hold was strong but careful. Allowing you to breath and twist in his grasp, but you couldn’t pull away. Not even if you wanted to. 
Then his lips moved slowly and so deliberately that you caught every sweet syllable of the word; “Slowly”, and his gaze dipped low enough to point at your pants that were unbuttoned and your belt removed. 
You nodded and tortuously slowly, started to slide your legs out of your trousers. Isiah leaned back enough to watch your thighs become bare, displaying your folds as his tail returned to settle between your now naked legs. 
The very touch of his cool scales against your core had your hips rolling desperately. He grinned and pushed harder against you, his hand still firmly around your throat while his other palm squeezed and molded your breath between his fingers. 
You whimpered. Actually whimpered! As the subtle roll of his scales gave you the friction that you wanted. It wasn’t scratching that itch by any means but it was enough to have your head rolling back and your hips feverishly grinding against him. 
You felt Isiah shift and the cool scales were replaced by something thicker. You smiled and reached for him, eagerly gliding your hands down the largest of Isiah’s two cocks. 
His eyes fluttered closed as you gripped him and immediately started to rub him. Your pussy wetted the base of his length while your hands fondled and massaged the round head. 
Pearlescent precum started to bead at the tip and you licked your lips, imagining his weight on your tongue. 
But as much as you wanted to taste him, you needed him inside you twice as much. 
Isiah’s cock was very human-like. But only in shape, with the rounded head and the soft sheath that protected the tip. The rest was all naga. To the deep, almost black color that melted into silver at the head, to the massive size that had your core clenching with just the idea of him stretching you. You could feel the soft ridges along the underside and when you tilted your hips just right, you could catch that textured side along your clit. 
Isiah’s hips began to roll in rhythm with your frenzied thrusts. 
His eyes were half closed, lost in the sensation of your hands pleasuring him brutally as you worked him to full length. 
The second cock had not revealed itself yet. Which in the back of your mind, was strange. Both cocks were used for different things. But they were always both present when a naga was getting intimate.
The smallest was commonly used for pleasure, being the most sensitive part of the naga.
The larger of the two was always used for breeding. 
It was how certain male species of naga would lay their eggs. While others produced sperm, you knew Isiah’s species instead produced soft, pliable eggs. They were only ever fertilized when the second cock would be used after the largest. 
You didn’t know however, if this was something Isiah intended to do. And the thought of him stuffing you with his cock and then breeding you, had your mind turning into putty and your moans becoming louder.
The whispering of Isiah’s spines vibrating told you he enjoyed the sound. And Isiah moved so you were crushed beneath him as he started feverishly fucking himself between your thighs. 
Your moans turned into breathless cries as the ridges along his cock rolled along your clit over and over. 
You buried your face into the crook of his neck, kissing and biting the soft flesh between his scales as he gasped and hissed above you. Taking his own pleasure while you desperately tried to keep up with his heated pace. 
“Isiah, please!” Your begging plea was matched by your hands scrambling to move him in a way that gave you space to realign yourselves. 
Your bed partner nodded, panting as his tail twisted to maneuver himself so your hips no longer touched, but the rounded tip of his cock pressed against your entrance. 
The first second of pressure had you squeezing your eyes shut. So ready was your body, that it welcomed Isiah with a warm, very wet entrance for him to slide into. 
But after the first inch, your body tensed and Isiah’s spines shivered with displeasure as he forced himself to slow and properly stretch you. 
His hands were wrapped around your hips, his claws left red dents in your skin as your hips rolled in tandem to stuff Isiah’s girth between your legs. 
He was taking too long. You could take him, you knew it. He just wasn’t at the right angle. 
You managed to regain control of your body long enough that you somehow forced Isiah onto his back. 
The naga definitely let you do it and his wide smirk only fueled your need as you mounted him. Driving your knees into the mattress on either side of his hips as you wrapped your hand around his length and angled it towards your core. 
And like the smug male he was, Isiah relaxed into the pillows and let you work yourself into a frenzy. His hands found soft places on your body to pinch and squeeze while you panted and rolled your hips down on top of him. 
Immediately, the tip slipped inside and you braced your hands on his chest, murmuring soft nothings in between moans as you kept penetrating yourself on him. 
Isiah’s eyes watched every sway of your hips as you took him. His eyes occasionally rolled closed when you sunk fast down on him or squeezed in a way that sent pleasure shooting through his body. 
But his gaze was glued to you. Locked on the beautiful display of heated need that had you taking his full length and seating yourself around him. Only when your ass sat flat against his hips did Isiah move. 
He sat up so fast you were almost knock back. But his hands wrapped around your waist and held you securely against him. 
His lips found yours in a heated kiss. One that had his fangs nicking against your lower lip and his forked tongue swept hungrily against your inner cheeks. 
And then his hands started to set a rhythm. 
Bouncing you slowly, intending to test if you could take him. But you whined and shoved his hands away. Planting your hands on his chest and instead lifting your hips away from him until only the tip of his cock was still inside, and then slamming down with a slick sound of skin slapping scale. 
The friction had you seeing stars and white flashed through your eyes as you continued to ride Isiah hard and fast enough that your thighs immediately started to burn. 
Isiah writhed beneath you. Hands locking onto your waist once more as he looked up at you with dark, hungry eyes. 
His grin was wicked. Seeming pleased to see your mouth hanging open, eyes hooded and your body lost to the sensation of being so overly stuffed your belly bulged everytime you came down. 
Then his thumb nudged against your clit and your sounds twisted, becoming louder and desperate. You clutched his wrist, unsure whether to throw his hand away or lock it against you as he rolled the pad of his finger against the fiery clutch of nerves. 
You didn’t get time to decide. 
Not long after his fingers worked you over, you felt him begin to swell inside you. His rhythm, one he smoothly kept up with you, faltered and his tail writhed behind you like a piece of string on the wind.
You heard his spines vibrate and then lock down against his scales and Isiah’s head rolled back with a silent cry as his climax rushed through him. 
His hands, locked on your waist, held you tight against his hips as he rutted up into you. You were rocked harshly above him, but unable to move an inch as he spilled inside you. 
You felt his warm seed flood you, but then something thicker began to stretch you. You gasped and squirmed, but Isiah was stronger. Keeping you firmly in place as his first egg seated itself inside you. 
His rapid pace pushed the egg deeper and deeper until you felt it snugly rest against your cervix. The foreign feeling was like a cooling agent to the fire in your stomach. 
That desire still raged but a sense of contentment spread through your mind as well. 
“Is there more?” You asked Isiah. Your voice felt like sandpaper against your throat. How long have the two of you been fucking? You felt sweat along your brow and back and your thighs burned to the point you weren’t sure if you could move them anymore. 
Isiah smirked and suddenly you were on your back again. And Isiah spread your legs to the point you gasped, and continued to pound into you. 
He couldn’t fit all the way this time. Not with the first egg inside you. But the friction and new angle had you both panting again in minutes. And you cried out as his cock swelled with his second finish, laying another egg that he kept fucking deeper and deeper until you felt it slide against the first. 
The fog started to lift from your mind. You could make out the shadows that were now cast along the floors of the office from the windows. The once blue sky outside was now pooling with oranges and pinks. 
A sunset. 
But Isiah’s rough kiss scattered the sudden shock with a new sense of need. 
Again and again, Isiah pounded into you. Soon your voice was lost to you, leaving only loud pants and squeaky moans as he penetrated your overly sensitive pussy until his eggs were sweetly embraced between your walls. 
By the fifth egg, even Isiah was exhausted. He nuzzled your neck and the spines along his tail shivered softly as he curled around you. His cock still buried as far as it could, lazily stroking himself as he reveled in his own overstimulation. 
You were a mess. Unable to think and slipped in and out of a blissful slumber while Isiah used you. 
It was only until you felt him slide out of you, leaving a great gaping emptiness, did your mind finally come back to you. 
And you reached for him as his tail slid around you. Coiling your body against the thick, cool muscle against your very warm body. 
Isiah nuzzles against your back as he moves up behind you, wrapping his arms around your waist as he settles amongst the coils of his tail. 
He then lifts his hands enough that you can see the question he Signs. 
“Is it any good?” You don’t have to look at him to sense the teasing smirk. He damn well knows it’s good. But you indulge him regardless of how scratchy your voice sounds. 
“I blinked and suddenly it was the afternoon.” You mumbled with a laugh. You shifted to get more comfortable and your sensitive walls sent flames of heat through your body as the eggs inside you shifted as well. You touched your stomach and turned your head enough to look over at Isiah. “So, what do I do with these eggs?” 
Isiah’s hands moved lazily in front of you as he snuggled more deeply into the pillows, exhausted. “You are safe with them inside you. I’m sorry I didn’t ask permission first. The scent of your heightened lust sent me spiraling. And I also have a small kink with breeding, so I lost control. I will remove them after a quick nap.”
“You’re fine. I’ve never been…bred like this before.” You admitted. Also laying your head amongst the mountain of pillows. 
You peel open your eyes when you felt Isiah’s arms moving again. 
“Do you enjoy it?” He asked. 
“Yes.” You said. Not at all ashamed to share this with Isiah. “I enjoy all manner of being used like this. I’ve just never had a Naga male do it to me.” 
“Glad to be the first.” His hands said playfully. Which you rolled your eyes at. “But it was very sexy to see you take over. I’ll happily fill you with eggs again if you ride me like that again.” 
“It’s a deal then.” You managed to mumbled before you lost the fight against sleep and were pulled into a warm, sweet sleep, nestled against Isiah’s tail.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Masterlist- Recently updated but I think some stories have slipped through the cracks. If you find any that aren't on the list, please let me know!
Patreon- Where Exclusive stories go and chaptered series are posted. There are free stories there Note: I am making a Patreon Information Post soon. Costs, things to expect; etc.
Commission Costs/Rules- If you're looking for something personal, here's where to start!
Twitch- I stream as well! Tuesdays, Thursdays and Saturdays. Cozy to horror games.
650 notes · View notes
after-witch · 7 months ago
Text
Bookworm [Yandere Mahito x Reader]
Title: Bookworm [Yandere Mahito x Reader]
Synopsis: Mahito doesn't like that you have an interest in a book character.
Word count: 1787
notes: yandere, kidnapped reader, mentions of other people being tortured/killed, supreme self indulgence of the highest order
Tumblr media
“Who is the smiling man?” 
The silence that had existed between the two of you was broken by a question that made you flinch. Well, why not? Mahito has been quiet all morning--and afternoon, actually, which perhaps should have startled you more than his sudden words. 
But you were too happy to enjoy some quiet (you would never say “peace and quiet,” not down here, not with him); all too happy to curl up in your haphazard nest on the floor with some books that took  you away from this place. Away from Mahito.
Who was, of course, still here. Lounging in his hammock with a pile of books sagging down the netting. 
You couldn’t tell exactly what he was reading from down here--you probably needed new glasses, a subject you were certainly not going to bring up with Mahito, who might reiterate his offer to “fix” your eyes. It looked like a bundle of pages stapled together. Maybe he went to the library and printed off obscure articles to read again. 
“Hey,” he calls down, and the first hint of worry begins to prickle on your arms at his uncharacteristically serious tone, “Answer me.”
Your mind stutters, tries to put one word in front of the other, and make sense of it all. 
The smiling man? The smiling man, the… ah. From Small Spaces. The otherworldly supernatural entity who lives in a world behind mist and has a penchant for making deals with people for their greatest wishes. 
It’s not your fault that you haven’t thought about him in ages. It’s not like you had copies of your books with you, and the fun you had with imagining him in an endless number of scenarios had fallen by the wayside considering your circumstances. 
It’s hard to daydream about worlds behind mist and cornfield servants when you’re watching people be turned into grotesque experiments that had them, sometimes quite literally and loudly, begging for death.
Mahito is looking down at you now, staring expectantly. 
“He’s a character,” you say, fidgeting on the floor. “From a book series.” You look down, flip a page in your book, although you haven’t finished reading the last one, and ask, casually as you can muster: “Why?”
Mahito, up above, flips a page. You can hear the wobble in the paper--not a bound book, that’s for certain. And there’s some low, primal sense that shivers through you which says, plainly, that he’s actually reading whatever’s in front of him. 
“You write about him a lot.”
Oh.
Low, slimy dread filters into your stomach. Thick and gelatinous, resting at the bottom of your belly like an unwanted slug. 
“I… don’t know what you mean,” you say, voice only half-there, because while you are apparently stupid enough to lie to Mahito’s face, you’re not stupid enough to think he’ll believe you. 
You are just stupid enough to think that he won’t know exactly how deep your interest in this particular character goes; before Mahito took you, you thought about him all the time. You’d take walks and daydream about him, write story after story; you’d even commissioned fanart of him, because it wasn’t like there was a plethora of fanart for a character from a middle grade horror book. 
Mahito huffs out a sigh. Quick and short, it sends a shock right down your stomach. 
“Get you a man,” he starts, and confusion buzzes through your brain until he continues. “Who is an otherworldly entity that is so petty when an 11 year old beats him that he traps her in another world, leaving her to a fate worse than death, and laughs until he cries about it.”
You wrote that. There’s a vague memory of when you posted it--after you’d taken a walk, you think, and reread your favorite parts in the books for a few hours. But the way Mahito says it makes it sound--you don’t know how to explain it. Like saying the words out loud almost pains him; they come out clipped and bitter. 
Bitter? But why?
He doesn’t stop there. He reads something else, voice getting higher, almost mocking the way you talk. And that bitterness is still there, a thread continuing through every syllable.
“What if we kissed in the corn maze before you turned me into a scarecrow servant whose soul slowly gets dried out and useless and in the end you feed it, crunchy and tasteless, to your hellhound.” 
He takes a breath. Then--
“One particular aspect of the Smiling Man’s cruelty that I truly adore is that he can make people feel understood. He can make them feel like he cares, like he’s lending a listening ear, like he’s wanting to help them out and make them feel nice.”
Another breath--and he continues, again and again, reading your posts. Quoting your stories. Listing off the titles, the imagine posts, everything you’ve said about him.
All the while, bitter and mocking, his voice raising now and then in an imitation of your own. 
Then he gets to the last page of his clearly self-created tome and stares down at you, waiting, expectant. 
And you… you actually glare up at him. 
Because you're scared, sure. You’re always scared in some way, when you’re with Mahito. But there’s something else too, something that digs its way out of the rot in your gut and sticks up a petulant middle finger.
How dare he do this. How dare he take something that was yours and make it his; put it in his mouth and sneer over it. 
“Have you been--” Your mouth sticks together, refusing to let you accuse him of what you know he’s been doing. Stalking your online profiles. “That’s… that’s private,” is what you finally mutter, cheeks feeling hot and that half-buried petulance pushing you forward. “It’s not any of your business.” 
“Private?” He mutters the word softly, cradling the sound.
And then--
Mahito doesn’t often move fast around you. He prefers to be slow, languid. Calculating. You think it’s because that terrifies you more.
But now, in a moment, he goes from being slouched in his hammock to leaping down and crouching right in your face--there’s sudden pain in your head, and you realize he’s grabbed your hair and yanked it back.
That metaphorical middle finger sinks back down into the slimy gut sludge.
“Not from me,” he says, low, a warning. “Not for you.”
This is all it takes for tears to prick inside your eyes.
Mahito’s lips quirk up. Just a little. Just enough for you to notice.
“You’re going to cry already? I didn’t even do anything.”
Your eyes dart up and back, towards where he’s currently gripping your hair hard enough for it to sting.
He sighs through his nose. “This isn’t anything. You know that. Don’t be childish now.”
But--he lets go of your hair, and doesn’t grab for you when you scoot backwards on your blanket nest. Instead, he plops himself down, crossing his legs and resting his chin on his elbow.
You don’t speak. You don’t want to, and you don’t know what to say. Sometimes it’s better to be quiet around Mahito, so he doesn’t get ideas. Although he comes up with them on his own just fine, even if you try to stay silent.
It’s Mahito who breaks the silence.
“Why do you like him so much?”
How silly, to feel embarrassed right now. With the creature in front of you, and what he can do. But that’s what makes your cheeks burn: embarrassment. 
“I don’t know,” you mumble, because while you are stupid in so many ways, you’re still smart enough to know he wants an answer. “I guess I just like antagonist characters sometimes.” Well, most of the time. But it’s better to keep that from Mahito, if you can.
Mahito’s lips quirk here and there while he thinks. Then he looks at you with something like genuine confusion.
“You say that you like how awful he is. The awful things he does. So…” He tilts his head a little. “You should like me. Right?”
Your fingers pick at the loose threads of your clothes. Your eyes don’t meet his entirely--they flick up and down, from your legs to his face. 
“It’s not the same thing,” is what you come up with. But how to explain that to a curse?
Mahito frowns. 
“I don’t understand.” No bitterness, no pouting. A simple statement of fact.
“He’s not real.” You swallow against the minefield that all of this is making you step through, hoping you’ll avoid them. “But you are. That makes it different.” 
Mahito leans forward, grabbing your wrists, pulling you closer to him with a yanking, childish gesture.
“So you should like me more,” he says, a slight pout in his tone. “Because I can really do those things.” His eyebrows raise, and you swear you can hear a buzzing light bulb go off. “I could turn someone into a scarecrow for you.” He smiles, sudden, excited. “Do you want me to find some school children to torment?”
“No!” Your voice cracks. There are brief images in your mind--the people he’s tortured and killed, experimented with, before you were here and while you’re here and probably after you’re dead and gone--and you shake them away. 
Mahito’s eyebrows furrow. He groans and rolls his eyes backwards until they are entirely white, not in mockery or an attempt to scare you, but in irritation. Fingers squeeze your wrists briefly and let go, and you stay quiet, trying to fight your urge to cry, until Mahito slowly rolls his eyes back to stare at you.
His gaze flicks over you, until he catches your eyes with his. 
“You won’t write about him anymore.”
You don’t take a moment to answer this time.
“I won’t.”
“You won’t read those books anymore.”
“I won’t,” you stay. “I haven’t. I--don’t even have copies anymore.”
Mahito smiles, a little. Maybe it’s a good thing you never asked him to find you a copy, a thought which had been a brief temptation a while back.
And then he leans in closer again, until his nose touches yours.
“You won’t think about him anymore,” he says, quiet, solemn. Not an order but a matter of fact. 
You don’t answer. You swallow against a bitter taste in  your throat; you swear, sometimes, that the sludge in your gut is real and tries to make its way out sometimes.
Mahito presses his nose against yours until it starts to hurt.
“You won’t,” he says again, this time more to himself. “I’ll make sure of it.”
937 notes · View notes