Live data from Hacker News

PythonMonk – Learn Python in the browser

pythonmonk.com

21–30 of 50 posts

Re: PythonMonk – Learn Python in the browser

#21
This is beautiful and the usability is great. But can anyone recommend some online interactive Python learning that starts at the intermediate level? I need Pai Mei to whip my sorry skills into shape, starting with OOP, sockets, image handling, and maybe data persistence?

Re: PythonMonk – Learn Python in the browser

#22
post #21

This is beautiful and the usability is great. But can anyone recommend some online interactive Python learning that starts at the intermediate level? I need Pai Mei to whip my sorry skills into shape, starting with OOP, sockets, image handling, and maybe data persistence?

We already support teaching most of these - if you know anyone that would like to create courseware around any of these topics please let us know.

Our courseware marketplace is still in a private alpha, but we are actively soliciting awesome hackers that would like to teach online.

Re: PythonMonk – Learn Python in the browser

#23

Interesting, however I feel like learning to code in a browser (even if it's JavaScript) doesn't work. Sure, you may learn how to do a for loop or how variables work. But, you don't learn how to actually use the language. Setting up a development environment, and understanding how everything is connected is much more important. Let's say you ace everything here, on CodeAcademy, etc. You still can't actually build any…

The next step would be an ipython notebook verses showing the student the debugger console with prepopulated state in Javascript.. In fact, later lessons as modules to interact with in a notebook would be kind of cool.

I really don't buy the "you have to own a car to drive one arguments" and the whole point of modern software engineering is to pull you away from the assumption of full system control and the ability to make problems go away with shell skills.

But, I would like more immediate source code management integration. That is the essential reality I always see lacking..

A non-programmer that understood git basics would be more helpful to me as a colleague than a competent programmer that doesn't.

Re: PythonMonk – Learn Python in the browser

#24
post #16

Looks like it sends each command to run on a server - I'm curious why not execute it in the browser? (There are a few solutions for that?)

I tried llvm based project https://github.com/kracekumar/test-empythoned(empythoned: https://github.com/replit/empythoned). There are few limitation I am facing, `import` system don't work(compilation issue). From my experience more effort is required.

Re: PythonMonk – Learn Python in the browser

#25
post #10
post #8

Earlier quoted context omitted.

Python 3, in 2013, is not lacking in pragmatism. It's not new, or experimental. Someone just learning today is going to have to immediately turn around and relearn things because they started out with an old version.

I don't know anyone who uses Python 3 in production. It's still seen as an experimental implementation.

In Arch linux python 3 is default, https://www.archlinux.org/news/python-is-now-python-3/

Re: PythonMonk – Learn Python in the browser

#26
post #10
post #8

Earlier quoted context omitted.

Python 3, in 2013, is not lacking in pragmatism. It's not new, or experimental. Someone just learning today is going to have to immediately turn around and relearn things because they started out with an old version.

I don't know anyone who uses Python 3 in production. It's still seen as an experimental implementation.

I dont' know Python but I'm thinking about learning it. What's experimental about Python 3? I don't have any legacy reasons to start with 2.7. Why wouldn't I just start with 3?

Re: PythonMonk – Learn Python in the browser

#27
post #20

The first thing I always try on sites like these is stuff like this: __import__('commands').getstatusoutput('ls /') or __import__('subprocess').call(["ls", "-l"]) which gets blocked by the interpreter somehow with exceptions.OSError - [Errno 11] Resource temporarily unavailable I'm curious as to how you managed to do this - I've always been interested in how to sandbox something like this.

This particular behaviour can occur because the process is disallowed to call fork() and can be done with setrlimit() (see RLIMIT_NPROC). There should be other protections, though, because forking a "ls" is not the only way to access the filesystem.

Re: PythonMonk – Learn Python in the browser

#28

Interesting, however I feel like learning to code in a browser (even if it's JavaScript) doesn't work. Sure, you may learn how to do a for loop or how variables work. But, you don't learn how to actually use the language. Setting up a development environment, and understanding how everything is connected is much more important. Let's say you ace everything here, on CodeAcademy, etc. You still can't actually build any…

this kind of thing is a good resource for people who already know how to code, but need a fast and elegant syntax guide. its not useful for teaching beginners because, as you've said, it doesn't deal with the tool chain or project organization, etc. but if you know Ruby and want to learn Python, this is a great resource.

Re: PythonMonk – Learn Python in the browser

#30
post #27
post #20

The first thing I always try on sites like these is stuff like this: __import__('commands').getstatusoutput('ls /') or __import__('subprocess').call(["ls", "-l"]) which gets blocked by the interpreter somehow with exceptions.OSError - [Errno 11] Resource temporarily unavailable I'm curious as to how you managed to do this - I've always been interested in how to sandbox something like this.

This particular behaviour can occur because the process is disallowed to call fork() and can be done with setrlimit() (see RLIMIT_NPROC). There should be other protections, though, because forking a "ls" is not the only way to access the filesystem.

Ah, interesting.

File system access isn't blocked completely:

__import__("os").listdir("/evaluate")

open("/evaluate/test.py").readlines()

Post reply on HN