Все потоки
Поиск
Написать публикацию
Обновить
391.49

Open source *

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

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

Microsoft Edit: легкий текстовый редактор с открытым кодом для Windows

Время на прочтение4 мин
Количество просмотров9K

Microsoft удивила ИТ-сообщество, возродив текстовый редактор Edit — впервые он появился в MS-DOS 5.0 в 1991 году. Edit предлагает простоту, открытый исходный код и возможности, сравнимые с Linux-редакторами вроде vim. Давайте разбираться, что такое Edit, зачем Microsoft его вернула и почему он может стать находкой для разработчиков.

Читать далее

Резервирование кластера Greengage DB (на базе Greenplum OSS)

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров1.4K

Greengage DB — это массивно-параллельная реляционная СУБД на базе Greenplum OSS, которая подходит для хранения и обработки данных. Позволяет выполнять сложные аналитические запросы над большими объёмами данных, предоставляя к ним гетерогенный доступ за счёт различного рода коннекторов и средств интеграции.

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

Читать далее

Исследователи Яндекса выложили Yambda — один из крупнейших в мире датасетов для развития рекомендательных систем

Время на прочтение7 мин
Количество просмотров17K

Привет! Меня зовут Александр Плошкин, я руковожу группой развития качества персонализации в Яндексе. Сегодня мы открываем доступ к одному из крупнейших рекомендательных датасетов — Yambda. Он содержит 4,79 миллиардов обезличенных пользовательских действий, собранных за 10 месяцев использования сервиса Яндекс Музыка.

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

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

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

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

Читать далее

У Линукс нет перспектив в качестве операционной системы для десктопа

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров68K

Судя по результатам которых достиг GNU/Linux за более чем 30 лет своего существования, перспективы на на домашних компьютерах и ноутбуках (десктопе) у него отсутствуют, и вызвано это сразу несколькими причинами.

Читать далее

Как работать с CAPY

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров1K

Привет, Хабр! Я Данил Трещев, работаю в T-Банке в команде Spirit Compute, которая отвечает за runtime-инфраструктуру. Сегодня я хочу рассказать, как работать с Cluster API Provider Yandex (CAPY). Мы разработали собственное решение, которое позволяет разворачивать k8s-кластеры в инфраструктуре Yandex Cloud.

Разберем, как развернуть Management Cluster и Workload Cluster с помощью инструментов управления кластерами. Материал подходит для обучения и тестирования. Итоговое окружение не будет готово к продакшену — для этого понадобятся дополнительные настройки безопасности и отказоустойчивости.

Добро пожаловать под кат все, кому интересно познакомиться с темой! 

Читать далее

Повышаем качество документации с помощью LLM

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров5.2K

Привет, Хабр! Меня зовут Катя, я лидирую Gramax, open source-платформу для управления технической документацией.

О Gramax мы писали ранее тут. В этой статье расскажу о Gramax Check — сервисе для автоматических проверок текста на базе LLM. По сути — нашей версии «Главреда», но с настраиваемыми правилами.

Интересно, давай!

Почта в терминале: олдскульные и необычные email-клиенты

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

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

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

Читать далее

Я устал править за нейросетью — теперь пишу промпты по-другому

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров36K

Устал от багов нейросети. Решил разобраться в алгоритмах ИИ-галлюцинаций, как они влияют на работу, и в конце оставил гайд с рекомендациями по написанию промптов для генерации кода, текста и изображений.

Читать далее

Собираем умные часы: выбор микросхемы

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров8.5K
image

Полный видеоролик по этой статье есть на моём YouTube-канале.

Это первая статья в серии, описывающей все этапы создания умных часов. Здесь я хочу показать, что в 2025 году не так уж сложно самому собрать достаточно неплохую модель. Хочется, чтобы наш проект по созданию обновлённых часов помог создавать их и другим желающим.
Читать дальше →

Это не баг — это фича: как мы начали писать свою open-source альтернативу Buf, потому что нас заблокировали

Время на прочтение4 мин
Количество просмотров7.2K

Решил я ворваться тоже в “Сезон Open Source”, но как обычно в стиле «🐢» а не вот эти вот ваши молнии.

Читать далее

Атака клонов или темная сторона Open Source

Время на прочтение6 мин
Количество просмотров10K

В далёкой-далёкой стране под названием «Open Source»...

Когда-то мы просто хотели сделать VPN, который можно будет легко развернуть на своем сервере, без сбора логов, централизации и слежки. В 2020 году, на хакатоне Demhack, организованном цифровыми правозащитниками из Роскомсвободы, родилась идея создать VPN-сервис, который станет независимым и неуязвимым к блокировкам. Так появился Amnezia VPN – бесплатное open-source решение, позволяющее каждому настроить VPN на собственном сервере с использованием различных протоколов, например, OpenVPN, WireGuard, Shadowsocks, IKEv2 или OpenVPN over Cloak, как надежда на свободный и неуязвимый интернет. Чуть позже мы сделали еще клиент AmneziaWG, о нем расскажем ниже. И как любой хороший повстанческий корабль, он был построен не корпорацией, а маленькой командой инженеров и активистов – с использованием открытого кода, под свободной лицензией.

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

Читать далее

Nerdlog: быстрый TUI-просмотрщик логов с удаленных хостов, с таймлайном, без сервера

Уровень сложностиПростой
Время на прочтение17 мин
Количество просмотров2.7K

(Или как я написал радикально простую альтернативу Graylog)

В 2022 году я и моя команда работали над сервисом, который выводил довольно большой объём логов с распределённого кластера из 20+ хостов — всего около 2–3 миллионов сообщений в час. Мы тогда использовали Graylog, и запрос логов за последний час выполнялся за 1–3 секунды — довольно быстро. Однако, инженеры по инфраструктуре хотели избавиться от Graylog — он требовал от них утомительного обслуживания, и в итоге было принято решение перейти на Splunk. Когда Splunk наконец внедрили, мне пришлось с удивлением обнаружить, что он работает невероятно, возмутительно медленно. Тот же запрос выполнялся не за секунды, а за минуты. В чем там было дело, и можно ли это улучшить - никто разбираться не хотел.

Мне это показалось абсурдным. 2–3 миллиона логов в час — это не так уж и много, и мне казалось, что с помощью старых добрых GNU утилит и обычных лог-файлов, без какого-либо централизованного сервера для логов, можно добиться примерно такой же скорости, как у Graylog (и по крайней мере, гораздо быстрее, чем Splunk), и этого было бы достаточно для большинства наших задач.

Так и начался проект: я не мог перестать об этом думать, взял отпуск на неделю и устроил себе личный хакатон, чтобы написать прототип: просмотрщик логов с простым но удобным TUI интерфейсом, включающим таймлайн-гистограмму. Он подключался к хостам по SSH и анализировал обычные лог-файлы с помощью GNU-утилит bash + tail + head + awk.

Читать далее

Почему я исправляю баги бесплатно и как это изменило мою карьеру

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров15K

8 лет назад я исправил опечатку в чужом репозитории, а сейчас регулярно делаю коммиты в проекты, которые использую, и даже вошел в core team библиотеки с 27000 звёзд на GitHub

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

Читать далее

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

Выкрутили автоматизацию на максимум: с чем кроме инвентаризации помог переход на NetBox

Время на прочтение11 мин
Количество просмотров15K

Привет, Хабр! На связи команда K2 Cloud — ведущий сетевой инженер Сергей Алексеев и инженер-разработчик Александр Гнатюк.

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

Читать далее

Как делать видеоигры в 2025 году (без движка)

Время на прочтение9 мин
Количество просмотров22K

На дворе 2025 год, а я всё ещё продолжаю делать видеоигры. Если верить archive.org, я начал заниматься этим двадцать лет назад! Достаточно долгий срок для одного увлечения...

Когда я рассказываю о том, над чем работаю, люди часто спрашивают меня, как я делаю игры, и их часто удивляет (а иногда и тревожит?), когда я говорю, что не пользуюсь коммерческими игровыми движками. Существует какой-то стереотип, что если ты делаешь игры не в популярном инструменте наподобие Unity или Unreal, это значит, что ты чуть ли не вручную пишешь ассемблерный код.

Я искренне считаю, что создание игр без огромного «многофункционального» движка может быть проще и интереснее, а часто и позволяет оптимальнее тратить вычислительные ресурсы. Я не делаю игру, в которой «есть всё», поэтому мне не нужны 90% фич, предоставляемых движками. Все мои игры обладают конкретным стилем и у меня есть конкретные способы работы с моими инструментами. Часто оказывается так, что используемым по умолчанию реализациям фич в крупных движках наподобие Unity не хватает столь многого, что мне всё равно приходится писать их самостоятельно. В конечном итоге, мои проекты по большей мере оказываются моими собственными инструментами и системами, а движок становится необходим лишь для создания удобного UI и части рендеринга...

Тут можно задаться вопросом, а зачем вообще использовать движок? Что он даёт? Зачем я позволяю инструменту потенциально препятствовать моей работе, когда его владельцы внезапно принимают неэтичные и ужасные бизнес-решения? Или выпускают обновление, которое требуется для запуска моей игры на консолях, но ломает всю систему в игре, заставляя переписывать её? Зачем я ежедневно борюсь с этим для работы с движком, пока я постепенно заменяю все его стандартные системы и он постепенно становится только загрузчиком ресурсов и фреймворком UI редактора?

Читать далее

Большое обновление DivKit: визуальный редактор, поддержка форм, аниматоры

Время на прочтение8 мин
Количество просмотров3.7K

Почти три года назад мы выложили в опенсорс DivKit — наш BDUI‑фреймворк для отрисовки интерфейса приложения из ответа сервера. С его помощью вы можете описать элементы, состояния и анимации на бэкенде. Приложение получит это JSON‑описание и отобразит его.

Мы не перестаём развивать DivKit и за последние месяцы добавили несколько важных функций. О них расскажем в статье.

Читать далее

Миграция с legacy: как werf упростил переезд на Kubernetes и ускорил CI/CD

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

Статья о том, как werf помог упростить переход на Kubernetes, ускорить CI/CD и решить проблемы с кэшированием. Автор поделился опытом внедрения, первыми шагами и преимуществами, которые получила его команда.

Читать далее

Гарантийное обслуживание конечных автоматов

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

Я много и часто говорю о том, что есть принципиальное различие между конечным автоматом и полем «state» в базе данных. Я даже уже отчасти писал про это, но акценты в том тексте были на другом, поэтому я решил посвятить целые полчаса собственной жизни кристаллизации тезисов о правильных конечных автоматах и их реализации в CS.

Так повелось, что математики ограничились применением конечных автоматов к алфавитам, а прикладники тем временем увидели знакомое слово «состояние» и со свойственным всем нам верхоглядством решили, что набор «состояний» и «переходов» — это и есть конечный автомат. Всем, наверное, доводилось видеть такой код:

Подписаться, чтобы посмотреть код

$mol: 10 лет спустя

Уровень сложностиПростой
Время на прочтение19 мин
Количество просмотров14K

Здравствуйте, меня зовут Дмитрий Карловский и я... всю жизнь занимаюсь открытием исходников. Позвольте немного рассказать о ней. Кого-то эта история вдохновит, кого-то наоборот, но надеюсь никого не оставит равнодушным. Рид будет лонгим. Уж простите, но из реквиема по мечте нот не выкинешь.

Сесть и прочитать

Как новичок пытался написать свой «терминал»

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров3.3K

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

Для этого, на языке программирования Python я начал писать своё CLI‑приложение, которое упрощает работу с консолью. И что из этого вышло?

Узнать продолжение

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