2
@vriska@lizards.live I can't believe it's been 30 years
<p>The basic philosophy of adversarial automation is that the software/website is the enemy.</p>
<p>And I think this is an under-discussed part of automation because it&#39;s associated with spammers and such, but they&#39;re only one possible user of this. By making it better known it can get used for more legitimate uses</p>
<p>like, if your API doesn&#39;t provide me a follow_user() call, but the user can follow anyone by clicking one link?</p><p>Your lack of a follow_user() call is not going to stop me. I&#39;m just going to click the link, automatically. <br />Having an API 1.0 doesn&#39;t mean API 0 goes away.</p>
<p>You see the point of this a lot in API design, where a company is like &quot;okay we made an API but we limited it a bunch because we are scared about cheaters/bots/scrapers/whatever&quot;, while the things they limit are things a user clicking links can do in 2 seconds.</p>
<p>There is always API 0: acting like a human/browser/user. </p><p>The first API is &quot;fuck you I&#39;m doing it anyway&quot;. Any additional API the program provides is merely a helpful shortcut</p>
<p>because I see a lot of people approaching automation from this attitude of &quot;software/sites should have APIs so that users can write software to automate it!&quot;<br />and while that&#39;s not wrong, exactly, it&#39;s also not the attitude I think makes the most sense, you know?</p><p>We do not ask for access. We don&#39;t need to get permission to be able to automate our tasks.</p>
<p>if I had a lot more time I think I might write a book on my ideas about &quot;adversarial automation&quot;.</p><p>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.</p>
<p><span class="h-card" translate="no"><a href="https://hachyderm.io/@fasterthanlime" class="u-url mention">@<span>fasterthanlime</span></a></span> There ya go <a href="https://github.com/rust-lang/blog.rust-lang.org/pull/1348" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">github.com/rust-lang/blog.rust</span><span class="invisible">-lang.org/pull/1348</span></a></p>