
Linux *
Пишем под *nix
Кровавая Лола на Omega 2 или душим питона на Хэллоуин
Под это все подвернулась классная детская голова (спасибо Антон) и конкурс от Onion с розыгрышем специальных китов, купить которые мне таки не позволяет совесть. Раз так, то мозги девочке Лоле я сделал на Omega 2, использовав свои наработки из прошлой статьи.Всем кому интересно, как такое дело повторить, прошу под кат.
Борьба за ресурсы, часть 4: Замечательно выходит

Особенно интересно здесь то, что мы вступаем на территорию, где изменения настроек, которые вносятся уже после запуска системы, гораздо менее важны, чем решения, которые принимаются еще до ее развертывания.
Чем заняться процессору, когда нечего делать?
Разумно было бы предполагать, что для ядра довольно легко будет ничего не делать – но это не так. На конференции Kernel Recipes 2018 Рафаэль Высоцкий рассказал о том, чем занимаются процессоры, когда им нечего делать, как это обрабатывает ядро, какие у текущей стратегии есть проблемы, и как его недавняя работа над циклом бездействия улучшила ситуацию с энергопотреблением систем, которые ничего не делают.Цикл бездействия, одна из подсистем ядра, которую поддерживает Высоцкий, управляет тем, что делает CPU, когда ему не нужно исполнять никаких процессов. Высоцкий очень точно дал все определения: CPU – это такая сущность, которая может принимать инструкции из памяти и выполнять их одновременно с другими сущностями в той же системе, занимающимися тем же самым. На простейшей однопроцессорной системе с одним ядром этим ядром является CPU. Если у процессора несколько ядер, то каждое из этих ядер – CPU. Если у каждого из ядер есть несколько интерфейсов для одновременного исполнения инструкций – Intel называет такую систему "гиперпоточностью" – тогда каждый из этих потоков будет CPU.
Можно ли закрыть обратно открытый исходный код?

Эта концепция кажется довольно простой для любого человека, некоторое время работавшего с открытым исходным кодом: проект, однажды выпущенный в виде открытого кода, остаётся открытым навсегда. Конечно, разработчик может решить, что будущие версии проекта будут закрытыми, и иногда такое случалось, но то, что уже выпущено на свободу, отозвать обратно не получится. У интернета нет кнопки «удалить»; опубликовав свой код, и дав миллионам людей потенциальную возможность скачать его, загнать джина обратно в бутылку не получится.
Но что насчёт уважительных причин? Что, если проект превратится во что-то, к чему вы больше не хотите иметь отношения? Возможно, вы отправляли свой код для проекта, имея представление о том, как его будут использовать, а потом правила поменялись. Или же вас забанили на этом проекте, и при этом у людей, поддерживающих его, нет проблем с тем, чтобы оставить ваш значительный вклад в виде кода, даже когда вас выкинули на обочину?
Из-за того, что некоторые люди считают вынужденным изменением в правилах поведения разработчиков Linux, у некоторых разработчиков наиболее исключительного проекта с открытым кодом в мире возникают вопросы. С такой ситуацией сообществу приходится сталкиваться редко, и такого ещё никогда не случалось с проектом подобного масштаба.
Нейросеть для разработчиков C++
Написал библиотеку для обучения нейронной сети. Кому интересно, прошу.
Code of Conduct: почему разработчики ядра Linux угрожали удалить свой код — разбираемся в конфликте
Некоторые программисты назвали это попыткой излишнего регулирования и начали угрожать удалить написанный ими код из ядра Linux. Подробнее о ситуации — далее.

Microsoft присоединяется к Open Invention Network и «раздает» лицензии на 60 000 своих патентов

Иллюстрация zdnet.com
Microsoft присоединяется к Open Invention Network, предоставляя в общий пул около 60 000 патентов. Новость об этом была опубликована 10 октября 2018 года в блоге корпорации-монополиста на рынке десктопных операционных систем.
Open Invention Network, OIN — это организация (и сообщество владельцев патентов вокруг нее), которая владеет патентами на программное обеспечение вселенной GNU/Linux. Целью OIN является защита Linux и других свободных программных продуктов от патентных исков. Участники сообщества передают патенты в общий пул, позволяя бесплатное использование этих патентов всем участникам на основе royalty-free лицензии.
OIN насчитывает около 2500 участников, среди которых можно выделить такие крупные компании как IBM, SUSE, Red Hat, Google, Novell, Philips, Sony. Примечательным фактом оказалось то, что с 2014 года одним из лицензиатов патентного пула OIN является ReactOS Foundation. В свете новых событий можно сделать вывод, что вероятность патентных претензий со стороны Microsoft к проекту ReactOS стала крайне мала.
I know the focus is on Linux, but after clarifications from multiple sources, it would appear that this also protects ReactOS (an OIN member) from Windows patent issues. This is huge, and something I had been dreaming for more than a decade. Microsoft’s really changed. https://t.co/9pza1WNkPw
— Alex Ionescu (@aionescu) October 12, 2018
Борьба за ресурсы, часть 3: Памяти мало не бывает

Что касается оперативной памяти, то systemd предлагает только один способ регулировки, а именно…
Защищаем веб-сервер на Linux
У нас давно не выходило новых книг по Linux для начинающих — и вот мы беремся за перевод новинки именно такого плана. Книга "Linux in Action" Дэвида Клинтона вышла в издательстве Manning и рассказывает не только о внутреннем устройстве Linux, но и о наиболее распространенных проблемах, и о способах их устранения.

Автор опубликовал на сайте Hackernoon отрывок из 9-й главы, который мы и предлагаем вам оценить.
Что такое ZFS? И почему люди от неё без ума?
Хотя я из США, я предпочитаю произносить ZedFS вместо ZeeFS, потому что это звучит круче. Вы же можете выбрать вариант произношения для себя.
Заметка: В этой статье вы увидите, что ZFS повторяется очень много раз. Когда я буду говорить об особенностях и установке, я имею в виду OpenZFS. Пути ZFS (разработанная Oracle) и OpenZFS разошлись, с того момента как Oracle закрыла проект OpenSolaris. (Подробнее дальше в статье.)
Делаем резервное копирование сайта с помощью git и Makefile
Перевод сайта в набор статических веб-страниц позволяет снизить нагрузку на сервер или даже воспользоваться бесплатными хранилищами, а также повысить надёжность, быстроту и безопасность сайта. В этой статье я расскажу как это сделать с помощью хорошо знакомых инструментов git и Makefile. Плюсом этого подхода является также возможность контроля версий контента веб-страниц.
В статье рассказывается, как сделать статические версии веб-страниц для их выдачи сервером и как поместить их в репозиторий для контроля версий и резервного копирования. При этом статические и медиафайлы могут храниться отдельно и архивироваться другими средствами (статика обычно помещается в репозиторий для программного кода сайта). Метод работает также для страниц с Unicode-именами (например, для кириллических доменов). В конце приведён работающий Makefile.
Автор пользуется стеком django/uwsgi/nginx, виртуальным выделенным сервером под управлением GNU/Linux, но содержание статьи почти не зависит от конкретных технологий.
Резервное копирование большого количества разнородных web-проектов
Казалось бы, тема избитая – про резервное копирование сказано и написано многое, поэтому нечего изобретать велосипед, просто бери и делай. Тем не менее, каждый раз, когда перед системным администратором web-проекта встает задача настроить бэкапы, для многих она повисает в воздухе большим вопросительным знаком. Как правильно собрать бэкап данных? Где хранить резервные копии? Как обеспечить необходимый уровень ретроспективы хранения копий? Как унифицировать процесс резервного копирования для целого зоопарка различного ПО?

Ближайшие события
Как STACKLEAK улучшает безопасность ядра Linux

Борьба за ресурсы, часть 2: Играемся с настройками Cgroups

Однако, прежде чем что-то менять, всегда полезно узнать, как все устроено сейчас.
Моё разочарование в софте

Суть разработки программного обеспечения
— Нужно проделать 500 отверстий в стене, так что я сконструировал автоматическую дрель. В ней используются элегантные точные шестерни для непрерывной регулировки скорости и крутящего момента по мере необходимости.
— Отлично, у неё идеальный вес. Загрузим 500 таких дрелей в пушку, которые мы сделали, и выстрелим в стену.
Я занимаюсь программированием уже 15 лет. Но в последнее время при разработке не принято думать об эффективности, простоте и совершенстве: вплоть до того, что мне становится грустно за свою карьеру и за IT-отрасль в целом.
Для примера, современные автомобили работают, скажем, на 98% от того, что физически позволяет нынешняя конструкция двигателя. Современная архитектура использует точно рассчитанное количество материала, чтобы выполнять свою функцию и оставаться в безопасности в данных условиях. Все самолёты сошлись к оптимальному размеру/форме/нагрузке и в основном выглядят одинаково.
Только в программном обеспечении считается нормальным, если программа работает на уровне 1% или даже 0,01% от возможной производительности. Ни у кого вроде нет возражений.
Подключение OpenSSL в Mono
В предыдущей статье был описан процесс интеграции ГОСТовых сертификатов КриптоПро с mono. В этой же подробно остановимся на подключении RSA сертификатов.
Мы продолжали переносить одну из наших серверных систем написанных на C# в Linux, и очередь дошла до части связанной с RSA. Если в прошлый раз сложности в подключении легко объяснялись наличием взаимодействия двух, исходно не связанных друг с другом систем, то при подключении «обычных» RSA сертификатов от mono явно никто не ожидал подвоха.
Изучаем процессы в Linux

В этой статье я хотел бы рассказать о том, какой жизненный путь проходят процессы в семействе ОС Linux. В теории и на примерах я рассмотрю как процессы рождаются и умирают, немного расскажу о механике системных вызовов и сигналов.
Данная статья в большей мере рассчитана на новичков в системном программировании и тех, кто просто хочет узнать немного больше о том, как работают процессы в Linux.
Подключение КриптоПро в Mono
В связи с переходом на Linux возникла необходимость переноса одной из наших серверных систем написанной на C# в Mono. Система работает с усиленными ЭЦП, поэтому одной из поставленных перед нами задач была проверка работоспособности ГОСТовых сертификатов от КриптоПро в mono. Сам КриптоПро уже довольно давно реализовал CSP под Linux, но первая же попытка использования показала, что нативные классы криптографии Mono (аналогичные тем, что есть в базовом .Net — X509Store, X509Certificate2 и проч.) не только не работают с ГОСТовыми ключами, они даже не видят их в своих хранилищах. В силу этого работу с криптографией пришлось подключать напрямую через библиотеки КриптоПро.
Борьба за ресурсы, часть 1: Основы Cgroups

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