5 ms·
Do you really have to create an account to even see the first exercise? How times have changed at CodeCademy.
by teach 11y ago
Do you really have to create an account to even see the first exercise?
How times have changed at CodeCademy.
- artursapek 11y agoWe teach things like bash by assigning each user to a virtualized Linux server. That gets really expensive and hard to manage when you give one to every anonymous user who hits the site (especially when our courses pop up on sites like HN). With that said, I have been wanting to change the UI to be less intrusive, so you can better see what you're signing up for.
- moondev 11y agoSeems like a good use-case for docker
- talloaktrees 11y agoI think that's how tutorialspoint does it: http://www.tutorialspoint.com/execute_bash_online.php http://www.tutorialspoint.com/execute_bash_online.php
- OJFord 11y agoI assumed it _was_ docker? I don't know much about it, so I'm genuine when I ask what about "virtualized [sic ;)] Linux server" means "not Docker"?
- lewiseason 11y agoAt a previous job, we had a "technical task" which formed part of the interview process for junior sysadmins. It involved setting up a couple of servers, VPNing them together, and configuring appropriate routing so VPN clients could access a server on a remote network. We used LXC for this, but that or docker is probably a sane approach. You get some (not all) of the separation you do from VMs with all the scarce resource requirements of different users. If you consider the implications carefully, you can even give users root inside these containers in certain circumstances.
- teach 11y agoMakes sense; thanks for responding!
- ThatOtherPerson 11y agoCould you use emscripten and just run bash in the browser?
- sigjuice 11y agoIMHO, A Linux VM for every user sounds like overkill. A separate *NIX user account should be sufficient for teaching things like "Navigating the Filesystem", "Configuring the Environment" etc.
- alloyed 11y agoSecuring multiuser linux is not an easy thing. Even if you set process limits, restrict permissions, etc. you can still be very easily hit with a priv escalation bug in a utility you allow users to run or even in bash itself.
- LordIllidan 11y agoJust curious - did you think of using an in-browser emulator? E.g. http://bellard.org/jslinux/ http://bellard.org/jslinux/ ?
- somidscr21 11y agoYou should look at ISLET. It's designed for this exact sort of thing. https://github.com/jonschipp/islet https://github.com/jonschipp/islet