Time to rethink that VSCode install

The fact that there are none known currently doesn't mean they can't or won't exist. [1]
Yeah, prove a negative and all that, but to be clear, you have no actual specific examples of malicious extensions for either Vim or Emacs? They remain purely hypothetical?

In contrast to emacs, packages in vscode are signed, have been scanned for viruses and are always downloaded over secure connections.
Yeah, and the authors not only created a new malicious extension and got it past all the signing and verifying with little effort, they also
...conducted further research into the VSCode marketplace ecosystem and discovered a number of concerning practices and potentially dangerous extensions, including 1,283 with known malicious dependencies that had a collective 229 million installations.

Additionally, they found 8,161 extensions that communicate with a hardcoded IP address, 1,452 that run unknown executable binary or DLL on the host machine, 145 flagged as malicious with high confidence by VirusTotal, and 87 that attempt to read the /etc/passwd database on the host machine.

You really should read TFA. It's full of interesting facts.
 
Honestly, you are truely the minority there! Most people have not even heard of Atom.
What brought you to Atom originally out of interest? I can't imagine the i.e Java support to be fantastic.
Co-workers were singing its praises. This is around 2012 when the Github hype was peaking (remember "social coding"?) I found it slightly less annoying than Sublime, which was the editor I was trying to avoid at the time.

I use Eclipse for all things Java, but it's simply too awkward for just about everything else. Yes, I've tried to use it for a wide range of things including C programming and Web page development. I always wind up looking around for just an editor.

I imagine you have a backup editor for every time the VSCode package breaks?
I guess, so long as you don't load up your VSCode with random plugins, you will still be fine.
I've tried a few. Last attempt was Geany. I couldn't customize it to look the way I like, and was really hoping for something with support for language servers.

I avoid things like Kate, 'cause they usually want me swallow the whole desktop environment experience. Been there, done that, have the T-shirt. Not interested.

Some graphical version of Emacs is my editor of last resort. Aquamacs on Mac, whatever installs by default from packages in Freebsd. I tried to become an Emacs geek back in the '90s, and still remember most of the basic key combinations (or "chords" as Emacs heads call them :rolleyes: .) It wound up being too much work so I gave up on it.
 
I tried becoming an emacs geek a couple of times too.. not very hard, but I did try. But I always went back to vi / vim. Does what I need, doesn't get in the way so much, and its always available. Probably working in a development environment where the targets were a lot of headless servers and embedded systems had something to do with it.

Yeah, I guess eclipse is quite well optimised for java, I liked the compile-as-you-type feature. Trying to do C and perl development with it gave me a headache though! I still have nightmares about 'artefacts'.... Unfortunately our bunch decided we were going to be agile, built a load of eclipse tooling that integrated with the agile process (to write stuff like the 'stories' as well as the specs and code), and also to integrate with the library and build system; so you were pretty much forced to use it to get your tracks integrated. Bah. Embrace and extend...
 
  • Like
Reactions: mer
Which reminds me of 'eclim'. For any vi users suffering from eclipse-fatigue, this is a project that lets you run a headless eclipse instance and gives you a vim front end onto it: http://eclim.org/index.html . I used it years ago, just after they made their first release or two, it just about worked but at the end of the day it was easier for me to just bite the bullet and use eclipse. I haven't looked at it since but it looks like they were still working on it in 2022.
 
I tried becoming an emacs geek a couple of times too.. not very hard, but I did try. But I always went back to vi / vim
This is the root of it. One uses a tool for a while, you learn it, get used to it's nuances. Switching tools you need to overcome inertia, but sometimes even if you put in the effort, it doesn't work for you.
 
I was a huge fan of Atom back in the day. It's the only editor that worked out of the box pretty much the way I wanted it to. I think I configured the font size and that was it. The one day they said it was no longer supported... I used it for about a year before one day my Mac said it couldn't open it. That was the end of that.

I use Emacs on my FreeBSD machine. I try not to get too custom with it... but you have to. There are still some things I haven't set up yet (e.g. tabs).

I use Zed on my Mac, it works pretty well. Not quite as out-of-the-box as Atom, and I haven't looked into how to configure it (config is via JSON rather than any preferences screen). But any time I open a new language, it prompts to install a plugin, and auto formats when I save, and I like that.
 
I was a huge fan of Atom back in the day. It's the only editor that worked out of the box pretty much the way I wanted it to. I think I configured the font size and that was it. The one day they said it was no longer supported... I used it for about a year before one day my Mac said it couldn't open it. That was the end of that.

I use Emacs on my FreeBSD machine. I try not to get too custom with it... but you have to. There are still some things I haven't set up yet (e.g. tabs).

I use Zed on my Mac, it works pretty well. Not quite as out-of-the-box as Atom, and I haven't looked into how to configure it (config is via JSON rather than any preferences screen). But any time I open a new language, it prompts to install a plugin, and auto formats when I save, and I like that.
My emacs tabs set up

Code:
;; ----------------------------------------------------------------------------------
;; TAB bar mode
;; ----------------------------------------------------------------------------------

(setq tab-bar-show 1)                     ;; hide bar if <= 1 tabs open
(setq tab-bar-close-button-show nil)      ;; hide close tab button
(setq tab-bar-new-button-show nil)        ;; hide new tab button
(setq tab-bar-new-tab-choice "*scratch*") ;; default tab scratch
(setq tab-bar-close-last-tab-choice 'tab-bar-mode-disable)
(setq tab-bar-close-tab-select 'recent)
(setq tab-bar-new-tab-to 'right)
(setq tab-bar-tab-hints nil)
(setq tab-bar-separator " ")

;; Customize the tab bar format to add the global mode line string
(setq tab-bar-format '(tab-bar-format-tabs tab-bar-separator tab-bar-format-align-right tab-bar-format-global))

;; menubar in tab bar
(add-to-list 'tab-bar-format #'tab-bar-format-menu-bar)

;; Turn on tab bar mode after startup
(tab-bar-mode 1)

;; tab bar menu bar button
(setq tab-bar-menu-bar-button "👿")
 
You can make a nice setup in vim using buffers, created on demand, and use the :bnext and :bprev commands to move backwards and forwards in the buffer ring. Then you can use gnu screen or tmux and have multiple vim sessions, either one in each tmux tab or if you use v/h splits you can create a custom layout on the screen of whatever you want. For example, in this screenshot (someone else's, not mine) the screen has been split into 3 panes, each with it's own vim session, and each one of those vim sessions can be editing 'n' buffers. You can customise it however you want. It's very powerful, and pretty easy to configure, it doesn't take long to learn how to do this kind of stuff. There are lots of video tutorials on yt telling you how to do it. Combine with ssh and you could be editing files on three different machines in this example, perhaps your local desktop, a build machine, and a test box. Then integrate with tags... and we haven't even started on the myriad of vim addons yet. Oh, and you can ask vim itself to split the screen into panes too.. in fact that might be what is actually happening in this screenshot, but you could do just the same with tmux or screen. Of course using screen/tmux gives you full session management too. it's hugely flexible. And you also have the shell, sed, awk, grep, perl, all the power of the unix environment if you want to do any automation of your codebase. I don't know any ide that can give you this kind of power and flexibility. Well, maybe vscode can, I might just be being a dinosaur again ;-) A friend started a new job recently with an embedded software firm writing code for microcontrollers, and he told me that even there the standard development environment is vscode on windows laptops; it seems to be becoming pretty standard now.

Anyway, you guys already know all this stuff :)

1718217479248.png
 
These are the same guys who stated the years before that Microsoft Visual Studio was best because it is fully integrated with the compiler without plugins. Only to jump to Microsoft's VSCode because "it supports plugins" and "is no longer integrated with a single vendors compiler". Bunch of clowns.
The problem with all these IDEs is they are a crutch that hides a lot of the details of what's really happening. You never learn properly how to drive the compiler from the command line, how to run all the other tools in the compiler toolchain, how the linkage editor works, the assembler, the makefiles, you only understand the debugger as it is presented to you inside the IDE, and the code completion features mean you don't need to learn things like function signatures, it provides you with a list of parameters to fill in, so you don't make the mental effort to remember. So you might say, what's wrong with that, it helps me get my work done faster, the boss likes it (because they told him I could get it done faster and won't need training), and I don't need to learn so much stuff?

What's wrong with that is you become DEPENDENT on the tool, it limits both your learning and understanding, and when the tool isn't there, or not flexible enough to do what you need, or has bugs, the crutches are taken away and you then find you are struggling. Of course that suits the IDE vendors fine because it keeps you coming back for updates to their tool and giving them more money in the process. It's called user lock-in.
 
The problem with all these IDEs is they are a crutch that hides a lot of the details of what's really happening.

What's wrong with that is you become DEPENDENT on the tool, it limits both your learning and understanding, and when the tool isn't there, or not flexible enough to do what you need, or has bugs, the crutches are taken away and you then find you are struggling.
Exactly.
It's not that you can't teach the old dog new tricks, it's the old dog evaluates, says "why? give me a biscuit"
 
The problem with all these IDEs is they are a crutch that hides a lot of the details of what's really happening.
One man's luxury is another man's necessity. For one generation, line oriented editors like ed were good enough. But most of us would now find ed very limiting. For the present generation of programmers who got used to IDEs, editors may be limiting. It is what it is. The next generation may even take for granted that most of the actual coding will be done by some AI.
 
One man's luxury is another man's necessity. For one generation, line oriented editors like ed were good enough. But most of us would now find ed very limiting. For the present generation of programmers who got used to IDEs, editors may be limiting. It is what it is. The next generation may even take for granted that most of the actual coding will be done by some AI.
This is technical relativism. “Use what works for you”, “Get the job done”, … and so forth. As if there were no objective standards — or culture — in programming.

If programming was all about “getting the job done”, there would be no elegance, no mathematics, no beauty. Just some corporate bullsh1t that is shoved down your throat, because it is currently the most convenient way of doing things. Sorry for the strawman.

The jump from ed to vi is not as big as the jump from vi to something like Eclipse or Visual Studio, etc. The former is a logical continuation in technical development, the latter is a commodified, pre-packaged way of thinking.
 
Right now, they are throwing billions of dollars at trying to get that to work...

Good to be skeptical but one should keep an open mind! I believe a lot of grunge work can be automated. I imagine it'd be a human using something like a Jupyter notebook to explore the more interesting, fuzzy, complicated stuff and then letting the AI finish the job by packaging it up to make an app or service. A "pure" AI may get lots of things wrong but can be a powerful tool in the hands of a competent human. At least that is my current hypothesis :cool:
 
As if there were no objective standards — or culture — in programming.
"Standards" change over time. For better or worse. As an example, in 1960s a woman could wear a miniskirt in Afghanistan but today.... And that would be seen as a worse change by some people and better by some other people. It is all indeed relative!
 
"Standards" change over time. For better or worse. As an example, in 1960s a woman could wear a miniskirt in Afghanistan but today.... And that would be seen as a worse change by some people and better by some other people. It is all indeed relative!
So, what do you think? No truth, no beauty? Just “opinions”?

You even say it yourself: Standards can change for the better or the worse. Who decides what's better or worse? If it's all just relative then my opinion counts as little as yours. So who does decide?

Is the trend towards fully-automated IDEs with automatic AI-powered code generation a good one in your opinion?
 
If programming was all about “getting the job done”, there would be no elegance, no mathematics, no beauty. Just some corporate bullsh1t that is shoved down your throat, because it is currently the most convenient way of doing things. Sorry for the strawman.
hmmm? like https://www.make.com 😏 Most of the stuff out there is in fact corporate bullshit like that.
"Standards" change over time. For better or worse. As an example, in 1960s a woman could wear a miniskirt in Afghanistan but today.... And that would be seen as a worse change by some people and better by some other people. It is all indeed relative!
I think that's just factually incorrect... Afghanistan was always a Muslim country with its own standards for dress code... Just read up about that on Wikipedia before making outlandish claims like that, please. Yeah, standards do change over time, but making outlandish claims is timeless - just look at Baron Munchausen... He's probably a nice example of how people react to outlandish claims, and how such reactions change over time. In 18th century, polite company just chuckled and treated Munchausen's stories as mere entertainment. Today, reaction to such outlandish stories would bring very different reactions - from swallowing the story hook, line and sinker without verification to labeling the author a compulsive liar...
 
So, what do you think? No truth, no beauty? Just “opinions”?
Just that there is no *one* yardstick to measure such things. Mainly, to be aware that other people may have a different PoV or yardstick or whatever and that they are not "wrong"; they are just different.
"Truth" is more interesting. Sanskrit for truth is "Satya" -- it is derived from the root word "sat" (pronounced more like sut) and one of its several meanings is reality, which kind of makes sense. But our perception of reality is itself incomplete and quite possible faulty (and then there is Quantum Mechanics that really blows our mind about reality!).
You even say it yourself: Standards can change for the better or the worse. Who decides what's better or worse? If it's all just relative then my opinion counts as little as yours. So who does decide?
There is no single who! A "standard", usually a list of dos, don'ts and other tests for set membership, is what a particular community agrees upon and over time modifies. It very much depends on their culture, background, assumptions, prior experience etc.
Is the trend towards fully-automated IDEs with automatic AI-powered code generation a good one in your opinion?
I don't use them. I may have opinions on them but people who will use such things don't care about my opinions! And that is fine with me.

My point was that one should be open to the ideas that a) other people may hold different convictions b) our own convictions may be faulty or may change in presence of other evidence, and c) it is better to understand these other convictions than deride them -- may be we can learn something. That doesn't mean one should not have convictions or opinions. But one should not get bent out of shape when the reality turns out to be different from what we want/perceived it to be!
 
Afghanistan was always a Muslim country with its own standards for dress code... Just read up about that on Wikipedia before making outlandish claims like that, please.
And once upon a time, Kabul was known for their wine and movie industry. Not any more.
 
I believe a lot of grunge work can be automated.
One man's "grunge work" is another mans "interesting stuff!" :) . As for me, I always liked understanding how things worked under the hood. I can still remember my Mum telling me "now put it back together!" after I'd dismantled the old radio when I was about 7 😄. I don't like systems that try to hide things from me and make me dependent on them.
 
Back
Top