Обновить
60.03

*nix *

Хаб про UNIX-подобные операционные системы

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

Chrome, Xfce и очень страшное кино

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

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

Читать далее

Новости

Поднимает AWX-Ansible (AWX-Operator) под Minikube в Debian

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

Ранее уже писал статью о поднятии AWX-Ansible но тот способ уже не работает так как в DEV образе слишком много изменений и с стабильной версии повторно не удалось развернуть (хотя полностью DEV версия прекрасно работает).

Читать далее

Retro68: если вам скучно жить на свете

Уровень сложностиСложный
Время на прочтение18 мин
Охват и читатели8.4K

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

Видимо по этой причине, одним мрачным осенним днем мне захотелось создать графическое приложение на современном C++ под.. классический Mac из 90х.

Читать далее

Аморальный патч для Intel DRM

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

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

А значит снова пришло время карать и патчить!

Читать далее

systemd-nspawn: продолжаем знакомство

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

Привет, это снова Егор Гаврилов. И я сегодня и дальше познакомлю аудиторию с systemd-nspawn.

Это продолжение предыдущей моей статьи про systemd-nspawn.

Читать далее

PPP-over-HTTP/2: развлекаемся с dumbproxy и pppd

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

В этой статье рассказано как подружить pppd и dumbproxy, получив в итоге PPP-тоннель внутри HTTP/2. Её можно одновременно рассматривать как руководство по настройке, журнал эксперимента, демо возможностей dumbproxy и просто пищу для удовлетворения любопытства.

Читать далее

Альтернативный raycast

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

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

Читать далее

Заводной абрикос

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

Помимо всем известной Apple, на свете существовала еще одна «фруктовая» компания, выпускавшая очень популярные компьютеры.

И сейчас мы цинично оживим и запустим эмулятор этих замечательных машин.

Читать далее

Как я бросил луч на сцену

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

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

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

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

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

Я бы хотел рассказать как я бросил луч в сцену, на создание которого, а он ещё не доделан, я потратил 4 дня. Движок мой на C и поэтому думаю, что будет понятен каждому.

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

Нейросеть мне подсказала, что можно перемножить обратные (матрицу камеры и проекции) и умножить это на вектор и потом получается что-то, с чем я не понимал как работать и пошёл дальше своим путём.

Читать далее

Запуск приложений в Linux c использованием политик планирования «реального» времени

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

В октябре 2025 года в Нижнем Новгороде на форуме «Промышленная автоматизация: переход на открытую АСУ ТП» с коллегами зашел интересный разговор о Linux с патчем реального времени. В разговоре затронули разные интересные моменты: работа через гипервизоры, выделения ядер и отличия от QNX.

Договорились о том, что я напишу небольшой гайд, рассказывающий что и как можно сделать, чтобы оптимизировать время отклика. Отдельно отмечу, что задачу доказать, что Linux с патчем PREEMPT_RT является операционной системой жёсткого реального времени перед собой не ставлю. На мой взгляд, она такой не является, так сказать by designe, в отличие от тех же QNX , VxWorks и ThreadX.

Читать далее

Пошаговая настройка вывода логов из .NET-автотестов в ELK (Filebeat → Logstash → Elasticsearch → Kibana)

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

Всем привет, с вами Юрий Ковальчук, backend разработчик в ВебРайз. В этой статье разберем процесс вывода логов из приложения c автотестами на .NET в ELK с последующей визуализаций в Kibana.

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

Читать далее

Как я заставил свой новый ноутбук работать под Linux'ом…

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

Привет, это снова Егор Гаврилов. И сегодня я расскажу историю про то, как мне пришлось повозиться со своим Gigabyte Gaming A16 3VH, чтобы управлять ноутбуком без виндового GiMATE, под своим Arch Linux'ом.

Читать далее

Парсим XML и JSON на ассемблере

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

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

Читать далее

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

Эволюция подходов к написанию корутин от Си до С++20. Часть 2. Переходим от бесстековых сопрограмм к стековым

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

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

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

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

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

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

Читать далее

По следам AerynOS: как выглядит современный дистрибутив

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

Дорогие читатели, вы, наверное, не слышали об AerynOS. Это — новый дистрибутив, который его автор — Ikey Doherty — спроектировал прямо с нуля, используя свой богатый опыт с Solus Linux и ClearLinux. Хорошая новость — в том, что всё получилось, и дистрибутив сейчас в стадии твёрдой альфы, плохая — что автор снова отошёл от дел на неопределённое время.

Но, прежде чем взять долгую паузу в разработке, Ikey Doherty написал длинный пост о технической стороне вопроса — какие идеи были заложены в AerynOS и как они воплощались на практике. Несмотря на то, что всё удалось реализовать, как задумывалось, в некоторых вопросах, всё‑таки, выяснилось, что «зашли не в тот подъезд». Но в целом, после прочтения этого поста складывается некоторая картина - как должен выглядеть современный дистрибутив — чем и хочу с вами поделиться.

Читать далее

Code Anywhere по-настоящему

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

Настоящий комбайн для разработки:

доступ с любого устройства через браузер или SSH;

работа в контейнере исключает влияние на хостовую ОС;

лёгкость развёртывания на любом сервере с Docker;

поддержка отладки, терминала и Docker‑CLI внутри среды;

HTTPS‑шифрование и контролируемый доступ.

Это интересно

Личное облако на Proxmox: сеть

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

Как‑то я писал статью «Личное облако на Proxmox» где описывал как установить Proxmox разными способами и в целом, что это такое, обещал, что когда то, под настроение опишу продолжение про сетевую часть домашнего облака с сервисами, доступными из интернет на домашнем сервере, вот, пожалуйста

Прошлая статья была посвящена базовой настройке. Что сейчас я имею в итоге, немного изменив то, что делал я получил:

Читать далее

systemd-nspawn: запускаем FidoIP на Arch Linux

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

Привет, это снова Егор Гаврилов. Сегодня расскажу про то, как настроить FidoIP на Arch Linux, используя инструмент, входящий в состав systemd, под названием systemd-nspawn.

Читать далее

Punto Switcher для Linux

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

https://alternativeto.net/software/punto-switcher-for-linux/about/

Что умеет Punto Switcher для Linux?

1) Конвертировать последнее слово перед курсором.

2) Конвертировать выделенное.

3) Конвертировать последнее слово в строке терминала Gnome.

4) Конвертировать выделенное в строке терминала Gnome.

Читать далее

Файловые дескрипторы 0, 1, 2: полное руководство по работе с потоками

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

Привет, Хабр! Конструкции вроде 2>&1 и &> встречаются повсюду — в мануалах, скриптах, инструкциях. Их используют постоянно, но редко понимают до конца. Почему ошибки продолжают появляться в терминале, хотя, казалось бы, должны уходить в файл? Почему конвейер передаёт только часть вывода?

В статье разберём всё от базового синтаксиса до работы с tee и /dev/null - каждая часть будет разобрана и показана на практических примерах.

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

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