Обновить
462.55

Open source *

Открытое программное обеспечение

Сначала показывать
Порог рейтинга

Парсинг Сохранённых сообщений Телеграм в локальный каталог

Всем привет. Позвольте рассказать вам, как скачать содержимое Сохранённых сообщений Телеграм к себе на ПК.

Для начала, ознакомьтесь с предыдущей статьёй - Парсинг чатов Телеграм. В ней описан процесс установки и первичной настройки десктоп клиента. Кратко, что у вас должно быть настроено:
1. Путь к хранилищу (локальная БД SQLite).
2. Путь к файлу сессии (в нём сохраняется служебная текущая сессия подключения).
3. Регистрация приложения на сайте Телеграм.
4. Настройки подключения клиента (хранится в таблице приложений).

Страница настроек
Страница настроек

После успешного подключения к Телеграм, откроется доступ к меню Сохранённые сообщения. Заходим на третью вкладку Скачать, кликаем по кнопке Сбросить по-умолчанию, указываем локальный каталог на диске для скачивания файлов (например C:\OpenTgResearcher\SavedMessages). По необходимости, отредактируем первый ИД и количество потоков. Всё готово, кликаем по кнопке Запустить парсинг Телеграм. После чего можно идти пить кофе, пока ожидаем результат работы парсинга. Файлы будут скачаны в локальный каталог, а сообщения в соответствующую таблицу, их можно будет посмотреть на вкладке Содержимое.

Если вам нужна заказная разработка приложений либо вы в поисках разработчика моего уровня, сообщите пожалуйста мне в личку.

🧠 Стек технологий:
- Разработка ПО: Console, ASP.NET Core Web API, Blazor, WinForms, WPF, UWP, WinUI
- Хранение и передача информации: JSON, XML, SQLite
- БД и ORM: MS SQL Server / PostgreSQL / SQLite, EF Core
- Веб технологии: REST API / RESTful API, HTTP, TCP/IP, HttpClient, WebSocket
- Брокеры сообщений: RabbitMQ (готов быстро освоить Kafka)
- Контейнеризация: Docker / Compose (готов быстро освоить Kubernetes)
- Архитектура ПО: ООП, шаблоны проектирования (Design Patterns)
- Архитектурные подходы: TDD, DRY, KISS, SOLID, YAGNI, Clean Architecture, N-Tier Architecture
- Фронт: небольшой опыт разработки Angular

Теги:
Всего голосов 3: ↑2 и ↓1+1
Комментарии4

Joomla 6: Автоматические обновления ядра в Joomla.

В октябрьском номере официального журнала Joomla - Joomla Community Magazine вышла статья David Jardin, где рассказывается о внедрении функционала автоматического обновления ядра Joomla.

❓ Почему сейчас? Joomla же жила как-то 20 лет без автоматических обновлений?

Это оказалась самая востребованная за последнее время от пользователей Joomla функция. Но, основная причина внедрения - проблемы безопасности.

Всякий раз, когда в новой версии Joomla устраняется уязвимость, злоумышленники начинают анализировать код, чтобы выяснить, какая именно уязвимость была исправлена. И как только они это выясняют - начинается разработка автоматизированных скриптов для взлома как можно большего количества сайтов. Затем доступы к автоматически взломанным сайтам продаются в профильных чатах и ресурсах "пачками" по несколько сотен тысяч или миллионов сайтов. Ваш сайт могли взломать несколько лет назад, но воспользоваться уязвимостью могут не сразу, а тогда, когда у злоумышленников возникнет необходимость. И только после этого вы может быть узнаете об этом.

Анализ патча, понимание проблемы и разработка скрипта требуют времени. И если владелец сайта не обновит его до истечения этого срока, сайт может быть взломан. А хакеры действуют быстро! Для критических, легко эксплуатируемых уязвимостей речь идёт о временном окне в 10–12 часов — и этого времени явно недостаточно, чтобы все успели обновить свои сайты.

Здесь выходят на первый план автоматизированные обновления: проект Joomla теперь может активно устанавливать обновления (и, следовательно, исправления безопасности) на сайты, чтобы гарантировать, что сайты действительно обновляются вовремя.

От первых идей до реализации прошло 5 лет. И здесь можно вспомнить, как в Joomla 5.1 внедрили TUF - The Update Framework, позволяющий устанавливать защищённое соединение между сайтом и сервером обновлений и исключает возможность supply chain attack (атаки на цепочку поставок).

Об особенностях реализации и требованиях к сайту читаем подробнее в статье на JCM.

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Ресурс Clone Wars содержит более ста клонов самых полезных сервисов. Например, с помощью этой библиотеки можно разобраться в устройстве самых хайповых программ и попрактиковаться в коде. Есть буквально всё, в том числе и клоны сервисов, ушедших из России: Notion, Spotify, YouTube, TikTok, Discord, Dribble, Dropboх и прочее. Детальный разбор устройства каждого сервиса, кода, архитектуры и функционала, а также советы по его воссозданию. Можно стащить использовать многие решения в своих пет‑проектах.

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Cооснователь OpenAI Андрей Карпаты представил открытый проект nanochat для клонирования LLM типа ChatGPT. Внутри 8000 строк чистого кода на Python, никаких лишних зависимостей, вся база модели: токенизатор, предобучение, файнтюн, обучение с подкреплением и оценка модели. Для запуска понадобится GPU в облаке и готовый скрипт.

Теги:
Всего голосов 2: ↑2 и ↓0+3
Комментарии0

Забираем

20 инструментов кибербезопасности 2025 года для пентестинга, сканирования IP-сетей, анализа трафика:

  • Nmap — ультрабаза для анализа сетей

  • Wireshark — анализатор сетей Ethernet

  • Metasploit — самый популярный инструмент пентестинга

  • Burp Suite — сканим веб-приложения на уязвимости

  • SQLmap — находит уязвимости SQL-инъекций

  • John the Ripper/Hashcat — быстрый кряк паролей

  • Aircrack-ng — беспроводные сети и пароли

  • Nikto — быстрый сканер веб-сетей

  • Suricata — IDS / IPS защита

  • OpenVAS — мощная система оценки уязвимостей

  • Splunk — аналитик машинных данных

  • Maltego — полноценная киберразведка

  • Shodan — поисковик серверов

  • Kali Linux — операционка хакеров и пентестеров

  • Cobalt Strike — имитирует действия мошенников

  • BloodHound — размечает направления атак

  • BEB6 — пароли WiFi-сети

  • XSpider — сканер для любых систем

  • CrowdStrike Falcon — комплексная защита

  • CrackMapExec — проверка окружения Windows/Active Directory

Теги:
Всего голосов 6: ↑6 и ↓0+7
Комментарии5

Сегодня я на стриме в 21:00 разберу то как работают изменяемые смарт контракты, покажу разные реализации и стандарты которые все используют, почему текущим решениям нельзя доверять на мой взгляд и покажу свое решение.

P.S. Параллельно к стримам я буду публиковать текстовую версию, но она будет без срока, т.к. текстовая версия требует гораздо больше времени.

Теги:
Рейтинг0
Комментарии0

Обеспечиваем качество данных в компании. Подборка open-source-инструментов для Data Quality

Привет, Хабр! Я Алексей Чумагин, Data Quality Team Lead Островка. В компании мы работаем с десятками источников данных: авиакомпании, отели, агрегаторы, платёжные сервисы. При этом источники постоянно обновляются: добавляются партнёры, меняются API и форматы. В таких условиях Data Quality становится непрерывным процессом, встроенным в ежедневную работу, а вовсе не стереотипным «набором тестов, которые раз в сутки что-то проверяют». 

Качественные данные зависят от выстроенных процессов: автоматизации, прозрачности, быстрой реакции на инциденты. Мы смотрим на Data Quality как на живую экосистему, где тесты — лишь одна из составляющих. Исходя из этого строим в компании единую Data Quality Platform.

Архитектура нашей платформы организована вокруг следующих задач:

  • автоматизация создания и выполнения тестов;

  • их централизованное хранение;

  • визуализация результатов;

  • мгновенное оповещение команд об инцидентах.

Вся эта экосистема работает в едином ритме с основными data-процессами компании.

Ниже — подборка инструментов, из которых состоит наша платформа. Их легко внедрить и в других IT-компаниях: стек масштабируемый, гибкий и не требует больших затрат на лицензии.

Какие инструменты мы используем в Data Quality

1. Ядро и автоматизация

  • В качестве ядра системы мы выбрали Soda Core — движок, который позволяет формализовать правила качества: целостность, уникальность, диапазоны значений. Тесты описываются декларативно, что упрощает поддержку и масштабирование.

  • После того как тесты написаны, их запуск и оркестрацию мы доверяем Apache Airflow. Он автоматически запускает проверку после ETL-процессов, управляет зависимостями и расписанием, что критично для стабильной работы пайплайнов.

  • Чтобы не тратить время на рутинное написание DAG’ов для новых тестов, мы используем DAG Factoryгенератор DAG’ов, позволяющий держать код тестов и их запусков в едином месте, легко масштабировать количество проверок.

2. Интеграция и доступ

  • Важной частью платформы стала интеграция с другими системами. Для этого мы подняли сервисный слой на FastAPI: через API можно запускать тесты, получать результаты, интегрировать платформу с внешними инструментами.

  • Для визуализации выбрали Streamlit — он позволяет быстро собирать дашборды и интерактивные отчёты, которые особенно удобны инженерам для экспресс-проверок и разбора логов ошибок.

  • Но не все участники процесса хотят разбираться в технических деталях. Менеджеры и аналитики зачастую предпочитают DataHub — каталог метаданных, где хранятся все проверки, их результаты, а также информация о таблицах, lineage и пайплайнах. Это позволяет сделать качество данных частью общего ландшафта данных компании.

3. Оперативность и реакция

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

  • Вся DQP-платформа развернута в Kubernetes, — это обеспечивает масштабируемость, отказоустойчивость и централизованное управление компонентами.

И почётное упоминание ещё одной неизбежно важной технологии: для ручных ad-hoc-проверок мы, конечно же, используем старый добрый SQL. Без него ни одна оперативная сверка или исследование гипотез не обходится.

Итого: наш Data-Quality-стек — это комбинация проверенных open-source-инструментов, которые удобны на практике: легко автоматизируем тесты, быстро видим результаты, интегрируемся с чем угодно и не особо беспокоимся о лицензиях. Всё масштабируется, поддерживается инженерами, а не только админами и даёт нам уверенность в качестве данных, даже когда вокруг всё меняется.

А какие инструменты используете вы для контроля качества данных? Что бы вы добавили или изменили в нашем подходе? Будем рады обсудить в комментах!

***

ТГ-канал Ostrovok! Tech

Теги:
Всего голосов 15: ↑15 и ↓0+17
Комментарии6

Сегодня будет стрим в 21:00

Представление 2-х проектов:

  • 32 Ampere - Open Source протокол для зарядной инфраструктуры с запуском на EVM совместимой блокчейн инфраструктуре

  • EVMPack - Управление жизненным циклом блокчейн проекта, применение в проекте 32 Ampere

Теги:
Рейтинг0
Комментарии0

OutBoxML: как мы построили свою ML‑платформу от архитектуры до продакшена

Если вы хоть раз выводили ML‑модель в прод, то знаете этот сценарий.

Папки final_final_v2, десятки Python‑скриптов, неотслеженные версии данных, ручной деплой на сервер, и тревожное чувство, что «где‑то что‑то точно отвалится».

Со временем даже хорошо построенный ML‑процесс превращается в хаос — набор несовместимых пайплайнов и моделей, где каждый инженер решает задачу по‑своему.

Мы столкнулись с этим тоже. Но вместо того чтобы латать процессы по частям, мы решили построить собственную ML‑платформу OutBoxML — систему, которая централизует всё: от обучения и управления фичами до продакшн‑деплоя и мониторинга качества моделей.

OutBoxML — это не концепция на слайдах, а реальный проект, который мы внедрили в продакшн, чтобы стабилизировать и масштабировать ML во всём ИТ‑контуре Страхового Дома ВСК.

В серии из трёх статей на Хабре наши инженеры подробно разбирают, как мы прошли путь от архитектуры до продакшена, какие решения приняли — и какие ошибки помогли нам вырасти.

Решение: платформа OutBoxML

Мы не остановились на обёртках вокруг сторонних инструментов — мы создали OutBoxML: платформу, способную управлять жизненным циклом моделей от разработки до стабильного продакшена.

Мы шаг за шагом описываем во всех трёх статьях, как родилась архитектура, как устроен компонент работы с признаками и как устроена надёжность при выводе моделей.

Часть 1: Библиотека OutboxML от Страхового Дома ВСК

В первой статье мы показываем конструкцию ядра OutBoxML и обоснование архитектурных подходов.

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

Мы описываем принципы маршрутизации данных, версионирования и взаимодействия между сервисами, а также как обеспечиваем воспроизводимость экспериментов.

Часть 2: Автоматизированное машинное обучение с помощью нашего Open Source фреймворка: задача о Титанике

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

К тому же обсудили как мы автоматизировали обучение и инференс моделей с помощью OutBoxML и модульную архитектура и гибкие настройки процессов.

Часть 3: Data Drift в ML Страхового Дома ВСК: от PSI‑анализа до пересборки фичей и сравнения моделей

Машинное обучение в страховании — это не только про красивые метрики на этапе тестирования. Самая большая проблема приходит позже, когда модель выходит «в прод»: данные начинают меняться, и точность предсказаний падает. Это явление называется Data Drift. В статье мы делимся практическим опытом:

  • как диагностировать дрифт с помощью PSI‑метрики;

  • как использовать SHAP‑анализ для переосмысления модели;

  • чем отличается модель «с дрифтом» от модели «без дрифта» на реальных страховых данных.

Мы показываем не теорию, а эксперимент с открытым кодом и цифрами: какие признаки пришлось исключить, как изменилась логика модели и что это дало бизнесу на практике.

Совсем скоро выйдет заключительная статья нашего первого цикла open source проекта OutBoxML!

Присоединяйтесь к нашему проекту на GitHub и в Telegram. К тому же, библиотека опубликована в pypi и доступна к установке через pip install outboxml

Пишите в комментариях, о каких аспектах автоматизации ML вам хотелось бы узнать подробнее. Удачи в реализации ваших проектов!

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

В репозитории Awesome First Pull Request Opportunities больше сотни проектов, в которые новички могут делать пул-реквесты и получать обратную связь и даже советы по изучению программирования. Все проекты разделены по языкам и темам: C#, C++, Java, JS, фронтенд, бэкенд, информбезопасность, мобильная разработка под iOS и Android. Каждый найдет проект и стек. Проекты и репозитории ведут реальные разработчики и постоянно их поддерживают. Каждая команда всегда читает пул-реквесты, часто дает советы по разработке и обучению, обратную связь новичкам и даже шанс попасть на стажировку.

Теги:
Рейтинг0
Комментарии0

Репозиторий с тысячами приложений, которые можно захостить на своем сервере. Больше 50 категорий приложений, внутри которых сотни инструментов под различные задачи. Есть всё для аналитики, бронирования ресторанов и отелей, автоматизации рутины, чтения книг и журналов. Можно использовать файлообменники, парсеры, приложения для мониторинга и многое другое. Каждая программа работает только локально.

Теги:
Всего голосов 8: ↑7 и ↓1+9
Комментарии0

Cisco IOS/IOS XE CVE-2025-20352 — открытый SNMP ≠ «всё ок»

СКИПА фиксирует >30 000 устройств с SNMP v1/v2c в Рунете. Из них ≈1 700 выглядят потенциально уязвимыми к CVE-2025-20352.

Об уязвимости

CVE-2025-20352 — переполнение стека в подсистеме SNMP Cisco IOS/IOS XE. Нужны валидные SNMP-учётные данные:

  • при низких правах возможен DoS (перезагрузка);

  • на IOS XE при повышенных правах — RCE через специально сформированные SNMP-пакеты.

  • уязвимость 0-day, т.е. уже используется злоумышленниками.

Что это значит по данным СКИПА

  • Много устройств всё ещё отвечают по v1/v2c и/или на дефолтные сообщества public/private.

  • ≈1 700 — версии и платформы, требующие проверки в Cisco Software Checker; наличие фикса зависит от релизной ветки (train) и конкретной платформы.

Признаки в логах/метриках

  • Всплески SNMP auth failure, noSuchName, аномально частые запросы.

  • Падение sysUpTime, повторные перезагрузки, записи в crashinfo.

  • Нетипичные источники трафика UDP/161.

Рекомендации

  1. Ограничить SNMP по ACL/CoPP (только менеджмент-хосты).

  2. По возможности отключить v1/v2c, перейти на SNMPv3 (authPriv); сменить сообщества, если вынуждены оставить v1/2.

  3. Обновить IOS/IOS XE до исправленных билдов по результатам Cisco Software Checker.

  4. Мониторить sysDescr/sysUpTime и аномалии по UDP/161.

Быстрый самоаудит

Эксперты СайберОК опубликовали скрипт для экспресс-проверки.

О скрипте: быстрая и безопасная оценка экспозиции устройств Cisco IOS/IOS XE, связанная с CVE-2025-20352 (подсистема SNMP).

Сканируем подсети на SNMP через onesixtyone с дефолтными сообществами. Парсим баннеры sysDescr.0 Python-скриптом: помечаем Cisco IOS/IOS XE и проставляем статус Fixed (если в белом списке) или Potentially Vulnerable (проверить в Cisco Software Checker).

Проект не эксплуатирует уязвимость. Он лишь определяет устройства, отвечающие на дефолтные SNMP-сообщества, и извлекает версию из sysDescr.0.

Теги:
Всего голосов 7: ↑7 и ↓0+7
Комментарии2

Представлен инструментарий Stupid Meter для оценки в реальном времени работы крупных языковых моделей, включая OpenAI GPT-5, Anthropic Claude Opus 4 и Google Gemini 2.5 Pro. Система непрерывно запускает более 140 тестов, проверяя корректность, стабильность, эффективность и способность к восстановлению после ошибок. Результаты отображаются на виде таблице, показывающем текущее состояние моделей.

Также Stupid Meter анализирует затраты на выполнение задач. В расчёт берутся не только цены API, но и количество попыток, необходимых для получения правильного ответа. Таким образом, более дорогая модель может оказаться выгоднее «дешёвой», если справляется быстрее. Исходный код проекта на GitHub: AI Stupid Meter - API Server и AI Stupid Meter - Web Frontend.

Теги:
Рейтинг0
Комментарии0

Ближайшие события

Конкурс open source проектов, которые способны изменить мир 🌏🖥️

Зовем вас на «Код без границ» — грантовую программу для развития open source проектов, которую совместно с Cloud.ru и Хабром подготовили GitVerse. Поделитесь своими разработками на GitVerse, получите шанс выиграть 💸💸💸 и получить поддержку в масштабировании идеи.

Номинации конкурса:

  • AI-инновации.

  • Наука и образование без границ.

  • Для всех и каждого (приложения и сервисы).

  • Разработка для разработчиков — инструменты и библиотеки.

Как участвовать? Рассказываем:

  1. Разместите репозиторий вашего проекта на GitVerse или импортируйте его с другой git-площадки.

  2. Подайте заявку до 31 октября. В ней должна быть ссылка на уже размещенный конкурсный проект.

  3. Подождите, пока жюри — опытные спецы из СберТеха (GitVerse), Сбера, Cloud.ru и лидеры отрасли — посмотрят работы и выберут финалистов.

  4. Узнайте результаты в декабре.

Что по призам и плюшкам?

  • Гранты 150, 100 и 50 тысяч рублей — для первого, второго и третьего места.

  • Облачные ресурсы Cloud.ru для реализации ваших масштабных идей.

  • Помощь с масштабированием проекта, поддержка экспертов и нетворкинг.

Регистрируйтесь, принимайте участие и покажите силу открытого кода 💪

Теги:
Всего голосов 3: ↑3 и ↓0+4
Комментарии0

Парсинг чатов Телеграм

Всем привет. Позвольте показать вам как скачать содержимое чата Телеграм к себе на ПК, включая сообщения.

Нам понадобится скачать программу OpenTgResearcher. Исходные коды лежат на ГитХаб. Комьюнити лицензию можно получить бесплатно в автоматическом режиме через меню программы. Скачать можно стабильный релиз, либо самую новую превью версию в разделе релизов. Есть несколько вариантов установки: консольная версия (кроссплатформенная), докер версия (для продвинутых), десктоп версия (под Windows).

Установим десктоп версию. Для этого нам понадобится дистрибутив. В списке файлов релиза найдите OpenTgResearcherDesktop‑win‑x64-Setup.exe (64-разрядная архитектура ПО). Браузер может запросить разрешение на скачивание и сохранение файла, а также предупредить, что файлы редко скачиваются. После чего, Windows предупредит вас, что файл скачан из интернета и спросит разрешение на установку. Для проверки дистрибутива на вирусы можете воспользоваться онлайн сервисом проверки VirusTotal. По завершении установки ПО вы должны увидеть загрузочную страницу. Из которой вы можете попасть на главную страницу.

Главная страница
Главная страница

Поздравляю, вы справились! Теперь необходимо настроить локальные каталоги. В главном меню слева выбираем Settings. В них вы можете задать путь к хранилищу (Storage: c:\OpenTgResearcher\TgStorage\TgStorage.db) и путь к файлу сессии(Session: C:\Users\<userName>\AppData\Local\OpenTgResearcherDesktop\current\OpenTgResearcher.session). После чего, сохраняем настройки и закрываем ПО, запускаем заново.

Итак, у нас есть локальное хранилище и путь к файлу сессии. Теперь нам необходимо получить авторизацию от самого Телеграм и сохранить сессию. Для этого, в главном меню слева открываем Client connection. Кликаем по ссылке my.telegram.org, в открывшейся странице браузера, вводим свой номер телефона, код авторизации получаем в боте Telegram Service Notifications. Далее, мы заполняем поля App title, Short name. Выписываем поля App api_id, App api_hash. Переходим обратно в OpenTgResearcher и заполняем поля API hash, API ID, Phone number. Эти данные сохранятся в локальном хранилище в таблице APPS. Если вы используете пароль, то заполните поле Password (это поле не сохраняется в таблице, если сессия протухнет, придётся вводить заново). После чего нажмите кнопку Connect to TG server. Возможно, к вам снова придёт код авторизации, в таком случае, его необходимо скопировать и вставить в поле Login code. После чего снова нажать Connect to TG server. В случае успеха — поле Connection state изменит своё положение на крайнее правое и описание рядом Client is connected, а также заполнятся остальные поля блока Settings without saving. В случае ошибок, смотрим содержимое поля Data request и запрашиваем помощь в Телеграм группе.

Что дальше? Просканируем доступные каналы и группы. Для этого в главном меню слева кликнем по меню Chats. Изначально список будет пуст. Заполним его, кликнув по кнопке Online update. Вы увидите прогресс парсинга ваших чатов. Сверху отображается текущий статус чтения, сколько чатов всего. Снизу отображается защитный механизм Телеграм — Flood Control. После определённой порции данных, Телеграм просит подождать несколько секунд, эта информация обновляется автоматически. По завершении парсинга, можно открыть любой чат, дважды кликнув по строке с именем. В открывшейся странице деталей чата настроим каталог для сохранения медиа (Directory). Если чат содержит темы, то можете включить переключатель Creating subdirectories. Если нам нужны комментарии - включите переключатель Parsing comments. Далее сохраним настройки — Save chat settings. Поздравляю, всё готово для скачивания — жмём кнопку Online update. Запустится процесс скачивания медиа и парсинга сообщений. В случае отмены — нажмите кнопку Stop download. Прогресс отображается в строках Message и Media.

Это мой первый пост на хабре. Оставляйте свои комментарии и пожелания.

Теги:
Всего голосов 2: ↑1 и ↓1+2
Комментарии8

Инженер по безопасности компании Fortinet представил экспериментальный инструмент KittyLoader. Это небольшой загрузчик, написанный на C и Ассемблере, который автор сам называет крайне ненадёжным и не предназначенным для практического применения.

Решение KittyLoader задумывалось как учебный проект и демонстрация базовых принципов работы загрузчиков, а не как готовое решение для использования. Исходный код проекта открыт на GitHub, любой желающий может изучить репозиторий и поэкспериментировать с модификациями загрузчика.

По словам автора, проект KittyLoader не стоит рассматривать как инструмент для реальных задач: он создан в первую очередь ради интереса и в образовательных целях. Несмотря на минимализм и очевидные ограничения, KittyLoader может быть полезен исследователям и студентам, которые хотят понять, как устроена загрузка и выполнение программ на низком уровне.

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии2

Представлен музыкальный сервис OpenSpot Music с треками со многих стримингов с высоким качеством музыки. Алгоритмы подборки помогут найти новые песни, можно собрать собственные плейлисты.

Теги:
Рейтинг0
Комментарии0

Посткапитализм и open source: как свободный код меняет экономику

Прочитал книгу
Прочитал книгу

Пол Мейсон в книге «Посткапитализм: путеводитель по нашему будущему» выдвигает радикальную мысль: информационные технологии не просто трансформируют капитализм, они постепенно подрывают его изнутри. В центре этой трансформации - феномен open source и совместного производства.

Нулевая стоимость копирования

Ключевой аргумент Мейсона заключается в том, что цифровые товары отличаются от всех предыдущих. Если производство автомобиля или стула требует новых затрат на каждый экземпляр, то программа, музыкальный файл или цифровая модель после создания копируются почти бесплатно. Экономисты называют это нулевыми предельными издержками.

В мире, где информация легко тиражируется, рушится основа рыночной системы - дефицит. Рынок всегда опирался на редкость: чем меньше товара, тем выше цена. Но когда продукт можно распространять свободно и массово, привычные механизмы перестают работать.

Википедия, Linux, Firefox

Мейсон иллюстрирует свои тезисы примерами:

  • Википедия, созданная усилиями добровольцев, фактически уничтожила рынок энциклопедий и лишила рекламную индустрию миллиардов долларов доходов.

  • Linux показал, что даже сложнейшие операционные системы можно развивать децентрализованно, без корпоративной иерархии.

  • Firefox доказал, что независимые сообщества способны конкурировать с монополистами вроде Microsoft.

Даже Android, который Google и Samsung коммерциализировали, остаётся вынужденно открытым в своей основе, иначе он потерял бы ту самую энергию сообществ, которая сделала его популярным.

Производство «на равных»

Открытый код - это не благотворительность, а новая форма организации труда. Мейсон называет её «одноранговым производством на равных». Люди участвуют в проектах не ради зарплаты, а потому что хотят сотрудничать, обмениваться знаниями, решать задачи и оставлять след в истории. Здесь мотивация выходит за пределы классического «экономического эгоизма», а деньги перестают быть главной мерой ценности.

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

Конфликт с капитализмом

Однако капитализм не сдаётся. Чтобы сохранить прибыль, он создаёт монополии, агрессивно защищает интеллектуальную собственность и искусственно поддерживает дефицит. Так формируется противоречие: между возможностью свободного доступа к информации и интересами корпораций, банков и правительств, которые стараются удержать старую модель.

И даже корпорации вынуждены адаптироваться. Microsoft, когда-то называвшая Linux «раком», сегодня является одним из крупнейших контрибьюторов в open source и владельцем GitHub. Google построила свою мобильную империю на открытом ядре Linux. Это не благотворительность, а прагматизм: чтобы оставаться конкурентоспособными, они вынуждены взаимодействовать с «всеобщим интеллектом», используя его и внося свой вклад. Тем самым, даже против своей воли, они легитимизируют и усиливают нерыночные принципы.

«Всеобщий интеллект» и новая экономика

Здесь Мейсон обращается к Марксу и его «Отрывку о машинах». Маркс ещё в XIX веке писал, что по мере развития индустрии главным производительным фактором становится не труд отдельного рабочего, а знание. Коллективное знание, или «всеобщий интеллект», невозможно адекватно оценить в рыночных терминах. Оно разрушает сам фундамент капитализма, который строится на частной собственности и измеримой стоимости.

Вместо итога

Книга Мейсона предлагает интересную перспективу: рассматривать свою деятельность в open source не просто как хобби или способ профессионального развития, а как участие в формировании принципиально нового типа экономических отношений.

Автор: Михаил Шардин
🔗 Моя онлайн‑визитка
📢 Telegram «Умный Дом Инвестора»

13 сентября 2025

Теги:
Всего голосов 4: ↑2 и ↓20
Комментарии4

Российская компания Selectel, развивающая Linux-дистрибутив Selectel OS на пакетной базе Debian, представила инициативу OpenFix, в рамках которой начнёт выплачивать энтузиастам денежные вознаграждения за участие в работе над задачами, связанными с развитием и исправлением ошибок в открытом ПО. Код выполненных проектов будет публиковаться под пермиссивной лицензией с сохранением авторства участников.

Вознаграждения назначается индивидуально и выплачивание после принятия изменения в Debian или Ubuntu и закрытия сообщения об ошибке.

Предложено три направления деятельности, выполнение задач в которых Selectel готов оплачивать:

  • переписывание известных открытых проектов на язык Rust. В настоящее время доступны три задачи, связанные с переписыванием с языка С на Rust кода проектов xz, c‑ares и libxml2 c сохранением поведения оригинала.

  • вознаграждение за переписывание библиотек libxml2 и c‑ares и определено в 350 тысяч рублей, а библиотеки xz в 200 тысяч рублей, но в случае xz указано, что достаточно переписать критические части библиотечных обвязок и связать с существующей Си‑реализацией алгоритма LZMA.

  • формирование и последующее сопровождение (подготовка обновлений) пакетов для Debian GNU/Linux. Приложения для которых предлагается создать deb‑пакеты (c опциональным продвижением созданного пакета в Debian Unstable): apache‑pulsar, bash‑it, bazel, bitwarden‑cli, composefs, cve‑bin‑tools, doh‑cli, dupd, dyff, firecracker, griddb, jailhouse, keycloak, oauth2-proxy, phoronix‑testsuite, photodedupe, purritobin, shh, skim, sssh‑tpm‑agent, uv, vaultwarden. Размер вознаграждения от 30 до 160 тысяч рублей. Премии меньше 50 тысяч рублей определены для uv, dyff, doh‑cli, purritobin и bash‑it, а больше 100 тысяч для jailhouse, bazel, sssh‑tpm‑agent, keycloak, griddb, firecracker и apache‑pulsar.

  • Исправление ошибок в существующих открытых проектах. Участники на своё усмотрение могут выбирать проблемы, подтверждённые в системах отслеживания ошибок Debian и Ubuntu (Launchpad), после чего согласовать возможность получения вознаграждения за их исправление с Selectel. Вознаграждения назначается индивидуально и выплачивание после принятия изменения в Debian или Ubuntu и закрытия сообщения об ошибке.

Теги:
Всего голосов 9: ↑9 и ↓0+12
Комментарии4

Как триггерить события для плагинов на манер Joomla 5+?

В Joomla 6 должны удалить метод triggerEvent(), с помощью которого раньше вызывались события для плагинов. Теперь чтобы в своём коде вызвать событие для плагина и получить от него результаты нужно:

  • создать объект класса события

  • передать в него именованные параметры

use Joomla\CMS\Event\AbstractEvent;
use Joomla\CMS\Factory;
use Joomla\CMS\Plugin\PluginHelper;

// Грузим плагины нужных групп
PluginHelper::importPlugin('system');
// Создаём объект события
$event = AbstractEvent::create('onAfterInitUniverse', [
    'subject' => $this,
    'data'    => $data, // какие-то данные
    'article' => $article, // ещё материал вдовесок
    'product' => $product, // и товаров подвезли
]);
// Триггерим событие
Factory::getApplication()->getDispatcher()->dispatch(
    $event->getName(), // Тут можно строку передать 'onAfterInitUniverse'
    $event
);
// Получаем результаты
// В случае с AbstractEvent это может быть не 'result',
// а что-то ещё - куда сами отдадите данные.
// 2-й аргумент - значение по умолчанию, 
// если не получены результаты
$results = $event->getArgument('result', []);

Плюсы такого подхода - вам не нужно запоминать порядок аргументов и проверять их наличие. Если вы написали свой класс события, то в плагине можно получать аргументы с помощью методов $event->getArticle(), $event->getData(), $event->getProduct() и подобными - реализуете сами под свои нужды.

Если такой класс события написали, то создаёте экземпляр своего класса события и укажите его явно в аргументе eventClass

use Joomla\Component\MyComponent\Administrator\Event\MyCoolEvent;

$event = MyCoolEvent::create('onAfterInitUniverse', [
    'subject'    => $this,
    'eventClass' => MyCoolEvent::class, // ваш класс события
    'data'       => $data, // какие-то данные
    'article'    => $article, // ещё материал вдовесок
    'product'    => $product, // и товаров подвезли
]);

Ожидаемо, что класс вашего события будет расширять AbsractEvent или другие классы событий Joomla.

🙁 Есть неприятный нюанс - нельзя просто так вызывать событие и ничего не передать в аргументы. Аргумент subject обязательный. Но если вы всё-таки не хотите туда ничего передавать - передайте туда пустой stdClass или объект Joomla\registry\Registry.

Чат русскоязычного Joomla-сообщества.

Теги:
Всего голосов 1: ↑0 и ↓1-1
Комментарии0

Вклад авторов