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

Linux *

Пишем под *nix

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

Введение в сборку RPM-пакетов в ОС «Альт» Linux: основы и первый пример

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

Сборка пакетов под различные дистрибутивы имеет свои особенности. Речь не только про отличия типов пакетов, но и про детали сборки в родственных по формату пакетов дистрибутивах. В этом материале изложен опыт сборки простого rpm-пакета в системе ALT Linux. Материал может быть удобен как справочная страница при изучении темы сборки rpm-пакета инструментом rpmbuild в ОС «Альт».

Читать далее

Будущее КОМПАС API на Linux

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

Продолжаем рассказывать, как идет портирование КОМПАС-3D на Linux (начало здесь). Сегодня речь про API и с вами Владимир Кузнецов, инженер‑программист по прикладным интерфейсам КОМПАС-3D.

До начала разработки нативной Linux‑версии КОМПАС-3D у нас был API экспортных функций, API5 и API7 под Windows. Когда возникла необходимость поддерживать КОМПАС на нескольких операционных системах, было принято решение создать кроссплатформенный API, который бы работал как на Windows, так и в ОС Linux. Рабочее название такого API — KsAPI.

Читать далее

Обнаружение «шумных соседей» с помощью eBPF

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

Команды подразделения Netflix Compute and Performance Engineering регулярно анализируют происшествия, связанные с падением производительности программ, работающих в нашей многоарендной среде. Первый шаг такого анализа заключается определении того, что является источником проблемы: приложение или инфраструктура. Надо отметить, что подобные изыскания часто усложняет одна неприятность, известная как проблема «шумного соседа» («noisy neighbor»). На нашей многоарендной вычислительной платформе Titus «шумный сосед» представляет собой контейнер или системный сервис, который интенсивно использует серверные ресурсы, что приводит к падению производительности близких к нему контейнеров. Обычно мы уделяем особое внимание использованию CPU, так как именно за этот ресурс чаще всего борются наши рабочие нагрузки и их «шумные соседи».

Читать далее

Библиотека EremexControls.NET для Avalonia UI — Большое обновление (v 1.1 EAP)

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

Библиотека Контролов EMX Controls для Avalonia UI позволяет вам создавать многофункциональные графические интерфейсы для Windows, Linux, macOS и WebAssembly. Почти полгода назад вышла первая версия контролов. С тех пор библиотека развивалась и расширялась – появились новые компоненты и новые функции. А сегодня у нас большая новость - мы выпускаем EAP (early-access preview) для версии 1.1.

Читать далее

Ричард Столлман, автор GCC и Emacs

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


Сложно найти человека, про которого ходит больше легенд, чем Ричард Столлман (RMS). Наверное, по количеству невероятных историй и анекдотов с ним может сравниться только Джефф Дин.

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

В 71 год Столлман борется с раком (успешно) и пострадал от травли за свои спорные высказывания и действия. Но его достижений хватит на десятки или сотни великих жизней. Он является автором компилятора GCC и текстового редактора Emacs, а также основателем проекта GNU, дополнением к которому стало ядро Linux, в результате чего появилась полноценная ОС.

Гений Столлмана опередил время. Только в 21 веке — с ползучим наступлением цифрового тоталитаризма, всеобщей слежки в духе «1984» и алгоритмизацией всех аспектов жизни — люди постепенно начинают понимать, что Ричард Столлман был прав.
Читать дальше →

Сказки дiда Панаса. Сказ о том, как злыдни дверь заднюю в ядра пингвинячьи прорубали

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

Давно это было, сы́нки: в те времена, когда все знали, кто нужду свою справить в сеть всемирную, ынторнетом кличущуюся, вышел, по звукам характерным; Дональд Трамп ещё не в кабинете овальном сиживал, а роли второго плана в комедиях играл; а пынгвин юный, Линуксом кличущийся, от горшка был всего-то 2.4 ver-шка.


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

Читать дальше →

Сложности с отображением иконок рабочего стола

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

Последние три недели я работал над рефакторингом и исправлением легаси-кода (самые старые части которого были написаны в 2013 году), отвечающего за позиционирование иконок в KDE Plasma, а также сохранение и загрузку этих данных.

Вот мой запрос на внесение изменений: plasma-desktop: Refactor icon positioner saving and loading.

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

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

Бывало у вас такое, что провода наушников спутываются, когда вы убираете их в шкаф или кладёте ненадолго в карман? И с базами кода происходит нечто похожее, когда множество людей записывают в них изменения, исправляя баги друг друга. Каждый мыслит по-своему, поэтому вполне естественно, что всё со временем запутывается.

В итоге периодически кому-то нужно разгребать такую запутанную базу кода и подчищать её.
Читать дальше →

Кроссплатформенный терминал Modbus TCP / RTU / ASCII с открытым исходным кодом: Часть 2

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

Прошло уже достаточно времени с публикации моей предыдущей статьи. За это время я значительно улучшил приложение. Миграция проекта с WPF на Avalonia UI, появление версий для Windows и Linux, обновленный дизайн, работа с числами типа float, а также другие возможности появились в новой версии моего Modbus терминала.

Обо всем об этом, а также небольшие заметки о разработке читайте в продолжении статьи.

Читать далее

Проверяем фактор автобуса для опенсорсных проектов

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

Из Википедии: фактор автобуса (англ. bus factor, либо truck factor) проекта — это мера сосредоточения информации среди отдельных членов проекта; фактор показывает количество участников проекта, после потери которых (в оригинале — «попадания» которых под автобус или грузовик, варианты: увольнения, заболевания, рождения у них ребёнка, наступления несчастного случая и других форс-мажорных обстоятельств) проект не сможет быть завершён оставшимися участниками.

Мотивация

Во всех компаниях, где я работал (в строительстве и разработке ПО), в тот или иной момент времени возникал вопрос «фактора автобуса» в управлении разработкой проектов.

Инженеру-строителю вычислить его было крайне сложно, потому что наша отчётная документация была сильно распределена между сотрудниками и существовал дефицит документации. Единственный раз, когда это стало очевидно, случился после увольнения одного из сотрудников — спустя полгода возник срочный запрос RFI (запрос информации) по чьему-то пакету расчётов (хотя официальный пакет должен быть подписан инженером-проектировщиком, а не инженером, непосредственно отвечающим за расчёты). После таких инцидентов нам обещали улучшить документацию, но это неизбежно отходило на второй план, когда все участники группы переходили на новые проекты даже без итогового совещания. Я был свидетелем того, как в долговременных проектах инженерный состав менялся на 100%, поэтому это ужасный антипаттерн.

В разработке ПО можно провести множество параллелей, но по природе нашей работы поставка выпущенного кода — это единственный способ измерения фактора автобуса. По крайней мере, именно её изучали многие исследователи, в том числе и в научной статье, имеющей большое количество цитирований (156, согласно Google Scholar!) с момента её публикации в 2016 году (препринт выпустили в 2015 году). Ша отправил мне статью, а после того, как мы обнаружили её исходные данные и исходный код, это стало идеальным проектом на выходные, который бы позволил, как минимум, получить представление об интересных метриках open source.

Читать далее

Добавление пользовательских иконок для типов MIME в Linux

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

Привет! Меня зовут Станислав Ермохин, я руководитель группы методического обеспечения в команде КОМПАС-3D. По ходу подготовки версии КОМПАС-3D для Linux мы встречаемся с «очевидными и невероятными» ситуациями. Решением одной из них решили поделиться. Тем более, что в Рунете не удалось найти достаточно полного описания, как назначать пользовательские иконки для файлов. Вся информация разрозненная, отрывочная или устаревшая. 

Читать далее

DPDK на динозаврах и гаишниках

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

Как часто менеджерам, дизайнерам и UX-исследователям приходится вникать в проблемы сетевого стека Linux-ядра? Подозреваю, что не часто. Но если вам пришлось это сделать, у меня хорошая новость! Я уже прошла этот путь, полный админских терминов и бесконечных аналогий, и подготовила краткое содержание в комиксах. Теперь вам не нужно будет переводить с технического на дизайнерский!

Меня зовут Наташа, я UX-исследователь в Selectel. В тексте расскажу о DPDK: что это и какую проблему решает, а также зачем потребовалось юиксеру. 🙂
Читать дальше →

Простой шлюз в сеть Интернет на nftables в ОС Astra Linux Special Edition

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

Новая система фильтрации пакетов, фреймворк nftables, работает, начиная с версии Debian 10 Buster. ОС Astra Linux Special Edition (ALSE) основана на Debian и его пакетной базе, поддерживает nftables, начиная с версии 1.7.4.

Для помощи в миграции с Netfilter к nftables я настроил тестовый стенд, который реализует основные базовые задачи для SOHO (Small Office/Home Office) или небольшого предприятия. Эту конфигурацию можно взять за основу при создании своей или использовать все, как есть.

Читать далее

Мини заметка об оптимизации Arch Linux

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

Всем привет! Наверно, многие пришли к линуксу, когда их старый компьютер или ноутбук не тянул, или плохо тянул операционные системы от Microsoft. Многие пробовали разные дистрибутивы - AntiX, MX Linux, Linux Lite, Lubuntu, Xubuntu, и многие другие. Но скорее всего, вы в итоге пришли к Arch Linux - по моему скромному мнению, одному из лучших дистрибутивов.

Читать далее

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

Поревьюим и порефакторим — Ассемблер для любопытных #2

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

Ещё статья про ассемблер для тех кто с ним не знаком. В предыдущей про 5 ассемблеров последний примерчик вызвал критику за "упрощенизм". А давайте посмотрим вместе как его улучшить и немножко нарастить - в качестве "продолжения знакомства".

Заодно полюбуемся на несовместимость Linux и BSD, а также на различие 32 и 64-битной версии обеих ОС - и подумаем как с этим бороться.

Автор не претендует на непогрешимость, поэтому приглашаем умудрённых коллег делиться идеями и подсказками в комментариях если что упущено.

cmpb $0, (%eax)

DPDK: 100 больших и маленьких багов

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

100 багов в DPDK


В своей обители в Р'лайхе мёртвый Ктулху спит в ожидании своего часа. А в C коде проекта DPDK спит множество ошибок, и тоже в ожидании своего часа. Давайте посмотрим, какие из них может выявить анализатор PVS-Studio.

Читать дальше →

Подмания: запускаем графические приложения в контейнерах. Часть 1

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

Привет, Хабр!
Перед вами серия статей, в которых на подробно разобранных примерах показано, как удовлетворить некоторые базовые потребности пользователя ПК под управлением ОС Линукс, при помощи контейнеризации. В основном, это базовые потребности в безопасности, то есть, сохранении целостности системы и данных/идентичности пользователя, при повседневном использовании ПК. Надеюсь, что после прочтения статьи, вы спросите себя: "почему я не делал/а так всегда?". Если вы хотите получить быстрый старт в стиле использования ОС Линукс, за который вам не будет стыдно перед самим/ой собой, тогда прошу под кат.

Читать далее

Запросто собираем базу данных при помощи команд Linux

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

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

Читать далее

Поиск ошибок в юнит-тестах

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

Вы должны были бороться с ошибками


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

Читать дальше →

Ретрошортсы: вспоминаем бумажный журнал с дисплеем и Linux на борту

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

Приветствую! В сегодняшнем материале мы опробуем с вами новый формат статей, а именно — ‭«ретрошортсы‭». В этой рубрике будем вкратце вспоминать крутые гиковские штуки прошлых лет, и конкретно сегодня — тот самый журнал Vogue от декабря 2010 года с внешним дисплейчиком, на который можно было накатить Linux и получить мини-компьютер буквально за 200 рублей. Если вам интересно, что за девайс придумали в далеком 2009 году, причём здесь игровые консоли и как бородатые 30-летние хабровчане бегали по всей Москве в поисках ставшего дефицитным женского журнала, то добро пожаловать под кат!

Читать далее

Установка Linux на Android: новые горизонты для разработчиков и энтузиастов

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

В мире мобильных технологий грядет очередная революция, которая может изменить подход к разработке и использованию приложений для Android. Google работает над интеграцией полноценной среды Linux в мобильную ОС. Это может не только упростить процесс создания софта, но и потенциально трансформировать мобильные устройства в полноценные рабочие станции.

Читать далее

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