суббота, 2 июля 2011 г.

[life.sport.darts] Принял участие в Чемпионате РБ по дартс

25 июня в Минске, во Дворце спорта состоялся Чемпионат Республики Беларусь по дартс. Рассказ, о том, как я в нем поучаствовал, отправлен под кат для тех, кому это интересно. Сразу скажу, что впечатлений больше негативных, чем позитивных. Поэтому рассказ местами может быть слишком эмоциональным. И букафф многа :)

четверг, 30 июня 2011 г.

[life.cinema] Очередной кинообзор (2011/06)

Подошло время очередного кинообзора. Сперва список фильмов. Затем риторический вопрос вслух.

Тайна в его глазах. Отличный фильм.

Бандитский Йоханнесбург. Оказался на удивление приличной криминальной драмой. Не ожидал.

Шальные деньги. Был бы отличной криминальной драмой, если бы его сделали чуть подинамичнее.

Слепота. Местами хороший, суровый фильм. Местами слишком сопливый. К счастью, соплей меньше.

Карлос. Посмотрел с интересом, хоть он и длинный. Отдельно внушает актер, игравший Карлоса – я так понял, что для второй половины фильма ему пришлось изрядно набрать вес. Но после просмотра осталось недоумение – по фильму Карлос только и делает, что трындит, курит сигарету за сигаретой, пьет и трахает всех баб подряд. Как же он смог тогда стать таким знаменитым террористом?

Пламя и Цитрон. Неоднозначные впечатления. Вроде бы трагические события. Вроде бы про войну. Вроде бы снято хорошо. Но показано не сопротивление, а какой-то детский сад. Мирные городки, полные посетителей кафешки, праздношатающиеся и хорошо одетые, сыто выглядящие горожане. Это что – война? Или санаторий? Понятно, что в Западной Европе фашисты вели себя совсем не так, как на захваченных территориях СССР. Но все-таки. Фильм “Черная книга” намного сильнее.

Пол: Секретный материальчик. Нормальная комедия на один просмотр. Незамысловатая, почти детская и про инопланетян, но ребенку такую, к сожалению, не покажешь, уж слишком много “озабоченности” и сквернословия.

Груз. На удивление приятная фантастика. Немного предсказуемо, однако. Да и стиль очень уж неспешный. Но авторам фильма удалось сделать главное – погрузить зрителя в атмосферу космической станции.

Криминальная фишка от Генри. Жалко, что фильм получился слишком сентиментальным. Мог бы быть неплохой криминальной полубайкой-полукомедией.

Пастырь. В общем ничего, один раз посмотреть можно. Мне показалось, что авторы фильма пытались выдержать какой-то мрачный стиль, но слишком переборщили.

Супер 8. Хорошая фантастическая сказочка для детей 11-13 лет. Взрослые могут не смотреть.

Обряд. В очередной раз порадовал Энтони Хопкинс. И Рутгера Хауера было приятно увидеть вновь. Ну и сюжет фильма не самый плохой. А вот чего нельзя создателям простить, так это гламурного пидораса в главной роли, который шляется весь фильм с тупой рожей. Ну и то, что большую часть фильма снимали в павильоне и это бросается в глаза.

Ханна. Совершенное оружие. Странное впечатление. Пока смотришь, вроде бы нормально. После просмотра же недоумеваешь, а что за фигню ты только что посмотрел.

Незванные. Я ожидал от фильма большего.

Гангстер №1. Невыразительная криминальная драма. Запоминающаяся разве что попыткой стилизации под ретро.

И пробил час. Не смотря на участие пусть постаревших, но все еще харизматичных, Роберта Патрика и Лэнса Хендриксена, получилась откровенная галиматья.

День расплаты. Начиналось с претензией. Но закончилось какой-то сентиментальной ерундой. Да и вообще фильм больше напоминает телеспектакль, а не художественное кино.

Ну и под занавес – Запрещенный прием. На нормальной скорости смог просмотреть минут 10. Еще минут десять – на скорости 1.5. Больше не выдержал. И вот чего не могу понять: какой долбо*б придумал, что полуголая гламурно-расфуфыренная девица с самурайским мечом в окопах Первой Мировой Войны – это круто и сексуально?

[life.politic] Ну и как теперь от гопников защищаться?

В задумчивости после фоторепортажа Антона Мотолько

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

Ща же как-то ссыкотно становится. Выбежит из подворотни не пойми кто в штатском, схватит тебя за горло. Ты ему, на автомате, пяткой по яйцам или локтем под дых. А тебе потом мало того, что по пути в кутузку отобьют все, что смогут, так еще и статью за нападение на сотрудника при исполнении. Получается, что лучше вообще не сопротивляться. А если и вправду гопник?

пятница, 24 июня 2011 г.

[prog] Чем может отличаться sequence от sequence_?

В программировании есть (как минимум) две фундаментальные и неразрешимые проблемы – предсказание сроков разработки и выбор имен для классов/функций/переменных. С первой проблемой хоть как-то пытаются бороться. А вот вторую, складывается впечатление, только стараются усугубить.

Помнится, несколько лет назад на RSDN я защищал короткие имена методов, принятые в стандартной библиотеки Ruby – вроде to_i (а не ToInteger), to_a (а не ToArray) и пр. Поскольку у меня большой C/C++ опыт, то ничего страшного в to_i по сравнению с strcpy не видел и не вижу. Тем не менее, сейчас я сам оказался в ситуации своего тогдашнего оппонента. Но смолчать не смогу :)

Читаю статью Beautiful Concurrency Саймона Пейтона Джонса. Дохожу до примера в разделе 4.3 на стр.17:

sequence_ [ elf elf_group n | n <- [1..10] ]

Конструкция в квадратных скобках – это list comprehension, т.е. формирование списка элементов вида [elf elf_group 0, elf elf_group 1, ...,elf elf_group 10].

Намного интереснее функция sequence_. Делает она простую вещь – перебирает последовательно элементы переданного ей списка. И возвращает, грубо говоря, void. Т.е. имеет прототип:

sequence_ [IO a] :: IO ()

В принципе, ее цель понятна. Но почему название такое, с подчеркиванием на конце? А потому, что уже есть sequence без подчеркивания с прототипом:

sequence [IO a] :: IO [a]

которая берет один список и возвращает второй список. А не void.

Вот такие вот две функции в стандартной библиотеке. С сильно разным возвращаемым значением, но отличающиеся всего лишь наличием подчеркивания в имени!

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

четверг, 23 июня 2011 г.

[prog] Небольшая ремарка в связи с выходом Eclipse 3.7

Состоялся релиз очередной версии платформы Eclipse – 3.7. Из текста новости я выделю одно короткое предложение:

Общий объем выпущенных в рамках Eclipse 3.7 исходных текстов составляет 46 млн строк кода.

Предлагаю вдуматься в эту цифру. Сорок шесть миллионов строк кода!

Я это к чему? Сейчас так модно хвалить функциональное программирование и ругать старые подходы – в первую очередь объектно-ориентированный, что не грех лишний раз напомнить о том, что стало возможно благодаря (а не вопреки) этим самым старым подходам. Имхо, проект такого размера сам по себе является лучшим практическим доказательством того, что ООП действительно предлагает хорошие средства для модульного конструирования (см. так же здесь).

вторник, 21 июня 2011 г.

[life.humour] Решил спросить у Wikipedia про натуральный логарифм

По ошибке зашел на en.wikipedia.org вместо ru.wikipedia.org. Был поражен результатом поиска:

[prog.flame] Понравилось высказывание Бертранда Мейера

Цитата из свежей записи в блоге Бертранда Мейера:

Functional programming languages have also offered interesting idioms for concurrency, taking advantage of the non-imperative nature of functional programming. Advocacy papers have argued for Haskell [10] and Erlang [11] in this role. But should the world renounce other advances of modern software engineering, in particular object-oriented programming, for the sake of these mechanisms? Few people are prepared to take that step, and (as I have discussed in a detailed article [12]) the advantages of functional programming are counter-balanced by the superiority of the object-oriented model in its support for the modular construction of realistic systems.

Что, в моем переводе звучит как:

Функциональные языки программирования так же предлагают интересные идиомы для конкурентности, получающие преимущества из неимперативной природы функционального программирования. Пропагандистские публикации указывают на Haskell [10] и Erlang [11]. Но должен ли мир оказаться от других преимуществ современной инженерии программного обеспечения, объектно-ориентированного программирования в частности, ради этих механизмов? Некоторые приготовились сделать этот шаг, но (как я более подробно рассматривал в статье [12]) преимущества функционального программирования перевешиваются превосходством объектно-ориентированной модели в поддержке модульного конструирования реалистичных систем.

Вот упомянутые в цитате ссылки:

[10] Simon Peyton-Jones: Beautiful Concurrency, in Beautiful Code, ed. Greg Wilson, O’Reilly, 2007, also available online.

[11] Joe Armstrong: Erland, in Communications of the ACM, vol. 53, no. 9, September 2010, pages 68-75.

[12] Bertrand Meyer: Software Architecture: Functional vs. Object-Oriented Design, in Beautiful Architecture, eds. Diomidis Spinellis and Georgios Gousios, O’Reilly, 2009, pages 315-348, available online.

Понравилась цитата потому, что как и Б.Мейер, я являюсь приверженцем объектного подхода (пусть не таким продвинутым) и так же имею сильные сомнения на счет преимуществ функционального подхода. Поэтому отрадно, когда аналогичные сомнения высказывает намного более сведущий в computer science специалист, чем я.

PS. В заключение дам ссылку на свою старую заметку: Об интуитивности императивного и функционального программирования.