So I think one of the great powers of AI was just getting into that first gear, right? Right? How do you just get started on this problem?
ConorWelcome to ADSP The Podcast, episode 253, recorded on August 21st, 2025. My name is Connor, and today with my co-host Bryce, we chat with Sean Parent about cursor and AI.
Sean ParentBut you mentioned, you know, my comment and my push, and that was uh the Adobe Source Libraries, which uh uh uh these are where the the Adam library is, and you know, I've maintained it for 20-something years as kind of a side project uh since the previous software technology lab. And during the period where I left Adobe and went to Google, uh there was like an update to the Doxygen tool, and it broke the generation of Doxygen and like badly broke broke the generation of the of the documentation. Uh so I've left the old site online, uh, uh, but for 20 years I haven't been able to build the documentation. And I took a stab at it at one point, and Foster got uh Foster Breton, somebody I work with, he got uh a couple of the files building at one point. But it was like uh the more time that went by, the more impossible and intractable it seemed. And part of it was when we originally wrote the documentation, uh, you know, I didn't have have a folding editor. Uh so I hated having big blocks of description in my source files. So I wrote all the documentation as external in external.docs files. And for Doxygen to match those up, it means the signatures have to match. But the signatures don't match textually exactly. They used to match, have to match through Doxygen's old AST parser, and now they have to match through the the the Clang AST parser because Doxygen has moved to Clang. Okay, so if you think about, you know, you've got several thousand functions in there and and those signatures don't match, and you can't copy and paste to fix them. And even if you could copy and paste, you have to be able to figure out which one matches with which one, and they're written in a different form. And now, 20 years later, the API is probably changed. So you have this huge problem of trying to figure out, like, okay, which documentation goes with which function? And because of overloading, you can't even just say, Oh, I'm just gonna search for the name of the function. It's like, oh great, I got five of them. So which one of the five documentations goes with which one of the five overloads? Right? Right, right. And now there's probably six overloads, so which one am I missing? Right? And uh so every time I took a stab at it, I was just like, this is just too much work, it's not worth it. I'm not doing it, I'm out. So I think one of the great powers of AI was just getting into that first gear, right? Right, how do you just get started on this problem? So I wrote this huge prompt, and you know, it took me a couple of tries where I'm like, no, you're going way off in the weeds, and like reset it, set it so. But I ended up with this, you know, a big, huge prompt where it was like, okay, here's the deal. This is what I'm trying to do. You know, this is what has happened, here's the history of it, here's the problem, here's the challenge. Formulate a plan for how we're going to approach this, you know, incrementally. Don't try to do it all yourself at every step of the way. We, you know, we will stop and validate and iterate. Do you have that prompt somewhere? I might. I might have kept it. I um burned through an entire month's allotment of uh uh uh of Claude 4 max mode tokens in about four hours, uh, but got it done. And and the docs are now posted, and it's like the first time the docs have built in 20 years, and they look much better and they're much simpler to maintain. And uh, you know, we spotted a couple uh a couple mistakes and a couple missing items in reviewing them, but but uh uh those were easily fixed and uh it got it all going. And so so you know it's like could have I had done it faster by hand? Probably not, you know.
BryceMaybe if you incorporate all the time into into fill you know figuring out the prompt and all that, but getting there was just so daunting that I wouldn't Yeah, but but but the time figuring out the prompt, even if you spend more time on it, that's higher value time than doing the repetitive task of going through these 7,000 functions.
Sean ParentExactly. And it once I got it going, it was really nice because it it would go through and it would say, like, like, oh, okay, so so we're compiling the docs, we got this error from Doxygen, here's my suggestion for how to fix it. And I would be like, like, that's great, do that. And it would say, Okay, there's 600 more identical issues. Do you want me to fix them all? And it would ask, and I'd be like, Yes, fix them all. Done. Right, right. And um, you know, uh it would come up, come up and say, you know, we got this other problem. Here's my suggestion for how to fix it. And I'd be like, no, I think there's a much simpler fix, do it this way. It would be like, okay, doing it that way. Just like, you know, of course it always says, like, that's a much simpler fix.
BryceYes.
Sean ParentRight, right. You're great. Yeah, so just got this iterative process going. And it was, it was, do we know when we started, I don't know, something like 7,000 errors when we, you know, because it was like phase one. I'm like, just set up the framework so we can run doxygen on all the sources and don't try to fix any errors, just get that going. It's like once we got that going, it was like, okay, now there's 7,000 somewhat errors. So let's my first thing was like organize those into categories so we can try to attack these systematically. So it came back with like, like, here's my proposed categories. I'm like, okay, that looks great. Let's start with category number one, right? Right, let's figure out how to fix that. Uh so it worked really well. So now I've got the uh the ASL docs are all back online for the first time in 20 years.
ConorSo this is the I mean it's an amazing story. And uh obviously, because uh as you mentioned, uh I think it's rocket fuel. So it's obviously I love to hear stories of other people thinking it's rocket fuel. But uh to play uh not devil's advocate, but to answer the question that I'm sure because we we definitely have had I've talked to folks and people have uh mentioned in the GitHub discussions that they're they find the these tools counterproductive, et cetera, et cetera. And they're probably thinking, well, Sean said it's rocket fuel, but at the same time he said he lost a week debugging an issue because it it gaslit him. He also had to spend like a number of hours iterating on a prompt, like that's not what I want to do. So how do you uh I'm sure the for the person that's thinking that in their head, how do you answer that, like, oh, how can it be rocket fuel if you're ending up, you know, chasing bugs for days uh or a bug for days and you're having to do this iteration? Yeah. Curious to get your thoughts if if that person was in this conversation. Yeah.
Sean ParentYeah. I you know, I think, you know, net I am more productive. I I also think I I tackle things that I wouldn't normally tackle, like this documentation problem. But there there are other examples too, right? Right, where it would just be like, you know, I could figure that out, but it's too much work and too low a value. And and so so having even a device where you can have a conversation, it's like having a collaborator, right?
BryceYeah.
Sean ParentAnd and that can have have have huge benefit. Uh you know, and if you've ever worked with a collaborator or you've ever done anything that you don't know how to do, you go down dark alleys also, right? It's not like when I'm writing my own code, it's like always perfect out of the shoot. It's like I write pile the code and throw it away. I'm like, well, that's not going anywhere. Uh so I think the AI helps me do that faster, right? Right. Uh so I don't view view, you know, much of the time as wasted. And I learned pretty early on that if it's not, if I know what I want and it's not doing what I want, then just do it, right? Right? Right, don't, you know, early on, especially when you're trying to to try out one of these systems, you're like, here's the problem, and you're giving it a problem that you know the answer to, and it gives gives you an answer that's close but not exactly there. And you're like, oh, well, what about this? And you you're trying to convince it to get to the answer that you have in your head, and you just get frustrated and you bang your head against the wall, right? And and it's like, that's not how you would work with a person, you know. That's not how you should you should work with with one of these systems. If you if you know the answer, tell it exactly what you want and be very explicit. Um or just do it yourself.
BryceI I have found myself that like more and more, like when I first started off, I tried to have it do everything and I got really frustrated when it didn't. But now it's like when I'm like, okay, like I can just do this, I'll just go and do it.
Sean ParentYeah, and there is, you know, now it comes up and it's like, you know, in in if you've ever used used Claude, it comes up for any changes it makes, it gives you a diff, right? So you can accept or reject things individually. And I will, I don't know, probably 70% of the diffs it presents, I will edit them, right? Yeah. And and rather than modifying my prompt and being like, like, oh, don't do it that way, do it this way, because it doesn't have any memory. So unless I take the time to put it into a rule, uh, and most of the time it's not worth it, it's not going to remember it. So there's no use in me training it.
BryceOne of the main reasons that I use uh uh GPT-5 um uh a lot in alongside using like Claude and Cursor is because GPT-5 has like it has this memory system that I opted into like six months ago. And so now it knows like a lot of stuff, and so I know I can ask it a question with a lot less context, and it's like, oh, I know I know that this is Bryce, I know that he works at NVIDIA and works on CUDA. There is the occasional problem that my girlfriend and I share the Chat GPT account, but I do I do legitimately think that it had that like it ha I haven't checked its memory in great depth, but I do think that in somewhere in the memory it's got an understanding that there are two different people interacting here. But uh but it's nice because like I I know that if I go into ChatGPT that I can give it a lot less background. I'm not sure whether Anthropic has a memory feature and whether it's something that Cursor has turned on.
Sean ParentI haven't seen it, but now I will look for it because if it had a memory feature, that would be great. And I frequently forget to uh uh kind of you know end one chat and start a new chat, and every once in a while I'll look at the title of my tab and it'll be like I've been having five conversations in the same thing, and and and I the bigger your context gets, I know it's summarizing it, but it's like like the crazier it's getting. The crazier it's getting. Yeah, and you're like like, okay, stop.
BryceI I had a I had like a four to five month period where cursor was nearly unusable for me because it like writes this database of like the current state of everything, including the chat. Um, and it would just like it it was every five to ten seconds the entire UI would lock up because for whatever reason they were doing some blocking I.O. in the UI thread, which you should never do, but they were doing. Uh, but so I got very religious about like starting a new chat frequently because that seemed to make the issue not so bad. Fortunately, latest version of cursor no longer have that problem. But uh yeah, for a long time I was working with like every every like five to thirty seconds, maybe cursor would like freeze up. Um just like I could I could be like typing it, it would freeze up. Just anything, it would freeze up. And I was like, why? Why?
Sean ParentI had there I found and reported a bugging cursor that was driving me nuts, which was if it uh was in the middle of doing something and you hit stop and then typed in a prompt, right? Because you can see like like like you're doing the wrong thing. So I would hit stop and then typed in in a prompt. It would not even see the prompt and it would just pick up and continue.
BryceYeah.
Sean ParentAnd uh that was driving me insane. It was like like stop, stop, stop, stop. Right. And the only solution was to just kill the tab, and it's like, yeah, I lost all my context, and uh so it was so painful.
ConorBut I I wonder if that's why uh it like they changed the interface in the last, I don't know, month or so, and now it's uh it'll give you a little thing and it says run, skip, or reject and tell you what it wants, because there there was a period of time where they stopped you from being able to stop it. And then I was like, uh, because I I I I found that half the time it would work and half the time it wouldn't. You would give it and then it would just go back. And I was like, did you not hear what I just said? Uh but uh but now they've got like a much better interface where they've got three different options. Typically you're hitting run.
BryceBut it's only on tool commands. What they what they need, like if you're if it's just making code changes, like if you can see that it's planning and making code changes that are in the wrong way, there's no like interrupt and tell like like it's not.
ConorWell you can just interrupt it still and it's like skip or something or stop and then just type and it works. But uh usually I let it finish whatever it's doing and then tell it's tell it it's wrong.
Sean ParentThe other thing is if you don't if you don't wait for it, if you just type, if you don't stop it, don't wait for it, you just type and hit return, it will cue it. And then it world will, at the next opportunity, will look at that cue and go, like, oh, okay, I'm gonna adjust you my plan, blah, blah, blah.
BryceYeah, I haven't I have not had a chance to clear an art that much yet because I've I was like on a build of cursor from like six months ago to deal with the stability issues. But have have either of you two tried the like uh like having multiple checkouts and like doing concurrent work, like having multiple checkouts and multiple agents working at the same time?
Sean ParentUh Adobe's licensing doesn't allow us to run background agents, which is kind of a pain. Um however we're, you know, whatever we're paying to the cursor folks. Um I find our our token allotment too to be a bit limiting.
BryceConnor figured out how much NVIDIA is paying and what our I guess our limits pretty generous because I've never I've never run into it.
ConorWell, I I also I mean we're uh we're not allowed to publicly talk. I asked if I was allowed to report, but but they said you have to get permission. But um, because you can go to I think this is for any organization, it's not just for uh NVIDIA because it's it's the cursor website. If you go to cursor.com slash settings and you have a corporate whatever, and probably even if you have a personal one, they have a whole analysis tab where you can see over the last one day, seven days, thirty days, um, how much you're using by language, by requests, and also to um it shows you your rank in your organization.
BryceSo you get to know what Sean's rank is.
ConorI'm not gonna go awesome. Yeah, I guess I guess Sean can uh can go and look that up. But uh the interesting thing is that I do almost all of my work on Cloud for Sonnet, which I don't think has any extra billing. But if you are using the uh larger models like 4.1 Opus or 4.0 Opus, uh, and I actually think 4. Cloud 4.0 Opus, uh, that one actually is more expensive than 4.1, and they recommend if if you can to use 4.1. So if you're using a lot of the larger models, I think there are extra billing fees associated with that. But because I'm always using force on it, uh I I basically accrue very little changes. Um I can see Sean's looking it up. Uh yeah, I'm just looking out of curiosity. I would I would love to report my ranking and how many folks at NVIDIA uses it, but maybe at maybe at a future date when they say we can talk about this, but uh we cannot, unfortunately. I don't actually know that we can't. We might be able to. I just I don't know where the green light was given. So uh or if it would be a good one.
BryceIt's interesting because when when I look at mine, like it it it says total lines accepted for the past like seven days is zero.
ConorAnd sometimes that's a bug. Sometimes it doesn't refresh for a while because I've looked at it a couple times and it says I haven't used it in like four days, and I'm like, what are you talking about? I spend 10 hours a day. Like I I launch uh Go Chromecast uh to watch movies uh on our TV using Cursor now. I just open up Cursor and I say, Hey, can you play of right now we're working through uh the Star Wars with uh because my fiance haven't seen them.
BryceWait, wait, wait. How do you how how does it know how to do that?
ConorSo this this is it's beautiful. People folks don't understand. I I'm living in the future here. We used to be sipping rocket fuel. Now I'm just living in the future. You can just ask it, please go play Return of the Jedi. If you have that movie sitting in a folder, it'll go find it. It knows probably like it's in the movies folder. It goes to movies, it does a grep for Jedi. Oh, there's a folder, let me go check in there. Oh, there's an MKV. And then it goes, let me go search for a Chromecast. It does this dash dash list, finds the Chromecast, sets up a connection, casts it. So I like uh we set it up. I just I press one command. I have to hit enter enter because we don't have YOLO mode yet. Uh but the point being is like I I want uh I like I was talking to my fiancee Shima. I like I need it in my sunglasses, I need it in my car, I need it everywhere.
BryceLike I need it, I need it in Chrome. Like it's still, I'm I so okay. Uh I don't want to shut in Google. However, I I did just subscribe to uh Google like AI Pro to get Gemini Pro. The reason was I wanted Gemini in my spreadsheet because I had like the task was I had a list, like one column, which was names of people. And then in a separate spreadsheet tab, there were a much bigger list of the names of the people and their emails. And what I wanted was I was like, hey, here's like a list, like I like this set uh this tab has this list of 10 names of people. I want you to go and look up their emails in this other tab and fill them in here. And I thought this was gonna be like the easiest thing. And I asked the gem, the Gemini, they have the little Gemini thing integrated with the sheets, and I press the little button, and it's like, oh, you gotta pay money. So I'm like, all right, I'll go pay the money. So I get the subscription and I go back in and I ask it, and it's like, oh, I'm sorry, like our our current tool support like can't do this. We can't look at stuff in another tab. And so I'm like, all right, that's weird. And so I I go and I copy the shorter list over to the other tab. So now all the data is in one tab. And I'm just like, like, I could I could pretty easily write a like lookup function to do this at this point. And I ask it to do this again, and it's still like, I'm sorry, I can't help you do that. So then I just take the whole spreadsheet and I just upload it to um uh to ChatGPT and I ask ChatGPT to do the same thing and to output CSV, and it's done in like 30 seconds. So initial experience with Gemini's and with Google's for integration, not great. But like what I really want is I want a little chat thing in the browser because there are so many mundane tasks that I have with manipulating web UIs. Where it's like, oh, I need you to go and like click on this like button like a dozen times. Or like I was I was dealing with something with Trippet earlier today where like I needed to add 10 entries to Trippet, and there's no bulk upload API, there's no public API, there was no way for me to automate it. Like like there's no way for me to tell an AI, like, just go do this. What I really wanted was a chat box in my browser and Google Chrome where I could just be like, you go do this for me, and I go off and do something else.
Sean ParentI wonder if Copilot and Edge would do that for you. I've never tried to have Edge control the web page, but I mean it is integrated in their browser.
BryceMaybe, maybe, maybe we've finally found a reason for me to try using Edge.
ConorAnd I know I know that uh Perplexity is working on uh a new browser, the company that uh I think they said it wasn't a joke, but they offered to buy Chrome for $34.5 billion, which is a very brilliant marketing ploy. Uh because apparently they're they're in court right now and may have to sell it. And like if there's a buyer out there, they're not gonna be able to no one would buy Chrome. Well, technically there's someone that offered to buy it.
BryceSo why would why would no one buy Chrome?
ConorI don't know. It's it's too integrated with all Google stuff, and it would take like a decade to unwind it from their products. Or I don't know. Anyways, we haven't let Sean. Uh have you have you been able to find your settings? Uh I did.
Sean ParentI I found my ranking. So I'm uh out of about uh a little over 8,000 engineers at Adobe, I'm ranked 1200 for for uh number of accepted lines. So that's pretty good. Uh uh Yeah, but that's I'm I'm kind of surprised because I would I would you know had you asked me, I would have said, Oh, I'm probably you know near the top for for for users, but no, I'm uh I'm not.
ConorWhat do you think, Bryce? Are we allowed to uh uh we can't say the numbers? Are we allowed to pr report the percentage? Because I did calculate my I think that's probably fine.
BryceI think you could probably say that percent.
ConorSo yeah, I'm I'm just outside the top 10 percent. Uh I think a while ago I was in in the top five percent. Uh I also don't super trust the up to date because like mine also shows that I have zero lines changed. Since August 6th, according to these things. And anyways, I don't know how reliable they are. But I also, like you, John, was super surprised. I was like, well, of course I gotta be the top 100. I'm a power user. I'm a power user. What are we talking about?
BryceI'm in the top third, but I think in my defense, I I use Chat GPT a lot for like directly for these things, and I use other AI tools. And also there was a four-month window where I could barely use cursor because of the freezes. So I feel I I I think I use a wider variety of tools than uh than you do, Connor. I think like I'm I'm using like now I've been playing around with Gemini, I use Perplexity, like I use a wider variety of uh of things.
ConorI use Gemini quite a bit now, actually. I used to go to ChatGPT, the free version, to answer questions. Uh, but ever since ever since they updated to five.
BryceIt blows my mind that you do not have the paid version of ChatGPT.
ConorMy fiance does, so if I need it, I I'll go use hers. But um ever since five, uh I thought it's it's just gone down way like the nice thing about uh ChatGPT four-point, whatever it was, it was just fast. Now it's like, oh, I decided I need to think about your question. It's like, well, I didn't ask you to. Uh I just want I just want a rapid thing and Gemini.
BryceExclusively used it for O3, and O3 was pretty slow.
ConorI I I did it for like I need some I need like uh a little image generated, and now I I find that the Gemini one's way better. Anyways, back to Sean. So you you're you're uh in the you're 1,200 out of 8,000 and uh and not as high. I mean, what is it what do you think that means? Do you think that means that there's just a bunch of people doing like twice as much work as as uh as you like, you know, it's just people are doing crazy things with this and they're running it overnight or something like that? I don't know.
Sean ParentUh interesting question.
BryceBut there'd have to be twelve hundred people that are using it more than Sean. That's a lot of people.
Sean ParentYeah. Yeah. Yeah. Within the company. And uh well, the interesting thing is it's like number of lines accepted, and I'm like, do deleted lines count? Is one of my questions there? Because I delete a lot of code.
ConorOh yeah. That's a good that's a good point. Uh sometimes it's like go yeet this for me, and it goes and deletes a bunch of stuff. And like potentially you added five thousand, you know, two weeks ago, but then you deleted that same five thousand. Does that like affect your net total? I would I would imagine that like it's the absolute, you know, like it's whether you delete it or added. It's changes, yeah. But yeah, it's a hard thing to measure.
Sean ParentYeah, because I I had a a previous boss who who walked into my office one time and he said, he said, so I don't know how to read this. He said, I usually check the GitHub stats, and and I always view you as one of my highest performers, but your total line count stats in GitHub are are very negative. It's like, yes, I delete a lot of code.
ConorWhich is a good thing.
Sean ParentWhich is a good thing.
ConorBe sure to check these show notes either in your podcast app or at adspthepodcast.com for links to anything we mentioned in today's episode, as well as a link to a GitHub discussion where you can leave thoughts, comments, and questions. Thanks for listening. We hope you enjoyed and have a great day.
BryceLow quality, high quality. That is the tagline of our podcast.
ConorThat's not the tagline. Our tagline is chaos with sprinkles of information.