Посмотрел оба мультика — про Вольфенштейн и Потерянная планета. И вот что хочу сказать.
С технологичной точки зрения они, конечно, выглядят не ахти. Эдакий привет из девяностых в стиле «Начинаем осваивать 3D-Max». Но дело тут совершенно не в технологиях. Уж что имеют ребята, то имеют, и надо сказать, инструментом умеют пользоваться на том уровне, который позволяет инструмент и компьютерные мощности. Дело не в этом.
Дело в том, что в обоих мультфильмах присутсвует АТМОСФЕРА. Она есть, и затягивает сразу, настолько, что можно сбросить всю остальную шелуху. В Вольфенштайне есть атмосфера потустороннего мира, из которого главный герой должен выбраться. В «Потеряной планете» есть атмосфера космоса, не «точно такая же как в „Звездных войнах“, а другая, своя. В обоих случаях атмосфера создана минималистическими средствами, но она выпукла настолько, что ощущается сразу. Не каждый шедевр анимации от Пиксар её имеет. Атмосфера есть в „Истории игрушек-2“, но ее нету в Шреке, Котэ-3D и многих других пробивных мультфильмах.
Я вообще считаю, что такие мультфильмы — это отдельный жанр в кинематографическом творчестве. Мультфильмы эти довольно целостные, потому что делались практически одним человеком. Поэтому в этих мульфильмах есть слепок души автора. Точно так же, как он есть в хороших книгах мастеров фантастики — Жуля Верна, Герберта Уэльса, Роберта Шекли.
Мультфильмы эти можно сравнивать с русским роком. Русский рок всегда горе-искусствоведы обвиняли в практически полном отсутсвии настоящих музыкантов-виртуозов. Типа нам „до них“ расти и расти, небыло у нас Блекморов и Пэйджов, посему и музыка ущербна. Но забывают они, что цели у русского рока были другие. Русский рок, как бы это пафосно не звучало, занимался взращиванием духа. А рок „у них“ очень быстро и жестко был поставлен на коммерческие рельсы. Можно считать, что у них среда тоже благоволила к творчеству, тем более подкрепляемому успехом. Но творчество это замыкалось на самих себе. У них властвовало „Я“, у нас — »Мы". Вот и в обоих обсуждаемых мульфильмах есть стержень под названием «Мы». Мультфильм Вольфеншнейн иронично объединяет людей 90-х, гонявших Дум, Дюка и Томб Райдер на первых пентиумах. Его же можно на цитаты разбирать, как «Брильятновую руку» — «не будут брать — отключим газ». Я не геймер, но досмотрел этот фильм до конца. Фильм (может быть и неявно, но так получилось) именно адресуется широкой аудитории людей, объединённых одним прошлым. С одной стороны это сделать легко (прошлое объединяет), но с другой стороны нужно сделать так тонко, чтобы не разочаровать зрителя. И эта грань в обоих мульфильмах соблюдена, и это сделано скорее всего ненамеренно, а просто врождённое свойство авторов. И это просто замечательно.
И вот еще что. Эти фильмы показывают, важную вещь, которая особенно важна молодому поколению. Есть у нас люди, молодые люди, которые умеют доводить дело до конца. Умеют доводить проект до логического конца даже в случае, когда он сильно растянут по времени и давно потерян интерес (я вас уверяю, за пять-восемь лет задор и интерес обязательно пропадут). И делают дело потому, что его нужно завершить. Это очень важная черта характера.
По технологии
Мне на самом деле очень понравилась синхронизация голоса в обоих мультфильмах. В Вольфенштейне она более дубовая, но уральский акцент у Томб Райдер очень доставляет. В «Потеряной планете» синхронизация с артикуляцией очень проработана. Проработаны фразы так, чтобы совпадать с движением подвижной челюсти, и на протяжении всего фильма, даже на крупных планах, к этой части технологии придраться невозможно. Уж незнаю, как делал автор, есть вроде готовые решения по синхронизации голоса и движению персонажа, но с этим моментном он хорошо поработал. Но, конечно, паузы в диалогах надо было нещадно резать.
Ладно, что-то я раписался.
Что хотелось бы написать напоследок — авторы, может за неимением времени, может из-за отсутсвия опыта, не выходили за рамки возможностей, предоставляемых анимационным пакетом. Не делали свои движки партиклей, нет необычных движений, программно не сегенерированы какие-то фантасмагоричные конструкции, которые были бы в тему, практически отсутсвуют эффекты постпродакшена (хотя в Потеряной планете видны элементы демосцены). То есть, крупность формы в полтора часа сыграла отрицательную роль. Но думаю, опыт, полученный в результате создания мультфильмов, был огромный. Если авторы продолжат карьеру в этой тематике, работать им будет очень легко.
Главное, что нужно решить в вашей системе — это то, как будут работать распределенные библиотеки, чтобы небыло dll- и so- хелла, как это сейчас происходит в Windows и Linux.
В Windows dll-хелл еще кое-как засунут вглубь системы, так что можно хотя бы ставить программы нужных версий. В Linux всё вообще плохо — обязательно нужны библиотеки конкретных версий, и если две программы требуют разные подверсии, тогда начинается пляска с бубном в неизвестным результатом. Вследствие чего распространять программы в Linux коммерческому производителю невозможно без сборки под каждую разновидность ОС (Etersoft имеет билд-ферму для изготовления сборок на ~50 систем, что явно за пределами здравого смысла).
Так что заранее подумайте о том, как будут распространяться программы под вашу ОС.
Нужна грамотная и полная документация по каждому проекту, который делается на предприятии. Знания о проекте и будут упакованы в эту документацию. Если, конечно, документацию пишет знающий человек, который думает о том, как другие будут понимать то, что он написал.
Я не понял главного. Как осуществляется связь обслуживаемый метод -> аспект? Ну то есть, каким образом синтаксически задаётся, что для метода Backet::order() нужно вызывать конкретный аспект после выполнения метода?
У меня три предположения. Вот ваш код:
/*
* @After(Backet->order)
*/
public function backetOrderMessage($params) {
echo ‘Backed has been ordered’;
}
Вариант 1. Связь задаётся через комментарий. Ваша библиотека ищет комментарий вида "@After(Backet->order)" и благодаря ему знает, что код ниже должен срабатывать после метода Backet::order().
Вариант 2. Связь задаётся через имя метода backetOrderMessage. Первое слово — класс (backet), второе слово — метод (order), третье слово — тип аспекта (message), видимо message — это тип пост-аспекта, т.е. который срабатывает после метода.
Вариант 3. Вы забыли показать кусок кода, в котором происходит связь метод->аспект.
Используем SVN, но помимо нее сделал себе скрипты инкрементального копирования через rdiff-backup.
Резервное инкрементальное копирование запускаю перед Commit/Update, чтобы обезопасить себя от вредителей, которые пишут код не в рабочей директории, находящейся под контролем SVN, а в боковой. Эти товарищи держат директорию, в которой работают, где-то в другом месте, а когда нужно синхронизироваться, копируют файлы в рабочую директорию SVN, а потом забирают их.
Проблема в том, что перед синхронизацией им надо вначале запускать синхронизацию рабочей директории, забирать файлы из рабочей директории себе, параллельно посмотрев, изменили ли они сами там что нибудь. Проверить работоспособность, залить в рабочую директорию, засинхронизироваться. Но кто бы это делал! Копируют файлы просто из своей «боковой» директории в рабочую, и синхронизируются.
В результате, новые изменения, которые уже есть на сервере, и залиты до этих деятелей, возвращаются к предыдущему состоянию так как переписываются поверх из устаревших файлов, которые деятели копировали из боковой директории в рабочую (у них же новых изменений нет).
Дело усугубляется тем, что могут скопировать в рабочую директорию каталог с подкаталогом .svn, и тогда начинается максимально жосткая чехорда с изменениями, которые были приняты/потеряны/переписаны более поздней версией.
Вот тут-то приходится расчехлять архив rdiff-backup и смотреть как оно должно быть на предыдущем этапе, когда программа работала хотя бы у меня.
Почему-то в нашей России получается делать солнечные батареи, которые по сложности техпроцесса сравнимы с производством светодиодов:
ООО «Хевел» (Новочебоксарск)
«Телеком-СТВ» (Зеленоград)
«Солнечный ветер» (Краснодар)
«Квант» (Москва)
ОАО «Рязанский завод металлокерамических приборов»
ЗАО «Термотрон-завод» (Брянск)
Прочитал вашу статью, поставил для интереса программу Bitcoin 0.4.0 beta. Насколько я понял, это программа-кошелек, и майнера в нем нету.
Но при старте эта программа начинает шуршать винтом, что-то считает, показывает в строке статуса 8 connections и счетчик blocks (сейчас достиг ~109000). При этом идет траффик по сети.
Что это такое? Это кошелек собирает всю историю всех BitCoin? Или в этом кошельке уже сделан майнинг, и это идет майнинг биткоинов?
То есть, в данном конкурсе нужно программировать не программу «муравей», а программу «муравьиный бог, который рулит всей колонией». Другими словами, программа-бот знает информацию о всех муравьях, а не только об одном муравье.
С технологичной точки зрения они, конечно, выглядят не ахти. Эдакий привет из девяностых в стиле «Начинаем осваивать 3D-Max». Но дело тут совершенно не в технологиях. Уж что имеют ребята, то имеют, и надо сказать, инструментом умеют пользоваться на том уровне, который позволяет инструмент и компьютерные мощности. Дело не в этом.
Дело в том, что в обоих мультфильмах присутсвует АТМОСФЕРА. Она есть, и затягивает сразу, настолько, что можно сбросить всю остальную шелуху. В Вольфенштайне есть атмосфера потустороннего мира, из которого главный герой должен выбраться. В «Потеряной планете» есть атмосфера космоса, не «точно такая же как в „Звездных войнах“, а другая, своя. В обоих случаях атмосфера создана минималистическими средствами, но она выпукла настолько, что ощущается сразу. Не каждый шедевр анимации от Пиксар её имеет. Атмосфера есть в „Истории игрушек-2“, но ее нету в Шреке, Котэ-3D и многих других пробивных мультфильмах.
Я вообще считаю, что такие мультфильмы — это отдельный жанр в кинематографическом творчестве. Мультфильмы эти довольно целостные, потому что делались практически одним человеком. Поэтому в этих мульфильмах есть слепок души автора. Точно так же, как он есть в хороших книгах мастеров фантастики — Жуля Верна, Герберта Уэльса, Роберта Шекли.
Мультфильмы эти можно сравнивать с русским роком. Русский рок всегда горе-искусствоведы обвиняли в практически полном отсутсвии настоящих музыкантов-виртуозов. Типа нам „до них“ расти и расти, небыло у нас Блекморов и Пэйджов, посему и музыка ущербна. Но забывают они, что цели у русского рока были другие. Русский рок, как бы это пафосно не звучало, занимался взращиванием духа. А рок „у них“ очень быстро и жестко был поставлен на коммерческие рельсы. Можно считать, что у них среда тоже благоволила к творчеству, тем более подкрепляемому успехом. Но творчество это замыкалось на самих себе. У них властвовало „Я“, у нас — »Мы". Вот и в обоих обсуждаемых мульфильмах есть стержень под названием «Мы». Мультфильм Вольфеншнейн иронично объединяет людей 90-х, гонявших Дум, Дюка и Томб Райдер на первых пентиумах. Его же можно на цитаты разбирать, как «Брильятновую руку» — «не будут брать — отключим газ». Я не геймер, но досмотрел этот фильм до конца. Фильм (может быть и неявно, но так получилось) именно адресуется широкой аудитории людей, объединённых одним прошлым. С одной стороны это сделать легко (прошлое объединяет), но с другой стороны нужно сделать так тонко, чтобы не разочаровать зрителя. И эта грань в обоих мульфильмах соблюдена, и это сделано скорее всего ненамеренно, а просто врождённое свойство авторов. И это просто замечательно.
И вот еще что. Эти фильмы показывают, важную вещь, которая особенно важна молодому поколению. Есть у нас люди, молодые люди, которые умеют доводить дело до конца. Умеют доводить проект до логического конца даже в случае, когда он сильно растянут по времени и давно потерян интерес (я вас уверяю, за пять-восемь лет задор и интерес обязательно пропадут). И делают дело потому, что его нужно завершить. Это очень важная черта характера.
По технологии
Мне на самом деле очень понравилась синхронизация голоса в обоих мультфильмах. В Вольфенштейне она более дубовая, но уральский акцент у Томб Райдер очень доставляет. В «Потеряной планете» синхронизация с артикуляцией очень проработана. Проработаны фразы так, чтобы совпадать с движением подвижной челюсти, и на протяжении всего фильма, даже на крупных планах, к этой части технологии придраться невозможно. Уж незнаю, как делал автор, есть вроде готовые решения по синхронизации голоса и движению персонажа, но с этим моментном он хорошо поработал. Но, конечно, паузы в диалогах надо было нещадно резать.
Ладно, что-то я раписался.
Что хотелось бы написать напоследок — авторы, может за неимением времени, может из-за отсутсвия опыта, не выходили за рамки возможностей, предоставляемых анимационным пакетом. Не делали свои движки партиклей, нет необычных движений, программно не сегенерированы какие-то фантасмагоричные конструкции, которые были бы в тему, практически отсутсвуют эффекты постпродакшена (хотя в Потеряной планете видны элементы демосцены). То есть, крупность формы в полтора часа сыграла отрицательную роль. Но думаю, опыт, полученный в результате создания мультфильмов, был огромный. Если авторы продолжат карьеру в этой тематике, работать им будет очень легко.
Под какой операционкой используете? (Простите за оффтоп...)
В Windows dll-хелл еще кое-как засунут вглубь системы, так что можно хотя бы ставить программы нужных версий. В Linux всё вообще плохо — обязательно нужны библиотеки конкретных версий, и если две программы требуют разные подверсии, тогда начинается пляска с бубном в неизвестным результатом. Вследствие чего распространять программы в Linux коммерческому производителю невозможно без сборки под каждую разновидность ОС (Etersoft имеет билд-ферму для изготовления сборок на ~50 систем, что явно за пределами здравого смысла).
Так что заранее подумайте о том, как будут распространяться программы под вашу ОС.
Нужна грамотная и полная документация по каждому проекту, который делается на предприятии. Знания о проекте и будут упакованы в эту документацию. Если, конечно, документацию пишет знающий человек, который думает о том, как другие будут понимать то, что он написал.
У меня три предположения. Вот ваш код:
/*
* @After(Backet->order)
*/
public function backetOrderMessage($params) {
echo ‘Backed has been ordered’;
}
Вариант 1. Связь задаётся через комментарий. Ваша библиотека ищет комментарий вида "@After(Backet->order)" и благодаря ему знает, что код ниже должен срабатывать после метода Backet::order().
Вариант 2. Связь задаётся через имя метода backetOrderMessage. Первое слово — класс (backet), второе слово — метод (order), третье слово — тип аспекта (message), видимо message — это тип пост-аспекта, т.е. который срабатывает после метода.
Вариант 3. Вы забыли показать кусок кода, в котором происходит связь метод->аспект.
Пожалуйста, проясните данный вопрос.
Да, именно так. Ящитаю, что он прекрасен: webhamster.ru
Хватит поить нас пивом! Если хочется выразить благодарность, дайте денег.
> То есть, затереть свежие изменения можно было лишь обновив локальную копию, а потом скопировать поверх неё файлы из соседней папки.
И это тоже делали. На вопрос зачем — «я забыл после обновления скопировать в свою папку изменения».
Резервное инкрементальное копирование запускаю перед Commit/Update, чтобы обезопасить себя от вредителей, которые пишут код не в рабочей директории, находящейся под контролем SVN, а в боковой. Эти товарищи держат директорию, в которой работают, где-то в другом месте, а когда нужно синхронизироваться, копируют файлы в рабочую директорию SVN, а потом забирают их.
Проблема в том, что перед синхронизацией им надо вначале запускать синхронизацию рабочей директории, забирать файлы из рабочей директории себе, параллельно посмотрев, изменили ли они сами там что нибудь. Проверить работоспособность, залить в рабочую директорию, засинхронизироваться. Но кто бы это делал! Копируют файлы просто из своей «боковой» директории в рабочую, и синхронизируются.
В результате, новые изменения, которые уже есть на сервере, и залиты до этих деятелей, возвращаются к предыдущему состоянию так как переписываются поверх из устаревших файлов, которые деятели копировали из боковой директории в рабочую (у них же новых изменений нет).
Дело усугубляется тем, что могут скопировать в рабочую директорию каталог с подкаталогом .svn, и тогда начинается максимально жосткая чехорда с изменениями, которые были приняты/потеряны/переписаны более поздней версией.
Вот тут-то приходится расчехлять архив rdiff-backup и смотреть как оно должно быть на предыдущем этапе, когда программа работала хотя бы у меня.
ООО «Хевел» (Новочебоксарск)
«Телеком-СТВ» (Зеленоград)
«Солнечный ветер» (Краснодар)
«Квант» (Москва)
ОАО «Рязанский завод металлокерамических приборов»
ЗАО «Термотрон-завод» (Брянск)
Вот про Краснодар: www.depprom.ru/solar2.html
А в вашей виртуальной рашке да, ничего конкуретноспособного не получается сделать, именно из-за менталитета.
Напишите в начале статьи что за NAT динамические DNS-сервисы не работают.
А то обнадёжили людей, но не написали что нужен белый IP.
Но при старте эта программа начинает шуршать винтом, что-то считает, показывает в строке статуса 8 connections и счетчик blocks (сейчас достиг ~109000). При этом идет траффик по сети.
Что это такое? Это кошелек собирает всю историю всех BitCoin? Или в этом кошельке уже сделан майнинг, и это идет майнинг биткоинов?
В данный момент сайт не приносит дохода и никак не монетизируется? Почему?
Я правильно понял?