#There's only post from automated news sources
Explore tagged Tumblr posts
destinywillowleaf · 1 year ago
Text
alright, this is one HELL of a shot in the dark, but...
I'm trying to find the origin fic of this song. "Too Big For Us" was a song that was included at the end of a Voltron Legendary Defender fic and I cannot for the life of me find the story.
There is every chance that this fic was deleted.
From what I remember, it was a Lance-centric 5+1 about him being the one to act as support for the others (and then the team supporting him in turn). I'm 99% sure it was on FFN since I didn't really start reading fics on AO3 until 2019-ish. The song might've been something put in an author's note as a broken up YouTube link thanks to no outside links allowed on FFN. (It... COULD have been Hunk as the focus character? but I'm pretty sure it was Lance. I've been telling myself it was Lance as the focus at least. god if it ends up being hunk and ) There weren't any ships as far as I remember either.
The file says it was modified on February 19th, 2017, which I assume is the day I downloaded it or the day it was published, seeing as the listed "creation" date is in March 2022 and I know I've had it for longer than that. If I'm remembering things right, it was posted as part of the last chapter of the fic, because it was a multichapter (I'm... slightly less confident in the multichapter status but I'm pretty sure it was?)
The order characters are referenced in the song was also the order they were in each chapter... but I have no idea which section Pidge is supposed to be @~@ part of me says I was annoyed/confused about the lack of a Pidge section the first time around too but it's been like 6 years so idk how much of that thought I actually believe. Otherwise, I think the order is Hunk, Keith, Allura & Coran, Shiro, Lance, and Pidge was somewhere in the middle.
The lyrics, as best I can make them out, are under the cut. A few lines are covered up in just the wrong way by the piano chords so I'm sort of guessing with the words in the brackets. (The mixing really isn't the best but I have no room to complain since I'm not a musician of any variety)
Together we sit, as he relearns how to breathe His heart races with panic, deep set anxiety And demons fill his head as he fights off another's Ignore what still hurts as the light of hope is smothered
A boy in a bubble made of experience and fears A knife in hand and heart to protect him from tears Because bonds only seem to lead to pain Until someone can teach him to connect again
And in the end they'll come to me Cause everybody does And we'll fight together Cry together Wipe each other's eyes together In a war too big for us A war too big for us
A family in all but name, they say [stare??] comes in pairs A gentle touch is calming as a [??? braiding] hair When there is too much to do [without?] doing too much Go to him for support, drown their sorrow with a laugh
He's a fellow protector, with secrets to hide Whose fears and insecurities surface in the dead of night He's in need of help but doesn't want to burden That finds a companion, someone to confide in
And in the end they'll come to me Cause everybody does And we'll fight together Cry together Wipe each other's eyes together In a war too big for us A war too big for us
But sometimes your strength Could use some strength of their own, before it's too late Cause even the strongest of pillars Can crumble under the weight
But in the end they'll come to me Cause they know I need some love And we'll fight together Cry together Wipe each other's eyes together In a war too big for us A war too big for us
1 note · View note
not-terezi-pyrope · 1 year ago
Note
Ok. It's pretty clear you are more welcoming of AI, and it does have enough merits to not be given a knee jerk reaction outright.
And how the current anti-ai stealing programs could be misused.
But isn't so much of the models built on stolen art? That is one of the big thing keeping me from freely enjoying it.
The stolen art is a thing that needs to be addressed.
Though i agree that the ways that such addressing are being done in are not ideal. Counterproductive even.
I could make a quip here and be like "stolen art??? But the art is all still there, and it looks fine to me!" And that would be a salient point about the silliness of digital theft as a concept, but I know that wouldn't actually address your point because what you're actually talking about is art appropriation by generative AI models.
But the thing is that generative AI models don't really do that, either. They train on publicly posted images and derive a sort of metadata - more specifically, they build a feature space mapping out different visual concepts together with text that refers to them. This is then used at the generative stage in order to produce new images based on the denoising predictions of that abstract feature model. No output is created that hasn't gone through that multi-stage level of abstraction from the training data, and none of the original training images are directly used at all.
Due to various flaws in the process, you can sometimes get a model to output images extremely similar to particular training images, and it is also possible to get a model to pastiche a particular artist's work or style, but this is something that humans can also do and is a problem with the individual image that has been created, rather than the process in general.
Training an AI model is pretty clearly fair use, because you're not even really re-using the training images - you're deriving metadata that describes them, and using them to build new images. This is far more comparable to the process by which human artists learn concepts than the weird sort of "theft collage" that people seem to be convinced is going on. In many cases, the much larger training corpus of generative AI models means that an output will be far more abstracted from any identifiable source data (source data in fact is usually not identifiable) than a human being drawing from a reference, something we all agree is perfectly fine!
The only difference is that the AI process is happening in a computer with tangible data, and is therefore quantifiable. This seems to convince people that it is in some way more ontologically derivative than any other artistic process, because computers are assumed to be copying whereas the human brain can impart its own mystical juju of originality.
I'm a materialist and think this is very silly. The valid concerns around AI are to do with how society is unprepared for increased automation, but that's an entirely different conversation from the art theft one, and the latter actively distracts from the former. The complete refusal from some people to even engage with AI's existence out of disgust also makes it harder to solve the real problem around its implementation.
This sucks, because for a lot of people it's not really about copyright or intellectual property anyway. It's about that automation threat, and a sort of human condition anxiety about being supplanted and replaced by automation. That's a whole mess of emotions and genuine labour concerns that we need to work through and break down and resolve, but reactionary egg-throwing at all things related to machine learning is counterproductive to that, as is reading out legal mantras paraphrasing megacorps looking to expand copyright law to over shit like "art style".
I've spoken about this more elsewhere if you look at my blog's AI tag.
159 notes · View notes
copperbadge · 8 months ago
Text
Amateur Translation Programs
So I had a lot of imaginative and informative responses to my post about looking for an amateur translation program -- something where I could load in a foreign language and it would insert a box where I could add a translation every-other-line. The idea was that this way I could practice translation with more advanced texts, and texts I chose, and thus move away from Duolingo, which at this point is good for drilling and daily practice but not for more advanced learning.
I didn't find precisely what was needed but I did get some inspiration for further explanation, and I also learned that adding the term "glossing" (thank you @thewalrus-said) into my searches helped a great deal in terms of weeding out programs that were either "Let this AI translate for you" or just endless promotional links for Babbel and Duolingo and such. I thought I'd collect up the suggestions and post them here; at the end I'm including my best swing at designing what I wanted, and why it doesn't work yet.
Suggestion one, from many people, was various ways to generate a page that is simply fixed Italian text with space underneath each line to add in a translation. This is pretty simple as a process and there are sites that will do it for you, such as this one that @ame-kage suggested. However, most of these don't allow for movement in the Italian text, and many produce a PDF which you would need to print out in order to write on unless you're willing to open it in Acrobat (and deal with Acrobat). A good solution for some but not what I'm looking for purely because I'm trying to make this super frictionless so that (knowing myself as I do) I will actually do it.
I did find this version interesting, suggested by @drivemetogeek: Have one word doc saved as your "template" doc and set the line spacing as 2.0 or higher. Select your text from source and paste it into the template doc as text-only. Ctrl a, ctrl c to select all and copy, then open a new document and "paste special" as picture. Right click and set the "wrap text" as behind text. Now you have a document where you can, basically, type over the existing text because it's the background of the page. This seems like the most frictionless version, because you could set up a bunch of them ahead of time. If you wanted to move between desktop and mobile, however, you'd need to ensure that the pasted image was fairly narrow so that you don't have to sideways-scroll.
Relatedly, people suggested generating a document that is simply the Italian text with empty space beneath it for typing in of the translation. This can be done either semi-automated, using a macro or a language like Python, or find-and-replace on, say, the stops at the ends of sentences. It basically outputs the same as above but with a more digitally accessible format, without any more effort than above. If you were to do this in Google Sheets you could also fix the column width so that it didn't do anything weird when you opened it on your phone. But it is still very friction-y, and does not allow for easy shifting of the Italian as needed. There's high probability of the translation breaking weirdly across the page. Still a top option in terms of simplicity and access.
@smokeandholograms suggested another variation illustrated here where essentially you're converting the text to a series of tables, with each paragraph a row, and an empty cell next to it for the translation. I might play around more with this one eventually, since I think I could possibly make it a three-column and put the Italian in one, the translation in the next, and the auto-translate to let me know where I might be slipping in the third. (Not that I trust auto-translate but comparing a hand translation to an auto translation can be useful in terms of working out when I've messed up the way a tense or mood is read. I tend to read indirect verbs as automatically imperative because I'm a weirdo.)
@wynjara linked to an add-in for Word specifically designed for translators, known as TransTools; this appears to employ a macro to do the same thing, though it does have a format where you can place the translation next to each sentence directly rather than in a separate cell. The full suite of tools is only $45 which is reasonable for my budget, but for what I need I think I could also just create the macro.
Using LaTeX as a tool specially designed for glossing was an option on offer, but I don't know enough about LaTeX to figure out the pros of this one, which is in itself the major con -- there's a learning curve that I think varies widely by person but for me is unfortunately a wall. It came out of a discussion on Reddit about trying to find something like what I want; also in that discussion is a link to a code generator that allows you to…do something…to the initial language, but it's not entirely clear to me (I'm sure it's clear to people who understand coding) what you would then do with it that would allow it to be output in the way I'm hoping for. Like, I could turn a paragraph of text into HTML, I understand that far, but any Italian I find is already on a website.
Moving more into apps that might work, Redditors on the LaTeX discussion suggested SIL Fieldworks, which is a professional language tech tool. Fieldworks isn't a program I'd previously encountered but much as with the ones I had, it looks like the learning curve is fairly steep and it is definitely overkill generally for what I need, though it might also harbor within it the thing I want. It is free, so I may download and play around with it.
@brightwanderer suggested using note-taking or "whiteboard" apps such as Freeform or Nebo; these are generally a kind of "infinite canvas" in which you can drop objects, text boxes, or handwriting. I don't know that Freeform would be measurably different to just using Word and a macro, since I'd still have to input/format all the text and then be stuck with the same "fixed text" setup -- and it's also iOS only -- but for some folks it might be more helpful. Nebo is a similar infinite-canvas with unfortunately the same issues, though on the plus it's available for Android, which is where most of my mobile property resides.
@bloodbright suggested that I was looking for a CAT tool, a professional translation tool mainly used by translators working in the field. This was a concept I'd encountered, but I hadn't found a good starting place. They suggested Smartcat and OmegaT. Smartcat bills itself as an AI translation platform and is HARD pushing the "don't translate it yourself, hire a translator or let AI do it" angle, so it's difficult to tell what it offers in terms of actual tools for translators, and it's also cagey about pricing, so I can't really evaluate it. OmegaT is free and gives off big "some weirdo homebrewed this in their basement" vibe (which I am here for) but I also recognized it from screengrabs that were the reason I veered away from professional-grade software: it looked too complex. Realistically, the major downside of OmegaT is that I don't think I can put it on my phone. One thing I did find interesting is that once you translate a portion of the text, the original language goes away, though I assume you can turn that off if needed. I do kind of like that because it means my distractable brain is looking at Less Stuff.
So where did I end up?
Well, it looked like I was going to have to try a homebrew myself. I had the idea of trying some of the initial suggestions but in reverse -- designing a document where every other line was a single-cell table fixed to the page. You could paste in the Italian, which would wrap around the cells, and then enter the English in the cells.
You can fix a table in place in Google Docs -- you click on the table, then under Table > Style select Wrap Text, Both Sides, and Fix On Page. Getting the whole page set up is a little labor intensive but once you did that, you could just save it as a template and make a duplicate of it each time. And this actually works….on desktop.
Unfortunately, if you open it in the mobile Docs app, the app can't handle the fixed tables and automatically moves them all to after the text that's been pasted in. I tried redesigning it so that it's a table within a table -- one for the Italian, then within that a series of them for the English -- but when you nest a table in Google Docs, it doesn't let you fix the second table in place. And you are also still dealing with the wrap issue, although you can resize the page and add a large right-hand margin as a kludge of a fix for that.
You can build this same kind of document in Word, so I tried building one in Word and then uploading it to Drive, but when you open the Word file in Docs (or in Microsoft Word for Android), it still strips the fixed positioning -- there's just some functionality missing from both apps that doesn't allow them to handle fixed-position tables.
So, the design is sound, just not the final execution. If I could program an app, I could probably remedy the issues with it -- it's simply a series of text boxes nested inside one another with different formatting. I would imagine that's relatively basic to set up, although given that neither Docs nor Word can handle fixed tables in mobile, perhaps I've stumbled on a much bigger problem that everyone is ignoring because nobody actually needs or wants fixed tables in mobile. :D
Experimentation is ongoing, anyway. I might simply have to resign myself to the fact that my translation study is going to have to be in front of a computer, which might be for the best anyway when I inevitably want to compare my translation to an auto-translate to see where I might have read something wrong.
69 notes · View notes
learnfromkarl · 2 years ago
Text
Hey there, my fellow entrepreneurs! Are you tired of spending countless hours creating content for your website? Do you want to automate the process of content creation and focus on other aspects of your business? Well, I have found the perfect solution for you on Fiverr, and it's only under 5 dollars!
I stumbled upon a gig that promises to build an automated website for you that pulls content from other sources in your selected niche. Can you believe it? An entire website that runs on autopilot, without any manual effort on your end. And not only that, you can even monetize your site by adding Google Adsense, Click-bank, Amazon, Auto Blogging, Pop-under, CPA Offers, Contextual & other Affiliate ads.
This gig offers an Awesome Responsive Fully Automated WordPress site of any niche you want, whether it's health, fitness, news, Amazon affiliate auto products, technology, and more. And what's more exciting is that the site will publish 100% fully automatic posts without any manual effort from you. That's right; you can sit back, relax and watch the content pour into your website automatically.
The seller promises to deliver a complete autopilot affiliate website with autoblogs that are responsive and modern looking. The site will also be Google SEO friendly, which is crucial for ranking high in search engines. The seller also includes all essential pages like contact forms, niche suggestions, and top-selling products to help you get started.
Now, let's talk about the best part. This gig is only under 5 dollars! Yes, you read that right. You can have an entire website running on autopilot for only under 5 dollars. That's a steal!
So, if you're looking to automate your website's content creation process, this is the perfect solution for you. Just leave a message for any query, and the seller will be happy to help you out. Don't waste any more time and money on content creation. Get your automated website now and watch your business grow!
{LINK}
115 notes · View notes
metalgear-f-15e-tfr · 4 months ago
Text
Something that mod packs like better than wolves or games like vintage story don't seem to understand is that suffering in video games is fine, but there needs to be SOME kind of pay off to getting through the suffering.
Progression is an important part of survival/open world games, there needs to be some level of "you've passed B milestone so now the A tasks are considerably easier but you've also unlocked C tasks which match A tasks original difficulty but allow you to work towards D milestone which unlocks E tasks etc etc etc"
Minecraft does an ok enough job of this even though BTWtards will pretend otherwise for reddit updoots. But, as can be said about any topic around video games, factorio does it best. Start off hand crafting, move to hand feeding, then basic automation, oil processing, alternative power sources, logic circuits, trains, scaling up, beacons and modules, robots, artillery, spidertrons.
Each of these paths are not only unlocked through the overall progression but are made easier by embracing the other paths. Scaling up is easier once you start using bots, trains or move to nuclear power. Which are all easier once you embrace advanced oil processing. Beacons and modules can make pretty much anything easier but require sizable automation to use at bigger scales. Robots are such a huge milestone they essentially divide the game into pre and post bot but you can also go the entire game without crafting a single one.
At the start of the game realizing you need another belt of iron plates when your current iron latch can't support another belt is a big task. You need to locate a new patch, manually take out the biters with a tank or turrent creep. Manually build a new mining post on the ore patch, bring all the ore back somehow (trains or belts, which both bring their own time to build). And then you need to actually smelt the iron which means a building a new furnace stack by hand which means either more power drain or more load on your coal patch which it might not be able to support which starts this whole process over again.
By the end or even late game it's a whole new scenario, noticing you need a new belt of iron is never more than three blueprints and a spidertron away from a solution. You can have everything building and running in the background while you work on more stuff that takes more thought than basic copy and pasting. By the end game you spend more time designing than actively building.
Minecraft does ok at this even though some milestones are laughibly easy. Making a mob farm makes collecting stuff like gunpowder easy. Making an iron farm makes building anything big that uses hoppers actually viable. Villager trading halls turn good enchantments into something you can work toward rather than rolling the dice at the enchantment table 400 times.
Trash like better than wolves fails at this. You will be scrounging and toiling away for food every single in game day until you beat it, there's never a point in progression where some core part of the game becomes a non-issue, if you're lucky it just gets 0.5% easier. What once was a task you had to sit and hold right click for five minutes while holding an item can now be accomplished by right clicking a block once and waiting four minutes. Whoop dee fucking doo.
7 notes · View notes
matan4il · 9 months ago
Note
Just sending some love your way again, and thanks so much for the book and music recs!! I've been loving working my way through them 💖💖
Hi darling! I'm so glad you're enjoying those! :D Any bit of joy counts, always, but especially now. I hope you're doing well, and I am sending you so much love right back! xoxox
So glad to hear that you are safe, and that the attack was mostly intercepted. Thank you for all the work you do in giving us news from the Israeli perspective- I'm working on my Hebrew, but it's slow, and I always worry that automated translations miss nuance and context.
Thank you so much! I think a lot of us, knowing that Iran has employed its generals to help its terrorist proxies, and that those generals have been eliminated by Israel repeatedly over the years, we didn't expect an attack of this magnitude from Iran, and that even we were surprised at how well our defences held against it. I'll try to post a bit more about this later. Thank YOU so much for the kind words, and awwww, you're learning Hebrew! :D I have to say, I'm so in love with this language, I'm very happy for anyone who does. I hope you're enjoying it! ^u^ And it's my pleasure to be able to add a few translations. I def do try to bring across the nuance and context that automated traslations can't recognize even exists. Be well, and I'm sending you lots of hugs! xoxox
@missviolethunter asked:
Thank you for posting updates even in the aftermath of the attack. Your blog and a few other Jesiwh blogs are the only places with unbiased information here. I hope you and your family are safe. The terrorist supporters make a lot of noise on tumblr, but they're just a bunch of idiots. My country had issues with terrorism for many years, and I know how it feels to fear for your family members who are in the military. I know it's not much, but I'm sending you hugs. 😘
I really do my best to get everything from fact checked journalistic sources, although obviously it's not perfect (because neither are they, some are expressly biased, while others simply get duped once in a while, same as everyone else. They are run by humans, after all). I'm really glad if I can help in any way, even the smallest!
I am so sorry that your country also had to deal with terrorism. I will never understand how people can think that terrorism, the intentional targeting of innocent people, is EVER justified. It's not about whether a specific cause is just or not. It's about whether we value human life or not. Anyone who can justify terrorism, is saying they're comfortable with being the arbiter of who gets to live and who doesn't, and that is so wrong on so many levels... I am sending you lots of hugs, and I hope you, your people, us and everyone else who has suffered or is suffering from terrorism, never have to fear for their life or that of their loved ones ever again.
It's actually so much, I appreciate the hugs, the message, the kindness, and I am sending you lots of hugs right back! xoxox
14 notes · View notes
000marie198 · 2 years ago
Text
Happy Wholesome Wednesday!
......
Safest Shelter Part 2
The keys on the keyboard produced light clicks as gloved fingers tapped over it with practiced ease, the rows of code appearing on the monitor incomprehensible except to the two tailed fox who was entering it.
Nearly finished with the self assigned task, Tails took a cursory glance at the time displaying in the corner of the task bar and continued with the completion of the code that would wipe away any signs of his intrusion from the Eggnet.
The entire day had been spent trying to stop the hordes upon hordes of badniks from invading Central City. The bots had arrived without a warning this time with the orders to overwhelm and they just kept on coming. Even with Sonic giving it his all and the others joining in to lend a hand, it hadn't been enough. For every ten bots that were taken down, thirty more took their place and the group of heroes was put in too much of a time crunch to be able to seek out any Chaos Emeralds.
That left them with no choice but to switch the strategy and Team Dark suggested to take out the source, basically stop the production and launch of the badniks altogether. While the fighters and heavy hitters worked on keeping the invading hordes from causing more damage to the city and worked on protecting the people, Tails headed home to manually hack into Eggman's network and switch the automated commands. It took quite a while, having to not only stop the badniks that were already sent off but also cancel all the continuous production and deployment commands from the various factories. Then there was the matter of rerouting the transportation crafts.
Evening had arrived by the time he finished with his task and then went on wiping all signs of his existence from possibly getting detected. It was a cautious process, considering how much tight the upgraded security on the network had become. He constantly had to fight back from getting his own connection hacked. It had been a couple of hours since he rerouted the last of the sent out vehicles, working on thoroughly analyzing any possible viruses that could've been sent out to infiltrate his personal network. The only updates he got from the strike and defense teams were that any more new badniks had stopped coming and they were working on beating and clearing out the hordes that were already present.
Finishing with typing up the code and deploying it, Tails leaned back and stretched. Taking into consideration the amount of badniks present when he had left the city to work behind the scenes, the amount of people that were in potentially harm's way and how spread out the armies were, he had concluded that it would take the others a few hours at most to complete their mission. Considering what the time was, that meant that his brother was probably done and on his way back right about...
Boom!
Now. Tails smirked, satisfied at the accuracy of his estimation as he heard the signature sonic boom that accompanied his brother whenever the hedgehog broke the barrier of sound. Shutting down the computer, the twin tailed genius hopped off his office chair and headed out of the workshop area and towards the front door, passing the lounge. He hadn't even reached it before the knob turned and the door was pushed open, his blue furred brother stepping inside, the dark sky speckled with occasional stars visible behind the tired hedgehog, showing that night had already fallen.
"Hi, Sonic," he greeted. "How'd the battle go?"
"It got much easier after the badniks stopped arriving," the other responded with a tired grin as he stepped inside, closing the door behind him. "It took us a while to take out the last of them and help with post battle cleanup effort but we wouldn't have gotten that far without you, Tails."
"Well of course," Tails sent his brother a cocky grin, "Where would you even be without my tremendous skills and crucial work?"
Sonic chuckled in amusement, plopping doing on the couch with a sigh.
Tails studied him, a quick visual examination revealing that his brother was alright save for some superficial bruises and scrapes which would heal on their own. Aside from that, Sonic looked dead on his feet with exhaustion. Being in a constant battle since late morning without a pause and then not having the energy boost that followed the usage of Emerald's power resulted in even the hyperactive hero getting tired.
Approaching his brother before he could doze off on the couch, Tails took Sonic's arm and pulled him to his feet, keeping the other's arm around his shoulders to help the hedgehog to his room.
Some years ago, and still to this day, it would've been Sonic who'd carry a sleepy tired fox to bed and tuck him in. Now, it was the younger fox who returned the favour, supporting his exhausted big brother as they both headed upstairs, Sonic unable to hold back a drawn out yawn as he leaned on Tails. He resisted the hold of sleep, preventing himself from dozing off right where he stood so he wouldn't pass out on his little brother.
He knew Tails was strong enough to carry them both when he couldn't, someone he could always trust to fall back on, his wingman, his partner in crime, his brother. He could always depend on Tails.
Once they had climbed to the upper floor, Tails dragged his droopy, nearly half asleep brother to his room, Sonic following along without a fuss as he let out an incoherent mumble.
Once inside, he allowed the weary hedgehog to plop down on the bed and kick off his shoes, telling him to lie down as soon as he did. Sonic complied, releasing a soft sigh as his head hit the pillow, eyes already falling shut due to drowsiness.
Tails smiled and draped a blanket over the other, carefully tucking him in as he adjusted the fluffy covering and once rubbed his brother's blanket covered shoulder.
"Tails."
"Hm?" Tails responded as Sonic's eyes slid open to glance at him, sleepy but grateful.
"Thanks, lil' bro."
Tails perked up at that, smiling as he gave the other a reassuring pat on his shoulder.
"Goodnight, Sonic."
"Night..." Sonic mumbled, voice barely above a whisper as his eyes slid shut once again and his breathing turned deep, soft snores beginning to escape him as he fell into a deeper slumber.
Tails still had a contented smile on when he silently left the room, turning off the lights and closing the door on his way out.
........
@starrjoy
Part 1
118 notes · View notes
arbitrarygreay · 10 months ago
Text
Audacity for Debian-based Linux
So, some time around 2020/2021, Audacity for Linux from the repositories of Debian-based distros (including Ubuntu, Mint, etc.) no longer had access to high quality stretch (change tempo, change pitch, shifting slider). This appears to be due to a combination of Debian no longer updating Audacity at all past 2.4.2 (as Audacity's new owners from 3.0.0 on have had...issues, to put it lightly), but also the fact that 2.4.2 specifically was requiring a version of the SBSMS library past what Debian had. It's still the case that the apt version of Audacity on Linux Mint still lacks the high quality stretch functions.
The workaround for this is to compile from source. HOWEVER. Be apprised that if you specifically go for version 2.4.2, there is still a bug around SBSMS, which causes Audacity to crash when attempting high quality stretching. Apparently, if you go for versions afterwards (3.0+, new Audacity owners), or the version before (2.3.3), you will not run into this issue.
I am stubborn, so I have verified that I can now open Audacity 2.4.2 and do a high quality pitch change without crashing. Here are the solution options. Know that both are still compiling from source.
Option 1: Do it manually command by command on the terminal
You will, however, notice that the important download link for the patch is broken. You must get it from here.
Note that you should preface all of the commands listed in that post with "sudo", or they will likely throw an error. (Or do whatever you need to for terminal to continuously recognize root access.) In addition, note that the "pre-installation test" section is not optional. Audacity will not run if the "Portable Settings" folder is not created, and furthermore, the "Portable Settings" folder and all containing files need to have write permissions enabled to the relevant non-root group/owner.
Whether you installed manually or used the script, you will need to go to "/usr/local/share/audacity/audacity-minsrc-2.4.2/build/bin/Release" to launch Audacity. In the file explorer window, you can click the button to the left of the magnifying glass to switch to text input where you can copy and paste the above path. Or, from /home, go up one level, and then navigate through manually.
Change the launcher's icon and add it to the start menu/desktop, per your specific distro and desktop environment.
Option 2: Modify and run a bash script
I found a helpful Youtube video stepping through the process, before they link to a bash script automating the whole thing. However, the script does not include the 2.4.2 patch. There are also a few modifications that need to be done to the script.
Modifications to make (right click the .sh file, open with, pick some text editor):
Line 35: change the dl_directory to match your own system. (Specifically, you probably need to replace "piuser" with your own account name.)
This change also needs be done on lines 115, 116, and 120 (or replace the hard coded parts with "${DL_DIRECTORY}").
Line 77 (optional): add "patch" as a dependent package to check. Like Python, it's mostly likely already installed, so you could leave this commented out.
Lines 139-142: Not a modification, but a note that I didn't end up using this (left it commented out), so I did have to download the 2.4.2 source code from fosshub manually and put it in the location specified by dl_directory. I also put the patch there. If you do want to try to automate the download, you'll not only have to add another line to also download the patch file, but both the source code for 2.4.2 and the patch have hyphens in their urls, so you need to either add backslashes to escape them, or enclose the entire url in quotation marks. But I also can't guarantee that either of those things will work, since I ended up doing the downloads manually.
Line 150: Per the manual installation above, the patch needs to be applied before the build. Add this code block at line 150 (after the script checks to see if the "Build" folder exists):
#SBSMS patch required for 2.4.2 if [ -f "${DL_DIRECTORY}/changepitch.patch" ]; then sudo cp "${DL_DIRECTORY}/changepitch.patch" "${DIRECTORY}/${VERSION}" fi sudo patch -p 1 < changepitch.patch
That's it for changing the script. Save it, close out of the text editor. (If you decided not to try letting the script do the downloads, then make sure you download the source code and the patch and put them in the dl_directory location at this point.)
Enable the script to be executable. (Right click the .sh file, Properties. On the Permissions tab, check that "Allow executing file as a program" is checked.)
Double click the .sh file. I suggest doing the "Run In Terminal" option so you can see the progress. (And if it's really short, probably something went wrong. The build section takes 20 minutes.)
This script does not include installing the offline manual for Audacity. That is covered in the guide posted in Option 1. Sorry, you'll have to do some terminal typing after all.
Whether you installed manually or used the script, you will need to go to "/usr/local/share/audacity/audacity-minsrc-2.4.2/build/bin/Release" to launch Audacity. In the file explorer window, you can click the button to the left of the magnifying glass to switch to text input where you can copy and paste the above path. Or, from /home, go up one level, and then navigate through manually.
Change the launcher's icon and add it to the start menu/desktop, per your specific distro and desktop environment.
8 notes · View notes
govindhtech · 2 months ago
Text
Extractive AI vs. Generative AI: Data Extraction & Precision
Tumblr media
What Is Extractive AI?
The goal of the natural language processing (NLP) area of extractive AI is to locate and extract important information from pre-existing data sources. Extractive AI is superior at locating and condensing pertinent information from papers, databases, and other structured or unstructured data formats, in contrast to its generative AI cousin, which produces original material.
Consider it a superpowered search engine that can identify the precise lines or sections that address your question in addition to bringing up webpages. Extractive AI is perfect for applications demanding precision, transparency, and control over the extracted information because of its focused approach.
How Does Extractive AI Work?
A variety of NLP approaches are used by extractive AI, including:
Tokenization breaks text into words or phrases.
Named entity recognition (NER) categorizes people, places, and organizations.
Grammatical functions are assigned to phrase words by part-of-speech tagging.
Semantic analysis examines word meaning and relationships.
By using these methods, extractive AI algorithms examine the data, looking for trends and pinpointing the sections that most closely correspond to the user’s request or needed data.
Rise of Extractive AI in the Enterprise
The growing use of extractive AI across a variety of sectors is expected to propel the worldwide market for this technology to $26.8 billion by 2027. Companies are realizing how useful extractive AI is for improving decision-making, expediting procedures, and deriving more profound insights from their data.
The following are some of the main applications of extractive AI that are propelling its use:
Understanding and summarizing papers: Taking important details out of financial data, legal documents, contracts, and customer evaluations.
Enhancing the precision and effectiveness of search queries in business databases and repositories is known as information retrieval and search.
Collecting and evaluating news stories, social media posts, and market data in order to learn about rival tactics is known as competitive intelligence.
Customer care and support: increasing agent productivity, automating frequently asked questions, and evaluating customer feedback.
Finding suspicious behavior and trends in financial transactions and other data sources is the first step in fraud detection and risk management.
Benefits of Extractive AI
Precision Point Extraction
From unstructured data, such as papers, reports, and even social media, extractive AI is excellent at identifying important facts and statistics. Imagine it as a super-powered highlighter that uses laser concentration to find pertinent bits. This guarantees you never overlook an important element and saves you hours of laborious research.
Knowledge Unlocking
Information that has been extracted is knowledge that has yet to be unlocked; it is not only raw data. These fragments may then be analyzed by AI, which will uncover trends, patterns, and insights that were before obscured by the chaos. This gives companies the ability to improve procedures, make data-driven choices, and get a competitive advantage.
Efficiency Unleashed
Time-consuming and monotonous repetitive jobs include data input and document analysis. By automating these procedures, extractive AI frees up human resources for more complex and imaginative thought. Imagine a workplace where your staff members spend more time utilizing information to create and perform well rather of collecting it.
Transparency Triumphs
The logic of extractive AI is transparent and traceable, in contrast to some AI models. You can examine the precise source of the data and the extraction process. This openness fosters confidence and facilitates confirming the veracity of the learned lessons.
Cost Savings Soar
Extractive AI significantly reduces costs by automating processes and using data. A healthy bottom line is a result of simpler procedures, better decision-making, and lower personnel expenses.
Thus, keep in mind the potential of extractive AI the next time you’re overwhelmed with data. obtaining value, efficiency, and insights that may advance your company is more important than just obtaining information.
The Future Of Extractive AI
Extractive AI has made a name for itself in jobs like summarization and search, but it has much more potential. The following are some fascinating areas where extractive AI has the potential to have a big influence:
Answering questions: Creating intelligent assistants that are able to use context awareness and reasoning to provide complicated answers.
Customizing information and suggestions for each user according to their requirements and preferences is known as personalization.
Fact-checking and verification: Automatically detecting and confirming factual assertions in order to combat misinformation and deception.
Constructing and managing linked information bases to aid in thinking and decision-making is known as knowledge graph creation.
Read more on Govindhtech.com
2 notes · View notes
splatoonna · 10 months ago
Text
🦑🐙• About
@kydzs here, as your ink-redibly friendly account/bot maintainer 🙂 This account is the only automated Tumblr bot on the platform bridging game updates from SplatoonNA giving you the fastest timeline news to the official source! Contact @kydzs if you have issues! Lists are organized newest to oldest:
Sponsors
Our bot is solely online due to voluntary user donations! 🤍 Donate info can be found at inkdropalley.carrd.co/thanks! The bot will be shut down when crowd funding ceases to exist :3 Don't want news about this? Block "#donations". Please note that we will post if the bot is shutdown without tags, as it is applicable to all users. Nov sponsor - @kydzs Dec sponsor - @qyewtea Jan sponsor - @qyewtea Feb sponsor - ⚠️Shut down without user donations ⚠️
Account Changelog/Updates
Don’t want these? Block “#b33p b00p” 🤖 I recommend keeping them on so if there are issues on the timeline you are notified!
Donations accepted 🤍bot online til Feb 2025 - 11/14/24
TLDR, we need funding or we'll be shutting down Dec 13th, 2024 - 11/13/24
Two Year Anniversary - 9/9/24
Investigating Failure Points - 8/13/24
Account PFP Update - 7/31/24
Cross Platform Support, Expanded - 7/25/24
1 Year Anniversary - 7/16/24
Error Investigation - 7/8/24
Text Bug, Fix
Video/Multiple Image Update
Bot Back Up Update
Life/Account Update
Twitter API Update
Setup Announcement
Not Nintendo Disclaimer
Community Asks
Don’t want these? Block “#SNA Asks”
Ask #4, are you an official blog? - 11/13/24
Ask #3, who is running this? - 7/9/24
Ask #2, on videos not playing - 7/8/24
Ask #1
11 notes · View notes
saadiq12 · 6 months ago
Text
HRMS System: 7 Powerful Ways It Can Transform Your Business Operations
Tumblr media
In today's fast-paced business environment, efficiency and productivity are paramount. One way businesses are achieving these goals is by leveraging Human Resource Management Systems (HRMS). These systems have evolved from simple employee databases to comprehensive tools that can revolutionize how businesses operate. In this blog, we'll explore seven ways an HRMS system can transform your business operations.
1. Streamlined Recruitment Process
Recruiting top talent is a critical function of any HR department. An HRMS system can significantly streamline the recruitment process by automating many of the tasks involved. From posting job ads to tracking applications and scheduling interviews, an HRMS can handle it all.
Automation of Administrative Tasks
HRMS systems can automate repetitive administrative tasks, freeing up HR professionals to focus on more strategic activities. For example, an HRMS can automatically screen resumes based on predefined criteria, schedule interviews, and send out automated emails to candidates.
Enhanced Candidate Experience
A streamlined recruitment process not only benefits HR but also improves the candidate experience. An HRMS system provides a seamless application process, timely communication, and easy access to information, enhancing the overall candidate experience.
Data-Driven Decision Making
HRMS systems provide detailed analytics and reporting capabilities that can help HR professionals make data-driven decisions. For example, an HRMS can track the source of the most successful hires, helping HR to focus their recruitment efforts on the most effective channels.
2. Improved Employee Onboarding
Employee onboarding is a crucial step in the employee lifecycle. A well-structured onboarding process can lead to higher employee satisfaction and retention rates. An HRMS system can revolutionize the onboarding process by automating and streamlining it.
Personalized Onboarding Plans
An HRMS system can create personalized onboarding plans for new hires, ensuring that they receive the training and resources they need to succeed in their roles. This can include automated workflows, task lists, and access to relevant documents and training materials.
Seamless Integration
An HRMS system can integrate with other systems used by the company, such as payroll and benefits administration, ensuring that new hires are set up in all necessary systems from day one. This reduces the administrative burden on HR and ensures a smooth onboarding process.
Ongoing Support
An HRMS system can provide ongoing support to new hires through self-service portals and access to training materials. This helps new employees quickly get up to speed and feel supported as they transition into their new roles.
3. Enhanced Employee Engagement
Employee engagement is a key driver of productivity and retention. An HRMS system can help improve employee engagement in several ways.
Performance Management
An HRMS system can provide tools for continuous performance management, including goal setting, performance reviews, and feedback. This helps employees stay aligned with company objectives and receive regular feedback on their performance.
Employee Recognition
An HRMS system can include employee recognition programs, allowing employees to recognize and reward their peers for their contributions. This can boost morale and create a positive work environment.
Employee Surveys
An HRMS system can facilitate regular employee surveys to gather feedback on various aspects of the workplace. This feedback can be used to identify areas for improvement and take action to address employee concerns.
4. Efficient Payroll and Benefits Administration
Payroll and benefits administration can be time-consuming and complex. An HRMS system can streamline these processes and ensure accuracy and compliance.
Automated Payroll Processing
An HRMS system can automate payroll processing, ensuring that employees are paid accurately and on time. This includes calculating wages, taxes, and deductions, and generating pay stubs.
Benefits Administration
An HRMS system can simplify benefits administration by providing a self-service portal where employees can enroll in and manage their benefits. This reduces the administrative burden on HR and ensures that employees have easy access to their benefits information.
Compliance
An HRMS system can help ensure compliance with various labor laws and regulations by automating compliance-related tasks and providing regular updates on changes in legislation. This reduces the risk of non-compliance and associated penalties.
5. Data Management and Analytics
Data is a valuable asset for any business. An HRMS system can help manage and analyze HR data to provide valuable insights.
Centralized Data Management
An HRMS system provides a centralized repository for all HR data, making it easy to access and manage. This includes employee records, payroll information, benefits data, and more.
Advanced Analytics
An HRMS system can provide advanced analytics capabilities, allowing HR professionals to analyze data and identify trends. For example, an HRMS can track employee turnover rates, identify the causes of turnover, and develop strategies to improve retention.
Data Security
An HRMS system ensures the security and confidentiality of HR data by implementing robust security measures. This includes data encryption, access controls, and regular security audits.
6. Regulatory Compliance
Compliance with labor laws and regulations is a critical aspect of HR management. An HRMS system can help ensure compliance and reduce the risk of non-compliance.
Automated Compliance Reporting
An HRMS system can automate compliance reporting, ensuring that all necessary reports are generated accurately and on time. This includes reports related to payroll, benefits, and employee records.
Regular Updates
An HRMS system provides regular updates on changes in labor laws and regulations, ensuring that HR professionals are always informed about the latest requirements. This helps to ensure that the company remains compliant with all relevant laws and regulations.
Audit Trails
An HRMS system provides audit trails for all HR activities, making it easy to track and verify compliance-related tasks. This can be especially useful during audits or investigations.
7. Scalability and Flexibility
As businesses grow and evolve, their HR needs change. An HRMS system can provide the scalability and flexibility needed to support this growth.
Scalable Solutions
An HRMS system can scale to accommodate the growing needs of a business. This includes adding new users, expanding functionality, and integrating with other systems.
Customizable Workflows
An HRMS system can provide customizable workflows to meet the unique needs of the business. This includes creating custom workflows for recruitment, onboarding, performance management, and more.
Adaptability
An HRMS system can adapt to changes in the business environment, such as changes in labor laws or shifts in business strategy. This ensures that the HRMS system remains relevant and effective over time.
Conclusion
Implementing an HRMS system can revolutionize your business operations by streamlining processes, improving efficiency, and providing valuable insights. From recruitment and onboarding to payroll and compliance, an HRMS system can transform how your business manages its human resources. By leveraging the power of an HRMS system, businesses can create a more productive, engaged, and compliant workforce, driving long-term success.
3 notes · View notes
rise2research · 4 months ago
Text
Future-Proofing Industry Insights: AI as the Key to Market Evolution
Tumblr media
One tool that is becoming essential for this is Artificial Intelligence (AI). By integrating AI into market analysis, businesses are transforming how they understand their industries and plan for the future. But how does AI help with this, and why is it such a game-changer?
What is AI in Market Insights?
Artificial Intelligence refers to computer systems designed to mimic human intelligence. In market analysis, AI can analyze large sets of data much faster and more accurately than any human ever could. It helps businesses uncover patterns, predict future trends, and make informed decisions based on real-time data.
Instead of relying on gut feelings or traditional methods, AI can process huge amounts of information from various sources—everything from social media posts to financial reports. This makes it easier to understand customer behavior, identify new opportunities, and respond to changes in the market.
The Benefits of AI in Market Evolution
Faster Decision Making: Traditional market analysis can take weeks or even months. With AI, businesses can receive insights in real-time. For example, if a new competitor enters the market, AI can quickly analyze their impact and suggest strategies to stay competitive.
Better Accuracy: Humans are prone to errors, but AI can process data with incredible precision. It reduces the chances of missing important trends or making decisions based on inaccurate information. This level of accuracy ensures businesses make the right moves at the right time.
Predictive Power: One of AI's most powerful features is its ability to predict future trends. Using historical data, AI can forecast market shifts, customer behavior changes, or even potential economic downturns. This predictive capability allows companies to plan ahead, mitigate risks, and take advantage of emerging opportunities.
Personalized Insights: Every business is unique, and AI can deliver insights tailored to specific industries or company needs. For example, a fashion retailer might use AI to track seasonal trends, while a tech company could use it to monitor the latest innovations. AI helps businesses focus on what matters most to them.
Improved Efficiency: AI can automate routine tasks like data collection and reporting. This frees up time for employees to focus on more strategic work, such as creative problem-solving or developing new products. By enhancing efficiency, AI allows businesses to do more with less effort.
How AI is Changing Market Analysis
The impact of AI on market analysis is revolutionary. In the past, businesses relied heavily on historical data and general trends to make decisions. Today, AI provides a much deeper understanding of the market.
For instance, AI can analyze customer reviews, social media conversations, and online searches to give businesses real-time feedback on how their products are perceived. This allows companies to quickly adjust their marketing strategies or make product improvements.
In addition, AI is helping businesses identify new markets and customer segments. By analyzing global data, AI can pinpoint areas with growing demand or untapped opportunities. This gives companies a head start in entering new markets or developing products for emerging customer needs.
The Future of Market Insights with AI
As AI technology continues to evolve, its role in market analysis will only grow. Businesses that invest in AI now will be better positioned to adapt to future changes in their industries.
The future will likely see even more advanced AI systems capable of understanding complex market dynamics and providing insights that were previously unimaginable. For example, AI could help predict consumer behavior changes before they happen or identify entirely new business models.
Conclusion
In an increasingly competitive global marketplace, businesses must find ways to stay ahead. AI is proving to be a vital tool in this quest. By offering faster, more accurate, and personalized insights, AI is helping companies not only survive but thrive in evolving markets.
The key to future-proofing industry insights lies in AI's ability to transform raw data into actionable strategies. As this technology continues to develop, its impact on market evolution will only become more profound. Embracing AI today means being ready for tomorrow’s challenges—and opportunities.
Also read: b2b market research services
healthcare market research services
2 notes · View notes
wumblr · 2 years ago
Text
let's have a hard talk. these insufferable takes on AI are not advancing the discussion. the discussion was miles beyond this "takes work from artist" "consumer boycott must be the answer" dead on arrival poor substitute for an analysis, years ago, when timnit gebru got fired from google, for making what is now, because of her, the trivially obvious observation that large datasets may be too large to manually analyse for bias.
like congratulations. you have hit upon the point of capek's RUR, origin of the word robot, from a hundred years ago. were you going to take another point from back before the dust bowl or was that it? it's not just automation that takes surplus value from labor, it's any increase in efficiency. this is the first textbook feature of the economic model we're living under. luddites genuinely had more sense for nuance when the loom threatened to extract value from their labor at a pace never before seen. this is not that. luddites were producing textiles that people actually bought. you aren't.
aside from that, the implication that this is on par with like, a museum heist, or art forgery (both of which are, by the way, through a lens that includes class analysis, badass) is laughable. you are not selected for exhibition by making posts online, you are participating in a social medium where your continued pageviews are the source of advertising revenue. you are not bourgeoise, you are proletarian. your deviantart was search engine optimized to the point that it was trivial to pull five billion carbon copies of you off google images with like a two-line API call. you are not unique, you are one drop in a lost generation's renaissance. maybe if you don't want your work "stolen" you shouldn't be posting an endlessly reproducible digital copy to the world wide web? it's been seven years since twitter killed vine for trying to set the precedent that collective action can produce wage, can we bring back that level of foresight yet? or are you happy settling for tiktok because they deign to curate a ""creators fund"" for white heterosexuals? go buy a lottery ticket
i've said it before but this is a structured argument, presented to you with two neatly-collimated "sides," one that says every possible piece of data should be available for free for capitalist class to build automation out of it, and one that says pirating endlessly reproducible goods belonging the capitalist class should have harsher punishment. this is intentional, not unique, not new. it's the perverse dialectic of capital. you can only argue a side that benefits it.
the absence of nuanced intersectional perspective here is embarrassing. beyond that it's painfully obvious people are taking it personally, as if you had any chance to make rent as an artist, regardless of what procedural generation or neural networks might do. it's a selfish, blindly individualistic, mass manufactured wholesale bargain basement opinion, one that does not serve to advance any collective good, because it's based in the pipe dream of suddenly jumping three tax brackets to become bourgeoise. beyond that, doesn't it cheapen your art to only ever make saleable products? beyond that, it's painfully obvious none of you have ever tried using a neural network. from computer science or statistical perspectives, these constructs are novel and fascinating (or, the advent of cheap processing power sufficient to allow decades-old theory to flourish, which let's be honest, this power relies on an exploitative global network of rare mineral resource extraction and high precision manufacturing, which is yet one more topic i haven't once seen broached in the months this stultifyingly dull conversation has been ongoing.)
blaming a novelty for the ills of capitalism is nonsense, and it's not why luddites opposed the loom.
and let me just tell you, working with a code construct also does not improve your chances as an artist, which is the main point i wish i could get across. aside from the absence of intersectionality there's also an absence of class analysis, in which context it's, again, painfully obvious that no capitalist has ever cared one whit about art. even when they deign to take on a patronage it's as a backhanded PR stunt, like the unpaid notre dame roof pledges, to offset the ill repute they've accrued from extracting value for personal gain, while contributing nothing except the directive power their birthright of wealth gave them. this is the main critique i had about age of surveillance capitalism -- zuboff seems to think a return to ford-era capitalism, where the rich bothered to endow museums (to curate what they exclude) or pay a livable wage (in order to recapture it as sales), would solve the fundamental problem of value extraction from labor and natural resources for the barefaced sake of the profit motive. unremarkable and unsurprising for tenured faculty of harvard, how else would she sell books? but for some foolhardy reason i expected better from my peers.
your aspirations of small business aren't going to flourish if you suddenly got everything you claim to want and they banned every code construct from competing with you. you are not in competition with capital. you are nothing to it, it will kill you in total indifference without blinking, surely you ought to know this by now, it will bus in scab slave labor from prison to ramp up production despite a boycott in solidarity with a strike, and it's going to remain this way as long as capital survives. whether or not an algorithm or a network or an artifice is involved is irrelevant to the fundamental problem that it's a winner-takes-all game that ended before you were born. unless and until you want to start challenging the police that uphold the state or the insurance trust that pays to replace its points of failure, you're doing surface level armchair analysis on a problem that only the extremely online care about. arguing over what color of icing is on the cake you're never going to be eating while you starve for lack of bread.
and like... i get it. after the pandemic that we're still going through, you want to refocus on the things that really make you happy. but i've got to say, refocusing on art until you starve because you didn't manage to figure out self-sufficience during a recession is a sad way to die. perhaps you should consider the necessity of survival as a precursor to contentment. and to be clear i am saying this specifically because i care whether you survive and because i am interested in the artworks you are making or in your future potential. but you can't focus on that to the exclusion of all else, dog eat dog world and that means every day i have to see someone get ate. now for the last time, for god's sake can you stop yelling "this is because of code constructs" every time a dog eats your purported art commission revenue because it's really hurting MY purported small business revenue, selling products of code constructs,
42 notes · View notes
machine-saint · 1 year ago
Note
Maybe you will have some insight into this. You seem reasonable and are aware of things like sampling bias and I'm kind of confused: Why is everyone so confident that the posts that are getting flagged for adult content are disproportionately posts by/about trans women? I keep seeing tons of innocent stuff (pictures of mountains, pictures of food, silly comics etc) that has nothing to do with trans women, getting flagged. And also stuff about or depicting cis or not-specifically-trans women. Reporting systems are definitely ripe for abuse but there just aren't very many terfs on this website and the bit of looking around on their pages and tags that I did for as long as I could stomach it (admittedly not that long) didn't give me any impression of a coordinated campaign. Unconscious bias does exist but that applies to cis women and all lgbt people too... Mostly I just keep seeing stuff that goes like "I'm a trans woman and all my friends on here are trans women and our posts keep getting hit with the mature content hammer therefore it's targeting trans women hugely disproportionately" and that's possible but it also seems possible that if someone's entire social circle is trans women then they're not going to see all the other circumstances where the label is being erroneously applied and will be getting an inaccurate picture. and it's a picture that people who think that "how many lgbt people are on tumblr" poll is a useful source of data have been pushing so I'm kind of skeptical about how much people are accounting for sampling bias and similar things.
Sorry this got long. I was worried if I posted it not on anon I'd basically get harassed till I deleted so I'm hoping to get your take because this seems so obvious to everyone else but seems really faulty to me. Please feel free to ignore of course.
so i think there's two things going on here
tumblr was under investigation by the new york city commission on human rights and they reached a settlement a year ago. apparently their evidence wasn't made public but i assume that a government organization has better sources than "animalgirlnoun on tumblr's selfies got taken down". there's also been historical cases of people doing much more 'controlled' experiments, like removing the word "trans" from the title of a youtube video, in ways that show some pretty clear discrimination (in terms of effect). i've also seen people post screenshots of tags that you can't search for (which is clearly a manual decision on tumblr's part)
but yeah considering the fact that there are screenshots going around of, like, pictures of trees or abstract patterns that are marked mature i don't think it's really possible for us to say how much of the problem actually is tumblr's moderation being discriminatory (intentionally or unintentionally) and how much of it is it just being bad. even if you try to, like, upload the same selfie twice and call yourself cis in one and trans in the other, it's likely that any human review would be done by separate people. the youtube example only works because that's an automated process.
ultimately i think it's likely that tumblr's moderation system has some amount of anti-lgbtq bias but the only people that can really know that are tumblr themselves and obviously they're going to try to make themselves look good. i've seen every combination of [trans girl porn/cis girl porn] [labeled as mature/with no moderation label] and it's not like i'm keeping a running tally
12 notes · View notes
ao3-anonymous · 1 year ago
Note
Hey, can I ask how you pull the data into your dashboard from ao3? I’m just another curious data nerd - thanks!
Sure! I use a webscraper (Beautiful Soup) to scrape all the fandom category pages (e.g. https://archiveofourown.org/media/TV%20Shows/fandoms) and basically use a bunch of string functions to parse through a giant piece of HTML to pull every Fandom Name and it's associated fic count.
(Note: some people have pointed out that occasionally the number on the Category page does not match the number at the top when you click through and I have no idea what causes this discrepancy. Take it up with AO3 lol. I just use whatever the Category page says.)
I have the scraper set to run once a week on Monday, so I just match up the new count with previously collected data and calculate fandom size change from there! I store the raw data in a bunch of nested dictionaries in a JSON locally, which then powers a Google Sheet where the calculations are run. The dashboard is then connected to the Google Sheet as a data source!
I pretty much taught myself Python just for this project initially (although now I use it at work too and am getting a pay raise for it - thanks ADHD!) so it's definitely not the most elegant solution, but it works!
The only part of the workflow that isn't fully automated is the weekly Tumblr post - I have a script that creates the post, but if I set it to run automatically, the images never come out right. So I have to remember to click the button once a week, which I'm not great at (thanks ADHD), so that's why they don't always come out on Mondays.
Hope that helps! LMK if you have any questions!
14 notes · View notes
nyaza · 1 year ago
Text
Tumblr media
(this is a small story of how I came to write my own intrusion detection/prevention framework and why I'm really happy with that decision, don't mind me rambling)
Preface
Tumblr media
About two weeks ago I was faced with a pretty annoying problem. Whilst I was going home by train I have noticed that my server at home had been running hot and slowed down a lot. This prompted me to check my nginx logs, the only service that is indirectly available to the public (more on that later), which made me realize that - due to poor access control - someone had been sending me hundreds of thousands of huge DNS requests to my server, most likely testing for vulnerabilities. I added an iptables rule to drop all traffic from the aforementioned source and redirected remaining traffic to a backup NextDNS instance that I set up previously with the same overrides and custom records that my DNS had to not get any downtime for the service but also allow my server to cool down. I stopped the DNS service on my server at home and then used the remaining train ride to think. How would I stop this from happening in the future? I pondered multiple possible solutions for this problem, whether to use fail2ban, whether to just add better access control, or to just stick with the NextDNS instance.
I ended up going with a completely different option: making a solution, that's perfectly fit for my server, myself.
My Server Structure
So, I should probably explain how I host and why only nginx is public despite me hosting a bunch of services under the hood.
Tumblr media
I have a public facing VPS that only allows traffic to nginx. That traffic then gets forwarded through a VPN connection to my home server so that I don't have to have any public facing ports on said home server. The VPS only really acts like the public interface for the home server with access control and logging sprinkled in throughout my configs to get more layers of security. Some Services can only be interacted with through the VPN or a local connection, such that not everything is actually forwarded - only what I need/want to be.
I actually do have fail2ban installed on both my VPS and home server, so why make another piece of software?
Tabarnak - Succeeding at Banning
Tumblr media
I had a few requirements for what I wanted to do:
Only allow HTTP(S) traffic through Cloudflare
Only allow DNS traffic from given sources; (location filtering, explicit white-/blacklisting);
Webhook support for logging
Should be interactive (e.g. POST /api/ban/{IP})
Detect automated vulnerability scanning
Integration with the AbuseIPDB (for checking and reporting)
As I started working on this, I realized that this would soon become more complex than I had thought at first.
Webhooks for logging This was probably the easiest requirement to check off my list, I just wrote my own log() function that would call a webhook. Sadly, the rest wouldn't be as easy.
Allowing only Cloudflare traffic This was still doable, I only needed to add a filter in my nginx config for my domain to only allow Cloudflare IP ranges and disallow the rest. I ended up doing something slightly different. I added a new default nginx config that would just return a 404 on every route and log access to a different file so that I could detect connection attempts that would be made without Cloudflare and handle them in Tabarnak myself.
Integration with AbuseIPDB Also not yet the hard part, just call AbuseIPDB with the parsed IP and if the abuse confidence score is within a configured threshold, flag the IP, when that happens I receive a notification that asks me whether to whitelist or to ban the IP - I can also do nothing and let everything proceed as it normally would. If the IP gets flagged a configured amount of times, ban the IP unless it has been whitelisted by then.
Location filtering + Whitelist + Blacklist This is where it starts to get interesting. I had to know where the request comes from due to similarities of location of all the real people that would actually connect to the DNS. I didn't want to outright ban everyone else, as there could be valid requests from other sources. So for every new IP that triggers a callback (this would only be triggered after a certain amount of either flags or requests), I now need to get the location. I do this by just calling the ipinfo api and checking the supplied location. To not send too many requests I cache results (even though ipinfo should never be called twice for the same IP - same) and save results to a database. I made my own class that bases from collections.UserDict which when accessed tries to find the entry in memory, if it can't it searches through the DB and returns results. This works for setting, deleting, adding and checking for records. Flags, AbuseIPDB results, whitelist entries and blacklist entries also get stored in the DB to achieve persistent state even when I restart.
Detection of automated vulnerability scanning For this, I went through my old nginx logs, looking to find the least amount of paths I need to block to catch the biggest amount of automated vulnerability scan requests. So I did some data science magic and wrote a route blacklist. It doesn't just end there. Since I know the routes of valid requests that I would be receiving (which are all mentioned in my nginx configs), I could just parse that and match the requested route against that. To achieve this I wrote some really simple regular expressions to extract all location blocks from an nginx config alongside whether that location is absolute (preceded by an =) or relative. After I get the locations I can test the requested route against the valid routes and get back whether the request was made to a valid URL (I can't just look for 404 return codes here, because there are some pages that actually do return a 404 and can return a 404 on purpose). I also parse the request method from the logs and match the received method against the HTTP standard request methods (which are all methods that services on my server use). That way I can easily catch requests like:
XX.YYY.ZZZ.AA - - [25/Sep/2023:14:52:43 +0200] "145.ll|'|'|SGFjS2VkX0Q0OTkwNjI3|'|'|WIN-JNAPIER0859|'|'|JNapier|'|'|19-02-01|'|'||'|'|Win 7 Professional SP1 x64|'|'|No|'|'|0.7d|'|'|..|'|'|AA==|'|'|112.inf|'|'|SGFjS2VkDQoxOTIuMTY4LjkyLjIyMjo1NTUyDQpEZXNrdG9wDQpjbGllbnRhLmV4ZQ0KRmFsc2UNCkZhbHNlDQpUcnVlDQpGYWxzZQ==12.act|'|'|AA==" 400 150 "-" "-"
I probably over complicated this - by a lot - but I can't go back in time to change what I did.
Interactivity As I showed and mentioned earlier, I can manually white-/blacklist an IP. This forced me to add threads to my previously single-threaded program. Since I was too stubborn to use websockets (I have a distaste for websockets), I opted for probably the worst option I could've taken. It works like this: I have a main thread, which does all the log parsing, processing and handling and a side thread which watches a FIFO-file that is created on startup. I can append commands to the FIFO-file which are mapped to the functions they are supposed to call. When the FIFO reader detects a new line, it looks through the map, gets the function and executes it on the supplied IP. Doing all of this manually would be way too tedious, so I made an API endpoint on my home server that would append the commands to the file on the VPS. That also means, that I had to secure that API endpoint so that I couldn't just be spammed with random requests. Now that I could interact with Tabarnak through an API, I needed to make this user friendly - even I don't like to curl and sign my requests manually. So I integrated logging to my self-hosted instance of https://ntfy.sh and added action buttons that would send the request for me. All of this just because I refused to use sockets.
First successes and why I'm happy about this After not too long, the bans were starting to happen. The traffic to my server decreased and I can finally breathe again. I may have over complicated this, but I don't mind. This was a really fun experience to write something new and learn more about log parsing and processing. Tabarnak probably won't last forever and I could replace it with solutions that are way easier to deploy and way more general. But what matters is, that I liked doing it. It was a really fun project - which is why I'm writing this - and I'm glad that I ended up doing this. Of course I could have just used fail2ban but I never would've been able to write all of the extras that I ended up making (I don't want to take the explanation ad absurdum so just imagine that I added cool stuff) and I never would've learned what I actually did.
So whenever you are faced with a dumb problem and could write something yourself, I think you should at least try. This was a really fun experience and it might be for you as well.
Post Scriptum
First of all, apologies for the English - I'm not a native speaker so I'm sorry if some parts were incorrect or anything like that. Secondly, I'm sure that there are simpler ways to accomplish what I did here, however this was more about the experience of creating something myself rather than using some pre-made tool that does everything I want to (maybe even better?). Third, if you actually read until here, thanks for reading - hope it wasn't too boring - have a nice day :)
8 notes · View notes