if I had a lot more time I think I might write a book on my ideas about "adversarial automation".

The idea that the point of computers is to help the humans do their job faster and easier, and sometimes the computer or the software on it is the enemy in that battle.

because I see a lot of people approaching automation from this attitude of "software/sites should have APIs so that users can write software to automate it!"
and while that's not wrong, exactly, it's also not the attitude I think makes the most sense, you know?

We do not ask for access. We don't need to get permission to be able to automate our tasks.

There is always API 0: acting like a human/browser/user.

The first API is "fuck you I'm doing it anyway". Any additional API the program provides is merely a helpful shortcut

You see the point of this a lot in API design, where a company is like "okay we made an API but we limited it a bunch because we are scared about cheaters/bots/scrapers/whatever", while the things they limit are things a user clicking links can do in 2 seconds.

like, if your API doesn't provide me a follow_user() call, but the user can follow anyone by clicking one link?

Your lack of a follow_user() call is not going to stop me. I'm just going to click the link, automatically.
Having an API 1.0 doesn't mean API 0 goes away.

And I think this is an under-discussed part of automation because it's associated with spammers and such, but they're only one possible user of this. By making it better known it can get used for more legitimate uses
The basic philosophy of adversarial automation is that the software/website is the enemy.
You don't control it, so it can't be consider an ally in this automation.
I'm talking less like "you're in a constant arms race with the people maintaining the official API as they try to stop your spamming" and more like "Your lab depends on this program from 1996 and there's no updates and no way to automate it"
and the answer is really that of course you can automate it. Stick it in a VM, OCR the screens, inject your own DLLs, puppet the keyboard and mouse!

my point is that every program, every website, DOES expose an API, you just need to know how to best use that API.

That API being "the access they provide for humans"

For websites this is forms and links. For desktop applications this is buttons and windows and keyboards.
And I think (in part because it's affiliated with Bad Actors like spammers), a lot of programmers don't consider all their options in these areas.
And that's really a shame. Computers should be used to automate things. We spend way too much time dealing with shitty sites and shitty programs because we have no choice and think we can't automate them away.
well, that's wrong. We can absolutely automate them, it just takes a little more work and some different strategies

I think of this as a short term vs long term thinking sort of problem. Like, a lot of programmers are stuck in the "should" part of thinking about programs and sites.

Yes, the program SHOULD be open source, so you can just fix the UI. Yes, the website SHOULD have an extensive API so you can easily automate it.

I agree with all that!

but... it doesn't.

and if you want to automate it today, your only options are to be adversarial about it. It's the enemy, you pretend to be a human user and automate the interactions with the app/site. It's the only way.

by all means, try to switch to open source alternatives or get them to fix it or add an API.

But at the end of the day that's asking "the enemy" to do something for you, and they are under no obligation to listen to you.

(They may not even exist anymore, given that a lot of the times when I've used this sort of Adversarial Automation it's been focused on software from decades ago)

It's also a thing that intersects with the way a lot of people online are thinking about computer-use as something they do as a personal hobby, you know? They can run any OS, any software they can legally (or even illegally) install, they can use any options they want

But the fact is, often times people have jobs where they aren't self-employed and have to work for other people, and those other people can be like "you need to use FooBaz 2007 for this job".

Would it be easier to automate if you were using OpenBaz? Certainly! But your boss can still tell you "no, we're not switching to OpenBaz, we need to use FooBaz 2007"

And now your options are basically just:
1. Get a different job
2. Use FooBaz 2007 manually
3. Adversarially automate FooBaz 2007
One example where this came up in my career was when I was working for an educational book creator/publisher. Apple had just added a bookreader tool for iphones/ipads/etc, and we had a lot of colleges asking if we could provide our textbooks in that format.

well, at the time the only way you could make books for apple devices was to use the book creation program, which was basically a word processor. It was focused around the idea that you would create your books inside it.

Well, we already had our books created.

We didn't want to have someone retype them.

We could import them as plain text (or DOC, I think?) and that'd get the actual text content of our books with some minor formatting, but we had very interactive and multimedia books. Tons of images, cross links, quizzes, and so on. Pretty much all things that the apple book format supported, but didn't support importing.

So our options were basically:
1. Hire a bunch of people to painstakingly re-create our books inside the Apple Books tool
2. Adversarial Automation, baby!
We figured out how much could be imported, and what was left out. We figured out the limitations of the undocumented applescript interface. We figured out we could build complex HTML documents, copy them, and then have the keyboard automation press "cmd-V" and they'd be brought in without issues.
We automated away the bad UI that was going to make it too expensive to publish on apple platforms.

Should Apple have provided better docs and interfaces and APIs?
Yes, of course!
We asked for them.

But at the end of they day, they may not. And we need to publish this stuff soon, not in several years when Apple decides it might be a good idea for the next revision

My overall point is something like:

By all means, use APIs and official channels and built-in scripting support if you can.

But remember those are only shortcuts to automation. You can always ignore them and off-road.

My silliest example of this sort of thing:

I was automatically taking screenshots of a DS game in an emulator. my program would load a savestate, jam some new data into the DS's RAM, hit a button, then screenshot it. But the emulator was showing a "SAVE STATE LOADED!" text overlay over the game's window, no matter what option I set.

I go on the dev's discord/IRC, talk to them about making it an option, they say they've considered it but it's low priority.
I look into building the software myself, but it's very complicated on windows, with a lot of dependencies and such...

I open the EXE in a hex editor. Find the string "SAVE STATE LOADED!", and change the first character to a NUL.

Now the emulator is still showing the message, but since it's zero characters long, it's invisible. Problem solved.

my overall thesis is, I guess, that programmers need to remember they can say "fuck you" to software more often.
@foone I never thought of it this way, but now API 0 is going to be stuck in my head forever. I had a ticket for an in-house web app closed because the feature could be abused, and now I just click a bookmarklet that implements it. My life’s full of adversarial automations, and I love your description here.
@benetherington @foone I have a TamperMonkey JS snippet to re-enable the HTML-editing option on a web app's rich text editor, that the developers of the app deliberately disable. And I use that option because they reconfigured the HTML editor so it won't produce paragraphs.
@foone my god you buried the lede on this, and also: fuck yeah
Kevin Karhan :verified: (@[email protected])

One thing that really pisses me off personally is the #regression in terms of #Messenger #Apps. My personal distaste and dislike for #proprietary, #SingleVendor & #SingleProvider #services like #Signal [¹](https://infosec.space/@kkarhan/114234551915193036) [²](https://infosec.space/@kkarhan/114935952643402592), #Telegram, #Discord [³](https://infosec.space/@kkarhan/114865723904157014) [⁴](https://social.treehouse.systems/@krutonium/115157611977216372), #WhatsApp [⁵](https://infosec.space/@kkarhan/114873895410403238), #Slack, #MicrosoftTeams, #discord [⁶](https://infosec.space/@kkarhan/116063760849048926)[⁷](https://infosec.space/@kkarhan/115736223551632209) etc. aside: - *WHY* is there no #CrossProvider #Messenger to handle that shite? - *WHY* does everyone of these shitty providers think people want to download their #bloated #WebApp that takes up triple digit Megabytes if not entire Gigabytes and will gobble up all the #RAM and #CPU each of them can?? This problem ain't new and *already got [solved for corporate social media](https://infosec.space/@kkarhan/114862619013462466) ages ago!* (Not to mention actually good messengers!) - And no, [bridges](https://toots.ch/@dalai/114862754556459439) *[don't](https://swecyb.com/@troed/114862774972645542) count*! - I mean `API 0` - [style](https://digipres.club/@foone/112685423773959519) access because obviously [none of the platforms](https://digipres.club/@foone/112685414638522984) will *allow, endorse or support such an endeavour* and [*actively fight the developers and users*](https://digipres.club/@foone/112685441496803574) ! So yeah, consider this a call for a @[email protected] / #Gajim or @[email protected] / #Pidgin *for garbage platforms!* - Cuz back in the day we had *way worse messengers* yet people actually made #AIM, #ICQ, #MSN, #QQ, #IRC & #XMPP work just fine from one single *"phat" client*! - Can we please get that back? Cuz #WastefulComputing pisses me off! #api0 #Enshittification

Infosec.Space
@foone I guess there is a case that unsupported legacy software is _easier_ to hack around, because it’s a dead sitting duck, instead of constantly moving chameleon.

@benjohn @foone nodds in agreement

Kevin Karhan :verified: (@[email protected])

Content warning: cartoon violence against software

Infosec.Space

@foone I not only say so but I give it the finger more often!

kill -9 is the biggest finger!

@foone parsing HTML, more likely thank you think.

@foone I think the aversion to just using regex to make your own API stems from our desire to not have a moving target.

Then you try to build on any Google API and have it move anyways.

@foone software not working? simply don't make more until it learns its place 

@mjdxp @foone +9001%

I tend to beat software into submission or replace it!

@mjdxp @foone or beat it and the providers into submission with the digital equivalent of a aluminium baseball bat!

https://infosec.space/@kkarhan/114862595629371002

#sarcasm

Kevin Karhan :verified: (@[email protected])

One thing that really pisses me off personally is the #regression in terms of #Messenger #Apps. My personal distaste and dislike for #proprietary, #SingleVendor & #SingleProvider #services like #Signal [¹](https://infosec.space/@kkarhan/114234551915193036) [²](https://infosec.space/@kkarhan/114935952643402592), #Telegram, #Discord [³](https://infosec.space/@kkarhan/114865723904157014) [⁴](https://social.treehouse.systems/@krutonium/115157611977216372), #WhatsApp [⁵](https://infosec.space/@kkarhan/114873895410403238), #Slack, #MicrosoftTeams, #discord [⁶](https://infosec.space/@kkarhan/116063760849048926)[⁷](https://infosec.space/@kkarhan/115736223551632209) etc. aside: - *WHY* is there no #CrossProvider #Messenger to handle that shite? - *WHY* does everyone of these shitty providers think people want to download their #bloated #WebApp that takes up triple digit Megabytes if not entire Gigabytes and will gobble up all the #RAM and #CPU each of them can?? This problem ain't new and *already got [solved for corporate social media](https://infosec.space/@kkarhan/114862619013462466) ages ago!* (Not to mention actually good messengers!) - And no, [bridges](https://toots.ch/@dalai/114862754556459439) *[don't](https://swecyb.com/@troed/114862774972645542) count*! - I mean `API 0` - [style](https://digipres.club/@foone/112685423773959519) access because obviously [none of the platforms](https://digipres.club/@foone/112685414638522984) will *allow, endorse or support such an endeavour* and [*actively fight the developers and users*](https://digipres.club/@foone/112685441496803574) ! So yeah, consider this a call for a @[email protected] / #Gajim or @[email protected] / #Pidgin *for garbage platforms!* - Cuz back in the day we had *way worse messengers* yet people actually made #AIM, #ICQ, #MSN, #QQ, #IRC & #XMPP work just fine from one single *"phat" client*! - Can we please get that back? Cuz #WastefulComputing pisses me off! #api0 #Enshittification

Infosec.Space
@mjdxp @foone I literally refuse to use shit software for tuat reason alone and so far this has accelerated my career more than stifled.
Kevin Karhan :verified: (@[email protected])

One thing that really pisses me off personally is the #regression in terms of #Messenger #Apps. My personal distaste and dislike for #proprietary, #SingleVendor & #SingleProvider #services like #Signal [¹](https://infosec.space/@kkarhan/114234551915193036) [²](https://infosec.space/@kkarhan/114935952643402592), #Telegram, #Discord [³](https://infosec.space/@kkarhan/114865723904157014) [⁴](https://social.treehouse.systems/@krutonium/115157611977216372), #WhatsApp [⁵](https://infosec.space/@kkarhan/114873895410403238), #Slack, #MicrosoftTeams, #discord [⁶](https://infosec.space/@kkarhan/116063760849048926)[⁷](https://infosec.space/@kkarhan/115736223551632209) etc. aside: - *WHY* is there no #CrossProvider #Messenger to handle that shite? - *WHY* does everyone of these shitty providers think people want to download their #bloated #WebApp that takes up triple digit Megabytes if not entire Gigabytes and will gobble up all the #RAM and #CPU each of them can?? This problem ain't new and *already got [solved for corporate social media](https://infosec.space/@kkarhan/114862619013462466) ages ago!* (Not to mention actually good messengers!) - And no, [bridges](https://toots.ch/@dalai/114862754556459439) *[don't](https://swecyb.com/@troed/114862774972645542) count*! - I mean `API 0` - [style](https://digipres.club/@foone/112685423773959519) access because obviously [none of the platforms](https://digipres.club/@foone/112685414638522984) will *allow, endorse or support such an endeavour* and [*actively fight the developers and users*](https://digipres.club/@foone/112685441496803574) ! So yeah, consider this a call for a @[email protected] / #Gajim or @[email protected] / #Pidgin *for garbage platforms!* - Cuz back in the day we had *way worse messengers* yet people actually made #AIM, #ICQ, #MSN, #QQ, #IRC & #XMPP work just fine from one single *"phat" client*! - Can we please get that back? Cuz #WastefulComputing pisses me off! #api0 #Enshittification

Infosec.Space
@foone I automate facebook. I check if new users have answered the group admittance qustions correctly, and only then I allow them into the facebook group.
All done with firefox piloted with xdotool.
Facebook/Meta could offer an API for group management, but they don't. And they will never do.
@foone I honestly wonder if I can spend more than 10 minutes using software and not say "fuck you". Software is infuriating

@dziban @foone I literally get stomach cramps and have to vomit when I touch Windows, so this is too relatable...

https://infosec.space/@kkarhan/114862595629371002

Kevin Karhan :verified: (@[email protected])

One thing that really pisses me off personally is the #regression in terms of #Messenger #Apps. My personal distaste and dislike for #proprietary, #SingleVendor & #SingleProvider #services like #Signal [¹](https://infosec.space/@kkarhan/114234551915193036) [²](https://infosec.space/@kkarhan/114935952643402592), #Telegram, #Discord [³](https://infosec.space/@kkarhan/114865723904157014) [⁴](https://social.treehouse.systems/@krutonium/115157611977216372), #WhatsApp [⁵](https://infosec.space/@kkarhan/114873895410403238), #Slack, #MicrosoftTeams, #discord [⁶](https://infosec.space/@kkarhan/116063760849048926)[⁷](https://infosec.space/@kkarhan/115736223551632209) etc. aside: - *WHY* is there no #CrossProvider #Messenger to handle that shite? - *WHY* does everyone of these shitty providers think people want to download their #bloated #WebApp that takes up triple digit Megabytes if not entire Gigabytes and will gobble up all the #RAM and #CPU each of them can?? This problem ain't new and *already got [solved for corporate social media](https://infosec.space/@kkarhan/114862619013462466) ages ago!* (Not to mention actually good messengers!) - And no, [bridges](https://toots.ch/@dalai/114862754556459439) *[don't](https://swecyb.com/@troed/114862774972645542) count*! - I mean `API 0` - [style](https://digipres.club/@foone/112685423773959519) access because obviously [none of the platforms](https://digipres.club/@foone/112685414638522984) will *allow, endorse or support such an endeavour* and [*actively fight the developers and users*](https://digipres.club/@foone/112685441496803574) ! So yeah, consider this a call for a @[email protected] / #Gajim or @[email protected] / #Pidgin *for garbage platforms!* - Cuz back in the day we had *way worse messengers* yet people actually made #AIM, #ICQ, #MSN, #QQ, #IRC & #XMPP work just fine from one single *"phat" client*! - Can we please get that back? Cuz #WastefulComputing pisses me off! #api0 #Enshittification

Infosec.Space
@dziban @foone I can't spend a single second with some without getting rashes or vomiting...

@foone

Your message is well received. I 100% agree with the "fuck you, doing it anyway" methods and have done some of the things you mention, like wrapping a shitty Java hardware controller with xdotool, editing binaries, replacing the dynamic linker to use different libc.

My first job involved protocol normalizers for financial data, and included putting an API around things designed for a dedicated rs232 attached terminal.

@foone thanks for this informative thread. This answers a lot of questions I've had for a while but been unable to get concrete answers about. (When I've asked I've gotten a lot of, "Well, maybe, technically, BUT" type answers that sounded like a semi hard no but it sounds like the real answer was actually "Yes but I don't want to/am afraid to/don't know how to approach it" all along.)
@foone I love this, and will add: the most powerful current example of this is adblocking. Using a good adblocker is so empowering.

@foone I do say "fuck you!" way too less...

And yes, I'm pissed off about shitty #WebApps to the point that my anger becomes "weapons-grade"!

Kevin Karhan :verified: (@[email protected])

One thing that really pisses me off personally is the #regression in terms of #Messenger #Apps. My personal distaste and dislike for #proprietary, #SingleVendor & #SingleProvider #services like #Signal [¹](https://infosec.space/@kkarhan/114234551915193036) [²](https://infosec.space/@kkarhan/114935952643402592), #Telegram, #Discord [³](https://infosec.space/@kkarhan/114865723904157014) [⁴](https://social.treehouse.systems/@krutonium/115157611977216372), #WhatsApp [⁵](https://infosec.space/@kkarhan/114873895410403238), #Slack, #MicrosoftTeams, #discord [⁶](https://infosec.space/@kkarhan/116063760849048926)[⁷](https://infosec.space/@kkarhan/115736223551632209) etc. aside: - *WHY* is there no #CrossProvider #Messenger to handle that shite? - *WHY* does everyone of these shitty providers think people want to download their #bloated #WebApp that takes up triple digit Megabytes if not entire Gigabytes and will gobble up all the #RAM and #CPU each of them can?? This problem ain't new and *already got [solved for corporate social media](https://infosec.space/@kkarhan/114862619013462466) ages ago!* (Not to mention actually good messengers!) - And no, [bridges](https://toots.ch/@dalai/114862754556459439) *[don't](https://swecyb.com/@troed/114862774972645542) count*! - I mean `API 0` - [style](https://digipres.club/@foone/112685423773959519) access because obviously [none of the platforms](https://digipres.club/@foone/112685414638522984) will *allow, endorse or support such an endeavour* and [*actively fight the developers and users*](https://digipres.club/@foone/112685441496803574) ! So yeah, consider this a call for a @[email protected] / #Gajim or @[email protected] / #Pidgin *for garbage platforms!* - Cuz back in the day we had *way worse messengers* yet people actually made #AIM, #ICQ, #MSN, #QQ, #IRC & #XMPP work just fine from one single *"phat" client*! - Can we please get that back? Cuz #WastefulComputing pisses me off! #api0 #Enshittification

Infosec.Space
@foone I've done this very often, to the point it's sort of become second nature. It's always for hobby reasons: writing some automation for a website or patching a native app. Gentoo's way of "installing" patches and uBlock are super powerful as API0 helpers.
The one time I did this for work was when I had to control a machine to perform some tests. They only provided a GUI, so I instead captured and replayed the USB packets with slight modifications. This saved hours of manual busywork.
@foone amazing, big "thank you for playing Wing Commander" hack energy (https://www.wcnews.com/news/update/16279)
Mythbusters: Wing Commander I Edition

You've probably heard of the famous 'thank you for playing Wing Commander' story. It claims that a programmer on the original Wing Commander was stuck getting an error message when the game unloaded its memory during a quit. Pressed for time, instead of fixing the issue he simply hex edited the memory manager's error reporting to print 'thank you for playing Wing Commander' instead. A funny and relatable story!

Wing Commander CIC
@foone “I open the EXE in a hex editor.” oooo what magic is this??
@collette
It's a family of tools that will unlock a lot of things in your digital life, while absolutely stealing you a great amount of (sleeping) time
@foone
@collette @foone A hex! ​

@usagi @collette yeah. Never use an api if you can just cast a spell on the software.

Maybe that'll be the title if "adversial automation" doesn't work out.
Computers for Witches.
Or "How to use computers like a witch"

Reversing the technical interview

@usagi @foone @collette I just refuse to apply to places with shitty #TechStack|s because it makes fucking aggressive...

https://infosec.space/@kkarhan/114862595629371002

Kevin Karhan :verified: (@[email protected])

One thing that really pisses me off personally is the #regression in terms of #Messenger #Apps. My personal distaste and dislike for #proprietary, #SingleVendor & #SingleProvider #services like #Signal [¹](https://infosec.space/@kkarhan/114234551915193036) [²](https://infosec.space/@kkarhan/114935952643402592), #Telegram, #Discord [³](https://infosec.space/@kkarhan/114865723904157014) [⁴](https://social.treehouse.systems/@krutonium/115157611977216372), #WhatsApp [⁵](https://infosec.space/@kkarhan/114873895410403238), #Slack, #MicrosoftTeams, #discord [⁶](https://infosec.space/@kkarhan/116063760849048926)[⁷](https://infosec.space/@kkarhan/115736223551632209) etc. aside: - *WHY* is there no #CrossProvider #Messenger to handle that shite? - *WHY* does everyone of these shitty providers think people want to download their #bloated #WebApp that takes up triple digit Megabytes if not entire Gigabytes and will gobble up all the #RAM and #CPU each of them can?? This problem ain't new and *already got [solved for corporate social media](https://infosec.space/@kkarhan/114862619013462466) ages ago!* (Not to mention actually good messengers!) - And no, [bridges](https://toots.ch/@dalai/114862754556459439) *[don't](https://swecyb.com/@troed/114862774972645542) count*! - I mean `API 0` - [style](https://digipres.club/@foone/112685423773959519) access because obviously [none of the platforms](https://digipres.club/@foone/112685414638522984) will *allow, endorse or support such an endeavour* and [*actively fight the developers and users*](https://digipres.club/@foone/112685441496803574) ! So yeah, consider this a call for a @[email protected] / #Gajim or @[email protected] / #Pidgin *for garbage platforms!* - Cuz back in the day we had *way worse messengers* yet people actually made #AIM, #ICQ, #MSN, #QQ, #IRC & #XMPP work just fine from one single *"phat" client*! - Can we please get that back? Cuz #WastefulComputing pisses me off! #api0 #Enshittification

Infosec.Space
@foone
The simplest hacks are always the best.
@foone Once upon a time, I did that to browsers with the CSS string for scrollbar style.
@dalias @foone I remember the days when #BrowserGames like #OGame did even encourage making custom skins/themes in #CSS!
@foone I guess that hexeditor is API -1,
as the executable it is not supposed to be accessed by the general human user.
note: this could be even forbidden by the license, hence by the law, while API 0 seems much less amenable to copyright infringement claims.
@foone I usually do as a matter of principle...

@foone unless I get contractually guaranteed access to an #API I consider it nonexistant!

@foone it’s baffling to me how many people have the preconception of “this shouldn’t be done” just because “it’s not supported”, or because “it may change at any time!”

getting rid of that opens a huge world of possibilities. Stuff will break, but so do “real” APIs from time to time. computers are shit, is there a difference here?

i feel that learning basic reverse engineering skills is something that more power users should do

@domi @foone Part of this is down to the annoyance that is the creation and reliance upon platforms/services instead of protocols.

Most stable protocols don't break. They still work just as well 3 or 4 decades down the line as they did when they were first created.

Platforms don't do that. Platforms usually die out way before that.

Platforms tend to do their utmost to make mirroring and safeguarding a hassle. It's annoying.
@lispi314 @foone @domi and that's why all platforms are garbage!
Kevin Karhan :verified: (@[email protected])

One thing that really pisses me off personally is the #regression in terms of #Messenger #Apps. My personal distaste and dislike for #proprietary, #SingleVendor & #SingleProvider #services like #Signal [¹](https://infosec.space/@kkarhan/114234551915193036) [²](https://infosec.space/@kkarhan/114935952643402592), #Telegram, #Discord [³](https://infosec.space/@kkarhan/114865723904157014) [⁴](https://social.treehouse.systems/@krutonium/115157611977216372), #WhatsApp [⁵](https://infosec.space/@kkarhan/114873895410403238), #Slack, #MicrosoftTeams, #discord [⁶](https://infosec.space/@kkarhan/116063760849048926)[⁷](https://infosec.space/@kkarhan/115736223551632209) etc. aside: - *WHY* is there no #CrossProvider #Messenger to handle that shite? - *WHY* does everyone of these shitty providers think people want to download their #bloated #WebApp that takes up triple digit Megabytes if not entire Gigabytes and will gobble up all the #RAM and #CPU each of them can?? This problem ain't new and *already got [solved for corporate social media](https://infosec.space/@kkarhan/114862619013462466) ages ago!* (Not to mention actually good messengers!) - And no, [bridges](https://toots.ch/@dalai/114862754556459439) *[don't](https://swecyb.com/@troed/114862774972645542) count*! - I mean `API 0` - [style](https://digipres.club/@foone/112685423773959519) access because obviously [none of the platforms](https://digipres.club/@foone/112685414638522984) will *allow, endorse or support such an endeavour* and [*actively fight the developers and users*](https://digipres.club/@foone/112685441496803574) ! So yeah, consider this a call for a @[email protected] / #Gajim or @[email protected] / #Pidgin *for garbage platforms!* - Cuz back in the day we had *way worse messengers* yet people actually made #AIM, #ICQ, #MSN, #QQ, #IRC & #XMPP work just fine from one single *"phat" client*! - Can we please get that back? Cuz #WastefulComputing pisses me off! #api0 #Enshittification

Infosec.Space