here's my take, in 70 lines of code: https://github.com/kirjavascript/nanoagent/blob/master/nanoa...
HN user
kirjavascript
here's a JS one liner that handles scream and unscream in one function
transform=s=>[...s.toUpperCase()].map(s=>(l="BÁGẲLẬQǞVÀCĂHẴMẦRȦWẢDẮIǍNẨSǠXȂEẶJÂOẪTẠYĀFẰKẤPÄUȀZĄ")[l.indexOf(s)^1]||s).join``transform is forbidden but -webkit-transform seems to work :^)
It can and we have achieved Arbitrary Code Execution in NES Tetris.
The setup is horrifyingly complicated and precise though, involving getting some near-impossible scores and entering specific names in the highscore list, then reaching the crash on the same frame that the internal values for random number generation happen to represent a jump instruction to said highscore list (and we get lucky and various registers also happen to contain values we need).
Then from there, there is some bootstrapping before total control is achieved.
I used this to build a NES game in Rust https://github.com/kirjavascript/rust-nes-tmp
here's an image of the keymap: https://cube.garron.us/keyboard_layout/files/heise_simulator...
and an explanation of the notation: https://jperm.net/3x3/moves
another 2D visualisation of the rubiks cube that is popularly used for computer simulation speedsolving is qcube[1]
despite not being able to see all sides of the cube, it's surprisingly easy to solve on, as you essentially see the same stickers that you would in real life.
there is even an IRC based version!
I wrote a new page describing how to write quines recently[1], but the quine-relay is really above and beyond
sure they can, unrequested crypto miners running in the background are malware
Have been using puppeteer [1] at work as a replacement for wkhtmltopdf with great success.
it's actually possible to reduce duplication in this case with the <g> element, see this example;
vim has visual find and replace across a whole project