30 Ноябрь 2010
Комментарии отключены
Любители все тестировать, попробуйте вот эти тесты, о результатах отпишитесь в комментах.
Не знаю, но почему-то раньше при упоминании Erlang меня аж трясло, но теперь я почему-то его решил его осилить. Начал процесс по чтению / просмотру книги Joe Armstrong-а – Programming Erlang: Software for a Concurrent World. Виртуальная машина Erlang у меня стояла уже давно, еще со времен прохождения курса функционального программирования (почему-то на примере языка Erlang) в университете, а может и раньше, когда играл с ejabberd (Jabber-сервер написан на Erlang). Начал повторять те простенькие и не очень примеры из книги, немножко экспериментировать и должен сказать, что меня довольно быстро увлекло. Подходы "все может быть процессом" и "процессы ничего не знают друг о друге, только обмениваются сообщениями" довольно быстро стали не только понятными и приемлемыми, но и интересными для меня.
"Что в этом плохого?", – возникает вопрос. А плохого в том ровно столько, на сколько мой подход к разработке в Python отличается от вышеупомянутого. При проектировании одной из моих последних вещей мне очень не хватало такой красивой модульной распределенности и возможностей отказоустойчивости, которые мне просто из коробки прям дарит Erlang не прося ничего взамен. Так почему не использовать для той задачи Erlang? Боюсь, что аппаратное обеспечение, на котором будет "крутиться" эта вещь слишком слабенькое. Только дистрибутив виртуальной машины библиотек Erlang будет весить мегабайт 60, что в данном случае не очень допустимо, ибо / dev / hda там мизерный. С другой стороны всей "глобальности и надежности" Erlang-а мне в этой задаче не требуется. Кроме того, другой причиной миграции является панический страх перед подводными камнями, которые могут помешать мне написать хоть какую-то реализацию на таком уровне, на котором она сейчас есть.
"Что делать?", – возникает следующий вопрос. Пошел я путем поиска альтернатив на Python, на котором собственно и написана вся система. Первым, на что я обратил внимание стал Stackless Python. Суть его такова, что вследствие определенных манипуляций со стеком автор смог создавать микротреды вроде Erlang-овских процессов, планируемых внутри единого (для ОС) процесса Python, тем самым добиваясь большей производительности, маленьких задержек при их переключении и возможности создания их в очень больших количествах. Все это хорошо, обмен сообщениями "сопрограммы", возможность "консервировать" (Pickle) Tasklet-ы – все на месте… Только проблема в том, что надо патчить Python, также заставляет держать 2 версии интерпретатора, что также ведет за собой проблему недостаточного свободного дискового объема.
(далее…)
27 Ноябрь 2010
Комментарии отключены
На самом деле, наши андерграундные музыкальные конторы застревают где-то на этапе между произнесением каких-то непонятных однотипных звуков, но еще не слов, и произнесением слова «мама». Иногда вместо «мама» проскакивает, все же, тот «…» услышанный от сварщика. Об осознании того, что музыка делается не ради музыки, а является всего лишь средством выражения мыслей, как с украинским языком и речи не идет. Никому почему-то и в голову не придет, что музыку надо столь же хорошо понимать, как украинский язык, чтоб мочь с помощью нее что-то сказать. Никто не думает на языке музыки, никто не имеет нормального лексикона. Максимумом, на что можно рассчитывать у нас – это нечто а-ля простые предложения по схеме Подлежащее-Сказуемое. Ни о каких сложносочиненных, сложноподчиненных предложениях, причастных и деепричастных оборотах, метафорах, эпитетах, каких-то других приемах идти речи и близко не может. Наш андерграунд застрял на уровне развития 3-летнего ребенка. Очень обидно.
(далее…)
27 Ноябрь 2010
Комментарии отключены
Причиной написания этого поста стала очень простая вещь: моя неуверенность в том, что определенный класс людей действительно понимает, для чего они вообще играют музыку. Как и любая творческая сфера, занятия музыкой может носить как характер художественный, так и ремесленный. В изобразительном искусстве это художники и иллюстраторы. Какая между ними разница? Да такая, что художник может изображать что угодно и как угодно на свой страх и риск – все равно это будет восприниматься как его творчество. Задача иллюстратора обратная: он должен создать образ по определенному мотиву, используя доступные средства. Иллюстрация существует к чему-то, а картина – продукт самодостаточный.
Так при чем тут музыка? А в музыке все так же, но даже более завернутее. Если посмотреть даже с первого взгляда: есть музыканты, есть композиторы на заказ (типа иллюстраторы) и есть лабухи (в немножко более широком смысле слова; ремесленники, в том числе такие, которые не знают своего дела). Очень забавным является то, что большинство начинающих будучи низкосортными лабухами, приписывают себя к категории музыкантов – начинают «писать музыку». Обычно они не осознают сути их творения и его задачи, его цели. Они не осознают того сообщения, которое они хотели заложить в свою единицу творчества – в свою композицию.
(далее…)
27 Ноябрь 2010
Комментарии отключены
Вечер. Сижу, читаю про лямда-исчисление… Родилась у меня интересная аналогия. Оказывается секс очень похож на приготовление и прием пищи. Бывает так в кайф постоять за плитой, приготовить ужин, а потом его чуть ли не с головокружением в голове от удовольствия съесть. А бывает так лень что-то делать, что хочется только взять и пойти спать. Бывает, ограничиваемся бутербродом, а бывает и вообще каким-нибудь фаст-фудом (sic!). Иногда никакого аппетита нет. А иногда, как съешь что-то тяжелое, то потом неприятный осадок остается. Разное бывает. Часто бывает, что ингредиентов для приготовления хорошего блюда не хватает, даже чего-то одного, но это уже все портит. Бывает, что все есть, нет только времени, нет той кухни, на которой бы было комфортно заняться приготовлением любимого блюда.
Хм, а оказывается привередливый я…
(далее…)