[sisyphus] sisyphus и alterator как платформы (или Шигорина опять понесло)

Michael Shigorin =?iso-8859-1?q?mike_=CE=C1_osdn=2Eorg=2Eua?=
Пт Янв 12 13:10:22 MSK 2007


On Fri, Jan 12, 2007 at 10:11:17AM +0300, Stanislav Ievlev wrote:
> > > > > > config-packages <unnamed port>: In procedure scm-error in
> > > > > > expression (scm-error (quote misc-error) #f ...):
> > > > > > <unnamed port>: wrong answer from backend, : separator
> > > > > > not found "" что бы это значило?
> > > > > что альтератор сломаный видимо.

Заметь -- телепатограмма неверная.  Об этом тоже ниже.

> > > > Не "альтератор", а alterator-packages.
> > (конкретный установленный, поскольку УМВР, разве что кнопки 
> > "Выход" непосредственно нет)
> > > > 2 inger: если очень-очень быстро что-то пилить, то
> > > > приноровиться подпиливать сложно...
> > > Если черепаха будет ползти за паровозом, то он её в
> > > какой-то момент сзади догонит ...

Это если траектория закольцована, что не факт.

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

Так что мимо пенька, на который сел Иштван, мы ещё раз протопали.
Он красноречиво молчал :-)

> > Если паровоз будет без вагонов, то это такой вид спорта
> > (бесполезный).
> Изменения все идут достаточно медленно и мелкими шагами, чтобы
> за ними успеть.

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


Смотрим, что появилась интересная технология.  Причём во втором
поколении, и про продукт на базе первого отзываются неплохо (пара
знакомых).  Заодно и "языковой вопрос" наводит на интересные и
потенциально прорывные следствия, в общем, решаем копать.

Прокапываем документацию, местами (бакэнды) -- исходники,
пытаемся что-то нарисовать, но оно как-то не очень получается.
Тем временем заканчивается дачный сезон, начинаются проекты 
и становится не до того.


Через примерно год возвращаемся (опять на даче: большой кусок
времени, когда не дёргают) к вопросу, документация уже получше,
наконец-то обобщены шелловые бэкенды (первое поколение выглядит
в качестве примера ужасно, особенно когда без комментариев вообще
и по документации понять, что оно там на шину кидает -- тоже не
выходит; это вполне понятно, потому что сроки и так погорели,
но догонять паровоз просёлками немного сложно).

Короче, жить уже будто можно; повторяем недавно вывешенный
http://wiki.sisyphus.ru/Alterator/start, ловим несколько
странностей, расспрашиваем тебя и Большакова жабером, благодарим
и правим уже устаревшее или ещё неуточнённое на wiki, взлетаем
(хотя такая интересная штука, как UI designer, так и не завелась
-- пока получается, как в том анекдоте -- "vi; make; vi; make; 
о, заработало").


Тем временем неспешно подкатывается проект, где как раз такое
средство и стоит применить.  Перечитываем документацию (поскольку
первый сделанный модуль уже успел раз или два сломаться), пишем,
опять расспрашиваем жабером и правим вику, но в общем оно
заводится и работает.  (часть модулей -- сетевые и timezone --
берётся "как есть", их надо только перевести, что на альфа-стадии
откладывается "на потом" по соображениям "или Стас новую версию
уже сделает, или заказчик расхочет поддержку PPTP, или вообще всё
иначе окажется")

За примерно месяц от начала написания раз или два что-то по
мелочам меняется, но фиксится.  Ладно, это всё ерунда, забавное
дальше вышло.

В сизиф приехала qt4.2, а заведённая снапшотилка сизифа у меня
сейчас отсутствует и руками сделать не додумался.  С учётом того,
что заказчику нужна конкретно 4.1 (человек там грамотный, хотя
в данном случае по моим проверкам -- перестраховался, поскольку
работает и собранное с 4.1 на 4.2, и собранное с 4.2) -- пришлось
пересобирать qtbrowser.  Который уже под 4.2 чуточку изменился,
по крайней мере до отката одного из фрагментов diff с
радиобатонами была плюха: можно выбрать два сразу.

Это мелочи, вот только ОДНОВРЕМЕННО были изменения и по qt4.2,
и по опять уехавшему альтератору.  Вместо отката одной версии
(спасибо git) пришлось ещё чуточку построгать откатный патчик
именно по qt.

(о том, что решение подтянуть киоск к сизифу в тот момент было
принято, наверное, последний раз на этой фазе проекта -- молчу,
поскольку кастомный модуль неукоснительно пришлось фиксить,
всё вокруг -- перепроверять и по итогам тоже фиксить, проблемы
вроде недействительного service network restart при
USE_HOTPLUG=yes озвучивал как минимум в jabber -- ну да там
иначе вроде будет сделано, а у меня уже работает)


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

Если на тебя посадить студента-референта, которому можно
озвучивать вслух "так, а теперь у нас это отвалится и надо будет
использовать то" -- который бы фиксировал на той же wiki, а в
идеале был достаточно толковым, чтобы проверить самому и изложить
практические рекомендации для сторонних разработчиков (бишь
коллег по команде для начала, про отдаваемую платформу тут пока
речи не идёт вообще) -- то по крайней мере будет разумно
рассчитывать на интерес более чем трёх человек на ставке к этой
разработке.  Иначе, поверь на слово и пойми моё беспокойство
правильно -- это будет очередной заумный техногенный сферконь
в почти вакууме.

> Когда-то я уже говорил, что 100% обратная совместимость будет
> держаться только по самому ценному - бакендам. А кнопочки
> можно и обновлять периодически. Иначе движения вперёд не будет.

Если будет постоянное и непредсказуемое движение вперёд, то вы
замкнёте технологию на себя и не получите из неё платформы.

Хотя бы чтоб по версионированию можно было судить -- в пределах
a.b.[x] обратная совместимость (предположительно) 100%, между
a.[x].b -- стоит ожидать необходимости подтягивать код, между
[x].a.b -- если что-то и осталось совместимым, то грохнуты
древние куски, на которые мог полагаться древний год.

А то про wizardface почитал, чуть посмотрел переписанное, но пока
понял, что сейчас не буду подхватываться и всех посвящённых
расспрашивать-документировать-переписывать своё.


Это не требование таймлайнов и жёстко продуманных планов на
триста лет вперёд, понятно, что это не то.  Но в крайности вообще
бросаться плохо.

(уже молчу, что сдуру купился на ТАК ДО СИХ ПОР И ВИСЯЩИЙ, КАК У
ЛОХОВ, НА САЙТЕ "осенний выпуск _2006_ Sisyphus" и в принципе в
сентябре предполагал возможность уже замороженного по интерфейсам
сизифа где-то в середине января, бишь чтобы сдавать на нём и
потом несущественными правками переходить на 3.1+updates --
говорила мама, делай на последнем stable, его уже точно курочить
никто не будет)

Просто если цель проекта (проектов) -- разработка ради
разработки, такой фан -- так и скажи(те).  Если "для своих
штуковин" -- тогда не надо звать других, они ж черепахи.
Если "новое поколение платформы" -- тогда, извини, сломал чего
-- садись и документируй, и пока не будет внятной строчки "теперь
вместо A использовать B или переделывать на C" -- дальше нельзя.

PS: поскольку существенная часть этого офтопика не касается
персонально тебя, попробую проформы ради дать Cc: org@, 
но вообще-то никаких следствий этого опуса не ожидаю,
это было бы опять глупо :-)  As is так as is.

-- 
 ---- WBR, Michael Shigorin <mike на altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/



Подробная информация о списке рассылки Sisyphus