О подарках без истерии

9 январь, 2008 - 12:40Андрей Зубинский

Так как в светлые дни праздников принято дарить ненужные вещи, степень бесполезности и ненужности которых прямо пропорциональна квадрату степени светлости праздника, вот небольшой набор совершенно замечательных подарков (настолько замечательных, что к ним и подходящий праздник придумать трудно):

Карманная википедия, то есть, - энциклоподия, на iPOD. Учитывая неповторимые врождённые способности iPOD к поддержке ввода пользователем символьной информации, программа может оказаться просто незаменимой, особенно для поиска смысла жизни, скрытого в шикарных словах вроде "культуртрегерство" и того, которое знала образованная девушка Фима Собак.

А уж тот факт, что что для работы энциклоподии требуется сменить прошивку iPOD на специальную версию Linux, не может не радовать настоящего фаната.


Потому что на такой iPOD кроме энциклоподии можно установить ещё и подлинный шедевр - компилятор языка Brainfuck, реализованный на языке Haskell c использованием техники "грамотного программирования" (literate programming) (!).

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

Такие, как, например, реализация классического алгоритма вычисления чисел Фибоначчи:

 >++++++++++>+>+[
    [+++++[>++++++++<-]>.<++++++[>--------<-]+<<<]>.>>[
        [-]<[>+<-]>>[<<+>+>-]<[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-
            [>+<-[>+<-[>+<-[>[-]>+>+<<<-[>+<-]]]]]]]]]]]+>>>
    ]<<<
]

Так как исходный код - лучшая документация, в комментариях эта программа не нуждается, в ней всё прозрачно, даже то, что из неё не предусмотрен выход, и её надо "прибивать" вручную, не правда ли?

Кто-то может подумать, что раз у человека уже есть iPOD под Linux с википедией и компилятором Brainfuck (и с Haskell, и с Haskell!), то такому человеку уже ничего не нужно. Неправда! Во-первых, компилятор Brainfuck на Haskell получился что-то не очень быстрый (в несколько тысяч раз медленнее компилятора, написанного на C). А это значит, что ещё есть куда расти (ну это же несерьёзно, когда пацан с медленным компилятором), можно попробовать написать на iPOD Brainfuck-машину на Ada. Поэтому можно поставить на iPOD Ada-компилятор (благо, он есть "гнутый", ну, вы понимаете, - из семейства GNU).

А ещё можно взгромоздить на компьютер, к которому подключается iPOD, Очень Необходимую Программу. Само собой, - этот компьютер будет под управлением ОС MacOS X, ибо только в ней можно ощутить всю невыразимую мощь, прелесть и нечеловеческие удобства великой iTunes. Так вот, на этот компьютер можно (и нужно) в качестве праздничного подарка установить новую файловую систему... снимков экрана. Пространство запущенных приложений в ней отображается томом, каждое приложение - каталогом, а каждое окно приложения - tiff-файлом в каталоге. Если что-либо сделать с одним из этих tiff-файлов (например, открыть) автоматически будет сделан снимок соответствующего окна соответствующего приложения и помещён в выбранный файл.

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