Основная проблема филармонии в ограниченности площадок:
Я два года проработал солистом новосибирской, сделал за это время часов 10 новой и интересной для себя музыки. Вообще с точки зрения музыкальной самореализации филармония — кайф.
Но, блин, у нас очень крутая, по меркам России филармония, отличный PR отдел, регулярные аншлаги, подход и к зрителю и к исполнителю. До такого уровня концертной организации расти реально очень далеко, есть с чем сравнивать, и не только в РФ. Все упирается в концертные площадки: внутри города одну программу можно исполнить 2, если сильно повезет, 3 раза в год. То есть, по сути, 60-80 часов работы приносят маржи на, дай бог, 10К рублей на исполнителя. И это не плохое управление или неравноценное распределение средств, если сложить все затраты то то на то и выходит. Еще можно программу катать по области, чем мы активно занимались. Но область — это затраты на дорогу, низкая стоимость билетов и малая вместимость залов (да и демография… хе-хе).
Таким образом, получается, что первые лет 10 филармонический артист работает на репертуар, а всю оставшуюся жизнь репертуар работает на филармонического артиста. Что тоже не есть хорошо)
По хорошему, настоящая концертная прибыль идет, если делается все ровно то же самое, но сразу на 10-15 городов + окрестности. Вот тогда есть и доходы по 2К$\мес.
Собственно, так и работает финансовая модель успешных музыкантов: выбивают мероприятие у нас в филармонии + в академгородке, от этих дат пляшут по томской, красноярской, кемеровской областям и алтайскому краю.
все-таки нет. Просто очень много шума, в котором трудно что-то искать.
К тому же тезис несколько провокационен (типа «вы видели промежуточное звено между человеком и обезьяной?»)
Трудно говорить о новом именно как о стилях и идеях, но тем не менее, будь он неладен Циммер очень хорошо шагнул в очень интересную сторону. Правда, подтягиваются за ним немного с других векторов (идут со стороны EDM в большие классиечские оркестровые составы, а не наоборот), но почему бы и нет?
Опять же академическая музыка, хоть и развивается заметно медленнее массовой (а вот поди пойми, что будет академической через 100 лет, модернисты тоже не особо так в консерваториях играли) но кое-что интересное дает. Не так давно в Таллине слушал потрясающие дуэты для саксофона с органом, к сожалению, композитора забыл…
У julybosanova.livejournal.com есть кое-что интересное)))
Да даже Леонида Воробьева взять: это довели до ума, или новый голос? Ваще-то вроде трибьют бенд, но звучит прям свежо)
Сейчас вот слушаю саундтрек к облачному атласу. Тоже кое-какая эволюция. Вообще интересно, что у композитора была задача написать гениальное произведение. Одно это несколько… впечатляет)
очень прошу вас, не пишите.
мало того, что статьи по уровню анализа 'бабка на остановке сказала', так еще и пахнут они непризнанным гением. Работать надо, и знать.матчасть, вот и все дела.
про обзор музыкальных профессий до сих пор вспоминаю, как вас вижу, т.к. за такое банить надо.
Знаете, в крымские времена у нас чуть не развалился закрытый форум по сугубо профессиональным интересам. Копья ломали люди, вообще не очень в политике, и, с моей точки зрения, нормальным критическим мышлением.
Потому что фильтровать инфу вообще анриал в ситуации жесткой двух-трех-сторонней пропаганды.
подписываюсь почти подо всем.
Но с однобуквенными переменными есть кое-какое рациональное зерно:
Сейчас почти каждый редактор умеет в пакетное выделение через ctrl+D.
И поленившись добавить вторую букву import unittest as t вы обрекаете себя на мытарства в дальнейшем. А стоило-то: import unittest as ut.
И, чтобы два коммента не писать:
почему f-strings рассматриваются в контексте html? Это отличный инструмент для производительного мелкого форматирования в одну строчку. через %-форматирование можно наткнуться на некоторые проблемы.
Допустим, у меня в компиляторе бывает так: %some_array[<и чего сюда писать для форматирования?>].
не совсем понимаю, почему он должен воспринимать атрибут как тип. Это было бы как раз неправильное поведение))
Я в таких случаях обычно делаю что-то вроде этого:
from enum import Enum
import typing as ty
ONET = ty.NewType('ONET', int)
class Some(Enum):
ONE: ONET
TWO: text
# 1 в этом случае тип принимаемой переменной определиться как int
def func(some: ONET):
reveal_type(some) # Revealed type is 'pyksp.simple_test.ONET'
# 2 в этом случае, тип определиться как целый объект Some
def func(some: Some):
pass
Ну а если он должен быть любым int так и делайте int. Или если хотите иметь возможность заменить тип внутри класса и во всех аннотациях с ним связанных – делаете алиас
в принципе, согласен. И Вы правы, но не так уж и накладно:
import cProfile
from pyksp.base_types import Var, Type
def test(n):
for i in range(n):
o = Var[int](local=True, name=f'name{i}')
isinstance(o, Type[int])
cProfile.run('test(100000)')
Я сейчас со 100% уверенностью не отвечу, потому что так ни разу и не занимался настройкой mypy через конфиг-файл. Мне хватает того, что передает ему Anaconda из ST3.
Но я почти уверен, что дело в том, что в первом случае MyPy воспринимает выражение как untyped assignement in type context, хоть и выражается короче. В общем и целом, он думает, что вы забыли.
Во втором случае тип резолвится к `Dict[Any, Any]`. В стандартной поставке это OK, но можно настроить, чтобы он ругался на все места, где фигурирует Any
Ну да :)
Обновил "параметризованный дженерик" в статье на такой, который может вытаскивать тип в __init__. Правда, не уверен, что такая реализация не сломается при следующем обновлении...
Мне тут коллега риторический вопрос похожий задал:
Сколько вменяемых скриптеров под контакт ты знаешь? Каждый 5-ый музыкант или каждый 10005ый?
продублирую и сюда:
Всего интересующихся и пишущих, пожалуй, несколько сотен. Код которых видел лично – человек 20, вменяемый из них – один. И то, потому что он именно скриптер KSP до мозна костей. Общаться с ним как с программистом больновато. Вместо языка, в котором разберется любой, знающий предметную область, получился язык, на котором может хорошо писать только человек, который до глубины души выучил этот язык.
Один раз я еще видел очень хороший код, в библиотеке CinePianos (пианины), но не знаю, кто автор.
Вполне могу предположить, что это слабое свидетельство, основанное на личном опыте и конкретном кейсе.
А можно для общего развития пример расширения функциональности (сторонним пользователем), не являющимся плагином?
Просто мне архитектурно кажется, если есть такая возможность, то, скорее всего, есть некая точка подключения, которая грузит сторонние модули (или плагины) и работает с ними. Тот же SublimeText или vim.
Вот в браузерах я так и не понял: есть плагины, а есть расширения, чем они конструктивно (или идеологически) отличаются?
Ну, насколько я понимаю (сам в реакторе так ничего и не делал), это нечто вроде САПР для электронщиков. Просто САПР модулирует сигнал и циферки показывает, а реактор на выход звук выдает. Так что этот гуй вполне обоснован, ничего сверхъестественного там не должно быть)
Согласен, об этом и хотел сказать (интересно, где не получилось).
Ведь, в принципе, если в качестве DSL используется уже ЯП общего назначения, это скорее не DSL, а API. Разница, мне кажется, в том, что DSL – замкнутая система, а API находится в некотором домене, который диктует способы его вызова.
И согласен, что с AST меня занесло чутка: просто моя область интересов очень критична к рантайму (да и к памяти тоже, как правило), да и вообще основная буча происходит в лисенере 48000FPS)) Поэтому я несколько однобоко воспринял концепцию «внешнего языка» как, преимущественно, препроцессора.
Поэтому просто прокомментирую последнюю строчку, ответ на которую, в основном и предполагался статьей. Видимо, был чересчур категоричен)
Ну а если бы они пытались сделать действительно DSL для музыкантов, то скорее всего они провалились, а язык общего назначения не помог бы в этой области.
Вот небольшой разговор с музыкантом
(на самом деле, не имеет значения: музыкант, дизайнер, бухгалтер)
ну да, весь вопрос только в том, чтобы это так наз. «программирование» было доступно даже чайникам… Мне вот до сих пор не понятно как программируется вроде бы имеющий «дружеское» гуи логический редактор в кубе… ) Хоть и нужен он раз в год, но без талмуда там ни в зуб ногой ничего не понятно… Хотя пару раз я и за талмуд брался, но безрезультатно… А вот кубовский «программатор» экспрешн мэп интуитивно понятен и без талмудов, и любой чайник в нём может разобраться за полчаса.
Вы от хоста хотите столько наворотов, подвластных ЛИЧНО ВАМ :) Логично предположить, что вы сможете ему изъяснить свои желания на языке булевой алгебры. А то меня уже тут неделю брутфорсит человек, который хочет писать нотками миди во фруктах и получать на выходе «неотличимо от живаго». ;)
А разницы между текстовым интерфейсом и ГУИ принципиальной нет, как ни странно) Текстовые конфиги, тем более, всегда можно лицезреть в одной удобоворимой форме в любимом текстовом редакторе (vim там, или sublime text), а в гуи пока нужную кнопку найдешь....
что прям на русском языке можно писать? :) «Дорогой Кубэйс зпт сделай пжлст на пятом канале перевод 121-го контроллёра в програм чендьжъ номер 10!» :D
Или на каком? :cool:
У меня на англ. то времени нет, а ты хочешь чтобы я ещё и языком программирования занимался. Не серьёзно (для активно практикующих аранжировщиков :)) Нужно — открыл, на кнопочку назначил, работаем дальше. На «писанину» ох как много времени уходит…
а контактовский гуй и документация, конечно, русифицированы.
никто ж не говоит про ЯП. Просто пара строк с параметрами в соответствующий файлик (типа как мы пишем батники для серверов с веной, чтоб они сразу норм грузились и с нужными флагами)
Зуб даю, не глупый человек, профессионал с большой П, мне до него в некоторых вещах расти и расти. Только… Может ну их, музыкантов? Мне кажется, если б единственным вариантом облегчить себе жизнь было – писать динамическую библиотеку на C – я б все равно этим занимался, может просто чутка дольше))
В том-то и дело, что технологически парсер под свой DSL написать может и не так сложно. Ну месяц может на что-то сложное уйдет. По сути мы что в первом случае, что во втором имеем проблему трансляции исходного кода на упрощенном, или, скажем, более удобном языке во внутреннее представление.
Не имеет большого значения, является ли этот исходный код DSL, sql или JavaScript.
И решая задачу через DSL мы, с большой вероятностью, выпускаем ЯП с детскими болезнями, последствия которых рано или поздно дадут о себе знать.
А вот взяв уже готовый язык со средствами его исполнения мы получаем, по сути, отлаженный инструмент, который может выдать нам удобоваримое AST которое привести во внутреннее представление нашего основного языка не составит большого труда. Этим решается проблема отвязки интерфейса от реализации.
И вот как получить из «удобного» языка AST я и хочу написать следующую статью (а может даже на две набежит).
Но с другой стороны, кто его знает, может DSL и правда пишет больно компетентный человек, который уже собаку на такой разработке съел)).
Я два года проработал солистом новосибирской, сделал за это время часов 10 новой и интересной для себя музыки. Вообще с точки зрения музыкальной самореализации филармония — кайф.
Но, блин, у нас очень крутая, по меркам России филармония, отличный PR отдел, регулярные аншлаги, подход и к зрителю и к исполнителю. До такого уровня концертной организации расти реально очень далеко, есть с чем сравнивать, и не только в РФ. Все упирается в концертные площадки: внутри города одну программу можно исполнить 2, если сильно повезет, 3 раза в год. То есть, по сути, 60-80 часов работы приносят маржи на, дай бог, 10К рублей на исполнителя. И это не плохое управление или неравноценное распределение средств, если сложить все затраты то то на то и выходит. Еще можно программу катать по области, чем мы активно занимались. Но область — это затраты на дорогу, низкая стоимость билетов и малая вместимость залов (да и демография… хе-хе).
Таким образом, получается, что первые лет 10 филармонический артист работает на репертуар, а всю оставшуюся жизнь репертуар работает на филармонического артиста. Что тоже не есть хорошо)
По хорошему, настоящая концертная прибыль идет, если делается все ровно то же самое, но сразу на 10-15 городов + окрестности. Вот тогда есть и доходы по 2К$\мес.
Собственно, так и работает финансовая модель успешных музыкантов: выбивают мероприятие у нас в филармонии + в академгородке, от этих дат пляшут по томской, красноярской, кемеровской областям и алтайскому краю.
все-таки нет. Просто очень много шума, в котором трудно что-то искать.
К тому же тезис несколько провокационен (типа «вы видели промежуточное звено между человеком и обезьяной?»)
Трудно говорить о новом именно как о стилях и идеях, но тем не менее, будь он неладен Циммер очень хорошо шагнул в очень интересную сторону. Правда, подтягиваются за ним немного с других векторов (идут со стороны EDM в большие классиечские оркестровые составы, а не наоборот), но почему бы и нет?
Опять же академическая музыка, хоть и развивается заметно медленнее массовой (а вот поди пойми, что будет академической через 100 лет, модернисты тоже не особо так в консерваториях играли) но кое-что интересное дает. Не так давно в Таллине слушал потрясающие дуэты для саксофона с органом, к сожалению, композитора забыл…
У julybosanova.livejournal.com есть кое-что интересное)))
Да даже Леонида Воробьева взять: это довели до ума, или новый голос? Ваще-то вроде трибьют бенд, но звучит прям свежо)
Сейчас вот слушаю саундтрек к облачному атласу. Тоже кое-какая эволюция. Вообще интересно, что у композитора была задача написать гениальное произведение. Одно это несколько… впечатляет)
очень прошу вас, не пишите.
мало того, что статьи по уровню анализа 'бабка на остановке сказала', так еще и пахнут они непризнанным гением. Работать надо, и знать.матчасть, вот и все дела.
про обзор музыкальных профессий до сих пор вспоминаю, как вас вижу, т.к. за такое банить надо.
я на вейп трачу 3000-4000р/год.
Да на транспорт в месяц больше уходит ;)
А пойду-ка я кофе намолю и попарю кайфунчик)
Потому что фильтровать инфу вообще анриал в ситуации жесткой двух-трех-сторонней пропаганды.
подписываюсь почти подо всем.
Но с однобуквенными переменными есть кое-какое рациональное зерно:
Сейчас почти каждый редактор умеет в пакетное выделение через ctrl+D.
И поленившись добавить вторую букву
import unittest as tвы обрекаете себя на мытарства в дальнейшем. А стоило-то:import unittest as ut.И, чтобы два коммента не писать:
почему f-strings рассматриваются в контексте html? Это отличный инструмент для производительного мелкого форматирования в одну строчку. через %-форматирование можно наткнуться на некоторые проблемы.
Допустим, у меня в компиляторе бывает так:
%some_array[<и чего сюда писать для форматирования?>].Статистика по минусам отражает только общее внимание к статье. Тот же лонгрид про кампанию начального на втором месте:
не совсем понимаю, почему он должен воспринимать атрибут как тип. Это было бы как раз неправильное поведение))
Я в таких случаях обычно делаю что-то вроде этого:
Ну а если он должен быть любым int так и делайте int. Или если хотите иметь возможность заменить тип внутри класса и во всех аннотациях с ним связанных – делаете алиас
в принципе, согласен. И Вы правы, но не так уж и накладно:
Но я почти уверен, что дело в том, что в первом случае MyPy воспринимает выражение как untyped assignement in type context, хоть и выражается короче. В общем и целом, он думает, что вы забыли.
Во втором случае тип резолвится к `Dict[Any, Any]`. В стандартной поставке это OK, но можно настроить, чтобы он ругался на все места, где фигурирует Any
Кстати, никогда не проверял, в аннотациях функции они присутствуют как
str, или какForwardRefобъекты… И можно ли что-то с ними делать.Ну да :)
Обновил "параметризованный дженерик" в статье на такой, который может вытаскивать тип в
__init__. Правда, не уверен, что такая реализация не сломается при следующем обновлении...продублирую и сюда:
Всего интересующихся и пишущих, пожалуй, несколько сотен. Код которых видел лично – человек 20, вменяемый из них – один. И то, потому что он именно скриптер KSP до мозна костей. Общаться с ним как с программистом больновато. Вместо языка, в котором разберется любой, знающий предметную область, получился язык, на котором может хорошо писать только человек, который до глубины души выучил этот язык.
Один раз я еще видел очень хороший код, в библиотеке CinePianos (пианины), но не знаю, кто автор.
Вполне могу предположить, что это слабое свидетельство, основанное на личном опыте и конкретном кейсе.
Просто мне архитектурно кажется, если есть такая возможность, то, скорее всего, есть некая точка подключения, которая грузит сторонние модули (или плагины) и работает с ними. Тот же SublimeText или vim.
Вот в браузерах я так и не понял: есть плагины, а есть расширения, чем они конструктивно (или идеологически) отличаются?
Ведь, в принципе, если в качестве DSL используется уже ЯП общего назначения, это скорее не DSL, а API. Разница, мне кажется, в том, что DSL – замкнутая система, а API находится в некотором домене, который диктует способы его вызова.
И согласен, что с AST меня занесло чутка: просто моя область интересов очень критична к рантайму (да и к памяти тоже, как правило), да и вообще основная буча происходит в лисенере 48000FPS)) Поэтому я несколько однобоко воспринял концепцию «внешнего языка» как, преимущественно, препроцессора.
Поэтому просто прокомментирую последнюю строчку, ответ на которую, в основном и предполагался статьей. Видимо, был чересчур категоричен)
Зуб даю, не глупый человек, профессионал с большой П, мне до него в некоторых вещах расти и расти. Только… Может ну их, музыкантов? Мне кажется, если б единственным вариантом облегчить себе жизнь было – писать динамическую библиотеку на C – я б все равно этим занимался, может просто чутка дольше))
Не имеет большого значения, является ли этот исходный код DSL, sql или JavaScript.
И решая задачу через DSL мы, с большой вероятностью, выпускаем ЯП с детскими болезнями, последствия которых рано или поздно дадут о себе знать.
А вот взяв уже готовый язык со средствами его исполнения мы получаем, по сути, отлаженный инструмент, который может выдать нам удобоваримое AST которое привести во внутреннее представление нашего основного языка не составит большого труда. Этим решается проблема отвязки интерфейса от реализации.
И вот как получить из «удобного» языка AST я и хочу написать следующую статью (а может даже на две набежит).
Но с другой стороны, кто его знает, может DSL и правда пишет больно компетентный человек, который уже собаку на такой разработке съел)).