Has anyone compared the updated Copilot with Cursor? The main updates I am wondering about are model selection and multi-file edits. I used copilot before these features, changed to Cursor and now I am wondering how much Copilot has closed the gap.
I'm using Copilot daily and I didn't find any improvements over last year. I think they introduced something called Copilot Edits which works kind of like aider judging from screenshots, but it's experimental, so I didn't try it. It's basically glorified autocomplete and that's about it. At least I didn't discover anything new.
The glorified autocomplete only applies to the completions. Granted, that's often the primary interaction, but it isn't the whole story. Using chat+edits can enable copilot to make changes across entire file(s). I still haven't found it perfectly reliable for large scale edits, but it has proved useful for handling the sort of busywork that may occur when refactoring. I'd love to hear stories where copilot actually made meaningful contributions to unique/interesting projects. The demo's often showcase making mundane modifications to yet-another-website or spawning a project into existence, which is neither very compelling nor something I do often.
I've been loving Copilot Edits (their take on the multi file edits stuff). I'm personally still doing the process of finding and adding files to its context/working set (letting it try to do that part just doesn't work great yet), but then it quickly applied edits and gives you a review/checkpoint UI.
The UI is still changing slightly every couple weeks as they improve things and polish it, but it's become a big enough part of my day to day that it's pretty much always open on the right pane of vscode for me.
Have already moved to Cursor and realised I was only paying Github for Co-pilot - have downgraded immediately. No affiliation to Cursor, but the results are just a lot better and I don't need to be paying $20 to them AND $10 to co-pilot :/
The actual killer feature for me is the much superior autocompletion, Cursor always suggests an edit inline once I stopped typing, without having me to type a prompt to ask it to do stuff. And it feels faster than GH Copilot, too.
For us who prefer coding ourselves (instead of telling LLMs to do stuff and review the result) it is much much better.
Exactly. This is how it works in vim/nvim using the copilot.vim plugin. Unless it's refactoring multiple files, I don't see the value. Now that you can choose your own model, I don't see many benefits with Cursor.
No, Copilot is just dumb, for example, I have the following code:
func(a, b, 1)
func(b, c, 1)
and, say, for some reason I need to swap the order so the first line looks like func(1, a, b). After doing that, without even moving to the second line, Cursor just suggests changing the second line to func(1, b, c).
You just can't make Copilot do this. Even after you move to the second line, it won't suggest anything. It just suggests a completion starting from where your cursor is, instead of an inline edit around where you are at.
Sometimes you can delete everything after func( on the second line and Copilot will finish it, but sometimes it just can't and decided to autocomplete irrelevant (e.g. func(1, e, f).
In this case there's not much intelligence needed, but for more complicated changes Cursor does just as well.
Yeah I'm happy to check it out, Cursor isn't perfect, but at least it feels like it was created by people who code for a living versus people tasked to inject a LLM into an IDE.
This has been a sticking point for me since my workplace told us all to start using the new copilot licenses they bought. The ideal workflow for me is usually inline question-and-answer but it tends to insist on editing the code, often in ways that do more than I actually wanted.
Has anyone who uses an IDE (e.g., JetBrains, not a code editor) moved to Cursor? I've downloaded it a few times because everyone raves about it, but I've always come back almost immediately because editors can't reliably make changes across projects (among many other things)... What am I missing?
This is the main sticking point for me, I'm not leaving JetBrains anytime soon. GitHub Copilot + Aider handle my needs beautifully and while I wish Aider had deep IDE integration I can work around that (Yes, I know about the "AI!" command thing, it's a cool idea but sucks in practice). Aider in browser mode has pretty much replaced my back and forth to ChatGPT/Claude's web UI to the point that I'm considering going API-only for both of those (currently pay for the $20/mo plan for each).
Jetbrains is still the leader in all of the small details that make navigating and working a code base easy.
Copy and paste workflow is a minor slowdown, but nothing compared to things like smart links in terminal, auto detection of run configurations, etc, etc.
I watch people navigate code in VSCode and I want to pull my hair out. Things that I don’t even think about are hard and/or require just falling back to search.
And before “there is a plugin for that”, I’m sure there is. I’m sure you can configure VSCode to be just as powerful as IDEA but the rank and file using it aren’t doing that work to install and configure a bunch of plugins. So, on average, VSCode doesn’t hold a candle to an IDEA.
With Aider I skip a lot of the copy/pasting but I’d still copy/paste to the browser before I left IDEA.
For literally multiple years I tried to convince a colleague of mine to try Rider. They're a diehard CLI and VS Code user. I made a video showing my workflow and how quickly I can navigate around and do refactors. Next day they were saying they couldn't believe it took them this long to use something better.
>I watch people navigate code in VSCode and I want to pull my hair out.
For me it's the other way around, when I see someone using an IDE instead of a lean editor I see their struggle. Multiple seconds to open the IDE (sometimes tens of second), multi-hundred millisecond lag when opening a file, noticeable input lag. And when you have to edit a file your IDE doesn't understand, all you have is a bloated notepad.
I know I'm biased and I intentionally wrote this one-sided to counter your post. In practice, it just depends. Right now in my work I primarily edit scripts (up to a few hundred lines of code), do quick edits to various larger projects - sometimes few different projects a day - and read files in dozens of programming language (I only reall program in Python and C/C++, but I have to constantly consult various weird pieces of code). VsCode works great for me.
On the other hand, long time ago when I was working on large C# projects, I can't imagine not using Visual Studio (or Rider nowadays I guess).
Neovim works fine with massive codebases. Telescope is a bit slow sometimes, but given how long ripgrep takes on the same, I assume it’s simply a limitation of memory bandwidth, and not tooling.
> sometimes few different projects a day - and read files in dozens of programming language
+1 this is what brought me back to vscode after experimenting with goland. To me vscode better handles the heterogeneity of my daily work. In my workspace I can keep open: a golang codebase, a massive codebase consisting of yaml config files, a filesystem from a remote ssh connection, a directory of personal markdown notes, and directories of debug logs. In my experience jetbrains excelled at the single use case, but vscode won on its diversity.
I will say that the parent comment had me curious about goland again. But I suspect I really need to spend more time configuring my vscode setup. I spent years using emacs, and would love to have a helm-like navigation experience.
It's always difficult to notice features you don't know are missing.
I'm a near-exclusive user of VSCode (or Codium, at home) and like to think of myself as moderately advanced. I continually update my configurations and plugins to make my workflow easier and often see my peers stumble on operations that are effortless for me. It's hard to explain to them what they're missing until they watch me code. So now I'm curious about watching some typical Jetbrains workflows.
I switched from JetBrains to Cursor after multiple years, and it's nowhere near as bad as the comments here make it out to be.
For most of the rough edges, I've found workarounds at this point.
I miss some of the refactorings, but half the time the AI does them for me anyways.
Smart links in terminal are supported.
Detection of run configurations is supported.
My main issues atm are:
- Quick search is inferior. You can't search for folders, and symbol search is global, without the option to exclude certain locations (such as build artifacts) from indexing.
- cspell is more annoying than it is useful. I don't want to babysit my spellchecker. Without extensive configuration, there are far too many false positives.
Can you give some examples? I spend the majority of my time reading code nowadays, and I often have like 8 or more Sublime Text windows open (each open on a separate codebase). I cant imagine how much RAM it would take to do that in CLion or Visual Studio.
Sublime Text's text search is the killer feature for me. CTRL+SHIFT+F and I can search a million LOC+ codebase instantly, navigate the results with CTRL+R, do a sub-search of the results with CTRL+F, set bookmarks with CTRL+F2 (and jump to them with F2/SHIFT+F2), pop the results out to a different window for reference, etc. And all that happens with no jank whatsoever.
The LSP plugins make life easier, but even without that Sublime is often able to find where symbols are defined in a project using just the contextual information from the syntax highlighter.
I tried CLion for a while, but couldnt get productive in it. Ofc I'm much more experienced with Sublime, so maybe I just didnt give myself enough time to learn it, but CLion felt sluggish and inefficient. The smart code features are probably more advanced than Sublime's LSP plugins, but I didn't find anything that would make the switch actually an improvement to me.
I have a laptop I bought 10 years ago. It only has 16 gig of RAM [1].
I have had 8+ editors open, mix of visual studio and vs codes. And in VS you often group all your codebases into single solutions. So usually have multiple windows from multiple projects open in each ide.
It only struggles when I leave the debuggers running several days because of a slight (known) memory leak in visual studio. There's probably a fix but reopening the ide takes like 10 seconds. And it remembers all my open files.
All editors are much better, faster at searching, use less memory, etc. than they wwre 10/20 years ago.
Everyone's improved. You seem to be a bit stuck with an old impression.
[1] I have a vastly more powerful machine but I keep procrastinating switching my work setup over to it.
It’s a lot of small things, so here are some examples:
* Click to find usage is exceptionally good.
* when refactoring, it will also find associated files/classes/models and ask you want to change them as well. It’s also smart enough to avoid refactoring things like database migrations
* Click-run just about anything is amazing. I work in multiple languages in multiple code bases. I get tired of figuring out how to install packages, run things, and even get into debug mode. Most major tooling is supported out of the box.
* Debugging. Lots of data types have smart introspection when debugging. It knows that Pandas tables should be opened in a spreadsheet, JSON should be automatically formatted, and you really just want that one property in a class already formatted as a string.
* Built in profilers and code coverage. This is something that’s always annoying to switch tooling with.
* Great Git integration, though that’s probably par for the course.
* Database integration in some toolsets (like Rails). If you need to look at records in the database, it will jump you directly to the table you need with Excel-style filters
* Local history on just about everything. This has saved my butt so many times. You can delete an entire folder and know you can restore it, even if you delete it from Git.
* Automatic dependency change detection. For example, after a pull, it will identify if new or updated updated dependencies were pulled. 1-click to install.
To add to the other great responses if you use search a lot try JetBrains semantic search. It's like searching text but within code based on the parsed structure of the code, so you can find complex usages.
Notice that if you work with large projects it is crucial to give the IDE enough RAM so it doesn't thrash a lot. You can also remove a lot of its default plugins to make it much faster.
Wow! Thank you for calling out that plugin, I hadn't see it. It is very useful and I love the better integration. I feel like with just a little more QoL stuff this plugin will be amazing. I am getting a weird hang after Aider "completes", the dialog hangs and takes 20-30 sec before the IDE becomes usable again.
Features I'd love:
* Reproduce the web/browser chat UI in the IDE, this is an easy concept to interact with vs a dialog that goes away after each run
* Provide tabs for multiple chats (each chat can have different files/history/etc)
* Allow multiple Aider processes running at the same time
I had been using JetBrains (Webstorm and PyCharm before that) for years now and just switched to Cursor a few months ago. I never liked the way AI copilots tacked onto the IDE worked and preferred to just use standalone ChatGPT. Been very happy with the Cursor experience, big improvement in UX from my perspective.
I've tried both Copilot and JetBrains AI with IntelliJ and both are awful compared to Cursor. No multiline editing, no composer, worse at writing tests etc.
Tried to move from JetBrains to VS Code with new Copilot Edit mode. Moved back to JetBrains and horribly outdated copy paste workflow ... for now. Disruption is imminent though. (And yes JetBrains AI integration got better but the 'insert code at cursor option' is laughable. There is a command to generate code right in the editor too, but not from chat. Also $10 extra. )
PS: One UI feature that I haven't seen anywhere yet is not splitting the screen into code and chat but unifying it.
Also a common approach (e.g. in openai composer) seems to be to modify the file line by line which takes a very long time if the file is long, which (agentic) tools use a diff approach instead?
Jetbrains is getting laughingly bad at normal autocompletion.
Autocompletiok is losing features every day, it seems. Yes, Jetbrains might either be removing features to move them to AI, or breaking features involuntarily in order to move faster to implement AI.
Yes, I finally decided not to renew my über-cheap JetBrains subscription in January and shift to VSCode + Copilot with Claude, then tested Cursor and dropped Copilot. Cursor is still a bit frustrating and gets trapped in circular reasoning a lot, but its features are good, like creating files.
Actually writing code is a small part of what I do in the IDE. So I'm not keen on jumping ship to a whole new editor and lose all the IDE stuff. But I do think IDEs need to step up. The editors will get the IDE features slowly (or be able to work around some of them, like how an IDE can know your database layout and help you write sql, the AI helpers can make educated guesses as well and get close), so the IDEs don't have a big moat.
I can't wait for IntelliJ to get where Cursor appears to be. Being able to combine a great IDE with project-level AI coding will be a huge leap forward.
I'm going to feel personally offended if Jetbrains drops the ball on this.
Seriously, this here right now is the precise moment in time where people will either look back at wondering how such a clear leader managed to sink into insignificance, or not.
I love IntelliJ more than my own kids, but if they don't add "the AI does not just talk about what code to create, it actually creates it, across multiple files and folders", then I'm out.
Just yesterday I made Cursor rewrite the whole ui layer of my app from light-mode-only to light-and-dark-mode-with-switcher in one single sweep, in less than 5 minutes (it would have taken me hours, if not days to do it manually), and this is just not feasible if you have to manually copy-and-paste whatever Jetbrains AI spits out.
My experience mirrors this exactly. I loved WebStorm, but I can't use it anymore because Cursor is just a massive productivity booster for things like what you're describing.
Claude 3.5 + Cursor has fundamentally improved my productivity. It's worth the 20 dollars a month.
I've written thousands of lines of Vitest tests with it, and they have come out near perfect. It would have taken me days to write those tests by hand, but now I can just generate them and review each to make sure it works.
Intellij will have it's lunch eaten if it doesn't pursue the Cursor/Windsurf editing modality.
I keep them both open on the same project, as there are some things IntelliJ does superbly.
I evaluated Jetbrains AI and Copilot with VSCode, but they just didn't impress me. I tried Cursor, and subscribed a couple of days into the trial. The workflow is just right.
I’m also a JetBrains person and never really “got” VSCode. So cursor was not a fit for me, the VSC kn shortcuts always felt limiting. So I use zed since it can be configured to use JB kb shortcuts. And it’s open source and super fast (rust-based)
I have the same issue, I tried to get into VSCode a few times but each time switched back to JetBrains.
If your main issue is the keybinding though there is a vscode plugin[1] that recreates Intellij IDEA bindings, which I found helped smooth the transition during my tryouts for me.
I've been a PyCharm user for over a decade, but recently decided to experiment with VS Code-like editors again. I subscribed to Windsurf pro tier, and while it's quite lacking as a traditional IDE, its AI capabilities are incredible. I'm now considering not renewing my PyCharm license next year. Until (if ever) I fully adapt to Windsurf, I'm planning to use both tools together - PyCharm for the features I'm most comfortable with (where I also use "CodeGPT.ee" plugin), and Windsurf for its AI strengths.
Personally, I'm using Goland for editing, along with Zed for its AI assistant. I just have the same project open in both, and do any AI editing in Zed.
I really like the AI UX in Zed with the chat window on the right being context for inline assist (and being able to easily include tons of files in the context window).
I personally jumped between Rider and Cursor for a while, and finally settled with Rider.
However I think JetBrains should be worrying. I've been using and paying for JetBrains products for many years and Cursor is the only thing making me consider switching from it.
I need to try it again. When I tried it I found it was kind of overblown and went back to copilot. I also wasn't sure whether to maintain two IDEs - Cursor for scaffolding new projects, and VScode for daily driving.
Unfortunately for me in enterprise it was impossible to convince them to allow us to use cursor since they're not well known like GitHub/Microsoft so they're afraid of what they'd do with our data.
We are allowed Copilot and Chatgpt because of an enterprise contract with each. Luckily copilot has been improving but there definitely was a while where it felt way behind the jumps other products have had in the past year or so.
Part of the hangup is that startups are shit at dealing with enterprise privacy contracts, whereas Microsoft probably has a whole department for that.
A product can work however it works, good or bad, but if you can't wrap contractual guarantees around it that are palatable to your enterprise customers, you're not going to get enterprise sales.
Can Cursor sign a DPA in addition to an enterprise contract where they actually have to put into concise writing what they are and aren't doing with our data? Microsoft will. Amazon will. But in my experience a lot of smaller players can't or won't. That's a legal blocker.
and your partner network, and your commit patterns, and your bug list, and your remote IP address while working, and you have to authenticate to them each time you use it (which means that they can turn off your access)
This is such a common lazy cynical take on HN. “Microsoft is evil, therefore they will destroy their enterprise customer relationships by stealing their enterprise customer data, despite the fact that they explicitly state they will not do that.”
I would understand this mindset when it comes to consumer uses of it, but enterprise is where Microsoft makes its money and it would have to be the dumbest business decision ever to ruin the enterprise cash cow by doing that.
There are areas where Microsoft knows (or at least behaves as though) they have an effective unchallenged monopoly, and off boarding is too costly an endeavour.
Sticking with Jetbrains (Pycharm) which has good CoPilot integration (has an extension for Claude as well but I haven't gotten it working). Tried Cursor but I didn't find it compelling enough to switch.
If you pay for the "Business" license, then you get some guarantees about privacy + security. It was a fight, but we eventually got the go-ahead from our legal team and are able to use it. It's pretty nice.
Copilot is basically just autocomplete for code with a ChatWindow on the side.
Cursor has that, but also other modalities. It also just has a better UX for the core shared experience. Cursor also has their own models they mix with APIs to big well known models.
For example…
1. Cursor’s chat window generates patches (multi line, multi file, non contiguous) that can be directly applied to the file editor with a click, instead of requiring you to copy/paste the chat results. It lets you apply parts of the patches too.
2. Cursor supports multi-line changes (which show up as auto-complete), where the lines aren’t contiguous. For example, if you rename a field in a class, the AI will propose a rename for the Getter/Setter methods, as well as all the uses of said field/method. It’s like all the familiar refactoring tools available in IDEs, but AI powered so it operates “fuzzy matching”
3. Building off 2, they will use AI to move your cursor around (it’s not intrusive).
4. Cursor supports BYO keys for OpenAI, Gemini, Anthropic, etc. They host their own model which you’d need to pay to access though.
5. They support AI autocomplete and conversation in the command line. Helpful for remembering commands or if you need to change a command to test some change you’d made.
Why do I say this? Because their cost to deliver their product exceeds their revenue. That tells me the product (as it is today) does not match the market demand.
GP doesn’t actually need arguments for it. As change agents AI companies need to argue why they should be allowed to train on others’ code, and clearly in GP’s case they’ve failed to meet the burden of proof.
1. I believe AI is detrimental. It makes us go too fast. It's all about production now, pure efficiency over individuals.
2. AI is too dangerous. Whatever innovations used for benign applications will be eventually used for more dangerous applications such as advanced genetic engineering and the military.
3. AI uses too much energy. It's disrespectful to the resources that we have.
4. AI is an apex technology amongst technologies designed to further enrich the elite and strengthen the power structure.
5. AI will also be used to completely replace workers at a speed much faster than other automations and I don't agree with that. The new jobs that have been created are demeaning such as "AI Prompt Engineer".
6. AI is one step closer to technology creating autonomous technology, and that's a bad thing.
Society needs to slow down and find alternative, more sustainable solutions. AI is aligned with short-term economic efficiency and that is detrimental.
I strongly agree with your points 1, 3, 4 and 5, and I would add another one:
7. This idea of "AI" and how it is expected to be used is detrimental to human intellectual development, particularly for junior generations, and the presumption that AI will solve everything is what actually may bring us closer to the world of Idiocracy.
I agree with that. I think AI may not make us dumber in every way, but it certainly will make us dumber when it comes to being able to plot out independent, large-scale solutions. We will be as dependent on AI for certain sorts of decision-making as we are on water treatment to treat our polluted water sources.
> AI is an apex technology amongst technologies designed to further enrich the elite and strengthen the power structure.
This one I somewhat agree with. Ideally these technologies are owned by nobody.
Though it does give me hope when I see Facebook of all companies leading the charge in regards to open sourcing AI. The fact that their business model incentivizes them to do this, is good (lucky) for everyone, whatever your other opinions of the company are.
I am currently having a ride with chatgpt allowing me to write applications at 3 times the speed compared to before (where before may be "never" for some technologies) and I am happy for everyone contributing to this.
But all your points are well grounded, I will have to figure out a way to think about them, while keeping my day job.
I don't begrudge you for trying to keep your job. I myself do things for my own job that I consider questionable. I guess it's all something we should think about.
ChatBLT and Copilot break every license of every repo they were trained on. Even the most liberal project license states you have to include, and not modify, the license file. So you’re glad for code thieves. Interesting…
So to give you the benefit of the doubt that you’re not just another dude who has hitched their financial wagon to this current AI slopfest, I just retried a question about writing OSSEC rules and the response, while convincing looking, was completely wrong. Again.
Faster is not necessarily better, and if 2/3 of your value comes from LLMs, that doesn’t bode well for job security.
There’s a lot that engineers can due that are well beyond the limits of LLMs. If you really want to keep your day job, I would really commit yourself to that gap when you can!
The time freed here gives me more time to spend on what actually brings value.
My primary job is not to write applications.
And if it was, I would not include "the process of editing lines of code" in my job description.
I am not afraid to be fired, but at the same time there is no discussion about the ethics of using AI and whether ethics is a good reason not to in, my workplace.
The AI proponents that support this have no serious solution to the mass displacement of jobs thanks to AI. They actually don't mention any alternative solutions and instead scream about nonsense such as UBI which has never worked at a large sustainable scale.
> Society needs to slow down and find alternative, more sustainable solutions. AI is aligned with short-term economic efficiency and that is detrimental.
I don't think they can come up with sensible alternatives or any sustainable solutions to the jobs displaced as there is no alternative.
Because the rich and powerful people who will reap the most benefit from all the automation will not redistribute the wealth to the now-useless ex-labor force.
There are a couple of sentences in "Dune" about this:
"Once men turned their thinking over to machines in the hope that this would set them free. But that only permitted other men with machines to enslave them."
We turn our money over to investments, hoping this will set us free.
That's a new thing in the world, ordinary people investing in their savings, 401k, retirement, mortgages, index-linked accounts. Not many hundreds of years old, but people advise it as if it's as solid as the mountains. And work for 50 years watching the numbers go up for the carrot of freedom at the end.
AI is a technology that, in principle, makes it possible to have a "Star Trek communism" society.
I agree with you that it can also be abused to make the existing state of affairs even worse. But if we resist technical progress on this basis, we'll never get better, either.
- AI output is taken as an ultimate source of truth despite frequently, and dangerously, getting details wrong. Fact-checking is abdicated as a personal responsibly while simultaneously marketing and designing products to people who are weak at or are otherwise indifferent about critical thinking. (This is similar to social media products telling its users to "consume responsibly" while designing them to be as addictive as possible.)
- AI is expensive. Microsoft, Google and Meta are the only companies that can afford to train. I don't feel comfortable with allowing these companies to be the ultimate arbiter of truth behind the scenes.
I have the same opinion as the person you replied to. My arguments are basically that I don’t support plagiarism, and LLMs/diffusion models of our generation have been trained on a massive corpus of copyrighted material, ignoring the fundamentals of the Berne Convention.
I belong to an internet community whose artists make for a third of its population – they are mostly hostile to generative art and never gave their consent for their art to be plagiarized, yet their artstyle end up in Civitai and their content shows up on haveibeentrained.com.
Personally, my hostility towards generative art would stop if training was opt-in, and I would use GitHub again if it, AT LEAST, allowed members to opt-OUT.
You are welcome. I probably am not nearly as good as you. It was just a few programs I made in my spare time like some games and a Sudoku solver. I am sure if I were elevated to your coding level, my departure from GitHub would be a true loss. I hope one day I can reach a tenth of your level.
This is great as an entry point to programming and also good for startups.
and with the recent addition to o1 in Cursor the price of a mid-senior is set to around $20.
It has been a while since my business needed to hire more senior engineers for a while, I only needed around 1 or 2 and the rest as interns using Copilot or Cursor.
This is a great time to build projects and get into programming for everyone.
We still get the pro plan, which saves $10/month. But that's not good enough. Popular open source maintainers deserve their most expensive enterprise plan. Microsoft indemnifies enterprises from me, but they won't indemnify me from enterprises. How is that fair? Is this how they treat the people who make their platform great? Rolling out the red carpet and granting open source developers enterprise privileges is the only way for Microsoft to prove that it's serious.
> Once awarded, if you are still a maintainer of a popular open source project when your initial 12 months subscription expires then you will be able to renew your subscription for free.
Microsoft (unsurprisingly) has won the race to zero.
We have had them 'embrace' the wider developer and open-source ecosystem by buying GitHub.
Then they have 'extended' this with partnerships and deep developer integrations in VSCode and exclusive partnerships with OpenAI which in the background was used to build the best tools on the Microsoft platform with added enhancements and extensions.
Now in the new intelligence age, we finally have the definition of what 'Extinguish' looks like to competitors wanting to compete with the best tools available, For free.
I think you're ignoring the part where a MBA shows up, figures they have a valuable monopoly and starts it's extortion racket.
Realize: most of the digital ecosystem runs on whales, and thats who businesses go after. As long as wealth inequality thrives, that's the enshittification cycle.
Bundling this with GitHub and giving it away for free reminds me of other times they’ve pulled this same tactic like with Teams. I don’t know why people respect Satya too much - he’s just another typical Microsoft monopolist. Others can also act unethically and abuse market position to grow their company.
This happened to me as well. Came back from several weeks off and I kept getting these rate limit windows in vim today. I was/om on the OSS pro plan so I just figured the gravy train ended and unsintalled it
I use supermaven and cline with my own API key, a setup superior to cursor imo. Tried to go back to gh copilot yesterday but couldn't bear it for a full workday, and reverted to my previous arrangement.
I feel like this free plan is just enough to get someone hooked and require them to upgrade to paid.
Like, imagine GPS navigation wasn't widespread and there was a paid service that gave you 20 free trips. Eventually your normal navigation skills would atrophy and you'd be obliged to purchase.
Some will want to pay more for better service, but it seems likely to be plenty for people who aren't full-time programmers and don't write code every day?
I didn't. Terms are subject to change + can be vaguely written. What matters is your data getting uploaded to someone else's cloud.
Even if they explicitly and clearly state that they don't use your data for any purpose other than generating immediate responses, they can change this once the free Copilot gains traction and people become really addicted to it.
Like, "pay if you don't want us to use your data for training". Most people won't pay and will be happy to give away their data instead.
For those looking for a free coding assistant they can also use at work / in the enterprise, Cody has had a free tier for awhile: https://sourcegraph.com/cody
- Works with local models
- Context-aware chat with very nice ergonomics (we see consistently more chats per day than other coding assistants)
- Used by both indie devs and devs at very large enterprises like Palo Alto Networks
- Hooks nicely into code search, which is important for building a strong mental model inside large, messy codebases
Interesting, I cancelled my plan a couple weeks ago so I suppose it's nice to know my vscode plugin won't stop working at the end of the month.
If I ever pay for a different AI product I would prefer a pay-by-the-token plan vs a monthly charge since there are often spans of several weeks where I'm not using the tools at all.
If anyone is looking for a free/local alternative Continue + Ollama is acceptable. If you're just doing run of the mill programming it will work well out of the box.
I'm glad it's open source so I was able to fix most of the issues I had with it and now my copy is in a great place. The documentation is in places many versions behind the actual code so it can be tough to figure out how to set things up when you're venturing off the beaten path. That all being said the granularity of control you have when using local models leads to an experience that's far better than Cursor/Copilot, I really enjoy that it reads my mind a lot of the time now (because I have prompt engineered it to know how I think).
You should be looking at 7-8b sized models, then. https://huggingface.co/Qwen/Qwen2.5-Coder-7B-Instruct is considered pretty strong for its size. That said, you shouldn't expect more than glorified autocompletion at that point.
I'm not familiar with the practical memory requirements on Macs but I suspect that with 16gb of integrated ram you won't have issues running 14B models even at q6_k, certainly would be fine at q4 and it's definitely going to be capable of writing code based on instruction as well as minor refactoring, generating docstrings etc.
The model itself will fit just fine, of course, but you'll also want a large context for coding. And then since it's integrated RAM, it's also used by everything else running on your system - like, say, your IDE, your compiler etc, which are all fairly memory hungry.
Also keep in mind that, even though it's "unified memory", the OS enforces a certain quota for the GPU. If I remember correctly, it's something like 2/3 of the overall RAM.
Tried a few models and was extremely disappointed by how dumb the completions are. Basically useless. What local ollama-available models do you recommend?
A software developer's time is much more precious than wasting time on sub-optimal models.
Open Weights models has it's place (in training custom agents and custom services), but if you are knowledge worker, using a model even 5% less than SOTA is extremely dumb
100% disagree with this take, the flexibility in controlling the prompt leads to QwenCoder2.5-32b outperforming gpt-o1 and claude sonnet 3.5 for nearly everything that I use it for (true for Gemma-27b and llama3.3-70b, though in this context I'm almost always using the former).
A specialist model that's specifically prompted to do the correct thing will outperform a SOTA generic model with a one size fits all system prompt. This is why small autocomplete models can very obviously outperform larger models at that specific task.
I am speaking 100% from experience and ignoring all benchmarks in forming this view btw, so maybe it's just my specific situation.
Also, in general I don't find the difference between SOTA models and local models to be that significant in the real world even when used in the exact same way.
yes, the vscode extension is a one click install, so is ollama which is a separate project that provides local inference
you'll then have to download a model, which ollama makes very easy. choosing which one will depend on your hardware but the biggest QwenCoder2.5 you can fit is a very solid starting place.
it's not ready for your grandma, but it's easy enough that I'd trust a junior dev to be able to get it done
I found the plugin did not prompt the model often enough. I would finish writing aline, and go to a new line and sit there waiting to see what the AI thought would be next, only to realize continue wasn't prompting...
Acceptable UX maybe, but the gap between Sonnet 3.5 and open models isn’t worth it. I know people are going to pitch qwen coder 72b, but it’s still a long way off on benchmarks and my time matters more.
You're the second person in this thread to make this point, what are you using it for? I find the difference is basically negligible (in the sense that both get the busywork right and both fail at anything complicated)
yeah, Sonnet goes past that. 300+ line changes in 20 seconds. You have to review it, but generally it's right. It's infinitely faster than the time to look at docs and do it myself.
Sure it's busywork. But it's a lot of busywork very fast.
Well it's definitely not infinitely faster since you're having to review it, but we're talking about the delta between Sonnet and Qwen/Mistral/Llama or whatever, not doing it manually.
I'm really curious what your problem domain is, like specifically what sort of code are you asking it to change and what changes are you asking for.
I just gave o1 and Sonnet a total layup question (optimization that had a huge win simply by filtering an array before sorting it vs the other way around) and neither model got the solution right, both of them came up with ~hundred lines of code, neither model's code worked on the first try. It took me like 10 minutes to refactor and optimize the code for a 6x speedup and it would take longer than that to debug the AI code to even make it run. (I spent 10 minutes prompting/editing to try to get the generated solutions to run)
Also the initial code was 11 sloc, my solution is 14 sloc, and claude was 70 sloc and o1 was 93. idfk, i just don't think we're there yet
My work involves a lot of boilerplate. Made some changes recently that amount to about 3 lines of meaningful code but wrapped in 4 new files + edits to like 6 others. It's ridiculous. Perfect for AI but I haven't found a way to automate because the tools don't seem to be smart enough to create files and make random little edits, and the amount of words to explain what I want would be too much. One day...
Quick example: create a config class, allowing the caller get and set a variety of config vars. It should be easy to add new vars. Persist any set value to a yaml file. Each var should be described by a name, type, env var fallback value (optional) and default value if the set value and env var are null (optional). The API should be typed and allow int, string, float and lists. Add comprehensive tests.
Obviously nothing complicated but it takes non-zero time. It did it in one shot in about 30s. Didn’t have to look at and docs (I don’t have the yaml lib memorized). Got the python typing right which would have been a bit of a pain. A lot faster than doing it myself, even with reviews. Tests were solid so I could tell it worked.
The filter example you give seems like they should have aced it. Not sure what went wrong but it has easily done work like that for me. I usually am half way through typing the method name when the rest autocompletes. Are you using a tool with good context management like cursor?
Copilot in VSCode is so far behind Windsurf, not terribly excited about this and still happy to pay for a Codeium pro account. My only fear is someone buying them and screwing up model access, but maybe it’s fine if that is Anthropic. GPT-4 is terrible at coding and o-1 isn’t tell tiene for practical use.
Tried windsurf and the beginning was amazing, last few days I start realizing that is getting annoyingly stupid and slow. Open reddit and realized lots of people had the same issue with a lot of wild theories about it. I stopped my subscription and I am considering trying cursor just to compare. Tldr;×trying an agent Ai coding assistant was amazing and I think I will never go back!
They use a lot of custom models and logic chaining, so I think this is more search and retrieval optimization or similar problems, I guess maybe some Anthropic API issues as well. I’ve seen the variance too and was wondering if was load related. Overall, still loving it, even if there’s some bleeding edge bumpiness.
Been using Windsurf for a couple months and it was almost perfect with Sonnet 3.5
They recently changed their pricing to some weird "Flow Action credits" system and MOST of the people are dissatisfied with that. I'm still looking for a replacement IDE because I mostly just chat and rarely use autocomplete.
Windsurf has been great. First week, no complaints. Seems to have the best responses too, although the hallucination level of all these is still too high for me to use it beyond trivial cases.
Before GitHub Copilot was a paid feature. This only shows to the Cursor team that they are going to the right direction.
The slow elephant enterprise GitHub will never be as good/fast as Cursor, they had their chance but they have joined the party of "keeping the devs under our umbrella with free features" too late.
If Cursor remains successful, they’re likely to turn into a slow elephant enterprise as well eventually. That’s rather the rule than the exception, unfortunately.
Are there any exceptions? I feel like small companies can be nimble because they don't have as many customers to lose, but larger orgs need to worry much more about existing customers: scale, migrations, backwards compatibility, legal compliance, supply chains...
Is there any solution that is 1- fully local 2- open source 3- fast on CPU only 4- provide reasonable good results for smart auto complete ?
I don't want my work to depend on proprietary or even worse, online, software. We (software engineer) got lucky that all the good tools are free software and I feel we have a collective interest in making sure it stays that way (unless we want to be like farmers having to pay Monsanto tax for just being able to work because we don't know how to work differently anymore)
Unless you've got a CPU with AI-specific accelerators and unified memory, I doubt you're going to find that.
I can't imagine any model under 7B parameters is useful, and even with dual-channel DDR5-6400 RAM (Which I think is 102 GB/s?) and 8-bit quantization, you could only generate 15 tokens/sec, and that's assuming your CPU can actually process that fast. Your memory bandwidth could easily be the bottleneck.
EDIT: If I have something wrong, I'd rather be corrected so I'm not spreading incorrect information, rather than being silently downvoted.
deepseek-1b, qwen2.5-coder:1.5b, and starcoder2-3b are all pretty fast on cpu due to their small size, you're not going to be able to have conversations with them or ask them to perform transformations on your code but autocomplete should work well
You should definitely be able to run 7B at q6_k and that might be outperformed by 15b w/ a sub 4bpw imatrix quant, iQ3_M should fit into your vram. (i personally wouldn't bother with sub 4bpw quants on models < ~70b parameters)
Though if it all works great for you then no reason to mess with it, but if you want to tinker you can absolutely run larger models at smaller quant sizes, q6_k is basically indistinguishable from fp16 so there's no real downside.
Open source, fast and good: openrouter with opensource models (Qwen, Llama,etc...) It's not local but these is no vendor lockin, you can switch to another provider or invest in a gpu.
You can set up Cursor with a local LLM, connected via an open source ngrok substitute (can’t remember which ones are good). Only recommend doing this on a Mac with a lot of ram so you can use one of the actually useful coding models though (e.g. QwenCoder2.5-32b).
Working with people who use this stuff a lot has made my current job just so so much harder in every way its astonishing. I used to solve problems with code, now I feel like hermeneut or dream analyzer: absent of human intention, codebases quickly become these weird piles of different idioms, even without considering the hallucinations (those have definitely cost me a few sleepless nights now either way).
But I am just venting. All of yall have clearly won, I get it. I am just grateful I have lived a full life doing other things other than computers, so this all isn't too sad other than the prospect of being poor again.
I will always have my beautiful emacs and I will always be hacking. I will always have my Stallman, my Knuth, my Andy Wingo, my SICP. I feel it is accomplishment enough to have progressed in this career as I have, especially as a self taught developer. But I kinda want to let yall deal with slop now, you really seem to like it!
Maybe I'll get another degree now, or just make some silly music and video games again. It's liberating just thinking about being free from this "new way" we work now.
In what way - that those things/people doing that will fail? Or the tooling will get better that this is no longer a problem? Completely different outcomes with very different consequences.
I think people will realize those AI are not worth the cost (both money wise and environment wise). Right now money is raining on everything AI, but at some point they will want to have a return and most projects will shut down, and we can move on
I'm inclined to agree with you. There are two directions of pressure. First, the tech just doesn't work as well as it needs to, and it's not clear if that will change in the next decade. Second, the companies are losing money. The investment bet is that the AI companies will make rapid advances in their models such that they'll be able to charge enough to turn a profit before the bubble pops. I'm not convinced.
I hear you. There was something special about the old days when programming was all about taking your time, thinking through every step, and truly understanding what you were building. I miss the days of punching cards — there was a certain simplicity to it. You’d write your code, feed it into the machine, and if it broke, it was your fault. There was no hiding behind tests or CI/CD pipelines, no auto-fixes or layers of abstraction. It was just you and the machine, and every bug was a lesson you had to learn the hard way. The feedback loop was slow, but it was real.
Now, everything feels automated, fast, and often a bit too dumb. Sure, it’s easier, but it’s lost that raw connection to the work. We’ve abstracted away so much that it’s hard to feel like we’re truly engineering something anymore — it’s more like patching together random components and hoping it holds. I think we lost something when we all started staring at screens all day and disconnected from the hands-on nature of building. There's a lot of slop now, and while some people thrive on that, it’s not for everyone.
A good conspiracy can be interesting even if it's false, so I don't criticise you for finding it interesting; but I downvoted because I didn't - HN is chock full of "Microsoft bad, Embrace Extend Extinguish" and it's fucking tiresome. I wrote 1700 words on how that comment makes no sense but I'll reduce it:
- Have you ever read a PR and thought "this code is useless" and the result was you deciding that "kLOC is great"? Any way I put those things (Microsoft, kLOC, AI, Github, social cliques,...) together I don't get anything sensible; Microsoft spent 7.5Bn on Github to make kLOC great to help them destroy open source? It's a crackpot word salad, not a reasoned position. At least, if it's a reasoned position they should post the reasoning.
- Github has 200,000,000+ public repositories and makes $1Bn/year revenue. How will putting AI into Github 'finally' destroy open source and why does Microsoft want to screw up a revenue stream roughly the size of Squarespace's, bigger than DigitalOcean's or Netgear's, and getting on for as big as CloudFlare's?
That said, this conspiracy theory does line up with the corporate retraction from open source writ large that's happened over the last few years (i.e. HashiCorp moving to BUSL; Red Hat ending CentOS; VMware pulling back after Broadcom ate them; etc.)
Where I work, we have a directive to use AI as much as we can wherever possible. I was handed a codebase that's been working on by many, many, many different people over the past ~2 years and was written almost entirely with AI (starting with GPT 3)
The only way you can deal with the codebase is to fully embrace the AI. Whenever I want to make anything beyond a simple API change, I have to boot up Cursor and give it 5+ files for context and then write a short novel about what I want it to do. I sip some coffee while it chugs away and spits out some changes, which I then have to go and figure out how to test. I'm not fully convinced that the iteration time is any faster, and the codebase is a hot mess.
It also just feels very stifling and frustrating to me to have to write a ton of prose for something when I'm used to being able to write code to do it! I have to go home and work on other projects without AI just to scratch the itch of actually programming which is what I fell in love with all those years ago.
It's hard to address just one point for how messed up this seems, but the first thing that stands out is that I would guess the code volume of this process has to be unsustainable.
Humans themselves tend to write new code instead of using old code- a common problem- but with sensible code structures and CI, code will grow at a sustainable rate.
LLMs continuously barf a steam of new code, never deleting anything. Then you need to provide the barf as context, and the cycle surely must continue until it falls apart. How has this not happened yet?
Yes - writing code myself, whenever I need to do something substantial the first question I ask is "is there already a function in this codebase somewhere that does this, or does something close enough to it that I can just tweak it?" and most of the time there is!
AI will just write a new function every time. You can also ask it to write tests, but I think that AI-written test coverage of AI-written code is just asking for trouble. When it breaks, you'll probably just ask an AI to fix it.
This is how I think the current bubble will pop. Yes, these are useful tools that we just now are trying to learn how to use. But wallstreet and bean counters are going apeshit on the prospect of replacing the (expensive!) humans they currently pay for.
Once the codebases become an unmanageable mess I think the pendulum will swing back, hard.
That should buy sometime for anyone not entering the industry right now.
I have similar feelings though maybe a bit more optimistic take. Obviously the AI hype train hasn't taken us to anywhere objectively better. Software has in no way become less buggy (if anything it feels worse in the past few years) and most if not all of the software I use predates the LLM era.
It feels like most developers en masse have taken on some masochist pleasure at deskilling themselves while becoming a prompt engineer beholden to OpenAI/MS/Google.
The upside is that those who take time to learn and improve can write software that most devs have given up the hope of being able to write. Write the next Maigt or org-mode while everyone else is asking AI to generate tailwind HTML React forms!
> It feels like most developers en masse have taken on some masochist pleasure at deskilling themselves while becoming a prompt engineer beholden to OpenAI/MS/Google.
It's a weird/delusional timeline, that's for sure.
I started programming because I enjoy understanding something deeply and building things with that understanding. I like to write code that works on the first try because that means my mental model is correct. If I end up writing a bug, I try to avoid using a debugger. Instead, I take a step back, analyze what the code is doing and where my model differs from reality and fix it, often while finding more issues in my original understanding.
There are programmers who take a different approach, they write code that take a naive approach and works 90% of the time, then move on. When a bug manifests (it was there from the start but unless it manifested itself, it didn't bother them), they make a naive fix and move on. Sometimes fixing the bug for real, sometimes causing new ones. Eventually the amount of bugs reaches an equilibrium and they ship it.
LLMs are the second approach on steroids. Since they have no understanding, only statistical correlations between tokens, they produce code of the second kind. I mean, they don't even run their code to check it works. And they sure as fuck don't ask the programmer additional questions. Let alone the user. But they do it extremely fast so it's good from a business perspective. Better to have a shitty product now and beat competition on advertising, then be second.
I used to like open source because it attracted people of the first kind and there was cooperation instead of competition. But lately every project seems to ask for donations and it increasingly attracts people of the second kind.
411 comments
[ 3.5 ms ] story [ 310 ms ] threadThe UI is still changing slightly every couple weeks as they improve things and polish it, but it's become a big enough part of my day to day that it's pretty much always open on the right pane of vscode for me.
I was wondering if you have used Copilot Edits and can compare it to Cursor Composer? Is Cursor much more superior when it comes to multi-file edits?
Do you also have tips for how to give Cursor some documentation, is there a way to make it RAG on a folder of markdown documentation files?
For us who prefer coding ourselves (instead of telling LLMs to do stuff and review the result) it is much much better.
You just can't make Copilot do this. Even after you move to the second line, it won't suggest anything. It just suggests a completion starting from where your cursor is, instead of an inline edit around where you are at.
Sometimes you can delete everything after func( on the second line and Copilot will finish it, but sometimes it just can't and decided to autocomplete irrelevant (e.g. func(1, e, f).
In this case there's not much intelligence needed, but for more complicated changes Cursor does just as well.
FWIW I use GoLand w/ Supermaven, currently.
Copy and paste workflow is a minor slowdown, but nothing compared to things like smart links in terminal, auto detection of run configurations, etc, etc.
I watch people navigate code in VSCode and I want to pull my hair out. Things that I don’t even think about are hard and/or require just falling back to search.
And before “there is a plugin for that”, I’m sure there is. I’m sure you can configure VSCode to be just as powerful as IDEA but the rank and file using it aren’t doing that work to install and configure a bunch of plugins. So, on average, VSCode doesn’t hold a candle to an IDEA.
With Aider I skip a lot of the copy/pasting but I’d still copy/paste to the browser before I left IDEA.
For me it's the other way around, when I see someone using an IDE instead of a lean editor I see their struggle. Multiple seconds to open the IDE (sometimes tens of second), multi-hundred millisecond lag when opening a file, noticeable input lag. And when you have to edit a file your IDE doesn't understand, all you have is a bloated notepad.
I know I'm biased and I intentionally wrote this one-sided to counter your post. In practice, it just depends. Right now in my work I primarily edit scripts (up to a few hundred lines of code), do quick edits to various larger projects - sometimes few different projects a day - and read files in dozens of programming language (I only reall program in Python and C/C++, but I have to constantly consult various weird pieces of code). VsCode works great for me.
On the other hand, long time ago when I was working on large C# projects, I can't imagine not using Visual Studio (or Rider nowadays I guess).
+1 this is what brought me back to vscode after experimenting with goland. To me vscode better handles the heterogeneity of my daily work. In my workspace I can keep open: a golang codebase, a massive codebase consisting of yaml config files, a filesystem from a remote ssh connection, a directory of personal markdown notes, and directories of debug logs. In my experience jetbrains excelled at the single use case, but vscode won on its diversity.
I will say that the parent comment had me curious about goland again. But I suspect I really need to spend more time configuring my vscode setup. I spent years using emacs, and would love to have a helm-like navigation experience.
I'm a near-exclusive user of VSCode (or Codium, at home) and like to think of myself as moderately advanced. I continually update my configurations and plugins to make my workflow easier and often see my peers stumble on operations that are effortless for me. It's hard to explain to them what they're missing until they watch me code. So now I'm curious about watching some typical Jetbrains workflows.
For most of the rough edges, I've found workarounds at this point.
I miss some of the refactorings, but half the time the AI does them for me anyways.
Smart links in terminal are supported. Detection of run configurations is supported.
My main issues atm are:
- Quick search is inferior. You can't search for folders, and symbol search is global, without the option to exclude certain locations (such as build artifacts) from indexing.
- cspell is more annoying than it is useful. I don't want to babysit my spellchecker. Without extensive configuration, there are far too many false positives.
Sublime Text's text search is the killer feature for me. CTRL+SHIFT+F and I can search a million LOC+ codebase instantly, navigate the results with CTRL+R, do a sub-search of the results with CTRL+F, set bookmarks with CTRL+F2 (and jump to them with F2/SHIFT+F2), pop the results out to a different window for reference, etc. And all that happens with no jank whatsoever.
The LSP plugins make life easier, but even without that Sublime is often able to find where symbols are defined in a project using just the contextual information from the syntax highlighter.
I tried CLion for a while, but couldnt get productive in it. Ofc I'm much more experienced with Sublime, so maybe I just didnt give myself enough time to learn it, but CLion felt sluggish and inefficient. The smart code features are probably more advanced than Sublime's LSP plugins, but I didn't find anything that would make the switch actually an improvement to me.
I have a laptop I bought 10 years ago. It only has 16 gig of RAM [1].
I have had 8+ editors open, mix of visual studio and vs codes. And in VS you often group all your codebases into single solutions. So usually have multiple windows from multiple projects open in each ide.
It only struggles when I leave the debuggers running several days because of a slight (known) memory leak in visual studio. There's probably a fix but reopening the ide takes like 10 seconds. And it remembers all my open files.
All editors are much better, faster at searching, use less memory, etc. than they wwre 10/20 years ago.
Everyone's improved. You seem to be a bit stuck with an old impression.
[1] I have a vastly more powerful machine but I keep procrastinating switching my work setup over to it.
* Click to find usage is exceptionally good.
* when refactoring, it will also find associated files/classes/models and ask you want to change them as well. It’s also smart enough to avoid refactoring things like database migrations
* Click-run just about anything is amazing. I work in multiple languages in multiple code bases. I get tired of figuring out how to install packages, run things, and even get into debug mode. Most major tooling is supported out of the box.
* Debugging. Lots of data types have smart introspection when debugging. It knows that Pandas tables should be opened in a spreadsheet, JSON should be automatically formatted, and you really just want that one property in a class already formatted as a string.
* Built in profilers and code coverage. This is something that’s always annoying to switch tooling with.
* Great Git integration, though that’s probably par for the course.
* Database integration in some toolsets (like Rails). If you need to look at records in the database, it will jump you directly to the table you need with Excel-style filters
* Local history on just about everything. This has saved my butt so many times. You can delete an entire folder and know you can restore it, even if you delete it from Git.
* Automatic dependency change detection. For example, after a pull, it will identify if new or updated updated dependencies were pulled. 1-click to install.
* Type hinting in in-type languages
Notice that if you work with large projects it is crucial to give the IDE enough RAM so it doesn't thrash a lot. You can also remove a lot of its default plugins to make it much faster.
Features I'd love:
* Reproduce the web/browser chat UI in the IDE, this is an easy concept to interact with vs a dialog that goes away after each run
* Provide tabs for multiple chats (each chat can have different files/history/etc)
* Allow multiple Aider processes running at the same time
But this is still super slick as-is, thank you!
PS: One UI feature that I haven't seen anywhere yet is not splitting the screen into code and chat but unifying it.
Also a common approach (e.g. in openai composer) seems to be to modify the file line by line which takes a very long time if the file is long, which (agentic) tools use a diff approach instead?
Autocompletiok is losing features every day, it seems. Yes, Jetbrains might either be removing features to move them to AI, or breaking features involuntarily in order to move faster to implement AI.
Either way, AI is killing Jetbrains.
aider
Seriously, this here right now is the precise moment in time where people will either look back at wondering how such a clear leader managed to sink into insignificance, or not.
I love IntelliJ more than my own kids, but if they don't add "the AI does not just talk about what code to create, it actually creates it, across multiple files and folders", then I'm out.
Just yesterday I made Cursor rewrite the whole ui layer of my app from light-mode-only to light-and-dark-mode-with-switcher in one single sweep, in less than 5 minutes (it would have taken me hours, if not days to do it manually), and this is just not feasible if you have to manually copy-and-paste whatever Jetbrains AI spits out.
Jetbrains — Move. Now!
Claude 3.5 + Cursor has fundamentally improved my productivity. It's worth the 20 dollars a month.
I've written thousands of lines of Vitest tests with it, and they have come out near perfect. It would have taken me days to write those tests by hand, but now I can just generate them and review each to make sure it works.
Intellij will have it's lunch eaten if it doesn't pursue the Cursor/Windsurf editing modality.
I keep them both open on the same project, as there are some things IntelliJ does superbly.
I evaluated Jetbrains AI and Copilot with VSCode, but they just didn't impress me. I tried Cursor, and subscribed a couple of days into the trial. The workflow is just right.
If your main issue is the keybinding though there is a vscode plugin[1] that recreates Intellij IDEA bindings, which I found helped smooth the transition during my tryouts for me.
[1] https://marketplace.visualstudio.com/items?itemName=k--kato....
Personally, I'm using Goland for editing, along with Zed for its AI assistant. I just have the same project open in both, and do any AI editing in Zed.
I really like the AI UX in Zed with the chat window on the right being context for inline assist (and being able to easily include tons of files in the context window).
However I think JetBrains should be worrying. I've been using and paying for JetBrains products for many years and Cursor is the only thing making me consider switching from it.
We are allowed Copilot and Chatgpt because of an enterprise contract with each. Luckily copilot has been improving but there definitely was a while where it felt way behind the jumps other products have had in the past year or so.
A product can work however it works, good or bad, but if you can't wrap contractual guarantees around it that are palatable to your enterprise customers, you're not going to get enterprise sales.
GitHub Copilot works fine with these; just authenticate against github.com first
I would understand this mindset when it comes to consumer uses of it, but enterprise is where Microsoft makes its money and it would have to be the dumbest business decision ever to ruin the enterprise cash cow by doing that.
There are areas where Microsoft knows (or at least behaves as though) they have an effective unchallenged monopoly, and off boarding is too costly an endeavour.
Please explain. Vague insinuations mean nothing.
Getting answers (with references) to questions *destroys* using Google.
Cursor has that, but also other modalities. It also just has a better UX for the core shared experience. Cursor also has their own models they mix with APIs to big well known models.
For example…
1. Cursor’s chat window generates patches (multi line, multi file, non contiguous) that can be directly applied to the file editor with a click, instead of requiring you to copy/paste the chat results. It lets you apply parts of the patches too.
2. Cursor supports multi-line changes (which show up as auto-complete), where the lines aren’t contiguous. For example, if you rename a field in a class, the AI will propose a rename for the Getter/Setter methods, as well as all the uses of said field/method. It’s like all the familiar refactoring tools available in IDEs, but AI powered so it operates “fuzzy matching”
3. Building off 2, they will use AI to move your cursor around (it’s not intrusive).
4. Cursor supports BYO keys for OpenAI, Gemini, Anthropic, etc. They host their own model which you’d need to pay to access though.
5. They support AI autocomplete and conversation in the command line. Helpful for remembering commands or if you need to change a command to test some change you’d made.
There might be more but this is what sticks out.
Why do I say this? Because their cost to deliver their product exceeds their revenue. That tells me the product (as it is today) does not match the market demand.
What are your arguments for this?
2. AI is too dangerous. Whatever innovations used for benign applications will be eventually used for more dangerous applications such as advanced genetic engineering and the military.
3. AI uses too much energy. It's disrespectful to the resources that we have.
4. AI is an apex technology amongst technologies designed to further enrich the elite and strengthen the power structure.
5. AI will also be used to completely replace workers at a speed much faster than other automations and I don't agree with that. The new jobs that have been created are demeaning such as "AI Prompt Engineer".
6. AI is one step closer to technology creating autonomous technology, and that's a bad thing.
Society needs to slow down and find alternative, more sustainable solutions. AI is aligned with short-term economic efficiency and that is detrimental.
7. This idea of "AI" and how it is expected to be used is detrimental to human intellectual development, particularly for junior generations, and the presumption that AI will solve everything is what actually may bring us closer to the world of Idiocracy.
This one I somewhat agree with. Ideally these technologies are owned by nobody.
Though it does give me hope when I see Facebook of all companies leading the charge in regards to open sourcing AI. The fact that their business model incentivizes them to do this, is good (lucky) for everyone, whatever your other opinions of the company are.
I am currently having a ride with chatgpt allowing me to write applications at 3 times the speed compared to before (where before may be "never" for some technologies) and I am happy for everyone contributing to this.
But all your points are well grounded, I will have to figure out a way to think about them, while keeping my day job.
So to give you the benefit of the doubt that you’re not just another dude who has hitched their financial wagon to this current AI slopfest, I just retried a question about writing OSSEC rules and the response, while convincing looking, was completely wrong. Again.
There’s a lot that engineers can due that are well beyond the limits of LLMs. If you really want to keep your day job, I would really commit yourself to that gap when you can!
I would put that phrase the other way around.
The time freed here gives me more time to spend on what actually brings value.
My primary job is not to write applications.
And if it was, I would not include "the process of editing lines of code" in my job description.
I am not afraid to be fired, but at the same time there is no discussion about the ethics of using AI and whether ethics is a good reason not to in, my workplace.
The AI proponents that support this have no serious solution to the mass displacement of jobs thanks to AI. They actually don't mention any alternative solutions and instead scream about nonsense such as UBI which has never worked at a large sustainable scale.
> Society needs to slow down and find alternative, more sustainable solutions. AI is aligned with short-term economic efficiency and that is detrimental.
I don't think they can come up with sensible alternatives or any sustainable solutions to the jobs displaced as there is no alternative.
"Once men turned their thinking over to machines in the hope that this would set them free. But that only permitted other men with machines to enslave them."
Granted, most of us are not choosing this.
That's a new thing in the world, ordinary people investing in their savings, 401k, retirement, mortgages, index-linked accounts. Not many hundreds of years old, but people advise it as if it's as solid as the mountains. And work for 50 years watching the numbers go up for the carrot of freedom at the end.
I agree with you that it can also be abused to make the existing state of affairs even worse. But if we resist technical progress on this basis, we'll never get better, either.
What human instincts do you have in mind, and how are they incompatible with AI?
- AI output is taken as an ultimate source of truth despite frequently, and dangerously, getting details wrong. Fact-checking is abdicated as a personal responsibly while simultaneously marketing and designing products to people who are weak at or are otherwise indifferent about critical thinking. (This is similar to social media products telling its users to "consume responsibly" while designing them to be as addictive as possible.)
- AI is expensive. Microsoft, Google and Meta are the only companies that can afford to train. I don't feel comfortable with allowing these companies to be the ultimate arbiter of truth behind the scenes.
I belong to an internet community whose artists make for a third of its population – they are mostly hostile to generative art and never gave their consent for their art to be plagiarized, yet their artstyle end up in Civitai and their content shows up on haveibeentrained.com.
Personally, my hostility towards generative art would stop if training was opt-in, and I would use GitHub again if it, AT LEAST, allowed members to opt-OUT.
Technical: https://news.ycombinator.com/item?id=23038520 with the tl;dr of "patches over email is king, if you want fancy web stuff go elsewhere"
Administrative: https://sourcehut.org/blog/2022-10-31-tos-update-cryptocurre... https://news.ycombinator.com/item?id=33403780
and with the recent addition to o1 in Cursor the price of a mid-senior is set to around $20.
It has been a while since my business needed to hire more senior engineers for a while, I only needed around 1 or 2 and the rest as interns using Copilot or Cursor.
This is a great time to build projects and get into programming for everyone.
Compared to other paid plans for various AI services, this one seems like it's relatively the most enticing.
> Once awarded, if you are still a maintainer of a popular open source project when your initial 12 months subscription expires then you will be able to renew your subscription for free.
source: https://github.com/pricing#i-work-on-open-source-projects-ca...
The free plan is not going to work for professional coding
What I would like is a deep integration with VS Code using my preferred foundational model
I see Cursor has their own model and support for 2 foundational models, but not my preferred model and they charge a monthly fee.
Supposedly: https://cloud.google.com/blog/products/ai-machine-learning/g...
but do I still have to pay microsoft $20+ per month? what I really want is pay-per-usage, not pay-for-access+usage
We have had them 'embrace' the wider developer and open-source ecosystem by buying GitHub.
Then they have 'extended' this with partnerships and deep developer integrations in VSCode and exclusive partnerships with OpenAI which in the background was used to build the best tools on the Microsoft platform with added enhancements and extensions.
Now in the new intelligence age, we finally have the definition of what 'Extinguish' looks like to competitors wanting to compete with the best tools available, For free.
Realize: most of the digital ecosystem runs on whales, and thats who businesses go after. As long as wealth inequality thrives, that's the enshittification cycle.
Your setup sounds interesting. What sort of API key do you use?
https://www.cursor.com/blog/supermaven
Like, imagine GPS navigation wasn't widespread and there was a paid service that gave you 20 free trips. Eventually your normal navigation skills would atrophy and you'd be obliged to purchase.
Real AI is definitely a rubicon.
*https://xkcd.com/1053/
Even if they explicitly and clearly state that they don't use your data for any purpose other than generating immediate responses, they can change this once the free Copilot gains traction and people become really addicted to it.
Like, "pay if you don't want us to use your data for training". Most people won't pay and will be happy to give away their data instead.
GPS is something that wouldn't be invented these days. Instead of the US military footing the bill, it would be some private company somewhere.
- Works with local models
- Context-aware chat with very nice ergonomics (we see consistently more chats per day than other coding assistants)
- Used by both indie devs and devs at very large enterprises like Palo Alto Networks
- Hooks nicely into code search, which is important for building a strong mental model inside large, messy codebases
- Open source core
If I ever pay for a different AI product I would prefer a pay-by-the-token plan vs a monthly charge since there are often spans of several weeks where I'm not using the tools at all.
I do think this slightly aggressive tactic, I’m sure they claim otherwise!
I'm glad it's open source so I was able to fix most of the issues I had with it and now my copy is in a great place. The documentation is in places many versions behind the actual code so it can be tough to figure out how to set things up when you're venturing off the beaten path. That all being said the granularity of control you have when using local models leads to an experience that's far better than Cursor/Copilot, I really enjoy that it reads my mind a lot of the time now (because I have prompt engineered it to know how I think).
Ultimately, isn't this just the way of things? https://thot-experiment.github.io/forever-problems/?set%20up...
Also keep in mind that, even though it's "unified memory", the OS enforces a certain quota for the GPU. If I remember correctly, it's something like 2/3 of the overall RAM.
https://ollama.com/library/qwen2.5-coder
Open Weights models has it's place (in training custom agents and custom services), but if you are knowledge worker, using a model even 5% less than SOTA is extremely dumb
Also, in general I don't find the difference between SOTA models and local models to be that significant in the real world even when used in the exact same way.
Does this run with VSCode and how hard is it to set this up?
you'll then have to download a model, which ollama makes very easy. choosing which one will depend on your hardware but the biggest QwenCoder2.5 you can fit is a very solid starting place. it's not ready for your grandma, but it's easy enough that I'd trust a junior dev to be able to get it done
I just read the parent post, lol.
Sure it's busywork. But it's a lot of busywork very fast.
I'm really curious what your problem domain is, like specifically what sort of code are you asking it to change and what changes are you asking for.
I just gave o1 and Sonnet a total layup question (optimization that had a huge win simply by filtering an array before sorting it vs the other way around) and neither model got the solution right, both of them came up with ~hundred lines of code, neither model's code worked on the first try. It took me like 10 minutes to refactor and optimize the code for a 6x speedup and it would take longer than that to debug the AI code to even make it run. (I spent 10 minutes prompting/editing to try to get the generated solutions to run)
Also the initial code was 11 sloc, my solution is 14 sloc, and claude was 70 sloc and o1 was 93. idfk, i just don't think we're there yet
Obviously nothing complicated but it takes non-zero time. It did it in one shot in about 30s. Didn’t have to look at and docs (I don’t have the yaml lib memorized). Got the python typing right which would have been a bit of a pain. A lot faster than doing it myself, even with reviews. Tests were solid so I could tell it worked.
The filter example you give seems like they should have aced it. Not sure what went wrong but it has easily done work like that for me. I usually am half way through typing the method name when the rest autocompletes. Are you using a tool with good context management like cursor?
Announcing 150M developers and a new free tier for GitHub Copilot in VS Code
https://github.blog/news-insights/product-news/github-copilo...
https://news.ycombinator.com/item?id=42127882
They recently changed their pricing to some weird "Flow Action credits" system and MOST of the people are dissatisfied with that. I'm still looking for a replacement IDE because I mostly just chat and rarely use autocomplete.
Windsurf has been great. First week, no complaints. Seems to have the best responses too, although the hallucination level of all these is still too high for me to use it beyond trivial cases.
The slow elephant enterprise GitHub will never be as good/fast as Cursor, they had their chance but they have joined the party of "keeping the devs under our umbrella with free features" too late.
I don't want my work to depend on proprietary or even worse, online, software. We (software engineer) got lucky that all the good tools are free software and I feel we have a collective interest in making sure it stays that way (unless we want to be like farmers having to pay Monsanto tax for just being able to work because we don't know how to work differently anymore)
Unless you've got a CPU with AI-specific accelerators and unified memory, I doubt you're going to find that.
I can't imagine any model under 7B parameters is useful, and even with dual-channel DDR5-6400 RAM (Which I think is 102 GB/s?) and 8-bit quantization, you could only generate 15 tokens/sec, and that's assuming your CPU can actually process that fast. Your memory bandwidth could easily be the bottleneck.
EDIT: If I have something wrong, I'd rather be corrected so I'm not spreading incorrect information, rather than being silently downvoted.
Though if it all works great for you then no reason to mess with it, but if you want to tinker you can absolutely run larger models at smaller quant sizes, q6_k is basically indistinguishable from fp16 so there's no real downside.
Open source, fast and good: openrouter with opensource models (Qwen, Llama,etc...) It's not local but these is no vendor lockin, you can switch to another provider or invest in a gpu.
But I am just venting. All of yall have clearly won, I get it. I am just grateful I have lived a full life doing other things other than computers, so this all isn't too sad other than the prospect of being poor again.
I will always have my beautiful emacs and I will always be hacking. I will always have my Stallman, my Knuth, my Andy Wingo, my SICP. I feel it is accomplishment enough to have progressed in this career as I have, especially as a self taught developer. But I kinda want to let yall deal with slop now, you really seem to like it!
Maybe I'll get another degree now, or just make some silly music and video games again. It's liberating just thinking about being free from this "new way" we work now.
Thanks for all the fish though!
Now, everything feels automated, fast, and often a bit too dumb. Sure, it’s easier, but it’s lost that raw connection to the work. We’ve abstracted away so much that it’s hard to feel like we’re truly engineering something anymore — it’s more like patching together random components and hoping it holds. I think we lost something when we all started staring at screens all day and disconnected from the hands-on nature of building. There's a lot of slop now, and while some people thrive on that, it’s not for everyone.
- Buy GitHub and devalue all individual projects by soft-forcing most big projects to go there and lose their branding.
- Gamify and make "development" addictive.
- Use social cliques who hype up each other's useless code and PRs and ban critics.
- Make kLOC and plagiarism great again!
This all happened before "AI". "AI" is the last logical step that will finally destroy open source, as planned by Microsoft.
- Have you ever read a PR and thought "this code is useless" and the result was you deciding that "kLOC is great"? Any way I put those things (Microsoft, kLOC, AI, Github, social cliques,...) together I don't get anything sensible; Microsoft spent 7.5Bn on Github to make kLOC great to help them destroy open source? It's a crackpot word salad, not a reasoned position. At least, if it's a reasoned position they should post the reasoning.
- Github has 200,000,000+ public repositories and makes $1Bn/year revenue. How will putting AI into Github 'finally' destroy open source and why does Microsoft want to screw up a revenue stream roughly the size of Squarespace's, bigger than DigitalOcean's or Netgear's, and getting on for as big as CloudFlare's?
That said, this conspiracy theory does line up with the corporate retraction from open source writ large that's happened over the last few years (i.e. HashiCorp moving to BUSL; Red Hat ending CentOS; VMware pulling back after Broadcom ate them; etc.)
The only way you can deal with the codebase is to fully embrace the AI. Whenever I want to make anything beyond a simple API change, I have to boot up Cursor and give it 5+ files for context and then write a short novel about what I want it to do. I sip some coffee while it chugs away and spits out some changes, which I then have to go and figure out how to test. I'm not fully convinced that the iteration time is any faster, and the codebase is a hot mess.
It also just feels very stifling and frustrating to me to have to write a ton of prose for something when I'm used to being able to write code to do it! I have to go home and work on other projects without AI just to scratch the itch of actually programming which is what I fell in love with all those years ago.
Humans themselves tend to write new code instead of using old code- a common problem- but with sensible code structures and CI, code will grow at a sustainable rate.
LLMs continuously barf a steam of new code, never deleting anything. Then you need to provide the barf as context, and the cycle surely must continue until it falls apart. How has this not happened yet?
AI will just write a new function every time. You can also ask it to write tests, but I think that AI-written test coverage of AI-written code is just asking for trouble. When it breaks, you'll probably just ask an AI to fix it.
Once the codebases become an unmanageable mess I think the pendulum will swing back, hard.
That should buy sometime for anyone not entering the industry right now.
It feels like most developers en masse have taken on some masochist pleasure at deskilling themselves while becoming a prompt engineer beholden to OpenAI/MS/Google.
The upside is that those who take time to learn and improve can write software that most devs have given up the hope of being able to write. Write the next Maigt or org-mode while everyone else is asking AI to generate tailwind HTML React forms!
It's a weird/delusional timeline, that's for sure.
I started programming because I enjoy understanding something deeply and building things with that understanding. I like to write code that works on the first try because that means my mental model is correct. If I end up writing a bug, I try to avoid using a debugger. Instead, I take a step back, analyze what the code is doing and where my model differs from reality and fix it, often while finding more issues in my original understanding.
There are programmers who take a different approach, they write code that take a naive approach and works 90% of the time, then move on. When a bug manifests (it was there from the start but unless it manifested itself, it didn't bother them), they make a naive fix and move on. Sometimes fixing the bug for real, sometimes causing new ones. Eventually the amount of bugs reaches an equilibrium and they ship it.
LLMs are the second approach on steroids. Since they have no understanding, only statistical correlations between tokens, they produce code of the second kind. I mean, they don't even run their code to check it works. And they sure as fuck don't ask the programmer additional questions. Let alone the user. But they do it extremely fast so it's good from a business perspective. Better to have a shitty product now and beat competition on advertising, then be second.
I used to like open source because it attracted people of the first kind and there was cooperation instead of competition. But lately every project seems to ask for donations and it increasingly attracts people of the second kind.
or
qwen2.5-coder:32b-instruct-q5_K_M (~23 GB)
or
gemma2:9b-instruct-q6_K (~7.5 GB)
and
https://github.com/bernardo-bruning/ollama-copilot
or alternatively:
https://github.com/ollama/ollama + https://github.com/olimorris/codecompanion.nvim