Hacker News new | ask | show | jobs
by pleb_nz 1276 days ago
Half of the fun of using cli is using it with your own knowledge imo.

Using GPT3 makes it feel like I may as well use some GUI tool.

I understand gpt3 will/does save time and money but I actually like to code and to use my skills and knowledge to build and solve thingswith my own hands.

Maybe I'm an outlier here, but using some tool to do it for me doesn't sound like fun.

16 comments

I have never considered using the cli fun. The reason I use it is because it provides a better experience than using a GUI in many cases.

I don't see how writing CLI commands is similar to building something with your hands. You either know what the switches are or you try running --help, looking at the man pages or search on Google. This looks like an alternative for Google.

Pipes make it fun. The power of UNIX and it's successors!
We used to call it the 'better file manager' here.
The killer app for LLMs will finally be able to write ffmpeg invocations
There's at least one such command I saw out there: https://www.learngpt.com/prompts/generating-a-complex-ffmpeg...
That and writing LaTeX or Tikz. These are the things you have to do every now and then, but don't do enough to commit them to long-term memory.
I have seen people building small drag and drop interfaces to convert media with python, tk, and ffmpeg from prompts with a couple of sentences.
It worked for the couple basic cases I tried!!
Or enter a valid tar command on first try.
I can never remember things. That's why my history file has 100k lines in it.

  $ do create linux bridge
  brctl addbr <bridge_name>
  ip link set <bridge_name> up

  $ do git reverse last commit
  git reset --hard HEAD~1

  $ do gcc show optimizations
  gcc -O -Q --help=optimizers
Personally, I didn't remember things because I never stopped to look at what I'm actually doing. After I made it a practice to stop and read the command at least in my mind before I execute it, that made me remember the vast majority of my commands.

Do not mistake lack of attention with poor memory; the former is very easy to fix :).

I also enjoy mastering some tools and solving problems with them, but sometimes it gets a bit overwhelming when you are working with so many languages, libraries, and platforms.

Unfortunately, quite a portion of my search activity is hunting down the syntax for getting a certain thing done. It's not just blind copy-paste-trial-and-error activity. Quite often I just need some help in getting the syntax right or reminder of the specific command or library.

Actually by using something like GPT3 you are kind of doing copy-and-paste in a way, because you are given pre-defined set of commands without ability to modify its arguments. It looks to me like typing in terminal at random and hoping for the best results. This is especially bad for newbies, because they won't know how this commands work and what all this arguments mean. This is my two cents anyway.
I don't think you're an outlier, but you will become one if you don't adapt to the inevitable.

Like it or not, gpt3 has signalled a massive change in toolset power and this is just the start.

Times have changed, we move with them or we will be left behind.

This is coming very fast. Today I used chatgpt to generate some kubernetes yaml and python code that was not able to find using google.

Once it is integrated in copilot there is no going back. We software engineers will be churning code faster and our role will be more of a code reviewer. One developer can do the work of 5.

As soon as opt out is implemented training data will stop to grow and we're back to skills mattering
Prediction: China will simply ignore this law, and will become the greatest AI power.
These tools don’t obviate the need for skill in the domain, they are essentially excellent contextual search engines.

Having an en masse respected opt out from data collection on the internet is wishful thinking. Don’t expect that any time soon.

It shouldn't even be 'opt-out' but 'opt-in' in the first place.
Actually I stand corrected, I meant opt-in.
I know plenty of talented FOSS developers who won’t choose to opt out.
I doubt it. A FOSS developer would never consent to feed a closed proprietary model, which some corporation then charges other people for using, with their hard work.
I for one agree with pleb_nz, its kind of like replacing CLI with GUI. Thank you, but no thanks! To me writing custom bash script or "kill -9 $(lsof -t /dev/nvidia0)" is much better than typing "do kill the process which is locking up my GPU". Plus what if you want ot pass additional arguments to kill or lsof? Once you master CLI you'll never go back, at least that true for me. I'm actually tyring to replace more software that I use with CLI not go back to GUI. I'm even considering making terminal based websites of my projects as an option. So everyone can access them with lynx and similar.
I'd not like to use GPT3 (maybe GPT9 or so), but I certainly don't have fun writing commands, I do it because it's either the only or the best option, I'd bet that I'm very much in the majority there.
Just like driving a manual-transmission car, part of fun is in the doing. Further, though, part of the doing makes it practical: engagement while driving is a good thing.

How, if one has no experience with the command line, can convincing errors in GPT's responses be detected? If the details of the command line are automated away, and engagement diminishes, will we arrive at a point where people are more limited because the knowledge that made the command line powerful is gone? Sure, it might make it easier to eat a sandwich in rush hour traffic, but eventually will we find ourselves cringing while dragging the brakes down a mountain because we've lost the ability to simply downshift? How often have you seen someone hesitate to do something on a computer because they don't fully understand what's going on and 'don't want to break anything'?

I think this project is awesome, and could even expand my knowledge of the CLI, but have some reservations about applying it as a categorical imperative.

I kind of agree, use the terminal a lot and am satisfied whenever I don’t need to look up a command.

However, the point of it isn’t knowing as much of it by heart as possible. That is really misguided. I use tldr a lot, and it often covers the exact case I’m after.

So a tool based on ChatGPT has the potential of replacing tools such as tldr. Anyone unwilling to use it will simply fall behind and slowly become a worse developer.

Outsourcing knowledge and capabilities (externalising aka only remembering pointers to knowledge sources over the knowledge itself) is a core pillar of human intellectual advancement, if you will. It started with printed books, and now we’re here, discussing AI tools. I’m convinced if one doesn’t incorporate them, one will increasingly fall behind until one isn’t able to keep up anymore. These tools are here to stay, and we’re just seeing the beginning (GH Copilot etc. etc.).

>build... with my own hands...

Eh, that's some abstraction there

Agreed. There is quickly going to be a bigger chasm between the best devs and average/bad devs bc of LLMs.
Yes. The best race car drivers use an automatic transmission if that’s 0.5 seconds faster per lap.

In fact driver aids had to be actively banned in many racing series. Just to make it more fun for spectators.

Performance with auto transmission says less about the driver but more about the tech team.

And yes, the point of these racing regulations is to make it at least optically a driver skill competition, not just who can throw more money at a pretty mundane challenge of getting from A to B the fastest. (If not for those regulations, since the track is known to the centimeter, the fastest driver would probably be the lightest one because it would be dead weight.)

Thankfully software engineering challenges are far from mundane, so the chasm will indeed grow

> If not for those regulations, since the track is known to the centimeter, the fastest driver would probably be the lightest one because it would be dead weight.

Maybe if everyone took turns setting times. But in a real race, you have to deal with traffic, figure out how to pass, etc.

> Maybe if everyone took turns setting times.

Time attack is a type of race. But anyway, if "other racing cars" is the only real variable it's hardly a challenge for autopilot software and the driver may as well be gone. Regulations exist since traditional mainstream audience may not find this show quite as engaging.

Again, the analogy is broken. Automatic transmission, full autopilot, these things would objectively help win the race (if make it boring), but creating good software is a little more involved than "who can type faster".

> Thankfully software engineering challenges are far from mundane, so the chasm will indeed grow

Yes, if you let AI/tooling/interns do the mundane parts, you’ll have more time for the good parts

If your bottleneck is typing speed, sure maybe...
That's what makes them the mundane parts.
And often hand crafted guys have more character, story and quality behind them and people often pay more for them. So goes both ways sometimes.
this. when a programmer cannot explain how something works and just say, “oh this part was generated” ... well, thats worthless, because there is no ownership of knowledge.
Inevitably that would lead to the driver being phased out at some point.
This is just wishful thinking of course.

The shell itself is an outdated piece of technology that unfortunately has to be used for historical reasons. I’m glad we now see a way to work past it.

What would you describe as a better tool? GUIs definitely aren’t it, as they can’t be composed together. APIs are great when they exist, but are often far too verbose for one-off tasks.

Relevant here, a GPT-powered shell throws away the repeatability and predictability that shells have. There’s nothing to say that a different random seed or a little more training data won’t change the interpretation of a task that was specified in the vagaries of natural language.

Please point me to something better.
It's a matter of personal preference and the specific goals of your project. If you enjoy the process of coding and solving problems on your own, then that is certainly a valid choice. But if you find that certain tools can help you be more efficient or allow you to focus on the parts of a project that are more meaningful to you, then there is no reason not to use them.
I believe that you should be able to do basic CLI at least, but for rarely used commands or some incredibly complex one like ffmpeg, having an AI to do it is the way to go.
I'm with you most of the time... but there are some commands that refuse to stick in my brain no matter how hard I try, and I get tired of looking them up
This seems like the attitude most artists have to image generators as well.
is there a gui tool for command line ? that would be awesome !!