Обновить
40.77

*nix *

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

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

IBM 5150 и разработка под самый первый PC

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

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

Читать далее

Новости

От PDP-11 до Windows: как кросс-компилировать ретро-код на macOS без машины времени

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

Гайд по кросс-компиляции для ретро-платформ на macOS с Apple Silicon.
Описаны настройка и использование:

Open Watcom v2 — для DOS (16/32-бит), OS/2, Windows 3.x/9x/NT, с примерами сборки .com, .exe и функцией для переключения таргетов в shell.

Amsterdam Compiler Kit (ACK) — компиляция ANSI C под PDP-11, с запуском крестиков-ноликов на Unix Version 7 в эмуляторе open-simh (включая создание лент, mkfs, restor, mknod).

msvc-wine — полноценный MSVC-тулчейн для Windows (x86/x64/arm64) через LLVM Clang и LLD, без MinGW-зависимостей.

Дополнительно: тестирование через Wine, DOSBox-X, OrbStack; фиксы для Apple Silicon.

Подробные шаги по сборке, установке и примерам.
Интересно? Велком внутрь.

Читать далее

Banana Pi BPI-R3

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

Всем привет.

В поисках идеального роутера домой купил комплект "сделай сам" - Banana Pi BPI-R3. На маркетплейсах часто он идет без:
- блока питания
- корпуса
- антенн WiFi

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

Читать далее

Свой луна-парк с блэкджеком и нейронками: Восстанавливаем доступ к AI-сервисам без VPN

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

Привет, Хабр!

На дворе конец 2025 года. Если вы разработчик, дата-сайентист или просто энтузиаст технологий в РФ, то ваше утро начинается не с кофе, а с проверки того, какой еще сервис решил, что вы ему больше не нравитесь.

Ситуация уникальна тем, что мы находимся под перекрестным огнем. С одной стороны — гео-блокировки со стороны самих сервисов (OpenAI, Anthropic, Google, Microsoft), которые закрывают доступ для пользователей из России. OpenAI показывает "Access Denied", Claude вежливо сообщает, что он "не доступен в вашем регионе", а Google Gemini делает вид, что вас не существует.

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

Казалось бы, выход есть — старый добрый VPN. Но сегодня это решение с кучей "но". Даже если вы нашли протокол, который не блокируется, остается проблема маршрутизации. Гонять весь трафик через Амстердам, чтобы просто спросить у ChatGPT, как отцентровать div — это как стрелять из пушки по воробьям. Банковские приложения начинают паниковать, отечественные стриминговые сервисы грузятся с задержкой, а пинг в играх вызывает желание разбить клавиатуру. К тому же, постоянное переключение тумблера утомляет, а забытый включенный клиент быстро высаживает батарею.

Нам нужно что-то более элегантное. Хирургическое. Нам нужен Split Tunneling, но не на уровне приложения VPN, а на уровне всей сети. Чтобы openai.com шел через "заграницу", а gosuslugi.ru — напрямую.

Сегодня мы пройдем путь от "я просто хочу, чтобы оно работало" до создания собственного комбайна для маршрутизации трафика. Мы разберем существующие решения, поймем, почему они нам не подходят, и соберем свой собственный шлюз на базе Nginx (или Angie) и DNS-сервера, который будет делать магию прозрачно для всех ваших устройств.

Читать далее

Деннис Ритчи. Человек, который подарил нам циклы и рекурсию

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

Деннис Макалистер Ритчи (/dmr) родился в 1941 году в престижном пригороде Нью-Йорка, в семье известного учёного из Bell Labs Алистера Ритчи, соавтора учебника по теории релейных схем. Вскоре семья переехала в Саммит, Нью-Джерси.

Читать далее

Аутентификация клиентов в Angie с помощью TLS-сертификатов

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

Сегодня TLS используется повсеместно для безопасной передачи данных, и практически любой веб‑сайт работает по протоколу HTTPS. Но, кроме шифрования трафика, TLS позволяет реализовать аутентификацию клиентов по сертификату (mTLS). В этой статье мы настроим этот механизм на примере веб‑сервера Angie.

Читать далее

Мониторим OpenWRT c beszel

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

Всем привет.

В статье описана установка клиента beszel-agent_linux для роутера с openwrt на борту. Установка сервера beszel за рамками этой статьи, предполагается что он у вас уже установлен и работает.

Для тех кто не знал beszel - минималистичная система мониторинга, состоит из сервера и агентов. Архитектурно это выглядит как ssh сервер (агент) на кастомном порту, к которому по ключу ходит сервер и выполняет команды. Агенты (впрочем как и сервер) могут быть запущены в докере, интерфейс предлагает для этого готовые команды, обе две и докер и обычная инсталляция (по классике, как мы все "любим" sudo curl https://.. | bash).
Полностью документация доступна на официальном сайте, не будем ее дублировать.

Из приятного, прямо с консоли сервера нам доступна команда для выполнения на конечном устройстве

Читать далее

Запуск x64 программ на ARM или почему вы не захотите этим заниматься

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

Вам нужно было хоть раз запускать x64 программы под Linux на ARM платфоме? Если да - это статья для вас. В ней я рассказываю про способы запуска программ с другой архитектуры на ARM.

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

Читать далее

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

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

В предыдущей статье я рассматривал различные способы организации стековых корутин в языке Си. Эти сопрограммы имели чисто учебное значение так как вряд ли кто-то будет создавать генераторы последовательностей при помощи сопрограмм. Сегодня рассмотрим как писать стектовые корутины на С++ и создадим на их основе tcp сервер, обрабатывающий запросы от клиентов на основе опроса событий с использованием API мультиплексированного ввода-вывода epoll. Данная тема, на мой взгляд, является ключевой для понимания того, как функционируют современные серверные приложения, написанные при помощи таких библиотек как Boost Asio.

Читать далее

Автоматизация рутинных задач на VPS с помощью cron и скриптов

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

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

Но можно остановиться и передать повторяющуюся работу тому, кто не забудет и не промахнётся. Нас спасёт автоматизация!

Сегодня расскажем о том, как автоматизировать рутинные задачи на Linux-сервере при помощи cron и немного с помощью скриптов.

Читать далее

Марсианские страсти: DOS, любовь и С++

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

У нас было 640Кб памяти, CGA-экран, 20-мегабайтовый диск и целых четыре мегагерца тактовой частоты. А еще старые пятидюймовые дискеты на 360кб. Не то чтобы это был необходимый набор для современного разработчика C++, но если уж начал коллекционировать дичь, то сложно остановиться..

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

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

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