• 1 Post
  • 51 Comments
Joined 3 years ago
cake
Cake day: June 14th, 2023

help-circle
  • What does it mean for a project to deserve the [AI] tag? This matters, because you may have a lot of projects where a developer may think “no” and someone else thinks “yes”. Some examples from my day job:

    • Developer used AI to understand part of the codebase and suggest ways to accomplish goal. Developer incorporated that suggestion, though using their own knowledge deviated from AI’s suggestion in parts. Developer wrote the code themselves. Is this project [AI] or [NOT AI]?
    • Developer used AI to review existing (human-written) code for quality and security purposes. AI noticed some issues and proposed fixes. Developer reviewed and accepted them. Is this project [AI]?
    • Developer knew they wanted to implement a feature, and while implementing it there was a boilerplate function. Developer asked AI to write this function, manually reviewed it, confirmed it worked, and added it to the codebase. Is this project [AI]?

    In these examples the developer carefully reviews the AI’s output, which I think distinguishes it from vibe-coded slop, which at least is what I want to ignore.

    It’s also worth noting that an open-source project may receive and incorporate a well-written contribution where the human developer used AI carefully like this. Unless they disclosed that they used AI, it may be unknowable to the project maintainers whether their project is [AI] or not, depending on how you define it. What tag should these projects use?

















  • I never understood why people use Tailscale

    I use it for the NAT busting and direct connections. This means that my devices can talk directly to each other, even when there’s NAT and dynamic IPs sitting between the devices with no port forwarding. This is not possible with Wireguard alone; usually you end up with a hub and spoke network model.

    As for them man-in-the-middling, the client is open source (for Android and Linux at least) and traffic is end-to-end encrypted. If you don’t want to trust them with distributing the keys (completely valid concern) then it’s possible to configure things such that you must sign the keys of clients yourself for your devices to trust them (see Tailnet Lock).

    In my case, because I like self-hosting, I self-host an open-source coordination server called Headscale. So in at least my circumstance I really am only using my infrastructure and open-source code.