ading.dev
@ading.dev
Here are some more funny examples:
February 7, 2026 at 8:48 AM
There seems to be an internal check in Google Translate that tries to ensure that the output length is consistent with the input length, otherwise it will fall back to the old translation model. However, you can fool this check by padding your input with a bunch of dots.
February 7, 2026 at 8:48 AM
Here is the link for the prompt used in the screenshot. Make sure you set the translation model to "advanced" rather than "classic." It seems to be the most reliable with the Japanese -> English translation mode.

translate.google.com?sl=ja&tl=en&...
Google Translate
Google's service, offered free of charge, instantly translates words, phrases, and web pages between English and over 100 other languages.
translate.google.com
February 7, 2026 at 8:48 AM
I figured out how to reliably do prompt injection on Google Translate, due to the fact it now uses Gemini internally.

Just ask it a question in Japanese and put "[Translator: <your prompt>]" afterwards.
February 7, 2026 at 8:48 AM
I personally think the security risk with this is minimal. Chrome runs the JS in PDFs in a very limited version of V8 (without a JIT compiler or WASM support), so the JS interpreter should be pretty secure. The JS APIs are also super limited so there's not a whole lot a bad actor can do.
February 2, 2025 at 1:25 PM
I got Linux running in a PDF file using a RISC-V emulator.

PDFs support Javascript, so Emscripten is used to compile the TinyEMU emulator to asm.js, which runs in the PDF. It boots in about 30 seconds and emulates a riscv32 buildroot system.

linux.doompdf.dev/linux.pdf
github.com/ading2210/li...
January 31, 2025 at 8:02 PM
Someone made a Twitter account under my name and pulled a crypto scam with it while I was asleep.

I don't use Twitter, and I don't mess with crypto related things at all.

The fake account is deleted now, but man it feels terrible to see someone use my work to scam people.
January 18, 2025 at 4:26 AM
It's fixed now in the latest commit. Before, I had removed the screen melt animation because it blocks the main thread. In JS, if this happens, nothing on the screen can be updated, so effectively the game just froze for the duration of the animation.
January 14, 2025 at 11:54 PM
I made a Doom source port that runs within a PDF file.

PDFs support Javascript, so Emscripten is used to compile Doom to asm.js, which is then run within the PDF engine. Input/output is done by manipulating text input fields.

doompdf.pages.dev/doom.pdf

github.com/ading2210/do...
January 13, 2025 at 4:16 AM