Kevin is joined by Rizèl to learn how developers REALLY use AI in their day-to-day work, including ChatGPT and GitHub Copilot.
Speaker 0: Hello there. My name is Kevin, and welcome to learning things I love to hate. In this show, I stop avoiding technologies that I've been avoiding for one reason or another by inviting my friends and colleagues to teach me more about them. And today, my dear friend, Roselle, hello. Would you like to introduce yourself?
Speaker 1: Hello. Yes. My name is Roselle Scarlett. I'm a staff developer advocate at a company called TUVD, which stands for to be decentralized, not to be determined. And
Speaker 0: That's the first time I knew that.
Speaker 1: I always was like, when's the company name coming? No. I was I was the same. Even, like, I was at the company, and I'm like, why why is it called TBD? I didn't wanna say anything until I heard someone say what it what it stands for.
Speaker 0: So you went for to be decentralized?
Speaker 1: Yes. To be decentralized. What else about me? Before that, I worked at GitHub as a developer advocate, focused on, like, GitHub Copilot things. And, besides that, I just I like to use social media a lot and watch TV.
Speaker 0: Good. And today's topic is alluding to your previous role. You kind of, have provided the reason why I've asked you on, is about using AI as developers. So the way I start these episodes is I kinda tell you what I know or what I think I know now, what my experiences or my knowledge is. You firstly are welcome to tell me you got it wrong, but we can use that as a basis.
And then my skepticisms and hesitancies, we knew that as a basis to just have a chat until we run out of time. At any point, if you wanna share your screen, feel absolutely free to be equally feel no pressure to. So using AI as developers. AI mostly popularized by OpenAI using the chat GPT interface, but since has permeated seemingly every piece of software that exists. My, GitHub came out with GitHub code pilot some time ago.
You will fill in that blank for me. And I used it at the very beginning, like, right at the very, very beginning. And code pilot is a tool which basically allows you to to describe 1, describe what you're trying to achieve with your code, and it will give you a suggestion, by writing it in your code editor. And, also, I believe it can do, like, straight up, like, we will try and auto complete the code you're writing, maybe. In any case, my experience and thoughts around AI are the following.
1, I know I've seen some stats, like, hallucination rates or, like, where wrong rates are are dropping, and I truly believe at one point this concern will not be the case. But I simply don't trust it. Right? I don't trust it to give me codes that either is correct or is the right way of doing things. You know?
So that's one concern. And the other is having used CodePilot at the very beginning, just the first version of CodePilot before it was a bunch of of separate services, which I don't really know that much about, I found it really annoying. Like, I actually found their interaction really frustrating and in the way to the point where I turned it off because it was in the way. So, that's the kind of basis to one other bit of context that might be useful is I work for a company called Directus. We have a Discord with, like, 11,000 people in it.
People drop by when they have problems. And community, including our team, see if we can help people and an increasing amount. And we spoke about this briefly on Twitter. An increasing amount people think our stuff's broken, and the code snippets they share are hallucinations. They never existed.
They never even nearly existed. And there's a little bit of a maybe I'm slightly salty because, you know, people think your thing's broken, but, actually, it's not even it's not even a code snippet we wrote ever in any point in time. It's just wrong. And so there's something there around how people perceive AI and what it can do for them at their current stage in their career, their project, whatever. So that's my little brain dump to maybe start.
Could you maybe give us a bit of a landscape, anything you know about AI for developers, whether that's GitHub specific, other other tools, whatever?
Speaker 1: Yeah. Right now, what I use for coding with AI is usually GitHub Copilot or ChatTPT. But I do wanna, like, even back up and explain why I like it because you might just be like, oh, just because you worked at GitHub. But I remember and and that's fair. Right?
But I remember when I joined GitHub, I did see all of, like, those, like, negative or mixed reviews. There were some people on Twitter being, like, I love it. And then there were some people being, like, I think I joined when it just went out in public beta, in, like, September 2021. And that's when I was like, let me see what this thing is. I'm, like, half skeptical or half curious.
And at first, I was, like, this does not work. I hate it. It's, like, kinda like how you were like, it's a Yeah. Way. But as I started to use it more and more, I kinda got used to it and figured out, like, how it works on my workflow.
I'm like, okay. Maybe I don't always want it to at first, at one point, when I knew what I was doing, I would, like, turn off GitHub Copilot. And then if I, like, needed help or if there was, like, a pattern like, let's say, I already wrote an API call with a get for a get request, and then I was, like, I did a post request. Maybe now I need to do a patch and delete. I'll get turn GitHub Copilot back on because I'm, like, okay.
It it knows kind of, like,
Speaker 0: what boiler plating almost.
Speaker 1: Yeah. Yeah. Exactly. But then once I started to like, after that, like, I just had it on all the time. And then one thing that makes me passionate about it is that, is the psychological safety aspect.
I feel like when I started off as a software engineer back in 2018 or 2019, I don't remember, like, my team was really mean. I was like, they were so mean. I was, like, the only black girl on the team. And, like, it got to the point where I, like, had, like, real life anxiety from my job. Like, I was, like, on the bus on the way home, and I couldn't even stand up because my muscles That's why I think we were, like, kinda, like, discussing or debating or had different points of views because you're like, I don't think it's good for juniors.
But I'm like, I do because I wish I had at least something that I can talk back and forth with or, like, share an idea with and, when I was, like, just starting out. But I agree with you. It does sometimes generate wrong code. Or not even sometimes, a lot of times. And I do think that I think there's a part of, like, needed education around that.
And, also, another thing on on your topic or on your concern about, like, direct us. One thing that the new company I work at has done is I'm sharing my screen right now. Okay. They trained let me I don't wanna show all my questions, so let me hide that. But they created a plug in.
So so for, like, chat gpt4, or, like, I think it's, like, a bit like, a more premium mode. You have plug ins. Right? And they create a plug And
Speaker 0: you you, like, feed it. You feed it your corpus of data, your docs. Right? And then you give it you give it some some the custom instructions. I I use chat GPT also.
I just don't use it for code. So I understand the concepts. Right? So you give it the custom instructions and tell it who the persona is who will use it, and it'll basically spit out a custom assistant given the context.
Speaker 1: Yeah. And I think GitHub Copilot has a similar thing too called Copilot for docs. And this the fact that they trained, the fact that TBD trained their doc or chat gpt on these docs has been extremely helpful for me. Because I walk in into this job as, like, I'm a staff developer advocate, so I'm expected to know this stuff. But I never heard of Web5 before, like, I even interview for the company, really.
I don't know, like, how to do this stuff. And the documentation is, how will I say, I think it's a work in progress. And also, I'm just not a person. I'm I'm
Speaker 0: like I I I lead the team that writes our docs. So I think calling things a work in progress is completely fair.
Speaker 1: Okay. Good.
Speaker 0: No. No. That look that look is like, yeah. I know what you mean.
Speaker 1: Because I'm like, I read it, and I'm like, what? Like, there's missing stuff with it's it's still forming. The the product itself is still forming. And I'm also not really a person that reads documentation end to end. Like, that's just not me.
Like, I do your
Speaker 0: learning style.
Speaker 1: Yeah. That's not my learning style.
Speaker 0: Good shit. That's fine.
Speaker 1: Exactly. So, like, for example, I for me to build an application at this company, I, like, I wanted to jump in. I wanted to, like, be able to be, like, alright. I'm ready to go and, like, you guys don't have to hold my hand or you all don't have to hold my hand. I just been talking to chat gpt and being like, hey.
Why is it saying that the rec record dot send is not a function? Here's my code. And, like, it says, okay. It does exist. I'm like, alright.
I know that. Like, you're being a little annoying. But then I I just from reading what they said, I was like, okay. I figured out that it needs to be destructured. And I'm like, okay.
Sometimes when I refresh my page, this list disappears, and it goes on and tells me, oh, it's probably because of the asynchronous state setting. When you're calling this function, this, like, state variable is not persisting. I'm like, okay. Cool. So, like, I'm able to, like, go back and forth with it and be like, alright.
Maybe I didn't think of this perception, or perspective. And I think it's, it's kinda like rubber ducking, I think, because sometimes I'm not I
Speaker 0: think I think that's fair. See, I have a few thoughts about what you've just shown me. So the first is Yes. You 1, you made a comment that let's just say the docs are incomplete. Let's just summarize it there or they're not in their state.
They're not accurate. Whatever it is, they are not they do not contain the complete information. So, 1, this piece of software is ultimately guessing at the blanks, and I'm not sure I'm comfortable with that. The second is you demonstrated that you have an ability to go, it was being slightly annoying. I I know it was not giving me the right answer.
And that is not necessarily a skill everyone has with the immediate counter in my mind of, like, okay. But you and I are experienced developers and, like, I I'm not gatekeeping anyway for myself, but I do have some skill that allows me to assess the correctness that not everyone has. And I wonder if that changes the experience or the perceived experience of a user. And then, and then beyond that, I I get it. It allows you to rubber duck to have that thought process back and forth.
But I have those 2 concerns. Garbage in, garbage out. And I'm not saying the docs are garbage, but the docs miss things. So how do you how does it reconcile that? Or, like, have you ever found that it does just make things up?
Speaker 1: Yeah. And
Speaker 0: the and the other is yeah, how what do you have any thoughts around people who lack that ability to look at something and go, this isn't right or isn't what I want or it's contextually incorrect or whatever it may be? Yeah. I mean,
Speaker 1: exactly remember my skill set as a junior. But I do think it's kind of interesting because okay. When I was a junior, sometimes I would copy and paste stuff in Stack Overflow, and it wouldn't work. And then I would be, like, alright. Well, maybe I need to keep trying and find something else.
So I always I I think it's an interesting case that, like, they're copying stuff from AI. They see that it doesn't work, and then they're just, like, well, it doesn't work. I'm, like, usually my even even when I was just learning, I feel like my initial response is, wait. Hold on. Let me try something else.
Let me figure out. Because I will go back and tell ChachiPT or GitHub Copilot. I'll be like, this doesn't work. Like, what are you talking about? Yeah.
You have this part wrong. Like, I'll usually feed it the information of, like, here's why you're wrong. And then it'll be, like, oh, sorry. And I don't I don't know. I think I've always told people when I taught them GitHub Copilot things, like, when I do talks, I'm like, treat it like you're it's a coworker.
Like, you don't trust your coworker's code all the way.
Speaker 0: Well, that's the thing. I I think you've made a really interesting point around trust. 1 Yeah. Yeah. But how else were you learning before?
Probably through trial and error with code that didn't work. This is just surfacing it in a different way. It's just a different, yeah, way of generating or surfacing or searching that code on the web. And then the other side of it is, sure, what's the alternative? You know, my feelings about docs and AI, people who have hung around in our Discord server will know this is today.
And we're recording this at the end of 2023. I don't necessarily think it will come out, you know, very, very swiftly. So just so people know because breakthroughs are happening all the time. I will not present codes to people as an educational resource that is AI generated because the moment you present it to people, you are endorsing it. And it doesn't matter how many caveats you put in.
The people's behavior with AI seems to not fully get that it hallucinates. Yeah. And so today, it's just not there. It's just it's just not there. And don't get me wrong.
I'm still exploring AI. I'm still thinking about it. I'm still thinking, well, how do we lay the foundation. So when that concern falls away, because it will, we can we can deliver something great in terms of the world of education. I never touch AI generated docs, AI generated answers.
I never use chatbot interfaces. I do not trust them.
Speaker 1: Interesting. Even if you try them out after, like, that's the part. Because it's not like they're just
Speaker 0: But then I but then I am someone who doesn't mind reading documentation. Interesting thing about this is it isn't yeah. It doesn't just have to consume, consume docs. It can consume other, other sources of information around the web, and maybe that's that's kinda interesting. The other the other concern I had, was so, you know, a lot of these trust arguments, I see the counter arguments.
It's not the first time I've heard many of them, but it's good to See. Excuse me. It's good to to think about them a little more. The other part of it was the annoyance factor. And I know that even in the world of GitHub, they have released CodePilot is not, just the thing that autofills your code based on comments.
It's like an ecosystem of services. And I'm kinda curious, bearing in mind that it doesn't just have to be that interface. It doesn't just have to be chat in a browser. Mhmm. What how else do you use AI in your in your practice as a developer or a developer advocate, outside of what original Copilot looks like?
Speaker 1: I use original Copilot. I use Copilot chat, which is, like, chat gpt. But, I'm
Speaker 0: contextually aware of your codes and the environment at which it runs.
Speaker 1: Yeah. I'm trying interesting. The I thought I had a Visual Studio example code example. Hold on. There we go.
And then, oh, another one I use is within my terminal. So there's, like, Copilot CLI that I use. So sometimes I'll be like, oh, man. I forgot how to, like, do this bash for me. And I don't have the example right now.
My bad. But I'll be like, I forgot how to, like, do this or I forgot how to write this script. And then I'll write in natural language what I wanna do, and then GitHub Copilot will give me a suggestion of what I wanna do of what it thinks I wanna do, and it'll give an explanation of what that command is. And then I can say, revise the query. That's not what I want.
Or I can be like, yes. That's what I want. Go ahead and run the code. So if I'd be like, actually, I didn't want it to just, like, grab grab all of these JavaScript files or maybe I wanted to remove node modules or something like that, it'll, like, revise the query for me. But I mostly use the comment fee like, writing the comments and then the chats on the side.
Speaker 0: Interesting. That's fascinating. That's a really interesting interface. And, of course, I I mean, logically, I know this interface exists. This will this will be one of many tools like this that is contextually aware of your code base.
That's another issue with, like, chat g p t, for example, is it's not contextually aware of your code base. It just gives you a
Speaker 1: isolated pace. Exactly. It's so annoying. Whereas this is like, oh, use one reference in the index dotjs, from line 22 to 2279 to, write out all of this. Oh, another thing I want to bring up is I mostly use AI to understand code, to be honest, more than, like, literally write out my code.
Speaker 0: Yeah. Could I ask you could I ask you a favor? Could you bump your font size up Oh. 2 or 3 times?
Speaker 1: I can't. Let me,
Speaker 0: All good. That's good.
Speaker 1: Doing right here. Cool. So one thing I use it for is, like, understanding that code. So, let's say, This is I don't know. I I use a lot of AI code even though you don't.
Alright. So, oh, wait. Let's say, right, I I want a better understanding of this Web 5 package, which I've lit legitimately done in the past. Right? So I've opened up, like, these like, the the type source or the source definition for the code that they're creating.
And I'll, like, highlight all of it and be, like, hey, Copilot chat. Can you explain what's going on in this? How do I sometimes I'll ask you questions, like, how do I, like, create a record or whatever. Let me see if I can just give an example here. If I just say explain.
Speaker 0: Like a slash command. Interesting.
Speaker 1: Yeah. They have slash commands. And okay. It's using all of these references. That's cool.
They're working on it even more. But I I mostly use it for explanations because sometimes I'll look at this and I'm like, my brain is hurting. Like, what is this giving me? So once it breaks down all that stuff for me, it gives me more insight. Like, that's that's my main way
Speaker 0: of thinking. Say I will say in the skeptics world here, a few things. 1 Yeah. Do do you trust what it says? That's a I mean,
Speaker 1: I don't know. Go in half, like, half trusting. And I think that's okay.
Speaker 0: My real thought though is this file you've opened up on the right looks very lovingly commented, which is fantastic.
Speaker 1: Yeah. No. This is a bad example. But yeah.
Speaker 0: In terms of power, because all it's doing really is presenting the information that has already been handwritten in a nice way. And so that's that's there's a bit less inference there. It's just a bit more summarizing what's already been
Speaker 1: written. Yeah. But for me, I like seeing stuff in this format. I don't know why rather than, like, looking at, like, random I get it.
Speaker 0: I get it. I don't know. I don't like reading code comments. Yeah. Yeah.
To to understand. Right? It's not my style either. Yeah. So, yeah, that's really interesting.
I suppose you can ask follow-up questions. It'll try its best. Interesting. So what have we discovered so far? So we're talking about chat GPT as I as an as an isolated example that we spoke about 2 forms of code pilot.
We've spoken about this kind of if you write a comment, it will suggest things to you, which I'm really not a huge fan of the interaction. Though this idea that you can turn it on and off when you just want a bit of input, You know, when there's something meaningful coming up or when you need oh, I need to I don't know. Replace every I need to make this URL safe. Okay. Give me the regex for that.
Yeah. Reg reg x. Give me the regex for that. Yeah. And it's something you would just Google.
You'd find you'd maybe go to a little generator online. I I do get that. It's interesting turning it on, turning it off. That's fascinating. I may have a think about that.
And the second is this chat interface, which is contextually aware of your code base.
Speaker 1: Mhmm.
Speaker 0: It also allows you to highlight portions and be very specific about the area in which you're asking, but it still understands the context.
Speaker 1: Yeah. So these
Speaker 0: are 3 tools used in different ways. Yeah. How else, if at all, does AI kinda come into your your day to day work life, as a developer?
Speaker 1: Yeah. Was that a was
Speaker 0: that a little kitty cat?
Speaker 1: Yeah. Sorry about that. That's fine. I don't know why such, like, as if he would understand. I guess another thing and this is something I do a little bit less because I think this this is still a work in progress.
But sometimes, like, let's say I'm making a demo app. I wanna, like, just put it out really quickly, but I'm like, maybe I should add some, like, comments or notes to it. I'm, like, I already wrote this all up, and, I'm I'm lazy. So another thing I'll do is, like
Speaker 0: lazy. Think we're all lazy developers. There's no shame in that.
Speaker 1: Yeah. So another thing I'll do is, like, I'll highlight it, and maybe I'll, do this where it's, like, generate docs. But what that's really doing is not generating real documentation. It's just generating, like, JS docs. But I found that to be, like, perfect because it doesn't have to think too hard about this.
And also think about
Speaker 0: the amount of time it would have taken you to write that versus what it just did. And then you just go in and fix it, adjust it, and so on. It's quite small amounts of code, though. You know, it's pretty pretty clean-cut, but it still takes time to do. And there are other generated ways to do it, but this really allows you to do a quick valid Yeah.
Manual validation. I think that it that's the thing I keep coming back to though, which is the success of using AI as developers. I believe at this point, I believed at the beginning of our chat and I still believe relies on your ability to validate either through a gut feeling or through testing testing that the output is correct. And not everyone has that skill, but I worry that the way these tools are spoken about by companies that say, hey. We're providing this tool to you.
I think there's a bit of a mismatch between between the marketing and reality. And I think that gap is being closed. But I think I've worked for companies in the past that have this tendency where they they don't say, hey. Our goal is to allow x and come with us on the right as we build that. It's we do x, and then they fall short.
And I think that's a little bit naughty, and I think that's where a lot of my, hesitation comes from. Because that manual validation, something that today, can you automate? May we'll talk about that in a moment. But, you know, is is often not spoken about. On that note, I have heard about this thing.
I forgot what it's I forgot the wording for it. But where you feed output of AI into another AI to try and validate its correctness. And if you do that enough times with enough systems, you can grow your confidence of an answer being correct while being a fully automated setup,
Speaker 1: which is kind of I've never heard that. That's cool. But I will say what
Speaker 0: it's called.
Speaker 1: I agree with you on that part, and I think that's how we both even started the conversation because both of us said companies are, like, amping up AI too much. And then, the, Diane is like, y'all are saying the same thing. So, yeah, I agree with you. And I think I think that's that is a problem I had where it's like we're, like, copilot and all these AI things are gonna solve all your like, double check the work. Because, like, I've used it, like, double check the work because, like, I've used it.
I used it the other day. My my company encouraged me to use it to generate test cause we needed to test code snippets in our in our, documentation. But, like, I had to I kept testing the test to make sure they were, like, actually right, not just, like, fake, like, passing.
Speaker 0: Yeah. And, you know, it's also interesting. So how do I use AI? I use AI every day, and I use it for writing, and I use it for image generation for concepts. I'm a believer that, like, all AI output is based on stolen work, and you've never convinced me otherwise.
But, but to take the ideas in my head and illustrate what I had in mind, AI is actually fantastic, and then I generally take it to an expert to do properly. You know? It's just a way of of expressing what I mean. Then I use it in terms of writing in 2 ways. 1, to overcome a blank page problem.
Like, help me think about a structure of a a a blog post that's trying to have these key goals. You know? It's not that you're gonna generate it for me, but you're gonna help me overcome the, I don't know how to start. Or I've written a thing. I need it to feel or be more like x in terms of tone or length or, well, tone or length.
And you can go away and try and do more with that. So I do it for a lot of rewriting. So the I use it in these ways every day and literally every single day. I also use it for, like, kind of what I would call composite queries where I'm like, here's a picture of a back of a complex cooking instruction or like or like, here's a recipe in German. I live in Berlin.
My German is not that good still. Here's a recipe in Berlin. Here's a recipe in Berlin. Here's a recipe in German. I've just done x.
What do I do next?
Speaker 1: Yeah. Interesting. Because I I like I like that idea of the the back of the box. I don't I don't like it for writing. I hate it for writing.
Is it not interesting? Sometimes So it says I'll use it for writing, but when I try to tell it to do it in a specific style, I feel like I've seen chat g p t be like, hey. What's up? I'm like, oh. Sorry.
Sorry.
Speaker 0: But I had a second point there, which which the answer to that, which is that I almost never will take the output for beating. In the image generation world, it still goes to someone who is able to turn that into something actually usable. Yeah. And in the writing world, it almost never gets it right. Even if I just give it a little not take, can you make sure to emphasize x?
It rewrites other bits, and I'm like, no. That bit was good before. So so I end up again doing the manual validation slash fixing slash, you know, that that last mile piece of work Yeah. Manually. And I have no hesitations about that at all, but it has still saved me 80% of my time.
And I feel like, you know, I so I said things like, okay. So I use chat gpt for, like, generative creative work, but I won't use it for code. Code is just it is creative.
Speaker 1: It is. Yeah. So it's not interesting. Same It's the same thing. The same process because Exactly.
Let me see if I have an example. Here, this is one of my first days at, at the company. I'm like, how do I use this? And it showed me it in JavaScript. I don't even write it in JavaScript, but I'm like, okay.
Cool. Can you write out the whole code? And then it did. I'm like, that's interesting. What will it look like if it's in Next.
Js? And it told me. And I'm just and I'm like, so what's this part? Like, what is this thing or app protocol? How do I create that?
Do I need my own URL? And then it tells me. So, like, I'm not I know it's gonna be sometimes wrong, like, with writing. And I know it's I'm not gonna copy and paste this exactly, but I'm like, it's a starting off point because I had no clue what DW or communicating across DWNs is. Like, I just keep hearing my coworkers say that.
I'm like, what is it? How do I do it? Or like I was
Speaker 0: acronyms. I use it for acronyms all the time. Like, what does what does this mean? Like, someone's just used an acronym. Good for docs as well.
Like, how could I make this more approachable? Or where where do you think I might have made assumptions based in my writing? And then they'll give me the answers. It doesn't mean I need to fix them. It means I'm aware of them.
And some of those assumptions are completely fine. Because, you know, in the world of directors, for example, you know, some, developer relations educator teams I've been on in the past have been, like, how do we enable people from the first line of code they write to be successful with us? And because of the size team we are, I'm not incentivized by that directors today. I'm incentivized by saying, this is the knowledge you must have. And if you have this knowledge, we will take you from there.
Hence, some assumptions are fine. But I can interpret that and make decisions based on that. That is fact I also like I use it for writing in terms of changing form. So every minor release of directors actually recorded one just today, which will now age this video if I've not done another one since. We we, yeah, do this release notes video that kinda describes what's new, what's important, any breaking changes, community contributions, and so.
And I will write it as a set of bullet points, and that's my script. I don't script word for word. I script bullet points, and I can talk around them. But then I'll take those bullet points. I'll be like, hey.
Could you just turn this into a announcement blog post? 80% of the way that I'm never gonna publish it as it comes out. As an AI sent, as you said. Like, I can tell. But, again, it will help me find the words.
Sometimes a bit of nudging and correcting. And then I'll say, great. Summarize this as a discord post. Like, I want it in a tweet link. I want it in a discord post.
Great. So I've written some material that was handwritten. Yeah. Bullet points. I can write I can use that, but you could generate a script.
But I I just use that as my script. I get all these other modalities from one source material. So I yeah. So that's another way in which I use it for non code content, which I find very effective.
Speaker 1: Yeah. I guess sometimes I do use AI. In other words, there's, like, a product called video tap.
Speaker 0: Yeah. It will
Speaker 1: be by Chris. Yeah. Yeah. Sometimes I'm gonna use that. Sometimes I'll be like, yeah.
Turn this into little clips for me. Or So for those watching, just
Speaker 0: so you know, the way VideoTap works is is you feed it a long form video, it'll spit out a transcript, summaries, some, like, social posts, social, like, little sting videos, some little teaser videos, and so on. That's a big reason that our team is really interested in long form video, like you're watching right now on this platform on right now, is because it once transcribed, which you can do now, even locally for free, You know? You can do it using other external services. But, you know, however you do that, you can then derive lots of other content out of it. I don't wanna turn this into
Speaker 1: a factory of impersonal content where we make video
Speaker 0: and everything else is just AI generated. Factory of impersonal content where we make video and everything else is just AI generated dribble. But, again, it allows us to quickly move on the other content. Structure wise, often, write written content and video content can follow a similar or same structure. The general points I'm making are the same.
It might just be a little less conversational. Is a tool that, we're exploring as part of that, actually.
Speaker 1: I love that. I want my team to get into it, but I I haven't been able to convince them yet. Another well, another thing while you're while you were talking, I was thinking of was, like, sometimes converting things to, like, different well, this is my last point because I know we're getting down to the wire. Like, different, like, languages, I guess. Oh, wait.
For example, like, my team would and and in in terms of time too because I'm like, now I'm not spending, like, hours trying to figure out how this works. My team was saying, like, hey. Some things are failing because we don't have, like, webpack configured or whatever. And I'm like, okay. So I've seen how they configured it for a particular I think this was for DocuSaurus.
But I'm like, how could I do something like that for my Next. Js app? Because I'm seeing this error in my Next. Js app. And then I just gave it what it gave me, what my team did for DocuSaurus, and it printed it out for for, Next.
Js. I tried it out. And on top of that, like, what I really like is the explanation. I feel like back in the day when I was copying stuff from Stack Overflow, it may or may not have the explanation with it, and I'm like, I don't
Speaker 0: all one that you can understand. Right? Yeah.
Speaker 1: They're all like, you know, it's good.
Speaker 0: You can ask follow ups, say that bit doesn't make sense, elaborate, and so on. Yeah. So I will say this is where I start to become skeptical again. I will give you just a quick story. You may know Joe Nash.
Yes. So a friend of mine, and he he quite rightly, like, roasted me in, like, a friendly, funny way back in January. Back in January, I ran a conference which you spoke at.
Speaker 1: Yeah. You got this.
Speaker 0: Yeah. Over 3 time zones that we published the time zones for. And I wrote it all in one time zone. I went, hey. Could you please give me, you know, based on this time zone, I want Eastern, I want Indian Standard Time, and I want one other car, remember, whatever whatever one it was.
And it got it right enough of the way that I manually validate it. Yeah. Yeah. Yeah. And then it started to go off the rails.
I ended up inviting some speakers, like, an hour early for their talk, And my hosts were not there. There wouldn't have been there at the right time if I didn't realize. So, basically, I couldn't have trusted the output. I did not enough manual validation. Well, I should have just done it in a spreadsheet.
I I've learned my lesson. But, you know, that's made me skeptical for things like, you know, convert a to b. Even languages, I'm a little bit skeptical, you know, on its translation ability. Yeah.
Speaker 1: That's interesting. I think you're right. Like, I can't even argue with you that it does it does need manual validation. And maybe I'm spending the same I don't think I'm spending the same amount. Maybe I am taking a lot of time to do the manual validation, but I woulda never wrote this on my own.
It woulda take well, I I could've, but it woulda take me to the This is
Speaker 0: different. This is also comprehension. So it's teaching you a thing and then writing the code. In in my world, I'm perfectly able to convert time zones in a spreadsheet. I just got lazy, and I trusted it all and then didn't validate it.
So, you know, the context is a little different. It was a it was a data manipulation slash entry task, and it it got it wrong. And I'm to blame for for trusting its output. But, yeah, that's a funny story that, in fact, even when we are now, this will really date it because I think this will change. We are in the few days where chat g p t is being accused of being lazy because it won't complete the whole task.
That is the time frame in which we are recording.
Speaker 1: When it does that.
Speaker 0: Sure. So this is new. This has just happened, and I imagine this will have stopped. But regardless, it's just started happening in the last few days. So that's that's the time frame in which we are recording this video.
And I did make a little joke. I was like, you know, how else am I gonna create an international, you know, conference schedule? Anyway, thank you for joining me. Actually, genuinely, now not every episode of these I've been ending the same way. Some have gone in and went, yeah.
I still will never gonna use it, but now I understand it. Now do you wanna know what? I can see myself genuinely using GitHub auto, copilot, auto completion comment things opt in, like, I turn it on. Not that it's always there and gets under my feet. For things like he says, hey.
I've done a I've done a get I've done a get in post request. Give me a patch. You know, patch, put, delete, or here's a schema. Can you just generate some endpoints? Yeah.
Whatever. I also see the chat on the side working quite nicely, actually, because of its contextual awareness of your code. So you know what? Consider me to a degree one over. I'm still a little concerned about the correctness.
But if I start to think about it as it doesn't need to be correct, it needs to show the approach or the thoughts because I do I'm lucky enough to have the skills to validate very quickly just by eye that feels right, that feels incorrect, and then respond accordingly. I'm still am skeptical around companies claiming it can do more than it can today. And as a maintainer of a large open source project, I definitely feel the the sharp end of that too.
Speaker 1: Yeah.
Speaker 0: And, you know, people end up feeling like they have a bad experience with our product. Sometimes I will say that it's absolutely us. Sometimes it's bugs. Sometimes it is incorrect or incomplete dots. Absolutely.
We're not perfect. But sometimes it is hallucinated code, which can only be spat out by one of these tools. And that makes them think, oh, things bust, and it just isn't. And so, that's interesting too. So I remain skeptical on that end.
And as a result, today, I would still never implement it in docs for that reason. Yeah.
Speaker 1: That's fair.
Speaker 0: But as a personal user who can validate an output, yeah, do you know what I see it? And that's what I was really hoping to get. I was hoping to see someone who has touched these tools more.
Speaker 1: Mhmm. And
Speaker 0: you very much have, especially in your previous role. Yeah. I wanted to see how do you use it? How does this form part of your practice? And what parts of this might I be able to adopt?
So, yeah, success. Thank you.
Speaker 1: Yay. I'm glad. And I I think, it was good to have the to learn that perspective of other people just taking the code and just assuming it'll work because of how
Speaker 0: An increasing amount marketed it. And increasing
Speaker 1: I never seen that side.
Speaker 0: Yeah. An increasing amount of, Yeah, which which is challenging, which is challenging. And yeah, I don't know how I don't think that is overcome by education. I think users believe the output is correct. I think that is solved, unfortunately, in time as they just get better at their job.
Speaker 1: Yeah.
Speaker 0: But that is that doesn't help me in the meantime, but that's okay. I can suck that. But but selfishly and personally, I've got some stuff. After you wrap up, is there anything else you wanna share? Where can people find you, your company, your projects, your favorite TV shows?
Speaker 1: Cool. Yeah. You could find me on Twitter. I'm not gonna call it x at blackrobytes. Actually, any social media, you can find me at blackrobytes.
My blog, blackrobytes.dev. What was the other questions you had?
Speaker 0: I said, any anything work wise you wanna promote? And then Oh. The TV shows. Come on. Spit spit them out.
What you're watching?
Speaker 1: Speed TV shows. Okay. I got you. Okay. Work wise, go to my just go to blackrobites dot dev, and you will find something.
Speaker 0: B y t e s. Bites. Like coding bites.
Speaker 1: Yeah. B y t e s. It's like computer bites, not I'm biting you.
Speaker 0: Or eating food or whatever. Yeah. Okay. Go on.
Speaker 1: That's better than that.
Speaker 0: Uh-huh.
Speaker 1: TV show right now. Oh, wait. I'm a big reality TV show fan. So I've been watching Love is Blind. It's a crazy show.
I love also invincible, gen v. They're a little gory. But
Speaker 0: Yeah. So so invincible, everyone, is an 18 rated show, I must add. Because my friend Nathaniel made me watch an episode of it. And to be like, watch one episode you're either in or you're not in. And I was so in, we just haven't got around to watching more than the first episode.
So Oh, what? You know it. Yeah. I I know. And I know it's a season 2.
Really good. But my kids were there, and they they were, like, they were, like, 1 and, like, 3 and it's like and and it really gets gory towards the end of the first episode so you know it's a little bit of like an adult animation, but they don't bloody understand what's going on. It's fine. And at the end, we were like, really,
Speaker 1: really? Did you just do that?
Speaker 0: What the hell? So yes, it is a bit gory. And that's my story of learning it.
Speaker 1: It's very gory. Keep it awake.
Speaker 0: It was good. It was but it was on Amazon Prime Video. That's an Amazon Prime Video original, I think. Yeah. Excellent.
Lovely speaking. Thank you so much. I'm going to can I use these in Codespaces? Because that's what I use.
Speaker 1: Copilot? Yes. Yeah. Yeah. I think that I'm I I used to never use Visual Studio Code.
I used to only use Codespaces.
Speaker 0: I still don't. I just use Codespaces. Alright. Sick. Have a wonderful rest of your day.
Thank you very much, and goodbye.
Speaker 1: Bye