Как стать автором
Поиск
Написать публикацию
Обновить
404.23

Linux *

Пишем под *nix

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

find + mkdir полны по Тьюрингу

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

Введение

Мы покажем, что система, имеющая лишь команды GNU find и mkdir, полна по Тьюрингу.

Хорошо известно, что команды sed и awk сами по себе полны по Тьюрингу, но мне не удалось найти информации о Тьюринг-полноте find + mkdir.

Доказательство основано на реализации таг-системы.

Мы по порядку рассмотрим реализацию цикла, FizzBuzz и таг-системы.

Читать далее

Насколько Linux подходит для дизайна UX — мой опыт за год работы

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

В июне 2023 года я начал работать фрилансером в сфере UX-дизайна. Для этого мне требовался компьютер. К сожалению, спустя 7 лет верной службы мой MacBook Pro отправился на покой. И не из-за того, что перестал работать, а потому, что в Apple прекратили поставлять для него обновления безопасности. Просто стало небезопасно выполнять на нём заказы.

Я рассматривал в качестве альтернативы Windows и обнаружил, что в этой ОС постоянно появлялась какая-то новая, отвлекающая реклама; она пропитывалась тёмными паттернами UX и постепенно делала непригодным для использования старое железо.

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

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

Большое руководство по сетям и шифрованию трафика в Linux (часть 1)

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

Приветствую вас, читатели Хабра! В этой статье я бы хотел уделить внимание такой вещи как шифрование трафика на Linux системах. Наверно каждый из нас прекрасно понимает, насколько важна защита нашей приватности. Ведь в эпоху когда многие компании собирают данные, а иногда хакеры могут перехватить наш трафик, это становится особенно важно. Просто необходимо позаботиться о безопасности своих данных. Например, быть уверенным, что какая-либо корпоративная сеть не прослушивается злоумышленниками. Информационная безопасность сегодня — это не просто мода, а насущная необходимость. Постоянно растет киберпреступность, и защита трафика от перехвата — это основной аспект цифровой жизни человека или бизнеса.

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

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

Читать далее

Вирт, Кормен и диалекты Basic: что изучить про алгоритмы и структуры данных разработчикам на С++

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

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

Статьи, лекции и курсы из подборки помогут опытным специалистам «вспомнить все» перед собеседованием или погрузиться в тему алгоритмов, если вы пока в ней не сильны. 

Читать далее

Непонятный rpc, или же первый пэт-проект или DynamicRPC

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

Я долгое время не мог найти занятие по душе. Последнее, чем я занимался, была разработка хеш-таблицы... И вот однажды мне пришла в голову идея использовать свое старое железо как систему распределенных вычислений. Так началась история создания DynamicRPC.

Читать далее

SVG-виджеты для tcl/tk. Поддержка SVG-файлов. Часть III

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

Вот и наступил тот момент, когда стало возможным при разработке gui на tcl/tk простое использование в качестве иконок графических изображений, хранящихся в svg-файлах:

Читать далее

Библиотека EremexControls.NET для Avalonia UI — Обновление июль-август 2024

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

Мы решили на регулярной основе рассказывать вам о развитии нашей линейки контролов для Avalonia UI. За время, прошедшее с момента предыдущей публикации, появилось несколько интересных моментов и один новый компонент.

Читать далее

Записки bash-скриптера. Листок первый. Сокращённый if

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

Существует огромное количество руководств, статей, видеоуроков по bash. И это очень здорово, но есть одна проблема с ними. Процент материала "для начинающих" среди всего этого богатства стремится к 100, а вот по-настоящему интересных тонкостей касаются не только лишь все.

Я всегда любил bash-скриптинг, и сейчас пишу довольно много кода на bash. Периодически наталкиваюсь на неочевидные моменты; решил, что настала пора поделиться опытом с уважаемым хабрасообществом.

Кому интересно разобраться, что же может быть не так с bash/zsh на этот раз -- добро пожаловать под кат.

Читать далее

Из Linux уберут поддержку десятков ARM-чипов. Что происходит?

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

Привет, Хабр! На связи Виктор Сергеев, редактор «МТС Диджитал». Сегодня обсудим «большую чистку» ядра Linux.

Для начала стоит избавиться от поддержки десятков устаревших ARM-процессоров. Многие чипы почти не используются, смысла в их поддержке в ядре Linux все меньше. Но как их убрать, чтобы изменения прошли безболезненно для пользователей? У одного из самых известных контрибьюторов Linux Арндта Бергмана есть план. Подробности — под катом.

Читать далее

Plug and /pray/ play

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

Plug and pray play

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

Несмотря на то, что люди были специальными, по нынешним меркам все было организовано довольно просто. Любой самостоятельный компонент компьютера (процессор, память, шина, порты ввода/вывода и т. д.) поставлялся с кипой бумажной документации, в которой описывалось, какие интерфейсы используются, какие адреса, прерывания необходимы для работы того или иного устройства. Если возникали конфликты адресов/прерываний, то, как правило, в устройстве были переключатели, позволявшие в определенных пределах менять настройки. А когда это не помогало, то специальные люди не чурались паяльника и разрешали конфликт, так сказать, «по месту».

К чему это я?

Асинхронный телеграм бот на bash, глазами C# программиста

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

В интернете много статей о том, как создавать простых bash-телеграм ботов. Часто это сводиться к вечному циклу, который раз в несколько секунд дергает tg-api. А что, если у меня хотелок больше чем может предоставить такое решение?

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

Это история, о попытке поизвращаться создать небольшой, но удобный инструмент для написания ботов, удовлетворяющих моим требованиям.

Читать далее

Что необходимо знать разработчикам о технологическом комплексе для сборки ПО. Рассказываем об «Альт Платформе»

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

Компания «Базальт СПО» выпустила «Альт Платформу» — технологический комплекс для сборки программного обеспечения и выпуска дистрибутивов операционных систем. Продукт включен в Единый реестр российского ПО под №21540.

В состав «Альт Платформы» входят:

- доступ к стабильной ветке репозитория (бранчу);

- операционная система ALT Platform Builder, на которой создается рабочее место разработчика и сборочная среда;

- сервис для создания локальной копии репозитория alterator-mirror;

- инструментарий для сборки RPM-пакетов, совместимых с ОС «Альт»;

- набор готовых профилей mkimage-profiles для сборки дистрибутивных образов;

- техническая поддержка от вендора.

«"Базальт СПО" с 2001 года развивает собственную инфраструктуру разработки, на которой создано уже 10 поколений операционных систем. Несколько компаний-партнеров с нашей помощью также разработали на ней свои продукты. Теперь мы оформили эту инфраструктуру в виде продукта "Альт Платформа" и делимся ею с другими разработчиками. Команда "Базальт СПО" обучит специалистов заказчика пользоваться программным комплексом, вести репозиторий и дополнять его сторонним программным обеспечением», — рассказал председатель совета директоров «Базальт СПО» Алексей Смирнов.

«Базальт СПО» (до 2015 года «Альт Линукс») с 2001 года поддерживает репозиторий «Сизиф» — один из крупнейших в мире технологически независимых репозиториев, наряду с Debian, Red Hat и SUSE. Репозиторий формируется из свободного ПО международных проектов и собственных разработок компании. Он находится на территории и под юрисдикцией РФ, поддерживается «Базальт СПО». Это своего рода лаборатория для разработчиков, в которой можно опробовать новые идеи без риска для конечного пользователя ОС. Доступ к пакетной базе «Сизифа» свободный и бесплатный.

Читать далее

Сборка Debian пакетов для расширений PHP

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

Так исторически сложилось, что мы используем некоторые не очень популярные расширения PHP, написанные и кое как (почти никак) поддерживаемые своими авторами, которых нет в типовых источниках deb‑пакетов. У нас постулируется принцип «нормально делай — нормально будет», поэтому у нас не приветствуется slackware‑style установка бинарников в систему вне пакетных менеджеров. Поэтому будем собирать полноценные deb‑пакеты для расширений PHP, не ломая совместимость с существующим окружением.

Пойдём-ка покомпилируем-ка

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

Китай разработал еще одну национальную ОС: встречаем TencentOS, форк CentOS

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

Источник: digitimes.com

В последнее время Поднебесная активизировала усилия в разработке операционных систем. Сейчас появилась еще одна, в основе которой — дистрибутив CentOS. Китайцы «научили» его поддерживать их процессоры, включая Kungpeng, Hygon и Feiteng. Что это за система?
Читать дальше →

Быстрый поиск по разной документации

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

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

Сначала мне пришла мысль взглянуть на уже существующие решения, среди которых есть мною любимый Zeal, однако, он доступен только для Windows и Linux, я же крепко сижу в заложниках на MacOS из-за специфики работы и удобства.

На сайте Zeal предлагают перейти на сайт Dash, который по сути является прародителем Zeal, однако, он платный и за него невозможно заплатить в пределах РФ, поэтому я продолжил дальше искать аналоги.

Среди альтернатив также есть DevDocs, который может работать оффлайн в браузере (благодаря PWA), однако, я заметил, что все время держать открытой лишнюю вкладку для поиска в доках было не лучшей идеей (ибо вкладку все равно нужно было бы искать, среди тонны вкладок со StackOverflow и прочим).

Решение с быстрым поиском

В Firefox и Google Chrome есть возможность добавить собственную поисковую систему (или же поиск по сайту), чем собственно я и воспользовался. При поиске в devdocs все GET-запросы уходят по урлу:

Читать далее

Почему LLVMpipe ORCJIT важен для RISC-V?

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

16 июля официальный репозиторий mesa объединил MR о RISC-V, llvmpipe: add a new JIT engine based on LLVM ORCJIT, also add RISC-V support (updated)

Это радует всех пользователей RISC-V. Мы ждали патча больше двух лет, и он наконец-то вышел!

И, почему LLVMpipe ORCJIT важен для RISC-V? Давай я расскажу!

Читать далее

Всего два месяца — и новый релиз: Linux 6.10 уже готов

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

Хорошо, когда новинки выходят быстро, а не спустя полгода-год. В этот раз мы радуемся ядру Linux 6.10, в котором немало изменений. В частности — обновленный драйвер ntsync c примитивами синхронизации Windows NT, компоненты DRM Panic, появление возможности шифрованного обмена данными с устройствами TPM и новый драйвер для GPU Mali. Есть, конечно, и другие изменения, о чем можно узнать под катом.
Читать дальше →

.NET на SBC максимально канонично

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

В интернетах всегда кто‑то не прав. В этот раз, по моему максимально предвзятому мнению, оказался не прав @bodyawm. Для меня.NET в каждой бочке затычка, поэтому меня бобмануло от использования mono в 2024 году. В этой статье я покажу своё видение того, как максимально канонично и современно писать на.NET для GNU/Linux и SBC (Single‑board computer, aka одноплатник).

Читать далее

Введение в SCTP

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

Здравствуйте, уважаемые читатели! SCTP — достаточно специфичный протокол, о котором, наверняка, многие не слышали. Тем не менее, он более чем актуален в некоторых областях, одна из них — использование для доставки контрольных сообщений в LTE сетях.

Я относительно недавно присоединился к команде, занимающейся разработкой ПО для базовых станций. Ранее я не сталкивался с данным протоколом, поэтому решил разобраться с ним более подробно и столкнулся со следующей проблемой — относительно малое количество источников, посвященных данной теме. Несомненно, они есть, и я обязательно перечислю те из них, которыми мне пришлось воспользоваться, в данной статье.

В общем, главная мотивация — желание написать небольшую вводную на таком ресурсе как habr для более легкого старта у новичков.

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

Читать далее

Анимация фрактала Lozi map

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

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

Читать далее

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