Jul. 13th, 2008

akuklev: (Default)
Фух, в 15:15 из дома вышел и только сейчас, в 2 ночи пришел.
Были сегодня на концерте In Extremo в Нортхайме. Нортхайм — это всего в двух железнодорожных станциях от Гёттингена по направлению Ганновера. In Extremo — это такая медиевалистская группа, известная очень зажигательной музыкой и отличной постановкой шоу. Обе вещи подтвердились.

Проходил концерт в очень здоровском месте под названием Waldbühne Northeim, т.е. «лесная сцена». Это крупный амфитеатр с рок-сценой во главе, находящийся в живописном лесу на основательном удалении от каких либо жилых домов. Такое положение обеспечивает полное отсутствие проблем как с акустикой, так и и с местными жителями. Единственный минус — добираться туда от вокзала пешком нужно полтора часа.

В 15:45 я вышел из дома, в 16:00 все уже были на вокзале, через десять минут поезд тронулся а ещё через десять мы были в Нортхайме. Дорога через лес, надо сказать, положительно охрененна. Некоторые деревья высотой почти с пятиэтажку и до уровня третьего этажа увиты плющём. Проходили мимо какого-то озерца. Потом ещё длиннющая очередь на вход, из-за того, что на входе разумеется контроль сумок и ощупывание на предмет оружия. Впустили нас как по часам к началу концерта, в 18:00. Однако по доброй международной традиции концерты никто в указанное время не начинает, что положительно сказывается на положении пивоварной отрасли. Разливали, кстати, Варштайнер по три евро за кружку, что является форменным грабежом. Продавать на концертах только посредственное пиво и при этом по цене хорошего — это тоже международная традиция.

Народу было относительно немного, всего тысячи четыре. Пока играла первая группа разогрева, протиснуться было реально к самой сцене, а в 20 метрах от неё даже уютненько стоять, двигать конечностями и пить пиво. Первыми после саунд-чека играли какие-то совсем незнакомые мне товарищи. Играли что-то заводное в ирландскую сторону. В общем, хорошо, приятно, но ничего особенного. Играли они где-то полтора часа. Потом ещё один саунд чек и заиграли Dia Apokallyptischen Reiter. Я когда-то что-то у них слышал и оно было ничего. Так вот на концерте они мне не понравились вовсе. Цирк и не цеплюящая музыка. Только в самом конце они включили добротное рубилово. Ну и полили первые 10 метров перед сценой мыльной пеной из специальной пенной установки. Народ был абсолютно щаслифф, пока пеной поливали. Потом народ заметил, что всё стало мокрое и липкое и пошел в туалеты отмываться. Воспользовавшись их уходом, мы заняли самое перед началом выступления In Extremo самое лакомое место: центрально перед сценой ровно в 10 метрах от неё. Это оптимальный звук, идеальная видимость (по крайней мере, с моим ростом) и пламя из сценических огнемётов в самый раз выжигает брови.

In Extremo зажигали без пауз более двух часов — с начала девятого по половину двенадцатого. Сразу после вступительной песни они заиграли Wind и публика ушла в экстаз. Впереди заколыхались волны слэмующих. К сцене устремились пловцы по головам. Такое настроение им удалось сохранить до самого конца концерта, периодически поддерживая его классной пиротехникой. На сцене и у мониторов в сторону публики были установлены сопла, вступающие пламенем двухметровой длинны и 30-сантиметрового диаметра на особенно насыщенных драйвом кусках песен. Кроме них, в публику были устремлены четыре залповых газовых огнемёта, пуляющих пятиметровым джетом, отделяющимся от огнемёта и взмывающим вверх, догорая в форме шара. Эти активировались в особо кульминационные моменты, причём триггером был удар в большой барабан. Учитывая, что вечером было прохладно, точень приятные штуки. Сразу жаром обдаёт. Ну, а кроме, собственно, огня были фейерверки и какая-та шашка «чтобы громкой йобнуло», которую детонировали в кульминационной точке песни самой последней (сыгранной на бис) песни. Ещё из милых эффектов был типичный запах традиционной кузницы, знакомый посетителям любых средневековых фестевалей. Его делают при помощи какой-то маслянной горелки, что ли.
Отдельным пунктом хочется отметить качество звука: оно было просто эталонное. Я не помню другого рок концерта, где бы я с первого нормально разбирал слова незнакомых песен и скрипка не терялась на фоне перегруженных гитар и волынок. У нас с собой разумеется были музыкальные демпферы в уши (Доминик как-то на рок-концерте обрёл заболевание барабанной перепонки и с тех пор очень за этим следит), но на In Extremo они не пригодились. Громкость была отрегулирована ровно так, чтобы бас сотрясал внутренние органы и чтобы перекрикивать орущую толпу, но при всём этом не вызывать головной боли и не сильно давить на уши. Думаю, где-то 100dB в том месте, где мы стояли.

Отличный драйв, качественный выброс всего накопившегося в махание хаером. Напрыгался я на полгода вперёд, горло и шея болят и вообще полный комплект :-)

Потом через ночной лес добрались кое как до вокзала, уже совершенно без надежды поймать поезд. Мы уже успели настроиться идти 20 километров до Гёттингена пешком, когда дошли до вокзального табло и обнаружили, что ровно через 4 минуты, в 0:38 останавливается последний Метроном. Ну а потом по дённеру и по домам. Слушаю вот те же песни в альбомном качестве. Харрашо.

Сетлист: (последовательность произвольная) Wind, Ave Maria, Omnia sol Temperat, Rasend Herz, Horizont, Rattenfänger, Küss Mich, Fontaine la Jolie, Singapur, Palästinalied, Wessebronner Gebet, En esta Noche, In diesem Licht, Mein Sehnen, Frei zu sein, Hiemali Tempore, Sängerkrieg, 7 Köche, Spielmannsfluch.
akuklev: (Default)
Четыре года тому назад я писал вот прямо в этот ЖЖ, что наконец понял, как должна быть правильно устроена система типов и перегрузка операторов, зачем как именно оно должно быть отдельено от ООП и как должно выглядеть последнее. Показал с примерами кода. (Был, кстати, отчасти заклёван [livejournal.com profile] firtree) Начиная с того, что

a + b + c — это вовсе не a.add(b).add(c)
a + b + c = (AdditiveSemigroup.[+] a, b, c)
А вот функция AdditiveSemigroup.[+] должна извлекать наиближайшего общего предка a, b и c, являющгося имплементирующим интерфейс AdditiveSemigroup, в котором должна иметься статическая функция add(a, b), выполняющая аксиомы полугруппы. И вот этот AdditiveSemigroup.[+] должен вызывать эту функцию для сложения. Причём, оптимизируя вызовы для параллелизации, т.е. превращая список в бинарное дерева и редуцируя его. Не (((a + b) + c) + d), а ((a + b) + (c + d)).
А ежели аддитивная семигруппа ещё явлется и моноидом, то AdditiveSemigroup.[+]() должна выплёвывать .unit.

Потом я писал всякое про миксины.. Так вот. Сегодня [livejournal.com profile] sorhed наконец заставил меня прочитать про Скалу. И я понял, что в мире наконец-то появился язык программирования, на котором мне не пративно писать. Это язык программирования, авторы которого врубаются и в то, как надо делать систему типов, и в то, как делать императивное программирование (в первую очередь, мутабельные переменные), не выходя за рамки абсолютно чистой лямбда-семантики. Да, авторы старательно прячут эти вещи от программиста, справедливо считая его идиотом слабо знакомым с ФП, но внутри у них всё на месте.

Цитирую пример со Scala.org:
    abstract class SemiGroup[A] {
      def add(x: A, y: A): A
    }
    abstract class Monoid[A] extends SemiGroup[A] {
      def unit: A
    }
    object ImplicitTest extends Application {
      implicit object StringMonoid extends Monoid[String] {
        def add(x: String, y: String): String = x concat y
        def unit: String = ""
      }
      implicit object IntMonoid extends Monoid[int] {
        def add(x: Int, y: Int): Int = x + y
        def unit: Int = 0
      }
      def sum[A](xs: List[A])(implicit m: Monoid[A]): A =
        if (xs.isEmpty) m.unit
        else m.add(xs.head, sum(xs.tail))

      println(sum(List(1, 2, 3)))
      println(sum(List("a", "b", "c")))
    }
@ http://www.scala-lang.org/intro/implicit.html

В скале вообще есть всё, для того, чтобы можно было начинать работать. Кое-какой template matching (не Хаскелл, конечно, но очень хорошо), Erlang-style messaging system, базовая функциональщина и прекрасный интерфейс ко всему богатству существующих библиотек для говноджавы. Есть даже case classes (известные также как «конструкторы» в среде функциональщиков и «енумы с параметрами» в среде императивщиков), те самые, позволяющие писать эффективные стейт-машины и темплейты-генераторы, а так же выпендриваться знанием слова катаморфизм.

Вы всё ещё кипятите? Тогда мы идём к вам!

December 2016

S M T W T F S
    123
456789 10
11121314151617
18192021222324
25262728293031

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 20th, 2025 06:48 am
Powered by Dreamwidth Studios