Remix.run Logo
apstls 2 days ago

Sounds very cool.

I wanted to try this out, so I opened Windsurf for the first time in ages and clicked the "Upgrade Available" button, which sent me to: https://windsurf.com/editor/update-linux

  Did you install using apt or apt-get? If so...
  
  1. Update package lists
  
  sudo apt-get update
  
  2. Upgrade Windsurf
  
  sudo apt-get upgrade windsurf
Whle `apt-get upgrade windsurf` will technically upgrade Windsurf, instructing users to run a command that will attempt to upgrade all packages on their system is nuts when the command is provided in a context that strongly implies it will only upgrade Windsurf and has no warnings or footnotes to the contrary. Good thing I didn't ask Windsurf's agent to ugprade itself for me, I guess.

EDIT - I don't want to detract from the topic at hand, however - after upgrading (with `sudo apt-get install --only-upgrade windsurf` :)) and playing around a bit, the Codemaps feature indeed seems very nifty and worth checking out. Good job!

kps 2 days ago | parent | next [-]

So `apt-get upgrade $PACKAGE` has ridiculous semantics that no one would expect, and the actual syntax for upgrading a package is in neither the man page nor the command help.

GuB-42 a day ago | parent | next [-]

I have been using Debian for literally decades and I didn't even know "apt-get upgrade $PACKAGE" existed. It is weird, it doesn't appear in the documentation, it doesn't work with the "apt" command, it means it is probably a relic of the past left there for compatibility reasons and you probably shouldn't use it.

My guess is that someone or some LLM hallucinated this command, "apt-get upgrade" is for upgrading your system, not for upgrading a single package, and it takes no extra argument.

For upgrading a single package, just do "apt install $PACKAGE". It is the same command as for installing. The semantics is rather clear to me, upgrading is like installing the new version on top of the old version. It also makes no sense to install a package you already have or to upgrade a package you don't have, but if you want to be sure, for example because you don't know if you already have the package installed or not, there are the --no-upgrade and --only-upgrade options.

normie3000 2 days ago | parent | prev | next [-]

> So `apt-get upgrade $PACKAGE` has ridiculous semantics that no one would expect

Especially not an LLM!

pxc a day ago | parent | prev [-]

Sure it is¹ (kinda):

  --no-upgrade
      Do not upgrade packages; when used in conjunction with install, no-upgrade will prevent packages on the command line from being upgraded if they are already installed. Configuration Item: APT::Get::Upgrade.
The canonical way to do the thing you want via apt-get is `apt-get install`. And if you read the man page from start to finish, it'd be clear to you... but it is tucked away there in the most obtuse, indirect, ungreppable way. :'D

That would be a great addendum to an EXAMPLES section! In the meantime, this is documented well and clearly in the tldr page for apt-get².

Fwiw, apt-get not only sucks, but has been known to suck for many, many years (more than a decade at least). Its interface sticks around because it's basically plumbing at this point. But you, as a user, should never use it (or `apt-cache` or `apt-*`, if you can avoid it.

Aptitude is preferable for a whole host of reasons, not least of which being that its upgrade commands have the semantics you'd intuitively expect³. They take packages as an optional list of positional args, and upgrade everything only if you don't pass any. (Aptitude also has a ton of other nice features and I highly recommend it.)

There's also an official new porcelain in APT itself, aptly called "apt". It preserves⁴ the semantics of apt-get's `upgrade` command, but its usage message actually matches that syntactically— hopefully it'll barf if you tell it `apt upgrade windsurf` or whatever.

But automation needs to rely on the ugly, old, disparate APT commands that have been around forever and can't really change. That probably goes, too, for things guides want you to copy and paste, or instructions handed over to LLMs.

(This is one reason that if you only learn to use APT from guides/tutorials whose primary concern is something other than documenting or teaching how to use Debian-based systems, you'll probably never learn to use the correct tools (the nicer, newer ones).)

--

1: https://manpages.debian.org/trixie/apt/apt-get.8.en.html

2: https://tldr.inbrowser.app/pages/linux/apt-get

3: https://manpages.debian.org/trixie/aptitude/aptitude.8.en.ht...

4: https://manpages.debian.org/trixie/apt/apt.8.en.html

swyx 2 days ago | parent | prev | next [-]

hiya! team noticed your comment and agreed - and it is fixed.

    - const CodeSnippetTwo = `sudo apt-get upgrade windsurf`;
    + const CodeSnippetTwo = `sudo apt-get install windsurf`;
Lvl999Noob a day ago | parent | next [-]

Why not use apt?

GuB-42 a day ago | parent [-]

apt-get has a more stable interface and is more suitable for scripts and instructions intended to be followed to the letter.

apt is better for interactive use and by people who are not just blindly following instructions.

Here there are arguments for both. As commands intended to be copy-pasted in a terminal, using apt-get makes sense as it is the safest choice. But it is also intended for humans, it is not a script, so maybe apt would be better. To me, both ways make sense.

blks 2 days ago | parent | prev [-]

Did you also generate this with “AI”?

swyx 2 days ago | parent [-]

https://tenor.com/view/westworld-if-you-cant-tell-does-it-ma...

rendaw a day ago | parent | next [-]

My reading is that GP can tell, and they're trying to highlight it by asking a question.

tbillington 2 days ago | parent | prev | next [-]

If you couldn't tell your food had been cut with sawdust would it matter to you if you found out?

codebje a day ago | parent | next [-]

I really love this comment, it's got a very "tree-falling-in-the-woods" vibe to it.

On the direct face of it, no, it turns out it doesn't matter: plant cellulose is not toxic to humans, a certain level of it is in many processed foods, and that information isn't secret.

By the time it matters to people, it's at the level where you can tell it's happened: large, pointy chunks, eg, or so much the flavour or texture is ruined. Or toxic contaminants, albeit at the significant risk that one might only be able to tell at the point of suffering from the consequences.

But if we modify the proposition a little, we get a statement about the possibility of a vegan's metaphorical sawdust being cut with ground beef. Now, it's more likely to matter. By and large, dietary choices like that are based on some belief structure, so the presence of the unwanted ingredient could be considered as an attack on the belief system.

When we move the metaphor back to AI generated code, does this reveal a belief system at play? If the resulting program is not poor quality, but the use of AI is objectionable nevertheless, does that make a "no AI in software" stance a sort of veganism for code? (And can we coin a good term for that stance? I vote for hominism, because while I quite like anthropism that leads to anthropic which is obviously not going to work.)

Given there's a regulatory number on acceptable bug parts per million for confectionary, is there a hypothetical acceptable bytes per million for AI-generated code that can still be called hoministic?

latexr a day ago | parent [-]

The HN guidelines explicitly ask you to steel man arguments you reply to. It is obvious that the point of the comment is not sawdust specifically; they could have used anything else, like cyanide, and the point would stand. Spending multiple paragraphs of rebuttal on a nitpick which fails to address the crux of the argument is precisely the kind of bad argument the HN guidelines aim to avoid.

conartist6 a day ago | parent [-]

You read the same response I did, right? And you... thought it was... literally about sawdust? ...and you took offense? I'm so confused...

latexr a day ago | parent [-]

Seems like you haven’t understood my comment, but I’m unsure how to clarify it for you. Perhaps start by not assuming that expressing disagreement means taking offence? Not everything needs to be emotionally charged. Again, steel man.

conartist6 a day ago | parent [-]

Just checked again to give you the benefit of the doubt, and I still see the same thing. I read the long post as a thoroughly steelmanned response. Nobody has yet engaged with the philosophical content of that post. You cried foul for reasons I still can't understand. Would you tell us what you thought about the post on an intellectual level?

I eat meat but I'm one of those people who is ethically opposed to consuming AI content. An AI-vegan you might say.

I've had a shouting fight with someone who tried to spoon feed an AI summary to me in a regular human conversation.

But. I know that people are going to sneak AI content into what I consume even if I do everything within my power to avoid it.

The question is straightforward if immensely complex. Do I have a right to not be fed AI content? Is that even a practical goal? What if I can't tell?

latexr a day ago | parent [-]

> I read the long post as a thoroughly steelmanned response.

Steel manning means engaging with the strongest interpretation of the argument. The original comment clearly used sawdust not as sawdust specifically but as a substitute for something harmful or inappropriate. It’s not even about eating. So spending half a comment on “ackchyually, sawdust is good for you” (this is a caricature for brevity) is nitpicking something which doesn’t matter and derails the rest of the comment which is based on it.

Steel manning would’ve meant engaging in good faith, understanding “eating sawdust” isn’t meant literally but as a random choice for “something bad”, and replying to the latter, not the former.

In other words (I’m explaining it three times to drive the point home), steel manning means not nitpicking the exact words of someone’s argument but making the effort to respond to their meaning. It’s addressing the spirit of the comment above its letter (https://en.wikipedia.org/wiki/Letter_and_spirit_of_the_law). Sometimes the difference between those isn’t obvious, but I’m arguing that in this case it is.

> I eat meat but I'm one of those people who is ethically opposed to consuming AI content.

Eating meat or being vegan has nothing to do with the original comment. Again, it’s not even about eating, that was clearly a random example which could be substituted by a myriad other things. When you describe your eating habits you’re already engaging with a derailed, straw manned version of the argument instead of the original point the person was making.

codebje 15 hours ago | parent [-]

I do apologise if my response came across as deliberately nitpicking on the specific item; my intent was to highlight that there are many cases where things we might broadly find unpalatable actually do happen all the time, with no harm except to our belief structures; from that perspective, sawdust or any other non-toxic contaminant in food is a pretty good analogy for AI in content, because in very small dilutions the only possible harm it can carry is to a belief structure.

On the flip side, it does seem to me like you have deliberately chosen the worst possible interpretation of what I wrote, so ... pot, kettle?

maleldil a day ago | parent | prev [-]

Is the result is molecular identical? If so, no.

ethanwillis a day ago | parent | prev [-]

Yes, it does matter.

zamadatix a day ago | parent | prev [-]

Wow, what's the upside to that syntax? I never would have guessed.