Обновить
495.08

Open source *

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

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

В поисках идеального терминала

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

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

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

Читать далее

SPICE-модели: Просто о сложном. Часть 1, вводная

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

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

Среди того, что мне приходилось вести есть такой курс: «Электронная и преобразовательная техника электрического транспорта железных дорог». Специалисту понятно — речь идет о силовой электронике, в самых радикальных её проявлениях. Конечно, для того чтобы не объяснять материал на пальцах, да и для проведения лабораторных работ, в дело идут симуляторы электронных схем. До недавнего времени я использовал LTSpice, однако теперь это невозможно. Но на мое счастье, благодаря vv_kuznetsov, воскрес из мертвых симулятор Qucs. Но с ним не все так просто, как могло бы показаться на первый взгляд.

Читать далее

DIY-операционки с нуля — эксперименты энтузиастов

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

Поговорим о трёх пет-проектах, авторы которых не претендуют на разработку второго Linux, но интересуются устройством системного программного обеспечения. Расскажем про операционки Snowdrop, Banan, Serena и их уникальные черты.

Читать далее

Devsyringe: Хватит копипастить динамические значения

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

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

Мы, разработчики, постоянно сталкиваемся с API-токенами, временными URL, строками подключения и флагами функций. В Node.js и других средах есть dotenv и менеджеры конфигураций, которые подставляют значения во время выполнения.

Но что делать со статическими файлами — HTML, JS-конфигурациями или старыми конфигами? Обычно приходится вручную копировать значения, открывать файлы, вставлять, сохранять — скучно, долго и легко ошибиться. Devsyringe решает эту проблему, автоматизируя процесс.

Читать далее

Rust 1.90.0: ldd для x86_64-unknown-linux-gnu, публикация рабочих пространств и понижение x86_64-apple-darwin до Tier 2

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

Команда Rust рада сообщить о новой версии языка — 1.90.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение.

Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновления до версии 1.90.0 вам достаточно выполнить команду:

$ rustup update stable

Если у вас ещё не установлен rustup, вы можете установить его с соответствующей страницы нашего веб-сайта, а также посмотреть подробные примечания к выпуску на GitHub.

Если вы хотите помочь нам протестировать будущие выпуски, вы можете использовать канал beta (rustup default beta) или nightly (rustup default nightly). Пожалуйста, сообщайте обо всех встреченных вами ошибках.

Что стабилизировано в 1.90.0

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

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

Привет! Меня зовут Владимир Суворов, я Senior Data Scientist в Страховом Доме ВСК и core-разработчик нашей библиотеки машинного обучения OutBoxML.

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

Приятного прочтения!

Читать и обсуждать

Гид по Apache Cloudberry ч.1: история появления, архитектура и функции

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

В конце августа вышел релиз распределённой СУБД Apache Cloudberry 2.0.0 — опенсорс‑проекта, который в режиме инкубации находится в Apache Software Foundation (ASF). В новой версии состоялся переход на кодовую базу PostgreSQL 14, а также было добавлено множество улучшений.

При этом на Хабре до сих пор незаслуженно мало статей, посвящённых этой СУБД. Мы решили исправить это совместно с Максом Янгом, техническим лидером и участником PPMC Apache Cloudberry (Incubating). Эти статьи созданы по материалам совместного митапа Yandex Cloud Data Platform — про Greenplum® и не только. В этот раз пройдёмся по базовым особенностям и функциям этой СУБД, а в следующий — доберёмся до advanced‑возможностей.

Читать далее

Сборщик мусора в Go. Часть 1: Stop The World, пейсинг и оптимизация

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

Команда Go for Devs подготовила перевод статьи о том, как работает сборщик мусора в Go. Автор подробно объясняет семантику алгоритма триколорной маркировки и очистки, механизмы Stop The World, пейсинг и источники задержек. Главное — не бороться со сборщиком, а работать с ним в унисон: устранять лишние выделения и снижать нагрузку на кучу.

Читать далее

Автоэмбеддинги: поиск на ИИ без лишней мороки

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

Мы рады представить новую возможность, которая делает создание приложений с семантическим поиском таким же простым, как написание SQL-запроса: Автоэмбеддинги. Теперь Manticore Search берёт на себя генерацию эмбеддингов — без дополнительных пайплайнов, внешних сервисов и лишней мороки.

Читать далее

Трансформерные архитектуры для рекомендаций: от SASRec до сегодняшнего дня. Сравниваем с помощью RecTools

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

Привет, Хабр! С вами Никита Зелинский, Chief Data Scientist МТС, директор по машинному обучению и исследованию данных MWS. В прошлый раз рассказывал, куда расти Data Scientist и какие навыки для этого нужны, а сегодня будет адаптация моего доклада с конференции True Tech Day. Полную видеоверсию можно посмотреть в комьюнити True Tech в VK.

Обсудим, как трансформеры меняют индустрию рекомендательных систем и почему это уже не просто хайп, а устойчивый стандарт, с которым работают в реальных продуктах. Покажу путь от базовых подходов к state-of-the-art-архитектурам, а еще объясню, как с помощью open-source-библиотеки RecTools от МТС можно сравнивать, конфигурировать и оптимизировать рекомендательные алгоритмы на практике.

Будет полезно тем, кто хочет разобраться, как устроены трансформерные рекомендательные модели. Приступим!

Читать далее

Массовые операции, фильтры и хорошие новости для сообщества TestY TMS

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

Привет, Хабр! Я Александр Зырянов, проектный менеджер TestY TMS. В этой статье не будет традиционного среза о фичах из нового релиза, ведь TestY 2.1.1 еще не выложили в open source. Вместо него я принес интересный пользовательский кейс, который упростит поиск и изменение тестов в системе. Расскажу, как устроены фильтры и массовые операции.

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

Читать далее

Слишком стар для этого…? Полувековая ОС, текстовый браузер и программа-корректор — ретрософт с многолетней поддержкой

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

Мы в Beeline Cloud интересуемся примечательными ретротехнологиями — недавно вспоминали культовую «страничку на миллион долларов», а также говорили о проектах, стремящихся сохранить веб-артефакты, идеи и дух интернета из 90-х.

Сегодня собрали подборку «вечно молодых» проектов, чья поддержка и развитие не прекращается вот уже несколько десятилетий — а некоторые из них находят применение в самых неожиданных местах. Рассказываем, почему текстовый браузер предпочтительней других в открытом море, и что предложит ОС из 1961 года.

Читать далее

Доверенный open source в российских продуктах: фантазия или рабочая цель?

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

Всем привет!

Сегодня представляем нового эксперта в нашей команде: Дмитрий Белков, руководитель консалтинга Application Security ГК «Солар». В своей первой колонке для Habr Дмитрий оценил вероятность появления доверенного open source и поделился своим мнением о процессах в основе безопасной разработки. Поехали!

Open source дал разработчикам главное — скорость и гибкость. Сторонние библиотеки ускоряют вывод релизов, снижают стоимость лицензий, расширяют функциональность. Но вместе с удобством пришли и угрозы: атаки через зависимости, бэкдоры, эксплойты. Мы все помним Log4j и OpenSSL: когда до 80% библиотек остаются не обновленными, отсутствие контроля зависимостей становится системным риском.

Может ли на этом фоне появиться доверенный open source — открытые компоненты, которые можно использовать без компромиссов по безопасности? Да. Но важно договориться о критериях и инфраструктуре.

Читать далее

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

Оптимизация функций компьютерного зрения (библиотека OpenCV) для RISC-V

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

OpenCV — популярная библиотека, включающая множество алгоритмов компьютерного зрения и функций для них. Оптимизация их под RISC-V — большая и интересная задача, которой в рамках Зимней школы RISC-V YADRO сезона 2024–2025 занимались студенты Университета Лобачевского (ННГУ). В этой статье они подробно расскажут о своей работе.

Читать далее

Вопросов нет? Или почему отсутствие '?' может навредить проекту

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

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

Читать далее

Как я устал путаться в вакансиях на hh.ru и написал расширение для Chrome

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

Маленькое open source-расширение для Chrome, которое делает поиск работы на hh.ru удобнее: выделяет уже просмотренные вакансии и резюме, чтобы не тратить время на дубли.

Читать далее

Разработка RESTful API на Go и Gin

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

Команда Go for Devs подготовила перевод статьи по созданию RESTful API на Go с использованием фреймворка Gin. Всего за несколько шагов вы напишете простой веб-сервис, который умеет возвращать список джазовых альбомов, добавлять новые и находить альбом по ID. Отличный старт для знакомства с Gin.

Читать далее

Веб-камера — глаза робота. Пишу веб-приложение на FastApi для управления DIY-проектом. Часть 4

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

В предыдущей статье я показал, как настроить GPIO одноплатника на примере Orange Pi Zero H+. Я привел команды для проверки GPIO и написал скрипт gpio_setup.sh для добавления необходимых прав на GPIO для пользователя. Также разработал класс LedLineGpio для управления светодиодами и настроил задержку при отправке команд. Кроме того, я изменил механизм их отправки так, чтобы команда не дублировалась при удержании кнопки.

В четвёртой статье я расскажу, как управлять моторами через популярный драйвер двигателей L298N. Также покажу, как подключить этот драйвер к одноплатнику Orange Pi Zero H+. Будет представлен программный код для управления моторами через GPIO, а также код самих команд управления роботом для бэкенд-приложения на FastAPI.

Статья будет полезна любителям DIY-проектов и веб-разработчикам, интересующимся фреймворком FastAPI.

Читать далее

Event Driven Design и ksqlDB

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

На конференции Web 2.0 в 2006 году Marissa Mayer из Google указала на проблему, что дополнительные полсекунды задержки приводили к снижению поискового трафика примерно на 20%. Amazon сообщал о похожем эффекте: каждые дополнительные 100 мс уменьшали продажи примерно на 1%. 

Большие задержки времени отклика чаще можно встретить в аналитических SQL-запросах, так как запрос требует обработки больших блоков данных. Особенно сильно задержки влияют на клиентов с длительной историей покупок. Именно они чаще всего оказываются в верхних перцентилях времени отклика — а это те самые пользователи, которых компании меньше всего хотят терять. 

Конференция была проведена почти 20 лет назад, компьютерные технологии за это время стали демократичнее, что привело к увеличению количества пользователей и продуктов. Проблема задержек не исчезла — наоборот, она стала острее: чем больше информации накапливают сервисы, тем тяжелее становится её обработка. Чтобы справиться с нагрузкой, приходилось менять архитектурные подходы к хранению и обработке данных. В статье мы разберем один из них – event-driven design.

Читать далее

Автоматизация геозадач: как NextGIS Web и open source экономят время

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

Работая с геоданными, я регулярно сталкиваюсь с одной и той же проблемой - обилие рутины. Форматы не совпадают, координаты «прыгают», отчёты приходится собирать вручную. Даже если речь идёт о небольшом проекте, половина времени уходит не на сам анализ, а на подготовку и приведение данных к нужному виду.

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

И хотя Python и open source-инструменты здорово помогают, есть задачи, где одной только «самодельной автоматизации» недостаточно. Когда данных становится слишком много, когда к ним нужно дать доступ коллегам или когда важно наладить единый процесс - тут уже нужен сервер, который позволит и хранить, и обрабатывать, и публиковать информацию в удобном виде. Недавно обнаружил для себя NextGIS Web.

Почему локальные инструменты не спасают

QGIS и Python - мои помощники, и я искренне люблю их за гибкость. Вручную править пару шейп-файлов или написать скрипт для одноразовой конвертации - это легко. 

Но реальность большинства проектов другая: сотни файлов, регулярные партии данных от подрядчиков, ежедневные правки от полевых инженеров и требования выдавать отчёты руководству. В таких условиях «локальный» подход быстро превращается в набор костылей.

Читать далее

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