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

Linux *

Пишем под *nix

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

Red Hat Enterprise Linux 8 Beta – одновременно со всем миром

Время на прочтение5 мин
Количество просмотров15K
Открываем Red Hat Enterprise Linux 8 Beta – одновременно со всем миром!



И прежде, чем мы перейдем к представлению важных изменений и новых возможностей, скажем главное – разработчики могут начать тестировать наше новое чудо при помощи Red Hat Developer Program.
Читать дальше: Red Hat Enterprise Linux 8 Beta

OpenSceneGraph: Граф сцены и умные указатели

Время на прочтение10 мин
Количество просмотров4.8K
image

Введение


В прошлой статье мы рассмотрели сборку OpenSceneGraph из исходников и написали элементарный пример, в котором в пустом фиолетовом мире висит серый самолет. Согласен, не слишком впечатляет. Однако, как я говорил раньше, в этом маленьком примере присутствуют главные концепции, на которых основан данный графический движок. Рассмотрим их подробнее. В ниже приведенном материале использованы иллюстрации из блога Александра Бобкова об OSG (жаль, что автор забросил писать об OSG...). Статья базируется так же на материале и примерах из книги OpenSceneGraph 3.0. Beginner’s Guide

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

OpenSceneGraph: сборка из исходников и Hello World

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


Введение


OpenSceneGraph (далее OSG) — открытый кроссплатформенный фреймворк, написанный на C++ и представляющий собой графический движок, предоставляющий программисту объектный интерфейс к OpenGL. В нашей стране этот движок не особенно популярен, даже на Хабре я видел только одну более-менее приличную публикацию о нем. OSG применяется за рубежом много где, например он является основой для свободного авиасимулятора FlightGear, существует открытая реализация игры Morrowind, называемая OpenMW разработка которой так же перенесена на OSG с движка Ogre. Русскоязычной документации по нему исчезающе мало, а среди англоязычной можно отметить лишь серию книг от разработчиков: OpenSceneGraph 3.0. Beginner’s Guide и OpenSceneGraph 3. Cookbook.

Тем не менее, движок достаточно интересен по следующим причинам:

  1. Открытая кроссплатформенная реализация на C++.
  2. Модульная архитектура.
  3. Расширяемость за счет встроенной системы плагинов.
  4. Возможность многопоточной обработки графических данных и встроенный инструментарий для её реализации
  5. Управление динамической памятью через механизм умных указателей

Думаю, что читателям Хабра будет интересно более подробно ознакомится с этим проектом. Не лишним будет и пополнение русскоязычной базы знаний по OSG. Все материалы, которые будут публиковаться мной по данной теме основаны на книге OpenSceneGraph 3.0. Beginner’s Guide, но являются не её переводом, а скорее творческой переработкой изложенного там материала. Если вам интересна данная тема, прошу под кат
Читать дальше →

Как мы перевели 10 миллионов строк кода C++ на стандарт C++14 (а потом и на C++17)

Время на прочтение7 мин
Количество просмотров50K
Некоторое время назад (осенью 2016), при разработке очередной версии технологической платформы 1С:Предприятие внутри команды разработки встал вопрос о поддержке нового стандарта C++14 в нашем коде. Переход на новый стандарт, как мы предполагали, позволил бы нам писать многие вещи элегантней, проще и надежней, упрощал поддержку и сопровождение кода. И в переводе вроде бы нет ничего экстраординарного, если бы не масштабы кодовой базы и специфические особенности нашего кода.

Для тех кто не знает, 1С:Предприятие – это среда для быстрой разработки кросс-платформенных бизнес-приложений и runtime для их выполнения в разных ОС и СУБД. В общих чертах в состав продукта входят:


Мы стараемся по максимуму писать один код для разных ОС — кодовая база сервера общая на 99%, клиента — примерно на 95%. Технологическая платформа 1С:Предприятие преимущественно написана на C++ и ниже приведены приблизительные характеристики кода:

  • 10 миллионов строк С++ кода,
  • 14 тысяч файлов,
  • 60 тысяч классов,
  • полмиллиона методов.

И все это хозяйство надо было перевести на C++14. О том, как мы это делали и с чем столкнулись в процессе, мы сегодня и расскажем.

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

Борьба за ресурсы, часть 5: Начиная с нуля

Время на прочтение6 мин
Количество просмотров8K
Продолжаем изучать cgroups. В Red Hat Enterprise Linux 7 они задействуется по умолчанию, поскольку здесь используется systemd, а он, в свою очередь, имеет уже встроенные cgroups. С Red Hat Red Hat Enterprise Linux 6 все немного иначе. На самом деле контроллеры cgroups изначально были и там, а вышла эта версия, напомним, в январе 2010 года, то есть пару столетий назад в пересчете на компьютерные годы.



Однако cgroups в Red Hat Enterprise Linux 6 и сегодня на многое способны, что мы сегодня и проиллюстрируем.
Читать дальше: Начиная с нуля

Как написать расширение для GNOME Shell: режим «Do Not Disturb»

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

Началось все с переезда на новую версию одного дистрибутива Linux, а там — скандально известный GNOME Shell (GH для краткости), на Javascript. Ну ок, на JS так на JS, работает — и ладно.


Одновременно с этим темп моей работы давно уже требовал найти нормальный почтовик, вместо тормозящей и жрущей тонны мегабайт вкладки outlook.office.com в браузере. И вот нашел, в наше время есть несколько почти прекрасных кандидатур, одна беда — почтовик стал доставать меня уведомлениями о новых письмах — и звуком, и всплывающими надписями.


Что делать? Решение написать расширение "Не беспокоить" пришло не сразу, очень не хотелось писать велосипед и/или увязнуть в разработке/коде/тоннах ошибок, но решился, и вот хочу поделиться с Хабром своим опытом.1


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

Электронная подпись ГОСТ Р 34.10 документов формата PDF в офисном пакете LibreOffice

Время на прочтение10 мин
Количество просмотров22K
Пришла пора, несмотря на все пожары, исполнить свой гражданский долг – заплатить налоги. Платить налоги мы будем через портал Госуслуги. В личный кабинет портала Госуслуг будем входить с помощью электронной подписи (терминология портала Госуслуг ), т.е. имея на руках сертификат, полученный в аккредитованном удостоверяющем центре (УЦ), и закрытый ключ. И то и другое я храню на токене PKCS#11 с поддержкой российской криптографии:
Читать дальше →

TrustZone: доверенная ОС и ее приложения

Время на прочтение10 мин
Количество просмотров8.2K
В прошлых статьях мы рассматривали аппаратное устройство TrustZone и работу механизма Secure Monitor. Сегодня речь пойдет о доверенной ОС (TEE) и ее приложениях. И если прошлый раз были довольно низкоуровневые вещи, сейчас все будет на вполне высоком уровне — на уровне операционной системы.
Читать дальше →

Подборка докладов по ядру Linux с Open Source Summit Europe 2018

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


На прошлой неделе в Эдинбурге (Шотландия) прошел европейский Open Source Summit 2018. Представляю вашему вниманию подборку интересных докладов по ядру Linux, на которых мне удалось поприсутствовать.

Red Hat будет поглощен IBM

Время на прочтение2 мин
Количество просмотров69K
image
Фото offerov.net

Судьба так распорядилась, что нам суждено стать свиделями еще одного крупного поглощения за этот год.

Red Hat Software, американская компания, выпускающая решения на основе свободной операционной системы Linux и другие программные продукты и услуги на основе открытого исходного кода, потеряет самостоятельность. Тут сразу по масштабности, эпичности и значимости сделки вспоминается похожая история из 2009 года о том, как "Oracle проглотила Sun". Та сделка имела весьма удручающие последствия. Интересно, чем все обернется на этот раз?
hdfan2: Сказка про Красную Шапочку на новый лад.
Компания IBM объявила о достижении соглашения о покупке компании Red Hat. Из пресс-релиза можно сделать вывод, что IBM приобрела Red Hat как поставщика «облачных решений» на базе открытых технологий и включает его в состав своего подразделения по «гибридному облаку» как самостоятельное подразделение. Это будет крупнейшее приобретение в истории IBM, отмечает Reuters.

Согласно сообщению, стороны достигли окончательного соглашения, предусматривающего покупку IBM всех эмитированных акций Red Hat по цене $190 за штуку, представляющих общую стоимость предприятия приблизительно в $34 миллиарда. На торгах в пятницу, 26 октября, на NYSE последняя сделка с акциями Red Hat была заключена по цене $117, а рыночная капитализация компании составила $20,53 миллиарда. Таким образом IBM приобретает Red Hat по цене на 60-процентов выше рыночной оценки. Для справки, капитализация IBM на данный момент составляет около 113.9 миллиарда долларов.
Читать дальше →

Портирование COM на Linux

Время на прочтение4 мин
Количество просмотров18K
Мне нравится технология COM. Но речь пойдет не о технологии, восхвалении или недостатках COM, а опыте переноса и реализации на Linux. Велосипед? Целесообразность?
Читать дальше →

Кровавая Лола на Omega 2 или душим питона на Хэллоуин

Время на прочтение3 мин
Количество просмотров5.4K
Никогда не понимал этот праздник. Но идея родилась. Сделать жуткую куклу, которая будет сверкать глазками и жуткие звуки издавать.

imageПод это все подвернулась классная детская голова (спасибо Антон) и конкурс от Onion с розыгрышем специальных китов, купить которые мне таки не позволяет совесть. Раз так, то мозги девочке Лоле я сделал на Omega 2, использовав свои наработки из прошлой статьи.

Всем кому интересно, как такое дело повторить, прошу под кат.
Читать дальше →

Борьба за ресурсы, часть 4: Замечательно выходит

Время на прочтение5 мин
Количество просмотров6.5K
Разберемся с регуляторами подсистемы хранения данных и посмотрим, что они позволяют делать в смысле блочного ввода-вывода.



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

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

Чем заняться процессору, когда нечего делать?

Время на прочтение5 мин
Количество просмотров19K
Разумно было бы предполагать, что для ядра довольно легко будет ничего не делать – но это не так. На конференции Kernel Recipes 2018 Рафаэль Высоцкий рассказал о том, чем занимаются процессоры, когда им нечего делать, как это обрабатывает ядро, какие у текущей стратегии есть проблемы, и как его недавняя работа над циклом бездействия улучшила ситуацию с энергопотреблением систем, которые ничего не делают.

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

Можно ли закрыть обратно открытый исходный код?

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


Эта концепция кажется довольно простой для любого человека, некоторое время работавшего с открытым исходным кодом: проект, однажды выпущенный в виде открытого кода, остаётся открытым навсегда. Конечно, разработчик может решить, что будущие версии проекта будут закрытыми, и иногда такое случалось, но то, что уже выпущено на свободу, отозвать обратно не получится. У интернета нет кнопки «удалить»; опубликовав свой код, и дав миллионам людей потенциальную возможность скачать его, загнать джина обратно в бутылку не получится.

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

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

Нейросеть для разработчиков C++

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

Написал библиотеку для обучения нейронной сети. Кому интересно, прошу.
Читать дальше →

Code of Conduct: почему разработчики ядра Linux угрожали удалить свой код — разбираемся в конфликте

Время на прочтение4 мин
Количество просмотров62K
В сентябре совет директоров Linux Foundation принял новый кодекс поведения для разработчиков ядра Linux — Code of Conduct (CoC). По задумке авторов, он должен был решить проблемы, связанные с дискриминацией, и улучшить эмоциональную обстановку среди разработчиков.

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

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

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

Время на прочтение3 мин
Количество просмотров11K
image
Иллюстрация 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 стала крайне мала.


Борьба за ресурсы, часть 3: Памяти мало не бывает

Время на прочтение3 мин
Количество просмотров12K
Продолжаем изучать Control Groups (Cgroups) в Red Hat Enterprise Linux 7. Займемся памятью. Вы помните, что для распределения процессорного времени есть две регулировки: CPUShares для настройки относительных долей и CPUQuota для того, чтобы ограничивать пользователя, службу или виртуальную машину (ВМ) в абсолютных величинах (процентах) процессорного времени. Причем, обе эти регулировки можно использовать одновременно. Например, если для пользователя задана CPU-квота в 50 %, то его CPU-шара тоже будет приниматься во внимание до тех пор, пока он полностью не выберет свою квоту в 50 % процессорного времени.



Что касается оперативной памяти, то systemd предлагает только один способ регулировки, а именно…
Читать дальше: Памяти мало не бывает

Защищаем веб-сервер на Linux

Время на прочтение8 мин
Количество просмотров35K
Привет, Хабр!

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


Автор опубликовал на сайте Hackernoon отрывок из 9-й главы, который мы и предлагаем вам оценить.
Читать дальше →

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