Unlocking the Power of Cursor AI: Your AI-Powered Coding Companion

Download MP3

Dalton Anderson (00:02.184)
Welcome to Mitch Step Podcast, where we discuss entrepreneurship, industry trends, and the occasional book review. Remember the days when you first started coding, the frustration, like endless debugging. Nowadays, programmers have it easy, and they have these programming sidekicks that can help them.

with debugging, learning new information, or writing the code for you. We're going to talk about Cursor AI, which is a fork of VS code. And if you're not familiar with any of these topics, that's fine. I'll go over them. So you won't be lost if you are new to programming. But it is an interesting topic. And if you aren't familiar programming, I think that you should stay and listen in.

Okay. So for today's agenda, we're going to be going over cursor AI. Cursor AI is supposedly a groundbreaking AI powered editor, which is a fork of VS code. And we'll, we're going to delve into the capabilities of cursor AI and discuss the potential impact on software development and just, just share my personal experience.

of Cursed Ray Eye, because I built an app that I'll show you today in Golang and Java. So we'll go over that. But before we dive in, I'm your host, Dalton Erson. My background is a bit of a mix of programming, data science and insurance. Offline, you might find me running, building my side business or lost in a good book. You can listen to the podcast in both video and audio format on YouTube.

If audio is more your thing, you can find the podcasts on Spotify, Apple podcasts, YouTube, or wherever else you get your podcasts. Okay. So now we're going to go into what is cursor AI as promised. So cursor AI is a fork of VS code with enhanced AI capabilities. What is a fork? If you're not familiar with a fork, a fork is a coding term where

Dalton Anderson (02:27.848)
without getting too technical, there's this language called Git, which is used for version management. And if you have a repository of code, so think about it as like, I don't know, all your patents for your, you know, your, your architecture, your, you know, your architectural blueprint of your house or something like you got a custom made house and you had an architectural firm and

know, contractors, they draft up the blueprints, all that stuff. And then you published it online, open sourced it to everyone. Everyone could use it for free. They don't have to pay for it. It's fine. So say that your friend comes along, likes the house, but doesn't really like some of the additions that you have. And maybe one wants to downsize or maybe another friend has a completely different approach on something that you did.

and that would be a fork. So they're not necessarily converging into like a centralized architectural blueprint. They are completely different versions, but they came from your open-sourced architectural blueprint. So if you think about the house, think about now all the code for VS code is open-sourced. And so what Cursor did was they

forked VS code at a certain point and they kind of built their own VS code with all these AI capabilities on top of it. So it's basically VS code with AI capabilities, but that's what a fork is, you know, in a non-technical manner. And so I think it has like an intuitive interface where it kind of has a corner panel that could pop out on the right side if you want to have a chat, if you're similar.

if you've used, it's similar to.

Dalton Anderson (04:26.622)
ChatTPT's, OpenAI's ChatTPT or Google's Gemini or Anthropics Cloud where there's a corner panel that will open up or that corner panel is similar to what you would see on those websites and that functionality. But one thing that's a little different is you could switch on the fly which model you wanna use with premium. I think it's open to just premium users. I think it's

You can use certain models like the non-premium OpenAI or like the non-premium Gemini models. But when you have Cursor Premium, you're open to whatever model you really want. You can add your own models. You can add your API keys for, say you have an OpenAI API key or a Cloud API key or a Gemini API key. You would be able to utilize your keys within Cursor, which I think is pretty cool.

So there's a wide range of model offerings. you could switch if you're having trouble with one model or a new model, you like the new updates of that model, you could switch that model. And then there's a feature in the settings where you could add models. I didn't play around with that because there's plenty. I mean, there's like 15 in there. So I didn't really think I needed to add some niche model. has all the foundational models. It has pretty much everything you would need.

Dalton Anderson (05:54.428)
And as I said, it allows you to add your own API keys, which I think is pretty cool. One thing that is different than say, and I think this question might be coming up with you as a listener right now is, okay, then what's the difference with me just taking my code and sending it over to ChatDBT or Gemini or Claude or Meta's Llama? Well, now,

with cursor AI being the, like basically like the intermediary between the foundational models and your code base. It uses your code base as a source of information. So when you ask a question, your code is used as context. And you can specify, okay, I wanna use information from the web. I wanna use these following

files within my app or my program, whatever you're making. And then from there, it would combine all that information and then the foundational model that you're using, most likely foundational model, has that additional context where it could serve you in, I would say, an expedited manner and without you having to answer a whole bunch of questions, because it could answer its own questions because you already provided all the information it needs.

So it's like, well, I wanna do X, Y, Z and you sending your instructions that you have. And so instead of the model saying, okay, what do you have on line four? And then you tell the model, I have this. And then the model's like, I think it should be that. What about line seven? And so there's not like this like back and forth between the.

the user and the model, the model already knows what you have. So the model can make the changes appropriately. And then it gives you kind of like the suggestions of what it thinks and then you can accept them. There's settings where you could do line by line, which I think would be better in a larger code base. For me, I think it was kind of annoying because I already knew what I wanted to do and the code was, it's not that much, but I think for a massive code base, I think it's important to go through and look at every change line by line and accept them.

Dalton Anderson (08:20.254)
For me, I think that you should have that setting enabled, but if you have that setting enabled, you should be able to accept all changes. think that would be decent. I didn't see capabilities to do that when I was using Cursor, maybe like three hours ago, but I am in Korea, so I might get less features than someone who is in the US or something like that. Okay.

So I went over the what is a fork, what is cursor AI, and I talked about why is cursor different than these other approaches. And I think for VS code for copilot versus cursor, I think the big thing is adding the context of selecting which files you can add from files, you can add from your terminal, you can add from the web, you can add documents outside of the.

project, which I think is interesting. There's quite a few options to add context. And that's one of the biggest things when you're asking these models for help is do you need to provide the context? And if they have the context, then you don't really need to do anything. Like you could just ask a question, but to set up the context, a lot of times in these chats, that's the most time consuming thing. And then afterwards it's really smooth. So

to remove like 75 % of the work on the front end, it's a lot, I would say your productivity increases and I would say that the user experience is smoother. Yeah, that's how I feel.

Okay, so what I did with Cursor, and I'm gonna talk about the app and I'll show you the app. What I did with Cursor is I built a Go Lang, or Go or Go Lang, however you wanna go about it. Go Lang app with Java. So the backend is Go and then the frontend is Java.

Dalton Anderson (10:31.06)
And so I set up some, and I didn't really do it. That was more AI, but basically we, we have the Java pieces like command line, a command line JavaScript where it, and it has the front end ish, but the front end is command line inference. And so you have the command line and you're putting in your inputs in the command line. And then I'm storing the, this, JSON file and then go is bringing it back.

and displaying on my local host. And so I'm using the Java front end, go back in the front. It interacts with the back end via restful API. And then the way that I'm saving the data is I'm using a JSON file. So the data is persistent. So if you logged out, you don't really log out. I mean, you close out the file, open it back up and rerun your instance. You have to run the go back in.

on a different terminal and then the Java front end is run on an additional terminal. So there's two separate terminals because they're interacting with each other so they both need to be live to work.

Well, if you want to update the back end, you have to have the front end live. So they don't necessarily be live at the same time, but yeah, makes sense. OK, so I use cursor and I think that this would be very difficult for me to do myself because this is my first Go project. I don't know Go. And so I think the whole process took me about four hours.

But you gotta keep that in mind. I had to set up my computer, that if you're not familiar with programming, that involves me setting up these directories, downloading these files off the internet, getting them formatted correctly, however your computer wants them to be. They've gotta be stored in certain spots, and if they're stored in the wrong spot, then you gotta fix it. It's sometimes time consuming. Go is smoothish. I think the biggest issue that I had

Dalton Anderson (12:40.22)
was originally I had everything put together on my documents folder. And then when I was creating everything for the app, I had to like make a directory like using the terminal. It's a lot easier because in the terminal creates some of these files, like a template HTML, template CSS. It creates your, you use these like little like commands in the command line prompt, which is like this terminal.

It's the little black and white screen. Sometimes you see sometimes on your computer when you're downloading stuff and there's different scripts that you could put in there or commands that would like clean up your files and put the template files together and like compile these like certain certain files like your go dot some your go dot mod. And so I was doing that with the terminal and then I was like, hold on. I have somehow I have files.

that I had from on my directory that I created with via terminal and then I had files from my original creation which was in the documents and then cursor was getting confused on like which file to use and then I didn't realize because they're all named the same file. I was like my goodness we have these two files that I'm trying to edit but cursor is editing the other file like it's using the other file as the source and then

It wasn't seeing the issue with the current file.

And that was, that was, that was a bit, I was a bit tired when I was doing all that. So I took me, it took me a little bit to realize like after, after like eight minutes, I was like, what's going on here? And I just did a whole stop and I was like, okay, it seems like there's some confusion between two different files. Let me close out of these files. But one of the issues with cursor, I think is when you have a file open and you used it in the chat, even though

Dalton Anderson (14:43.808)
It's a problem and not a problem at same time, but it was a problem for me at the time because I wasn't familiar. When you close out a file and you're not using anymore, it will still use that file. So you have to be careful because I thought and it was difficult for me to tell because it doesn't show the full file path in cursor, which I think they should start to.

I had still, I closed out those old files that weren't part of the directory, but then I still had the, the, the chat open in the chat was still using the old files when I was really trying to edit the new files that were part of the directory. And it took me some time to figure that out that, Hey, even though I closed the file, it's still using the old, the old files that I don't want to use anymore, which was a, which was a bummer for sure, but

We figured it out and now I know not to do that. So I think that would be painful to navigate again if you had to do that. So just keep that in mind. Set it up once, don't do two projects and things would be a lot less confusing for you.

Dalton Anderson (15:58.876)
And another thing is like, this is the first time I've used Go and I'm like, okay at Java, but I'm definitely no expert and stuff like that. Like I'm more on the data science side and like analytics than I am development. I would say like, I'm like, okay developer, definitely no expert. I've done more stuff with C sharp than I have with.

than I have with Go. I haven't done anything with Go, but I've built some websites and API stuff with Go, or not Go, C Sharp, sorry. But with Go, I haven't built anything. So it was just like completely new world to be in. So that was quite interesting. I honestly don't think that I would be able to complete this project, definitely not in four hours without the help of Cursor. Like Cursor really,

made it possible. And the way that I went about it is I set up I set up a a chat on Gemini and I said, Hey, and this is a good thing to do. I'll set up a podcast to talk about it. And maybe I'll do some testing of different ways of going about it. But if you set up a chat and you give your chat a role like, hey, you're a senior developer. And you for 20 years.

and you program and go in various languages, but your primary language is go. I want you to use XYZ like coding methodologies to make sure you have clean, concise code. And then I want, you know, the format of the structure of the project and with comments. And then you can ask that chat, OK.

Can you make me some simple apps for me? And then will do that. But you could also use this, this methodology for your work or something like that. You'd like, you are the foremost senior expert in, and content creation, you know, me the best captions for this video or this image. And it will, it will do a good job. Like if you, I think AI really likes role playing. And so if you give it a role, it will do great. And so it will definitely improve.

Dalton Anderson (18:19.188)
definitely improved.

Like that level of prompt engineering will help you out with your outputs. But I don't want to get derailed here. So I'm going to go and share the app. Let's see, share my screen.

Dalton Anderson (18:38.148)
All righty. So we'll go over the code briefly.

green.

Dalton Anderson (18:51.828)
Why can't I share this screen?

No.

Dalton Anderson (19:02.066)
Okay, this works.

Sorry, I a cough. Okay, so here we are. We have this Todo app. So if we go over here, this is kind of our file directory, our app directory. the app, we have this, the app is called Todo app.go. To do hyphen app.go, if you want to get really, really granular. And then there's a folder called backend. And then backend, have main.go. And then,

our front end folder that's part of the app is called to do app Java. Okay. Simple enough. So if you go over to the to do app Java, it has all of the different types of API's that you can hit and how, and also, you know, how are you going to add and remove tasks? So it makes this like system system and system out print.

of the tasks that you create. And then you could switch between different tasks. It's pretty simple. And then it has the URL and you add that in and then you will push. Push your tasks over. To go into the JSON file and then go pick it up. And if you go and look at the JSON file, we already have three tasks in here, so we have a test task, we have build simple to do app for podcast episode.

using cursor look into the new AI post on X. I get a lot of my a lot of my I wouldn't say news I think people will cringe if I say news but I do get a lot of my information regarding tech and

Dalton Anderson (20:53.582)
life, I would say potentially like books to read influencing.

Dalton Anderson (21:02.438)
Influencing tweets, would say, like tweets that I think are impactful. Definitely get that from X pretty often. Okay, so now let's transition over to go.main. Okay. So go.main, there's go.sum, which has all of the versions and stuff.

and require and then go dot mod as all the requirements. But if you go to go dot main. You see how we have what the structure of the JSON file look like. It's got these three things description completed, blah, blah. Have the function regarding to the task. And then if you see right here, it has the API routes. So we have to get we got the post, we got the pool, we got the delete.

pretty simple and we're routing that all to our localhost which is our localhost 8080. Pretty typical stuff. But basically after that point you have to set up a terminal. So this terminal right here is it's running and so it says over here let's see

Dalton Anderson (22:30.718)
So the command to run the app is go run main.go. If you had a lot of dependent files, you would use go build or go run space dot. I only have one file, so I'm not necessarily running a whole bunch of different files that are dependent on each other. I just have one file, the main.go file, and then I have the to do app.java.

So there isn't that code dependency with these different, they're kind of separate, but like one's the front end, one's the back end. So there isn't many files interacting with each other. They're just singular files on one side of the app and the other side of the app. So with that being said, I can just run this script, is go run main.go. And so go is the function to call go.

and then run tells go the language to run and then I tell it which file to run. I'm saying, OK, run, go, lang, run. Like basically, I'm telling go lang to run main.go. I just thought it was funny because there's so many goes in there.

And then after that, it will say like, I'm listening. If you say right here, app instance with long recovery, blah, blah, blah. And it will say listening and serving HTTP on localhost 880. And then it shows you all the different.

All the different posts right here. OK, so then now we go back over to our other terminal, which is the Java one, which was a pain. I don't know why I was having so many issues. This is when I was having all the issues with my chat being all messed up. when you have this Java piece, you run it with Java.

Dalton Anderson (24:41.414)
or Java. I think it depends on your setup. If you have a class file, you can run it with Javac to do and then to do app.java is the file in my front end. so I'm also in the, see how I'm also in the front end directory. So I'm in Dalton Anderson, backslash to do for its a hyphen app backslash for front end. And then it's Javax to do app.java.

And that doesn't work because I don't have a class file, I'm pretty sure. Definitely not an expert. But the piece that does work is the Java to do app. So now I'm in the app, so you could choose your actions of what you want to do. So we're going to choose an action right here. Let's do view tasks. Let's see what tasks we have.

Dalton Anderson (25:45.076)
the heck is going on?

Dalton Anderson (25:50.942)
do this. Exit it. Java.

Dalton Anderson (26:03.564)
All right, right here, sorry. I was just tripping out. Okay, so yeah, I was working all the time. was just, I don't know. I thought it would show up at the bottom. But the issue is like when you put in your requests, so I put one, it puts it at right below your one, but then it reprints your options. So I thought it wasn't popping up because I'm on the podcast and not really thinking straight. But anyways.

So you have our first task ID, description, blah, test, completed, false, and then these IDs. So now let's do this. So let's toggle a task for completion.

Enter in the task ID. So we want to complete task one.

Dalton Anderson (26:56.446)
All right, so let's view our task again.

Dalton Anderson (27:04.596)
What's going on here?

Dalton Anderson (27:08.507)
no.

Dalton Anderson (27:14.456)
It's frozen. It's frozen live. No way. All right. Let's I think we'll kill our terminal and we'll come back.

Dalton Anderson (27:35.539)
Let's try this again. So let's do a new terminal.

Dalton Anderson (27:45.524)
Let's do...

Dalton Anderson (27:49.78)
change directory, we'll go to our global directory and then we'll change directory and go to our to do app. Okay, so now we're in our to do app, then we're going to change directory in our to do app to front end.

And then we're going to say Java.

Dalton Anderson (28:17.236)
to do, to do that.

All right, we're back. All right, so I'm not going to do that, but we do have...

Okay, so it works, but for some reason it froze the terminal. yeah, so we made terminal, we had this test task right here, ID one was incomplete, now it's completed. But when I did that for some reason, it just like completely computed the terminal. So I'm not gonna do that again, but we will add a task and we'll say.

Dalton Anderson (29:03.636)
Let's just.

Let's add a task. Maybe I could share my screen of my local host first.

Dalton Anderson (29:15.796)
So don't know if you could see that.

check.

Dalton Anderson (29:27.312)
to

Let's do this share.

Dalton Anderson (29:37.012)
Share screen, local host. Yeah, it's a bit easier if I had a better setup right now, but I'm in Korea, whatever. OK, so right now you see the website. I'm not sure where the website, but the local host of the app. You see how it's one completed test completed is is false. We should reload this. It comes back as true right here. So now it was false. Now it's true.

And then now I'm going to share again, but I'm gonna share the app. We're gonna make a task together. And then once I do that, I'm gonna refresh this local host and you'll see the app update, which is pretty cool. All right, so let me go like this.

Dalton Anderson (30:32.244)
Windows.

Main.go.

All right, so we are making a task, say, create a task, life.

Dalton Anderson (30:54.132)
Step, podcast.

Dalton Anderson (31:02.376)
All right, so we entered a task. We should be able to, I don't know what's going on here. Let's do it again. This is one of those things when you're doing a live demo. This is what can go wrong will go wrong. And I've been messing around with this for a while and I wasn't having any issues. So.

It's what it is. It's no big deal. We're going to keep pushing along.

It is somewhat normal when you're doing a demo. These things happen for some reason. OK, so let's refresh and hope for that went through.

Dalton Anderson (31:53.268)
did not.

Okay, so what if I kill the terminal again and then make a new terminal and then do the same thing all over again.

And change directory to to to.app. Change directory again into frontend.java.to do for space to do.

Dalton Anderson (32:28.948)
OK, so now we're back. So then I'm going to add a task. We're going to say.

Live task.

Dalton Anderson (32:41.202)
adventure stuff.

I need adventure stuff.

so.

Okay.

Dalton Anderson (32:59.944)
Go back. I don't think it's working right now. It's crazy.

Dalton Anderson (33:08.604)
Okay, so yeah, it's not working. So that's fine. We can talk about, I mean, I already showed you it works. So I just wanted to add a new task with you, but it's fine. No big deal. So the next thing that I want to talk about is the functionality within the app, which I think is pretty cool. So let's do this. Let's do right here, main.go. And I have a couple of these already, but if we have a chat, so you can see, you could add the web.

This is the main.go file. You could add another file. Like we could add our to do. And this is where I talking about. It's kind of confusing is because the to do app.java. I have many of them, but it doesn't really show you the full file path. So I don't necessarily know which one. I think it's this one, but. But you can add in these different files and then let's say main and then we'll say go some.

And then we'll say our task and then we'll say to do app.

Dalton Anderson (34:16.692)
to

Dalton Anderson (34:24.98)
think this won't be good. OK, so I've added in all these different files, and I'm saying, can you please.

Dalton Anderson (34:36.211)
Right.

Dalton Anderson (34:47.419)
A new hire.

coming, new hire coming in.

Monday or something.

Dalton Anderson (35:02.468)
So I will say, and you're seeing it real time here, that the queries for cursor are longer. I'm assuming that they get better pricing, less priority on queue. And so the queries take a bit longer. This one took a couple seconds to run. So I asked it.

I asked it, hey, like I have a new hire coming in on Monday. Can you write up some code? So it to do API documentation. So it talks about the project structure, the files, the important files, and then you can, you can reply to them and add things if you want to change it. Then it talks about the key components of the task structure, which is really, it's really simple because it's only three things. it goes over the main functions of the app. And so it talks about

the main, which is the main.go, then it talks about the JSON functions like load task, a task, blah, blah. Then it talks about the API inputs that it has and where they are and what they do. So API task, get API task, receive all tasks, post API task, add a new task, put API task, which would be editing, and then delete. You could delete a task.

Data persistence, it goes on where is this file being stored. And then it goes over the concurrency handling, which uses the sync.mutex method, which is a go method.

and it just runs through this file and it's it it gives an extensive write-up an extensive write-up and it's super useful not only for this and you could if you wanted to make a change to like say a snippet of code like like this task one can you and you just press ctrl k you'll open up your code editor or within your code editor you can make inline edits and say

Dalton Anderson (37:15.858)
Can you give me some?

Dalton Anderson (37:21.702)
suggestions on how to make

this better.

All right, so I'm asking, and you see I have Sqlod 3.5, and so it's adding the created date and then the updated date, which I think is a pretty good change, but I'm gonna deny it because I don't wanna make any changes. Okay, so you can do that. You can also ask it to, if you click on something like this, you click on all the code, you can ask it to refactor your code, which I think is huge.

So a lot of times when you write something, if you're in programming, you kind of do have an initial stab. Like if you're writing a letter, an important letter or an email, you have that initial email and then you have that comb through and you have a comb through. Like if it's super important, like you comb through it a couple of times. When you're writing code, it's the same thing where you just write the code and then afterwards you go through and you

optimize the code, you make it better, you make it clearer. This is what would take hours. You could do in 30 seconds, you just click this button and it refactors the code. And I did that with some code at work, which it helps because you're not spending time on things that don't add value. It adds value, but the value that's being added is mostly when you're coding, but then you have to maintain the code.

Dalton Anderson (38:55.452)
So that's the next piece is like, OK, like you're writing code, but not only are you writing code, you're able to maintain the code a lot easier because you could just refactor it. And the refactor will come with the comments. will optimize the code. will make it faster. It will make it better, clearer, more concise, everything for you for next to no effort. It's super useful.

Those were like the big features. So you could, you can make inline edits. could generate files. It will, if you ask it to break down something for you, it will. You can, you can ask it to help you create an app. like when I first created this, there's a different chat. can't find it, but there was a different chat and it broke down. Okay. Now you need to create a go.main file under this folder. Now you need to have a

to do app dot Java file under this folder. Then you need an outside file that to do hyphen app dot go and then you need to link that all with your direct like it explains everything out for you. You don't need to know the language which I I don't necessarily suggest you you make a project where you don't know the language. Well, one thing I do think it's is really cool about cursor and the new capabilities that these apps will come out with in years from now.

is it makes it easy to get started. And I think that's the biggest hurdle for people. It's like they have these big ideas. They want to learn coding languages or they want to make something. They want to side hustle. They want to start their own app. They want to leave their company. They have all these, these wants and ideas. But the issue is like getting started and it's daunting tasks sometimes to learn a new language. It's difficult because you know, you don't want to sit down and grind out hours and hours.

This gets you started. You're not gonna be an expert. You're not gonna write anything complex. You're not going to make some crazy game-changing app with no knowledge, but it will get you started and get you confident and see how the code functions. And then you can have your own little approaches and your own little methodologies and you could learn by having the cursor break down the code for you.

Dalton Anderson (41:13.576)
think that's invaluable because I think the best way to learn is to do, right? Like you can read as many coding books as you want or you can read as many leadership books as you want or entrepreneurship books or you could listen to as many podcasts as you dream of, but you're not gonna get any better unless you actually do the task. And so I like to focus on shipping, which is like a term.

used in programming, like shipping, like you're just shipping stuff. Fast iterations, fast feedback. And those things enable you to learn faster and improve. Because if you spend, say you spend, say you spend like eight weeks to make a perfect episode, and I spend, I spend one week to make an episode. My episode won't be perfect, your episode might be better.

But in that time of you making one episode, I have produced eight. So maybe not every single episode knocks the audience out of the park. And I've had those, right? Like I've had episodes where people said, okay, like this isn't really that good. I had someone say, I would rather watch paint dry. And I was like, hey, you know, I hear you. That wasn't my best episode. I understand. Hopefully next week I'll produce something that you find more engaging.

And I also said, Hey, it was a bit rough with the jet lag and moving to temporarily to a new country and all sorts of issues that comes with that. So it was difficult for me to produce a good episode, but I made a commitment to make an episode per week. And the same thing can be applied to, okay, I want to learn a language or I want to do something new. These models and these opportunities like cursory AI allow you to learn.

allow you to learn faster, allow you to try new things and breaking down the barrier of entry and to just get started. You won't be making anything crazy, but you will have an opportunity to learn from doing, which I think is huge. Cause I learned a lot about like go just in these last couple of hours.

Dalton Anderson (43:35.75)
In these last couple hours, I learned quite a bit and I probably wouldn't have learned that much and has been as engaged as I was if I wasn't using cursor because obviously I wouldn't have been able to make this project in four hours, under four hours, and I wouldn't have been able to learn that much stuff because I wouldn't have been able to do. I'd be more reading and learning from that end. And I'm not saying that the foundations aren't poor, but I think foundations mixed with

doing is better. Like I would rather do something and then read about the foundations and then do it again with new information. But if you're just reading foundations, foundations, foundations, you don't necessarily get any practical knowledge, which I think is important.

And if you weren't familiar with Go, I'll just spend a couple of minutes on Go and then we'll close out the episode. So Go was created at Google by Robert Gleismeier, Rob Pike, and Ken Thompson. It was created for reliability, scalability, and is mostly used for cloud infrastructure or APIs. The reason why Go was created is because

Go is described as like a brutalist language. isn't much, there isn't much freedom, but there isn't anything extra, right? So like, go doesn't like when you have your own little style of coding. isn't like when you try to do stuff that's fancy and pretty. Go is like very concise to the point, simple. Like that's go. You, you, don't have a lot of developer freedom.

And so it's good for large companies that have to maintain large code bases because if you have all this developer freedom, then it's hard to keep the code standardized across all these different departments and people managing different parts of the code base. with Go, it makes it a lot easier, which is really cool. It's known for its scalability. Obviously. I said that earlier, but they use Go for their cloud infrastructure. A lot of their apps are built with Go and

Dalton Anderson (45:52.02)
their back, a lot of their back, their backend is built with Go. I'm not sure the percentage, but I know that they do report on it, but I know there's a big effort to replace a lot of their apps with Go and not their mobile apps, but like their enterprise apps because originally I think they built a lot of stuff in Python, but Python is fast iterate, but obviously a lot slower than Go because Go is a compiled language. Why?

Python is an interpreted language. And what that means is when you run go, everything's ran at the same time and it's compiled, which makes it have faster execution speeds. And so it's way, way, way faster than Python. And the only way that Python can achieve not even close results, but faster results is things are built in C. I think C++.

And then they are compiled into what's called a library. And then that library is utilized by users using Python. like they'll have a Python library and that Python library will be used. But that Python library was really compiled in C plus plus, and then it's used on top of the Python library in Python. So it's running much faster than it would normally run in Python, but it's definitely not as fast as it could be if you're running in C plus plus.

And then there's like go, which is going to be way faster than Python.

So with that being said, what's the difference between an interpreted language and a compiled language? As I said, compiled languages are a lot faster, but harder to iterate on because you can only run, you have to run the whole program at once. And I think they might be making changes to that later on. Like, I don't know, you could probably set up your app in a certain way to remove that ability. I don't know. I haven't done that much research with Golang, but maybe there's a way. But typically like you run the whole thing.

Dalton Anderson (47:54.396)
and then it's compiled and ran. And so it's really fast and efficient and scalable. Right.

But to iterate on it, it's a bit slower because in Python you can make a little change to your code base, like two lines, three lines, and you could run those three lines. And then you're like, that didn't work. And then you could run it again and get it to work. But with Go, you have to run the whole thing. So if you have a large program, a large app, you have to wait for it to compile every time, every time. So those are like the differences. I think that's.

There's pros and cons to both approaches. I wanted to try something different. I wanted to do Golang because I've always been curious about Golang because of the integration with some of Google's products. am like a serious fanatic of Google. The only thing I don't have that's not Google is I think a Chromebook, which I would like to have a Chromebook eventually. I think if I have a Mac'd out home PC and then a

a nice Chromebook for my mobile activities. I think that would be pretty decent setup.

Dalton Anderson (49:09.16)
That was Go. And that was the reason why I did Go Lang. So I've always been curious about Go and mostly is because of Google's influence on me as a technologist and programmer, because they have a large open source initiative. So they open source a lot of their languages, their models, they have plenty of classes you could take online. They have certificates like for security, for infrastructure, for Scrum Master. They have so much stuff.

and they do so much. And they also sponsored a program at my undergrad university that I was a part of. The Google cloud developers, would they give you, you know, a thousand plus dollars worth of cloud credits to mess around with. And so they do a lot for developers in like harnessing talent and

being a part of the world in that regard and pushing the world forward. And so I really appreciate things that they do. So, and also meta as well, but we're talking about Google right now. But that's the main reason why I did Golang. I wanted to try it out. I thought it was really cool. I loved the language, how simple it is. It could definitely see it as a learning curve where it's very strict, but once you get going, I think it'd be pretty decent.

Okay, so recapping the episode, Cursor AI's capabilities and the potential impact. The potential impact, think I didn't touch on as much, but I more or less emphasized it. Like it makes things a lot easier to be a developer. I think it's way faster than doing it a different way. And I didn't really buy into a lot of the hype of Cursor. I saw it over Twitter or X. Some people were talking about it and I looked it up online and

People are like, yeah, it's not that much different. I don't really see any point of it. I used it. It's not that good. And then what really spiked my interest was one of my colleagues, Jimmy, was talking about how he built an app and he refactored his code for an app that we built a while back. He refactor it and he said it runs way faster than it used to run. And he used it to create another app. And he's like, man, like cursor is like insane. Like it's so good. Like you have to try it out.

Dalton Anderson (51:29.116)
And so here I am, I built the GoLang app and that was one of the main reasons was because he was emphasizing how good it was and it was showing me all the features. I was like, wow, that is pretty legit. So I made this episode to discuss the abilities of Cursor, but I think the impact is clear. So I didn't touch on it as much, but just to go over the capabilities.

Cursor is a fork of VS code. So it's basically a VS code, which I think in my opinion is one of the best code editors for definitely best open source code editor. And the features are you can select which foundation model you want to use with, if you have premium, you can use a certain amount of credits for free. I think you can use like a hundred credits or something like that a month or a day. I don't really know the whole pricing as part of cursor.

I know you could use it for free, like quite a bit of credits. I know that Jimmy, when he was building all those things, he did the free version. So you don't need the premium version. He's, but he was like, I'm going to use it so much now that I am going to get the premium. I use the premium because it's a lot easier for me just to get it started. I want to talk about all the features when I have this episode. So I spend the 20 bucks and talk about them and then I'll cancel at the end of the month.

But yeah, you have the ability to select foundation models. could do inline edits of your code. You can refactor your code base. You can ask it questions about the code. It can answer for you. You can select information, what you want your context information to be. You could select which files, select multiple files. You can select files that are outside of your project. You could select things from the web, things from the web, but you can access stuff from the web and bring it in. You can ask.

You can get documentation from Cursor. I mean, there's just so much stuff. It's very useful, so useful. The things that you always have to do as a developer is you have to have right, code, clean, concise code. You have to optimize it depending on the process. What is it used for? I think it depends. A lot of times when you're writing stuff, you want it to be fast, but sometimes you don't really care because you don't have to run it that often and you'd rather it be clear and have better usability.

Dalton Anderson (53:55.226)
and readability than optimizing it. But now you can optimize it for basically for free. And then another thing that you have to do as a developer is you have to write documentation. Now you can do that for free. So there's all these activities that would take up a lot of time that you no longer have to do anymore, which I think is great. And then it could help you write the code as well. So I just yeah, it's a no brainer. It's a no brainer. It's so good.

I think it's great and the capabilities that it would have in like a year, a year and a half from now, really, really, really exciting stuff. It's gonna be cool. It's gonna be cool. And so what do you think about this cursor AI? Do you think that we should pay developers less now or something like that? I don't know. I think it should get paid the same, but they definitely would have to do more work eventually.

And I think that's gonna be the next struggle. Okay, well now you're an AI enabled developer, you should be producing three X, four X, what you used to be able to do. But it doesn't work out that way. But yeah, have you used Cursor AI? Are you curious about it? And if so, please share down below.

Next week, I am going to talk about the scary truth of reflection, 70 billion parameter model. It turns out that this model was not legitimate. And so there was a lot of news reporting. There was a lot, when I say news, like the tech community was.

head over heels about this new model and.

Dalton Anderson (55:53.072)
It turned out to be a fake.

which is great because I delayed doing an episode. I wanted to do an episode on the model, but then I delayed it because I didn't want to get burned potentially, because I was like, wait, this is like so much better than everything else. And it just came out of nowhere. I don't think so. Historically, that's not how it's worked. So I think that I made the right decision to wait and hold.

and potentially you got your news somewhere else, I didn't talk about it because of that potential issue. This seems kind of fishy. And so I'll talk about it next episode and I'll do some research and kind of discuss the whole situation with you and so you'll be informed, but quite crazy and I can't wait. I can't wait to talk about it. Okay, so.

Wherever you are in this world, good morning, good afternoon, good evening. I appreciate you listening to this episode and I hope that you'll listen in next week. Appreciate your support. Goodbye.

Creators and Guests

Dalton Anderson
Host
Dalton Anderson
I like to explore and build stuff.
Unlocking the Power of Cursor AI: Your AI-Powered Coding Companion
Broadcast by