ДЛЯ НАЧАЛА: ЖИВЫЕ

- Knoppix -
Линукс за пять минут
- Puppy Linux -
Хороший друг


ДЛЯ ДЕЛА: ПРОФИ

- Debian -
Он такой один
- Linux Mint -
С родинкой на щеке!
- CentOS -
Копейка рубль бережёт!
- Fedora -
По следам Red Hat
- Ubuntu Linux -
Мы одной крови!
- Mageia -
Красота и удобства
- openSUSE -
Настоящее немецкое качество
- Slackware -
Линукс из кубиков
- ALT Linux -
Что русскому хорошо





ДЛЯ ДЕЛА: РОЛЛЫ

- ArchLinux -
Гениальное - просто!
- PCLinuxOS -
Просто линукс
- Aptosid -
Почувствуй силу!


ДЛЯ ДЕЛА: СОБЕРИ САМ

- Gentoo -
Каждому своё
- LinuxFromScratch -
Линукс с нуля


ДЛЯ ДЕЛА: ЛЁГКИЕ

- DeLiCate -
Старость в радость!
- SLAX -
Тысяча и один модуль


ЗАЩИТА

- OpenWall -
Не стучите, закрыто!
- Kali -
Вам, хакеры!


ПРИЛОЖЕНИЯ

- Planet CCRMA -
Работа со звуком
- VegaStrike -
Каждому по планете!


ЭКСПЕРИМЕНТ

- коЛинуксы -
Не выходя из Виндоус
- GoboLinux -
Очевидно и вероятно
- ReactOS -
Освободите Виндоус!


РОДНЯ

- BSD-семейство -
На плечах гигантов
- OpenIndiana -
До звёзд рукой подать


АРХИВ (2003-2016)
ФОРУМ




НАШИ ПРОЕКТЫ

MATRIX GL
ПОЛЕЗНЫЕ СОВЕТЫ
ПИНГВИН В КАРМАНЕ
ЗАКЛАДКИ
СТАТЬИ
КОНТАКТЫ


ПОМОЧЬ






Личный архив ЕЗ

1.09.2010 Волшебный клинок

В английском языке есть замечательный термин «edge», одновременно чётко и ёмко изображающий весьма разношёрстный набор понятий. Edge — это лишний гигагерц тактовой частоты в критически важных расчётах. Это тысяча про запас, когда ваш бизнес задыхается от безденежья. Плюс один к храбрости в боевом походе в ролевухе или непримечательная степень кандидата в мастера по дзюдо в неприятной ситуации на настоящей улице. Редкая наблюдательность, отточенная до едва уловимых тиков сознания, фотографическая память, хранящая каждую прочитанную когда-то страницу... Не так важно, в чём именно заключается ваш edge, и был ли он подарен Природой или обретён с годами упорных тренировок: он всегда будет волшебным клинком, дарующим своему обладателю преимущество в решающий момент.

К чему эта философия здесь, на страничке, посвящённой свободному софту? Тот, на чьей машине поселился и обжился Линукс, поймёт меня без лишних слов. Ведь сегодня, когда девять из десяти компьютеров превращены по сути в утюги, обладание редким инструментом вкупе с навыками по его применению позволяет не просто выделиться из серой массы, но и заглянуть дальше других. Для меня, как, уверен, и для тысяч других линуксоидов, свободная операционная система и есть тот самый edge, плодами которого мы пользуемся изо дня в день, и удовольствия ради, и для того, чтобы зарабатывать свой хлеб. Линукс часто хвалят, не реже ругают, но по большей части подобные дискуссии строятся на первых впечатлениях о системе. Было бы правильней судить о ней по рассказам бывалых пользователей о повседневной компьютерной жизни. Чем заняты они на своих компьютерах, почему не променяли «сырую, самописную поделку самоучек» на красивую и умную Виндоус или Макось? Здесь я расскажу о нескольких своих находках в Линуксе, которые помогают мне каждый день.

Почему я раскрываю свои секреты? Отчасти потому, что на самом деле никакого секрета в этих рецептах нет — о них знают многие, а копнув достаточно глубоко, вы без труда продвинетесь дальше. Но больше потому, что надеюсь живым примером работы в Linux, использования её уникальных особенностей для решения повседневных задач, заразить тех из вас, кто до сих пор не решается пересесть на свободную ОС.

АЛОР-Трейд под Wine в Debian Linux

Итак, пример первый, спекулянтский. Если у вас нет опыта торговли на фондовом рынке или хотя бы пресловутом Форексе, можете пропустить этот рассказ и перейти к следующему. Но найдётся ли сегодня хоть один человек, кто не был хотя бы косвенно знаком с биржей? Одни торговали на Форексе, другие пробовали на зуб настоящую «фонду» в лице РТС, ММВБ, а может и NASDAQ, третьи непременно знают кого-то из числа первых двух :-) Что касается меня, я уже много лет провожу за биржевым терминалом большую часть дня. И, несмотря на то, что большинство современных программ для биржевых спекулянтов написаны под MS Windows, мне ни разу не пришлось пересесть с линуксового рабочего места. Классический Metastock, столь популярный в России Metatrader, экзотическая Oanda или совершенно наши Quik и АлорТрейд, сонм прочих торговых и аналитических инструментов нормально работают в среде Wine, либо, посредством Java, прямо в браузере. В последнее время появляются и писанные специально под Linux программы — такие, к примеру, как форексклубовский Rumus. Впрочем, какой бы инструмент, брокера или дилера вы ни выбрали, перед вами как трейдером однажды непременно встанет извечный вопрос: как отличить трендовый рынок от флэта? И может быть для вас будет открытием тот факт, что ответ на него давно известен — даёт его коэффициент Херста (Hurst exponent).

Вообще, коэффициент Херста сам по себе заслуживает отдельного рассказа. Эта замечательная находка, легшая в основу фрактальной геометрии и никоим образом не связанная с финансами, сделана в середине XX века — естественно, без помощи компьютера: невообразимый объём матмоделирования её автор проделал на обычных игральных картах. Британский гидролог Гарольд Херст анализировал статистику сезонных разливов Нила — и нашёл способ определить, следует ли за наводнением в одном году ожидать столь же бурного поведения реки в будущем. Выведенный им коэффициент H, определяемый по ряду измерений, варьируется от 0 до 1, причём если его значение превышает 0.5, то за разливом стоит ожидать следующего, так же как и за засухой стоит ждать ещё большей. Как выяснилось позже, то же правило применимо и ко множеству других естественных процессов, как то росту деревьев, биению сердца, а также - сюрприз! - изменениям биржевых цен.

Однако коэффициент Херста оказывается не так просто рассчитать. Интуиция подсказывает, что легче всего реализовать соответствующий алгоритм в виде индикатора, подключаемого к пакетам технического анализа — но попробуйте отыскать таковой, и вы наткнётесь на кучку поделок, выдающих сомнительные результаты. Дело в том, что математика Херста требует для своей реализации некоторого математического образования. Так не лучше ли вместо изобретения велосипеда, предоставить делать своё дело тем, кто этим занимается, а именно учёным? К счастью, в академических кругах Линукс, как наследница UNIX, давно и активно используется, так что достаточно заглянуть в репозитарий.

Вот шаги, которые я проделал в своём Дебиане, чтобы посчитать коэффициент Херста для интересующих меня акций и валют. Первое — установил среду GNU R и её графическую оболочку Rkward (достаточно скомандовать в рутовой консоли apt-get install rkward). Если вы никогда не слышали про R, советую — хотя бы любопытства ради — поиграть с этим легендарным инструментом для статистической обработки сырых данных. Благодаря тому, что R свободен, его активно используют исследователи в самых разных областях знаний, и отыскать среди библиотеки уже реализованных алгоритмов Херста вполне реально. Нам понадобится пакет r-cran-farma (apt-get install r-cran-farma), в котором, среди прочих функций для обработки финансовых данных, имеются и несколько для подсчёта коэффициента Херста. Остаётся лишь импортировать в R историю котировок, провести минимальную их обработку (чтобы получить корректное значение H, посчитайте вектор разницы цен) и применить нужную функцию (к примеру, aggvarFit).

Синтаксис GNU R - обычная математика

Второй пример — художественный. Как говорится, хобби всякие нужны, хобби всякие важны, что же до меня, то я немножко киноман — и с того самого момента, когда мой PC воспроизвёл первый видеодиск, коллекционирую короткие отрывки из любимых фильмов. Как правило это две-три минуты лирического отступления от основной истории ленты, сопровождаемые хорошим саундтреком. Будучи вырван из контекста такой ролик (как кажется мне) не только не теряет смысла, но и обретает самостоятельную ценность, превращаясь в замечательную миниатюру на заданную тему. Впрочем, всегда лучше один раз увидеть, поэтому приглашаю вас на свою вконтактовскую страничку (увы, зараза не обошла стороной :-), где собраны самые удачные мои находки. Буду признателен за комментарии, ну а если возникнет желание попробовать самому, то возникнет и вопрос: с помощью чего порезать на кусочки многогигабайтный видеофайл?

Каюсь, видеомонтаж никогда не казался мне интересной задачей и, впервые с ней столкнувшись, я был полным профаном. Кроме того, благодаря Линуксу я обхожусь без серьёзного апгрейда своего железа вот уже почти десять лет. Мои домашние машины (десктоп и ноутбук) не могут похвастаться ни гигагерцами, ни гигабайтами, поскольку на игрушки вроде Counter Strike хватает, а повседневные рабочие задачи, мои и супруги, их мощности покрывают с лихвой. Так что попробовав с лёту пару серьёзных программ для монтажа видео, я естественно получил только невыносимые тормоза. Но адекватное решение отыскалось тоже благодаря Linux. Многим из вас наверняка знаком Mplayer — могучий проигрыватель аудио и видеофайлов, понимающий бесчисленное множество форматов (существует ли вообще достойный ему конкурент?) и не отягощённый графическим интерфейсом (читайте: работает в консоли). А в связке с ним работает Mencoder: инструмент, пользующийся теми же кодеками, но предназначенный не для воспроизведения, а для обработки медиафайлов. Документация к этой сладкой парочке тянет на пару увесистых томов, но когда знаешь, что искать, задача упрощается. Вот какую строчку составил для себя я:

mencoder source.avi -ss XX:XX:XX -endpos YY:YY -o target.avi -ovc copy -oac copy

Здесь source и target — имена исходного и выходного файлов, XX:XX:XX — время начала требуемого отрезка, YY:YY — его продолжительность. При необходимости, поменяв буквально пару ключиков, можно заставить mencoder перекодировать и видео, и звуковой поток (к примеру, чтобы уменьшить размер выходного файла). Соответствующие опции с примерами без труда находятся там же, в мануале.

Видео через aalib: шутка, демонстрирующая гибкость Mplayer/Mencoder

Наконец, последняя выдержка из повседневности связана с программированием. Времена, когда я писал код ради того, чтобы заработать на пропитание, давно прошли (о, незабвенный Spectrum!). Но мне повезло, я могу наблюдать со стороны за созданием и поддержкой современного коммерчески успешного приложения: проект мультиплатформенного модульного синтезатора SunVox, входящий в топ рейтинга iTunes Store и используемый такими знаменитостями как Jordan Rudeness и Eddyfree, ведёт мой брат. И я чётко понимаю, что не отдавая программированию свою жизнь и душу, пытаться сегодня ввязаться в индустрию софтостроения самоубийственно :-) Так что в последние годы эксперименты в коде остаются для меня приятным развлечением. К счастью, в Линуксе с построением рабочего места программера дела обстоят совершенно замечательно. Не нужны многогигабайтные IDE-пакеты, кряки для уворованных инструментов, и прочая, и прочая. Всё необходимое для компиляции и отладки как правило уже установлено на диске вместе с основой системы. Любые компоненты и библиотеки свободны (т.е. бесплатны и лицензионно чисты для всех мыслимых операций). Если же ограничиться консолью, то не требуется и изучения каких-то специальных API. Остаётся только подобрать редактор по вкусу — и можно начинать. От воспоминаний, через какие круги ада приходилось проходить когда-то в Виндоус, чтобы просто начать, теперь становится не по себе.

Мой конёк ещё со школы — компрессия данных и искусственная эволюция. Это широкий спектр весьма ресурсоёмких задач, особенно требовательных к оперативной памяти и производительности процессора. Во времена восьмибитных машин подобные алгоритмы приходилось писать только на Ассемблере. Сегодня достаточно обычного С: скорость даже субгигагерцового процессора, когда на нём не висит мёртвым грузом работа с жёстким диском и сложной графикой, буквально потрясает воображение. А вместо комплексного IDE я выбрал простой программерский редактор Geany — различающий синтаксис нужного мне языка и оснащённый всем необходимым для увязки с компилятором. Вот собственно и всё — дорожка от замысла до реализации в коде в Линуксе чрезвычайно коротка.

Совсем не секрет, что когда речь заходит о программировании, Linux в плане выбора и удобства работы способен дать фору любой операционной системе. Некоторые инструменты вообще уникальны и могут использоваться только в Linux/UNIX — такие, к примеру, как динамический анализатор кода Valgrind. Но вот о чём пока знают немногие, так это о том, что свободная ОС может быть столь же удобна и для разработки межплатформенных приложений. Именно так пишется уже упоминавшийся SunVox. Проект этот, работающий в Linux, MS Windows и MS Windows Mobile, MacOS X, PalmOS, на всём спектре устройств от десктопов до смартфонов, нетбуков и «таблеток», создан в Debian Linux, в обычном Kate (стандартный редактор среды KDE).

SunVox: работает везде, разрабатывается в Линуксе

Таков краткий перечень задач, в решение которых я погружаюсь каждый день на своём линуксовом десктопе. Можно ли решать их в других операционных системах? Безусловно. Не сомневаюсь, что и R, и Mplayer, и остальные инструменты, упомянутые сегодня, перенесены в другие ОС. И, приложив некоторые усилия для поиска, установки и настройки программ, вы сможете использовать их для своих целей. Разница лишь в том, что в Линуксе, давно ставшем домом для передовых разработок, тот же арсенал эксплуатируется с большей эффективностью, да и комфортом. Впрочем, как и везде, само по себе обладание инструментом преимущества не даст. Нужно уметь им пользоваться, желательно — виртуозно. И тогда уже не важно, какой именно дистрибутив будет установлен на вашей машине ;-)

------------------------------------------------------------------------------------------------------------

Этот текст всегда доступен по адресу Knoppix.ru/010910.shtml



При частичной или полной перепечатке, переводе, переработке материалов сайта ссылка на Knoppix.ru обязательна.
(c) Knoppix.ru 2003 - 2017