№117, 19 октября 2012 Twitter и Open Source Эмуляция игровых консолей 5+ поколений. Часть 3: Atari Jaguar Дистрибутив Arch Linux. Часть 3: другие ответвления Вторая жизнь Grace: QtGrace и Gracegtk



Скачать 272.09 Kb.
Pdf просмотр
Дата26.11.2016
Размер272.09 Kb.
Просмотров345
Скачиваний0

№117, 19 октября 2012
Twitter и Open Source
Эмуляция игровых консолей 5+
поколений. Часть 3: Atari Jaguar
Дистрибутив Arch Linux.
Часть 3: другие ответвления
Вторая жизнь Grace: QtGrace
и GraceGTK
электронное приложение к журналу «Системный администратор»

2
№117, 19 октября 2012
Электронное приложение «Open Source»
Ещё совсем недавно (см. «Open Source» №111 от 20.07.2012) я в этой ко- лонке затрагивал тему того, что Open Source-сообщество ждёт мобиль- ную Linux-платформу, которая являлась бы более «привычной» альтер- нативой доминирующему ныне Android. («Привычной» – в смысле основ- ных компонентов, используемых в обычных Linux-дистрибутивах.) На рын- ке уже появлялись такие инициативы, однако всякий раз их перспективы оказывались весьма размытыми.
Но вот, вскоре после официального выпуска open webOS 1.0, в интернете появились сразу десятки вакансий от HP, связанных с webOS (
http://tcrn.ch/PZ4emi
). Если год назад компания не- двусмысленно заявляла, что не связывает своё будущее с этой мобильной платформой, то те- перь она не только сдержала обещание по открытию кода, но и, похоже, нащупала какой-то ин- терес в webOS. И пусть сейчас нет официальных заявлений HP о реальных планах по webOS (за исключением обозначения некоторых технических направлений развития open webOS), склады- вающаяся ситуация даёт надежду на то, что именно из этого проекта может получиться долго- жданная для сообщества платформа. Для того, чтобы она выжила и стала реальным конкурентом в рыночных реалиях, необходима лишь та самая коммерческая поддержка. А её и можно ожи- дать от HP, которая преследует свои цели... Но может быть, всё это лишь поспешные выводы?
Дмитрий Шурупов,
главный редактор (
osa@samag.ru
)
Колонка главного редактора
«Open Source»
электронное приложение к журналу
«Системный администратор»
№117, 19 октября 2012
РЕДАКЦИЯ
Исполнительный директор
Главный редактор
Владимир Положевец
Дмитрий Шурупов
Иллюстрация на обложке

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

4
№117, 19 октября 2012
Электронное приложение «Open Source»
Новости мира Open Source
HP представила релиз открытой версии платформы webOS –
Open webOS 1.0
Компания HP сдержала своё обещание и завершила полное открытие исходного кода мобиль- ной Linux-платформы webOS, анонсировав в последний день сентября релиз Open webOS 1.0.
Информация о намерении открыть исходники webOS, полученной HP в результате погло- щения Palm, появилась в декабре прошлого года. В январе 2012 был анонсирован план откры- тия кода проекта, который постепенно выполнялся до сих пор. И вот 30 сентября HP объяви- ла о завершении этой процедуры, растянувшейся на 9 месяцев: энтузиасты получили в своё распоряжение около 75 компонентов webOS, общее количество строк кода в которых состав- ляет около 450 тысяч.
Исходники webOS выложены в репозиториях GitHub (
https://github.com/openwebos
). В рам- ках релиза webOS 1.0 была подготовлена сборка на базе OpenEmbedded, позволяющая за- пустить полноценную версию мобильной платформы HP в эмуляторе OE. Также в релиз 1.0 были добавлены несколько базовых приложений (почтовый клиент и веб-браузер), появилась поддержка JavaScript-фреймворка Enyo 2.
В блоге Open webOS сообщается, что развитие открытой версии платформы продолжит- ся в ближайшие месяцы.
Microsoft представила новый язык TypeScript
1 октября Microsoft представила предварительную версию TypeScript (
www.typescriptlang.org
) – нового языка программирования, похожего на JavaScript и предназначенного для создания сложных, масштабируемых приложений.
TypeScript схож с JavaScript, однако имеет некоторые дополнительные возможности: оп- циональную статическую типизацию данных, объявление классов, поддержку модулей и пла- гин для Visual Studio. Андерс Хэйлсберг (Anders Hejlsberg) из Microsoft пояснил, что создание
TypeScript обусловлено желанием предоставить разработчикам крупных JavaScript-приложений удобный язык, который был бы при этом прост в изучении (и поэтому не сильно отличался от
JavaScript). Таким образом, TypeScript называют аналогом языка программирования Google
Dart, но «без радикального ухода от JavaScript».

5
№117, 19 октября 2012
Электронное приложение «Open Source»
При этом TypeScript будет работать с уже существующими JavaScript-библиотеками и фрейм- ворками: обычный JS-код функционирует в TypeScript без необходимости в модификации.
Сам код, написанный на TypeScript, транслируется в JavaScript, поэтому будет поддерживать- ся стандартными JavaScript-движками популярных веб-браузеров. Консольная версия компи- лятора TypeScript может быть установлена как пакет для Node.js.
Исходный код интерпретатора TypeScript доступен под Open Source-лицензией Apache
License 2.0.
Linux Foundation обеспечит запуск Linux
с UEFI Secure Boot
Некоммерческая организация The Linux Foundation, занимающаяся развитием свободной опе- рационной системы GNU/Linux, объявила о том, что предоставит простую возможность запу- ска Linux и других ОС в компьютерах с BIOS, использующих печально известную технологию
UEFI Secure Boot.
Около года назад специалисты из Linux Foundation публиковали свои рекомендации произ- водителям компьютеров по тому, как реализовать безопасную загрузку в спецификации UEFI
Secure Boot (с тем, чтобы не препятствовать запуску GNU/Linux и других операционных сис- тем). Теперь же Linux-альянс предложил техническое решение этой проблемы. Общая его суть сводится к тому, что Linux Foundation получит подписанный ключ от Microsoft и с его помощью подпишет так называемый предварительный загрузчик (pre-bootloader). Этот предваритель- ный загрузчик будет вызывать предустановленный загрузчик (например, GBUB 2), который в свою очередь сможет запускать Linux и другие системы.
Техническое решение от Linux Foundation – вынужденная мера, предпринятая с целью под- твердить заботу этой организации о том, чтобы «компьютерные пользователи имели свобо- ду выбора платформы».
В Linux Foundation предупреждают, что получение подписи от Microsoft займёт некоторое время, но по факту она будет сразу же опубликована вместе с разработанным предваритель- ным загрузчиком на сайте организации для всех желающих. Загрузчик был сделан настолько компактным, насколько это возможно, а его исходный код (Loader.c) доступен в Git-репозитории проекта efitools на git.kernel.org
. Автор загрузчика – известный британский разработчик Linux- ядра Джеймс Боттомли (James Bottomley), лицензия – GNU GPLv2.

6
№117, 19 октября 2012
Электронное приложение «Open Source»
Cisco выпустила свою редакцию облачной Linux-платформы OpenStack
Компания Cisco представила первый релиз своей редакции свободной облачной Linux- платформы – OpenStack Cisco Edition. Cisco достаточно активно участвует в работе над Open
Source-проектом OpenStack, представив свои наработки для ряда компонентов облачной платформы (работа над L3, плагины для Cisco и сетевого моста Linux в Quantum, интегра- ция Quantum в Horizon, модель VIF-драйверов в Nova, devstack). Редакция OpenStack от Cisco предназначена для последнего релиза платформы («Essex») на базе Ubuntu 12.04 LTS. Среди ключевых изменений называется использование системы Puppet для автоматизации развёр- тывания сервисов OpenStack и включение в состав платформы дополнительных компонентов.
Cisco добавила в OpenStack популярные Open Source-средства для мониторинга (Nagios,
Collectd, Graphite), статистические графики в панель Horizon, а для решения вопросов высо- кой доступности – ha-proxy, kickstartd и galera. Подробности про OpenStack Cisco Edition мож- но найти на http://docwiki.cisco.com/wiki/OpenStack
Google выпустила первую версию своего языка программирования Dart
16 октября интернет-гигант Google объявил о доступности первой стабильной версии своего нового языка программирования для веб-приложений – Dart. Язык Dart призван решить неко- торые проблемы JavaScript, предлагая веб-разработчикам инструмент для создания хорошо масштабируемых проектов с лучшим уровнем безопасности. Предварительная версия Dart по- явилась около года назад, и вот теперь состоялся первый стабильный релиз. С первым рели- зом Dart SDK представлены следующие инструменты для веб-разработчиков:

>
более производительная виртуальная машина Dart (в некоторых тестах Octane она пре- восходит V8);

>
новый транслятор кода Dart в JavaScript;

>
HTML-библиотека для современных веб-браузеров;

>
библиотека для работы с JavaScript-кодом;

>
простой в использовании редактор;

>
новый пакетный менеджер Pub;

>
Dartium – сборка веб-браузера Chromium с встроенной поддержкой Dart;

>
серверная библиотека ввода/вывода;

>
спецификация языка, описывающая семантику Dart.

7
№117, 19 октября 2012
Электронное приложение «Open Source»
Etersoft выпустила EPM – универсальное средство
управления пакетами в Linux
Российская компания Etersoft объявила о выпуске EPM 1.0 – единого средства управления па- кетами программного обеспечения.
Новый менеджер пакетов EPM предлагает унифицированный синтаксис для операций над пакетами в различных Linux-дистрибутивах: ALT Linux, Ubuntu, Debian, Mandriva, Fedora, openSUSE, ArchLinux, Slackware и совместимых с ними. Интерфейс EPM напоминает rpm, apt и urpm и является одинаковым для всех систем. Утилита «epm» написана на shell, благодаря чему не имеет зависимостей в системе, и не использует D-Bus и системные сервисы.
EPM позиционируется не как замена штатного менеджера пакетов, а как дополнение, ко- торое может оказаться полезным в работе системных администраторов, разработчиков и те- стировщиков. Проект был впервые анонсирован этим летом на Девятой конференции разра- ботчиков свободных программ в Обнинске.
Исходный код EPM лицензирован на условиях GNU GPLv2, подробности о проекте можно найти на http://wiki.etersoft.ru/Epm
NetBSD 6.0 – новая версия операционной системы
17 октября был представлен новый крупный релиз свободной операционной системы
NetBSD – 6.0.
В качестве ключевых новшеств в релизе NetBSD 6.0 разработчики называют поддержку локальной памяти потока (thread-local storage, TLS), функциональность LVM (Logical Volume
Manager), переписанную подсистему квот на разделы жесткого диска, новые подсистемы для работы с устройствами с Flash-памятью и NAND-контроллерами, экспериментальную файло- вую систему CHFS (для Flash-памяти), поддержку MPLS (Multiprotocol Label Switching), а так- же новый фильтр сетевых пакетов – NPF.
Среди новшеств в поддержке различных аппаратных платформ в NetBSD 6.0 можно выде- лить значительные изменения в порте на MIPS (SMP, 64-битные процессоры, семейство про- цессоров Loongson и др.), а также поддержку процессоров Cortex A8 (ARM) и первоначаль- ную поддержку.
Дмитрий Шурупов <
osa@samag.ru
>
по материалам
www.nixp.ru

8
№117, 19 октября 2012
Электронное приложение «Open Source»
В продолжение двух предыдущих частей, посвященных дистрибутиву Arch Linux и одному из наиболее известных ответвлений – Chakra Linux (см. «Open Source» №№114 и 115), рас- смотрю другие заметные проекты, основанные на Arch.
Проекты можно условно разделить на:

>
специализированные (для решения конкретных задач);

>
порты под другие архитектуры (официально поддерживаются только i686 и x86_64);

>
пользовательские (к ним относится и Chakra Linux).
Если вас интересует полный список существующих проектов, рекомендую обратиться к wiki:

>
https://wiki.archlinux.org/index.php/Arch_Based_Distributions_%28Active%29
– действующие ответвления и проекты;

>
https://wiki.archlinux.org/index.php/Arch_Based_Distributions_%28Inactive%29
– прекратившие свое существование.
В статье же будут рассмотрены только наиболее популярные из ныне действующих.
Пользовательские дистрибутивы
Дистрибутивы на базе Arch Linux, предназначенные для повседневного использования, обла- дают своими «изюминками», благодаря чему каждый из них занял свою нишу.
Manjaro
Проект Manjaro (
http://blog.manjaro.org
) использует свои срезы стабильных репозиториев Arch
Linux и активно развивается: у него часто появляются релизы, а разработчики все время дер- жат своих пользователей в курсе последних событий (через сообщения в блоге).
Этот дистрибутив, в отличие от Arch Linux, нацелен на использование менее опытными пользователями, по умолчанию предлагает графическое рабочее окружение (предустанов- ленный и настроенный Xfce – в ближайшее время его обещают дополнить KDE и GNOME) и имеет собственный инсталлятор. В дистрибутив по умолчанию включены пакеты с кодеками для воспроизведения мультимедийных файлов, а также популярные программы вроде Skype,
Дистрибутив Arch Linux.
Часть 3: другие ответвления

9
№117, 19 октября 2012
Электронное приложение «Open Source»
Firefox и LibreOffice. Кроме того, в Manjaro представлены специальные утилиты для определе- ния аппаратного обеспечения (в том числе, видеокарт) и автоматизирован процесс установ- ки необходимого ПО и драйверов. Как и создатели Chakra Linux, разработчики Manjaro реши- ли не сохранять совместимость со стандартными репозиториями Arch Linux, однако AUR (Arch
User Repository) по-прежнему доступен.
Внешне дистрибутив выглядит очень приятно. Набор программного обеспечения позволя- ет выполнять большую часть задач для простого пользователя, но это обуславливает не са- мый удобный размер ISO-образа (1,7 Гб).
На мой взгляд, спорным выглядит включение в состав дистрибутива Qt-приложений, т.к. основной набор софта базируется на другом тулките – GTK+. Заявления разработчиков о скорости работы дистрибутива, на мой взгляд, преувеличены: особой разницы в сравнении с Xubuntu я не заметил.
Рисунок 1. Дистрибутив Manjaro

10
№117, 19 октября 2012
Электронное приложение «Open Source»
ArchBang
ArchBang Linux (
www.archbang.org
) предназначен для компьютеров с устаревшим аппаратным обеспечением и является одним из наиболее известных ответвлений от Arch Linux (на текущий момент он занимает 37-ю строчку в DistroWatch).
Разработчики не скрывают, что на создание дистрибутива их вдохновил пример CrunchBang
Linux (дистрибутив на базе Ubuntu – http://crunchbanglinux.org
), так что у проектов оказались схожие цели, инструменты и вообще подход.
Дистрибутив доступен для архитектур i686 и x86-64, поставляется с оконным менеджером
Openbox и претендует на высокую скорость работы, стабильность и всегда свежее ПО в репо- зиториях (впрочем, как и любой другой дистрибутив на базе Arch Linux).
Создатели утверждают, что ArchBang не подойдет для новичков, т. к. для нормальной ра- боты требует определенных знаний и навыков. Хотя дистрибутив, пожалуй, не предлагает ни- чего такого, что усложнит жизнь пользователя.
Скорее его предназначение можно охарактеризовать как упрощение установки и первона- чальной настройки системы для тех, кто хочет получить легковесное окружение на базе Arch
Linux. (К слову, у ArchBang есть подробная инструкция с изображениями по установке дистри- бутива: http://archvortex.blogspot.com/2011/09/simple-archbang-installation-guide.html.
)
Что касается скорости работы дистрибутива – здесь я склонен согласиться с разработчика- ми: утилиты из LXDE и оконный менеджер Openbox работают очень быстро, так что ArchBang действительно можно порекомендовать обладателям «слабого железа» (либо любителям «бы- строй езды» на своем компьютере).
LinHES
Аббревиатура LinHES (
www.linhes.org
) означает «Linux Home Entertainment System»; отсюда и основная идея дистрибутива – предоставить пользователям возможность создания домаш- ней развлекательной системы (HTPC).
Под функциями последней понимаются воспроизведение фильмов и музыки, игры, слайд- шоу из фотографий. Впрочем, разработчики утверждают, что на этом можно не останавли- ваться, настроив систему по собственному усмотрению. LinHES продолжает развитие дис- трибутива KnoppMyth, появившегося девять лет назад, и построенного на программном обе- спечении MythTV.

11
№117, 19 октября 2012
Электронное приложение «Open Source»
Основная разработка сосредоточена на автоматизации рутинных процессов вроде обнов- ления системы и поддержке оборудования, благодаря чему в LinHES реализована поддерж- ка «из коробки» VDPAU аппаратуры захвата видео и различных пультов дистанционного уп- равления.
live.linuX-gamers.net
Дистрибутив live.linuX-gamers.net, названный в соответствии с сайтом проекта (
http://live.linux- gamers.net
), изначально поставлялся исключительно в виде LiveCD/DVD/USB, но в последней версии все же появилась возможность установки системы на жесткий диск. У дистрибутива есть два ISO-образа (lite и big – для CD и DVD соответственно), загрузив которые можно получить доступ к различным играм и дополнительным приложениям. Также в состав live.linuX-gamers.net включены проприетарные драйверы видеокарт и поддержка русского языка.
Рисунок 2. Дистрибутив ArchBang

12
№117, 19 октября 2012
Электронное приложение «Open Source»
Вообще же, проект предназначен для того, чтобы продемонстрировать работу различных
Linux-игр, которые доступны на текущий момент. Автор надеется, что с помощью его дистри- бутива пользователи смогут играть в любом месте, даже в гостях.
Для запуска игр установлены следующие минимальные требования:

>
архитектура процессора, совместимая с x86;

>
512 Мб оперативной памяти;

>
видеокарта с 3D-ускорителем.
Впрочем, практика показывает, что дистрибутив «взлетает» почти на всем оборудовании: запускать игры можно даже из-под виртуальной машины – надо только не забыть включить
2D- и 3D-ускорение.
В последнюю lite-версию дистрибутива входит 18 игр, а в big-редакцию – свыше 30. Все игры полностью бесплатны, а многие из них открыты и свободны для распространения.
Рисунок 3. Дистрибутив live.linuX-gamers.net

13
№117, 19 октября 2012
Электронное приложение «Open Source»
Среди них:

>
Neverball;

>
Pingus;

>
Teeworlds (в облегченной версии);

>
Wesnoth;
Полный список игр можно найти на странице http://live.linux-gamers.net/?s=games
Также в состав дистрибутива входят WICD для настройки доступа к сети, Xchat и Mumble для общения в IRC и голосом, а также Arora в качестве браузера.
В live.linuX-gamers.net есть возможность сохранять параметры игр. Для этого необходимо создать специальный раздел на диске либо USB-носителе с ярлыком «LGLIVE_HOME»: при следующей загрузке система определит и будет его использовать автоматически, благодаря чему весь прогресс в играх и сопутствующие изменения будут сохраняться.
Наконец, автор предусмотрел возможность использования дистрибутива в качестве PXE- сервера, т. е. загружать множество компьютеров с одного носителя. Идея в том, чтобы позво- лить проводить массовые демонстрации или вечеринки с компьютерными играми.
Порты для других архитектур и Hurd
Как уже сообщалось в статье, официально разработчики Arch Linux поддерживают только две процессорные архитектуры (i686 и x86_64). Но растущая популярность Arch привела к тому, что пользователи захотели увидеть любимый дистрибутив и за пределами десктопа или ноутбука.
Так стали появляться сторонние проекты, поддерживаемые силами сообществ...
Arch Hurd
Как легко догадаться по названию проекта Arch Hurd (
www.archhurd.org
), это ответвление слу- жит для замены в дистрибутиве ядра Linux на Hurd. То есть разработчики предлагают попро- бовать с Hurd концепцию дистрибутива Arch Linux, его пакетную базу, оптимизированную под i686, и LiveCD (с возможностью установки).
За время существования дистрибутива с 2010 года было выпущено несколько установоч- ных образов, последний вышел более года назад (в августе 2011). Вообще, Arch Hurd разви- вается не очень активно: пакеты обновляются редко, wiki-ресурс пустует (несмотря на неболь- шое количество спам-ссылок), форум попросту отсутствует.

>
Warsow;

>
Urban Terror;

>
Nexuiz;

>
и другие (в полной версии).

14
№117, 19 октября 2012
Электронное приложение «Open Source»
Есть ощущение, что у данного ответвления очень ограниченное сообщество, которое не за- интересовано в его активном развитии, а только поддерживает проект для каких-то своих це- лей. По крайней мере, так выглядит проект со стороны.
Arch Linux ARM
В случае с Arch Linux ARM (
http://archlinuxarm.org
) название вновь говорит само за себя – это проект порта Arch Linux на архитектуру ARM. Особенно этот дистрибутив интересен бла- годаря Raspberry Pi – одноплатному компьютеру стоимостью 35 долларов США с архитекту- рой ARMv6. Благодаря Arch Linux ARM с этим бюджетным компьютером можно реализовать множество идей.
Вообще же, данный порт – это не только возможность запустить любимый дистрибутив на еще одной платформе, но и адаптированное под разные процессоры ПО и набор докумен- тации по сборке, созданию и поддержке программных продуктов и разных версий ядра. Про- ект пережил период застоя и сейчас уверенно и стабильно развивается.
ArchLinux PPC
К сожалению, у ArchLinux PPC, предназначенного для возможно запуска системы на PowerPC, нет даже действующего сайта (
www.archlinuxppc.org недоступен на протяжении некоторого времени).
Проект создавался для запуска базовых компонентов системы, а для сборки других паке- тов предполагалось самостоятельное использование ABS (Arch Build System).
Специализированные дистрибутивы
На базе Arch Linux есть и другие проекты, призванные решать задачи более или менее широ- кого круга заинтересованных пользователей.
ArchServer
ArchServer (
www.archserver.org
) призван упрощать процесс создания сервера на базе Arch Linux.
Причина его возникновения заключается в том, что пакетная база Arch ориентирована на са- мое свежее программное обеспечение, что не очень подходит для использования «в производ- стве». Отсюда и девиз проекта: «Когда простота встречается со стабильностью».

15
№117, 19 октября 2012
Электронное приложение «Open Source»
Впрочем, на текущий момент проект развивается слабо: команда разработчиков не вы- пустила ни одного стабильного релиза, а имеющийся вариант дистрибутива не рекомендует использовать как замену традиционным Debian, Red Hat или CentOS. Последняя активность на форуме датируется августом, а сейчас он и вовсе недоступен. Выяснить дальнейшую судь- бу проекта мне не удалось.
CDN Linux
Проект CDN Linux (
http://cdn.freesco.pl
) предназначен для использования в роутерах и неболь- ших серверах. Данный дистрибутив является польской разработкой для «построения частной или закрытой сети доставки контента».
К сожалению, будущее проекта тоже под вопросом: последняя активность на сайте заре- гистрирована более двух лет назад.
archboot
archboot (
https://wiki.archlinux.org/index.php/Archboot
) – это даже не дистрибутив, а набор скрип- тов для создания образов CD/USB/PXE или восстановления системы.
Система работает на базе LTS-ядра Linux ветки 3.0, запускается в оперативной памяти без применения специализированных файловых систем и ограничена только физической емко- стью. Скрипты имеют множество настроек и возможностей.
В общем, пригодится тем, кто захочет создать на базе Arch Linux свой образ.
Вместо заключения
Конечно, есть и другие интересные проекты на базе Arch Linux – достаточно заглянуть в спи- сок дистрибутивов по ссылкам, приведенным в начале статьи.
На этом я завершаю цикл, посвященный Arch Linux. Но сам проект продолжает развивать- ся и завоевывать новые для себя ниши. Кто знает – быть может, уже скоро появится новый материал по этому замечательному дистрибутиву.
Никита Лялин
<
tinman321@gmail.com
>

16
№117, 19 октября 2012
Электронное приложение «Open Source»
В «Open Source» уже рассказывалось о замечательном инструменте для построения двухмер- ных графиков Grace (см. выпуск №048 от 17.08.2009). Эта программа выделяется уникальным сочетанием концепции WYSIWYG с мощным командным языком и множеством опций команд- ной строки – неспроста она активно используется в научных и университетских кругах. Одна- ко ее солидный возраст (проект появился в 1991 году) все больше дает о себе знать. Grace использует архаичную и морально устаревшую библиотеку Motif для построения интерфейса, что приводит к ряду проблем. Во-первых, программа выглядит уродливо и не вписывается ни в одно современное рабочее окружение. Во-вторых, Motif не поддерживает Unicode, что созда- ет сложности в локализации интерфейса. Наконец, для работы Grace требуется функциональ- ный X-сервер, так что в Windows и Mac OS запуск программы превращается в «танцы с буб- ном», а создать родной независимый порт для этих платформ невозможно.
В таком случае возможны два варианта дальнейшего развития проекта: создание клона с нуля или «косметическое» портирование интерфейса на современный GUI-тулкит. В случае
Grace выбор был предопределен архитектурой программы. Несколько упрощая ситуацию, мож- но сказать, что Grace состоит из нескольких относительно независимых частей:

>
ядра, которое выполняет анализ и трансформацию наборов данных и их привязку к гра- фикам;

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

>
драйверов вывода, рисующих графики на экране или пишущих их в файлы разного типа;

>
графического интерфейса на Motif.
Первые три компонента хорошо справляются со своей работой – особой надобности пере- писывать их с нуля нет. А вот графический интерфейс нуждается в замене...
На сегодняшний день существует два активно развивающихся проекта: QtGrace и GraceGTK, в которых интерфейс Grace переписан с помощью тулкитов Qt и GTK+ соответственно. Це- ли обоих проектов различаются, но по сути оба они являются надстройками над ядром ста- бильной версии Grace (5.1.22) и стремятся дать этой замечательной программе вторую жизнь.
Вторая жизнь Grace: QtGrace
и GraceGTK

17
№117, 19 октября 2012
Электронное приложение «Open Source»
QtGrace
Проект QtGrace (
http://sourceforge.net/projects/qtgrace
) был начат Андреасом Винтером (Andreas
Winter) в 2011 г. Его цель – полностью переписать интерфейс Grace на Qt, сохранив при этом максимальное соответствие оригинальной программе. В результате получилось приложение, которое нативно компилируется на любой платформе, поддерживаемой Qt, и выглядит в точно- сти так же, как Grace 5.1.22. При этом и все виджеты являются родными для каждой платформы.
QtGrace распространяется исключительно в виде исходных кодов, а для его сборки нуж- но иметь работающую IDE Qt Creator. После скачивания исходных кодов с официального сай- та требуется открыть в Qt Creator файл проекта (src/src.pro) и запустить компиляцию. На моей машине не потребовалось даже устанавливать никаких сторонних библиотек.
После запуска QtGrace практически неотличима от оригинальной программы – естественно, кроме приятно выглядящих нативных виджетов и нормальных сглаженных шрифтов (см. рис. 1).
Рисунок 1. QtGrace 0.23 (слева) и Grace 5.1.22 (справа)

18
№117, 19 октября 2012
Электронное приложение «Open Source»
При внимательном рассмотрении можно найти множество мелких улучшений интерфейса:

>
Добавлен ползунок масштаба и кнопка для подгонки размера графика под размер окна программы – простая функциональность, которой не хватало в Grace.

>
В основное окно добавлен список графиков.

>
Все элементы интерфейса имеют всплывающие подсказки – еще одна мелочь, отсутствие которой очень раздражало в Grace.

>
В некоторых диалогах добавились новые поля – например, в Plot Appearance появилось по- ле описания проекта.
Выбор шрифтов все так же ограничивается только устаревшими шрифтами Type1, которые не поддерживают юникод, т.е. на графики по-прежнему очень сложно поместить кириллические или другие национальные символы. После моей переписки с Андреасом был исправлен баг, из-за которого в QtGrace не отображались кириллические символы из старых проектов Grace.
Теперь обе программы работают с кириллицей одинаково плохо (плохо, но хотя бы одинаково).
Проект QtGrace практически достиг поставленных целей: интерфейс родительской про- граммы полностью воссоздан. Сейчас исправляются баги и добавляются различные функции, упущенные при портировании. QtGrace уже сейчас вполне можно использовать как полностью совместимую замену оригинального Grace.
GraceGTK
GraceGTK (
http://sourceforge.net/p/gracegtk/home/gracegtk
), как легко понять из названия, явля- ется портом Grace на тулкит GTK+. В отличие от QtGrace программа не является точным кло- ном и не преследует цели быть совместимой с оригиналом на 100%. Целью GraceGTK являет- ся дальнейшая эволюция Grace – введение новой функциональности, улучшение интерфей- са, повышение интерактивности и удобства работы.
Установить GraceGTK в Linux можно только из исходных кодов, а для Windows на сайте есть готовые бинарные сборки. Для компиляции нужно предварительно установить пакеты gfortran и libgtk2.0-dev (возможно, что-то еще – это зависит от уже установленных пакетов в каждой конкретной системе), после чего выполнить стандартные команды:
./configure
make

19
№117, 19 октября 2012
Электронное приложение «Open Source»
Скрипт configure почему-то не является исполнимым, так что понадобится предварительно изменить права доступа к нему:
chmod +x configure
Или же запускать с помощью команды:
bash ./configure
Компиляция проходит без проблем. Для запуска программы нужно предварительно уста- новить переменную окружения:
export GRACEGTK_HOME=<путь к исходникам GraceGTK>
Без этого программа не увидит директории со своими шрифтами Type1.
Рисунок 2. Основное окно GraceGTK 0.6.1

20
№117, 19 октября 2012
Электронное приложение «Open Source»
Изменения графического интерфейса
Основное окно GraceGTK сразу же демонстрирует большие отличия от родительской програм- мы (см. рис. 2). В панели инструментов слева появились две новые группы кнопок. Первая (го- лубая) управляет графическими объектами (графиками, геометрическими примитивами, тек- стовыми блоками). Представленные там кнопки позволяют включать режимы выбора объек- та, выполнять его перемещение мышью, копирование, удаление, масштабирование, а также создание и удаление групп объектов (compounds). Вторая группа кнопок позволяет удалять, добавлять и двигать точки на самих графиках. Обе группы кнопок имеют флажки, показыва- ющие или скрывающие их, но реализовано это не очень удачно. Несмотря на некоторые не- достатки реализации, эти режимы сильно повышают интерактивность программы, позволяя перемещать и масштабировать объекты на графиках визуально, а не только вводя их коор- динаты вручную, как в Grace.
Пожалуй, самое кардинальное отличие GraceGTK заключается в иерархическом диалоге свойств, называемом обозревателем (Explorer) и вызываемом кнопкой TreeView (см. рис. 3). Обо- зреватель полностью заменяет все разрозненные диалоги свойств объектов в Grace. Структура проекта в нем представлена единым иерархическим деревом, которое содержит узлы для каж- дого возможного типа объектов (графики, геометрические примитивы, строки, группы, рисун- ки). Даже если объектов этого типа на странице нет, узел дерева все равно будет виден. В этом случае он задает свойства, являющиеся шаблоном для создания новых объектов такого типа.
Рисунок 3. Обозреватель свойств объектов и консоль в режиме Follow me

21
№117, 19 октября 2012
Электронное приложение «Open Source»
Выделенный в обозревателе объект автоматически подсвечивается «уголками» и наоборот
(объект, выделенный мышью, сразу выделяется в обозревателе). Текстовые подписи к объек- там (например, к осям графиков) почему-то редактируются не на странице свойств, а в колонке
«label» в самом дереве. Дойти до этого логически тяжело и сложно понять, зачем так сделано.
В целом обозреватель очень помогает в работе: его идея прекрасно зарекомендовала се- бя в таких программах для построения графиков, как QtiPlot и Origin.
Еще одно нововведение – режим консоли Follow me. В этом режиме любые изменения, сде- ланные в обозревателе, отображаются в виде эквивалентной команды в консоли Commands, что очень удобно для освоения командного синтаксиса. Любые команды можно затем отре- дактировать, выделить и выполнить, снова нажав на Apply.
Еще одним очень полезным новшеством является диалог импорта, вызываемый кнопкой
Import (см. рис. 4). В нем можно на лету просмотреть данные из текстового файла и выбрать режим его загрузки. Можно сразу же указать, на какой график нужно поместить загружен- ные данные и выбрать режим их автоматического масштабирования. Это на порядок проще, чем загрузка данных в Grace.
Рисунок 4. Новый диалог импорта в GraceGTK

22
№117, 19 октября 2012
Электронное приложение «Open Source»
Изменения ядра Grace
Разработчики GraceGTK не ограничиваются изменениями интерфейса, но и улучшают ядро:

>
Введены новые типы графиков: контурные графики, векторные поля и полярные графики нового типа. Это изменение привносит в GraceGTK элементы построения трехмерных гра- фиков, которых раньше не было в принципе.

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

>
Добавлена группировка объектов, знакомая любому, кто работал в векторных редакторах.

>
Есть новые методы нелинейной фитовки данных: Levenberg и LOESS.

>
Представлены обычные и двумерные сплайны для соединения точек на графиках.

>
Реализованы новые функции для создания гистограмм, преобразований Фурье и вейвлет- ных преобразований.
Проблемы и недоработки
При этом, к сожалению, в GraceGTK можно найти немало недоработок:

>
Режимы визуального редактирования работают не инту- итивно. Например, для начала перемещения объекта его нужно потянуть мышью за черный «уголок», но потом объ- ект почему-то «прицепляется» к мыши (чтобы поместить его в новое место, нужно щелкнуть левой кнопкой).

>
По идее все объекты при выборе нового режима (напри- мер, копирования) помечаются черными «уголками», но- некоторые из них получаются недоступными совершенно случайным образом. Если сбросить выделение щелчком правой кнопкой мыши и снова выбрать тот же режим, то недоступные объекты вдруг становятся доступными без намеков на какую-то логику.

>
Кнопки выбора режимов редактирования почему-то не фиксируются в нажатом положении, что тоже не добав- ляет понятности.

>
Интерфейс в целом выглядит очень «неряшливо». Во мно- гих диалогах неправильно выбирается размер окна и вид-
Рисунок 5. Пример диалога
с неправильными размерами
окна в GraceGTK

23
№117, 19 октября 2012
Электронное приложение «Open Source»
жеты вылезают за его пределы (см. рис. 5). Повсеместные выделения цветом выбиваются из системной темы и выглядят откровенно аляповато. Интерфейс слишком «широкий» да- же для 20-дюймового экрана.

>
Если закрыть основное окно программы «крестиком», то она продолжает висеть в памяти, но если использовать кнопку «Exit» – программа завершается как надо.

>
Программа не локализована, поэтому системные кнопки GTK+, такие, как «Закрыть» и «При- менить», переведены, а остальные элементы интерфейса – нет.

>
Программа не полностью функциональна в Windows, поэтому не может считаться по- настоящему кроссплатформенной.

>
Проекты с кириллическими символами открываются некорректно (тоже было и в QtGrace).
Выводы
Пример Grace наглядно демонстрирует, как устаревшие и, казалось бы, уже «мертвые» от- крытые проекты могут обрести новую жизнь. В случае Grace этому способствует удачная ар- хитектура программы, в которой ядро отделено от графического интерфейса. Это позволяет сохранить стабильную и проверенную десятилетиями кодовую базу и осовременить пользова- тельский интерфейс программы ценой относительно небольших усилий.
QtGrace является полным клоном классической Grace, который практически на 100% иден- тичен оригиналу и не требует какого-либо переучивания или привыкания, тогда как GraceGTK намного расширяет и дополняет функциональность Grace и должна рассматриваться как са- мостоятельная программа, не имеющая полной обратной совместимости со своим родителем.
Несмотря на недоработки, обе программы вполне функциональны и стабильны.
Что касается перспектив, то в ближайшем будущем разработчикам придется переносить
GraceGTK на GTK3 и хочется надеяться, что сложности этого перехода не охладят их энту- зиазма. Будет хорошо, если разработчики какого-то из проектов перепишут систему работы со шрифтами в ядре GraceGTK и наконец-то отвяжут ее от устаревших шрифтов Type1 – имен- но эта зависимость является самым тяжелым наследием прошлого в кодовой базе программы.
Можно смело утверждать, что программа-ветеран Grace обрела вторую молодость и про- должает активно развиваться.
Семен Есилевский
<
yesint4@yahoo.com
>

24
№117, 19 октября 2012
Электронное приложение «Open Source»
Активное использование свободного ПО в интернет-компаниях новостью не назовешь. Более того, крупные игроки не просто используют готовые продукты, но и адаптируют их под свои нужды. Результаты такой адаптации нередко возвращаются назад, в сообщество, и их разра- ботка приобретает открытый характер.
Одним из примеров такого сотрудничества интернет-гигантов и мира FLOSS является сер- вис микроблогов Twitter.
Открытое ПО внутри Twitter
Полагаю, не вызовет большого удивления тот факт, что тысячи серверов Twitter работают под управлением GNU/Linux. Правда, особым вкладом в развитие непосредственно ядра Linux или низкоуровневых библиотек компания похвастаться пока не может – ее интересы лежат в не- сколько другой области.
Так, для хранения данных компания использует MySQL, а точнее – собственный форк, исход- ный код которого доступен в открытом доступе. В открытом доступе находится и Twemcache – переработанный вариант инструментария кэширования данных Memcached, сопровожда- емый утилитами наподобие измерителя производительности twemperf и прокси twemproxy.
Есть и прототип собственной реализации клиента и сервера Memcached на языке Scala – schmemcached.
В компании активно используют наработки проекта фонда Apache: библиотеку полнотек- стового поиска Lucene, фреймворк для разработки и выполнения распределённых программ
Hadoop, распределенную СУБД Cassandra и другие продукты.
Для Cassandra в Twitter разработали свой клиент Cassie на языке Scala. Для использования в Hadoop поддерживается hadoop-lzo (распараллеливаемая реализацию сжатия по алгоритму
LZO), система генерации индексов Elephant-twin, а также scalding и pycascading – библиотеки- обертки (на Scala и Python соответственно) к Cascading – слою промежуточного ПО поверх
Hadoop, предназначенного для выполнения сложных задач по анализу данных без погруже- ния в дебри MapReduce.
Полезна и утилита hdfs-du, занимающаяся визуализацией использования HDFS (Hadoop
Distributed File System) – распределённой файловой системы, используемой в Hadoop. Нако-
Twitter и Open Source

25
№117, 19 октября 2012
Электронное приложение «Open Source»
нец, небезынтересным продуктом является Ambrose – платформа для визуализации и мони- торинга потоков данных в MapReduce.
В процессе разработки ПО в Twitter применяются системы контроля версий Subversion и Git, инструментарий непрерывной интеграции Jenkins, IDE Eclipse и прочие известные про- граммы и утилиты. К слову, разработка (во всяком случае, видимая ее часть) ведется на C/
C++, Objective-C, Java, JavaScript, Python и Ruby, но самое пристальное внимание уделяется
Scala – схожему с Java языку программирования, программы на котором могут компилиро- ваться в байт-код Java либо .NET.
При разработке на этих языках используются свободные компиляторы, интерпретаторы, фреймворки и другой инструментарий. Во многие из этих продуктов сотрудники Twitter вре- мя от времени передают свои патчи и улучшения, многие из которых находят применение и вне компании.
А теперь – подробнее о некоторых из разработанных в Twitter свободных продуктах.
Рисунок 1. Пример типового веб-интерфейса, сделанного с Twitter Boostrap

26
№117, 19 октября 2012
Электронное приложение «Open Source»
Инструментарий для разработчиков ПО
Даже при беглом взгляде на перечень открытых проектов от Twitter, бросается в глаза любовь компании к языку Scala.
Для программистов, использующих этот язык, в компании разработан ряд компонентов, до- ступных под открытыми лицензиями:

> twitterActors
– улучшенная версия библиотеки Actors для Scala (для распараллеливания процессов);

> scala-json
– инструментарий для работы с JSON (популярным текстовым форматом дан- ных, основанном на JavaScript), а также jerkson (обертка на Scala для Jackson – обработ- чика JSON на Java);

> finagle
– собственная реализация механизма удаленного вызова процедур (Remote Procedure
Call, RPC) для Scala, а также rpc-client – библиотека, инкапсулирующая различные аспек- ты RPC;

> joauth
– библиотека поддержки авторизации с помощью Oauth;

> chainsaw
– обертка на Scala для библиотеки журналирования SLF4J;

> cassovary
– библиотека для работы с графами больших размеров;

>
... и другие относительно небольшие библиотеки и утилиты.
Помимо библиотек для самого языка, инженеры компании разработали ряд плагинов и над- стройки для sbt (инструмента сборки для Scala и Java) и Thrift (языка описания интерфейсов программных компонентов). В частности, сотрудники Twitter поддерживают Scrooge (
github.
com/twitter/scrooge
) – генератор Thrift-описаний для Scala.
Те, кто хочет познакомиться со Scala, могут найти на github.com/twitter учебник «Effective
Scala» и набор уроков «Scala Lessons» по основам языка. Полезно ознакомиться и с интер- вью с разработчиками Twitter, в котором они рассказывают о преимуществах языка (
http://
goo.gl/wmlFW
).
Впрочем, одной Scala активность Twitter на поприще инструментов для программистов не ограничивается: разработчики на других языках также не обделены вниманием.
Например, Ruby-программисты получили в свое распоряжение открытый инструментарий для тестирования Webrat (
github.com/brynary/webrat
) и библиотеку scribe для работы с однои- менным открытым сервером сбора журналов с большого количества систем в реальном вре- мени (к слову, разработанном в Facebook).

27
№117, 19 октября 2012
Электронное приложение «Open Source»
Разработчики на Java найдут полезными querulous (набор классов для работы с базами данных, избавляющий программистов от кучи рутины, возникающей при прямом использо- вании JDBC), библиотеку cloudhopper-commons-gsm для работы с такими аспектами телефо- нии, как SMS и MMS, а также Java-реализацию протокола SMPP (Short message peer-to-peer protocol, используемый для взаимодействия с SMS-сервером).
Веб-разработчики оценят фреймворк для создания сайтов Twitter Bootstrap (
twitter.github.
com/bootstrap
) и сопутствующие утилиты наподобие Recess, которая проверяяет качество ко- да на CSS, а также JavaScript-инструменты hogan.js и mustache.js для обработки шаблонов при верстке веб-сайтов.
Есть и инструменты, которые пригодятся многим разработчикам, независимо от исполь- зуемого языка программирования. Например, Iago (
github.com/twitter/iago
) – инструментарий нагрузочного тестирования серверов (генерирующий поток данных из сети), или Snowflake
(
github.com/twitter/snowflake
) – сервис для генерации большого количества уникальных число- вых идентификаторов.
«Большие» программные продукты
Помимо различных фреймворков, библиотек и утилит для разработчиков, Twitter открыла код и нескольких крупных программных продуктов, играющих важную роль в работе само- го сервиса.
На заре появления Twitter данные в нем хранились в MySQL, однако со временем возмож- ностей открытой СУБД стало не хватать – не спасал даже Memcached. Для решения проблемы обработки лавинообразно растущего объема данных в компании разработали FlockDB (
github.
com/twitter/flockdb
) – распределенное отказоустойчивое хранилище для данных, представляе- мых в виде графов (фактически, разновидность сетевой СУБД).
Именно FlockDB используется в компании для хранения информации о пользователях и их связях друг с другом. С 2010 года код FlockDB выложен в открытый доступ (
engineering.twitter.
com/2010/05/introducing-flockdb.html
). Для работы с распределенными хранилищами FlockDB используется фреймворк Gizzard (
github.com/twitter/gizzard
) – тоже открытый.
Разрабатывается в Twitter и еще одно собственное хранилище данных – Haplocheirus
(
github.com/twitter/haplocheirus
), предназначенное исключительно для хранения коротких со- общений (твитов).

28
№117, 19 октября 2012
Электронное приложение «Open Source»
Однако в настоящее время Haplocheirus считается экспериментальным проектом, еще не го- товым к промышленному использованию.
Еще одним заметным продуктом с открытым кодом является отказоустойчивая система анализа данных Storm (
github.com/nathanmarz/storm
), предназначенная для обработки боль- ших потоков информации в реальном времени (и называемая многими не иначе как «Hadoop реального времени»). Интересно, что Storm достался интернет-гиганту вместе с приобрете- нием компании BackType, и это не единственный пример открытия кода приобретенных про- дуктов: например, на github.com/whispersystems можно найти код нескольких приложений
WhisperSystems, приобретенной Twitter в 2011 году.
Несколько выделяется из общей группы TwUI (
github.com/twitter/twui
) – фреймворк для соз- дания графического интерфейса для приложений на Mac OS X. Для отрисовки GUI, созданно- го в TwUI, используются вычислительные мощности видеокарты.
Рисунок 2. Xcode с проектом TwUI (скриншот взят с
engineering.twitter.com
)

29
№117, 19 октября 2012
Электронное приложение «Open Source»
Завершая разговор о программных продуктах Twitter, нельзя не отметить инструментарий
Ostrich (
github.com/twitter/ostrich
) для сбора статистических данных с различных серверов и соз- дания отчетов, распределенную систему мониторинга Zipkin (
github.com/twitter/zipkin
), исполь- зуемую в самом Twitter для отслеживания состояния всех сервисов компании, а также собст- венную систему очередей сообщений Kestrel (
github.com/robey/kestrel
), использующую прото- кол Memcached.
Twitter API
Важной особенностью Twitter, способствующей его популярности, является открытость API сервиса – функций, с помощью которых можно получать и отправлять сообщения-твиты (от- мечу, что хотя API и открыты, для непосредственной работы приложения с Twitter это прило- жение необходимо сначала зарегистрировать на сайте сервиса и получить OAuth-токен, с по- мощью которого будет происходить идентификация при общении с сервисом).
Общение приложений с сервисом происходит по протоколу HTTP (предоставляются REST
API, основанные на взаимодействии посредством отдельных POST- и GET-запросов, а также
Streaming API, подразумевающий использование постоянного соединения по HTTP).
Для многих языков существуют библиотеки-обертки, избавляющие программистов от низ- коуровневой работы с протоколом HTTP; список открытых продуктов для работы с Twitter API можно найти на странице dev.twitter.com/docs/twitter-libraries
Часть этих библиотек поддерживается сообществом, в разработке некоторых принимают участие и сотрудники Twitter.
Помимо инструментария для непосредственной работы с API, компания предоставляет би- блиотеку twitter-text для анализа твитов (например, извлечения из них имен пользователей, тегов, ссылок и другой интересной информации). Реализация библиотеки доступна для Ruby,
Java, Objective-C и JavaScript.
Организационная поддержка
Помимо написания кода, Twitter активно поддерживает различные организации, занимающи- еся развитием открытых проектов, а также связанные с миром FLOSS активности.
Например, интернет-гигант поддерживает Ada Initiative (призванную увеличить долю представительниц прекрасного пола в мире FLOSS), фонды Apache Software Foundation

30
№117, 19 октября 2012
Электронное приложение «Open Source»
и Eclipse Foundation, участвует в работе Java Community Process (в рамках которого разраба- тываются спецификации будущих версий Java) и проекте OpenJDK. Не так давно Twitter стал серебряным членом консорциума The Linux Foundation.
Чтобы систематизировать взаимодействие с сообществом FLOSS, в 2011 году в Twitter соз- дали отдельное подразделение – Open Source Office (
dev.twitter.com/opensource
), которое ку- рирует открытые проекты самой компании.
С момента создания этого подразделения в 2010 году (
www.nixp.ru/news/10139.html
), об- щее число открытых проектов от Twitter выросло с 22 до 84; в работе над ними принимают участие почти две сотни сотрудников компании (при том, что всего в компании работают око- ло 900 человек).
Заключение
Итак, за последние два с половиной года Twitter превратился в достаточно заметного участ- ника мира свободного ПО. В отличие от многих крупных корпораций, о которых я рассказы- вал в предыдущих статьях в «Open Source» и основной бизнес которых связан с аппаратным обеспечением, деятельность Twitter на арене FLOSS находится прежде всего в области веб- разработки и создания стрессоустойчивых сервисов, способных выдерживать колоссальные объемы запросов от пользователей.
При этом Twitter не ограничивается выпуском различных вспомогательных библиотек и ути- лит, а сообщество получает программные продукты, прошедшие серьезные испытания в са- мой компании и обеспечивающие успех ее деятельности.
Приятно, что компания признает важную роль свободного ПО в своем бизнесе и с охотой идет на сотрудничество с сообществом. Остается пожелать ей поддерживать темпы развития этого сотрудничества – уверен, оно принесет выгоду всем участникам.
Денис Силаков
<
d_uragan@rambler.ru
>

31
№117, 19 октября 2012
Электронное приложение «Open Source»
Эмуляция игровых консолей
5+ поколений.
Часть 3: Atari Jaguar
О легендарной игровой приставке Atari Jaguar я узнал еще в середине 90-х. Был журнал «Ком- пьютеры + программы», у которого вышло два спецвыпуска про игры. Эти номера ходили из рук в руки и зачитывались до дыр.
В первом было много полезного – например, как программировать для графического VGA- режима X (когда разрешение 320x240, как в Doom). Приводились алгоритмы, код на ассем- блере...
А среди тогдашних новинок описывалась игровая консоль Atari Jaguar, из статьи про ко- торую я на много лет вперед вынес две вещи: что под Jaguar выходит версия «Doom» и что в Jaguar «64-разрядный блиттер». Последнее оставалось для меня загадкой, пока я сам не занялся созданием игр, но сама фраза, «64-разрядный блиттер», с завидным постоянством возникала в разуме случайным образом – тогда я еще не знал, что Atari поставила 64-раз- рядность во главе своей рекламной кампании (нет, сама статья не была рекламной), но фра- за меня зацепила.
Через некоторое время я увлекся эмуляцией тех игровых консолей, с которыми не сталки- вался вживую, особенно консолей золотой эры игровых приставок, когда каждая консоль была ключом в мир особых, характерных для этой консоли игр. Так я и познакомился с Atari Jaguar ближе, и помог мне в этом свободный эмулятор Virtual Jaguar. Но сначала расскажу о самой игровой приставке...
Предыстория и появление Jaguar
1993 год. В космической битве сражаются две 16-битные игровые консоли: Sega Megadrive/
Genesis и SNES (Super Nintendo Entertainment System). Сейчас их относят к консолям «четвер- того поколения». Покамест Sega выигрывает: на SNES еще нет таких быстрых и наворочен- ных игр, а 1994 год, когда революционеры из Rare выпустили Donkey Kong Country для SNES, еще не наступил.

32
№117, 19 октября 2012
Электронное приложение «Open Source»
Был еще один игрок – TurboGrafx-16 (PC Engine), продукт сотрудничества NEC и Hudson
Soft, где основной процессор был восьмибитным, а графический – 16-битным, хотя возмож- ности аппаратной графики тоже уступали конкурентам.
Но на 1993 год эта «полувосьмибитная» консоль уже фактически вышла из борьбы. Это бы- ла предпоследняя попытка NEC работать на рынке игровых консолей – последняя случится годом позже, в виде 32-битной консоли PC-FX (подробнее о них расскажет хороший ресурс http://pcenginefx.com/main
).
Корпорация Atari, пионер видеоигр, пребывала в странном состоянии. Работа над линей- кой её домашних компьютеров Atari ST (на основе процессора Motorola 68000) была останов- лена именно в 1993 году, ибо все ресурсы были переброшены на создание консоли Jaguar.
И это в то время, когда компьютеры Atari ST были весьма популярны и более чем востребо- ваны в мире производства музыки. (Чего только стоит факт, что знаменитая DAW Steinberg
Cubase впервые была написана именно под Atari ST! Влияние Atari ST проникло даже в на- звания групп – например, «Atari Teenage Riot».) Итак, корпорация Atari однозначно сдела- ла ставку на Jaguar...
Jaguar являлась для Atari внешней, приобретенной технологией. Была английская компа- ния Flare Technology, которая создавала игровое железо. Её сотрудники – бывшие инженеры из Sinclair Research – имели отношение к созданию ZX Spectrum. А чипсет Flare One послу- жил основой малоизвестной консоли Konix Multisystem (она так и не увидела свет). Но во Flare
Technology это не стало поводом для уныния: разработчики взялись за железо нового поколе- ния – Flare Two. Вот его вместе с компанией и купила Atari: Flare Technology прекратила суще-
Рисунок 1. Atari Jaguar (автор фото: Evan Amos)

33
№117, 19 октября 2012
Электронное приложение «Open Source»
ствование, а на средства Atari возникла Flare II. И вот, под крышей Flare II, для Atari началась разработка одновременно двух игровых консолей: 32-битной Panther и 64-битной Jaguar, при- чем дела по созданию последней пошли столь быстро, что Atari решила отменить «Panther» и продолжать только один проект.
Основной процессор Jaguar – Motorola 68000 с тактовой частотой 13,295 мегагерц: такой же, как в Sega Megadriva, но в последней он «разогнан» лишь до 8 мегагерц. Оперативная память – 2 мегабайта против 64 килобайт Sega Megadrive. Размер картриджа – до 6 мега- байт, против 4 в Megadrive (хотя при использовании переключения банков могло быть и на- много больше).
В Jaguar есть два чипа: Том и Джерри. Том (частота 26,59 мегагерц) включает в себя 32-бит- ный графический RISC-процессор, 64-битный объектный процессор, 64-битный блиттер (вот он!) и контроллер DRAM. Чип Джерри отвечает за звук – 32-битный процессор сигналов, син- тез (FM и Wavetable), 16-битный ЦАП. Кроме звука, на Джерри возложены заботы о тайме- рах, UART и джойпаде.
Рисунок 2. Выбор картриджа в Virtual Jaguar

34
№117, 19 октября 2012
Электронное приложение «Open Source»
С такими техническими характеристиками Jaguar намного превосходил по мощности Sega
Megadrive и Super Nintendo, проигрывая лишь грядущей Sony Playstation, но она тогда еще не вышла на рынок... «Do the math» – такой рекламный слоган Atari придумала для Jaguar.
Jaguar: игры и настоящее
Atari обещала много игр для Jaguar, завлекала наличием Doom на консоли. Но разработчики столкнулись с ошибками в железе новой консоли – в частности, в контроллере памяти и в UART.
Ошибки приходилось обходить программными уловками.
Хлопот добавила и неполная документация для нужд программирования – словом, никто особо не спешил выпускать игры под Jaguar, ибо для других платформ это было намного лег- че. Однако игры все-таки стали выходить: и обещанный Doom, и Wolfenstein 3D, Rayman, Alien vs. Predator...
От игр под Jaguar смешанное впечатление. С одной стороны, это 3D-шутеры от первого лица в современном для той эпохи духе. С другой стороны – двумерные игры, визуально вос- принимаемые как «навороченный Megadrive»: платформеры, гонки с 2D-фонами, единобор- ства – всё это лишь чуточку лучше, чем Megadrive или Sega CD.
В 1996 году выпуск Atari Jaguar был прекращен, а вскоре, пройдя через руки разоривше- гося производителя жестких дисков, собственность Atari (включая права на Jaguar) была при- обретена Hasbro Interactive.
14 мая 1999 года Hasbro специально для фанатов Jaguar освобождает разработчиков от не- обходимости приобретать лицензию для создания игр под Jaguar. В этот момент оказывается, что Jaguar жив: энтузиасты начинают выпускать под него собственные игры, и в мире Jaguar возникает так называемая «доморощенная» сцена (homebrew), а точнее, эта сцена расширя- ется на платформу Jaguar.
На какое-то время энтузиазм пошел на спад, но сейчас возродился. Нынешние фанаты
Jaguar обосновались на форуме www.jagware.org и на сайте www.jaguarsector.com
. Новые игры есть как в общественном достоянии, так и платные (на настоящих картриджах). Большой ил- люстрированный каталог homebrew-игр можно найти на странице www.atariage.com/forums/
topic/166990-jaguar-homebrew-projects
Однако новые консоли Jaguar больше не выпускаются, и когда сломается последний из
250 (по другим данным, 125) тысяч проданных Jaguar, останется уповать только на эмуляцию.

35
№117, 19 октября 2012
Электронное приложение «Open Source»
Существует ПО для разработки современных игр для Jaguar, есть и железо для отладки этих игр – SkunkBoard (
www.harmlesslion.com/cgi-bin/showprog.cgi?search=skunkboard
). Драй- веры к нему, равно как и сопутствующее ПО и техническая документация, отданы в обще- ственное достояние и работают под Linux. К сожалению, выпуск самих карт SkunkBoard не- давно был прекращен.
Эмулятор Virtual Jaguar
У Jaguar всего три рабочих эмулятора. Лучший из них – это свободный Virtual Jaguar (
http://
icculus.org/virtualjaguar
). Остальные менее совместимы с коммерческими играми (не homebrew).
Virtual Jaguar доступен для GNU/Linux, Windows и Mac.
Историю создания имеют не только игровые консоли, но и эмуляторы. Корни Virtual Jaguar уходят на глубину 2003 года, когда француз Давид Ранжар (David Raingeard) выложил исход- ники своего эмулятора Jaguar – Potato Emulator – под лицензией GPL.
Код был ориентирован на использование Microsoft Visual C++/SDL. Затем на сцену вышла команда разработчиков SDLEMU, которые и переписали код Potato Emulator под GCC и Qt/
OpenGL (зависимость от SDL, впрочем, осталась).
Прилагаемого к исходнику makefile достаточно, чтобы гладко выполнить сборку. Более того, в подкаталоге исходника, «Software», вы найдете современную игру Downfall (образ картрид- жа) – это одна из homebrew-игр. Downfall создана группой Reboot, и на их сайте можно найти еще несколько игр (
http://reboot.atari.org
).
Что еще понадобится для игры? Нужен ли образ оригинального BIOS Jaguar? Нет: BIOS
Jaguar встроен в Virtual Jaguar, так что никаких образов прошивок скачивать не придется.
После первого запуска эмулятор желательно настроить – через окно, вызываемое меню
Jaguar → Configure.
Там можно, во-первых, последовательно включать/выключать части эмулятора: BIOS, гра- фический процессор (GPU), звуковой процессор (DSP), воспроизведение звука («Enable audio playback»). В чем разница последних двух?
Дело в том, что некоторые игры (например, Doom) требуют включенного DSP (самого эму- лируемого чипа: чип можно включить, но звук выключить). Зачем выключать DSP и звук?
Очень просто: DSP в Virtual Jaguar тормозит. На одном из форумов я читал объяснение это- го дефекта: проблема заключена в архитектуре самого эмулятора. Но идеи программиста, об-

36
№117, 19 октября 2012
Электронное приложение «Open Source»
наружившего это и показавшего путь решения проблемы, насколько я помню, не нашли от- клика у разработчиков эмулятора...
В том же окне, на вкладках «Controller 1» и «Controller 2», можно настроить два джойпада – увы, реальный джойпад не поддерживается, можно лишь назначить клавиши компьютерной клавиатуры эмулируемому джойпаду Jaguar.
Насколько я могу судить по документации, раньше аппаратные джойпады поддержива- лись, равно как и полноэкранный режим – вероятно, тогда эмулятор был ближе к своему пред- ку (Potato). Я пробовал оба своих джойпада: и сложный DualShock-подобный, и более простой классический (оба работают в других эмуляторах) – не поддерживаются. Могу предположить
(хотя в исходниках это не проверял), что раньше ввод в Virtual Jaguar был основан на SDL, а те- перь – на Qt, и под Qt не сделали обработку событий джойпада.
Поскольку вывод графики осуществляется через OpenGL в рамках Qt-виджета, то полно- экранного режима нет. Впрочем, можно выбрать масштабирование: от 100 до 300 процен-
Рисунок 3. Alien vs Predator в Virtual Jaguar

37
№117, 19 октября 2012
Электронное приложение «Open Source»
тов. Никаких особых настроек графики больше нет. Образы картриджей и другие распозна- ваемые эмулятором файлы надо поместить в определенный каталог (задается через меню
Jaguar → Configure → General, поле «Software»). После этого надо нажать на Ctrl-I или кнопку
«Insert Cartridge» на панели инструментов. Появится окно «Insert Cartridge» с виртуальной по- лочкой картриджей – выбираем нужный, нажимаем в том же окне на кнопку вставки картрид- жа. Для удобства выбора есть встроенный поиск по первой букве: здесь никаких полей вво- да – просто нажимаете первую букву названия игры, и полочка прокручивается к играм, на- чинающимся с этой буквы. Поддерживаются не только распакованные образы картриджей, но и «зазипованные».
В настройках эмулятора также нужно (можно) указать, в каком каталоге создаются EEPROM- файлы. В некоторых картриджах консоли Jaguar есть перезаписываемая память типа EEPROM
(Electrically Erasable Programmable Read Only Memory) – в нее игра может сохранить, напри- мер, таблицу лучших счетов. Для эмуляции этих вещей Virtual Jaguar создает EEPROM-файлы.
В общем-то, вот и все настройки – их количеством Virtual Jaguar не радует. Зато в Virtual
Jaguar не нужны хитрости с настройками для запуска определенных игр: если игра тормозит, надо отключить DSP; если не запускается – включить DSP.
Завершая обзор Virtual Jaguar, отмечу его способность загружать CD с играми, выпущен- ными к дополнению к приставке – Atari Jaguar CD. Этих дополнений было продано в разы меньше самой консоли, а игр под Atari Jaguar CD – еще меньше, чем для самого Jaguar. ISO- образы этих дисков можно найти в сети, но их придется записать на настоящие CD, т.к. эму- лятор не поддерживает прямое чтение ISO.
Вместо вывода
Jaguar, несмотря на относительно малое количество выпущенных под него игр, предлагает геймерам интересные варианты – думаю, мир игр Jaguar понравится в первую очередь люби- телям Sega Megadrive. Все же Jaguar ближе к ним, к консолям золотого четвертого поколения.
Пусть он и не выдержал конкуренции, но получил вторую жизнь посмертно. Среди homebrew- разработчиков Jaguar и по сей день остается одной из самых популярных платформ. И не зря его эмулятор – Virtual Jaguar – частый гость в дистрибутивах Linux.
Петр Семилетов
<
tea@list.ru
>

38
№117, 19 октября 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» приглашает
к сотрудничеству!

39
№117, 19 октября 2012
Электронное приложение «Open Source»
Начиная с ноября-2011, вы можете купить цифровую версию журнала «Системный адми-
нистратор». Журнал «Системный администратор» доступен в цифровом виде на ресурсе
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 (31.10.2011). Чтобы полу- чать последние номера в момент их появления, нужно заплатить 100 рублей за год подписки.
Оплата – электронные деньги, банковские карты, терминалы и SMS. Подробности об услови- ях подписки читайте на http://osa.samag.ru/buy
Подписка на издания
«Системного администратора»

Document Outline

  • Колонка главного редактора
  • Новости мира Open Source
  • Подписка на издания «Системного администратора»
    • Подписка на Open Source

Каталог: 1073
1073 -> Обзор менеджера задач Getting Things gnome свободная библиотека линейной алгебры Eigen. Часть 1: История и основные возможности
1073 -> Критический взгляд на Firefox 4 DoudouLinux – дистрибутив для самых маленьких и не только
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
обратиться к администрации

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


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