Hacker News new | past | comments | ask | show | jobs | submit login

Do you really have to create an account to even see the first exercise?

How times have changed at CodeCademy.




We 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.


IMHO, 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.


Securing 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.


Just curious - did you think of using an in-browser emulator?

E.g. http://bellard.org/jslinux/ ?


Could you use emscripten and just run bash in the browser?


You should look at ISLET. It's designed for this exact sort of thing.

https://github.com/jonschipp/islet


Seems like a good use-case for docker


At 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.


I think that's how tutorialspoint does it:

http://www.tutorialspoint.com/execute_bash_online.php


I 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"?


Makes sense; thanks for responding!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: