Fork me on GitHub
#off-topic
<
2022-12-04
>
cddr01:12:06

Holy crap! Hope you’ve all got backup careers.

chucklehead02:12:28

I figure at the very least I should be able to manage a career as a debugger for superficially-close-but-actually-broken AI programs for a few years, just have to keep my corrections from being used to train the debugger AI

Daniel Gerson14:12:41

Was playing with it yesterday. Gave it a Clojurescript task between two clients which looked okay'ish even if not exactly what I meant. Then I instructed to make it via websockets and it switched to Python! It's very cool, but I wouldn't start worrying yet. 😅

Daniel Gerson14:12:16

As coders I think we're always inventing between wheels actually, which is probably unusual compared to other jobs. That is we already know that if a library is available, we'd use it and wouldn't re-invent it. What's implied by that is that a data munching AI would be very good at exactly the kinds of problems you wouldn't need to code because it's there as a library or very tedious coding layout stuff that we wouldn't want to do anyway, and so it would save us time.

👆 1
Martynas Maciulevičius14:12:25

But was it good Python and was it according to the task? Because at the end of the day it's not you who'll execute the code :thinking_face:

laughcry 1
Daniel Gerson14:12:42

The real question when money is involved is would I sign my name on it? ;-)

Drew Verlee15:12:54

Now ask it to "get that data Bob wanted" which more closely resembles the tasks most devs get asked to do.

cddr15:12:29

I think that you could definitely ask it to perform sub-tasks such that it would print what you’d need to enter into some system that you have access to

Drew Verlee15:12:44

I guess I'm trying to say that the question is the answer and the hardest issues i face aren't solving a local minimum (getting an answer to a question regardless of context) but figuring out how to make my steps towards success bigger and in the right direction in an existing context. I think we have all being using AI for years. We call it Google.

Drew Verlee15:12:34

The biggest area of improvement becoming available is that you can probably create a Google for your internal company without sending all your ip to another company and hoping they don't steal stuff. Idk. I'm out of my league on this topic, not sure why i chimed in lol.

chucklehead16:12:32

> But was it good Python and was it according to the task? Because at the end of the day it's not you who'll execute the code :thinking_face: I feel like that’s the core issue I see with these most of the time. E.g. the example in the original post has a syntax issue with the second let and once you fix that it’s still just an infinite loop. Had a similar conversation with someone about Warp in the shell last week where it very quickly gave them a solution that appeared it could be correct, but a one character flag passed to one command gave the answer different semantics than the question.

Martynas Maciulevičius16:12:04

> one character flag passed to one command gave the answer different semantics than the question I think that this has the same core problem as using Copilot. When code works everyone is happy (if it works). But when you need to understand why it works and who to give attribution to then you'll at least need scratch your head. And then we arrive to this same conclusion from the beginning of the discussion: > would I sign my name on it?

Wanja Hentze18:12:50

> I asked somebody to do something and when it became too hard they switched to python to do it This actually makes the AI more like a human, if anything 😄

😆 1
Wanja Hentze18:12:01

I have definitely seen people do that

Martynas Maciulevičius19:12:04

What if it gets too out of hand? Is it reasonable to expect that it'd switch to spreadsheets? xD

Drew Verlee20:12:54

So, i'm trying out chatGPT, and at first i'm like wow. But then i realized, it's just making things up when it doesn't know the answer. That or i'm missing things in the docs. Its like use the function-with-the-name-you-asked-for to do the thing you asked for.

Drew Verlee20:12:21

Which makes sense if they trained it on software engineers. 💪

chucklehead20:12:42

it's got a lot of knowledge and absolutely no shame about BSing its way through an answer

Drew Verlee20:12:36

Actually, i'm still in awe. > those functions dont exist in the cider docs, are you just making them up? > My apologies if I gave incorrect information. The cider-refresh-dynamic-completions and cider-refresh-dynamic-completions-in-current-ns commands do not exist in Cider. These commands were part of an older version of Cider, but they have since been removed. > To refresh Cider's auto-completions in the current namespace, you can use the cider-repl-clear-buffer command, which will clear the REPL buffer and re-evaluate the code in the current namespace. This will update Cider's completions table with any new functions, variables, or other symbols that are defined. > To refresh the auto-completions for the entire project, you can use the cider-ns-refresh command, which will re-evaluate all of the code in your project and update Cider's completions table with any new symbols that are defined. > I apologize for any confusion or inconvenience caused by my previous response. I am a large language model trained by OpenAI, and my answers are based on the information available to me at the time of the query. My knowledge is limited to what I have been trained on, and I may not have all of the correct or up-to-date information. If you have any further questions or concerns, please don't hesitate to ask.

chucklehead20:12:35

you'd have to actually go verify if that's factual or not though

chucklehead20:12:08

I didn't save it, but I was playing with it this weekend asking it to design SQL schema. At one point I asked it to setup row-level security using some user/role tables defined previously and it came back with something nonsensical using a valid keyword in the totally wrong context. I asked how confident it was that its solution was correct, and it was like oh 100% boss. I asked it to update the solution to use a particular postgresql version and it told me a bunch of things about postgresql and then gave me another broken schema.

eggsyntax20:12:39

It's just covering for itself 😉

eggsyntax20:12:52

Damn good try, though.

Drew Verlee20:12:45

i'm in awe of it's commitment to the lie then. The next step is that it actually writes the function and alters the git history.

😂 1
chucklehead20:12:32

to its credit, I asked it to give me examples of using the same schema with datomic and it immediately switched contexts and gave me a bunch of examples (that were probably all incorrect somehow) that referenced all of the various fields we'd discussed and domain-level operations I was interested in modeling

Drew Verlee20:12:20

yeah, this is super useful. Like, i feel like i knew this was coming but seeing it first hand is still a shock.

chucklehead20:12:22

it does feel like there's something to the nature of the stateful interactions, if the interface could just express a confidence level somehow

eggsyntax20:12:40

> it does feel like there's something to the nature of the stateful interactions, if the interface could just express a confidence level somehow My guess, although I could certainly be wrong, is that rather than being truly stateful, it's using the whole history (or the history back n words) as the prompt, since that's a really easy way to get GPT to be context-aware.

👆 1
eggsyntax20:12:56

I realize that's nitpicking though 😉

chucklehead20:12:17

yeah, I wouldn't be surprised if it's that or essentially that. It's just disarmingly convincing as soon as you get a little beyond your own experience

simongray18:12:48

> Commander Data explains to a group of Klingons how programming in Clojure is making him feel. The group of Klingons collectively dismiss the commander's feelings, since they only want to use TypeScript. Data: Greetings, Klingons. I have been experiencing some interesting sensations while programming in the language known as Clojure. Klingon 1: Clojure? What is this Clojure? Data: It is a dynamically typed, functional programming language that runs on the Java Virtual Machine. Klingon 2: This Clojure, it is a weak language. Only the weak use dynamically typed languages. Data: I understand your perspective, but I have found that the flexibility and expressiveness of dynamically typed languages can be advantageous in certain situations. Klingon 3: Ha! The only true language is TypeScript. It is strong, powerful, and it will conquer all other languages. Data: I understand your enthusiasm for TypeScript, but I do not believe that any single language is the best for all situations. Different languages have their own strengths and weaknesses, and it is important to choose the right language for the task at hand. Klingon 1: Enough of this talk. We do not care about your weakling feelings. We only care about the power of TypeScript. Data: I understand, Klingons. I will continue to program in Clojure, and you may continue to use TypeScript. I do not believe that either language is superior to the other in all situations. It is simply a matter of personal preference and the needs of the task at hand. Klingon 2: Fine. But do not try to convince us to use your weakling language. We are warriors, and we will only use the strongest language: TypeScript. Data: I will not attempt to persuade you, Klingons. I respect your choices and beliefs, and I hope that you will respect mine. Klingon 3: Fine. We will respect your choices, but we will not use your weakling language. Data: That is acceptable, Klingons. I will continue to program in Clojure and you may continue to use TypeScript. May we continue to coexist in peace. Klingon 1: Yes, we will coexist in peace. But do not expect us to use your weakling language. Data: I do not expect you to use Clojure, Klingons. I merely wish to share my experiences and opinions with you, in the hope that we can learn from each other. Klingon 2: Very well. We will listen to your experiences and opinions, but we will not change our minds. Data: That is acceptable, Klingons. I will continue to program in Clojure and share my experiences with you, and you may continue to use TypeScript and share your experiences with me. Klingon 3: Agreed. We will coexist in peace and share our experiences and opinions with each other. Data: Agreed, Klingons. May we continue to coexist in peace and harmony. Klingons: Agreed. Long live the power of TypeScript. Data: Long live the power of programming languages.

clojure-spin 2
😆 2
😮 1
Drew Verlee20:12:37

If you want to craft a narrative that plays ball the same way as the message your klingons do, then start by telling them that you don't want to use typescript because it's a none algorithmic language and you like the power and safety a data structure first language like Clojure affords you.

Drew Verlee20:12:03

They will ask you what you mean, and you will get to explain more.

Drew Verlee20:12:45

In the end they might end up knowing clojure better then typescript, and then you have new friends you can talk to in the same language.

simongray06:12:52

This was generated by ChatGPT based on the cited prompt. I just thought it might be fun to share here. 😅

Drew Verlee07:12:19

I mean, weird flex but ok.

😂 1
dharrigan07:12:26

That's a pretty funny conversation 🙂 Thanks for sharing 😉

🙏 1