#Yaml File
Explore tagged Tumblr posts
Text
How to Create Self-Hosted Agent for Azure DevOps Pipelines

View On WordPress
#Agent Pool#Azure#Azure DevOps#Azure DevOps Agent#Azure DevOps Pipelines#Azure Pipelines#PowerShell#Self-Hosted Agent#Yaml#Yaml File
0 notes
Text
frantic google search how to explain that despite you blacking out working so intensely on something at work for well over 12hrs and not only have nothing to show but have somehow made your entire system messed up
frantic google search best climbing routes to get out of DevOps hell and back into purgatory where I was quite enjoying myself
#oh girl I am about to risk it all and apply some yaml files to these jobs directly in the UI I am so dead serious#i can’t even use kubectl anymore bc my configs are crossed#when i finally remembered to eat dinner and drink water that it would help me break through but nope just very little sleep instead smh
0 notes
Text
I heart all the jupyter book devs but pray tell why did you have to use the yaml format for the toc files
Surely someone's made something better by now
0 notes
Text
StreamBuilder: our open-source framework for powering your dashboard.
Today, we’re abnormally jazzed to announce that we’re open-sourcing the custom framework we built to power your dashboard on Tumblr. We call it StreamBuilder, and we’ve been using it for many years.
First things first. What is open-sourcing? Open sourcing is a decentralized software development model that encourages open collaboration. In more accessible language, it is any program whose source code is made available for use or modification as users or other developers see fit.
What, then, is StreamBuilder? Well, every time you hit your Following feed, or For You, or search results, a blog’s posts, a list of tagged posts, or even check out blog recommendations, you’re using this framework under the hood. If you want to dive into the code, check it out here on GitHub!
StreamBuilder has a lot going on. The primary architecture centers around “streams” of content: whether posts from a blog, a list of blogs you’re following, posts using a specific tag, or posts relating to a search. These are separate kinds of streams, which can be mixed together, filtered based on certain criteria, ranked for relevancy or engagement likelihood, and more.
On your Tumblr dashboard today you can see how there are posts from blogs you follow, mixed with posts from tags you follow, mixed with blog recommendations. Each of those is a separate stream, with its own logic, but sharing this same framework. We inject those recommendations at certain intervals, filter posts based on who you’re blocking, and rank the posts for relevancy if you have “Best stuff first” enabled. Those are all examples of the functionality StreamBuilder affords for us.
So, what’s included in the box?
The full framework library of code that we use today, on Tumblr, to power almost every feed of content you see on the platform.
A YAML syntax for composing streams of content, and how to filter, inject, and rank them.
Abstractions for programmatically composing, filtering, ranking, injecting, and debugging streams.
Abstractions for composing streams together—such as with carousels, for streams-within-streams.
An abstraction for cursor-based pagination for complex stream templates.
Unit tests covering the public interface for the library and most of the underlying code.
What’s still to come
Documentation. We have a lot to migrate from our own internal tools and put in here!
More example stream templates and example implementations of different common streams.
If you have questions, please check out the code and file an issue there.
5K notes
·
View notes
Text

Hey, guess what? 👀
Wheelchair and cane poses, for both Vs! Check it out! 😊
Download on Nexusmods!
EDITl: I accidentally forgot the yaml file, so I just pushed an update! Please download the newest version, thanks! 💞
#cyberpunk 2077#cp2077#cyberpunk mods#cyberpunk2077 mods#disability representation#masc v#fem v#cyberpunk photomode#jun mods
85 notes
·
View notes
Text

collapses to my knees..... thank u random twitter user for my life and also this portable ver
the second i figure out how to get hifisampler 0.0.5 installed its over for you all.
#I ALMOST got it working. but i kept fucking up the environment orz i dont know enough about python <3#the newest release is kinda messy because its missing some dependencies from previous releases#also the config yaml was NOT cooperating with me. maybe i have too many things installed in different places LOL#but thank u dearest at crazy toho. now..... i can use the flags <3 <3 <3#i need to set up a proper expression file for it so its easier to bring them into ou but we're so back. we're so back.
6 notes
·
View notes
Note
Glad to see you like it! I actually just edited the files to try and fix the scaling issues and it seems to work. The fixes are just moving 1 hair pixel for every sprite and moving 1 sprite to the right and it worked for me at least. The drop box has been updated as well (I think) to have it. Oh and I also changed the yaml file so chara is in their own section instead of examples.
You are truly a blessing onto this earth 😭🥰 You are so cool!! Like wth this is all so awesome! YIPPIE
Here's Chara enjoying their pixelated chocolate.
#since im on a mac and i use wineskin I don't think I can get rid of the little black box the characters are in. Which is fine with me tbh.#they look cute anyways#Chara looks so cute and the way they run is sakdjnkgjndaf#thank you so much#ask stuff#deltarune chara timeline#chara#get trapped in the box idiot
78 notes
·
View notes
Text
Obsidian Tutorial - Tags Basics
Did you know that Obsidian has tags? You do now! Here’s the basics of how to use them.
[ID - a purple decorative divider]
You can use tags in two places: in the body of your note, and in the properties.
You write them in the editor #likethis
You can add them in the properties sidebar by clicking add property, and then selecting the ‘tags’ property. Type your tag, then hit enter, and you’ll end up with something similar to this:
[ID - A screenshot of the Obsidian file properties sidebar, showing three properties. The tags property is marked out, showing that two tags have been added: tag1 and tag2]
You can also add them into the frontmatter inside the note. In that case, they should look like this, as a list:
[ID - A screenshot of some YAML frontmatter in Obsidian, with three properties. The tags property is marked out, showing that two tags have been added as a list: tag 1 and tag2]
Some key points:
You can’t have spaces between the words, so if you want spaces, you’ll need to use underscores, hyphens, or some other way of separating the words.
You can use alphabetical letters, numbers, underscores, hyphens, and forward slashes in your tags - however, they can’t only be numbers, you need to have at least one non-numerical character.
You can nest tags with slashes, e.g. #character and #character/main which is useful for organising things.
Tags are case insensitive, so #tag and #TAG are identical.
You can search for tags! (see this post for search basics).
That’s the basics of using tags. There are loads of ways you can decide to utilise them in your notes, so if you have an interesting setup, please share!
[ID - a purple decorative divider]
check out my obsidian tag for more posts
check out the tutorials tag for other obsidian tutorials
obsidian resources masterpost
download obsidian
got questions? tutorial suggestions? want to say hi?
#obsidian md#obsidian.md#obsidian tutorials#writing tools#i used to use them more but i’ve kinda stopped#mainly i like using them to track plots and stuff using colourful tags
31 notes
·
View notes
Text
I figured out last night that some xl files are just json files.
I'm using the remover to do some world building for my OCs and needed to edit one of the removal scripts but it was one giant wall of text in VS Code. I added a json extension thinking I could at least format it to make it easier to find what I was looking for. Imagine my surprise when VS Code turned it into perfectly formatted and valid JSON code.
It's so obvious. And now that I think about it, the other xl files are just yaml files. AXL can tell based on the formatting which is which.
AXL is so fucking cool.
6 notes
·
View notes
Text
(Mod Tool) - Pose Pack Builder (v1.0)
Hi chooms. So I was porting my AMM romance poses to Photomode and the process felt a bit tedious so I decided to develop a tool to speed things up. In short, this is a tool for Cyberpunk 2077 mod developers that are creating ArchiveXL Photomode poses. Current features:
Streamlines and automates the process of creating the required .yaml file used in AXL Photomode mods, so that you can get your mod out faster.
Generates individual controls for all your poses. You can rename, edit and remove pose properties at the push of a button.
Planned features:
Drag and drop your .anims file onto the tool and have it instantly construct a complete, ready-to-pack .yaml file. I'm aiming to implement this by the end of next week.
I've tried hard to check for bugs but you never know. If you encounter bugs or if you have feature requests and suggestions let me know. If you find it useful please consider sharing it :) Tool: Photomode AXL Tool (wolv-photomode-tools.netlify.app) Quick video demo: YouTube link
#cyberpunk 2077 modding#cyberpunk 2077 tool#cyberpunk mod#cyberpunk photomode pose tool#cyberpunk 2077 poses#idk what to tag this lmao
62 notes
·
View notes
Text
You know what, I'll just ask:
Explanation about the Programming Hell my week has been:
So I started doing a few streams earlier this year reading books aloud. I had a camera on the pages while I read, I'd comment on stuff, used ReactBot a little, at one point a whole 4 people were there.
I've been going through some bad depression moods, and I still want to stream and share books but I dont think I can talk for that long when my mood makes me go nonverbal. I know part of the mood slump is related to not having basically any audience, and I know I won't gain an audience by only streaming once a month or so. So I need to keep streaming even when I'm feeling nonverbal.
The solution I thought of was using TTS (text-to-speech) on books I have saved to my PC, using something like Calibre to read them in the background. There's free to use open source voices, but I wanted to make my own so it still kinda sounded like me and didn't steal someone's likeness. I don't like the idea of making content using someone else's voice, so I looked into making one with my own.
First I looked at the paid programs with good UIs, but not only are they really fucking expensive, they also have hardcoded length limits even on the paid version. I can't get those to read a full book unless I only go at around 30 minutes of reading a month while paying up to $100 monthly to do it, which isn't really an option. I'm on disability, I can't afford that shit.
So I looked at the open source options bc open source means its free. My problem: I can't code to save my life and my experience in the past with programming forums like GitHub and Reddit has been people becoming condescending or hostile when I explain that I have been actively trying to learn to code for 10+ years and it never works. It's interpreted as me not trying or taking "the easy route" because I can't do even the simple stuff. I wish I could. I gave it an honest shot this time, I spent so much fucking time in my command prompt, typing in installs and running python commands, searching errors online to figure out what was going wrong, editing py files and json files and yaml files, learning how to use Audacity to read the metadata of my recordings and make sure they were the right MHz to use in training--and none of it worked. Even when everything I found on horribly formatted GitHub directories SAID it should have been working, it was just a big non functional pile of errors.
So I've given up on making a TTS clone with my voice bc I can't get these "easy codes" to work and the paid ones don't work for what I want or are ridiculously expensive (and mostly still have limits on usage length that mean they wouldnt work).
If anyone reads this and knows how to get these things working properly for cloning--Coqui, Tortoise, Piper, XTTS, any other open source one--reach out and let me know how to do it, because I really tried. Better yet, if you can prove you're trustworthy and are willing to do it, I would love you forever; I can't offer any payment bc I'm on permanent disability and can barely afford things like rent and food, but I would be eternally grateful and willing to draw you stuff and give you a shoutout if that's worth anything to you.
To anyone saying "Just learn to code, you can't give up after a week": This has been an ongoing thing. This is just the latest adventure in "Jasper is failing to learn Python at every turn", along with "why I hate Ren'Py" (that one's been ongoing for years now) and "GitHub has really user-unfriendly layouts" (ever since I got my Graphic Design degree 10 years ago)
#my stream#stream updates#twitch#biggest hurdle i have with reading the books this way is it feels less transformative so ill have to stick to public domain#same reason I'm not using existing audiobooks
3 notes
·
View notes
Text
step 1: build a professional-looking, ad-free site that will perform formatting and validation on a wide variety of file types used for configuration and data transfer (.properties, YAML, .config, JSON, etc), and decrypt file contents if people will just paste in their handy dandy private key/shared secret/etc. Yes, there are already sites for this stuff, but they're fairly scattered and ad-infested.
step 2: perform whatever SEO skullduggery is needed to get your site to the top of the Google search rankings.
step 3: once your site has established itself, pass every single thing that gets pasted into it to a backend service. If you wanna be coy about it, continue doing the validation in Javascript and pretend that the backend calls are metrics. Listen, if you make the URL something like https://admin.yourhosthere.com/datadog-agent then 90% of devs are gonna go 'yeah that seems legit, it's just my good friend Datadog :)' and investigate no further.
step 4: parse every message for strings like 'username' and 'password'.
step 5: now that you have production credentials for about 40% of international corporations and governments, hold the planet hostage.
step 6: rule the world from a flying volcano lair staffed with jumpsuit-wearing henchmen.
(traditionally the henchmen would come before the world conquest, but like most things, supervillainy has gone through massive changes thanks the internet)
#listen i know what you're thinking#'there's no way big international companies would have people doing such insecure things'#this is how I know that you've never worked IT in a big international company that doesn't sell software to survive#i guarantee you that within a day or two of it taking off you'd have ITAR-controlled data#honestly if I did this I would make sure my server is outside the US just for that#you just did an export babey#this wouldn't particularly help with anything it's just inherently funny to me
54 notes
·
View notes
Text
Honestly, Tumblr's API is actually pretty nice once you get past the initial annoyances (OAuth, opaque errors that don't tell you what was wrong, "try again" for things that can never succeed).
Once you actually get rolling with a piece of functionality, you start finding decent elegance in how it's reused. For example, I have code for
publishing posts (converted from Markdown with front matter YAML to Tumblr's NPF), whether as new posts or as edits to existing posts;
deleting posts; and
pulling down my original posts (converted from Tumblr's NPF to Markdown with front matter YAML).
Well, it turns out Drafts are Just Posts, basically.
So if I want to pull down a draft as a Markdown file and then delete it from Tumblr drafts? It Just Works - I just need the blog name and post ID, same as a published post.
(If you reblog this, consider adding "thanks @staff" - a little trickle of positive customer response for purely technical goodness can go a long way to showing Business people that taking the time to improve software design is worth it.)
7 notes
·
View notes
Text
and wait hold on do people know about this. hold on. FOR those who are intrigued by voicevox humming here's another cool thing!
Openutau support!!
like all of both openutau and voicevox its got its FOSS type funkiness here and there, but i think it's a fun thing to play around with for those who are more comfortable with OU's interface, or those who want a pitch-snappy flat base to tune in while still having the fun tone of speaking synths being made to sing, or even those who don't know japanese and are not quite ready to fully dive into an untranslated software BUT are at least ready to dip their toes in. also like i mentioned up there its free and opensource so u got nothing to lose LOL
I don't think I can explain setting up Voicevox 'cause I don't remember so you're on your own with that BUT check out this post with some troubleshooting advice AND i CAN explain (maybe kind of poorly) how to set up voicevox for openutau:
FIRST OF ALL. have voicevox installed and open it, keep it open in the background for the entire time you want to use it in openutau.
SECONDLY you should download "Voicevox_Singer.zip" from here, then open up OpenUtau, and drag and drop the zip file into OU and let it install. Then you should close and reopen OU and now in the singer select menu, you should have a voicevox submenu in the singer selection!
and that's about it for installation LOL All the names will be in Japanese, unfortunately you can't change them in their yaml files or anything without them breaking (at least in my test it didn't work) so if you're not familiar with some Japanese writing you'll have to cross reference it with translations from a vsynth wiki or something. Or you could just click them until you see the portrait of the character you want and favourite it for later. I'm only a beginner but katakana and hiragana gets you pretty far with vocal synth names, plus a group of these guys are colour names and those are some of the mere 20 kanji i know <3
Voicevox also only supports hiragana, including the small tsu っ as a glottal stop type situation, so keep that in mind. Luckily, OpenUtau makes it easy to write lyrics even if you don't have Japanese input on because of romaji to hiragana functions and the lyric finder in the input box.
Another important thing about Voicevox Humming, in the "song" section of Voicevox there's three "parameters" you can set to change how the voice sings your song: the emotion style, the range, and the volume.
On the left is showing that this is set to Zundamon's crying talk bank (namidame), her range is set to 6, and her volume is set to 4. The emotion modes depend on the character, some characters only have a default style, while some have many, and in the case of Ritsu (and I believe another upcoming voice, that utau Lit?) one style is actually made specifically for singing rather than just being talk bank data.
In OpenUtau, emotion styles are mapped to the voice colour function which isn't too difficult to grasp. Again the names are all in Japanese (and honestly they're very stylized and colloquial so most of them are beyond my abilities LOL) so listen to them on the website and look at the character portraits, maybe look at translations too to get a grasp on what they all are. I don't know what Kotarou's bieeeeeeen means but he looks and sounds scared as fuck so that's probably his scared emotion mode LOL
Here's a screenshot of Ryuusei's in the voice colour section in OU, from top to bottom is like, hotblooded, happy, kinda pissed off, normal, seductive?, and sad little man:
The other two parameters that matter for VV in OU are Volume and Tone Shift, which i've put above the voice color panel in the above screenshot. THESE... are tricky. I THINK. I think, that maybe MAYBE tone shift might be mapped to range? but I'm not sure the scaling or direction, it's default is -36 to 36 in OU though. Volume LIKELY maps to volume, again at a different scaling though, from 0-200 with 100 as default (compared to VV's default 0 that can go positive or negative, and I don't. think it has a cap? I love you FOSS)
In Voicevox Humming proper, it's pretty easy to figure out range - you just move it up and down until the autopitch fits the notes, maybe shift it gently to get a closer match, if you're insane like me and doing a song with a large range you can always do my method of rendering like 5-10 different versions of the same song in different ranges and then splicing the best takes in mother fuckinggg fruity loops babyyyyy
In OU it's a lot less predictable. Normally you'd have the deeper voices in the negative ranges and the higher voices in the positive, but in OU my best results have all been setting "tone shift" to positive values, often above 15. If I knew more Japanese and more about coding maybe I'd be able to figure some more things out, but for now my only advice is just press W and keep the waveform view on in OU and mess around until you find something you like!
Volume is easier at least, if it's closer to 0 it's quieter and whispery all the way to just like raw VV engine noise, and if it's above 100 to 200 it's a little more projected! Often I like to find a spot in "tone shift" where things are relatively volume steady, and then use the "volume" parameter to make it properly powerful or gentle depending on what I'm going for.
Here's some tests I did, I'll explain what settings below:
Zundamon test, three versions of the same small bit of singing:
actual Voicevox engine render for reference. She's on her normal talk emotion, her range is 6, and her volume is 7.
Voicevox for OU render, normal talk emotion, 0 tone shift, 100 volume. More metallic UTAU sound while still having the pronunciation charms of an AI based talk voicebank.
Voicevox for OU render, namidame (teary eye) talk emotion, 0 tone shift, 100 volume. Totally different mouth openness and lots of lisp, very expressive while still being a flat base!
Kotarou normal talk emotion test, three versions:
main voicevox engine render for reference, -10 range, 7 volume.
Voicevox for OU render, 0 tone shift, 100 volume. He's very quiet and a little shaky.
Voicevox for OU render, 20 tone shift, 100 volume. He's a little more stable.
Kotarou bieen (scared?) talk emotion test, two versions:
main Voicevox engine render for reference, -6 range, 7 volume. sobbing type sound lol
Voicevox for OU render, 16 tone shift, 160 volume. what was that breathy gasp sound at the end. it only happened in OU not the VV version. is finfin holding him at gunpoint.
Kotarou's singing an octave down from Zundamon, but they're both good examples of very goofy very mascot-y vocals LOL
Now have a Voicevox for OU render of Ryuusei as an example of a much deeper voice since he's the resident big blue baritone. Happy talk emotion, 22 tone shift, 130 volume. He's the trickiest to work with via OU that I've tested, it's hard to find his tone shift sweet spot. At least he's having a good time.
and here's a test of that big titty woman who can turn into a plush toy. or a plush toy that can turn into a big titty woman? human then plush then human then plushie talk emotions, 13 tone shift, 170 volume.
this is showing a fun little thing you can do, you can (kinda) mix emotion styles within the same track! only kind of though, there needs to be a space with no notes between the switch, otherwise it'll keep with the same emotion from the first note of a string of notes. If you want to shift in the middle of a sentence you'll have to do my splicing multiple renders in a DAW method as seen before LOL
all these tests of course are flat, no pitch drawings in the VV renders and no pitch or vibratos in the OU renders. for fun heres a very fast very lazy tune + mix with Tsumugi, since her V6 is coming out sometime soon
theres a lot of toys to play with! i personally prefer using the renders from the main software, but the sound of the OU support is pretty fun and I think it could be used in cool ways!
#promoting voicevox to my 12 active followers. mayhaps you want to try a fun little free open source software with singing capabilities?#mayhaps#also i am using ou 0.1.529.0 beta.... i havent checked to see if theres new beta updates for a while whoops lol
9 notes
·
View notes
Note
What challenges do you think someone trying to make a "Multiple Romances" mod for Veilguard face? Or a mod to sacrifice both/neither Treviso and Minrathous, instead of having to pick?
Omg, anon... I'm honoured that you decided to ask me <3 Before I say anything else, please consider joining the DAVG modding discord, as it has a lot of useful resources and just as many helpful people!
Re: saving both Treviso and Minrathous. Mons, one of the developer of the DAV Save Editor has actually been working on implementing that feature for the editor for a while and has been posting about it on her bluesky. While she was able to make the game think that Treviso is still fine despite picking Minrathous (well, mostly fine), there are still issues with the logic of Neve and Lucanis's personal quests and crashes in Dock Town. But, well, that's not a mod, but an outside tool, so it's a bit different.
As for the challenges of making those types of mods... Well. The rest is under Read More for length. I love talking about modding quite a bit, and since you *asked*, I didn't really hold back ^_^
I'll be focusing on the Multiple Romances side of things, but basically all of what I say would also apply to making a both/neither Treviso and Minrathous mod.
If I said something wrong and there are mod authors who know better, please feel free to correct me!
You can't edit conversation files directly in the Frosty Editor.
At the moment, Frosty offers only limited support for EBX-editing. If you try to edit conversation files in the Mod Editor (the files you'd be interested in are the FC_ConvFlowLayer type files), it will crash when trying to export the mod.
You can still edit those files through hex editing (tutorial available here), but it's just, you know. Takes time. Export .yaml and .bin, open .yaml to find the offsets, make the edits in .bin, import .bin back into Frosty, see if the game even takes to it... It's kind of long. Much longer than if you could just edit the values directly. And much more tedious.
Wavebend (the developer of the Veilguard branch of the Editor) is planning on implementing full ebx editing support in the future, but they are just one person, so it's probably going to be a while until that happens. (I actually want to dip my hands into making a Multiple Romances Mod, but I've sworn off doing that until we get ebx support).
2. You have no quick way to make sense of a lot of triggers (conditionals)
For example, the conditional to have the option to commit to the romance with Neve is 1309495461 (see node 15 for nev_q21_120_lvl_skip_Root_1.layer). But you don't really know what exactly it is ¯\_(ツ✿)_/¯
Like it has to be some combination of having flirted her with the past and her romance not being cut off, I suppose? But you are completely blind on its exact meaning, and on exact meanings of a lot of other conditionals (save for the basics like Rook's race/class etc. as well as completion of main story quests/companion storylines). Which means a lot of trial and error trying to figure out what's what. It's sort of a mess like that ^_^
Someone did the work on figuring out Lucanis's romance flags as a part of the Veilguard References Project, you can check those here. But you'd have to be a trailblazer for everything else.
3. Even if you figure out what trigger stands for what, editing/deleting them is kind of an arse if I'm being completely honest
I'm not sure if you can straight up delete triggers using hex editing. For example, for my Dalish Elf Rook Mod I had to edit a bunch of lines that could only play if Rook was a Veil Jumper elf and extend them for all elves of background. But I didn't delete the VJ conditionals, and only duplicated the Rook_Elf conditionals instead (so instead of checking if your Rook is an elven VJ, the game just checks twice if you are an elf).
Maybe someone more proficient and patient could work out a way to actually delete things, though.
(One hypothetical way to get around deleting conditionals is to edit them into some gibberish instead. As long as it returns something (and doesn't display as "none" in Frosty), it should work. The earliest version of the Dalish Elf Rook mod had Taash.loc as a conditional for a convo, and the dialogue played as though the condition was properly fulfilled. But it's just for cutscenes, the game will crash if you do the same with ambient dialogue because Veilguard hates you and isn't really shy about the fact).
4. You'd also have to figure out how flags are set with your decisions.
Starting a romance (or, well, making other important choices in the game) sets plot flags. And if you start a romance with someone, the game sets plot flags to cut off romances with all other companions, so you can no longer flirt, or get in a relationship with them. That would be a big hindrance for a poly mod...
DAI had it very straightforward, with its own dedicated section with the flags a line/conversation choice would set that you could easily view and edit. But DAVG doesn't have that, as god has all but abandoned us ٩(^◡^✿)۶
I think that the "Actions" section in the node after the node with choices possibly be the thing that sets the plot flags? But in Neve's romance's case, node 16 (coming after node 15 that gives you the option to lock into the romance), has 13 actions. Idk what any of them mean! Gotta be something, I guess.
So, yeah. Something like that. Feel free to send follow-up questions if you have any, I'll try to answer as best as I can!
#flowers mods#well it's more like. me talking about it. but I personally think it's relevant for the tag#asks#flowers.txt
8 notes
·
View notes
Text
i'm not actually mad on the internet right now, fwiw. i'm just blowing off some steam by doing my favorite thing, which is being technically correct. thank god we have computers so i can spend most of my time "well, actually"ing a freaking yaml file instead of the poor souls in my proximity
i don't know what i'm gonna do once we give computers souls, though. fuck
6 notes
·
View notes