Awesome software, but I don't trust the upstream org further than I must.
I figure e.g. emacs will always be there when that happens.
All I need is a Github Copilot clone and a good code search feature.
Oh and automatic reloads of open but unchanged buffers when switching between git branches.
Oh and the ssh remote extension.
Yep, vscode is more intuitive.
However emacs is mostly the kind of thing you dedicate a couple of months of discomfort and enjoy for the rest of your life. Quite literally.
Spending some money on the “mastering emacs” book (https://www.masteringemacs.org/) is worth imho.
Bonus point: little by little you start enjoying doing more stuff in emacs. It’s a meme, but it’s true.
MS made some very real and very usable innovations. Emacs hackers/maintainers would be wise to copy them, like I'm sure Microsoft copied things from emacs.
It's a bit like the UI aspect of the browser wars. Everyone wins when good things are cloned and then iteratively improved upon.
Generalizing it: Having smart people who really understand UX helps a lot with minimizing those months of pain before the payoff.
Sometimes i wonder if it’s worth giving those new emacs distributions a shot. I’m thinking about spacemacs or doom emacs.
They look cool but so far i’ve been okay with stock emacs.
I switched to Doom Emacs a couple of years ago. It's well-maintained with regular updates, fantastic language support, and lightning fast. The CLI tooling is also nice (i.e., you can run 'doom upgrade' to update everything, or 'doom doctor' if you encounter an issue).
It's the closest equivalent to VS Code in terms of working out of the box. Not to mention the advantages of Emacs with Vim keybindings. There is a learning curve, but the GitHub documentation is excellent.
Adding support for Ruby on Rails development, for example, is as simple as uncommenting '(ruby +rails +lsp)' line in the '~/.config/init.el' file, and then running 'doom sync'. There's a long list of supported languages and tooling [0].
[0] https://github.com/doomemacs/doomemacs/blob/master/static/in...
And "Mastering Emacs" is brilliant.
I had to make Emacs my go to editor in UNIX, because in those days there were hardly any alternatives, IDEs only started to be taken seriously on UNIX around 2000.
Even James Gosling, one of influencial people in the Emacs history says its time is now passed and he rather use Netbeans,
https://github.com/larsbrinkhoff/emacs-history/tree/sources/...
So the answer to DVRC's ("Adopter of orphaned technologies") question on June 3, 2023, is yes, finally!
HCIL Demo - HyperTIES Authoring with UniPress Emacs on NeWS
https://www.youtube.com/watch?v=hhmU2B79EDU
https://news.ycombinator.com/item?id=36166642
DonHopkins on June 2, 2023 | parent | context | favorite | on: Brave Browser introduces vertical tabs
UniPress Emacs for NeWS in 1988: Scriptable GUI, tabbed windows, pie menus, hypermedia authoring tool for HyperTIES browser.
Emacs served as an IDE with tabbed window and pie menus, for interactively editing, viewing, and navigating HyperTIES markup language documents, graphics, and interactive PostScript "applets".
HyperTIES browser and Gosling Emacs authoring tool with pie menus on the NeWS window system
https://en.wikipedia.org/wiki/Tab_(interface)#/media/File:Hy...
>HyperTIES is an early hypermedia browser developed under the direction of Dr. Ben Shneiderman at the University of Maryland Human Computer Interaction Lab. This screen snapshot shows the HyperTIES authoring tool (built with UniPress's Gosling Emacs text editor, written in MockLisp) and browser (built with the NeWS window system, written in PostScript, C and Forth). The tabbed windows and pie menu reusable components were developed by Don Hopkins, who also developed the NeWS Emacs (NeMACS) and HyperTIES user interfaces. (Sorry about the quality -- this is a scan of an old screen dump printed by a laser printer.)
Emacs provides the pie menus you see popped up in the illustration (Articulate, Edit, New (Storyboard, Link, Picture, Target), Define) that control the HyperTIES browser from the custom text editing mode of HyperTIES storyboards (like web pages), which the HyperTIES browser (in the background, which emacs controls in a sub-process) formats and displays. HyperTIES also uses pie menus for navigation and in interactive "applets" programmed in PostScript.
DVRC on June 3, 2023 [–]
Do any version of UniPress Emacs (that support the NeWS driver) or NeMacs survive?
https://news.ycombinator.com/item?id=31989423
I wrote the following description of how NeWS relates to modern web browsers and "AJAX" in the NeWS article on Wikipedia, and I also worked on TNT (The NeWS Toolkit) at Sun: https://en.wikipedia.org/wiki/NeWS
>NeWS was architecturally similar to what is now called AJAX, except that NeWS coherently:
>- used PostScript code instead of JavaScript for programming.
>- used PostScript graphics instead of DHTML and CSS for rendering.
>- used PostScript data instead of XML and JSON for data representation.
[...]
HyperTIES Emacs Authoring Tool MockLisp code (Yet Another HyperTIES Implementation, This Time In Emacs):
http://donhopkins.com/home/ties/yahtittie.ml
https://donhopkins.com/home/ties/
HyperTIES Discussions from Hacker News:
https://donhopkins.medium.com/hyperties-discussions-from-hac...
Who knows, maybe I'll have closed the circle in a year and gone back to Emacs full time, where I started off in the editor wars a quarter of a century ago.
I'm using https://github.com/copilot-emacs/copilot.el
> good code search feature.
project-find-regexp is a nice start.
> Oh and automatic reloads of open but unchanged buffers when switching between git branches.
(global-auto-revert-mode t)
> Oh and the ssh remote extension.
I haven't compared it to Tramp.
or you could just use copilot through copilot.el
> and a good code search feature.
Like through helm or ivy?
> Oh and automatic reloads of open but unchanged buffers when switching between git branches.
My emacs does that, and I don't think I did anything special to get it.
> Oh and the ssh remote extension.
like tramp?
VSCode was/is often touted as open source and Microsoft are using it to present themselves as community loving until MS sees an opportunity to extract some money/hinder the competition.
In comparison, Jetbrains is transparent with their offerings and what you get. There is in my opinion a clear difference in how they operate and how they are perceived.
https://devclass.com/2024/03/11/jetbrains-bows-to-user-press...
I'd still look at Jetbrains more favorably than most other tech companies. Clearly not perfect by any means. To be fair to them, they seemed to listen to the feedback and provided it as a separate plugin.
I actually worked a bunch on the language server logic in Zed trying to get a bunch of it to work on Windows. All I have to say about that is: ugh.
In short: Corporate politics and the Cursor team taking the path of least resistance.
Debugging isn't in yet, but is actively being worked on and planned for public release before 1.0: https://github.com/zed-industries/zed/issues/5065, there's an active channel in their Discord discussing the development of the feature.
"""
Zed's language support is built on two main technologies:
Tree-sitter: This handles syntax highlighting and structure-based features like the outline panel.
Language Server Protocol (LSP): This provides semantic features such as code completion and diagnostics.
These components work together to provide Zed's language capabilities."""
Note this is _not_ how VSC's C++ Intellisense works. The VSC C++ plugin uses proprietary features of MSVC, it doesn't use LSP.
Weird, ADS is dead and nobody spent any time on it, I wonder why.
Minor grievance, sure, but it it not an encouraging sign for their priorities.
It’s fast, the interface is distraction free and it already has support for all the languages I use regularly. Even Terraform support, which is notoriously hard to get right, is better than the current “best” in VSCode.
Thanks for the recommendation
The worst part is all the VSCode is still promoted to developers as open source, even though official extensions increasingly aren't, with bits and pieces gradually replaced with closed code. It's not that closed source is necessarily bad, but when F/OSS popularity is milked for marketing purposes while stuff like this happens, it just feels very wrong. If you want to be closed source for reasons, fine, but be honest and upfront about it.
IIRC Apple at least has always been fairly clear and consistent with what bits of its software are open and what bits aren't. To my knowledge they haven't been breaking off chunks of Darwin and closing them. (Although if I'm wrong do correct me.)
It supports most vscode extensions right out of the box.
Zed is almost a good solution but like most they are missing most of vscodes markdown editing features*. Also, right now there's no way to hide the sign in and ai buttons from the UI.
I also think it's a mixed opportunity not to allow for something like Lua or a Lisp to configure Zed in. It's very promising but I'm not willing to switch just yet.
I don't mean that in a mean way, but have you considered another editor that is more open?
> Cursor allegedly has been flouting Microsoft terms-of-service rules for some time now by setting up a reverse proxy to mask its network requests to the endpoints used by the Microsoft Visual Studio Marketplace. This allows Cursor users to install VS Code extensions from Microsoft's market. Other VS Code forks tend to point to Open VSX, an alternative extension marketplace.
From MS point of view it’s Cursor doing it to them.
The way copyright and other rights to your IP you claim to have work in practice, is you need to enforce those claims or loose the rights.
Generally only applies to trademarks, not copyrights. In most English speaking countries copyright is a proprietary right and you don't lose it if you don't actively enforce it. But there could be time limits to a plaintiff bringing a civil case to court (usually a couple years).
Would be happy to have counterexamples.
That isn't what people mean by "losing" the rights.
For example somewhere on the planet somebody is running a pirated copy of Windows 10. But it would be misleading to post a headline saying "Microsoft LOSES copyright over Windows 10!!!".
Oh the Disney corporation had to sue the village primary school because their play used a trademarked name for a folk tale everybody knows about... it's not that they are monsters who care only about money and power, they were forced to secure undisclosed damages and make children cry by some principle of law which definitely exists. Mmm sure.
The last time I pointed this out on HN somebody responded with LLM generated nonsense "citing" non-existent US legal cases which they argued somehow prove I'm wrong.
https://news.ycombinator.com/item?id=43509544
It's hard to know whether it's worse if "ranger_danger" did this on purpose and thought it's OK, or whether they didn't realise how the LLM works and thought this list was real.
As annoying as misinformed people and hallucinating LLMs are, it is a mistake to believe they are always the exact opposite of the truth.
I don't think I disagree with you generally, but it must be recognized that trademarks are different from copyrights in that there is a mechanism where if you don't assert your rights in the trademarks you could lose them.
And, like what the sibling comment said, I'm not going to engage with you on unnamed posts where unnamed people cited some LLM to argue against you...
That sounds exactly like you disagree, and not just with me but with reality.
When this discussion topic arises, the most common thing people leap to is genericization - it is possible that if basically everybody calls this thing a Doodad when you one day sue some company to stop them using your Doodad trademark to describe their product, the judge says that's just what everybody calls these thing so you lose. But: One: This happens when you're a tremendous success! Most businesses would kill to have a product as widely known as Xerox copiers or the Hoover vacuum cleaner. Two: You can't fix this with lawsuits anyway, the judges are looking at what everybody calls the product, and you're not going to sue everybody and even if you sue movie stars and TV hosts you won't change what everybody else calls it.
Next most common are people's half memories of the 20th century trademark restitutions from World War I and World War II Germany. German industrial firms as "punishment" for their role in these conflicts had their marks invalidated in some cases. So you might well find that some mark which is protected in say, Venezuela or Japan is just generic in the United States or say France, because they won the war. In a fuzzy memory this somehow becomes the Germans "failing" to protect their marks, just conveniently in the immediate aftermath of a war, hmm, I wonder why it's only German companies, why they "failed" to do this and only in countries they'd just lost a war against...
Finally Estoppel. Estoppel isn't special to trademarks, it's a general principle in civil law about you can't tell people they can do X and then sue them for doing it. If Disney allowed primary schools to do a Little Mermaid play that's blatantly just the script of the original cartoon movie, and then one day they pick on the play at Little Nowhere Infant School and decide to sue, the lawyers for the school (if it can afford them and doesn't just settle) would argue that's Estopped, there's a long standing understanding that it's OK for schools to do this. Estoppel has practical limits so it's not a real threat and is often over-inflated by IP lawyers. So e.g. if Little Nowhere is selling a stream of the play that's not what Disney agreed to allow, or maybe the Little Nowhere "Infant" school somehow has adult actors and a huge live audience which makes $$$ on ticket sales, again a judge can see this is not what Disney envisioned, so they're entitled to sue anyway.
Can we not argue whether I disagree with you please? :)
Thank you for that.
It would impact users if things escalate and gets more hostile between the two and starts impacting features (like regressions in extension availability)
Either you don't get caught and can move faster, or you get caught and the penalty is usually small and a long way down the line, by which time your company will have either folded or grown enough to pay without difficulty.
That is not the scenario here. Cursor is being hunted by an extremely motivated corporate competitor. Cursor has been leeching the gorilla's blood and the gorilla finally noticed. Microsoft doesn't (necessarily) need the law here. They have it if they need it, but they can kill Cursor without needing to sue them. The disastrous outcome isn't a penalty--it's a critical mass of users switching to Copilot because they can't use their Microsoft extensions in Cursor any more. Cutting off the extensions on the same day that their Cursor clone went live was effectively a declaration of war from Microsoft.
What will happen in this situation depends a lot on the "reputation" of Microsoft vs Anysphere (Cursor) and their "marketing":
If Anysphere's "marketing" wins, they mass of users will be very disgusted by Microsoft's moves that they will avoid it like the plague to touch basically any avoidable product of Microsoft (including in particular Github Copilot) again.
The risks around proxying to the marketplace are real but that doesnt seem to be an issue yet. It also continues lock-in to VSCode which benefits Microsoft so they might not care.
https://en.wikipedia.org/wiki/Microsoft_litigation#Antitrust
All cursor is doing is saying this blob of crap is compatible with their fork and letting you run it. This is akin to browsers supporting extensions from other browsers, and many other scenarios.
What Microsoft is doing is trying to prevent VSCode from becoming spontaneously obsolete because coding with Cursor a) removes you from VSCode and b) does it better.
I was using windows and wsl, and they were adding scripts to my profile directory (code.cmd) which then took precedence over vscode, from what I remember. Tracking that down required googling to discover other people who were having the same issue. If this is what I have to do when I first start using a product, it just leaves a bad impression. Additionally it seems that it will hijack the 'code' alias in WSL if you select this option or not, which is where I primarily use it. And then when cursor updates, it seems it will again attempt to overwrite this alias.
I'm not the only one who encounters this issue https://github.com/getcursor/cursor/issues/2654 https://github.com/getcursor/cursor/issues/2566 https://forum.cursor.com/t/do-not-hijack-code-shortcut/60671 https://namvu.net/2025/01/cursor-stole-your-code-command-her...
Maybe it works great for other people and they never encounter this issue. Maybe it seems like a petty thing. For me it seems it's implemented to attempt to 'force convert' some vscode users to use cursor all the time, and maybe that works and it's a success from a business perspective. But I won't use it again.
I don't know windows + wsl enough that I'm sure I would've been caught out by that and pissed off as well.
There are specific protections allowed when the goal is to maintain / break compatibility. If Microsoft locks competitors out, competitors are quite often permitted to pick the lock.
I can't comment on this situation since I don't know the details, but it's very likely this is fully legal.
See Oracle / Java API lawsuit, garage door opener suit, etc. To see where the lines sit.
There is a direct cost to Microsoft that these companies are pushing on them. Specifically around bandwidth.
Microsoft does not need to provide access for downloading plugins from their servers to anyone else.
The "C/C++" extension github repository is 4MB. Probably the download size for the extension itself is a fraction of that, but I won't bother measuring. It was downloaded 400 times over the last minute (there is a live counter on the extension page [0]).
[0] https://marketplace.visualstudio.com/items?itemName=ms-vscod...
That's a 25MB/s or 200Mb/s bandwidth, for one of the most popular extensions. Multiply by the top 10 extensions and you get the bandwidth of an average home optic fiber connection...
Pure speculation but I would see the more logical argument being Cursor is a for pay product, why should they have access to the marketplace?
Because MS didn’t write most of the extensions yet engineered things conveniently such that you have to use their service to get them. Other text editors somehow manage to not lock people into similar dilemmas. They’re not profiting from running the marketplace or providing VS Code for free, it’s about locking people into a product. Cursor should be allowed access because interoperability is a societal net-benefit.
> those costs
…are likely minescule. I run similar services at my day job, just at a much larger scale than a text editor app marketplace, and know the precise cost to run everything. I am often disturbed that people might actually think cost:revenue is tight enough that they should defend a behemoth about callously gating access to it.
I think it's more likely that they imagine themselves in Microsoft's shoes. After all, it's a very popular editor and the mechanism of vendor lock-in is clever - give away the editor under the noble banner of open source, while jealously gate access to the plugin ecosystem that makes the editor as useful as it is.
So no, I don't think they earnestly believe that the egress costs are anything more than pocket change. But it's almost certainly what they would argue if they were in Microsoft's position.
In the age of LLMs, community is worth its weight in platinum, cutting off Cursor just incentivizes them to develop some new better thing with better technology (cough Zed, Ghostty) to compete with VS Code which won’t benefit Microsoft because it’ll be separate. What’s the use in not just open sourcing the C extension? With more people moving off C anyway, might as well get the free community contributions
They can build a better product with their resources effectively extinguishing Cursor, who will then need to find a way to differentiate.
If Cursor was smart, they would have decoupled from the beginning as they had first mover advantage. They will now have to adapt while fending off competition from MSFT and the other players.
MSFT meanwhile, have discovered that this market is too profitable to be left untouched. They have probably been building their agent for a while and have now decided to launch while simultaneously blocking direct competition. They already have an ecosystem with users who have switching inertia. It's a brilliant yet ruthless move.
If Microsoft were not be very willing to bear this cost, they would never have built a marketplace into VS Code.
If MSFT weren't willing to bear the cost, they wouldn't use the "app store" concept (marketplace) for VS Code.
Since, because of the marketplace, MSFT (somewhat) "monopolized" the access to extensions, they should not block other applications (forks) that also attempt to access the marketplace.
Seems to me this is plainly the community wanting its cake and to eat it too.
If you're giving something away online for free, then you are giving it away for free. I'll never understand the cognitive dissonance of "conditionally free".
A more important question is where do we draw the line of abuse? If someone links to my website and that's okay with me, but someone else does and I don't like it, do I have the right to conditionally block access to them? And do they have the right to circumvent that to regain access that I freely give to others?
I don't think I understand. You don't understand how something can only sometimes be free? Like, free parking only on weekends? Free entry for young children? And free software depending on who you are and what you are going to do with it?
it's not a cognitive dissonance. Lots of places have conditionally free stuff - it's a form of price discrimination (coupons, special deals etc).
Microsoft is within their rights to make their servers conditionally free. What the community can respond with is to move to a different server, if such conditions are not within the bounds of the community's lines.
Which is completely reasonable, you may need a different analogy.
If bandwidth is so precious, why isn't Microsoft paying users for the bandwidth they use pushing ads to their PC? Why isn't it considered onerous for them to foist tens of gigabytes in updates every week? This is a direct cost to consumers that Microsoft is pushing on them. Do you think that's fair? Or do you want to admit that your entire premise and argument is nonsense corporate apologism?
I get Microsoft is a Megacorp, but I don't think too highly of all these ai startups either.
Also, if you do open source contributions, never ever agree to assign copyright to the project: doing so means the project owners can relicense the code base, even towards proprietary license.
Half of the initial mac os x kernel was ripped off freebsd, giving pretty much nothing back.
Afaik netapp is also basing their system on bsd.
Sony uses freebsd as the OS for their playstation.
And many more, giving essentially nothing back.
I’d be shocked if netapp hard forked bsd and doesn’t upstream fixes.
That is open source.
https://github.com/apple-oss-distributions/distribution-macO...
This attitude of "OMG you're being ripped off" any time a company incorporates code from a BSD/MIT/whatever licensed project baffles me.
I think project governance matters more than license, and the BSDs are great examples.
Having said that, I’ve soured on the GPL. V3 more-or-less bans companies from selling you hardware that runs free software, but lets Google, Meta, etc use the software to expand their cloud-based monopolies where surveillance capitalism and enshittification have won out.
AGPL or BSL seem much better if you want free as in freedom. BSD and Apache at least don’t force your software off of machines that end users control.
Yes, BSL is not open (TM) or free (TM) or whatever. It’s still better IMHO, since it at least has some path to revenue for the developers.
To me the former is tolerable, the latter is not.
I have no skin in the game, I’m just a guy in the internet back alley throwing down a couple bucks on a dice game.
If anyone remembers WCF/AppFabric/WWF and Silverlight, that was the last stack I rewrote someone out of the shit on.
A clean rewrite isnt possible for a variety of business reasons.
Due to experiences like that I refused to buy volume licenses from them, too. Sometime later I got an audit demand for which I had a reply ready.
"lol, no."
https://www.npifinancial.com/smartspend-bulletins/the-anatom...
And MS audit would check that what you reported was what you had. And could result in big increases in contract pricing.
Now that everything is cloud this and 365 that I don’t know how much it applies anymore - everything is dynamic and traceable.
Famously in the early 2000s it was a huge issue for “medium” businesses who had used enterprise-style licensing. Tiny and small businesses just bought normal computers and software and would often escape notice.
AFAIK it was mainly a scare tactic to pressure companies into compliance and mostly just involved scary looking letters from a Microsoft-hired law firm.
Business would have an "IT guy" who "saved money" - and they'd get a letter saying "let us audit you or we're taking you to court for copyright violations" and they'd scramble and agree to the audit.
Of course, the proper response was the legal version of "bite me" but since many of them were in violation, they acquiesced.
I never had it happen to anyone I was involved with or knew, but the stories were certainly flying around Slashdot (it was going to be the proximate trigger of the Year of Linux on the Desktop, don't you know).
Microsoft was double-dipping for a long time, selling volume licensing deals to companies that were often buying preinstalled Windows anyhow, just out of fear of non-compliance. Then once you have the volume deal, Microsoft products become easier to use and dominate the company's tech and reaching new deals with Microsoft becomes a nice-business-you-got-there-shame-if-something-happened-to-it kind of conversation.
Microsoft hasn't changed a bit, just smarter about tactics.
I had the fortune to be involved developing the LEGO Mindstorms EV3 programming software. Under the hood, it was a small web browser shell (using Mono on Mac and WPF on Windows) around a Silverlight Out-of-Browser app. Anything beyond the permissions of the Silverlight app (e.g. bluetooth/USB comms) was an RPC from Silverlight to the shell.
After completing the Mac/Windows app, LEGO wanted to deliver a similar experience on iPad. There was no Silverlight there, and it was clear there never would be. But we were able to leverage Xamarin stuff to reuse most of the same codebase, just with an iOS UI on top.
Too bad “every app is just a website” took over because of the cross-platform issues.
SharePoint Server Subscription Edition still uses those techs today.
I also present the CEO and board with other arguments, like moral ones about involvement in atrocities and tyranny, legal ones regarding things like data protection, market related ones such as the likelihood of a future showdown between the EU and US.
But the risk that MICROS~1 fucks us over directly is even easier for them to understand, because they have been using Windows and Office for decades and are quite queasy about 10 going EOL and what the next set of annoyances in document management will be that they'll have to suffer under. It's something they have immediate experience of and didn't like.
A year from now it's probable we'll only have a couple of Windows machines left, because some of our customers use software that doesn't run under Wine and tries to block execution under both debuggers and container environments.
As for stability, if you learned GUI Ubuntu twenty years ago you'll be right at home in contemporary Debian systems, while someone hopping from XP or Server 2000 into 10 or 11 would be quite confused for quite some time. Xenial (2016), Bionic (2018) and Fossa (2020) will likely get twenty years of security updates each, into the beginning of the 2030s.
I think something similar holds for the SoftMaker office suite. If you learned TextMaker twenty years ago I believe you'll be less annoyed by their 2024 release than if you learned Office 2003 and get dropped into the 365 style applications. Personally I'd use something else entirely, likely doing a roundtrip through LaTeX or straight PostScript under the hood, but it will be interesting to evaluate some MICROS~1 Office alternatives in my organisation and see what, if anything, sticks.
That famous "developers developers developers" video with Steve Ballmer was a prime example of that corporate ethos.
For most other giant companies in tech, either the primary business is selling a product (and killing competitors) or giving products away as loss leaders and making bank on advertisement
I did completely move away from GitHub (which is by now named "ShitHub" in some circles) the moment that Microsoft enforced 2FA on my account.
Yes, perhaps 2FA is a good idea for many scenarios, but if some company forces it upon me, I won't have any tolerance to be willing to be their customer/user anymore.
See [1] for a different perspective on this topic.
---
And yes, I agree with you that is a great idea for a next step to at least strongly reduce (or even cut) your dependence on NPM wherever possible.
---
[1] https://stackoverflow.com/questions/72512276/how-to-disable-...
Open source project hosted on GitHub, for the network effect.
Use Rust which also rely on GitHub for crates.io
> Use Rust which also rely on GitHub for crates.io
It is a very good idea to get rid of both as far and soon as possible. And, as I wrote at https://news.ycombinator.com/item?id=43793095 in some circles it already became very fashionable to call GitHub "ShitHub" and somewhat look down upon open-source projects that have their central repository on GitHub (i.e. are willing to enslave themselves to Microsoft for some stupid "network effect").
You’ve said this a few times, without stating which circles? I assume mostly among four-year-olds given the level of wit involved?
Although, given how lax they have been at removing Golang infected malware, it might just have legs.
I talk to a lot of people developing both open-source, and proprietary software. Some of those are on GitHub, others on SourceHut, others on Codeberg. I have never heard, not even once, a single person other than you use the word ShitHub.
Maybe it's used in some obscure circle you are in, but it's nowhere close to fashionable.
Hardly anything is given for free in this life, it has to be earned.
You need an OS, you need compiler, you need some libraries.
Unless you write all that by yourself you always build in somebodies kingdom.
Many of these "building castles in other people kingdoms" projects, tend to use free tier WebAPIs, forked projects, reversed engineered protocols, and then folks get entitled when the owners pull the carpet.
Unless the developers of the IDEs hit by this never actually read the ToS, of course, which would only make them less reliable as an IDE provider.
After all MS is completely okay with their AI darling reading ToS-protected stuff.
Minor annoyance to have to make my c make project generate buildchain files for a compiler I’m not using & copy that file into my project root to commit it- unrelated to the original question, but also annoying that I have to manually generate it every time I make significant codebase changes.
Yes, you're right about that.
Basically, it boils down to "use CMake with Ninja/Makefile" (even if you don't strictly have to, you could write a script that creates the json yourself, for example). When cross-compiling, you may also have to whitelist compiler paths.
Add -DCMAKE_EXPORT_COMPILE_COMMANDS=ON as command-line arg during the config step, or add the equivalent "set" call to your CMakeLists.txt, restart clangd (ctrl+p, restart clangd), and you're good to go.
There are minor annoyances when cross-compiling (it using clang -- some compile options are incompatible and need to be removed in global user config, and it not extracting default compiler defines from compilers) but they are very easily worked around
I more or less use this as config: https://gist.github.com/TuxSH/0220d1235dace77f82738c96718011...
"That's ancient history", they said.
"Lucy will hold the football this time for sure", they said.
I spent most of the past ~fifteen years working in Sublime and just switched between that and the terminal for build and test—not fancy, but then, C++ coding isn’t a speedrun. Sublime is clean, fast, and portable.
However, dev tooling has advanced so much now that I started learning and using neovim last year so I could take advantage of good syntax highlighting, LSP, and CoPilot. I don’t get enough daily reps to be good at core vi yet (I am a team manager so most of my time is spent asking questions of devs prefixed with “This is a really dumb question, but”) but despite all the techbros who’ve flocked to it I think neovim is pretty good technology and responsive. You can get the tooling features but control UI/UX; for me, I want as much code on the screen as possible, and I especially resent widgets that eat into vertical space. I started with one of the off-the-shelf all-in-one init.lua configs off github, but it was too complicated and I quickly broke things. What’s worked better is going through a video series on YouTube (https://www.youtube.com/watch?v=zHTeCSVAFNY&pp=0gcJCdgAo7VqN...) and building up the init.lua I want from scratch. As noted, I’m not great with it, especially the normal vim motions, but I’ve learned to get around, it’s fast, I can see my code without a million distracting widgets, and I get the benefit of clangd and CoPilot.
But to me the appeal of nvim is being able to fully remove everything I dislike.
I feel like I've been doing that for years on a wide range of topics, but every time it's like you're talking to cult members.
How do you break through to people? People say things like "you're overthinking it", "that's never going to happen", "I don't care because I like using VSCode and not alternatives".
Is it individualism? That they only consider their own narrow short-term interests, and have become blind to collective problems?
Where this has become increasingly problematic is rampant materialism and corporatism.
If the only real motivator in town, especially for the powerful, is material gain then there is nothing to constrain wanton greed. This becomes even more pronounced with corporations because their overtly stated purpose is not but greed, so even if the individual actors have some transcend moral compass they will be in conflict to their programmed imperative to "do their job".
Currently many of the powerful are materialistic and materialism can bring worldly power. Other political paradigms may come to the fore but as it takes a form and gravity it will likely come into some dialectic conflict with the prevailing materialistic status quo. That may be a peaceful resolution, but I'd not be certain of that.
Me, personally? No, because they're honest about it. I use BBEdit and Nova frequently on my Mac. Those are as closed source as it gets. They never pretend otherwise, though. You pay your money and you know what you're getting. VSCode tries really hard to appear to be open source, as long as you're willing to ignore the million places where they aren't. (Python devs: are you using PyLance? I'm talking to you.)
And ironically, those closed editors seem to play more nicely with the ecosystem as a whole. Neither BBEdit nor Nova have ever tried to talk me into installing closed plugins, and the same plugins that work with them work great in Emacs and Zed.
If I go to one bar that charged $5 per beer, and another that gives free beer but makes you rent single-use mugs for $5, even though the end price is identical, the rental bar's going to annoy me horrendously. Just admit what it is and let people judge on their own merits.
You just have to let go of things you have no real influence over.
And in the same sense regarding VSCode, and the VC fueled takeover of the open source ecosystem; the old guard warned against it, that's why they promoted GPL as critically necessary.
> Is it individualism? That they only consider their own narrow short-term interests, and have become blind to collective problems?
What collective problem, that someone might have to unexpectedly burn a weekend writing a new editor? That {emacs|vim} isn't popular enough? That people might have to go install openjdk in order to start using eclipse?
Ever since I got remote mode working, I haven’t noticed any missing functionality I care about. (I also haven’t tried installing extensions for the pile of commercial services work uses, and that I wouldn’t pay for anyway.)
Edit: Since cursor now has near infinite VC money, perhaps they should fund a few open source devs to work on those forks. Why should they get a free ride?
The opening of Proverbs has:
1:5. Let the wise hear and increase in learning[...]
Tech bubble remains tech bubble, when common, non-tech people are much more screwed, yet nothing is being done except saying "lol, just install Linux".
I remember when basic features that come for free in VS Code cost thousands of dollars per developer, back when "update" meant "buy the new version (again)". I swear, people forgot how good they have it.
The change that made the Microsoft addon incompatible with VS Code forks happened four years ago.
For people who care, to some degree, about using an open source tool, for whom the marketing that VS Code is open source played a role in their choice of using it, it should matter. And it matters that other projects (think Platform IO and more) choose VS Code as a platform to build on top of, and they get away with it because "it's open source".
Otherwise keep hoping that your corporate or VC funded SaaS "disruptor" master will continue to be nice to you
VSCode is MIT licensed. But the extensions aren't, which locks you into the Microsoft distribution of VSCode. And that's how they turned an open source product into a monopoly-enhancing tool.
From their github repo:
Visual Studio Code is a distribution of the
Code - OSS repository with Microsoft-specific
customizations released under a traditional
Microsoft product license.
"Visual Studio Code" is to "Code - OSS" what Google Chrome is to Chromium. Microsoft has just been successful at tricking people into thinking that Visual Studio Code is itself open source through misleading marketing on their website and things like naming the github repository for "microsoft/vscode".Also, very often, the feelings don't correspond to the reality or the aftermath of the decision-making at all. For example, X seems to be hugely upsetting, but life generally moves on, and people are not that touched actually, as much as they protest to the opposite. This happens pro and contra issues as well; for example, people might hate Windows' latest X bullshit, but they won't change their OS in the end, or, pro example, people might feel like that stand by local production, but they won't actually buy local, because it costs more.
What we are very blind to are problems that don't have immediate negative feedback. Comfort and security are huge motivators, especially when people have to let go of them. PR and propaganda (same thing really) uses this, among others, very effectively.
Microsoft still holds the crown when it comes to C# debugging, but for most proprietary MS extensions there are free, open source alternatives. They may not be as polished as the ones Microsoft actually pays people to maintain, but I don't see why Cursor would actually depend on any of the proprietary ones if you're not using it for C# dev (and even there competitors like Jetbrains have figured out a way to make it work).
Maybe against the store rules tho, dunno.
I don't think they'll survive very long as it seems that they don't actually have that many things that differentiate them. And there is a lot of competition.
The extension itself it MIT licensed (so could be hosted on the open VSIX store, if it wasn't down because the Eclipse project is suffering from server issues right now). In theory any fork can patch out the check and re-release the extension.
However, the extension packages some binaries that are proprietary, and have been since about four years ago. People could re-implement those and re-release an open version of the extension, but you can't just (legally) take the proprietary binaries and ship them if you don't have the license.
Open alternatives actually exist, but their quality and ease of configuration depends on your use case. In large projects the proprietary extension seems to be worse from what I've read.
The Microsoft C++ extension is not open source; not sure what people were expecting here.
It's another thing for its license to explicitly prohibit its use with any other IDE, even if it's API-compatible, even if it's literally exactly VSCode recompiled with another name.
And it's yet another thing to proactively insert checks for that.
But open source nevertheless contributes to the commons when done well.
Compare and contrast: Free software.
They seem to have this backward. Visual Studio Code is a derivative product of VS Codium.
> This is a repository of scripts to automatically build Microsoft's vscode repository into freely-licensed binaries with a community-driven default configuration.
It's licensed under MIT + VS Marketplace Terms: https://github.com/microsoft/vscode-cpptools?tab=License-1-o...
If you fork it and don't use VS Marketplace, it's only MIT. Or am I missing something?
(The license like that existed before cursor, it was basically the reason for vscodium)
(Source is https://marketplace.visualstudio.com/items?itemName=ms-vscod... the license link at the bottom)
The same problem with the c# extension, which has had an even bigger shitstorm since some parts of the extension need a ms account and depending on the company needs to be paid
It is like when the same folks act surprised, after Google does something to their Chrome and Android forks.
Don't want big tech sponsored products?
Pay open source developers, so that they can actually make a living of their work.
I also use PHPStorm for web dev work and we use MS DevOps at work and that extension is unstable, causes IDE errors for me and I will not use MS products just for this one irksome bug. I prefer PHPStorm for my work, because working with PHP in VS Code has never been a great experience for me. I just want my tools to work, I fight with code, I don't want to fight with my tools as well.
So jetbrains allows everyone to use their marketplace and their plugins outside their ides?
I can download the jetbrains php extension add it to my own shell and not pay for it?
You switched to CLion because MS does not allow forks of their editor to run MS-developed extensions?
If Microsoft are going to call VS Code “open source”, then the marketplace should not be selective on clients. If so, it’s not Open Source, it’s Sparkling Virtue Signalling!
Hell, Debian's repository now also include proprietary code (https://www.debian.org/vote/2022/vote_003) so binary BLOBs are perfectly capable of doing distro checks and refusing to run on forks.
I sure do wish my industry didn't need windows. I'd happily go to Linux and never look back.
As an added bonus, this setup is excellent for pair programming. Just use voice chat via signal or anything else and have the other person connect to the same tmux session over SSH.
That said, if you must use a GUI based development environment, I know of people happily using netbeans. I am not sure why anyone would use Microsoft’s tools for this.
For more "developer" focused professions I bet using tools tailored for their needs suits them better, I recently wrote some C# for some Windows software in Visual Studio in a Windows VM and the ootb experience is pretty good.
You're not the only one, but you're probably a small minority with your DE setup.
Really?
Vim is so powerful, most people only know how to edit 1 file at a time and how to exit vim... My typical dev environment has over 10k+ open buffers in 1 vim instance. you want to know what "just works" in this environment? vimgrep w/ ## to find anything across these open buffers AND built in Ctrl+P autocomplete... Get good with splits and tabs inside vim and you'll never be limited... it just works.
Microsoft knew they would never get significant market share unless they offered open source alternatives that let you circumvent the telemetry in the early days of VScode. Embrace. The acquisition of github was part of this strategy. They made an ecosystem that sucked a lot of plugin developer talent into their ecosystem. Extend. Now the market share is firmly in their grasp and competitors have become weaker. Extinguish.
AOSP used to be the complete Android system, more or less. And when you bought a Nexus device from Google, that's what you got. But they progressively abandoned the stock apps to replace them by their proprietary counterparts, or ones tied to their online services.
Then, they replaced their Nexus line of phones with the Pixel line. Pixels are full of proprietary technology, and their last move was to make Android development private.
The issue with VS Code is that it opened the door to many other editors, which, in a sense, drive people away from the Microsoft ecosystem. The combination of VSCode, GitHub, and TypeScript is ideal for MS: they win by attracting companies to GitHub services (which also offer code spaces based on VSCode); they also win by attracting users to Copilot, which helps them improve their tools. Creating an editor like VS Code is expensive; they are not paying the core developers because they prefer to give away money. They do it because it's part of their business strategy. You don't pay for VS Code; companies that subscribe to GitHub services do. A VS Code fork circumvents that strategy.
VS Code source is under MIT, but the built product is under an EULA - and all Microsoft extensions are under an EULA that requires the use of the EULA build.
As has been already posted multiple times here... https://ghuntley.com/fracture/
Sad to see it go in such a predictable direction.
> Embrace
Yay, MS loves open source!
> Extend
Wow, VS Code is so useful!
> Extinguish
shocked Pikachu meme
"The gist is that you should be learning by doing. It takes patience and dedication. Study and reuse other people’s code, but do not blindly copy-paste things: patterns of behaviour you do not understand will quickly accumulate, resulting in a potentially fragmented, frustrating experience.
The key is to not expect instant gratification. I know, this is how most of the world works these days. Thankfully, Emacs runs contrary to the zeitgeist: it caters to the user who cares deeply about the quality and functionality of their tools."
From my reading of the computer history books, it seems like there was a time when this sort of dedication to taking things slow and investing time into your tools and moving steadily towards mastery of all aspects of your craft were seen as de rigueur, part of the game.Moments like this, you want to imagine that some people will turn back to that. I guess when the next big thing comes along with the hype and marketing and "ease-of-use", we'll be off on the same cycle again, though.
3np•2mo ago