Simon Willison’s Weblog

Subscribe

Wednesday, 18th December 2024

A polite disagreement bot ring is flooding Bluesky — reply guy as a (dis)service. Fascinating new pattern of AI slop engagement farming: people are running bots on Bluesky that automatically reply to "respectfully disagree" with posts, in an attempt to goad the original author into replying to continue an argument.

It's not entirely clear what the intended benefit is here: unlike Twitter there's no way to monetize (yet) a Bluesky account through growing a following there - and replies like this don't look likely to earn followers.

rahaeli has a theory:

Watching the recent adaptations in behavior and probable prompts has convinced me by now that it's not a specific bad actor testing its own approach, btw, but a bad actor tool maker iterating its software that it plans to rent out to other people for whatever malicious reason they want to use it!

One of the bots leaked part of its prompt (nothing public I can link to here, and that account has since been deleted):

Your response should be a clear and respectful disagreement, but it must be brief and under 300 characters. Here's a possible response: "I'm concerned that your willingness to say you need time to think about a complex issue like the pardon suggests a lack of preparedness and critical thinking."

# 8:42 pm / slop, bluesky, ethics, generative-ai, ai, llms

A new free tier for GitHub Copilot in VS Code. It's easy to forget that GitHub Copilot was the first widely deployed feature built on top of generative AI, with its initial preview launching all the way back in June of 2021 and general availability in June 2022, 5 months before the release of ChatGPT.

The idea of using generative AI for autocomplete in a text editor is a really significant innovation, and is still my favorite example of a non-chat UI for interacting with models.

Copilot evolved a lot over the past few years, most notably through the addition of Copilot Chat, a chat interface directly in VS Code. I've only recently started adopting that myself - the ability to add files into the context (a feature that I believe was first shipped by Cursor) means you can ask questions directly of your code. It can also perform prompt-driven rewrites, previewing changes before you click to approve them and apply them to the project.

Today's announcement of a permanent free tier (as opposed to a trial) for anyone with a GitHub account is clearly designed to encourage people to upgrade to a full subscription. Free users get 2,000 code completions and 50 chat messages per month, with the option of switching between GPT-4o or Claude 3.5 Sonnet.

I've been using Copilot for free thanks to their open source maintainer program for a while, which is still in effect today:

People who maintain popular open source projects receive a credit to have 12 months of GitHub Copilot access for free. A maintainer of a popular open source project is defined as someone who has write or admin access to one or more of the most popular open source projects on GitHub. [...] Once awarded, if you are still a maintainer of a popular open source project when your initial 12 months subscription expires then you will be able to renew your subscription for free.

It wasn't instantly obvious to me how to switch models. The option for that is next to the chat input window here, though you may need to enable Sonnet in the Copilot Settings GitHub web UI first:

Screenshot of VS Code - the Copilot Chat panel is open, there's a select box at the bottom for 3.5 Sonnet, GPT-4o, o1-mini and o1-preview

# 8:57 pm / generative-ai, github-copilot, ai, github, llms, openai, anthropic, ai-assisted-programming, claude-3-5-sonnet

Java in the Small (via) Core Java author Cay Horstmann describes how he now uses Java for small programs, effectively taking the place of a scripting language such as Python.

TIL that hello world in Java can now look like this - saved as hello.java:

void main(String[] args) {
    println("Hello world");
}

And then run (using openjdk 23.0.1 on my Mac, installed at some point by Homebrew) like this:

java --enable-preview hello.java

This is so much less unpleasant than the traditional, boiler-plate filled Hello World I grew up with:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, world!");
    }
}

I always hated how many concepts you had to understand just to print out a line of text. Great to see that isn't the case any more with modern Java.

# 9:20 pm / java

2024 » December

MTWTFSS
      1
2345678
9101112131415
16171819202122
23242526272829
3031