Обновить
521.73

Open source *

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

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

Новый класс Интернет-ресурсов: антисоцсети

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели6.7K

Разработчики, занимающиеся стартапами, иногда сталкиваются с проблемами типизации своей разработки. Им зачастую самим хочется понять, что же именно они ваяют? Особенно эта проблема становится актуальной, если проект, так или иначе, подразумевает организацию взаимодействия больших масс людей. Возникает соблазн типизировать стартап как разновидность социальной сети в этом случае. Но это категорически делать нельзя! Во-первых, потому что инвестиции на социальные сети никто никогда не выделит. Ибо глупо конкурировать с FaceBook или "Одноклассниками". А во-вторых, потому что существующие популярные социальные сети дискредитировали себя как класс продуктов. Низведя все богатство социальных взаимодействий до уровня лайков/дизлайков и сетевой ругани. Однако социологическое определение социальной сети на порядки превосходит тот функционал, которым обладают популярные социальные сети. Потому не оскудеет поток инноваторов, которые мыслят стартапами в области социального взаимодействия. Вот для них данная статья.

Читать далее

Новости

Как удаление сорока строк увеличило производительность в 400 раз

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели9.9K

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

На прошлой неделе моё внимание привлёк этот коммит:

858d2e434dd 8372584: [Linux]: Замена чтения proc для получения CPUtime потока на clock_gettime

diffstat выглядел интересно: +96 вставок, -54 удалений. В changeset был добавлен бенчмарк JMH из 55 строк, что означало реальное уменьшение кода продакшена.

Читать далее

Bank-in-a-Box: как собрать реалистичную песочницу для мультибанкового API‑хакатона

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели4K

Привет, Хабр!

Типичная картина ИТ-хакатона: команды тратят время не на продукт, а на борьбу с инфраструктурой. Документация есть, API есть – а собрать реальный сценарий нельзя: балансы не сходятся, переводы не оставляют следов, ответы статичные или ошибочные.

На пятом юбилейном API-хакатоне мы решили сделать иначе – собрать песочницу, которая ведёт себя как настоящий банк. Даже не один, а содружество трёх банков с клиентами, продуктами и межбанковскими сценариями. В результате появились реальные мультибанковские прототипы и ~1.5 млн вызовов API за месяц.

Меня зовут Александр Галкин, я занимаюсь открытым банкингом и открытыми API. В статье расскажу, как за несколько выходных собрать такую инфраструктуру, какие компромиссы неизбежны, почему на стенд обрушились массовые атаки, и как ИИ-ассистенты меняют сами хакатоны.

Читать далее

Проснулся 1-го января и переписал библиотеку: релиз async_yookassa 1.0.0

Время на прочтение7 мин
Охват и читатели7K

Всем привет!

Вчера я выпустил крупное обновление 1.0.0 для своей библиотеки async_yookassa — неофициального клиента для асинхронного взаимодействия с API ЮKassa. О том, что изменилось, зачем я вообще взялся её писать и почему официальный SDK может "убить" вашего бота — в этой статье.

Читать далее

Как развернуть Nextcloud Talk на собственном VPS

Время на прочтение5 мин
Охват и читатели9.2K

Nextcloud Talk — отличная альтернатива Telegram и WhatsApp* для голосовых звонков и видеосвязи. Это популярная опенсорсная платформа, которая стала актуальной ещё после закрытия Skype и Discord, а сейчас тем более.

Как известно, на территории РФ плохо работают западные мессенджеры WhatsApp* и Telegram, звонки не проходят в целях борьбы с мошенничеством. В таких условиях приходится искать альтернативные программы, которые легальны и не уступают по качеству. Хороший вариант — установка сервера коммуникации на своём приватном VPS.

Nextcloud Talk — одна из таких рабочих платформ для аудио- и видеозвонков.

Читать далее

Почему ваш проект не замечают: разбор репозитория на практике

Время на прочтение5 мин
Охват и читатели7.2K

Open Source проект может быть технически отличным и при этом оставаться неизвестным. Всё прекрасно работает, но репозиторий не привлекает ни пользователей, ни контрибьюторов. Причина чаще всего не в качестве кода, а в томкак проект представлен на GitHub.

Сегодня я хочу разобрать проект Tgin (инфраструктурная прослойка для Telegram-ботов на Rust). На его примере я покажу, какие элементы репозитория реально влияют на интерес к проекту, где чаще всего теряются пользователи и контрибьюторы.

Читать далее

Обоснованность критериев свободы программного обеспечения GNU

Время на прочтение7 мин
Охват и читатели11K

Данная статья была впервые опубликована в июле 2024 года. В ней разбирается, пожалуй, самый популярный миф о свободном программном обеспечении. Будто критерии свободы, обозначенные проектом GNU лишь снижают свободу пользователей. Поскольку этот миф столь же живуч, что и иные мифы о свободном ПО, разобранные в статье о соотношении свободы и приватности с безопасностью, — данная работа также не потеряла актуальности. Ее текст остался без изменений, однако, как и в случае с упомянутой статьей, некоторые ссылки на источники были заменены на более удобные.

Читать далее

Открытый репозиторий для изучения онлайн-рекламы: датасет, подборка материалов, симулятор и примеры RL-агентов

Время на прочтение6 мин
Охват и читатели7.3K

Привет, Хабр! Меня зовут Дмитрий Фролов, я ведущий разработчик в Центре компетенций Data Science МТС Web Services. За каждым показом онлайн-рекламы стоит очень сложный механизм. Одно из его ключевых понятий — Real-Time Bidding (RTB). Это аукцион онлайн-рекламы, где решается, какое объявление будет показано пользователю на определенном веб-сайте или в приложении. Особенность RTB — необходимость максимально быстро принять решение, для чего системы обучаются с помощью технологии reinforcement learning (RL). 

Это достаточно сложная задача — доступных материалов по ней не так много и непонятно, с какой стороны подступиться. Вместе с коллегами мы собрали репозиторий, который может помочь разработчикам погрузиться в специфику онлайн-аукционов. Он содержит датасет с данными RTB, подборку теоретических материалов, симулятор аукционов и примеры работающих RL-алгоритомов. Все подробности и ссылки — под катом. 

Читать далее

Баги в ядре Linux в среднем прячутся по 2 года. Некоторые скрываются до 20 лет

Уровень сложностиПростой
Время на прочтение16 мин
Охват и читатели6.3K

Прямо сейчас в вашем ядре есть баги, которые не найдут ещё многие годы. Я знаю это, потому что проанализировал 125183 бага с отслеживаемой меткой Fixes: за 20-летнюю историю Git ядра Linux.

Прежде чем баг обнаружат, он в среднем живёт в ядре 2,1 года. Но в некоторых подсистемах ситуация гораздо хуже: для драйверов шины CAN этот срок в среднем составляет 4,2 года, для сетевого протокола SCTP — 4,0 года. Самый долгоживущий баг в моём датасете (переполнение буфера в ethtool) прятался в ядре 20,7 года. Баг, который я проанализирую в статье подробно (утечка refcount в netfilter), прожил 19 лет.

Я создал инструмент, перехватывающий 92% исторических багов в тестовом датасете на этапе коммитов. Ниже я расскажу, какую информацию мне это дало.

Читать далее

Machine Unlearning. Часть 1: Почему моделям нужно уметь забывать

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели6.5K

Большие языковые модели (LLM) сегодня умеют невероятно много — от генерации текста до сложного анализа данных. Но что происходит, если часть информации, на которой они обучались, нужно удалить? Просто убрать лишние данные и переобучить модель может быть слишком накладно и дорого.

Всем привет! Меня зовут Вадим, я Data Scientist в компании Raft. В этой статье я расскажу о достаточно новом направлении машинного разучивания (Machine Unlearning), которое позволяет моделям “забывать” не нужные знания без полного их переобучения.

Читать далее

Обзор Dokploy: удобная платформа для деплоя Docker-контейнеров и GitHub-проектов

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели7K

В этой статье мы разберём Dokploy — open-source платформу для деплоя приложений. Узнаем, какие задачи она решает, какие функции предлагает и чем отличается от популярного конкурента Coolify. В конце вы поймёте, подходит ли Dokploy для ваших проектов.

Читать далее

Экосистема SeedKey. Или как улучшить беспарольную аутентификацию

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели7.5K

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

Читать далее

ML на Мосбирже — почему мой грааль не работает?

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели10K

Время после нового года решил провести с пользой и окунуться в машинное обучение. Заняться Machine Learning — и посмотреть получится что‑то или нет с российским рынком акций на Московской бирже.

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

Если говорить о результатах очень кратко, то технически всё работает, но вот финансовый результат на грани безубыточности.

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

Причём вся эта работа выглядит совершенно не так как показывается в фильмах про уолл‑стрит: фактически это написание скриптов и монотонный запуск и всё происходит полностью локально на компьютере.

Читать далее

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

Вывод списка материалов Joomla с разделением по годам и месяцам. Переопределение модуля Материалы (mod_articles)

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели7.9K

Это перевод статьи Брайана Тимана (Brian Teeman) о доработке модуля Материалы (mod_articles), позволяющей выводить заголовки материалов категории (ий) с группировкой по годам и месяцам.

Читать далее

NetBSD: вторая жизнь Nintendo Wii. Как и зачем я установил эту ОС на игровую консоль

Время на прочтение8 мин
Охват и читатели15K

Привет, Хабр! Мое плотное знакомство с консолями Nintendo началось с Wii U. Так уж получилось, что лучшей серией слешеров я считаю Bayonetta. А поскольку вторая часть вышла как эксклюзив для Wii U, мне пришлось приобрести приставку. Потом заодно познакомился с The Legend of Zelda — и понеслось. Примерно то же самое случилось и с выходом Bayonetta 3 — обзавелся Nintendo Switch. Что самое интересное, у меня никогда не было обычной Wii.

Волей случая мне в руки попался замечательный экземпляр, но на него я решил посмотреть с точки зрения железа. Внутри меня ждал любопытный конфиг из PowerPC процессора IBM Broadway + SoC производства ATI, который отвечает за графику, а также устройств ввода-вывода.

Читать далее

Как подружить C++ и YAML: добавляем чтение конфигов с помощью yaml-cpp

Уровень сложностиСредний
Время на прочтение23 мин
Охват и читатели5.6K

В этой статье я расскажу о том, как добавить в С++/CMake проект возможность чтения YAML-конфигов с помощью библиотеки yaml-cpp.

Начнем с краткого обзора интерфейса yaml-cpp, а потом разработаем небольшой проект, состоящий из библиотеки с функционалом чтения конфига и приложения, использующего эту библиотеку для получения настроек из YAML-файла.

Читать далее

Docker Healthcheck Exporter: как перестать дёргать Docker API на каждый scrape и наконец мониторить HEALTHCHECK

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели12K

Привет, Хабр!

У нас больше 40 сервисов, развернутых в docker-compose, у многих есть API, база данных, кэш, брокер сообщений, у одного только Posthog больше 20 контейнеров с воркерами, плагинами, ClickHouse, Redis и сопутствующей обвязкой.

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

Читать далее

Наблюдаемость .NET-сервисов с помощью OpenTelemetry (traces/metrics/logs). Практический пример

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели10K

В этой статье я покажу, как с нуля подключить OpenTelemetry в ASP.NET Core проект и получить полноценную наблюдаемость: распределённые трейсы, метрики и логи. Мы не будем углубляться в теорию (что такое спаны/трейсы/метрики и почему это важно) - сфокусируемся на практике.

Мы развернём небольшой "микросервисный" стенд в Docker Compose и после пары запросов увидим в SigNoz полный набор сигналов: трейсы, метрики и логи с корреляцией по trace_id. Все исходники доступны в репозитории GitHub так что каждый шаг можно повторить самостоятельно.

Docker compose up...

Гибридная нейросимвольная архитектура для превращения вероятностных ответов LLM в детерминированный код

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели12K

Нам обещали, что ИИ заменит инженеров, а дали вежливых чат-ботов, которые галлюцинируют и путаются в зависимостях. Мы потеряли cтруктуру. В этой статье я реанимирую идеи Символистов 80-х и объединяю их с мощью современных LLM.

Это история создания ZervGen - Фреймворка, который превращает ваш Obsidian в живой граф знаний и пишет работающий код для RPG через бесплатные API.

P.S. Ровно два месяца назад, 11 ноября, я сделал первый коммит. Сегодня, 11 января, я показываю, к чему это привело. Совпадение? Не думаю.

Вскрыть архитектуру

Объектные хранилища: чем заменить minio?

Уровень сложностиСредний
Время на прочтение25 мин
Охват и читатели23K

Как говорят у меня на родине: корпоративная жадность — двигатель миграций. И именно это мы сейчас можем наблюдать на примере MinIO — некогда любимого инструмента DevOps-инженеров для развёртывания S3-совместимого хранилища. В 2021 году они втихушку сменили лицензию на AGPL v3, а в 2025 году и вовсе выпилили веб-интерфейс из бесплатной версии. Ну и, наверное, можно подумать, что за такой удобный инструмент можно и заплатить. Но тогда встаёт вопрос: какова цена коммерческой лицензии? От $96 000 в год)

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

Читать далее
1
23 ...

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