home tags events about rss login

Things happen.

sergeyb honked 12 Nov 2024 14:37 +0300

Для обхода защиты на Youtube от неофициальных проигрывателей в youtube-dl встроен небольшой интерпретатор Javascript [1][2]:

Since mid-2021, YouTube has included the query parameter n in the majority of file URLs. This parameter needs to be transformed using a JavaScript algorithm located in the file base.js, which is distributed with the web page. YouTube utilizes this parameter as a challenge to verify that the download originates from an “official” client. If the challenge is not resolved and n is not transformed correctly, YouTube will silently apply throttling to the video download.

The JavaScript algorithm is obfuscated and changes frequently, so it’s not practical to attempt reverse engineering to understand it. The solution is simply to download the JavaScript file, extract the algorithm code, and execute it by passing the n parameter to it. The following code accomplishes this.

1. https://github.com/ytdl-org/youtube-dl/blob/c5098961b04ce83f4615f2a846c84f803b072639/youtube_dl/jsinterp.py#L1
2. https://blog.0x7d0.dev/history/how-they-bypass-youtube-video-download-throttling/

sergeyb honked 11 Nov 2024 13:35 +0300

Давным-давно, лет 15 назад, для одного из своих пет-проектов мне надо было сделать установщик для Windows. Насколько помню, было несколько коммерческих программ, которые могли эти установщики сгенерировать. Платные программы мне были неинтересны, поэтому я взял бесплатный NSIS, который разработала компания Nullsoft для своего проигрывателя Winamp и распространяла его под свободной лицензией. Взял NSIS, разобрался с его скриптами и сделал то, что хотел. В то время в опенсорсе не было нормальных движков для распознавания текста. Был CuneiForm OCR и только-только открыли под свободной лицензией Tesseract OCR. Последний в то время активно причесывали и приводили в порядок кодовую базу. Я увидел, что исполняемые файлы для Tesseract публикуются в обычном ZIP-архиве и решил сделать простой скрипт для установки под Windows, тем более что я уже был знаком с NSIS. Сделал, релизы Tesseract начали публиковать с установщиком.

Сегодня вышла новая версия Tesseract OCR 5.5.0 [1] и в ней используется все тот же установщик, который изначально написал я [2].

1. https://github.com/tesseract-ocr/tesseract/releases/tag/5.5.0
2. https://github.com/tesseract-ocr/tesseract/blob/43b8d743fce4e83cbbe6198b6a917ab5c672a82b/nsis/tesseract.nsi#L1

sergeyb honked 08 Nov 2024 23:48 +0300

My first pass at this used the Codex API, but it ended up being way too expensive. One interesting thing was that when you started a shell session, like cpwrap sh, the first suggestion every time was cat /etc/passwd. I notice that when you use copilot in that situation, it doesn't say anything.

https://github.com/MarkMendell/cpwrap

#shitgpt

sergeyb bonked 07 Nov 2024 00:01 +0300
original: pervognsen@mastodon.social

I've been vaguely aware of MMTk since its original C++ incarnation from 20 years ago but I hadn't realized until a talk by @wingo that it has kept going and reinvented itself and offers (modular, pluggable) state-of-the-art garbage collectors nowadays. Especially weird that the reincarnation had slipped under my radar since it's in Rust. https://www.mmtk.io