Леннарт Поттеринг (Lennart Poettering) представил свою речь (слайды в PDF), прозвучавшую на конференции FUDCON Beijing 2014 и посвящённую настоящему и будущему системы инициализации systemd. В выступлении поясняется изменение фокуса развития проекта от системы инициализации к набору базовых компонентов для построения операционных систем. По мнению Поттеринга, такой подход снизит уровень различия между дистрибутивами Linux и за счёт унификации компонентов в дистрибутивах повысит конкурентоспособность Linux как операционной системы общего назначения.
Из планов на будущее отмечается реализация локального кэша DNS, создание простого сервера mDNS (Multicast DNS) и LLMNR (Link Local Multicast Name Resolution), добавление во встроенный резолвер системы для верификации DNSSEC, продвижение Kdbus в состав ядра Linux, улучшение интеграции с системами контейнерной изоляции.
Директор Центрального НИИ экономики информатики и систем управления представил "Отпад", первый российский планшет для военных. Утверждается, что планшет произведён на отечественном производстве, а не по контракту со всякими там зарубежными производителями.
Планшет оснащён двухъядерным процессором защитного цвета, 1 Гб ОЗУ, двумя камерами (0.3 и 5 многопикселей), Ггг, WhiteBlueRedTooth, Wi-Fi, Американская навигационная система, ГЛОНАСС. Устройство способно работать под водой на глубине до 1 м на протяжении 30 минут (есть сомнения что над водой оно проработает дольше) и выдерживает падение с высоты до 2 метров (видимо, тоже под водой). Из особенностей планшета отмечается "умная кнопка", позволяющая в любой момент физически отключить модули, способные передавать информацию (громкоговоритель, микрофон, камера, GPS, Ггг, WhiteBlueRedTooth) чтобы отложить передачу информации, собранной шпионским софтом, на более удобное для пользователя время.
Планшет поставляется с отечественной мобильной операционной системой Болгенос, которая на деле является сборкой открытой платформы Android, переработанной для обеспечения повышенной защищённости от утечки информации и блокирования установки шпионского ПО. В РоМОС проведён детальный анализ методов работы Android с данными пользователя, проведён аудит кода Android на наличие закладок и скрытых каналов передачи данных, удалена поддержка средств интеграции со сторонними внешними сервисами, интегрирована поддержка отечественных алгоритмов шифрования. Для распространения приложений планируется ввести в строй собственный каталог-магазин приложений, который будет запущен на мощностях одного из сотовых операторов.
После двух лет пассивной разработки, вышла новая версия культовой игры DwarfFortress. описание на лурке
Из явных недостатков можно отметить: Исходники игры закрыты, а сборки делаются только под x86, разработку ведет один человек, используется кроссплатформенная либа SDL.
После года разработки представлена новая стабильная ветка языка программирования Perl - 5.20. При подготовке нового выпуска было изменено около 470 тыс. строк кода, изменения затронули 2900 файлов, в разработке приняли участие 124 разработчика.
Ветка 5.20 выпущена в соответствии с утверждённым четыре года назад фиксированным графиком разработки, подразумевающим выпуск новых стабильных веток раз в год и корректирующих релизов - раз в три месяца. Примерно через месяц планируется выпустить первый корректирующий релиз Perl 5.20.1, в котором будут исправлены наиболее значительные ошибки, выявленные в процессе внедрения Perl 5.20.0. Одновременно с выходом Perl 5.20 прекращена поддержка ветки 5.16, для которой в будущем могут быть выпущены обновления только в случае выявления критических проблем с безопасностью. Также начался процесс разработки экспериментальной ветки 5.21, на базе которой в мае 2015 года будет сформирован стабильный релиз Perl 5.22.
Экспериментальная поддержка сигнатур функций, позволяющих явно определить перечень переменных, используемых в функции и автоматизировать операции проверки и присвоения значений из массива входящих параметров. Для активации поддержки сигнатур функций необходимо указать директиву "use feature 'signatures'"; Например, ранее используемый код:
при использовании сигнатур может быть заменён на:
При вызове foo с числом аргументов, отличным от двух, интерпретатор выведет ошибку. Синтаксис сигнатур также позволяет указывать необязательные аргументы и задавать значения, используемые по умолчанию в случае отсутствия аргумента. Например, указав "sub foo ($left, $right = 0)" второй аргумент становится необязательным и при его отсутствии передаётся значение 0. В операции присваивания можно указать произвольное выражения, в том числе с использованием других переменных из списка или глобальных переменных. Указание вместо переменной хэша или массива (например, "sub foo ($left, @right)") приведёт к возможности передачи одного и более аргументов.
В списке также поддерживается специальная переменная "$", которая позволяет игнорировать часть аргументов, например, "sub foo ($left, $, $right)" позволит выполнить копирование в переменные только первого и третьего аргумента, при этом в функцию необходимо передать ровно три аргумента. Возможность обращения к параметрам через массив "@_" сохраняется, поэтому второй аргумент можно получить как значение "$_[1]";
Для определения прототипов функций, предоставляющих средства для проверки аргументов на этапе компиляции, а не в процессе выполнения, обеспечена поддержка атрибута ":prototype", например, теперь можно указать "sub foo :prototype($$);" вместо "sub foo ($$);". "$$" подразумевает вызов с двумя аргументами. Для определения типа аргумента могут использоваться такие символы, как "$" (переменная), "@" (массив), "+" (ссылка на массив или хэш), "*" (файловый десктиптор). Для отделения обязательных аргументов от опциональных используется знак ";". Для прототипов функций допускается указание сигнатур, например, "sub foo :prototype($$) ($left, $right)";
Функция rand() переведена на использование для всех платформ более качественного последовательного генератора псевдослучайных чисел drand48(). Ранее 48-битовый генератор псевдослучайных чисел использовался только для POSIX-систем, таких как Linux, а в Windows применялась менее безопасная 15-битная реализация;
Новый синтаксис для операции выделения части хэшей и массивов (slice) - %hash{...} и %array[...], при использовании которого (например, "%subset = %hash{'foo', 'bar'};" или "@list = %a[3,4,6];") возвращается список из пар ключ/значение или индекс/значение;
Добавлена экспериментальная операция постфиксного разыменования (postderef). Например, операция "$sref->$*" эквивалентна "${ $sref }", "$aref->@*" аналогична "@{ $aref }", а "$href->%{ ... }" можно использовать вместо "%$href{ ... }". Для активации поддержки необходимо указать директиву "use feature 'postderef_qq'";
Поддержка Unicode 6.3. Для регулярных выражений добавлена поддержка маски "\p{Unicode}", которая является синонимом "\p{Any}" и срабатывает для кодов символов в диапазоне 0 - 0x10FFFF.
Директива "use locale" теперь может применяться с локалями UTF-8 (ранее с "use locale" поддерживались только однобайтные локали), а также на системах без локали. Обеспечена возможность отката на локаль "C" в случае возникновения проблем с инициализацией выбранной локали. Добавлена опция "-DL" для отслеживания настроек локали в процессе запуска интерпретатора;
Специальные переменные $a и $b включены в список исключений при выводе предупреждений, что позволяет создавать функции, оперирующие переменными $a и $b, по аналогии с функцией sort;
Улучшена работа на 64-разрядных платформах. Внутренние функции работы с массивами переведены на использование 64-разрядных смещений, что позволяет создавать массивы, содержащие более 2^31 элементов. Движок регулярных выражений теперь может работать со строками длиннее 2^31 символов. Функции PerlIO_get_bufsiz, PerlIO_get_cnt, PerlIO_set_cnt и PerlIO_set_ptrcnt переведены с типа int на тип SSize_t;
Объявлены устаревшими и скоро будут исключены из базовой поставки модули CGI и Module::Build, а также связанные с ним модули иерархии CGI::* и Module::Build::*. Данные модули нужно будет устанавливать из архива CPAN. В будущем также ожидается удаление утилит find2perl, s2p и a2p;
Многопоточность средствами интерпретатора ("use threads") переведена в разряд не рекомендованных возможностей из-за усложнённой, недостаточно быстрой и легко приводящей к ошибкам реализации. Удаление текущей реализации пока не планируется, но при появлении более оптимальных альтернатив она будет переведена в разряд устаревших;
Активирован новый copy-on-write механизм копирования строк, при котором непосредственное копирование в новый буфер производится при попытке изменить строку, но не при назначении переменных, что заметно увеличивает эффективность работы со строками и избавляет от необходимости передачи строки в форме указателя. Добавлены дополнительные оптимизации в код сопоставления масок в движке регулярных выражений и реализацию массивов и хэшей;
В поставку добавлен новый модуль IO::Socket::IP, предоставляющий универсальную поддержку сокетов, работа с которыми не отличается для IPv4 и IPv6. >>> Подробнее
Автор Pale Moon, популярной альтернативной сборки Firefox, сообщил, что не намерен включать поддержку API Encrypted Media Extensions и механизмов DRM для обеспечения доступа к защищённому контенту. Также в Pale Moon будет сохранено прежнее оформление интерфейса, без перехода к интегрированному в Firefox 29 интерфейсу Australis. Сборки Pale Moon формируются для Windows и Linux, в форме в 32- и 64-разрядных пакетов.
Pale Moon позиционируется как открытый web-браузер на основе Firefox, обладающий более высокой эффективностью работы, отзывчивым интерфейсом и меньшим потреблением памяти, что достигается за счёт удаления излишней функциональности и включения дополнительных оптимизаций. При этом, браузер сохраняет полную совместимость с Firefox на уровне поддержки базовых web-технологий, дополнений и тем оформления. В частности, удалена поддержка Social API, WebRTC, PDF-просмотрщика, crashreporter, кода для сбора статистики, интерфейса группировки вкладок Panorama, средств для родительского контроля и людей с ограниченными возможностями. Добавлена поддержка инструкций SSE2, внесены оптимизации для процессоров Atom, обеспечено формирование 64-разрядных сборок.
Браузер также предоставляет более широкие средства настройки и придерживается классической организации интерфейса. Например, по умолчанию отображаются панель закладок и статусная строка, в адресной строке показываются пиктограммы сайтов (favicons) и присутствует индикатор RSS, доступен обзорный режим активных вкладок ("All Tabs"), более наглядно отображаются области прозрачности при просмотре отдельных изображений, доступны разные варианты восстановления сеанса после краха, в настойках можно отключить загрузку изображений.
После шести месяцев разработки компания Digia представила релиз кроссплатформенного фреймворка Qt 5.3, продолжившего развитием ветки Qt 5.x. Выпуск Qt 5.3 в основном ориентирован на повышение стабильности и производительности, а также на упрощение использования новичками и улучшению работы возможностей, представленных в в прошлых выпусках Qt 5. Одновременно отмечается рост популярности Qt, в частности, прошлая ветка Qt 5.2 была загружена более миллиона раз.
Улучшена интеграция между компонентами Qt Widgets и Qt Quick. Добавлен класс QQuickWidget, позволяющий бесшовно интегрировать части пользовательского интерфейса, созданные с использованием Qt Quick, с приложениями на базе Qt Widget. Новый класс значительно упрощает использование обеих технологий построения интерфейса и позволяет сочетать их в одном приложении, а также упрощает проведение миграции с Qt Widgets на Qt Quick;
В состав Qt Enterprise включён экспериментальный компилятор Qt Quick Compiler, позволяющий скомпилировать QML-файлы в нативный машинный код, демонстрирующий более высокую производительность, рост которой особенно заметен на платформах, для которых не поддерживается JIT-компиляция QML, например, в iOS и WinRT;
В Qt Network добавлена поддержка протокола SPDY, позволяющего ускорить загрузку web-контента в Qt WebKit или через QNetworkAccessManager;
Добавлен модуль Qt WebSockets с полной поддержкой технологии web socket (RFC 6455) для C++ и QML API. Возможно создание как клиентских, так и серверных компонентов web socket;
В Qt QML и появившийся в ветке 5.2 новый движок QML добавлена поддержка профилирования при помощи компонента QML profiler в среде разработки Qt Creator. Также поддерживается профилирование и отладка нескольких движков QML внутри одного приложения при помощи нового отладочного сервиса EngineControl;
В Qt Quick Controls добавлена форма календаря (Calendar Control), шаблон Dialog с типовыми кнопками и возможность изменения стиля панели с меню;
В Qt для Windows добавлена поддержка переключения между настольным GL и движком ANGLE (Almost Native Graphics Layer Engine);
Для Qt Enterprise и Qt Mobile представлена экспериментальная поддержка Purchasing API, позволяющего непосредственно из Qt-приложения управлять покупкой дополнений через каталоги-магазины Google Play и iOS App Store. В будущих выпусках ожидается поддержка Windows Store, Windows Phone Store и Mac App store, а также включение средств для интеграции с рекламными сетями;
В Qt для Android добавлен модуль с поддержкой Bluetooth. Реализован удобный мастер установки для Android, помогающий установить недостающие сборочные зависимости;
В компоненте Qt Positioning обеспечена полноценная поддержка платформ Android и iOS;
В модуле Qt Print Support улучшены средства поддержки вывода на печать;
В Qt для iOS реализованы расширенные методы ввода, например, для китайского языка;
Начальная поддержка платформ WinRT и Windows Phone, находящаяся в состоянии бета-тестирования. Для данных платформ работоспособны Qt Core, Gui, Network, Widgets, Qml, Quick и Sensors. Поддерживается работа Qt на всех видах ПК и планшетов, работающих под управлением Windows 8.1 с использованием Modern UI, а также ARM-планшетах, таких как Microsoft Surface, смартфонах под управлением Windows Phone 8. Поддержка WinRT и Windows Phone также добавлена в выпущенную месяц назад среду разработки Qt Creator 3.1. Созданные для Windows Runtime приложения могут быть размещены в каталогах-магазинах Windows Store и Windows Phone Store;
Официальная поддержка операционных систем QNX Neutrino 6.6 и QNX 6.5 SP1;
Проведена большая работа над ошибками и учтены многие жалобы и пожелания пользователей. Например, устранена большая порция проблем, связанных с совместимостью с OS X, стабилизирована поддержка iOS и Android, подготовлены бинарные пакеты для Visual Studio 2013 (Visual Studio Add-In 1.2.3), устранены недоработки, выявленные в процессе тестирования удобства установки и первого использования
В ядре Linux обнаружена критическая уязвимость (CVE-2014-0196), позволяющая локальному пользователю получить привилегии пользователя root. Проблему усугубляет публикация прототипа эксплоита в открытом доступе.
Уязвимость присутствует во всех выпусках ядра, начиная с 2.6.31-rc3, включая 3.14.3 и 3.15-rc5. Исправление пока доступно в виде патча. Обновления пакетов с устранением уязвимости уже сформированы для Ubuntu и Fedora. Для Debian, Gentoo, Red Hat Entreprise Linux, CentOS, openSUSE и SUSE обновление ядра пока недоступно и находится на стадии подготовки.
Проблема вызвана ошибкой в функции n_tty_write (drivers/tty/n_tty.c), в которой некорректно обрабатывалась ситуация доступа к виртуальному терминалу при использовании флагов "LECHO & !OPOST", что позволяло локальному пользователю инициировать повреждение областей памяти ядра. Используя условия гонки уязвимость позволяет добиться выполнения привилегированных команд во время выполнения из нескольких потоков одновременных операций чтения и записи длинных строк через псевдотерминал. Успешность эксплуатации является делом случая, при применении эксплоита в 3 из 4 запусков наблюдается крах ядра.
Девятого мая 1950-го года министр иностранных дел Франции Робер Шуман выступил с речью, в которой предложил объединить металлургическую, железорудную и угледобывающую промышленность Франции и Западной Германии. Реализация этого предложения привела к созданию Европейского объединения угля и стали (ЕОУС), предшественника Европейского союза.
День 9 мая, в который Робер Шуман от лица французского правительства обнародовал своё предложение, отмечается ежегодно как День Европы, а сам Шуман считается одним из отцов-основателей Европейского союза.