When I was learning to program, and I'd get stuck to the point I needed to ask for help, it was a whole production. I'd need to really dot my 'i's and cross my 't's and come up with a terse question that demonstrated I had done my due diligence in trying to find the answer myself, pose the question in a concise and complete way, and do all of that in about 250 words because if it was too long it would get lost in the froth of the chatroom. (And it's probably apparent to you that brevity isn't my strongest quality (: ) And I'd still get my head bitten off for "wasting" the time of people who voluntarily sat in chatrooms answering questions all day. And I can understand why they felt that way (when I knew enough to answer questions I was just as much of a curmudgeon), but it was a pain in the ass, and I've met people who really struggled to learn to code partly because they couldn't interface with that system because they weren't willing to get their heads bitten off. So when they got stuck they spun their wheels until they gave up.
ChatGPT just answers the damn question. You don't have to wait until you're really and truly stuck and have exhausted all your available resources. It doesn't even have the capacity to feel you've wasted it's time.
I'm concerned about LLMs for a million different reasons, and I'm not sure how people who don't already know how to code can use them effectively when they make so much stuff up. But when I realized I could just ask it questions without spending half an hour just preparing to ask a question - that's when it clicked for me that this was something I might use regularly.
For example, ask it to recommend a good paper to read on some topic, then use Google to find the paper. If it made up the paper, you'll find out soon enough.
Also, when you remember something very vaguely, it can be a way to get a name you can search on.
Each of those are things that would take WAY longer for me to research or answer using Google.
It's faster. Much faster in a lot of cases. Think of ChatGPT not as a precision source of answers, but rather a universal clue generator.
Yes, ChatGPT frequently (perhaps even usually) produces subtly defective answers. Most of the code it generates won't interpret, compile, etc. without errors, frequently exhibiting simple minded mistakes. That doesn't make the output useless. Indeed, it is a great time saver. That may seem counterintuitive, but I assure you it holds.
I had to write some Perl today. I end up dealing with that about once a year. I have a deep understanding of the language (going back to serious use in the 90's,) but it's been 20+ years since I dealt with it frequently enough to achieve any sort of "flow." ChatGPT and its imperfect answers were extremely helpful in getting through this efficiently. If I had to guess I was 3-4x faster than same exercise using convention search engines.
Google, now more then ever, feels like a ghetto. Useful results from Google are always buried among low quality bait that takes time to wade through, sorting wheat from chaff. ChatGPT obviates that nonsense, producing distraction free, ad free results. Also, Google isn't some fount of truth; lots of wrong stuff makes it to the top of Google.
I'm curious what you or others that use it all day use it for especially if it's not for programming?
When I started refining the project for longer term development, I wanted to convert the CLI to use argparse, so I could build a more nuanced CLI. I gave GPT a couple example commands I wanted to use, and in less than a minute I had a fully converted CLI that did exactly what I wanted, with more consistent help settings.
I can do that work, but it would have been 30-45 minutes because there was one setting in argparse I hadn't used before. That alone was worth this month's $20.
For more complex and mature projects I could see having to give GPT a minimum working example of what I need instead of the whole project, but I can already see how it will enhance my current workflows, not replace them.
In terms of non-code things, here are a few from the past couple of days:
- Coming up with potential analogies to explain why it's OK to call something a "language" model even though it doesn't have actual understanding of language
- Exploring outliers in a CSV file (I was playing with the new alpha code interpreter, where you can upload a file and have it run and execute Python to evaluate that file)
- Asking some basic questions about GDPR cookie banners
- Figuring out if there are any languages worldwide where "Artificial Intelligence" translates to something that doesn't include the word "Intelligence" (found some good ones: Finnish translates to "Artificial wit", Swahili to "Artificial cunning")
- Understanding jargon in a tweet about payment services - I wanted to know the difference between a "payment aggregator" and a "merchant acquirer"
- As a thesaurus, finding alternatives to "sanctity" in the sentence "the sanctity of your training data"
- Fun: "Pretend to be human in a mocking way", then "Again but meaner and funnier"
- "What should I be aware of when designing the file and directory layout in an S3 bucket that could grow to host millions of files?"
It may very well turn out to be the right translation, with the appropriate connotations; but without some clarification and confirmation from a native speaker, I would not trust it.
Yes and no: the root of the word (and of the meaning) is still the same as in the word for intelligence.
tekoäly "artificial intelligence, artificial wit"
äly "wit"
älykäs "intelligent, having wit"
älykkyys "intelligence, the property or extent of having wit"
One dictionary definition for 'äly' is 'älykkyys' and vice versa, so they can be used more or less as synonyms but with some different connotations. I don't know how 'tekoäly' was chosen but it might have been because it's shorter and/or the grammar is nicer.
Okay, next I notice it uses a .glob of "*.*" and so that makes me a bit suspicious.
"Will this code work for audio files without extensions?" Nope. It fixes it.
Okay, now I notice the original code builds up all the fingerprints in memory, then adds to the database. So I order it:
> Add files to the database as we go, and print progress every thousand files
Boom, just as I would have done it.
Then I note that we don't seem to have good indexes, and it's like you're right! and puts an index on the audio fingerprint field.
Then I ask it to save more info than just the file path, and it adds the size of the file. Then of course, I tell it:
> This is remarkably slow, how can we significantly speed it up?
To which it replies:
> Here's an example implementation using multiprocessing:
Awesome, it works!
Oh, here's an error I got when I ran it when the audio fingerprinting library errored, handle that.
Paste in the error, it fixes it.
The thing is, I would have no problem with doing any of this stuff at all, it just made it so incredibly much faster, and if it does something you don't like, you can so easily correct it. Hope this helps you understand how I use it!