The OpenNET Project
 
Поиск (теги):    НОВОСТИ (+) КОНТЕНТ WIKI MAN'ы ФОРУМ twitter

29.03.2015 Космическое агентство NASA открыло код платформы для создания полётного ПО (22 +11)
  Космическое агентство NASA объявило об открытии исходных текстов платформы cFS (core Flight System), используемой в качестве основы для создания полётного ПО, которым комплектуются системы обработки данных на спутниках и приборы, применяемые на космических аппаратах. Несмотря на то, что cFS изначально разработан для полётных компьютеров, практически он может применяться и для другой встраиваемой техники.

В настоящее время cFS используется в запущенной в прошлом году миссии GPM, нацеленной на организацию непрерывного мониторинга выпадения осадков по всему земному шару, и в миссии LADEE, развиваемой НАСА в исследовательском центре Эймса для изучения атмосферы Луны и анализа пылевого окружения её орбиты. Платформа также используется и в других исследовательских центрах, включая Центр космических полётов имени Джорджа Маршалла, Исследовательский центр Гленна и Космический центр имени Линдона Джонсона.

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

Код написан на языке Си и распространяется под лицензией NASA Open Source Agreement, признанной OSI, но не одобренной Фондом СПО из-за требования применения при модификации только собственных наработок, что мешает смешиванию c кодом, основанным на разных источниках. cFS имеет модульную структуру и насчитывает 12 компонентов, каждый из которых размещён в виде отдельного проекта на SourceForge.net. Каждый компонент реализует определённый тип приложений обработки команд и данных (Command and Data Handling, C&DH) для космических аппаратов. В сочетании друг с другом компоненты формируют библиотеку типовых функций C&DH и независимое от программных платформ runtime-окружение для выполнения приложений. Для абстрагирования cFS от нижележащей операционной системы применяется специальный уровень абстракции OSAL (Operating System Abstraction Library).

Состав набора:

  1. OpenNews: NASA представило открытое приложение для поиска астероидов
  2. OpenNews: Ubuntu используется в Космическом центре Кеннеди
  3. OpenNews: NASA планирует опубликовать каталог с кодом более тысячи своих проектов
  4. OpenNews: Космическое агентство NASA переводит используемые на МКС ноутбуки на Linux
  5. OpenNews: Космическое агентство NASA представило портал для открытых проектов
Обсуждение (22 +11) | Тип: К сведению |
27.03.2015 На GitHub обрушилась необычная DDoS-атака, проведённая через подмену кода сервисов Baidu (108 +6)
  Сегодня популярный хостинг открытого кода GitHub подвергся крупной DDoS-атаке, которая привела к кратковременным перебоям в работе сервиса. Атака заслуживает внимания в силу необычности её организации и подозрений на испытание новых методов цензурирования контента.

Метод проведения атаки подразумевал наличие доступа к пограничному оборудованию, размещённому между китайским и мировым сегментами сети, предположительно атака была проведена не без участия "Великого китайского файрвола". Атака сводилась к тому, что для пользователей некитайских сетей, осуществлялась подмена JavaScript-кода сервисов Baidu Analytics и Baidu Ads, вместо которого добавлялся код, осуществляющий отправку цикличных запросов к GitHub. Baidu Analytics и Baidu Ads является крупнейшими в Китае службой web-аналитики и рекламной сетью, и используется на многих китайских сайтах (популярность данных сервисов может сравниться с Google Analytics и Google Ads). При открытии таких сайтов легитимный пользователь получал вредоносный код и невольно становился участником DDoS-атаки. При этом подмена осуществлялась только для пользователей не китайских сетей.

В Китае уже неоднократно предпринимались попытки ограничения доступа к GitHub из-за размещения на данном сервисе неугодного властям контента. В процессе DDoS-атаки запросы пользователей направлялись на содержащие подобную информацию репозитории github.com/greatfire и github.com/cn-nytimes/, с расчётом на то, что они будут закрыты чтобы остановить атаку. Вредоносный скрипт подразумевал отправку запросов на данные страницы раз в 2 секунды, что было незаметно для пользователя, но привело к огромной волне запросов на GitHub. В настоящее время GitHub вынужден установить для данных страниц заглушки, предупреждающие о проведении атаки. В частности, при запросе данных страниц выводится JavaScript-код alert("WARNING: malicious javascript detected on this domain"), приводящий к выводу диалогового окна, что блокирует цикл отправки запросов.

  1. OpenNews: В Китае зафиксированы случаи man-in-the-middle атаки против GitHub
  2. OpenNews: В Китае заблокирован GitHub
Обсуждение (108 +6) | Тип: Проблемы безопасности |
27.03.2015 Facebook представил фреймворк React Native и среду разработки Nuclide (24 +2)
  На конференции F8 2015 компания Facebook представила открытый проект React Native, в рамках которого подготовлен вариант web-фреймворка React, предназначенный для разработки обособленных мобильных приложений, внешний вид и поведение которых ничем не отличается от программ, написанных с использованием штатных средств разработки различных мобильных платформ. Код проекта распространяется под лицензией BSD.

Приложения создаются при помощи HTML5, JavaScript и компонентов пользовательского интерфейса, предоставляемых фреймворком React. Подготовленное при помощи React Native приложение может быть собрано для всех поддерживаемых платформ. Разработчику предоставляется возможность использования как штатные компоненты целевой платформы, например, в iOS доступны классы TabBarIOS и NavigatorIOS, так и универсальные для всех платформ реализации элементов интерфейса (например, UITabBar и UINavigationController), внешний вид которых адаптирован для каждой платформы. Первый выпуск React Native предоставляет средства разработки только для платформы iOS, поддержка Android ожидается в ближайшем будущем.

Взаимодействие между JavaScript-приложением и мобильной платформой производится в асинхронном режиме, что позволяет вынести в отдельную нить такие операции как декодирование изображений и сохранение на диск, и организовать выполнение ресурсоёмких операций, не блокируя интерфейс пользователя. Кроме того, разработчику предоставляется мощная система обработки событий с сенсорного экрана, многослойная модель Flexbox для блочной компоновки элементов интерфейса на экранах разного размера. Имеется возможность установки дополнений, модулей и библиотек, как написанных на JavaScript, так и распространяемых для целевой платформы (например, в iOS можно использовать сторонние модули на Objective-C).

Одновременно объявлено о создании новой интегрированной среды разработки Nuclide, оптимизированной для разработки мобильных и web-приложений на языке JavaScript с использованием React или React Native и статического анализатора Flow, а также для разработки на языке Hack (вариант PHP со статической типизацией). Проект Nuclide развивается в сотрудничестве с GitHub и базируется на среде редактирования кода Atom, которая построена с использованием браузерного ядра Chromium. Предварительную версию Nuclide планируется опубликовать в ближайшее время.

  1. OpenNews: GitHub открыл исходные тексты среды редактирования кода Atom
  2. OpenNews: Yahoo готовит платформу для создания универсальных мобильных приложений
  3. OpenNews: Вышли платформонезависимые мобильные фреймворки Apache Cordova 3.0 и PhoneGap 3.0
  4. OpenNews: Первый стабильный релиз фреймворка Appcelerator Titanium 1.0
  5. OpenNews: Представлена платформа NativeScript для разработки универсальных приложений на языке JavaScript
Обсуждение (24 +2) | Тип: Программы |
27.03.2015 Выпуск языка программирования Dart 1.9 (28)
  Компания Google представила выпуск языка программирования Dart 1.9. Dart позиционируется как язык структурированного программирования для Web, обладает похожим на Java синтаксисом, не требует явного определения типов и может использоваться для создания серверных и клиентских приложений. Для запуска внутри браузера код на языке Dart компилируется в представление JavaScript, для выполнения серверных приложений развивается специальная виртуальная машина Dart VM. Код связанных с языком компонентов распространяется под лицензией BSD.

Для упрощения разработки на языке Dart поставляется SDK, включающий в себя компилятор в JavaScript - dart2js, виртуальную машину Dart VM, пакетный менеджер pub, статический анализатор кода dart_analyzer, набор библиотек, интегрированная среда разработки Dart Editor и плагины с поддержкой Dart для IntelliJ IDEA, WebStorm, Eclipse, Emacs, Sublime Text 2 и Vim. Для выполнения и отладки приложений на языке Dart, без компиляции в JavaScript, предоставляется Dartium - специальная сборка браузера Chromium с интегрированной виртуальной машиной Dart VM. Дополнительные пакеты с библиотеками и утилитами распространяются через репозиторий pub, который насчитывает 1565 пакетов, в том числе фреймворки для разработки web-приложений AngularDart и polymer.dart.

Новый выпуск примечателен предоставлением удобных средств для асинхронного программирования, которое применимо для любых областей, включая организацию взаимодействия с пользователем, сетевые операции и файловый ввод/вывод. Для организации выполнения кода в асинхронном режиме представлены новые методы "async" и выражения "await", которые реализованы поверх Future API. Сложные асинхронные взаимодействия могут быть реализованы с использованием привычных приёмов управления потоком выполнения на основе циклов (for/while), условных операторов и исключений (try/catch).

Другие новшества:

  • Представлены синхронные и асинхронные генераторы sync* и async*, при помощи которых может быть упрощена генерация последовательностей без необходимости создания итераторов и без ручного управления созданием потока.
  • Полноценная реализация перечисляемых типов (enum). Разработчику предоставлена возможность определения специальных классов, представляющих предопределённый набор фиксированных значений;
  • Статический анализатор Dart Analyzer преобразован в сервер Dart Analysis Server, что даёт возможность упростить интеграцию средств для анализа кода на языке Dart в сторонние интегрированные среды разработки, такие как IntelliJ и Sublime;
  • В Dart VM обновлена реализация движка работы с регулярными выражениями. Новый движок в некоторых ситуациях работает до 150 раз быстрее, чем используемый ранее.
  • В Dart VM полностью реализован API Isolate, что упрощает создание приложений, при выполнении масштабируемых на несколько CPU.

  1. OpenNews: Google отказался от включения Dart в состав браузера Chrome
  2. OpenNews: Выпуск языка программирования Dart 1.7, развиваемого Google для замены JavaScript
  3. OpenNews: Язык Dart утверждён ассоциацией Ecma в качестве международного стандарта
  4. OpenNews: Новые версии языков Dart и TypeScript, претендующих на роль альтернатив JavaScript
Обсуждение (28) | Тип: Программы |
27.03.2015 Доступна финальная бета-версия Ubuntu 15.04, ознаменовавшая переход на systemd (156 +11)
  Представлен финальный бета-выпуск Ubuntu 15.04 "Vivid Vervet". Релиз намечен на 23 апреля. Готовые установочные образы для тестового выпуска созданы для Ubuntu Desktop и Ubuntu Server (для них на прошлых этапах тестирования предлагались только ежедневные сборки), а также для Kubuntu, Lubuntu, Ubuntu GNOME, Xubuntu, Ubuntu MATE и Ubuntu Cloud.

Наиболее важным событием, произошедшим с момента публикации прошлой тестовой версии, является перевод Ubuntu, Ubuntu Server, Ubuntu Core, Ubuntu Cloud и Ubuntu MATE на системный менеджер systemd, который заменил собой систему инициализации upstart в конфигурации по умолчанию (опциональная возможность использования upstart оставлена). В рамках текущего цикла разработки решено не переводить на systemd Ubuntu Touch и некоторые редакции Ubuntu. Внедрение systemd выполнено на последней фазе разработки ветки 15.04 и обусловлено нежеланием откладывать переход на systemd до осеннего выпуска, чтобы предоставить дополнительное время для досконального тестирования и полировки конфигурации с systemd перед грядущим LTS-выпуском Ubuntu 16.04, в котором утверждено применение systemd.

Основные изменения в Ubuntu 15.04:

  • Графическое окружение Unity обновлено до выпуска 7.3. В новой версии добавлена опция, позволяющая постоянно отображать меню в области заголовка окна приложения, без автоматического скрытия, независимо от фокуса окна и наведения указателя мыши. Добавлена возможность использования заголовочных меню (AppMenu) в Java-приложениях на базе Swing. В полноэкранном режиме обеспечена поддержка вывода диалогов Dash, быстрого ввода команд (HUD) и завершения работы. Анимационные эффекты оптимизированы для более быстрого запуска рабочего стола и завершения работы.
  • Compiz обновлён до выпуска 0.9.12, в котором решена серия проблем (например, черная заливка окна), проявляющихся с проприетарным драйвером NVIDIA. Обеспечена полная интеграция Compiz с рабочим столом MATE, позволяющая совмещать установку GNOME 2 и Unity. Для использования с GNOME 2 адаптирована реализация gtk-window-decorator.
  • Представлен новый инструмент Ubuntu Make (Developer Tools Centre), предоставляющий средства для быстрой и простой настройки окружений для разных категорий разработчиков ПО. Например, для установки компонентов для создания приложений для платформы Andrоid в Ubuntu необходимо выполнить девять операций, в то время как с использованием нового инструментария для загрузки и настройки Android Studio, Android SDK и связанных с ними зависимостей достаточно выполнить одну команду и можно сразу приступить к разработке.

    В настоящее время, в Ubuntu Make обеспечена возможность развёртывания 15 платформ для разработки, включая поддержку языков Go и Dart, средств разработки Firefox, интегрированных окружений IDEA, pycharm, webstorm, rubymine, phpstorm и eclipse. Улучшена поддержка сторонних менеджеров установки библиотек, таких как pip, npm и rubygem, применение которых теперь не приводит к смешиванию с системными библиотеками или перезаписи уже имеющихся библиотек.

  • Обновлены версии пакетов, в том числе поставляются ядро Linux 3.19, звуковой сервер Pulseaudio 6, офисный пакет LibreOffice 4.4, GTK 3.14.9, Totem 3.14.2, Rhythmbox 3.1, Transmission 2.84, Shotwell 0.20.2.
  • В число официальных редакций Ubuntu включен дистрибутив Ubuntu MATE, который предлагает десктоп-окружение на основе проекта MATE, в рамках которого продолжено развитие кодовой базы GNOME 2.32 с сохранением классической концепции формирования рабочего стола. В официальный репозиторий пакетов Ubuntu добавлены все компоненты, необходимые для сборки Ubuntu MATE. По сравнению с первым бета-выпуском в Ubuntu MATE добавлены приложения MATE Menu и MATE Tweak, программа Cheese заменена на guvcview, улучшена поддержка работы с Compiz, произведена интеграция systemd.
  • Ubuntu GNOME: В качестве базовой версии GNOME используется выпуск 3.14.3. Реализован экспериментальный сеанс рабочего стола на базе Wayland. Для запуска GNOME поверх Wayland следует установить пакет gnome-session-wayland и выбрать на экране входа "GNOME on wayland". Работа с Wayland пока поддерживается только при использовании свободных графических драйверов;
  • Kubuntu: По умолчанию предлагается окружение рабочего стола KDE Plasma 5.2, которое заменило собой KDE 4. В состав включены компоненты KDE Frameworks 5 и приложения из свежего выпуска KDE Applications 14.12.3, а также новые выпуски LibreOffice 4.4 и Firefox 36;
  • Xubuntu: Задействованы компоненты рабочего окружения из выпуска Xfce 4.12. Добавлен конфигуратор для настройки приглашения входа в систему на базе LightDM. Реализован режим умного скрытия панели xfce4-panel. В оконном менеджере xfwm4 появился предпросмотр окон, улучшенная поддержка CSD и мозаичное закрепление окон. Расширены средства настройки многомониторных конфигураций. В настройках добавлена возможность предпросмотра пиктограмм и палитры выбранной темы оформления. В Thunar улучшены средства навигации с использованием клавиатуры.
  • Lubuntu: так как разработка окружения LXQt пока не завершена, в Lubuntu 15.04 по-прежнему будет использован LXDE. В рамках текущего цикла разработки ожидается только исправление ошибок;

  1. OpenNews: Ubuntu 15.04 будет поставляться с systemd вместо upstart
  2. OpenNews: Бета-выпуск Ubuntu 15.04 c официальной поддержкой Ubuntu MATE и Wayland-сеансом для GNOME
  3. OpenNews: Выпуск Ubuntu 14.04.2 LTS c обновлением графического стека и ядра Linux
  4. OpenNews: Представлен вариант Ubuntu Core для умных устройств
  5. OpenNews: Представлены Ubuntu Core и Snappy, предоставляющие новый метод поставки приложений
Обсуждение (156 +11) | Тип: Программы |
26.03.2015 Проект OpenBSD выпустил NTP-сервер OpenNTPD 5.7p4 (12 +12)
  Представлен релиз переносимой редакции системы синхронизации точного времени OpenNTPD 5.7p4, развиваемой проектом OpenBSD. OpenNTPD обеспечивает поддержку протокола NTP в соответствии с RFC 1305 (NTP, Network Time Protocol) и RFC 5905 (SNTP, Simple Network Time Protocol). Поддерживается как синхронизация локального времени с удалённым NTP-сервером, так и работа в роли NTP-сервера, который в том числе может получать точное время от специального оборудования через sensorsd(8). Настройка осуществляется через файл конфигурации ntpd.conf. Работа OpenNTPD 5.7p4 проверена в Linux , FreeBSD, Solaris и OS X.

В отличие от остальных реализаций, OpenNTPD развивается с первичной оглядкой на обеспечение безопасности и обладает только самым необходимым набором возможностей (простой и понятный для аудита код). Для дополнительной защиты в OpenNTPD применяется механизм разделения привилегий, разделяющий работу непривилегированного кода обработки сетевых соединений от привилегированного кода установки времени. Демон ntpd запускается в отдельном изолированном chroot-окружении. Реализация кода определения имён через DNS работает в асинхронном режиме, т.е. определение имени будет выполнено даже если демон стартовал в момент, когда не было доступно сетевое соединение.

Новый выпуск примечателен возможностью косвенной аутентификации серверов NTP путём проверки ответов от NTP-сервера через обращение к заслуживающим доверия HTTPS-серверам, время на которых синхронизировано со временем проверяемого NTP-сервера. Суть метода сводится к отправке дополнительного запроса к HTTPS-серверу и использовании значения HTTP-заголовка Date в качестве приблизительного времени, которое заслуживает доверия. Если фиксируется аномальное отклонение от значения, полученного при обращении к NTP-серверу, то синхронизация времени может быть отклонена в подозрении подмены NTP-сервера в результате MITM-атаки. Из-за сетевых задержек точности передачи времени через заголовок Date недостаточно для использования в качестве источника для синхронизации времени, но данное время вполне пригодно для оценки степени отклонения от параметров, выдаваемых по NTP.

Кроме того в новом выпуске добавлен обходной путь решения проблем с наводнением лога сообщениями о ресинхронизации в Solaris и реализована защита от переполнения 32-разрядных счётчиков с типом time_t в случае ошибочной установки системных часов на дату позднее 2036 года.

  1. OpenNews: Проект OpenBSD выпустил переносимую редакцию OpenNTPD
  2. OpenNews: DDoS-атака в 400 Гбит/с была совершена с привлечением всего 4529 NTP-серверов
  3. OpenNews: В ntpd выявлена уязвимость, которая может привести к удалённому выполнению кода
  4. OpenNews: Представлен NTP-сервер Ntimed, который будет развиваться параллельно с NTPD
Обсуждение (12 +12) | Тип: Программы |
26.03.2015 Google отказался от включения Dart в состав браузера Chrome (169 –5)
  Компания Google представила новую стратегию продвижения Dart, языка структурированного программирования для Web, который изначально претендовал на роль прогрессивной замены JavaScript. Решено не привязывать Dart к браузеру и отказаться от идеи интеграции виртуальной машины Dart в Chrome. Разработка будет сосредоточена на применении Dart в качестве промежуточного языка, компилируемого в JavaScript.

Развитие Dart как отдельного языка, альтернативного JavaScript и непосредственно поддерживаемого в браузерах, признано нецелесообразным. Вместо этого Dart будет двигаться в сторону более качественной интеграции с JavaScript и генерации оптимального JavaScript-кода. При этом разработка виртуальной машины Dart VM будет продолжена, но она будет позиционироваться в основном для создания серверных и мобильных приложений.

Особенности языка Dart:

  • Привычный и простой для изучения синтаксис, естественный для программистов на JavaScript, Си и Java.
  • Обеспечение быстрого запуска и высокой производительности для всех современных web-браузеров и различных типов окружений, от портативных устройств до мощных серверов;
  • Возможность определения классов и интерфейсов, позволяющих использовать инкапсуляцию и повторно использовать существующие методы и данные;
  • Необязательное указание типов, использовать или нет статические типы решает разработчик. Указание типов позволяет упростить отладку и выявление ошибок, делает код более ясным и читаемым, упрощает его доработку и анализ сторонними разработчиками.
  • Среди поддерживаемых типов: различные виды хэшей, массивов и списков, очереди, числовые и строковые типы, типы для определения даты и времени, регулярные выражения (RegExp). Возможно создание своих типов;
  • Для организации параллельного выполнения предлагается использовать классы с атрибутом isolate, код которых выполняется полностью в изолированном пространстве в отдельной области памяти, взаимодействуя с основным процессом через отправку сообщений;
  • Поддержка использования библиотек, упрощающих поддержку и отладку больших web-проектов. Сторонние реализации функций могут подключаться в виде разделяемых библиотек. Приложения можно разбить на части и поручить разработку каждой из частей отдельной команде программистов;
  • Набор готовых инструментов для поддержки разработки на языке Dart, включая реализацию средств динамической разработки и отладки с исправлением кода на лету ("edit-and-continue"). При помощи специальной прослойки возможно использование JavaScript библиотек в проектах на языке Dart;
  • Возможность создавать однородные системы, охватывающие как клиентскую, так и серверную часть. Использование одного языка и инструментария для клиентских и серверных компонентов упрощает процесс кодирования и избавляет от постоянной смены контекста.

  1. OpenNews: Выпуск языка программирования Dart 1.7, развиваемого Google для замены JavaScript
  2. OpenNews: Язык Dart утверждён ассоциацией Ecma в качестве международного стандарта
  3. OpenNews: Google выпустил язык программирования Dart 1.0, созданный для замены JavaScript
  4. OpenNews: Для языка Dart представлен сервис компиляции приложений, работающий на стороне браузера
  5. OpenNews: Увидел свет TypeScript 1.0, продвигаемый Microsoft в качестве альтернативы JavaScript
Обсуждение (169 –5) | Тип: К сведению |
25.03.2015 Представлен серверный вариант LibreOffice, работающий через web-браузер (79 +55)
  Организация The Document Foundation анонсировала новый продукт LibreOffice Online, выступающий в роли свободной альтернативы таким сервисам, как Google Docs и Office 365, и позволяющий наладить удалённую работу с офисным пакетом через Web. LibreOffice Online имеет клиент-серверную архитектуру, при которой на сервере выполняется базовый каркас LibreOffice, а интерфейс транслируется клиенту и отображается в web-браузере при помощи специального web-приложения. Первый релиз LibreOffice Online запланирован на начало 2016 года, но энтузиасты могут оценить текущее состояние разработки, воспользовавшись Git-репозиторием. Ресурсы для разработки выделены компаниями IceWarp и Collabora, но сам проект будет развиваться под эгидой организации The Document Foundation.

Для трансляции интерфейса клиенту применяется штатный HTML5-бэкенд библиотеки GTK+, предназначенный для отрисовки вывода GTK-приложений в окне web-браузера. Формирование интерфейса с использованием штатного движка LibreOffice позволяет добиться полностью идентичного отображения структуры документа с версией для настольных систем. Пользовательский ввод перехватывается через DOM-события и затем транслируется на сервер через WebSocket API, позволяющий организовать двунаправленный обмен данными с сервером.

Интерфейс LibreOffice в браузере формируется через компоновку передаваемых с сервера готовых битмапов в формате PNG. Как правило в процессе редактирования непосредственно изменения составляют лишь незначительную часть от общего отображения, а подавляющее большинство действий связаны с просмотром уже существующих частей документа, которые можно держать в кэше и загружать с упреждением. Содержимое отдаётся клиенту в виде копий слоев и блоков (документ разбивается на множество кусочков из отдельных изображений), при этом по сети передаются только изменившиеся части интерфейса, а все неизменившиеся кусочки документа кэшируются на стороне клиента. Управление курсором и выделение областей текста также реализованы силами JavaScript на стороне клиента. Таким образом, просмотр и навигация по уже переданному клиенту образу документа производится без лишней нагрузки на сервер.

Серверная часть включает в себя два компонента: LibreOfficeKit, используемый в LibreOffice для выполнения вычислений, мозаичной отрисовки и многослойной компоновки документа, и новый серверный компонент Tile Server для организации взаимодействия с браузером, передачи изображений с частями интерфейса, организации кэширования кусочков изображений и работы с хранилищем документов. В зависимости от число подключенных клиентов Tile Server запускает для каждого клиента отдельные экземпляры LibreOfficeKit, которые выполняются в изолированном окружении. Для всех экземпляров LibreOfficeKit используется общий кэш.

Для LibreOffice Online также развиваются средства совместного редактирования, позволяющие нескольким людям одновременно работать с одним документом. Совместное редактирование будет реализовано с применением двух упрощений: Во-первых, решено использовать для отрисовки один экземпляр LibreOfficeKit для всех участников работы с документом, т.е. всем участникам будет передаваться один набор кусочков документа, что обеспечит синхронное отображение изменений. Во-вторых, будет выделен общий набор операций с абстрактным документом, таких как выделение блоков, перемещение по тексту, редактирование, удаление и перемещение объектов, которые будут обрабатываться индивидуально для каждого участника группы совместного редактирования.

  1. OpenNews: LibreOffice готовит версии для Web, iOS и Android
Обсуждение (79 +55) | Тип: К сведению |
25.03.2015 Релиз GNOME 3.16. Обзор новшеств (124 +50)
  После шести месяцев разработки официально представлен выпуск десктоп-окружения GNOME 3.16. По сравнению прошлым выпуском было внесено 33 525 изменений, в воплощении которых приняли участие 1043 разработчика. Из наиболее значительных изменений в новой версии можно отметить переработанную систему уведомлений, новую тему оформления, переработанный интерфейс файлового менеджера, новое приложение для чтения электронных книг и календарь-планировщик. Для быстрой оценки возможностей GNOME 3.16 без установки в текущую систему подготовлены специализированные Live-сборки на основе Fedora 21 и openSUSE 13.2.

Основные изменения:

  • Новая реализация системы вывода уведомлений. Разработчики попытались решить задачу увеличения полезности и заметности уведомлений, исключив при этом применение навязчивых методов, отвлекающих пользователя от работы. Новая всплывающая область уведомлений вместо списка пиктограмм источников уведомлений теперь сразу выводит блоки уведомлений, элементы в которых сгруппированы по типам и отсортированы по времени поступления. В отличие от ранее применяемой системы, уведомления в GNOME 3.16 всплывают в верхней части экрана, а список непросмотренных уведомлений совмещён с интерфейсом просмотра календаря - отдельный лоток с сообщениями упразднён, старые уведомления можно просмотреть, кликнув на дату и время. В календаре также представлен блок напоминаний о будущих событиях, что позволяет сразу оценить не только произошедшее, но и намеченное.

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

  • Реализована новая тема оформления GNOME Shell, которая была переписана с использованием CSS-препроцессора SASS и отличается более активным совместным использованием кода с GTK+ темой Adwaita. В новой теме также обеспечено совместное использование единого кода декорирования окон на серверной и клиентской стороне. Новый внешний вид затрагивает обзорный режим, экран входа в систему, меню и другие компоненты, которые теперь выглядят более современно. Новый стиль спроектирован для лучшей сочетаемости с оформлением приложений GNOME;
  • Представлен новый стиль оформления полос прокрутки. Полосы прокрутки теперь показываются только при необходимости во время приближения курсора к краю окна, в остальное время они скрыты;
  • Продолжена адаптация GNOME для работы поверх Wayland. В новой версии реализованы совместимые с Wayland средства для настройки ввода, добавлена поддержка определения границ указателей, с развитием libinput значительно улучшена обработка ввода. Экран входа в систему переведён на работу поверх Wayland (для систем без поддержки Wayland оставлен запасной fallback-режим, использующий X11). Реализация поддержки Wayland в GNOME отмечена как приближающаяся к финальной стадии. Напомним, что в Fedora 22 экран входа в систему по умолчанию будет использовать Wayland, в то время как переход самого GNOME по умолчанию на Wayland запланирован на Fedora 23;
  • Модернизирован интерфейс файлового менеджера Nautilus. Традиционное меню заменено на меню, вызываемое через единую кнопку в заголовке окна (PopOver). Добавлена кнопка для быстрой настройки режима отображения, уровня масштабирования и сортировки результата. Улучшена реализация режимов просмотра в виде значков и списка - значки увеличены, а текст стал более читаемым. Обновлены и перегруппированы многие элементы меню.

    Улучшены средства удаления файлов. Добавлена функция отмены удаления (Undo) файлов и директорий. Операции удаления файлов могут быть отменены непосредственно из уведомления.

  • Реализован новый интерфейс в просмотрщике изображений (Eye of GNOME). Новый внешний вид ориентирован на предоставление максимального экранного пространства для картинки с перемещением элементов управления в заголовок.
  • Переработан интерфейс просмотрщика документов (Evince), в котором представлена новая боковая панель, обеспечено отображение различных режимов отображения для недавно открытых документов и коллекций;
  • Ознакомительная версия нового приложения для чтения электронных книг и управления библиотекой. Пока поддерживается только формат PDF и архивы с комиксами. Поддержка ePub ожидается в следующем выпуске.
  • Внесены значительные оптимизации производительности в программы для просмотра фотографий и прослушивания музыки. Программу для прослушивания музыки добавлена поддержка умных списков воспроизведения, формируемых на основе часто прослушиваемых композиций и недавно добавленных треков. Обеспечена возможность пометки любимых композиций;
  • В диалог выбора файла добавлена функция поиска файлов; Новое приложение (gnome-battery-bench) для отслеживания энергопотребления ноутбука, позволяющее наглядно оценить время работы системы в автономном режиме.
  • Добавлено несколько новых небольших приложений, среди которых карта символов, календарь-планировщик, игра-головоломка GNOME Taquin;
  • В GNOME Software, интерфейс для управления установкой приложений, интегрированы функции установки мультимедийных кодеков;
  • В Центр управления (control-center) и конфигуратор gnome-initial-setup, вызываемый при первом запуске после установки, добавлен экран для настройки приватности. В частности, можно сразу отключить сервисы, связанные с определением местоположения, и автоматическую отправку отчётов об ошибках;
  • Добавлена начальная версия интегрированной среды разработки GNOME Builder, оптимизированной для создания приложений для GNOME. Редактор кода построен с использованием GtkSourceView и поддерживает подсветку синтаксиса, автодополнение кода, перекрёстные ссылки, отслеживание изменений, автоматическое форматирование и одновременное редактирование частей кода в разных окнах. В будущем ожидается появление визуального построителя интерфейсов на базе Glade и недавно интегрированном в GTK+ отладчике GtkInspector. Также ожидается появление средства для интеграции с Git (используется Gitg), системы управления проектами на основе autotools, менеджера ресурсов, симулятора на основе OSTree, отладчика и системы профилирования.
  • Представлено приложение MultiWriter, предназначенного для записи образов систем на USB-накопители.
  • В GTK+ появились встроенные средства отрисовки с использованием OpenGL и экспериментальная поддержка дисплейного сервера Mir. В GDK Pixbuf улучшены средства чтения и записи изображений в различных форматах, включая PNG, JPEG, TIFF, ICO и BMP. Во встроенный в GTK+ интерактивный отладчик GtkInspector добавлена интерактивная JavaScript-консоль, интерфейс для отслеживания памяти GLib, режим инспектирования виджетов и тем оформления;
  • Внесены улучшения в программу Boxes, которая сочетает средства для удаленного соединения с рабочими столами с механизмами управления и запуска виртуальных окружений на локальных и внешних компьютерах. Значительно обновлён и реорганизован интерфейс настройки. Реализована приостановка работы окружений, которые не были просмотрены пользователем;
  • Внесена большая порция улучшений в программу для работы с картами. В результатах поиска и списке избранных мест обеспечен вывод справочной информации об объектах, такой как адресные данные и ссылки на статьи в Wikipedia. Добавлена поддержка online-сервиса Foursquare. Обеспечена возможность поиска в адресной книге по указанному адресу. Улучшена работа в условиях отсутствия подключения к Сети или отключения определения местоположения. Реализован режим корректировки маршрута через его перетаскивание на карте.
  • В калькуляторе реализован вывод истории вычислений.
  • Включены наработки по обеспечению распространения программ для GNOME в форме изолированных контейнеров, включающих все необходимые для работы приложения зависимости и не привязанных к конкретному дистрибутиву Linux;

  1. OpenNews: Представлено первое полностью изолированное приложение для GNOME
  2. OpenNews: Разработчики GNOME развивают систему контейнеров для запуска графических приложений
  3. OpenNews: Собраны средства для разработки GNOME Builder
  4. OpenNews: Релиз GNOME 3.14. Обзор новшеств
  5. OpenNews: Выпуск десктоп-окружения Cinnamon 2.4, продолжающего традиции GNOME 2
Обсуждение (124 +50) | Тип: Программы | Интересно
25.03.2015 Компания Google развивает новую открытую систему сборки Bazel (57 +13)
  Компания Google открыла код сборочного инструментария Bazel, основанного на наработках, используемых для сборки большинства внутренних проектов компании. Bazel обеспечивает сборку проекта, запуская необходимые компиляторы и тесты, выполняя задачи, аналогичные таким системам, как Make, Ant, Gradle, Buck, Pants и Maven. Bazel позволяет собирать проекты на любых языках программирования и отличается сочетанием высокой скорости, надёжности и повторяемости процесса сборки. Код Bazel распространяется под лицензией Apache.

В отличие от Make и Ninja в Bazel применяется более высокоуровневый подход к построению правил сборки, при котором вместо определения привязки команд к собираемым файлам производится применения более абстрактных готовых блоков, таких как "сборка исполняемого файла на языке С++", "сборка библиотеки на C++" или "запуск теста для C++", а также определение целевых и сборочных платформ. Дополнительная функциональность реализуется через механизм подключения расширений.

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

Особенности Bazel:

  • Возможность использования для сборки кода, написанного на разных языках программирования. Из коробки поддерживается Java, Objective-C и C++, но через систему расширений возможна поддержка произвольных языков;
  • Высокоуровневый язык задания правил сборки. В текстовом файле BUILD компоненты проекта описываются как связка библиотек, исполняемых файлов и тестов, без детализации на уровне отдельных файлов и команд вызова компилятора;
  • Использование единых инструментов и сборочных файлов для разных платформ и архитектур. Например, один файл сборки без изменений может применяться как для серверной системы, так и для мобильного устройства;
  • Повторяемость сборки. В BUILD-файлах обязательно полностью определены все зависимости, на основе которых принимаются решения по пересборке компонентов после внесения изменений и распараллеливании процесса сборки. Все операции сборки являются инкрементальными и всегда приводят к идентичному результату в любых окружениях;
  • Высокая масштабируемость. В Google Bazel применяется для сборки проектов, которые могут насчитывать сотни тысяч файлов. Сборка проекта, в котором не были изменены файлы, занимает примерно 200мс. Пересборка выполняется только для файлов, которые требуют пересборки. Тесты выполняются только если текущее состояние проекта может привести к изменению результата.

Пример сборочного файла:



 package(default_visibility = ["//visibility:public"])
 cc_library(
 name = "hello-lib",
 srcs = ["hello-lib.cc"],
 hdrs = ["hello-lib.h"],
 )
 cc_binary(
 name = "hello-world",
 srcs = ["hello-world.cc"],
 deps = [":hello-lib"],
 )
 cc_test(
 name = "hello-success_test",
 srcs = ["hello-world.cc"],
 deps = [":hello-lib"],
 )

  1. OpenNews: Выпуск системы сборки CMake 3.1.0
  2. OpenNews: Выпуск системы сборки GNU Make 4.1
  3. OpenNews: Разработчики из компании Google открыли код системы сборки Ninja
  4. OpenNews: Для GNOME-приложений представлена новая экспериментальная система сборки BuilDj
  5. OpenNews: Выпуск сборочного инструментария qbs 1.3.0, развиваемого проектом Qt
Обсуждение (57 +13) | Тип: Программы |
24.03.2015 Проект LibOS развивает вариант ядра Linux с сетевым стеком в форме библиотеки (36 +11)
  Для рассмотрения разработчиками ядра Linux представлен набор патчей с реализацией технологии LibOS для Linux. Суть LibOS сводится к возможности сборки сетевого стека ядра в форме внешней разделяемой библиотеки, выполняемой в пространстве пользователя и связываемой с пользовательскими приложениями. Важной особенностью, является то, что в библиотеку выносится штатный сетевой стек ядра, что позволяет использовать такие возможности, как TCP, UDP, SCTP, DCCP, Mobie IPv6, Multipath TCP и netlink.

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

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

  1. OpenNews: Intel представил сокращённый вариант сетевого стека для Linux
  2. OpenNews: Интервью с Алексеем Кузнецовым, одним из создателей сетевого стека Linux
  3. OpenNews: Fastsocket - новая высокомасштабируемая реализация сетевой подсистемы ядра Linux
  4. OpenNews: Ядро операционной системы стало узким местом при выполнении операций в СУБД Redis
Обсуждение (36 +11) | Тип: К сведению |
24.03.2015 Сертификат удостоверяющего центра был использован для перехвата трафика произвольных доменов (49 +26)
  Компания Google сообщила о выявлении в сети обманного TLS-сертификата, используемого в прокси-сервере для установки не вызывающих подозрений защищённых соединений с любыми серверами в сети. В том числе создание поддельных TLS-соединений зафиксировано для некоторых доменов Google.

В ходе разбирательства выяснилось, что китайский удостоверяющий центр CNNIC (China Internet Network Information Center) передал холдингу MCS промежуточный (вторичный) корневой сертификат, на условии его использования только для доменов, зарегистрированных данной компанией. В нарушение всех правил обращения с корневыми сертификатами, закрытый ключ не был изначально помещён в HSM (Hardware Security Module), а установлен в MITM-прокси, осуществляющем перехват защищённых соединений с целью контроля за работой сотрудников корпорации.

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

Напомним, что компрометация любого из существующих удостоверяющих центров может привести к возможности сгенерировать рабочий сертификат для любого сайта в сети, независимо от того каким центром сертификации выдан оригинальный SSL-сертификат. При каждом HTTPS/TLS-сеансе пользователь изначально доверяет всем имеющимся центрам сертификации, поэтому утечка корневого сертификата у одного из центров сертификации может привести к коллапсу всей системы. Средства защиты от подобных манипуляций, например методы перекрёстной сертификации или специальные расширения к протоколу TLS, только разрабатываются.

Chrome и Firefox позволяет отловить некорректные манипуляции с сертификатами благодаря наличию механизма Public Key Pinning, позволяющего явно определить сертификаты каких удостоверяющих центров допустимо использовать для заданного сайта (в частности, Google жестко привязывает в Chrome свои домены к определённому удостоверяющему центру). Если для установки защищённого соединения применён достоверный сертификат выписанный иным удостоверяющим центром, соединение будет отвергнуто из-за подозрения в атаке "man-in-the-middle". Для оперативного отзыва сертификатов промежуточных удостоверяющих центров в Google Chrome используется механизм CRLset. В следующем выпуске Firefox ожидается появление механизма OneCRL, предоставляющего похожие на CRLset средства для централизованного отзыва сертификатов.

  1. OpenNews: EFF, Mozilla, Cisco и Akamai создадут контролируемый сообществом удостоверяющий центр
  2. OpenNews: Выявлены обманные SSL-сертификаты, полученные из-за халатности удостоверяющего центра TurkTrust
  3. OpenNews: Mozilla объявляет ультиматум удостоверяющим центрам
  4. OpenNews: Взлом аккаунта в удостоверяющем центре Comodo привёл к генерации 9 обманных SSL-сертификатов
  5. OpenNews: Опубликован полный список обманных SSL-сертификатов. В списке ЦРУ и МИ-6
Обсуждение (49 +26) | Тип: Проблемы безопасности |
24.03.2015 В скрипте инициализации RHEL допущена ошибка, приводящая к удалению всех файлов (258 +24)
  В подготовленном для тестового выпуска Red Hat Enterprise Linux 6.7 скрипте инициализации прокси сервера Squid выявлена проблема, которая приводит к удалению всех файлов в системе при перезапуске squid. По своей сути ошибка напоминает недавний инцидент с удалением всех файлов пользователя в клиенте Steam и также приводит к выполнению команды "rm -rf /*" в случае незаполнения формирующей путь переменной.

Pavel Šimerda, мэйнтейнер пакета squid из компании Red Hat, смог повторить эксперимент в виртуальной машине с тестовой веткой RHEL 6.7 и установленным пакетом squid-3.1.23-4.el6. Достаточно запустить squid командой "service squid start", после чего инициировать его перезапуск командой "service squid restart", в результате чего начнётся процесс удаления всех файлов на диске. В пакете squid-3.1.23-5.el6 проблема отмечена как решённая (проблемный пакет squid-3.1.23-4.el6 не попал в дистрибутив, ошибка исправлена до публикации). В качестве причины возникновения ошибки упомянуто регрессивное изменение кода. Другая информация пока закрыта для публичного доступа.

Судя по всему, проблема вызвана патчем на основе кода, предложенного для контроля за полным завершением ранее работающего экземпляра squid в процессе перезапуска. В альтернативном скрипте инициализации squid.init операция "rm -rf $SQUID_PIDFILE_DIR/*" используется дважды - в блоках stop и restart, при этом в restart удаление выполняется сразу после выполнения блока stop:


 stop
 rm -rf $SQUID_PIDFILE_DIR/*
 start

Т.е. при запуске "service squid restart" команда "rm -rf $SQUID_PIDFILE_DIR/*" запускается два раза. Переменная SQUID_PIDFILE_DIR определяется статически в начале файла и, кроме вышеотмеченных команд rm, в дальнейшем используется только в проверке наличия этого пути. Подобная чистка содержимого директории, а также сама переменная SQUID_PIDFILE_DIR, убраны из скрипта инициализации RHEL из-за потенциальных проблем.

Патч для решения проблемы с дублированием содержал изменённый вариант функции restart() и был подготовлен на основе неофициального скрипта инициализации, т.е. содержал внутри блока restart типовую строку для чистки ("rm -rf $SQUID_PIDFILE_DIR/*"). С учётом отсутствия переменной SQUID_PIDFILE_DIR в варианте скрипта из состава RHEL 6, подобная чистка приводила к выполнению команды "rm -rf /*".

  1. OpenNews: Ошибка в Steam для Linux может привести к удалению всех данных пользователя
Обсуждение (258 +24) | Тип: К сведению |
23.03.2015 Facebook открыл код инструментария для симуляции работы в проблемных сетях (53 +10)
  Facebook представил новый открытый проект ATC (Augmented Traffic Control), предназначенный для организации тестирования приложений в условиях их применения в сетях различного качества. ATC позволяет симулировать такие ситуации, как падение пропускной способности, возникновение задержек в передаче пакетов, различные уровни потери и повреждения пакетов, нарушение порядка следования пакетов. ATC позволяет значительно упростить оценку качества работы любых сервисов и приложений в различных условиях подключения пользователя к сети, например, симулируя типовые характеристики сети 2G.

Код ATC написан на языке Python и распространяется под лицензией BSD. Инструментарий состоит из двух компонентов: web-интерфейс на базе фреймворка Django для управления процессом симуляции и демон atcd, который запускается на сетевом шлюзе и вносит те или иные изменения в характер прохождения трафика. Для влияния на трафик применяются штатные механизмы ядра Linux, доступ к которым производится через API netlink, для работы с которым применяется pyroute2. Взаимодействие web-интерфейса и демона управления трафиком построено с использованием REST API и интерфейса Apache Thrift.

Для оценки влияния сетевых аномалий, достаточно обеспечить выход исследуемой системы через сетевой шлюз, на котором установлен atcd. Симуляция применяется выборочно только к участвующим в эксперименте IP-адресам, что позволяет применять ATC на обычных шлюзах, обрабатывающих реальный трафик. Для маркировки участвующих в эксперименте пакетов применяется iptables (цель MARK в таблице mangle). Урезание трафика и внесения изменений в его характер производится с использованием методов классификации трафика (filter, class, qdisc), задаваемых утилитой tc из состава пакета iproute2.

Обсуждение (53 +10) | Тип: Программы |
23.03.2015 Выпуск графического тулкита GTK+ 3.16.0 с возможностью отрисовки через OpenGL (68 +17)
  За два дня до выхода GNOME 3.16 представлен стабильный релиз новой ветки многоплатформенного тулкита для создания графического интерфейса пользователя - GTK+ 3.16.0. В состав тулкита входит полный набор виджетов, позволяющих использовать GTK+ для проектов различного уровня и размера. Код GTK+ развивается в рамках проекта GNU и распространяется под лицензией LGPL, что позволяет использовать GTK+ не только для разработки свободного ПО, но и для создания проприетарных приложений, не требуя от производителей закрытых программ выплаты роялти или покупки специальной лицензии. С тех пор, как GTK+ был разработан в рамках проекта GIMP, тулкит используется в различных проектах, например, GTK+ лежит в основе десктоп-окружений GNOME и Xfce или используется в таких продуктах, как Firefox и OpenOffice/LibreOffice.

GTK+ спроектирован для поддержки не только C/C++, но и других языков программирования, таких как Perl и Python, что в сочетании с использованием визуального построителя интерфейса Glade позволяет существенно упростить разработку и сократить время написания графических интерфейсов. Организация вывода в GTK+ абстрагирована от типа оконных систем, например, поставляется бэкенд, обеспечивающий возможность работы поверх дисплейного сервера Wayland, а также бэкенд, позволяющий отрисовывать вывод библиотеки GTK+ в окне web-браузера (запустив Gtk-приложение на одной машине, можно открыть web-браузер на другой машине и получить доступ к интерфейсу данной программы).

Из добавленных в GTK+ 3.16.0 улучшений можно отметить:

  • В GDK (GIMP Drawing Kit) встроена поддержка OpenGL, которая позволяет организовать отрисовку через OpenGL без использования внешних надстроек. Для рендеринга через OpenGL представлен новый виджет GtkGLArea, который ранее распространялся в виде внешнего дополнения. В обиход введён новый тип объекта GdkGLContext, который позволяет прикрепить контекст OpenGL к определённому окну GdkWindow и использовать команды OpenGL для отрисовки произвольных элементов GTK+ в данном окне. Реализация позволяет использовать OpenGL для отрисовки в окружениях X11 и Wayland через libepoxy с использованием GLX или EGL.

  • В состав включён экспериментальный GDK-бэкенд, обеспечивающий возможность работы поверх дисплейного сервера Mir. Бэкенд включает в себя около 5 тысяч строк кода и пока не собирается по умолчанию - для его сборки требуется указать опцию "--enable-mir-backend". Для запуска приложения с использованием данного бэкенда следует установить переменную окружения "GDK_BACKEND=mir";
  • Для объекта GtkStack реализован новый контроллер GtkStackSidebar, позволяющий создавать боковые панели;
  • Добавлен новый тип кнопок GtkModelButton, в которых в качестве модели выступает GAction;
  • В объект GtkPopover добавлен подкласс GtkPopoverMenu, упрощающий создание кнопок в заголовке окна (popover) в форме меню;
  • Переработаны компоненты, отвечающие за прокрутку содержимого окон. Добавлена поддержка перекрытия (overlay) полос прокрутки. Обеспечена возможность индикации запрета прокрутки ('scrolled off'). Представлены новые сигналы "::edge-reached" и "::edge-overshot", а также новое правило GTK_POLICY_EXTERNAL, например, позволяющее реализовать сдвиг без видимых полос прокрутки.
  • Удалены или объявлены устаревшими вызовы: gdk_window_set_static_gravities, gdk_window_set_composited, gtk_style_context_get_background_color, gtk_style_context_get_border_color, gtk_settings_set_string/long/double_property, gtk_settings_install_property, GtkStyleProperties, gdk_cursor_new, gdk_*_libgtk_only, GtkCellRendererPixbuf::follow-state.

  1. OpenNews: Выпуск музыкального проигрывателя Audacious 3.6, вернувшегося с GTK3+ на GTK2+
  2. OpenNews: В состав GTK+ интегрирована поддержка дисплейного сервера Mir
  3. OpenNews: Для GTK+ представлена встроенная поддержка OpenGL
  4. OpenNews: Выпуск графического тулкита GTK+ 3.14.0 и графической библиотеки Clutter 1.20.0
  5. OpenNews: Началось бета-тестирование GNOME 3.16
Обсуждение (68 +17) | Тип: Программы |
Следующая страница (раньше) >>
Навигация
 
 Новости для экспорта XML
 В социальных сетях:  twitter  
 Сводные | за день | мини-новости
 Разделы новостей
 Что нового на OpenNet
 Поиск в новостях
 Новые комментарии
 Добавить свою новость

Прошлый раз:

Мини-новости
- 28.03 Новая версия легковесного Linux дистрибутива antiX 14.4 (33 +5)
- 28.03 Выпуск открытого медиацентра Kodi 14.2 (бывший XBMC) (16 +4)
- 28.03 Второй кандидат в релизы инсталлятора Debian 8.0 (52 +14)
- 26.03 Релиз Valentina 0.3.0, свободного графического редактора для создания лекал одежды (70 +43)
- 25.03 Создатель СУБД PostgreSQL удостоен премии Тьюринга (36 +46)
- 25.03 В OpenSSH по умолчанию отключена поддержка SSH-1. Трудности избавления от устаревших криптоалгоритмов (34 +15)
- 24.03 httpdiff - утилита для наглядной оценки различий в HTTP-ответах (30 +15)
- 24.03 Корректирующий выпуск рабочего стола KDE Plasma 5.2.2 (14 +22)
- 24.03 Выпуск HTTP-сервера nginx 1.7.11 с поддержкой пула потоков (21 +13)
- 24.03 Студия Pixar представила бесплатную некоммерческую версию RenderMan (35 +17)

Советы
- 18.03 Подготовка качественных GIF-файлов из видео при помощи FFmpeg
- 13.03 Обновление Debian Wheezy до Debian Jessie, не дожидаясь официального релиза
- 12.03 Подавление шумов средствами PulseAudio
- 23.02 Создание интерактивных графических моделей в CAS MAXIMA при использовании ОС GNU Linux
- 05.02 Мониторинг температуры в Zabbix с использованием Digitemp

Обсуждаемые новости
- 23:06 Выпуск открытого медиацентра Kodi 14.2 (бывший XBMC)  (16)
- 22:42 Космическое агентство NASA открыло код платформы для создани (20)
- 22:35 Релиз Samba 4.2.0. Прекращение поддержки Samba 3 (80)
- 22:31 На GitHub обрушилась необычная DDoS-атака, проведённая через (110)
- 20:24 Второй кандидат в релизы инсталлятора Debian 8.0 (52)
- 20:10 Новая версия легковесного Linux дистрибутива antiX 14.4 (33)
- 20:00 Доступна финальная бета-версия Ubuntu 15.04, ознаменовавшая  (157)
- 18:26 Проект OpenBSD выпустил NTP-сервер OpenNTPD 5.7p4 (13)


  Закладки на сайте
  Проследить за страницей
Created 1996-2015 by Maxim Chirkov  
ДобавитьРекламаВебмастеруГИД  
RUNNet TopList
п╡п╣я│п╣п╩я▀п╣ п╨п╟я─я┌п╦п╫п╨п╦ я─п╟п╥п╡п╩п╣п╨п╟я┌п╣п╩я▄п╫я▀п╣ пЁп╦я└п╨п╦ п╦п╫я┌я─п╣я│п╫я▀п╣ я└п╟п╨я┌я▀ я│п╪п╣я┬п╫я▀п╣ п╡п╦п╢п╣п╬ я│п╪п╣я┬п╫я▀п╣ п╦я│я┌п╬я─п╦п╦ п╦п╥ я│п╬я├я│п╣я┌п╣п╧