В последней версии оболочки добавлена закладка «Мотор-тестер». Это модифицированный вариант осциллографа с синхронизацией по первому цилиндру, предназначенный для диагностики систем зажигания карбюраторных двигателей (разумеется, большей частью отечественных). Компания «Трейд-М» занимается выпуском приборов для диагностики автомобилей, поэтому вполне закономерно позиционирует «USB осциллограф», как базовый для создания автомобильного измерительного комплекса. Действительно, в обычном автомобиле практически невозможно найти сигналы, с отображением которых не справился бы (при наличии соответствующих адаптеров) рассматриваемый прибор. Однако тут во мне замолкает инженер и просыпается маркетолог, которому искренне жаль все остальные замечательные возможности цифрового осциллографа, при таком смещении акцентов остающиеся в тени.
   Теперь пришло время… нет, скорее не поругать за недостатки, а дружески пожурить. Про более мощную элементную базу мы уже говорили, переход на нее — дело времени. Стремление производителя снизить стоимость устройства балансирует на грани допустимого, причем основные претензии — к «обвесу» от сторонних производителей. Если сейчас лишь изредка встречаются нарекания на нестабильность работы устройства по причине низкого качества кабеля USB [Отмечено на сайте производителя], то при повышении скорости обмена однозначно придется задуматься о закупке более качественных кабелей. Уже упомянутые саморазбирающиеся BNC-разъемы тоже не украшают продукт, равно как и наклейки, отвалившиеся от сигнальных шлейфов анализатора на второй день. Сами шлейфы могли бы быть длиннее. Недостаточно фильтруется наводка от импульсного источника питания компьютера. Это проявляется в виде помехи на осциллограмме и паразитного пика на спектрограмме. Сомнительно выглядит идея вывести питающее напряжение от встроенного источника контроллера на один из щупов логического анализатора. Вероятно, это для питания выносных адаптеров, но случайная подача встречного напряжения на щуп однозначно погубит прибор, одновременно аннулируя гарантию.
   Оболочка производит впечатление несколько тяжеловесной и временами неповоротливой. При переключении входного делителя или частоты развертки во время циклических измерений, она впадает в ступор на пару-тройку секунд, загружая процессор на 100%. Причина этого недостатка разработчику известна и будет устранена в следующих версиях. Файл помощи порадовал подробностью и наглядностью, однако, не в обиду Сергею, наполнен опечатками и профессиональными жаргонизмами. Можете считать, что я придираюсь к мелочам, но в серьезном проекте таким недочетам не место.
   На сайте «Трейд-М» весьма запутанно описан процесс оплаты покупки и расчета окончательной стоимости (разве это должен делать покупатель?). Читая инструкции, невольно чувствуешь себя Юстасом, переводящим Штирлицу деньги на подкуп Гитлера. Когда при помощи несложного PHP-скрипта генерируется заполненный бланк Сбербанка ПД-4, который можно напечатать и отнести в ближайшую сберкассу, для массового потребителя это намного удобнее.
   На момент написания этих слов я жду из Германии посылку с другим USB осциллографом, под названием «USBscope50». Результаты испытаний и сравнительные выводы незамедлительно изложу во второй части.

Portableapps. Здесь представлены как отдельные программы, так и две подборки, standard и light. Вот состав «стандартного» комплекта:
   Portable Firefox (браузер);
   Portable Thunderbird (почтовый клиент);
   Portable OpenOffice.org (офисный пакет. Но учтите, он весит 145 Мбайт. Так что если вы работаете преимущественно с текстовыми документами, возможно, вам хватит и AbiWord);
   Portable AbiWord (текстовый редактор);
   Portable NVU (веб-редактор);
   Portable Sunbird (органайзер);
   Portable FileZilla (FTP-клиент);
   Portable Gaim (instant messenger).
   Light-версия отличается ровно одним: в нее не включен OpenOffice, благодаря чему все программы поместятся на флэшку в 128 Мбайт. Их набор можно менять как угодно — скажем, заменить Gaim на MirandaIM, а потом добавить антивирус (например, Portable ClamWin) и графический редактор (Portable GIMP). Непосредственно с флэш-карты можно запускать не только небольшие утилиты, но и такие «хиты», как Mozilla Firefox, MirandaIM или OpenOffice.org.
   Софт на PortableApps специально отобран для USB-драйвов, что гарантирует их стабильную работу. Многие приложения, которые предлагают скачать с других сайтов, взяты именно отсюда. К тому же все выложенные программы или бесплатны, или вообще относятся к категории open source.

Стандартный автозапуск
   У USB-флэшек, как и у всех съемных дисков под Windows, есть ограничение — в подавляющем большинстве случаев нельзя организовать автозапуск. Это не «заговор производителей», а ограничение MS Windows. Обойти это ограничение можно лишь частично — добавить в меню, появляющееся при вставке флэш-диска, запуск необходимой программы. Проще всего использовать какой-нибудь менеджер, разрабатывавшийся именно для таких задач. Например, компактный и бесплатный PStart, который умеет создавать файлы автозапуска и обладает рядом других полезных функций.
   Разумеется, серьезные софтостроители не могли пройти мимо растущей популярности мобильных приложений. Так, в конце 2004 года SanDisk и M Systems создали дочернюю компанию U3, которая разработала одноименный стандарт флэш-дисков, поддерживающих автозапуск. Решение, надо признать, было нетривиальным. При вставлении такой флэшки в порт USB система обнаруживала не одно, а сразу два устройства. Одно из них распознается как… CD-ROM, который в Windows поддерживает автозапуск. После «обмана системы» запускается менеджер U3 LaunchPad, внешне напоминающий меню «Пуск» в Windows XP.
   LaunchPad отвечает за установку и быстрый запуск программ, за безопасность данных и т. д. Отметим, что для U3 разработан свой формат файлов. Программы, которые мы видим в меню LaunchPad, упакованы в два файла: *.u3i is (текстовый XML-файл, в котором содержится информация о версии программы и рабочих параметрах) и *.u3p (zip-архив с рабочими файлами программы).
   По словам разработчиков, такая структура приложений не более чем обертка, сами приложения не переписываются. Посмотреть на перечень подготовленных таким образом программ можно на сайте software.u3.com. Среди них немало платных, но нет практически ничего принципиально недоступного для установки на обычную флэшку. В списке самых популярных продуктов все те же Mozilla Firefox, OpenOffice.org и Mozilla Thunderbird.
   Не столь изощренно технически, но очень похоже программно поступила компанияCeedo. Главное отличие ее продукции в том, что программа продается отдельно ($39,95) и может устанавливаться на любой съемный диск, будь то флэш-карта или мобильный винчестер. Использование флэш-карт накладывает свои ограничения: полноценного автозапуска нет. В остальном все очень похоже на U3: работает программа только на Windows 2000 и старше, стартовое меню напоминает Windows XP, есть встроенные утилиты для бэкапа, загрузка проходит с центрального сайта.
   Однако основное отличие не бросается в глаза: заявлено, что Ceedo — гораздо больше, чем просто красивая оболочка для запуска программ. Ceedo может использоваться для установки и не подготовленного специально софта, работая в качестве промежуточного звена, которое хранит реестровые записи, необходимые для полноценной работы программ, установленных на флэш-драйв. Правда, в документации этот вопрос подробно не описан, а установить программу в лоб может и не получиться.
   Следует отметить, что продукция Ceedo используется производителями флэш-драйвов. Скажем, топовые флэш-карты PowerToGo от Lexar используют именно эту программу, а Verbatim устанавливает Ceedo на свои USB-винчестеры Store ’n Go.
   Упомянем еще один бесплатный лончер — StickyDrive. При установке он предлагает упорядочить файлы на флэш-диске, сложив в соответствующие каталоги документы, музыку и изображения. Программа содержит вьюеры для музыкальных файлов и изображений. Увы, с кириллицей в тегах MP3 проблемы…
 
   Мобильные программы становятся все более популярными, а значит, растет и число энтузиастов, создающих онлайновые коллекции портативных программ.
   Мы задали несколько вопросов Майку Раштону (Mike Rushton), владельцу сайта No-Install.com, одного из самых популярных каталогов мобильных программ.
   Для чего люди используют подобные программы?
   — Полагаю, для того, чтобы использовать свои файлы и приложения с привычными настройками.
   Каким образом вы отбираете программы для своего сайта?
   — Прежде всего, я выбираю программы, которые могут запускаться с любого съемного диска и при этом не используют реестр и библиотеки самого компьютера, а также не вносят изменений в реестр и не сохраняют на винчестере файлы с настройками. Кроме того, я стараюсь включать в каталог лишь бесплатные программы, но существует и большое число мобильных коммерческих программ, достойных упоминания.
   Вносите ли вы самостоятельно какие-нибудь изменения в программы, чтобы сделать их «мобильными»?
   — Сам я занимаюсь этим редко, обычно оставляя сию задачу на откуп разработчикам. Я рассматриваю свой и подобные сайты как порталы, которые собирают в одном месте все данные из различных источников, так чтобы было легко найти необходимую информацию и сравнить программы.
   Как вы думаете, каково будущее «мобильных» коммерческих проектов, в первую очередь U3?
   — Я не могу однозначно ответить на этот вопрос. U3, предоставляя виртуальную среду для запуска программ, пытается перенести в мир мобильного ПО лучшие и самые известные приложения. Безусловно, это великолепно, в то же время мы видим множество превосходных программ, которые разрабатываются самостоятельно и не нуждаются в подобной среде, чтобы запускаться с флэш-драйва. Я считаю, что это признак отличного программирования, и такие программы должны служить примером для других разработчиков. Например, Firefox может работать как независимо, так и в среде U3 (обе версии написаны Джоном Халлером [John Haller], ведущим Portableapps.com).
   Существует много программ, таких как Ceedo, которые пытаются добиться тех же целей, что и U3. Этот рынок идет вперед семимильными шагами, и перспективы у него, похоже, радужные.
Так не доставайся ты никому!
   Мы живем в мире, где банковские клерки забывают в такси и аэропортах ноутбуки с информацией по счетам, а сотрудники ЦРУ — со списками тайных агентов. Что уж говорить о какой-то флэшке… Поэтому заранее стоит подумать о защите от посторонних глаз критически важной информации. Способов существует минимум два: программный и аппаратный.
   С аппаратным все более или менее ясно. Многие фирмы выпускают флэш-драйвы с биометрической защитой. Или, проще говоря, со сканером отпечатков пальцев, который «открывает» флэшку. На самом деле это выглядит чуть сложнее: вставив флэшку в USB-порт, вы, как правило, увидите ее открытую часть, где находятся программы для блокировки/разблокировки закрытой части. Дальше, при запуске приложения, вы авторизуетесь, и только после этого открывается секретный раздел. Однако все подобные флэшки, которые я встречал, работают только под Windows. Более того, я не видел ни одного действительно убедительного теста, где проверялась бы «взломостойкость» подобных устройств. Вышеупомянутые флэш-диски стандарта U3 по умолчанию поддерживают шифрование; другой вопрос, что софт, используемый для этого, работает только с Windows 2000/XP/2003.
   С программной защитой поинтереснее. Методы защиты достаточно предсказуемы — системы шифрования. Принципы те же, что и для десктопов: создается защищенное хранилище, которое можно использовать только после ввода пароля. Программ, которые позволяют это делать и предназначены для флэш-карт, предостаточно. Например, Dekart Private Disk, TrueCrypt, FlashDrive Crypto, Omziff. Из них выделим TrueCrypt: она поддерживает алгоритмы шифрования aES-256, Blowfish (ключ 448 бит), CaST5, Serpent, Triple DES и Twofish и при этом бесплатна.
   Мысль о том, что никто не сможет прочесть ваши данные, конечно же, греет, но… хочется иметь возможность сохранить эти данные и для себя. Поэтому используйте бэкап. Благо с флэш-картами можно работать как с обычными дисками, так что можно обойтись привычными десктопными программами или, в крайнем случае, копировать файлы вручную.
   Не стоит забывать и об антивирусных средствах: кто знает, что вы получите по почте и что находится на компьютере, к которому вы подключили USB-диск (в прошлом году я долго сражался с заразой, подхваченной в интернет-кафе в Гаграх). Рекомендую, например, Portable ClamWin, avast! Virus Cleaner или McAfee AVERT Stinger.
 
Мобильные ОС
   Современные флэш-карты могут вместить не только отдельные приложения, но даже операционную систему. Существуют компактные дистрибутивы Linux, которые можно установить на флэшку. Например, Damn Small Linux, занимающий всего 50 Мбайт; Puppy Linux (60 Мбайт) или Slax Popcorn Edition (11 Мбайт).
Опытным путем установлено
   Поэкспериментировав с мобильным ПО, я отобрал то, что, на мой взгляд, стоит всегда иметь под рукой. Получился следующий набор:
   Portable Firefox;
   Portable Thunderbird (честно признаюсь, переносить на флэш-карту весь почтовый архив за несколько лет не хотелось);
   Portable Open-Office.org;
   Portable AbiWord;
   MirandaIM;
   IrfanView;
   Portable ClamWin;
   TrueCrypt;
   Pass2Go (мобильная версия менеджера паролей RoboForm) и PStart.
   Подобный выбор объясняется просто — я вряд ли буду долго работать на чужой машине и делать там что-то грандиозное. Мне хотелось лишь быть уверенным, что, сев за любой компьютер, я смогу прочесть офисный документ, отправить письмо, поговорить со знакомыми, пройтись по сайтам из закладок, не вспоминая пароли, посмотреть фотографии и при этом не опасаться, что содержимое флэшки будет уничтожено каким-нибудь вирусом.
   Заметная часть этого набора давно живет на моем домашнем ПК. В подавляющем большинстве случаев мобильные приложения не отличаются по функциональности от своих «оседлых» собратьев. Хотя, как выяснилось, тот же Portable Firefox в какой-то мере зависит от машины, на которой он используется. Например, если на ПК, где вы запускаете Portable Firefox, установлена обычная версия этого браузера, то и в мобильной версии вы увидите те же закладки и тот же набор плагинов. Также и Java работает, только будучи установленной на компьютере, куда вставлен флэш-драйв. Преподнесла неприятный сюрприз и TrueCrypt: диски с ее помощью можно монтировать, лишь имея права администратора. Тем не менее эта программа осталась у меня на флэшке: действительно важные документы я в интернет-кафе не редактирую, а в зашифрованном виде их носить спокойнее, да и резервные копии легче делать. Копии, правда, я делаю дедовским способом — просто копирую файл с крипто-диском на стационарный компьютер.
   Как видим, portable applications позволяют решать подавляющее большинство ежедневных задач. Лишь от вас зависит, будет ли функционален и удобен софт, который вы соберете. Не забывайте, однако, что использование флэш-дисков в комплекте с подобными программами создает ряд проблем, связанных с безопасностью, которые, впрочем, предсказуемы и решаются простыми и известными способами — шифрование, антивирусы и резервное копирование.

АНАЛИЗЫ: Об оценке профессионалами

   Автор: Анатолий Шалыто
   На международных конференциях поданный материал оценивается несколькими экспертами. Каждый из них выставляет оценки по предложенным организаторами критериям (обычно это актуальность, научная новизна и т. д.) и определяет оценку в целом (отклонить, принять в качестве доклада, стендового доклада). Но это еще не все: рецензируя, эксперт оценивает и самого себя, сообщая, какого уровня профессионалом в рассматриваемом вопросе он себя считает.
   На одной из конференций при рецензировании нашего доклада сложилась такая ситуация: из двух экспертов один, считающий себя профессионалом, оценил нашу работу весьма «кисло», а второй (присвоивший себе более низкий уровень компетентности в этой области) выставил почти по всем критериям высшие оценки. Работу приняли, но не это главное. Мои соавторы, студенты-программисты, обрадовались конечному результату, но расстроились, узнав оценку эксперта, назвавшегося «крутым» профессионалом.
   Появление таких оценок вполне естественно — ведь продвинутые программисты, как и математики, любят решать трудные задачи (простые им решать неинтересно). Трудные же задачи решают люди из относительно узкого круга, которые образуют элиту в рассматриваемой области. У них вырабатываются свои (очень высокие) критерии оценки работ, и достижения других в подавляющем большинстве являются для них «ботвой» (этот термин безобиден, так как в его основе лежит сельское хозяйство, а не героиновая культура, как у слова «прикольно», см. «КТ» #636).
   Оценка по «гамбургскому счету», с философской точки зрения, конечно, хороша, но существенно тормозит движение вперед не только людей, не относящихся к элите, но и самих «аристократов» от программирования, так как у них, во-первых, очень высокие требования к себе, а во-вторых, для них очень важно, как оценят их работу члены «клуба». Такой подход обычно ведет к коллапсу, и, по моему мнению, многих «аристократов», к сожалению, ждет судьба талантливейшего шахматиста Бобби Фишера, который в молодом возрасте, будучи чемпионом мира, ушел из шахмат, так как его замучила мания величия и он боялся проиграть хотя бы одну партию!
   Когда таких ребят начинаешь убеждать, что планку надо несколько снизить и попытаться передать свои знания и умения значительно менее продвинутым программистам, число которых исчисляется десятками тысяч, а то и миллионами, они отвечают, что им это не интересно, и предпочитают оставаться в своей башне из слоновой кости.
   При этом им абсолютно безразлично, что ситуация в программировании напоминает круг света от фонаря: чем шире круг, тем больше граница с темнотой.
   Таким образом, расстраиваться от того, что суперпрофессионал не пришел в восторг от твоей работы, вряд ли стоит, так как таких специалистов крайне мало и они обычно амбициозны, а потому пассивны. Их оценки мало влияют на развитие технологий (максимум, чему они могут помешать, — это выступлению на конференции). Другое дело специалисты в предметных областях, которые не являются классными программистами. Их значительно больше, они «ближе к народу» и могут оценить предложение в программировании, относительно которого представитель программистской элиты лишь «пожмет плечами». Они не только могут внедрить понравившийся подход сами, но, поскольку обычно имеют более активную жизненную позицию, еще и склонны делиться приобретенными знаниями с большим числом программистов-непрофессионалов.
   Так обстоит дело при обсуждении научных или технологических предложений. В практическом программировании имеет место прямо противоположная ситуация.
   «Нет таких преград, которые не могут взять коммунисты», — говорили при советской власти. Сегодня это может быть перефразировано следующим образом: «Нет таких задач, которые (особенно за большие деньги) не возьмутся решать продвинутые программисты».
   Высокое мнение профессионалов-программистов о себе и законы бизнеса заставляют многие программистские фирмы браться за любую работу, которая приносит прибыль. При этом то, что они не являются профессионалами в соответствующей предметной области, их не очень смущает — они умные и поэтому считают, что разберутся практически в любой проблеме. Они взялись бы, например, и за управление ядерным реактором, но, к счастью, без соответствующих лицензий их туда не пустят.
   О том, к чему это приводит, пишут в своей книге [Ослэндер Д.М., Риджли Д.Р., Ринггенберг Д.Д. Управляющие программы для механических систем. Объектно-ориентированное проектирование систем реального времени. — М.: Бином. Лаборатория знаний. 2004] сотрудники кафедры механотроники Калифорнийского университета в Беркли: для систем реального времени в 1997 году 80% всех проектов были вовремя не внедрены из-за плохого качества программного обеспечения (ПО).
   Авторы книги считают, что для повышения качества программ необходимо «принять такую техническую политику, при которой не только написание кода (программирование) рассматривается как творческая деятельность!» (формулировка, сильно смягченная мною. — А.Ш.).
   Это может быть обеспечено, если специалисты в предметной области детально будут описывать (используя диаграммы состояний), как управляющее ПО должно себя вести, а программисты — разрабатывать различные инструменты (включая, например, шаблоны) для преобразования таких описаний в программы на заданных языках программирования. Это делает собственно программирование гораздо более рутинным, так как творческая часть в значительной мере переносится на этап проектирования и отдается на откуп другим людям.
   При этом, однако, процесс создания программ становится более упорядоченным, и резко уменьшается число ошибок в них. При таком подходе описание поведения системы достаточно просто для понимания широким спектром заинтересованных лиц, а не только проектировщиками и программистами, что тоже способствует повышению качества программ.
   Кстати, в автоматном программировании («КТ» #633), которое было предложено значительно раньше, чем была написана книга специалистов из Беркли (2002 г.), я использую те же самые идеи, «кощунственные» для традиционного программирования.
   Обобщая сказанное, хочу посоветовать талантливым программистам заниматься разработкой методов, технологий и инструментальных средств, а не решать за профессионалов прикладные задачи. Это позволит широкому кругу профессионалов в различных предметных областях использовать указанные разработки программистской элиты, что должно привести к синергетическому эффекту, выражающемуся в резком улучшении качества разрабатываемых программ.
   Но главный совет состоит в том, что не стоит сильно расстраиваться, если в ответ на ваши предложения представители программистской элиты будут только пожимать плечами, так как даже они далеко не все понимают в жизни!

СОБЫТИЯ: Да здравствует Большой Футбол!

   Автор: Андрей Комрачков
   Праздник, имя которому Футбол, завершился! Все матчи сыграны, все голы забиты, все таблетки съедены. Настало время подвести итоги. Например, «выступления» хайтек-индустрии, которую бесспорно можно назвать вторым победителем наряду с итальянцами. Прошедший чемпионат был признан самым высокотехнологичным за всю его историю.