This isn't the first time: In 2019 Tesla illegally prevented OSHA officials from entering a Tesla site in Nevada (with a warrant and officer from the sheriff's office) to address serious workplace injuries.
These are what are claimed to be the onerous regulations slowing down innovation.
- it puts the command in the shell editor line so you can edit it (for example to specify filenames using the line editor after the fact and make use of the shell tools like glob expansion etc.)
- it goes into the history.
- It can use a binding so you can start writing something without remembering to prefix it with a command and invoke the cmd completion at any place in the line editor.
- It also allows you to refine the command interactively.
I haven't see any of the other of the myriad of tools do these very obvious things.
Thanks. I guess it all depends on the perspective. I do not see how editing the command is a good tradeoff here in terms of complexity+UI. Once you get the command suggested by the LLM, you can quickly copy and modify it, before running it.
qqqa uses history - although in a very limited fashion for privacy reasons.
I am taking note of these ideas though, never say never!
> Once you get the command suggested by the LLM, you can quickly copy and modify it, before running it.
Copying and pasting tends to be a very tedious operation in the shell, which usually requires moving your hands away from the keyboard to the mouse (there are terminals which allow you to quick-select and insert lines but they are still more tedious than simply pressing enter to have the command on the line editor). Maybe try using llm-cmd-comp for a while.
> I do not see how editing the command is a good tradeoff here in terms of complexity+UI.
I don't find it a tradeoff, I think it's strictly superior in every way including complexity. llm-cmd-comp is probably the way I most often interface with llms (maybe second to basic search-engine-replacement) and I almost always either 1. don't have the file glob or the file names themselves ready (they may not exist yet!) at the time when I want to start writing the command or they are easier to enter using a fuzzy selector like fzf 2. don't want the llm to do weird things with globs when I pass them directly and having the shell expand them is usually difficult because the prompt is not a command (so the completion system won't do the right thing).
But even in your own demo it is faster to use llm-cmd-comp and you also get the benefit that the command goes into the history and you can optionally edit it if you want or further revise the prompt! It does require pressing enter twice instead of "y" but I don't find that a huge inconvenience especially since I almost always edit the command anyway.
Again, try installing llm-cmd-comp and try out your demo case.
Don't use doom etc, just standard emacs, otherwise you won't have any
understanding of what is happening and how to fix it. Here's a list of
what I think is important, roughly more important to less:
- corfu+marginalia+vertico+embark+orderless is the standard completion stack now
- magit (maybe also see also the "casual" the transient front end for other modes)
- avy
- (fset 'yes-or-no-p 'y-or-n-p) ; 'Y' or 'N' instead of 'Yes' or 'No'
- (setq confirm-kill-emacs 'y-or-n-p)
- evil (optionally if you like vim keybinds, you still need to know basic emacs))
- if using evil: evil-collection, evil-args, evil-goggles, evil-traces, evil-escape, evil-nerd-commenter, evil-lion, evil-surround, etc are not "standard" but still useful
- configure melpa source
- which-key
- helpful
- undo-fu
- gptel
- projectile
- eglot
- saveplace
- desktop
- uniquify
- dired/wdired
- flycheck/flymake
- treesitter
Stuff that is nice but less essential:
- general (for making your own keybinds)
- some kind of multicursor mode (I use iedit but it's simple)
- yasnippet
- org (usefulness depends on the person)
I haven't switched to corfu+marginalia+vertico+embark so I don't know
what the equivalent is but helm-swoop is nice.
Also, very important, learn the help system (C-h <key>), especially
C-h f, C-h k, C-h w, C-h c. And the info system
For modal editing but more similar to the kakoune/helix model there's the meow package which I prefer compared to evil, for some people it might be worth looking into as its more customizable and allows you to have as much or as little modal editing as you want. I use meow and regular Emacs key chords at the same time without issue for example.
> Don't use doom etc, just standard emacs, otherwise you won't have any understanding of what is happening and how to fix it.
Doom and Spacemacs are IMO sufficiently good abstractions that you will almost never need to have understanding of the underlying system and to fix things. Sure for curiosity's sake you should still learn what's happening under the hood. But the abstraction is almost never leaky. I think everyone beginning Emacs should start with Doom or Spacemacs and optionally build their own config later on.
1. quick-select the output in the terminal (select files/paths, urls, etc and either copy or paste them at the cursor). This is very useful as you often don't have the foresight to pipe the command to pipe the output of the command to some selection mechanism and even placing text on the line-editor is not that easy by default.
2. view images (sixel or kitty protocol). This is pretty useful visual analog to cat that doesn't require opening another program and works over ssh. Also for video.
There are some other nice utilities for doing things like downloading files directly in the terminal (it2dl for iterm and kitten transfer for kitty).
kitty doesn't work out of the box on macos if I remember; you have to set configuration for option/command etc.
> clinging to tenets which are at best implausible from an evolutionary perspective (e.g., "the optimal conclusion about the nature of language would be that its basic principles are extremely simple").
I think he's talking about foreign governments control on monetary policy, which is essential for managing the economy. Even a poorly run government will insist on retaining control over monetary policy and it provides a necessary forced coordination mechanism for allowing the economy to recover given that it's a prisoner's dilemma otherwise, with every individual preferring to opt out of taking a loss.
This end-run around foreign government monetary control has been touted by Stripe executives as one of the main selling points for USD stablecoins but I don't see how foreign governments don't clamp down on this is in the same ways the clamp down on other uses of USD in the country; most monetary transfers have some physical presence or touchpoints the government can control.
More importantly the US itself is eventually going to come to the conclusion that it does not want people holding US dollars for similar reasons: it also loses control over monetary policy, with excessive inflows un-intuitively leading either to unemployment or excessive debt (c.f. Michael Pettis)
That said, it's possible stablecoin networks succeed for other reasons, particularly having a widely-accepted "API" that is developed at the pace of modern technology companies instead of laggard banks.
These are what are claimed to be the onerous regulations slowing down innovation.