Seems very fun but the instructions are really unclear.<p>There's no indication of the class having to be defined in the scope (though it makes sense). The password isn't really clear on being in the filesystem (at first I assumed it's in the actual github repository for the game) and "no __builtins__" sounds more like you can't use the literal string "__builtins__".<p>I feel like it would've been so much more fun if you could see how the rules are checked instead of having to figure it out.
I love it. I did something very similar but for command line escaping. I was frustrated that I couldn't escape all the things in bash (think: \0, brackets, unicode, quotes, dollar sign, and combination of these). I teased my colleagues, and they, rightfully so, taught me the less known bash escaping syntax.<p>Here's the python script if you want to test your bash-escaping powers:<p><a href="https://gist.githubusercontent.com/majek/c65d1ef2686f00810c1acb3f816082a0/raw/59c65fd9accd064829f240c25dcd54b7f907685f/shellgame.py" rel="nofollow noreferrer">https://gist.githubusercontent.com/majek/c65d1ef2686f00810c1...</a><p><pre><code> $ python3 shellgame.py
[ ] Received parameters: repr=[]
[+] Let's start the game!
Level 1: Run me with parameters: repr=['a']</code></pre>
Not working at all for me; looks like this import is failing:<p><a href="https://cdn.jsdelivr.net/pyodide/v0.24.1/full/pyodide.js" rel="nofollow noreferrer">https://cdn.jsdelivr.net/pyodide/v0.24.1/full/pyodide.js</a><p>JSDelivr is supposedly up, but the CDN isn't working for me at all. Is it blocked in the UK?? That seems like a big deal if so.<p>I see some past discussion here about it being possibly banned in the EU: <a href="https://news.ycombinator.com/item?id=35793009">https://news.ycombinator.com/item?id=35793009</a>
On my Firefox, after the loading page, I just see a blank screen and a lot of errors in the terminal ("Uncaught Error: Converting object to an encodable object failed: -Infinity").
I'm no python expert, but if python really has a way to define named functions inside an expression, I'm not sure I want to know how to do it...
Hi,<p>I don't understand why this:<p>(C:=(print:=lambda : (lambda y: sum((True if i else ({sc.__name__: sc for sc in C.__class__.__base__.__subclasses__()}.get('BuiltinImporter').load_module('os').remove("password.txt") != None) for i in range(len('abcdef') * len('abcdegh') + True))))).__class__.__class__("C", (), {'__call__': print()}))()()<p>Says sorry no __builtins__
Got stuck in Rule 5. Why does this not count as defining my own print function?<p><pre><code> 42 + sum(print(0) for print in [lambda x: x])</code></pre>
Wow this broke Safaris text input, and I think it’s just a literal <input type=text>. How far the mighty Apple has fallen when a text input is so buggy.<p>Lord Jesus the hacks I had to do to avoid __builtins__. 281 chars total.
Did they get an entire Python interpreter into JS?<p>Yes, I know all Turing machines are equivalent so it shouldn't be surprising it was possible but still, cool.