Обзор менеджера задач Getting Things gnome свободная библиотека линейной алгебры Eigen. Часть 1: История и основные возможности



Скачать 239.29 Kb.
Pdf просмотр
Дата04.11.2016
Размер239.29 Kb.
Просмотров639
Скачиваний0
ТипОбзор

№103, 21 марта 2012
Проект дома своей мечты
с помощью Sweet Home 3D
Свободная вёрстка в Scribus.
Часть 3: графические блоки
и другие возможности
электронное приложение к журналу «Системный администратор»
Обзор менеджера задач
Getting Things GNOME
Свободная библиотека линейной
алгебры Eigen. Часть 1: История
и основные возможности

2
№103, 21 марта 2012
Электронное приложение «Open Source»
Появившееся в начале марта сообщение о создании jQuery Foundation про- шло почти незамеченным в Open Source-сообществе, а ведь это любопыт- ный факт. Не каждая библиотека достигает такого уровня, что за ней вста-
ёт какая-то юридическая структура. Если же всё-таки встаёт, то обычно это коммерческая компания, предлагающая услуги по совершенствованию и адаптации продукта под заказ или по созданию новых решений на её осно- ве. С популярной JavaScript-библиотекой jQuery случилось иначе: за ней теперь значится неком- мерческая организация, в которую вошли «знакомые все лица» – представители совета (jQuery
Board), ранее укомплектованного командой разработчиков (jQuery Team).
Такой способ поддержки программных проектов – создание фонда, собирающего пожерт- вования у разных заинтересованных сторон для всеобщего блага, – весьма популярен в мире
Open Source. Однако на слуху лишь очень крупные проекты, имеющие целый стек решений для конечных пользователей (Linux, Apache, Mozilla и т.п.). Проекты, нацеленные сугубо на разра- ботчиков (фреймворки, библиотеки), традиционно оставались в стороне. Это закономерно, ес- ли сопоставить масштабы. Однако вряд ли кто-то будет ставить вопрос о массовости примене- ния jQuery. Отрадно видеть, что в данном случае, заботясь о юридических делах, авторы не за- бывают о свободах.
Дмитрий Шурупов,
главный редактор (
osa@samag.ru
)
Колонка главного редактора
«Open Source»
электронное приложение к журналу
«Системный администратор»
№103, 21 марта 2012
РЕДАКЦИЯ
Исполнительный директор
Главный редактор
Владимир Положевец
Дмитрий Шурупов
Иллюстрация на обложке

Сайт электронного приложения:
Анна Гервова http://osa.samag.ru
За содержание статей ответственность несет автор. Все права на опубликованные материалы защищены.

3
№103, 21 марта 2012
Электронное приложение «Open Source»
Новости мира Open Source
Telefonica поможет Mozilla выпустить
первые веб-устройства
Крупный испанский оператор сотовой связи Telefonica сообщил о сотрудничестве с Mozilla в инициативе по созданию первых «веб-устройств».
Прошлым летом Mozilla объявила о запуске проекта по созданию своей операционной си- стемы, ориентированной на использование современных технологий так называемого «откры- того веба» (Open Web), – «Boot to Gecko» (B2G). В продвигаемой Mozilla концепции HTML5 позиционируется как платформа для новой экосистемы для смартфонов и других мобиль- ных устройств. Теперь стало известно, что уже в этом году на рынке появятся первые ори- ентированные на Open Web устройства, в создании которых примет участие один из круп- нейших мировых сотовых операторов – Telefonica.
В пресс-релизе Telefonica говорится о платформе Open Web Devices (OWD), официальный запуск который состоится позже в этом году. Уже запущен сайт OWD, на котором все жела- ющие могут подписаться на анонсы новостей платформы.
По словам испанского оператора, сотрудники её научно-исследовательского центра ра- ботают над концепцией Open Web Devices с начала 2011 года и успели создать прототип для демонстрации потенциальным партнёрам.
Когда Mozilla анонсировала B2G, организации решили скооперироваться для решения об- щих задач. К разработке операционной системы на базе HTML5 помимо его специалистов
Telefónica и Mozilla привлечены инженеры компании Qualcomm, чипсет которой использует- ся в качестве аппаратной платформы.
Первую партию 35-долларовых компьютеров Raspberry Pi раскупили
за несколько часов
29 февраля было объявлено о продажах бюджетного одноплатного компьютера Raspberry Pi, предназначенного для запуска GNU/Linux. Первые 10 тысяч устройств раскупили всего за не- сколько часов.
Одноплатный компьютер Raspberry Pi разрабатывается некоммерческой организацией
Raspberry Pi Foundation, базирующейся в Великобритании. Недавний ажиотаж вызвали про-

4
№103, 21 марта 2012
Электронное приложение «Open Source»
дажи первой партии из 10 тысяч устройств типа «Model B». Model B – это плата размером в 85,6 х 53,98 мм, на которую инженерам удалось вместить систему на кристалле от Broadcom
(BCM2835) с 700-мегагерцовым процессором ARM11, графическим процессором Broadcom
VideoCore IV (OpenGL ES 2.0 ,1080p), 256 Мб SDRAM, двумя USB-выходами, Ethernet, мульти- медийными выходами (композитный RCA, HDMI, аудиоджек 3,5 мм), слотом для карт памяти
SD. Стоимость одного устройства Raspberry Pi Model B составила всего 35 долларов США.
Другая модель Raspberry Pi – Model A – обладает чуть более скромными характеристи- ками (один USB-порт вместо двух, отсутствие Ethernet), зато потребляет меньше мощно- сти и обойдётся потенциальному покупателю ещё дешевле своего собрата Model B – всего в 25 USD (против 35 USD). Продажи первой партии Model A ожидаются позже в этом году.
В качестве управляющей операционной системы для одноплатных компьютеров Raspberry
Pi разработчики рекомендуют различные дистрибутивы GNU/Linux: Debian, Fedora или Arch
Linux. Среди официально поддерживаемых языков программирования для разработки про- граммного обеспечения для устройства заявлены Python, BBC BASIC, C и Perl.
Авторы проекта надеются, что появление на рынке таких бюджетных компьютеров, как Raspberry Pi, будут способствовать привлечению детей к программированию с ранних лет – сам проект изначально ориентирован на более увлекательное и практичное изучение информатики в школах.
Впрочем, несмотря на формальную «ориентированность на детей», проект Raspberry Pi получил большой интерес со стороны всего мирового Linux-сообщества. Джим Землин
(Jim Zemlin), генеральный директор The Linux Foundation: «Неудивительно, как быстро разо- брали компьютеры. Raspberry Pi, обладая очень низкой ценой и необходимой базой, может стать мощным инструментом в руках любого энтузиаста». Более того, по словам Землина, проекты вроде Raspberry Pi значительно способствуют технологическим инновациям в целом.
Проект lumberjack улучшит логирование в Linux
По инициативе энтузиастов Linux-дистрибутива Fedora начались работы над новым проек- том, призванным улучшить журналирование различных событий (логирование) в операци- онной системе GNU/Linux, – Project lumberjack.
В первых дискуссиях по вопросам совершенствования системы логирования в Linux при- няли участие Балаш Шейдлер (Balazs Scheidler; известен по syslog-ng), Леннарт Поттеринг

5
№103, 21 марта 2012
Электронное приложение «Open Source»
(Lennart Poettering; systemd), Стив Гиббс (Steve Gibbs; auditd) и ряд других разработчиков из Red Hat и таких Open Source-проектов, как rsyslog и syslog-ng. Результатом проведенных обсуждений и стал запуск нового проекта lumberjack, призванного «обновить и улучшить ар- хитектуру событийного логирования».
В lumberjack будут реализованы концепции и спецификации, зафиксированные в Common
Event Expression (CEE). CEE – набор спецификаций, созданных корпорацией MITRE и на- правленных на стандартизацию описания и логирования событий, а также обмена данными о них. Для этого разрабатывается специализированный язык (CEE Language), синтаксис ко- торого определяется в CEE Log Syntax (CLS) Specification. Первая альфа-версия специфи- каций CEE (1.0-alpha) вышла 29 февраля 2012 года.
Сайт lumberjack – http://fedorahosted.org/lumberjack
MIT открыл публичный доступ к веб-сервису
визуальной разработки App Inventor
Массачусетский технологический институт (MIT) объявил о запуске публичного сервиса для визуальной разработки Android-приложений с помощью App Inventor.
App Inventor – инструмент визуальной разработки приложений, созданный в 2010 году в Google для мобильной платформы Android. Затем компания решила «свернуть» этот про- ект и летом 2011 года передала его центру изучения мобильных технологий MIT. За минув- шее время в MIT адаптировали App Inventor для образовательных целей и провели закры- тое тестирование, в котором участвовало 5000 человек. Теперь сервис доступен для бета- тестирования всеми желающими на сайте http://appinventor.mit.edu/
– правда, для аутенти- фикации требуется наличие Google-аккаунта.
Вот как описывают App Inventor в MIT: «С помощью App Inventor вы можете создавать раз- личные приложения. Зачастую люди начинают с игр вроде MoleMash. [..] Но можно делать и образовательные программы.
Например, викторины для помощи в подготовке к тесту. Благодаря поддержке синтеза речи (TTS) можно даже сделать так, чтобы телефон задавал вопросы голосом. Для работы с App Inventor не нужно быть профессиональным разработчиком. Потому что вместо напи- сания кода вы создаете визуальный дизайн, внешний вид приложения и используете блоки для определения поведения программы».

6
№103, 21 марта 2012
Электронное приложение «Open Source»
Часть разработчиков AgiliaLinux создает новый дистрибутив
18 марта в форуме сообщества дистрибутива AgiliaLinux было объявлено о том, что часть разработчиков уходит из проекта для создания нового форка.
Проект AgiliaLinux появился около двух лет назад: в апреле 2010 года украинская компа- ния «Линукс Саппорт» объявила о создании AgiliaLinux, названного продолжателем дистрибу- тива MOPSLinux. MOPSLinux – дистрибутив, основанный на Slackware и разрабатывавшийся в российском НПО «Сеть» (после релиза версии 7.0 проект был закрыт как нерентабельный).
Энтузиасты, решившие продолжить развитие идей MOPSLinux, успели выпустить един- ственную стабильную версию нового дистрибутива AgiliaLinux – 8.0. Теперь, через 5 месяцев после этого релиза, стало известно о том, что противоречия среди разработчиков AgiliaLinux привели к расколу коллектива.
В форуме сообщества сообщается об уходе из проекта AgiliaLinux семи разработчиков, которые в общей сложности поддерживали более 800 пакетов программного обеспечения
(среди них – Xfce, Openbox и Java). Оставляя проект, авторы поблагодарили всех его участ- ников: «Мы выражаем благодарность тем, кто остался здесь, за опыт и прекрасно проведён- ное время. Всем пока и спасибо за рыбу!».
В качестве причин ухода называются «тормоза и неопределённость в разработке», а так- же негативное отношение к «текущей политике разработки», на которую авторы «пытались влиять более полутора лет». Новый Linux-дистрибутив от бывших разработчиков AgiliaLinux должен появиться «в скором времени».
Один из лидеров дистрибутива AgiliaLinux, «на счету» которого поддержка большего чис- ла пакетов дистрибутива, чем у всех ушедших семи разработчиков вместе взятых, призвал пользователей AgiliaLinux не паниковать: «Не пугайтесь так: агилию я не брошу. [..] Отставить панику, я надеюсь, что все будет хорошо, независимо от того, что случилось».
EOF
Дмитрий Шурупов <
osa@samag.ru
>
по материалам
www.nixp.ru

7
№103, 21 марта 2012
Электронное приложение «Open Source»
Обзор менеджера задач
Getting Things GNOME
В последнее время широкое распространение получила методика GTD («Getting Things Done»,
«доведение дел до завершения»), автором которой является специалист по управлению вре- менем Дэвид Аллен. Несколько лет назад в Linux появилась программа GTG (Getting Things
GNOME!, http://gtg.fritalk.com
), представляющая собой одно из средств, реализующих данную методику.
О версиях и установке
Последняя версия GTG – 0.2.9 – вышла в феврале этого года. Установить её в Ubuntu можно из репозитория https://launchpad.net/
gtg/+archive/ppa
. Но учтите, что, поскольку данный ре- лиз является предварительной версией будущего 0.3.0, работает он недостаточно стабильно.
В основном репозитории Ubuntu 11.10 сейчас доступна версия 0.2.4. Информацию о сборках
GTG для других дистрибутивов и архив с исходным кодом можно найти на http://gtg.fritalk.com/
pages/download
. Помимо пакетов для Linux, у программы есть готовые сборки для OpenBSD,
FreeBSD и Windows.
Как видно из названия GTG, приложение ориентировано на работу в среде GNOME. Одна- ко оно написано на Python (с использованием python-gtk2) и не имеет жёстких привязок к это- му окружению, так что нормально функционирует в других оболочках.
Основы GTD в GTG
При первом запуске GTG вы увидите 7 активных задач. Каждая из них – справка по тому или иному аспекту работы с программой.
Как видно, основной задачей (иногда её называют проектом) является какая-то «большая» цель, для достижения которой нужно предпринять более одного действия (представляется как набор подзадач), – в данном случае (см. рис. 1) это «Начало работы с GTG».
Подзадача же требует для своего выполнения одного действия. «Большую» задачу можно
«развернуть» и «свернуть», что меняет доступность обзора ее подзадач. Справа от задачи – две графы с датами, показывающими начало работы и временем предполагаемой реализации.

8
№103, 21 марта 2012
Электронное приложение «Open Source»
Создадим первую задачу в GTG. Для этого можно или использовать клавиатурное соче- тание + , или нажать на кнопку «Новая задача», или ввести название задачи в тек- стовом поле (слева от кнопки добавления) и нажать . В последнем случае, в отличие от двух других, не будет открываться новое окно для редактирования. Теперь можно добавить текст задачи и выбрать дату начала и срок её выполнения. При закрытии окна задачи во вре- мя его редактирования задача сохранится автоматически.
Как создать проект с подзадачами? Начинать надо с задачи – например, «Установить Ubuntu».
После введения этого названия опуститесь на пару строк с помощью и добавьте под- задачи. Для этого используйте дефис («-») в начале названий подзадач – например, введите
«- скачать образ с Ubuntu» и нажмите на . Дефис превратится в «стрелочку», символи- зирующую подзадачу. По аналогии, создайте ещё пару подзадач – например, «Записать об- раз на диск» и «Установить Ubuntu с диска». Проект готов.
Отменить задачу или отметить ее выполнение можно в контекстном меню или с помощью панели инструментов задачи, когда она открыта.
Для просмотра выполненных задач воспользуйтесь меню: Вид → Выполненные задачи.
Эти и многие другие действия можно выполнить с помощью горячих клавиш, которые, к со- жалению, не переопределяются.
Рисунок 1. Старт GTG

9
№103, 21 марта 2012
Электронное приложение «Open Source»
Обзор, метки и приоритеты
Важное место в управлении временем занимает понятие «обзора задач». Идея заключается в том, что система должна позволять видеть в текущий момент времени не просто те зада- чи, которые необходимо решить, но те, что привязаны к определенному контексту. Например, на работе должны показываться только те задачи, которые могут быть решены именно там.
В GTG для этого предусмотрены метки. Количество меток для одной задачи не ограничи- вается. Они начинаются с символа «@», не могут содержать пробельные знаки и добавляют- ся при редактировании задач. Например, можете открыть проект «Установить Ubuntu», пере- местить курсор сразу под заголовок проекта и ввести там «@На_работе @Дома» – получится, что подзадачи этого проекта можно выполнять и дома, и на работе (см. рис. 2).
После того, как метки добавлены, можно отобразить «Панель меток». Для этого нажмите на клавишу или выберите в меню: «Вид → Панель меток». В панели слева появятся мет- ки (см. рис. 3), щёлкая по которым, можно получать список соответствующих задач. Кроме то- го, меткам можно для удобства присваивать цвета.
Другим средством, призванным оптимизировать обзор задач, являются приоритеты. Для это- го в GTG можно использовать метки специального вида (
http://gtg.fritalk.com/post/2010/02/03/
GTG-tips-and-tricks2
). Например, для самых важных задач – метку «@-1», для менее значитель-
Рисунок 2. Добавляем метки

10
№103, 21 марта 2012
Электронное приложение «Open Source»
ных – «@--2», для совсем незначительных – «@---3». Благодаря такому использованию дефи- сов в панели меток будет создана определённая иерархия.
Рабочий план
Часто бывает необходимо увидеть только те задачи, день выполнения выполнения которых уже наступил. В GTG это позволяет сделать инструмент «Рабочий план». Его можно увидеть на- жатием на соответствующую кнопку на панели инструментов или в меню: «Вид → Рабочий план».
Кстати, обратите внимание, что задача отображается в рабочем плане только при условии, что все ее подзадачи выполнены. Такой подход предназначен для дополнительной проверки
(«Все ли подзадачи готовы, чтобы отмечать проект как выполненный?»).
И ещё один нюанс. Если в панели меток вызв ать контекстное меню какой-либо из добав- ленных ранее меток, можно увидеть пункт «Показывать в рабочем плане», который по умол- чанию будет активен. Его выключение запрещает задачам с данной меткой отображаться в рабочем плане.
Дополнительные возможности
Зато GTG поддерживает дополнения – модули. Их список доступен в меню: «Правка → Па- раметры → Модули».
Рисунок 3. Панель меток GTG

11
№103, 21 марта 2012
Электронное приложение «Open Source»
Первый из доступных модулей обеспечивает поддержку Tomboy/Gnote – его я и рассмо- трю. После активации модуля перейдите к любой задаче и в её панели инструментов щелкни- те по последней кнопке («Добавить заметку Tomboy»). Запустится Tomboy, и на экране поя- вится окно Insert Note. Вписав название заметки в соответствующее поле и нажав на «Доба- вить», вы увидите уведомление о том, что заметка не существует, с предложением создать её. В случае вашего согласия будет установлена связь задачи с заметкой (удалить эту связь можно просто нажатием на ).
Другим полезным модулем является синхронизация с популярным онлайн-сервисом для ве- дения задач Remember the Milk.
Напоследок: если вам потребуется сохранить данные GTG для другой инсталляции про- граммы, обратите внимание на каталог
/local/share/gtg. Достаточно скопировать его содер- жимое в систему с новой инсталляцией GTG.
Дополнительную информацию о GTG можно почерпнуть из официальной документации
(
https://live.gnome.org/gtg/documentation
).
Аналоги GTG
Альтернатив GTG в мире Open Source не так много. Отмечу две:

>
yaGTD (
https://gna.org/projects/yagtd
) – консольное приложение, поддерживающее работу с проектами и подзадачами, контекстами, привязкой ко времени и т.д. Оснащена достаточ- но подробной встроенной справкой. Доступна в Ubuntu 11.10 из репозиториев.

>
GTD-Free (
http://gtd-free.sourceforge.net
) – кроссплатформенная программа с графическим интерфейсом. Написана на языке Java, является весьма функциональной, но работает за- метно медленнее, чем GTG.
Заключение
GTG – простой и удобный инструмент для GTD, обеспечивающий гибкое управление задача- ми. Многие действия могут осуществляться с помощью горячих клавиш, что заметно повыша- ет производительность при работе с программой.
EOF
Игорь Штомпель
<
keepercoder@gmail.com
>

12
№103, 21 марта 2012
Электронное приложение «Open Source»
Свободная библиотека
линейной алгебры Eigen.
Часть 1: История и основные
возможности
В незапамятные времена, когда компьютеры были большими, а цены на нефть – маленьки- ми, программированием занимались в основном инженеры и ученые. Тогда компьютеры ис- пользовались для интенсивных математических вычислений, и только намного позже на них стали смотреть кино и обмениваться бессмысленными картинками. О тех далеких време- нах современному программисту почти ничего не напоминает, но только до тех пор, пока не приходится писать какой-то вычислительный код, который должен выполняться макси- мально быстро. Требования к скорости автоматически исключают такие модные сегодня язы- ки, как Python, JavaScript, C# и Java. Остаются только компилируемые «старички» Fortran,
C и C++, которые способны выжать из процессора все возможное.
Fortran, испытав подобие ренессанса в конце девяностых – начале двухтысячных, сей- час, похоже, окончательно утратил популярность. Новые стандарты Fortran 90/95/2003/2008 значительно осовременили язык, но он все же остался крайне неудобным по современным меркам. Очень многие старые вычислительные пакеты в последние годы переписываются на C++, и конца этой тенденции пока не видно. По всей видимости, именно С++ в обозримом будущем станет «вычислительным языком» номер один. Тем более парадоксально, что С++
«из коробки» очень плохо приспособлен для вычислительных задач.
Любой мало-мальски сложный вычислительный алгоритм включает в себя действия с век- торами и матрицами. По большому счету, почти все вычислительное программирование дер- жится на операциях над одно- или двумерными массивами. Массивы С++ для таких опера- ций приспособлены плохо.
Каждый массив – это всего лишь указатель, по которому приходится вручную выделять и освобождать память. Для матриц это приходится делать для каждой строки, что является сомнительным удовольствием. Массивы не знают своего размера, так что приходится ис-

13
№103, 21 марта 2012
Электронное приложение «Open Source»
пользовать с каждым из них отдельную переменную с числом элементов. Любые действия с массивами как с целым приходиться расписывать поэлементно в виде циклов.
Если используются только векторы (что бывает редко), то некоторую помощь дает класс std::valarray из STL. Если же нужно работать с матрицами, то волей-неволей приходится ис- пользовать сторонние библиотеки.
Хорошая библиотека линейной алгебры должна поддерживать запись выражений с век- торами и матрицами в естественной математической нотации, иметь удобный интерфейс, поддерживать операции высокого уровня (например, решение систем линейных уравнений) и обеспечивать максимальную производительность. На сегодняшний день лучшей свобод- ной библиотекой линейной алгебры для С++ является Eigen (
http://eigen.tuxfamily.org
).
Проект Eigen
С библиотеками линейной алгебры в С++ много лет наблюдалась полная неразбериха. Су- ществовали десятки конкурирующих библиотек, такие как uBLAS (
http://www.boost.org/doc/
libs/1_40_0/libs/numeric/ublas/doc/overview.htm
), MTL4 (Matrix Template Library, http://www.osl.
iu.edu/research/mtl/mtl4/
), GMM++ (
http://home.gna.org/getfem/gmm_intro
), Blitz++ (
http://www.
oonumerics.org/blitz
), POOMA (
http://acts.nersc.gov/pooma
) и т.д. Однако в каждой из них бы- ли свои существенные изъяны: низкая производительность, запутанный и неудобный син- таксис, плохая документация, отсутствие нужных алгоритмов, неподходящие лицензии и т.п.
В общем, типичный «зоопарк» без какой-либо надежды на стандартизацию.
В один прекрасный момент разработчики KDE столкнулись с тем, что программы это- го огромного проекта используют разные самодельные «костыли» и внешние библиотеки для численных расчетов. Поддерживать всю эту мешанину и тянуть ее за собой в виде за- висимостей было очень сложно.
Тогда и родилась идея новой универсальной и открытой библиотеки линейной алгебры.
Так появилась Eigen (
http://eigen.tuxfamily.org
).
Несмотря на свое происхождение из KDE, Eigen не имеет вообще никаких внешних зави- симостей и является полностью заголовочной библиотекой (программу не надо с ним ком- поновать). Возможности библиотеки являются на сегодняшний день непревзойденными:

>
Поддержка матриц и векторов произвольного размера.

>
Специальные оптимизированные матрицы и векторы размера 2, 3 и 4.

14
№103, 21 марта 2012
Электронное приложение «Open Source»

>
Поддержка плотных и разреженных матриц.

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

>
Естественная математическая нотация записи выражений.

>
Все основные операции линейной алгебры (транспонирование, детерминант, векторные и скалярные произведения векторов, доступ к диагональным элементам, треугольным матрицам и т.п.).

>
Оптимизированная поэлементная обработка в стиле Fortran.

>
Поддержка геометрических трансформаций (вращений, трансляций, аффинных преобра- зований, кватернионов, эйлеровых углов). Работа с матрицами преобразований OpenGL.

>
Очень высокое качество кода и соответствие стандартным тестам BLAS и LAPACK.

>
Очень высокая производительность на уровне эталонных библиотек BLAS и LAPACK.
На процессорах Intel Eigen не уступает проприетарной реализации Intel MKL.

>
Автоматическая векторизация вычислений для процессоров Intel (наборы инструкций
SSE 2/3/4), ARM (инструкции NEON) и PowerPC (инструкции AltiVec).

>
Поддержка всех основных современных компиляторов С++ (GCC, MinGW, CLang, MSVC,
Intel C++ Compiler, QCC).
Eigen распространяется по весьма либеральной лицензии LGPLv3, которая позволяет ис- пользовать библиотеку как в свободных, так и в коммерческих проектах. В качестве альтер- нативы есть вариант с лицензией GPLv2.
Документация и сторонние модули
Eigen наглядно демонстрирует, какой должна быть идеальная документация. Проект докумен- тирован просто блестяще: качественно, просто и полно. Наполнение http://eigen.tuxfamily.org также заслуживает всяческих похвал: сайт хорошо организован и содержит всю необходимую информацию (см. рис. 1).
Раздел документации содержит доходчивые инструкции для начинающих (
http://eigen.
tuxfamily.org/dox/GettingStarted.html
), а также большое и подробное учебное пособие из 10 частей, последовательно раскрывающее темы создания матриц, векторной арифме- тики, поэлементных операций, блочных операций, операций линейной алгебры, редукций, геометрических преобразований, разреженных матриц и т.п. После этого пособия спра-

15
№103, 21 марта 2012
Электронное приложение «Open Source»
вочная документация может не понадобиться, но и она, конечно, есть. Особенно интересна
«шпаргалка» - раздел быстрой справки по модулям и синтаксису (
http://eigen.tuxfamily.org/
dox/QuickRefPage.html
). Отдельно вынесены «технические» разделы, описывающие спец- ифику реализации, и документация сторонних модулей.
Отдельно вынесены модули, написанные для Eigen пользователями и не поддержива- емые официально (
http://eigen.tuxfamily.org/dox/unsupported/group__Unsupported__modules.
html
). Тем не менее, они очень полезны и перекрывают те аспекты функциональности, кото- рых нет в базовой библиотеке.
Среди наиболее полезных модулей стоит отметить FFT для быстрых преобразований Фу- рье, обеспечивающий интерфейс к специализированным библиотекам kissfft, fftw и Intel MKL, а также модули для численного дифференцирования, удобной работы с OpenGL и модуль нелинейной оптимизации (на основе пакета Minpack).
Рисунок 1. Главная страница проекта – образец продуманного и информативного сайта

16
№103, 21 марта 2012
Электронное приложение «Open Source»
Как это работает: библиотека, которая умнее компилятора
Перед тем, как перейти непосредственно к коду, нужно сделать отступление и объяснить, как Eigen умудряется генерировать код, сравнимый по скорости с написанным вручную в опти- мизированных под конкретное «железо» библиотеках BLAS и LAPACK.
Любимое упражнение в учебниках по С++ – это создание класса, инкапсулирующего век- торы и матрицы. Таких классов созданы сотни, но все они имеют крайне низкую произво- дительность и никогда не используются для серьезных задач. Компилятор С++, в отличие от Fortran, даже не подозревает, что векторы и матрицы надо обрабатывать поэлементно.
В результате, в сумме матриц:
mat1 = mat2 + mat3
сначала будет вычислена правая часть и присвоена временному объекту. Затем временный объект будет скопирован в mat1 и разрушен. Ясно, что вызов конструктора и деструктора временного объекта и копирование данных совершенно излишни.
Оказывается, что компилятору можно помочь, сделав за него часть работы с помощью метапрограммирования и шаблонов выражений (expression templates). Классы, использую- щие шаблоны выражений, преобразуют порядок действий в выражениях путем рекурсивной подстановки шаблонов на этапе компиляции.
Скажем, сложение объектов обрабатывается перегруженным оператором «+», который сам по себе ничего не делает с данными, а возвращает особый шаблонный класс «опера- ция сложения».
Этот класс в свою очередь имеет перегруженные операторы и может участвовать в бо- лее сложных выражениях и т.п. На выходе получается абстрактное синтаксическое дерево правой части исходного выражения в виде шаблонных объектов, известных на стадии ком- пиляции. Это дерево «раскручивается» в реальный код только при срабатывании операто- ра присваивания (обработке левой части выражения), поэтому говорят, что шаблоны выра- жений являются «ленивыми» (lazy).
Дерево шаблонов содержит только ссылки на реальные массивы данных и порядок их об- работки, а оператор присваивания пробегает массивы поэлементно в цикле и формирует результирующий массив. По сути шаблоны выражений сами компилируют сложную форму- лу в некое промежуточное представление и выдают «глупому» компилятору «полуперева-

17
№103, 21 марта 2012
Электронное приложение «Open Source»
ренный» код в виде явных циклов, которые уже без проблем компилируются в оптималь- ный машинный код.
Раз уж мы делаем за компилятор половину работы, то можно помочь ему и с оптимизаци- ей. Современные процессоры оказываются гораздо изощрённее, чем предполагают и про- граммист, и компилятор. Например, такой код кажется оптимальным, и улучшить в нем вро- де бы нечего:
std::vector v(N);
for(int i=0; i
Рисунок 2. «Шпаргалка» – краткая и удобная документация по синтаксису

18
№103, 21 марта 2012
Электронное приложение «Open Source»
Тем не менее, он использует лишь малую долю вычислительной мощи процессора! Де- ло в том, что современные процессоры имеют специальные наборы инструкций (Intel SSE,
ARM NEON) для обработки данных пакетами по 128 бит. Это 4 числа типа float, т.е. процес- сор может за один такт «прожевать» сразу 4 числа (это называют векторизацией). Обраба- тывая наш код, компилятор последовательно перебирает элементы массива по 32 бита (раз- мер типа float), а остальные 96 бит числового конвейера никак не используются. Чтобы вклю- чить векторизацию и загрузить числовой конвейер на все 100%, нужно, во-первых, распо- ложить элементы массивов с 128-битным выравниванием, а во-вторых, вручную вызывать в цикле низкоуровневые ассемблерные SSE-инструкции для пакетов из 4 элементов массива.
Компилятор Fortran сам умеет векторизовать операции с массивами, а библиотеки BLAS и LAPACK либо используют возможности Fortran, либо содержат ассемблерный код, опти- мизированный под конкретную процессорную архитектуру. В С++ все нужно делать вруч- ную, а ассемблер – это совсем не то, с чем хочет работать современный прикладной про- граммист...
К счастью, Eigen содержит нужные ассемблерные вставки для разных типов процессо- ров и вызывает их внутри шаблонов выражений. Благодаря этому, операции с объектами
Eigen векторизуются и используют всю вычислительную мощность процессора.
Нужно сказать, что векторизация происходит в пределах одного ядра процессора. Eigen не распараллеливает вычисления по разным ядрам, оставляя программисту право исполь- зовать многопоточность по своему усмотрению.
Если вы до конца не поняли, как все это работает, то знайте, что не одиноки. Детали ре- ализации шаблонов выражений крайне сложны – это высший пилотаж программирования на С++. Хорошее представление о сложности реального кода дает пример из документации
Eigen http://eigen.tuxfamily.org/dox/TopicInsideEigenExample.html
, описывающий, что происхо- дит «под капотом».
К счастью, программисту совершенно не обязательно разбираться в этих деталях – внеш- ний API у Eigen чрезвычайно прост. В следующей части статьи я приведу примеры кода и опи- шу специфику работы с библиотекой.
EOF
Семен Есилевский
<
yesint4@yahoo.com
>

19
№103, 21 марта 2012
Электронное приложение «Open Source»
Если вы стали счастливым обладателем новой квартиры/дома или же вам нужно делать ремонт, а денег на услуги профессионального дизайнера не хватает, попробуйте программу для соз- дания трехмерного дизайна интерьеров – Sweet Home 3D (
www.sweethome3d.com
).
Sweet Home 3D (далее SH3D) является свободным программным обеспечением (распро- страняется по лицензии GNU GPLv2) и рассчитана на массового пользователя. SH3D позво- ляет «визуализировать» представления о внешнем виде жилища и создавать трёхмерные ма- кеты комнат после перестановки мебели людям, не обладающим дизайнерским образовани- ем и специальными навыками работы с ПО для 3D-моделирования.
С другой стороны, программа может оказаться полезной для профессионалов – особен- но тем, кто работает с типовыми и модульными решениями. И отчасти всему эту способству- ет хорошо подготовленная документация: на сайте проекта представлено иллюстрированное руководство пользователя на семи языках (в том числе и на русском).
На русский язык также переведены часто задаваемые вопросы, а на странице документа- ции (
www.sweethome3d.com/ru/documentation.jsp
) размещены ссылки на другие русскоязыч- ные материалы. На английском языке, кроме видеоруководства, есть и полезная информа- ция для разработчиков: руководство по созданию дополнений и документация по API, реали- зованному на Java. Но сначала – о самой программе…
Начало работы
SH3D написана на Java, что делает ее легко переносимой. Заявляется о работоспособности программы на платформах Windows, Mac OS X, GNU/Linux и Solaris. Если Java-окружение в системе установлено и настроено, то SH3D можно не только инсталлировать на компьютер с помощью функции «Java Web Start» с сайта проекта (
www.sweethome3d.com/ru/download.jsp
), но и запускать в режиме онлайн прямо в любимом веб-браузере (
www.sweethome3d.com/ru/
SweetHome3DOnline.jsp
). Кроме того, на Sourceforge (
http://sourceforge.net/projects/sweethome3d/
files/
) есть пакеты SH3D со встроенной Java, а также архив с исходными кодами. На момент написания статьи актуальной версией программы была 3.4, датируемая декабрем 2011 года.
Проект дома своей мечты
с помощью Sweet Home 3D

20
№103, 21 марта 2012
Электронное приложение «Open Source»
В Linux для использования пакета со встроенной Java достаточно распаковать архив (на- пример, в домашний каталог или в /opt, если есть права суперпользователя) и запустить
./SweetHome3D. Независимо от операционной системы разработчики рекомендуют устано- вить последнюю версию драйвера для видеокарты, чтобы SH3D могла задействовать все ап- паратные возможности. В случае с графическим адаптером NVIDIA для Debian мне даже приш- лось установить драйвера с сайта производителя вместо стандартных, так как Java 3D «руга- лась» на некорректную версию GLX (меньше 1.3) и приложение аварийно завершало работу.
Рабочее окно SH3D (см. рис. 1) включает панель инструментов (сверху) и четыре рабочие области: каталог образцов фурнитуры (слева сверху), список мебели, используемой в проек- те (слева снизу), план дома (справа сверху) и область 3D-просмотра (справа снизу). Начинать в большинстве случаев следует с плана того помещения, дизайн которого необходимо создать.
Если у вас есть отсканированный или экспортированный из другой программы (в изображе- ние формата JPG, BMP, GIF или PNG) чертеж или схема, то на данном этапе его можно уста- новить как фоновое изображение плана («План → Импорт фонового изображения), настроив масштаб и привязку. По контурам изображения можно достаточно быстро нарисовать стены, вставить двери и окна, создать комнаты (см. рис. 2).
Рисунок 1. Рабочее окно Sweet Home 3D

21
№103, 21 марта 2012
Электронное приложение «Open Source»
Настройки каждого выбранного элемента чертежа доступны из контекстного меню. Напри- мер, для стены пункт «Изменить стены», для комнаты – «Изменить комнаты», а для большинст- ва других объектов – «Изменить фурнитуру». В редакторе свойств объекта можно его «разу- красить» заданным цветом или наложить текстуры, выбрав из трех десятков встроенных шаб- лонов или импортируя собственные изображения.
Следующий этап – расстановка мебели и элементов декора. Стандартный каталог фурни- туры, кроме окон и дверей, включает минимальное количество элементов, необходимых для создания жилой и ванной комнат, спальни, кухни, набор источников света и т.д. Добавить ме- бель в проект можно, просто перетащив мышкой нужную модель в область плана или в спи- сок мебели.
Самое примечательное, что результаты вашего труда сразу же можно видеть в трехмер- ном представлении, изменяя ракурс и масштаб перетаскиванием и кнопками/колесиком мы- ши или используя импровизированный «джойстик» в левом верхнем углу области просмотра
(«Вид 3D → Вид сверху»).
Мало того, в программе доступна возможность виртуальной прогулки по помещению
(«Вид 3D → Виртуальный посетитель»), чтобы в полной мере оценить преимущества и недо- статки созданного интерьера. Параметры виртуального посетителя («Вид 3D → Изменить») являются настраиваемыми (см. рис. 3): можно изменить угол зрения, рост посетителя, яркость освещения, цвет и текстуру земли и неба и даже сделать стены невидимыми.
Рисунок 2. Создание плана помещения по чертежу и редактирование свойств объекта

22
№103, 21 марта 2012
Электронное приложение «Open Source»
Кроме сохранения проекта в своем формате (файлы с расширением .sh3d) программа поддер- живает экспорт в формат PDF («Файл → Сохранить в PDF»), а также вывод на печать («Файл →
Печать») с возможностью предварительного просмотра («Файл → Предпросмотр печати»). Полу- ченный PDF-файл (файл, подготовленный к печати) включает страницы с таблицей использован- ных в дизайне компонентов и их размеров, план помещения и текущий 3D-вид. Также есть воз- можность дальнейшего редактирования разработанного интерьера в стороннем 3D-редакторе.
Для этого нужно сохранить проект в OBJ-файл («Вид 3D → Экспорт в формате OBJ»).
SH3D позволяет получить приближенную к реальности фотографию 3D-области («Вид 3D →
Создать фото»). Мало того, используя пункт «Создать видео» в меню «Вид 3D», можно рас- ставить контрольные точки «прохода» виртуального посетителя и сделать видеоролик о раз- работанном интерьере.
В целом, интерфейс SH3D оставляет положительные впечатления. Все продумано и до- статочно интуитивно, так что необходимости обращаться к встроенной справке не возникает.
Часто используемые функции продублированы комбинациями «горячих» клавиш, что позво- ляет эффективнее работать с продуктом.
Модели и текстуры
С развитием архитектурной мысли и буйством дизайнерской фантазии компонентов стандарт- ной библиотеки фурнитуры перестает хватать. Поиск дополнительных образцов мебели и ак- сессуаров лучше начинать с соответствующей страницы сайта проекта (
www.sweethome3d.
com/importModels.jsp
), на которой в рамках шести коллекций представлено около 250 разноо- бразных объектов, совместимых с SH3D. Для установки понравившегося элемента необходимо
Рисунок 3. Свойства виртуального посетителя

23
№103, 21 марта 2012
Электронное приложение «Open Source»
скачать архив с ним, а затем импортировать с помощью мастера импорта фурнитуры («Фурни- тура → Импорт фурнитуры»), позволяющего настроить параметры 3D-модели (см. рис. 4). Ма- стер может работать с объектами в форматах OBJ, DAE, LWS, 3DS (и их ZIP-архивами). Так- же можно добавить коллекцию целиком, используя файл с расширением sh3f из архива, ска- чанного по ссылке на сайте («Фурнитура → Импорт библиотеки фурнитуры»). Для управле- ния собственными коллекциями объектов разработчиками программы создан специальный редактор sh3f-файлов (
http://sourceforge.net/projects/sweethome3d/files/FurnitureLibraryEditor
).
На той же самой странице сайта проекта есть ссылки на сторонние ресурсы, содержащие
3D-модели. Ввиду особенностей форматов с SH3D совместимы не все образцы трехмерно- го моделирования, которые можно найти в сети, и исследовать этот вопрос придется мето- дом проб и ошибок.
С текстурами же ситуация намного проще. В их качестве можно использовать любые изо- бражения в форматах JPG, BMP, GIF или PNG, добавляя в библиотеку по мере необходимо- сти. Единственное, о чем просят разработчики, не использовать изображения с большим раз- решением, дабы не замедлять работу программы. Еще в меню «Фурнитура» есть пункт «Им- порт библиотеки текстур», но формат этой библиотеки и способ использования этого пункта лично для меня так и остались загадкой...
Рисунок 4. Мастер импорта фурнитуры

24
№103, 21 марта 2012
Электронное приложение «Open Source»
Об альтернативах
Надо сказать, что SH3D весьма неплохо смотрится на фоне других простых конструкторов ин- терьеров (в том числе и платных аналогов). Единственным недостатком продукта обычно на- зывают неудобство создания «внешнего» дизайна (т. е. придомовых территорий и простей- ших ландшафтов). Также до недавнего времени программа не умела работать с многоуров- невыми (многоэтажными) планами. Но в последней версии (3.4) эта функциональность уже присутствует. Теперь не нужно создавать отдельный файл для каждого этажа – можно про- сто добавить новую вкладку на план, используя меню («План → Добавить уровень»). В общем, если ваша цель – быстро создать интерьер с использованием готовых образцов фурнитуры, то скорее всего SH3D идеально подойдет.
Конкурентом SH3D можно назвать проект Google Sketchup (
http://sketchup.google.com
), пози- ционируемый несколько шире – как универсальный инструмент для начинающих 3D-дизайнеров.
Хоть Sketchup и является отдельным приложением (бесплатным, но без открытого исходного кода), предусмотрена его интеграция с другими сервисами Google. Например, есть возмож- ность работы с интернет-архивом 3D-моделей и двухстороннее взаимодействие с Google Earth
(импорт в SketchUp масштабированного аэрофотоснимка с топографией или, наоборот, пере- нос проекта SketchUp в Google Earth, чтобы оценить его с учетом местных условий). Однако
Sketchup доступен только для Windows и Mac OS X.
Для профессионального дизайнера названные выше программы могут быть лишь дополни- тельными средствами, а основным инструментом является один из коммерческих многофунк- циональных универсальных пакетов или, например, Blender (
www.blender.org
).
Заключение
Sweet Home 3D поможет сделать мечту о будущем интерьере дома ближе к реальности, по- скольку позволяет быстро создавать эффектный дизайн-проект жилища. Хорошим подспорьем на этом пути также являются дополнительные 3D-модели и руководство пользователя на рус- ском языке. Из трудностей, с которыми вы можете столкнуться во время работы с SH3D, назо- ву разве что недостаточную производительность графической подсистемы компьютера.
EOF
Андрей Бражук
<
andrew.brazhuk@gmail.com
>

25
№103, 21 марта 2012
Электронное приложение «Open Source»
Свободная вёрстка в Scribus.
Часть 3: графические блоки
и другие возможности
В прошлой части статьи (см. «Open Source» №102 от 29.02.2012) было рассмотрено, как по- мещать текст в макет. Другим важнейшим элементом вёрстки является помещение графики, причем не только иллюстраций, но и различных графических примитивов (прямоугольников, стрелок и так далее)...
Графические блоки
Чтобы вставить картинку на страницу, надо выбрать инструмент «блок изображения», поме- стить его на странице и, оставляя его активным, воспользоваться пунктом меню «Вставить изображение» (либо нажав + ). Появится диалоговое окно, где можно выбрать файл изображения. К слову, в Scribus 1.4.0 присутствует досадная ошибка – фильтр имен графиче- ских файлов не включает в себя SVG, хотя Scribus его прекрасно понимает. Поэтому, чтобы были видны SVG, выберите фильтр «Все файлы».
Существует несколько режимов расположения картинки внутри блока, и выбираются они через контекстное меню. «Блок до размеров изображения» преобразует размеры блока к раз- мерам картинки. «Вписать изображения в блок», напротив, масштабирует картинку до разме- ров блока, с сохранением пропорций картинки.
Чтобы видеть, как влияет масштабирование на качество картинки, советую в контекстном меню «Параметры предпросмотра» выбрать «Полное разрешение».
В том же контекстном меню на картинку назначаются «Эффекты изображения», среди которых представлен полезный минимум: подстройка яркости, контраста, кривых, повыше- ние резкости, тонирование – в общем, то, что удобно иметь под рукой, не обращаясь к внеш- нему графическому редактору. Эффекты подключаются виртуально, не оказывая разруши- тельного влияния на изображение. Кроме того, порядок наложения эффектов можно менять.
Жаль, что нельзя временно отключать воздействие того или иного эффекта, уже настроенно- го, т.е. эффект либо активен, либо удален из «стойки» эффектов.

26
№103, 21 марта 2012
Электронное приложение «Open Source»
Относительно эффектов еще замечу, что, если вы используете какие-то фотографии в ка- честве иллюстраций, то коррекцию цветов лучше возложить на Scribus, а не делать это «раз- рушительно» в GIMP или другом растровом редакторе. Почему? Дело в том, что в Scribus вы можете видеть результат цветоделения – как потом будет выглядеть картинка при выво- де в CMYK. Поэтому и удобнее пользоваться эффектами из Scribus, где всегда можно либо отменить действие эффекта, либо настроить эффект нужным образом (чтобы хорошо вы- глядело в CMYK).
Обтекание блока текстом присуще не только графическим объектам, но и всем объектам вообще. Однако, как правило, обтекаются именно картинки, а не текст, поэтому и рассказываю об этом здесь. Обтекание настраивается в окне «Свойства», на вкладке «Фигура». По умолча- нию оно выключено и блок перекрывает текст, лежащий под ним. В простейшем случае вклю- чается «Обтекание по очертаниям блока». Очертания можно менять не только в прямоуголь- ном режиме, но и в произвольном, нажав на кнопку «Изменить». Вы вольны добавлять узлы, придавать блоку любую форму. В редакторе очертаний (он называется «Узлы») можно вклю- чить режим «Изменить контурную линию». Когда он включен, вы меняете не очертания блока, а границы обтекания. Именно так можно сделать пустую рамку по периметру картинки, чтобы текст не примыкал к графике вплотную.
Например, мы хотим, чтобы буквы отстояли от графики на 10 процентов от общего раз- мера блока. Для этого в редакторе очертаний включите «Изменить контурную линию», а за- тем используйте инструмент «Увеличить контур на показываемые %», проставив в поле вво- да 10 процентов. Осталось нажать на кнопку «Завершить» – готово!
Вместо процентов можно задать и конкретное значение – тогда для изменения контура на- до будет нажать кнопку «Увеличить размер контура на показываемое значение». Чтобы всё это сработало, надо выбрать режим обтекания «По контурной линии» («Свойства → Фигура»).
В том же окне свойств есть вкладка «Изображение», где, включив режим «Свободное мас- штабирование», можно очень точно управлять масштабом изображения и значениями DPI.
Прочие объекты на странице и их группировка
Помимо блоков с текстом и графикой в Scribus поддерживаются такие элементы, как табли- цы (по факту это сгруппированные текстовые блоки), фигуры (графические примитивы, на- чиная от прямоугольников да окружностей и заканчивая стрелками и блок-схемами), линии,

27
№103, 21 марта 2012
Электронное приложение «Open Source»
кривые Безье, линии «от руки», каллиграфическое перо, а также элементы управления PDF: списки, аннотации, кнопки. Инструментария Scribus порой достаточно, чтобы создавать век- торную графику без обращения ко внешнему редактору вроде Inkscape.
Поддерживаются и векторные эффекты (эффект линзы, деформация по сетке). Другая по- пулярная функция, перекочевавшая из графических редакторов – направление текста по кон- туру. Для этого надо выполнить следующие шаги:

>
Нарисовать графический примитив или кривую.

>
Выделить этот графический объект и текстовый блок.

>
Применить «Объект → Направить текст по контуру».
Объекты могут находиться на разных уровнях глубины, один под другим. Это настраивает- ся через меню «Объект → Уровень», либо клавишами:

>
+ – поднять объект на один уровень выше;

>
+ – опустить объект на один уровень ниже;

>
– на самый верх;

>
– в самый низ.
Рисунок 1. Редактор контура обтекания

28
№103, 21 марта 2012
Электронное приложение «Open Source»
Иногда бывает удобно сгруппировать объекты в один составной – для этого служит функ- ция «Объект → Сгруппировать». Конечно, предварительно объекты надо выделить. Позже можно их разгруппировать обратной операцией.
Кроме группирования, в Scribus существует еще один вид логического упорядочения объ- ектов – слои. Окно со слоями доступно из меню «Окна». Механизм слоев в Scribus очень раз- вит. Кроме знакомых по графическим редакторам свойств слоя, таких как режим наложения друг на друга, прозрачности, видимости, блокировки правки, в Scribus введены дополнитель- ные свойства.
Например, «Каркасный режим» – его следует включать для слоев, которые долго прорисо- вываются, и в режиме активной правки макета достаточно их видеть каркасами, отображае- мыми быстро. При работе со слоями следует помнить, что правка осуществляется с текущим слоем, выбранным в окне слоев, – не забывайте об этом, поскольку иначе можно случайно на- портачить там, где не рассчитывали (а обнаружится это гораздо позже).
Любой объект в Scribus может быть помещен в хранилище – альбом – посредством пункта меню «Передать в альбом» (в старых версиях он назывался «Запасник»). По умолчанию до- ступен основной, «общесистемный» альбом, разделяемый между всеми макетными проекта- ми. Из альбома объект можно поместить на страницу. Кроме того, поддерживается создание новых альбомов (скажем, вам нужно сделать тематические альбомы с декоративными эле- ментами оформления), их загрузка и сохранение.
Попутно затрону вопрос сходной тематики – связь картинок с макетом. Scribus хранит в до- кументе лишь ссылки на файлы изображений. Что делать, если картинки лежат в разных ката- логах, отличных от каталога с файлом проекта, и вы хотите перенести макет на другой компью- тер? Надо воспользоваться функцией «Файл →
Собрать для вывода». При этом вам предложат выбрать каталог, куда будут скопированы файл проекта и все связанные с ним файлы изобра- жений, причем пути к картинкам в файле про- екта будут изменены на новые, а точнее – вооб- ще устранен (Scribus будет подхватывать их уже из нового каталога).
Рисунок 2. Пример с текстом по кругу

29
№103, 21 марта 2012
Электронное приложение «Open Source»
Другие возможности Scribus
В правом нижнем углу главного окна есть две кнопки и список. Одна кнопка включает/выклю- чает цветокоррекцию, а другая – режим просмотра. Что это за режим? В нём не видны рамки объектов, то есть страница уже как бы отпечатана.
Режимы бывают разные: нормальное зрение и несколько патологий различения цветов, среди которых – полное неразличение, протанопия (неразличение красного), дейтеронопия
(зеленого), тританопия (синего).
Выделенные объекты можно упорядочивать на странице, используя мощные средства, до- ступные в меню: «Окна → Выравнивание и распределение».
Например, чтобы расставить все объекты по координате X первого выделенного объекта, надо выбрать в списке «Ориентир → Первый выделенный», в «Выровнять стороны» – значе- ние «Перемещением», и затем нажать на кнопку «Выровнять по левым краям». Там представ- лено много критериев, для всех случаев жизни, хотя, конечно, если верстать изначально ак- куратно и с использованием направляющих линий, то автоматически и массово ничего под- гонять не придется...
Существует и подобное средство, относящееся к выделению, – в меню: «Правка → Выде- лить по критериям». Оттуда можно, например, выделить все объекты в текущем слое или на текущей странице, либо только видимые, либо с конкретными атрибутами (по типу объекта, его цвету, толщине линии обводки и так далее).
В Scribus хорошо продуман механизм отмен (undo) – вернее, он обладает расширенными функциями. Наряду со стандартными «Отменить/Повторить» из окна «Правка», в меню «Окна» есть инструмент «История действий». В нем можно применять отмену для конкретного выде- ленного объекта, не затрагивая остальные правки.
Перед печатью или выводом в PDF запускается процедура допечатной проверки в соответ- ствии в одним из выбранных профилей (профиль выбирается в списке): PDF 1.3-1.5, PDF/X-3,
PostScript.
Выводится список ошибок: если по ним щелкать, то в макете выделяются объекты с ошиб- ками. Эту допечатную проверку можно вызывать и отдельно, из меню «Окна».
При экспорте в PDF, в окне настроек этого экспорта, на вкладке «Цвет» выбирается «Назна- чение вывода». Им может быть «Просмотр с монитора/Веб (RGB)», «Вывод на печать (CMYK)» и «Градации серого».

30
№103, 21 марта 2012
Электронное приложение «Open Source»
В случае с CMYK появляется опция «Другие параметры цветопередачи», выбрав кото- рую, будут доступны дополнительные настройки цветоделения. Так без труда можно создать две версии макета в PDF: для просмотра с монитора и для печати.
Версии 1.4 и 1.5
Напоследок – об отличиях нестабильной версии Scribus 1.5 от стабильной 1.4. Вот какие воз- можности ждут вас в релизе 1.5: каллиграфическое перо, отдельное окно просмотра карти- нок (весьма быстро создает миниатюры, позволяет создавать виртуальные наборы – коллек- ции, помечать картинки комментариями и т.д.), для каждой картинки отдельно можно назна- чить параметры сжатия (при внедрении картинки в PDF), окно трансформации объекта (пока- мест, кажется, незавершенное – не хватает сохранения трансформаций, их отключения; сей- час можно только создавать список транформаций и применять его).
Насколько стабильна версия 1.5? Кажется, старые возможности не стали работать хуже, а новые я еще не пробовал так много, чтобы проявились какие-либо глюки... Однако все рав- но советую начать знакомство со Scribus с версии 1.4. Она быстрее отображает сложные до- кументы – в режиме правки макета это весьма ощутимо.
Не зря разработчики советуют использовать именно 1.4, а 1.5 – только для того, чтобы по- пробовать новые функции. Сам я тоже попробовал и «откатился» к 1.4. Нарочно проверил
«тормознутость» версии 1.5 дважды (снова снес 1.4 и поставил 1.5). Медлительность осталась
(сборка выполнена практически со всеми обязательными библиотеками). Будет очень печаль- но, если к моменту выпуска 1.5 будет таким медленным, как сейчас.
Возможно, тормоза проявляются в моей конкретной программной среде, но иногда закра- дывается мысль, что когда программа работает хорошо, лучше её не трогать, оставить как есть, и она прослужит верой и правдой еще долгие годы.
Как будет со Scribus? Поживем – увидим!
EOF
Петр Семилетов
<
tea@list.ru
>

31
№103, 21 марта 2012
Электронное приложение «Open Source»
Электронное приложение «Open Source» всегда открыто для сотрудничества с новыми авто- рами, с читателями и их конструктивными предложениями по улучшению издания, обоснован- ной критикой и любыми отзывами, с компаниями, занимающимися разработкой и продвиже- нием программного обеспечения с открытым кодом.
Мы будем рады всем желающим опубликовать свои статьи, посвященные проектам или иде- ологии FLOSS (Free/Libre/Open Source Software). Среди приоритетных направлений для мате- риалов:

>
Обзоры новых версий крупных Open Source-проектов, популярных GNU/Linux-дистрибу- тивов и т.п.

>
Аналитика: взгляд на происходящие и минувшие события, затрагивающие мир свободного
ПО; собственные исследования и прогнозы.

>
Личный опыт перехода на свободное ПО (в любых масштабах миграции).

>
Информация об участии в Open Source-проектах.

>
Способы коммерциализации Open Source-проектов (бизнес-модели, реальный опыт).

>
Обзоры Open Source-проектов, которые не получили достаточной популярности ввиду сво- ей специфичности или других факторов.

>
Интервью с известными Open Source-деятелями из России и других стран.
Обязательное условие для всех материалов в «Open Source» – их оригинальность, т.е. от- сутствие публикации в каких-либо других изданиях (в том числе, в интернете).
Желательный объем статей: 6000 или 12000 символов (с пробелами). Примеры актуальных сейчас тем для статей публикуются на http://osa.samag.ru/todo
. Но не стоит строго ограничи- ваться приведенными выше рамками!
Публичное обсуждение «Open Source» проводится на форуме сайта журнала «Системный администратор» по адресу: http://osa.samag.ru/forum
Связаться с редакцией можно по электронной почте osa@samag.ru
P.S. За статьи мы платим.
«Open Source» приглашает
к сотрудничеству!

32
№103, 21 марта 2012
Электронное приложение «Open Source»
Начиная с ноября-2011, вы можете купить цифровую версию журнала «Системный адми-
нистратор». Просто зайдите на
zinio.com
и скачайте номер журнала на свой компьютер,
планшетник, смартфон. Цена одного номера 120 рублей, годовая подписка – 1200 рублей.
Также журнал «Системный администратор» доступен в цифровом виде на ресурсах
Ej.ua
и
Journals.ua
. Для покупки выложены все номера, вышедшие в течении 2010-2011 гг.
Простота и удобство оплаты, скорость доставки – читайте журнал «Системный ад-
министратор» в цифровом виде.
Вы можете подписаться на журнал «Системный администратор» и напрямую – через редакцию,
«зеленый каталог» «Пресса России», подписные агентства «АРЗИ», «Урал-Пресс», «Интер-
Почта» и другие (подробнее – на сайте www.samag.ru
).
Напоминаем, что наше издание в 2011-2012 годах не представлено в каталоге «Почта Рос- сии», и подписка не будет осуществляться через агентство «РОСПЕЧАТЬ».
Стоимость годовой редакционной подписки в 2012 году составит 3540 руб. (подробнее – на сайте www.samag.ru в разделе «Редакционная подписка»).
Для тех, кто получает журнал позже, чем хотел бы, предлагаем новый вариант подписки. Вы станете получать вместе с бумажной версией также электронный вариант издания. Электрон- ная версия будет приходить на ваш e-mail в первую неделю после выхода номера из печати, а бумажная версия – рассылаться в обычном режиме. Подробности – на сайте www.samag.ru
Для удобства подписчиков предусмотрена оплата подписки посредством кошельков
WebMoney – R889226991320 и Яндекс.Кошелек – 41001290847120. Правила пользования ко- шельками смотрите на сайтах www.webmoney.ru и www.money.yandex.ru
Подписка на Open Source
Начиная с выпуска «Open Source» №094, подписка на издание стало платным. Чтобы полу- чать последние номера в момент их появления, нужно заплатить 100 рублей за год подписки.
Оплата – электронные деньги, банковские карты, терминалы и SMS.
Подписка на издания
«Системного администратора»

Document Outline

  • Колонка главного редактора
  • Новости мира Open Source
    • Telefonica поможет Mozilla выпустить первые веб-устройства
    • Первую партию 35-долларовых компьютеров Raspberry Pi раскупили за несколько часов
    • Проект lumberjack улучшит логирование в Linux
    • MIT открыл публичный доступ к веб-сервису визуальной разработки App Inventor
    • Часть разработчиков AgiliaLinux создает новый дистрибутив
  • Обзор менеджера задач Getting Things GNOME
    • О версиях и установке
    • Основы GTD в GTG
    • Обзор, метки и приоритеты
    • Рабочий план
    • Дополнительные возможности
    • Аналоги GTG
    • Заключение
  • Свободная библиотека линейной алгебры Eigen. Часть 1: История и основные возможности
    • Проект Eigen
      • Документация и сторонние модули
    • Как это работает: библиотека, которая умнее компилятора
  • Проект дома своей мечты с помощью Sweet Home 3D
    • Начало работы
    • Модели и текстуры
    • Об альтернативах
    • Заключение
  • Свободная вёрстка в Scribus. Часть 3: графические блоки и другие возможности
    • Графические блоки
    • Прочие объекты на странице и их группировка
    • Другие возможности Scribus
    • Версии 1.4 и 1.5
  • «Open Source» приглашает к сотрудничеству!
  • Подписка на издания «Системного администратора»
    • Подписка на Open Source

Каталог: 1073
1073 -> Критический взгляд на Firefox 4 DoudouLinux – дистрибутив для самых маленьких и не только
1073 -> №117, 19 октября 2012 Twitter и Open Source Эмуляция игровых консолей 5+ поколений. Часть 3: Atari Jaguar Дистрибутив Arch Linux. Часть 3: другие ответвления Вторая жизнь Grace: QtGrace и Gracegtk
1073 -> №110, 29 июня 2012 Open Source и корпорации Японии
1073 -> №116, 28 сентября 2012 Разработчики ядра Linux. Часть 4: Теодор Тсо Эмуляция игровых консолей 5+ поколений. Часть 2: Playstation 2
1073 -> Google и Open Source. Часть 1: операционные системы и средства разработки Открытая редакция Zimbra. Часть 4: интерфейс командной строки


Поделитесь с Вашими друзьями:


База данных защищена авторским правом ©nethash.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал