Hacker News new | ask | show | jobs
by songzme 2411 days ago
I teach underprivileged adults how to code. Most of them use old computers so I had them ssh into my server when they code so they don't have to install anything. When they learn about web development, whatever they built would be immediately available online under their subdomains that they could show off immediately to their friends and try on their phones.

The only drawback is that they had to learn and use vim to do their code editing. I tried to make their lives easier by setting every user with a default vim config, but the insert vs normal mode is a big hurdle for most students.

I'm glad visual studio code supports remote development, I'm hoping that means now my students can use it to ssh access my server and code there. Excited to try this out with new students.

9 comments

You know, there are modeless editors that are available through the terminal. There's Emacs, of course, which I recommend, but for beginners an editor like joe or nano, suitably configured, might do quite well.
Actually using vi/vim is a very useful skill to have. It is always available on a Unix system and works even across slow links.
Perhaps you can let them edit their files locally and instead of vim, teach them how to scp/rsync the files onto your server. Hopefully their computers are at least fast enough to run VS-Code.
Notepad++ (for Windows, there's similar things for other platforms) at least has ability to transparently deal with remote connections, maybe that would be good option here.
My mid end computer isn't fast enough to run VS code.
A raspberry pi can run VS Code so I'm a bit curious what you call a mid end computer.
mid end by which standards. my notebook is getting pretty low-end by today (i5-4200U) and it just runs fine...
Have you tried [Theia IDE](https://theia-ide.org/)? Remotely hosted VS Code?
If you have your projects on GitHub then you can use Gitpod (www.gitpod.io) It allows to define dev environment in code, and then spawn remote env in Google Cloud with access via the browser with VS Code like editor. Only GitHub authentication is required and it is free for open source projects up to 100 hours a month.

Disclaimer: I'm working on Gitpod.

Are their machines able to run VSCode?

I've had a really good experience with VSCode remote development tools (https://code.visualstudio.com/docs/remote/remote-overview). Both filesystem access and sharing local web servers works out of the box.

Happy to chat and see if we can figure sth out.

Glad to hear you are doing that. If I may ask, does the program/course has any online presence?
I'm trying to document everything we teach here: c0d3.com/book
Separate question: Is it possible to configure your terminal to forward to your local vim installation through SSH?
I don’t believe people who can’t learn vim can actually code something meaningful, but why not use any other editor like nano?
Do you think that figuring out vim is a good use for people who are probably time limited anyway and are trying to build useful skills? Using a vi clone is a lifestyle choice, not an employable skill. Frankly, so is nano or anything else that asks them to abandon the skills they may have developed for navigating their computing environment.
Computers are hard. Websites are complicated.

Learning vim is more of an obstacle than using Notepad++ and FileZilla would be.

As a beginner, you know only enough to pass by. You can do a lot with just passing by, so long as you don't bump into places you can't get yourself out of. "Just enough command line and vi to edit a file" is a bit magic, but plenty of the other stuff involved is going to be as opaque.

I think the skillset of "learn how to write websites in a short time" is going to involve some level of "here's this stuff I have to do in just the right way" anyway.

I think it depends on the situation. In my case, learning Vim was quite beneficial as I had to maintain servers along with backend development. For any frontend development, starting with a modern IDE will be any day faster than Vim.
being able to edit files on a remote server is not an employable skill? most unix servers will have vi or vim as lowest common denominator editor
Learning vim is 1% of skills at most. If these people can’t really afford to learn vim, how can they can learn I don’t know, React or Django.

(I think Vim is employable: being able to quickly edit a file in any Unix-like environment is very helpful. But that’s off topic.)

Anyway, if nano is not good enough there are hundreds of other decent editors available. My point is: “VS Code is good because vim is hard” is a very weak argument. VS Code is good, no doubt. But if it a teacher forces students to use Vim, and students have problems with Vim, then the problem is not in lack of VS Code.