Прикол, в даркнете барыжат звездами на гитхабе не хуже чем лайками в инсте. Челы пишут, что палево заметно: лайкающие аккаунты недавние и с пустыми профилями: https://dagster.io/blog/fake-stars
dagster.io
Detecting Fake GitHub Stars with Dagster
Use Dagster, dbt, and BigQuery to analyze suspicious GitHub star activity and protect open-source credibility.
Классная библиотека, чтобы выкачать себе Яндекс.Картинки по запросу. Нужен файрфокс на компе, а еще автор полагает, что все сидят на винде и у него там geckodriver.exe, который на маке или убунте надо заменить на подходящий отсюда: https://github.com/mozilla/geckodriver/releases и поменять в коде ссылку на него
GitHub
Releases · mozilla/geckodriver
WebDriver Classic proxy for automating Firefox through Marionette - mozilla/geckodriver
Мужик классно разложил в ролике когда писать функции, а когда классы. Если фокус на действиях (обработка данных), то функции. Если фокус на состояниях (банковский счет, транзакции и остаток баланса), то классы, иначе задолбаешься сохранять кучу переменных: https://youtu.be/txRTzljmV0Q
YouTube
Functions vs Classes: When to Use Which and Why?
👷 Review code better and faster with my 3-Factor Framework: https://arjan.codes/diagnosis.
Functions vs. Classes?! Are you trying to decide which one to use in your code? In this video, I’ll explore how and when to use each of them, so you can make sure…
Functions vs. Classes?! Are you trying to decide which one to use in your code? In this video, I’ll explore how and when to use each of them, so you can make sure…
#заметка вычислительные задачи лучше параллелить на процессы (по разным ядрам процессора), потоки здесь не помогут ускориться, а i/o-задачи (запросы к API или базе) можно дробить на потоки в рамках одного ядра, будет выигрыш по времени.
Прикольная мысль, что запросы и ответы больших языковых моделей — это суть универсальный API, разные модельки смогут общаться между собой на естественном языке.
Интересная хрень, я люблю прогать и читать код, но терпеть не могу писать и читать нормативные документы, хотя это одно и то же, по сути.
Отличная статья от Додо про грамотные названия переменных. Особенно понравилось про нарезание предметной области на понятия и составление словарика: https://habr.com/ru/companies/dododev/articles/714512/
Хабр
Делай нейминг как сеньор
В чём разница между сочинением третьеклассника и статьёй в крупном таблоиде? Любой из нас сходу определит, что есть что. Даже если оба текста описывают одно и то же событие. А чем отличается код...
Хорошая шутка про то, что OpenAI перестало хватать вычислительных мощностей: product-market overfit
Оч быстрый и универсальный линтер/форматтер для питона: https://astral.sh/ruff
astral.sh
Ruff, an extremely fast Python linter | Astral
A high-performance Python linter and code formatter, written in Rust. Ruff can replace dozens of static analysis tools, all while executing 10-100x faster.
👍2
Случайно набрел на потрясную тулзу для мака.
У меня за годы накопилось много книжек в pdf, разобраться в том складе было уже нереально.
Этой штуке можно скормить папку, она за какое-то время просканирует pdf-ки и будет готова интеллектуально искать по ним (использует эмбеддинги, подозреваю). И pdf в виде картинок тоже распознала на ура.
У меня за годы накопилось много книжек в pdf, разобраться в том складе было уже нереально.
Этой штуке можно скормить папку, она за какое-то время просканирует pdf-ки и будет готова интеллектуально искать по ним (использует эмбеддинги, подозреваю). И pdf в виде картинок тоже распознала на ура.
👍1
Чувак на длинном рейсе написал прогу, позволяющую получить бесплатный доступ в интернет из самолета, используя уязвимость на сайте программы лояльности.
Она отправляет http-запросы через поле имени учетки пассажира, передавая их на наземный компьютер, который уже непосредственно работает с инетом и шлет ответы обратно по тому же каналу: https://robertheaton.com/pyskywifi/
Она отправляет http-запросы через поле имени учетки пассажира, передавая их на наземный компьютер, который уже непосредственно работает с инетом и шлет ответы обратно по тому же каналу: https://robertheaton.com/pyskywifi/
Robert Heaton
PySkyWiFi: completely free, unbelievably stupid wi-fi on long-haul flights | Robert Heaton
The plane reached 10,000ft. I took out my laptop, planning to peruse the internet and maybe do a little work if I got really desperate.
Прикольная стата от Яндекса про потребности юзеров нейросетей, кто что генерит: https://ya.ru/ai/stat
Нейростат — статистика знания и использования генеративных нейросетей
Данные Яндекса о знании и использовании текстовых и картиночных нейросетей в России
👍2
Конечные автоматы
Недавно разбирался с машиной состояний в библиотеке для тг-ботов aiogram (см. FSM) и ушел читать дальше про концепцию конечных автоматов. Математическое определение довольно занудное, но по сути — это способ разбить любой процесс на понятные шаги (состояния) с чёткими правилами переходов от одного к другому.
Например корзина на сайте: сначала она пуста, затем юзер добавляет товары, переходит к оформлению заказа, подтверждает оплату и корзина очищается. Всё это можно описать как последовательные состояния с переходами между ними — так проще управлять логикой приложения и избегать неопределенных ситуаций.
Потрогать руками эту штуку на питоне можно с библиотекой transitions. С ее помощью легко описать все нужные состояния, переходы, триггеры, провоцирующие переход и действия, которые при этом надо совершить.
У них шикарный совершенно quickstart на примере Бэтмена с его состояниями: ['спит', 'тусуется', 'голоден', 'вспотел', 'спасает мир']: https://github.com/pytransitions/transitions?tab=readme-ov-file#quickstart
Недавно разбирался с машиной состояний в библиотеке для тг-ботов aiogram (см. FSM) и ушел читать дальше про концепцию конечных автоматов. Математическое определение довольно занудное, но по сути — это способ разбить любой процесс на понятные шаги (состояния) с чёткими правилами переходов от одного к другому.
Например корзина на сайте: сначала она пуста, затем юзер добавляет товары, переходит к оформлению заказа, подтверждает оплату и корзина очищается. Всё это можно описать как последовательные состояния с переходами между ними — так проще управлять логикой приложения и избегать неопределенных ситуаций.
Потрогать руками эту штуку на питоне можно с библиотекой transitions. С ее помощью легко описать все нужные состояния, переходы, триггеры, провоцирующие переход и действия, которые при этом надо совершить.
У них шикарный совершенно quickstart на примере Бэтмена с его состояниями: ['спит', 'тусуется', 'голоден', 'вспотел', 'спасает мир']: https://github.com/pytransitions/transitions?tab=readme-ov-file#quickstart
👍6
Разобрался, наконец, с декораторами в питоне! Предыдущие подходы к снаряду заканчивались полным фиаско, спотыкался об эту идею: «Изменяет поведение функции, не меняя ее кода». В итоге попросил у чата gpt самый примитивный пример и все встало на места.
Декоратор просто конструирует некую новую функцию, внутри которой можно что-то сделать, потом вызвать исполнение нашей базовой функции и вдогонку выполнить что-то еще.
В результате, если декорировать функцию, то потом при ее вызове будет выполняться не она сама, а вся эта конструкция, описанная выше.
Декоратор просто конструирует некую новую функцию, внутри которой можно что-то сделать, потом вызвать исполнение нашей базовой функции и вдогонку выполнить что-то еще.
В результате, если декорировать функцию, то потом при ее вызове будет выполняться не она сама, а вся эта конструкция, описанная выше.
😁3👨💻3😱1
Нашел бесплатный аналог GPT-4 Vision у mistral.ai, модель называется Pixtral 12B, доступна по API.
На вход подаем картинку (через url или в base64) и промт, работать удобно через питонячью библиотеку mistralai, на сайте есть хорошие туториалы с анализом диаграмм, парсингом чеков и распознанием рукописи (интересно, рецепт врача осилит?)).
Вытаскивать инфу с изображения можно сразу в json через параметр:
И лучше в промте явно указать какие поля мы в этом джейсоне хотим увидеть.
Но самый кайф, что при регистрации на сайте мистраля проверочная смска отлично пришла на мой российский МТС. Пользуемся)
На вход подаем картинку (через url или в base64) и промт, работать удобно через питонячью библиотеку mistralai, на сайте есть хорошие туториалы с анализом диаграмм, парсингом чеков и распознанием рукописи (интересно, рецепт врача осилит?)).
Вытаскивать инфу с изображения можно сразу в json через параметр:
response_format = {
"type": "json_object"
}
И лучше в промте явно указать какие поля мы в этом джейсоне хотим увидеть.
Но самый кайф, что при регистрации на сайте мистраля проверочная смска отлично пришла на мой российский МТС. Пользуемся)
😁3
Наткнулся на либу slowapi для настройки рэйт лимита в приложении на FastAPI, подключается под декоратором с адресом пути:
Можно ставить сразу несколько лимитов, например 1/секунду и 60/минуту, чтобы в последний момент минуты не прилетело 60 запросов.
Заодно классное видео про рейт лимитеры как таковые и эту либу в частности.
@app.get("/home")
@limiter.limit("5/minute")
Можно ставить сразу несколько лимитов, например 1/секунду и 60/минуту, чтобы в последний момент минуты не прилетело 60 запросов.
Заодно классное видео про рейт лимитеры как таковые и эту либу в частности.
🔥3❤🔥2😍1