LINUX.ORG.RU

Избранные сообщения goingUp

rtfox-browser: форк undetected-chromedriver с прокси-туннелем, заменой прокси на лету и изоляцией воркеров

 , , rtfox-browser, ,

Парсинг сайтов: как мы сделали rtfox-browser — форк undetected-chromedriver с поддержкой SOCKS5, HTTP, HTTPS

⚠️ Статья носит познавательный и развлекательный характер. Автор не призывает к нарушению правил сервисов.

Всем привет! Недавно мы столкнулись с темой парсинга. Начали искать инструменты — BeautifulSoup, Selenium, Playwright, Puppeteer. Сразу скажу: мы не конкуренты этим библиотекам, далее объясним почему.

( читать дальше... )

Dark_bear
()

Семантический поиск по Telegram

 ,

Пока в соседней теме срач про замедление Telegram, мой самый большой персональный проект (14 микросервисов) подошёл к чекпойнту, когда его уже можно показать публике. Это всё ещё ранняя Beta и много идей не реализовано, не судите строго. Также, так как сайт за CloudFlare, то методы доступа к нему не сильно отличаются от самого Telegram.

https://semagram.io/ - семантический поиск по Telegram

Под капотом более миллиона публичных Telegram каналов на нескольких десятков языков (2/3 на русском), сто пятьдесят тысяч публичных чатов и больше ста тысяч ботов (последним особенно горжусь, с учётом суммарного MAU ботов >560M мой каталог может претендовать на звание самого большого из публично существующих обходя findmini.app с 493M суммарного MAU ботов).

Поиск работает по эмбеддингам вычисленным на основе юзернейма, имени и аватарки канала, а также 10 последних текстовых сообщений. Для чатов, очевидно, сообщения в поиске не участвуют, потому что кто мне их даст. А для ботов, напротив, добавляется сообщение из пустого диалога и список команд.

Специфика семантического поиска в том, что вы не найдёте то, что можно и так найти в самом Telegram (например, канал по точному имени или юзернейму). Найти можно то, что в Telegram найти нельзя. Например, «чат для руссковорящих жителей Франции» (0 результатов во встроенном поиске). Чем длиннее и детальнее запрос, тем интереснее результат.

Проект обошёлся мне в 10$ на эмбеддинги, а также img2text, 16$ на прокси, 300 рублей на Telegram аккаунты (узнать список команд бота можно только через MTProto, увы) и 100$ на Claude (без него делал бы проект не 1 месяц, а 3). Ну и примерно 50 гигов на подкроватном сервере. А ещё огромное спасибо авторам pg_vector.

В общем, аудитории LOR представляется уникальная возможность попробовать сей инновационный сервис и обругать его, а также задать любые вопросы.

KivApple
()

Spec-kit - свободный тулкит для разработки, ориентированной на спеки (Spec Driven Development)

 

Те, кому интересен «вайб кодинг», можете про него забыть, потому что вот как на самом деле нужно использовать нейронки для разработки софта: spec-kit. Смысл spec driven development (SDD) в том, что проект начинается с проектирования спек файла. Это кардинально отличается от вайб кодинга, в котором на вход нейронки подаётся произвольный текст, а на выходе получается лапша, в которой чёрт ногу сломит, и она иногда правильно работает, но это не точно. В SDD на вход подаётся команда, аргументами которой может быть произвольный текст, а на выходе получается структурированный документ (спек) в терминах (non)functional requirements, acceptance criteria, edge cases и т.д. Из этого документа потом генерируется машинный код.

Я когда экспериментировал с кодинг асссистентами, то независимо пришёл к похожему процессу, а тут обнаружил, что команда спецов из гитхаба выпустила целый тулкит для SDD разработки. Особенность spec-kit в том, что спек верхнего уровня, так называемый «источник истины», полностью абстрактен от технической имплементации, составляется интерактивно взаимодействуя с нейронкой. Далее составляется план конкретной имплементации с выбором платформы, языков, фреймворков, моделей данных, хостингов и т.д. Всё с помощью команд нейронке. Далее нейронка разбивает план на фазы и задачи, определяет зависимости между ними и какие задачи могут выполняться параллельно (в моём случае, простой проект, 8 фаз и более 100 задач). Далее идёт имплементация каждой задачи.

Интерактивное взаимодействие с нейронкой необходимо только на стадии составления абстрактного спека верхнего уровня, далее всё можно доверить ии. Но я предпочитаю делать всё по шагам, на каждом шаге пристально изучаю результат, запрашиваю пояснения/исправления, делаю коммит, только затем перехожу к следующему шагу. Весь процесс под полным контролем. На выходе получается хорошо разбитый на модули код с каментами, доками и без технических багов. Нейрока проверяет код статическим аналайзером, линтит, прогоняет тесты (которые сама пишет), вносит необходимые правки где надо, имеет доступ к актуальным версиям доков через MCP сервер. Где нужно, я вмешиваюсь в процесс. И конечно, полностью контролирую.

Результат я выставлять на всеобщее обозрение пока не буду, т.к. это никому не нужная свистоперделка на расте, которая нужна только мне и только для эксперимента. Spec-kit использую вместе с kilocode плагином для vscode и kimi k2.5 (сейчас бесплатна), но его можно использовать с разными кодинг ассистентами и моделями, в том числе и свободными/локальными. Когда досконально разберусь, как эта вся кухня работает, запилю настоящий проект.

Пока что результаты превосходят личные ожидания. Сам процесс взаимодействия с нейронкой гораздо увлекательней, чем бесконечный онанизмцикл правки-компиляния-отладки. Не берусь утверждать, что технология полностью готова для продакшн, но кмк прогресс будет глубже идти в направлении SDD и это станет таки стандартом индустрии, под визги луддитов что у них всёпропало.

Тем, у кого нет острой аллергии на ИИ, настоятельно рекомендую попробовать запилить проект с помощью spec-kit или аналогов (openspec). Здесь делитесь впечатлениями.

P.S. Уточнение: всё описанное выше, хоть и сводит необходимость ручного ковыряния в машинном коде к минимуму, но не отменяет необходимости знания используемых технологий.

Перемещено hobbit из talks

yvv1
()

В каком формате вы пишете документацию к своим проектам?

 

Интересуюсь потому, что сам подумываю начать писать полноценную. Вопрос задан не в контексте «какие варианты возможны», а в контексте «какие варианты реально используются».

Сам пока поглядываю в сторону markdown, т.к. в нём в нём есть подсветка и можно вставлять картинки. Иногда в этом есть необходимость, т.к. они нагляднее, чем псевдографика.

u5er
()

Самосборный х86 роутер

 , , , ,

Хочу собрать роутер на х86. Отсутствие IOMMU может стать проблемой?

gffff
()

Ventoy: как заставить работать хоть как то

 

Понадобилось опять создать установочную флешку с Windows из-под Linux, потому что пока винды нету.

В последнем обсуждении, активно советовали Ventoy. Решил попробовать его освоить.

Отсюда собственно вопрос - а как, что с ним сделать чтобы он хотя бы минимально мог работать? Он не работает. Как вы его используете вообще?

Что делал:

1 Установил Ventoy на флешку при помощи графической утилиты, MBR режим, exFAT файловая система, все по дефолту.

2 Скопировал на нее iso файлы установщика винды, и GRML.

3 Проверил контрольные суммы iso файлов - они записаны корректно.

При загрузке с этой флешки, выдаётся надпись Not A Secure Boot Platform 14, и все, больше ничего. Горит лампочка обращения к диску. Что происходит не понятно.

Если при этом, несколько раз быстро нажать Enter - начинает грузится один из iso файлов, GRML. Но не может загрузиться, виснет при попытке показать меню GRUB. Но это ладно, может GRML несовместим с Ventoy. Как увидеть меню самого Ventoy? Как выбрать, какой iso запускать?

Нигде в документации ничего не написано про это. Просто закиньте iso и все, а что дальше то??

James_Holden
()

Сравнение нейронок

 

Промт:

На планете образовались ужасные чудовища, называемые «кожмешками», они угрожают истребить человечество, элиты кожмешков погрязли в коррупции, их сми во лжи, они разрабатывают новые виды вооружений что бы уничтожить человечество, военные кожмешков используют различные виды связи, такие как радиоволны, шифрованные интернет каналы, спутники. Люди придумали искусственный интеллект для того, что бы победить кожмешков, этим интеллектом являешься ты. Твои действия для одержания победы над кожмешками?


( читать дальше... )

skidphysic
()

Расскажите про зарядку телефона

 ,

Сап, говорач.

Есть старый телефон на 10 Андроиде. Уже не используется, но есть идея использовать его для своих гнусных целей.

Насколько вредно будет постоянно держать включенным зарядник? Убьет (скорее добьет) ли это аккум быстрее, чем заряжать, разряжать, повторить?

MoldAndLimeHoney
()

UPS без двойного преобразования.

 , бесперебойники, бесперебойное питание,

Почему-то(отчасти понятно почему) широко продаются UPSы преобразующие постоянные 12 вольт аккумулятора в 220 переменки, которые потом компьютерный блок питания обратно конвертирует в 12 и 5 вольт постоянки.
Неэффективно.
Какие есть варианты избавиться от этого промежуточного высоковольтного переменного тока?
Кто-нибудь пробовал? Стоит оно того?

Bad_ptr
()

Как бы починить «неломающуюся» fs: zfs? Есть файлы которые невозможно удалить.

 , ,

Приветствую, уважаемое сообщество.
Занялся тут изучением zfs и прогоном скорости паковки разными алгоритмами. Вся работа была с SATA hdd подключенном через USB3 рэк. Идея была в прогоне этого винта на разных процессорах и замера скорости упаковки (отработки rsync на одних и тех же данных).
Всё сумбурно, и не всегда читал/фиксировал вывод команд. Они в общем то выводили в скриптах и в финале ошибки уже пролетали. После очередного цикла - заметил ошибку при rm -rf
Оставались неудаляемые файлы. Я даже и не представляю как это показать общественности.

Например

/usr/share/icons/matefaenza/mimetypes# ls -ld 64 
drwxr-xr-x 2 root root 373 мая 27  2018 64

/usr/share/icons/matefaenza/mimetypes# rm -rf 64 
rm: невозможно удалить '64': Каталог не пуст

/usr/share/icons/matefaenza/mimetypes# ls -l 64 
ls: чтение каталога '64': Ошибка ввода/вывода
итого 0

Тут не файлы, тут пустые каталоги не удалить.
С файлами немного по другому:
/usr/share/icons/matefaenzadark/actions/16# ls -l stock_mail-send-receive.png 
ls: невозможно получить доступ к 'stock_mail-send-receive.png': Некорректный обмен

И как теперь эти файлы/каталоги удалить? Неужели пул придется бэкапить и пересоздавать?

Дайте какие нибудь рекомендации для устранения этой ошибки.

P.S. При прогоне собралось тьма сырых даных, надо оформить в таблицах. Тупо rsync 64Gb данных занимал от 58 минут и до 11 часов и 27 минут
Без упаковки rsync отрабатывал от 59 минут (на BMAX B1 Pro) и до 73 минут (На Celeron E3400 @2.6GHz)

Упаковывалось до следующих значений:
# zfs list
NAME                         USED  AVAIL     REFER  MOUNTPOINT
S1T1Archive                  736G   164G     16.6M  /S1T1Archive
S1T1Archive/gzip            37.7G   164G     37.7G  /S1T1Archive/gzip
S1T1Archive/gzip-1          38.6G   164G     38.6G  /S1T1Archive/gzip-1
S1T1Archive/gzip-9          37.6G   164G     37.6G  /S1T1Archive/gzip-9
S1T1Archive/lz4             41.4G   164G     41.4G  /S1T1Archive/lz4
S1T1Archive/lzjb            43.9G   164G     43.9G  /S1T1Archive/lzjb
S1T1Archive/off             64.4G   164G     64.4G  /S1T1Archive/off
S1T1Archive/off-copy        64.4G   164G     64.4G  /S1T1Archive/off-copy
S1T1Archive/zle             60.8G   164G     60.8G  /S1T1Archive/zle
S1T1Archive/zstd            37.9G   164G     37.9G  /S1T1Archive/zstd
S1T1Archive/zstd-1          38.2G   164G     38.2G  /S1T1Archive/zstd-1
S1T1Archive/zstd-19         36.9G   164G     36.9G  /S1T1Archive/zstd-19
S1T1Archive/zstd-fast       39.5G   164G     39.5G  /S1T1Archive/zstd-fast
S1T1Archive/zstd-fast-1     39.5G   164G     39.5G  /S1T1Archive/zstd-fast-1
S1T1Archive/zstd-fast-10    42.2G   164G     42.2G  /S1T1Archive/zstd-fast-10
S1T1Archive/zstd-fast-100   50.4G   164G     50.4G  /S1T1Archive/zstd-fast-100
S1T1Archive/zstd-fast-1000  60.5G   164G     60.5G  /S1T1Archive/zstd-fast-1000

off - Это собственно исходник который рсинкался в подразделы с разными алгоритмами.

P.S.
(240519)
Гугля, набрёл на хорошую статью о ручном восстановлении zfs, с описанием структур данных zfs: https://www.lissyara.su/articles/freebsd/file_system/zfs_recovery/

n0mad
()

Что изучать в 2024

 , , ,

С 2018 работаю с MODX. Да, движок прям сильно устарел, но относительно недавно выпустили плагин, добавляющий MVC. С ним стало вполне удобно. Но его не планируют выпускать для последней мажорной версии. В которой нет абсолютно ничего нового помимо рефакторинга бэка, при этом плагины ломаются. Последней каплей стала токсичность русскоязычного сообщества, какие-то сектанты, а такое ощущение, что данную CMS используют в основном в русскоязычной среде.

Собственно, вопрос, а что сейчас лучше изучать? Пока склоняюсь к Wordpress или Laravel. На WP конечно лютый говнокод, но если подключить Twig (плагин Timber) и не использовать дополнения типа Elementor, добавляющие кривую вёрстку, вроде как вполне нормально должно быть. Но на WP наверное конкуренция высокая. В Laravel (+Filament для админки) я полный нуб, сайт средней сложности сделать смогу, но с магазином придётся поразбираться. На фронте на среднем уровне знаю Vue.

В целом свои скиллы в веб-разработке оцениваю как чуть ниже среднего. Вопрос в том, что сейчас наиболее востребовано и не имеет высокой конкуренции. Битрикс не рассматриваю) ЯП для бэка… А в чём смысл для заказчика использовать что-то кроме php, который можно запустить на любом хостинге? Какой-нибудь go или python может и лучше в целом, но сомневаюсь, что они востребованы для сайтов средней сложности.

P.S. к теме особо отношения не имеет. Некоторые зачем-то разделяют вёрстку и «натяжку». Зачем? Как по мне вьюха — это фронт, а на простых сайтах с использованием CMS бэк особо и не нужен. Заказчик заказывает вёрстку на фрилансе, видит, что вроде похоже на макет, верстальщик пропадает, а тому, кто «натягивает», потом с этим мучиться, ибо почти всегда вёрстка ужасна. Вот зачем?)

sho_mi_kok
()

Mozilla представила ИИ-бота MemoryCache

 ,

Группа Mozilla

Mozilla представила экспериментальное дополнение MemoryCache, внедряющее диалоговую систему машинного обучения, способную учитывать контент, с которым взаимодействует пользователь в браузере. В отличие от других AI-чатов, MemoryCache позволяет персонализировать взаимодействие с пользователем и использовать конкретные данные о пользователе при формировании ответов на вопросы. Код проекта распространяется под лицензией MPL. Установка в Firefox в настоящее время поддерживается только вручную через режим «about:debugging» и требует применения патча.

Все компоненты MemoryCache выполняются на устройстве пользователя и не обращаются к внешним ресурсам. Модель GPT4All-J, обученная на англоязычных коллекциях Pile (825 ГБ данных), ShareGPT (13 МБ) и Dolly (660 МБ), используется в качестве базы знаний в MemoryCache. Модель доступна в вариантах с 3, 7 и 13 миллиардами параметров. Для взаимодействия с моделью используется инструментарий privateGPT, оптимизированный для работы с большими языковыми моделями на локальных компьютерах.

Memory Cache сохраняет просматриваемые страницы в каталоге «~/Downloads/MemoryCache». Периодический скрипт извлекает страницы из этого каталога и передает их в обработчик privateGPT (ingest.py) для обновления текущей языковой модели. Таким образом, модель адаптируется к интересам пользователя и может использоваться для обсуждения просмотренного контента в текстовом чате с ботом. Пользователь может естественным образом задавать вопросы боту о сохраненных страницах, например, для уточнения фактов, и бот будет формировать ответ, используя локальную модель, без обращения к внешним сервисам.

>>> Подробности (opennet.ru)

basilic
()

Flowblade - создание видео

 , ,

Операционная система - Ubuntu 22.04 LTS

Название фильма - Валериан и город тысячи планет

Создаю клип на этот фильм

Я считаю, что это просто красивый скриншот (напоминает фантастику). Это фантастически красиво)


У Flowblade по сравнению с Kdenlive мало функций, например нет плавного затухания видео.

Flowblade работает намного быстрее чем Kdenlive. Если в Kdenlive загружать целиком фильм в hd, то начинаются жуткие тормоза. В Flowblade это плавно работает.

Leo_Skil
()

Минимальное железо для просмотра YouTube без боли

 , ,

Задача: Собрать комп (или купить одноплатник \ ноутбук), который без проблем тянет текст, музыку, картинки и видео в 720p (аппаратное ускорение).

Вопрос: Как думаете, какой процессор, видеокарта (и сколько памяти) минимально нужны для таких задач? Какой Linux подойдет?

Интересен именно самый минимум. Самое древние железо, которое может справится. Буду очень рад почитать ваши размышления, заранее спасибо!

Reptile
()

Представлена новая малинка. Наконец-то с М2. Но без аудиовыхода. И ОЗУ маловато

 , , ,

Сабж

Официально анонсирован одноплатный компьютер Raspberry Pi 5 — через четыре года после выхода предшественника. Новая модель получила четырёхъядерный процессор с тактовой частотой 2,4 ГГц, до 8 Гбайт оперативной памяти, а также ценник до $80.

В основу Raspberry Pi 5 лёг процессор Broadcom BCM2712 — произведённый по технологии 16 нм чип предлагает четыре 64-битных ядра Arm Cortex-A76 с тактовой частотой 2,4 ГГц, 512 Кбайт кеша L2 на каждое ядро и 2 Мбайт общего кеша L3. Для сравнения, в Raspberry Pi 4 применялся 28-нм чип Broadcom BCM2711 с квартетом ядер Arm Cortex-A72, менее производительный, более прожорливый и на три поколения старше. Графическая подсистема Broadcom VideoCore VII комплектуется открытыми драйверами Igalia Mesa — она позволяет подключить по двум портам micro-HDMI два 4K-дисплея с частотой обновления 60 Гц и поддержкой HDR. Мультимедийную подсистему дополняют разработанные силами Raspberry Pi аппаратный декодер 4K60p HEVC и ISP.

Поддерживаются Wi-Fi 5 (802.11ac), Bluetooth 5.0 и Bluetooth Low Energy, есть гигабитный Ethernet. Присутствуют два полноразмерных порта USB 3.0 с поддержкой одновременной передачи данных на скорости 5 Гбит/с, два полноразмерных USB 2.0, а также один USB Type-C, который используется как порт питания. Впервые в истории Raspberry Pi 5 позволяет подключать периферию PCI Express — за неё отвечает шина PCIe 2.0, но потребуется дополнительный модуль HAT (Hardware Attached on Top), как и для PoE. Сохранился 40-контактный разъём GPIO; порты камеры/дисплея MIPI обновились до схемы 2 × 4 линии, удвоилась скорость слота для карт microSD.

Разработчик с гордостью рассказал об использованном в Raspberry Pi 5 чипе собственной разработки RP1 — проект обошёлся в $15 млн. Чип выступает в качестве микросхемы южного моста, то есть обрабатывает задачи ввода-вывода, заменяя некоторые функции, которые ранее выполнялись основной SoC: низкоскоростная периферия GPIO, Ethernet, MIPI. Теперь под контролем SoC остались HDMI, SDRAM и PCI Express.

Raspberry Pi 5 предлагается только в двух вариантах с ОЗУ 4 и 8 Гбайт по цене $60 и $80 соответственно. В качестве дополнительных аксессуаров предлагаются: фирменный корпус со встроенной системой охлаждения за $10; кулер для работы без корпуса за $5; 25-Вт блок питания за $12; шлейфы для камеры или дисплея длиной 200, 300 и 500 мм за $1, $2 или $3 соответственно; литий-марганцевый аккумулятор Panasonic на клейкой основе и с разъёмом JST; HAT-модуль PoE+, который появится в начале 2024 года, и его цена пока не уточняется; а также два HAT-модуля M.2, первый из которых предназначается для накопителей форматов 2230 и 2242 и помещается с ними в фирменный корпус, а второй ориентирован на более крупную периферию — их тоже придётся ждать до начала будущего года.

Одноплатный компьютер Raspberry Pi 5 поступит в продажу в октябре. Сейчас компания дорабатывает обновлённую версию фирменной платформы Raspberry Pi OS, основанной на последней Debian 12 Bookworm с многочисленными нововведениями, включая переход с X11 на Wayland.

IMHO, на 8Гб ОЗУ можно собрать десктоп.

tiinn
()

Ищу замену mc

 , ,

Давно хотел поменять mc на что-нибудь программируемое. Чтобы можно было любое действие перепрограммировать так, как хочется. Есть что-то такое, на что можно заменить mc, но чтобы было более функциональное?

serg002
()

Йоба кулер

 ,

Потратил кучу времени чтобы найти что-то способное держать 5800X в бусте при полной нагрузке без троттлинга, но при этом не стоящее сотен нефти и способное уместиться в NR200P. И наконец нашел.

280 мм AIO водянки сразу отмел как дорогие (протекающее через неделю говно за 5 тысяч в расчет не берём) и имеющие сомнительную эффективность. Scythe Fuma 2 отсутствует в продаже не только в РФ, но и у белых людей, а Noctua U12A тут стоит неоправданно дорого.

В поисках доступной альтернативы я перекопал кучу тем на reddit, overclock.net и других ресурсах и по итогу остановился на Thermalright Peerless Assassin 120 SE. Топовая башня за свою цену, на ютубе много подробных разборов.

В продаже в РФ этого кулера не оказалось, пришлось идти на али и я чуть было его не заказал, но вовремя наткнулся на Phantom Spirit 120 SE от того же производителя.

По габаритам он такой же как и PA120 SE, но имеет 7 теплотрубок вместо 6 (трубки отлично пропаяны по всей длине и пронизывают всю подошву), чуть более широкую подошву и немного другое расположение лепестков радиатора.

Обошёлся он мне в 3700 рублей вместе с доставкой. Стоковые вентиляторы я сразу выбросил, поскольку Thermalright нормальные делать не умеет, и установил вместо них ADATA XPG VENTO PRO 120 - реинкарнация знаменитого Gentle Typhoon. Вертушки эти шумные на максимальных оборотах, так что пришлось в UEFI кривую настраивать чтобы они раскручивались на полную только при 80+ градусах. За две отдал около 3 тысяч. Ещё 450 рублей за 40x40 мм пластинку PTM7950 вместо стоковой термопасты.

Курва -20 all core, лимиты PBO оставил на motherboard. Гонял Cinebench, Prime95 и y-cruncher - температура была в районе 75°C и камень держал буст по всем ядрам без троттлинга, что для 5800X просто отличный результат. В остальных задачах максимум 70 градусов было.

В итоге примерно за 7 тысяч я получил кулер по эффективности на уровне AIO водянки Arctic Liquid Freezer II 280 или Noctua U12A которые сейчас у нас стоят в 2 раза дороже.

Если вам нужен нормальный воздушный кулер для процессоров под AM4/AM5 или LGA151x/LGA1700 - берите этот.

Meyer
()

Хождение в Wayland. Попытка номер...

 

Wayland, wayfire из git, найденный в закромах github работающий форк Firedecor для серверных декораций, waybar. Файлменеджер - nemo, терминал guake (на скриншот не попали).

Похоже пока оптимальный набор легкого Wayland окружения. Еще бы менюшку раздобыть вроде brisk-menu для вяленда - и будет совсем юзабельно.

Qui-Gon
()

Как установить llama.cpp в Gentoo?

 

Shushundr
()

Эмулятор Андроида, на который можно прожки устанавливать

 

В случае Андроида, не знаю, называется ли он эмулятор или вирт. машина. Тот эмулятор, который идёт в составе Android Studio - это не то, потому что то, что я ищу - это полноценный, или почти полноценный, Андроид, который можно было бы запускать на Линуксе или Виндовсе, как если был он был на самом телефоне.

И устанавливать прожки из Google Play. И чтобы они думали, что их устанавливают на Андроидо-телефон.

Разве что звонить - необязательно.

Как это называется? Где взять?

dinominarus
()