Category: финансы

cartoon

Об архитектуре AJAX-приложений. Программирование модели.

Продолжаем руководство по разработке архитектуры ajax и оффлайновых приложений. Настоящих, которые все single-document-application, а не пионерской динамики по мелочи.

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

Так не должно быть. Поэтому, мои описания в целом нейтральны к фреймворку. Программирование гуя я вкратце описал. Теперь о "модели".

Модель - это та часть, которая не гуй. Это данные, которые вам надо показывать. Даже если вы не следуете архитектурному паттерну MVC, в ваших интересах как минимум отделить модель, т.е. слой данных, от слоя гуя. Чтобы в коде не получилось Полной Жопы.

Что такое "слой". Это самый простой архитектурный паттерн. Суть его в том, что вы выделяете внутри программы промежуточный API "нижнего слоя". Код, который обращается к нижнему слою - обязан делать это посредством API. Этот API можно (и, в общем, скорее нужно) документировать. Это полезно. В ваших интересах сделать этот API как можно более простым, компактным, логичным и понятным.

И самое главное - в чем состоит суть паттерна "слоеный пирожок"". Нижний слой ничего не знает про верхний. То есть, вообще. Это означает, что НИКАКИЕ правки верхнего слоя никак не могут повлиять на нижний.

Collapse )
cartoon

Корпоративные традиции

- Кости убирайте, - звучал из трубки спокойный голос Гуртова.
- Какие кости, Дима? – спрашивает Афигенов.
- Ты, Афигенов, кончай дурака валять. И вопить там тоже прекращайте. Поганкину передай. К вам идет Дон Мэтр. Только что вышел из моего кабинета.
- Он в офисе?! Что ему от нас надо?
- Идет учить вас корпоративной культуре.
- Йоп-та!
- Не «йоп-та», а культуре, Афигенов. Чувствуешь разницу? Костями, в общем, греметь на весь офис прекратите. И вообще. Короче, я предупредил, - Гуртов кладет трубку.
- Пиздец нам, Поганкин, - поворачивается в кресле Афигенов, - Дон Мэтр поднимается к нам учить нас корпоративной культуре. Что ты думаешь по этому поводу?
Поганкин встал, нервно прошелся по комнате из угла в угол, и задумчиво остановился в центре.
- Ну что, ссуки? – внезапно заорал он на весь этаж, - Допрыгались?!

Collapse )
cartoon

Прикладная теория вероятности

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

- Ну что, сцуки, не ждали?! - заорал Поганкин, и резко поднял стакан вверх. Комнату сотряс вопль страдания, перекрываемый торжествующим смехом Поганкина.

Collapse )

Disclaimer:
1. Все персонажи данной истории, как обычно, выдуманы, как их имена и поведение, и никакого отношения реальным людям и событиям не имеют. Любые совпадения и аллюзии являются совершенно случайными, и остаются на совести читателя.
2. Для читетелей тонкой душевной организации. Обилие ненормативной лексики является нормальным для данной серии историй. Никаких преувеличений история не содержит - персонажи ведут себя естественно. Это жизнь.
3. "Яйца" (Yatzy), он же "покер на костях" - самая трейдерская игра. Поганкин просил передать следующее - "всем играть, сцуко!" :)
cartoon

Доля Apple достигла 91%...

...в сегменте дорогих компьютеров, стоимостью более 1000 долларов. В США.
http://lenta.ru/news/2009/07/24/apple/

Знаете, что это означает? А означает это много чего, но в частности - одну прелюбопытьнейшую вещь. Apple будет вынуждена изменить стратегию для дальнейшего роста, ибо при текущей стратегии они отожрали практически весь рынок.

Да, Apple даже в условиях кризиса работает в плюс, и увеличивает доходы. При этом, делая инвестиции. То есть, один только сокращением доли рынка рост их доли объяснить нельзя.

Короче говоря, для дальнейшего роста Apple будет в ближайшее время вынуждено:
1) Продавать свои компы подешевле. На это они не пойдут.
2) Увеличивать продажи за пределами США. Это кстати первое, что они попробуют, скорее всего.
3) Запускать принципиально новые продукты, вроде iPhone. Это более вероятно, чем (1). И это самое интересное.

Другими словами, Apple просто вынуждена запустить устройство, которое будет конкурировать с нетбуками - это единственное, что показывает положительную динамику сейчас. И они наверняка это просчитали еще год назад. Ждем "нетбука" от apple. :)
cartoon

Мировому финансовому кризису посвящается...

- Вы когда прекратите материться? Что за херня, ваш мат слышен на лестнице даже на первом этаже!
- Нет, Дим, это совершенно исключено. Мы не прекратим.
- Слушайте, черт возьми, вы хорошие парни, когда речь идет о программировании, вы просто инженерный спецназ, но какого черта вы простых вещей не понимаете, элементарной культуры, а?
- Спецназ? Не, Дим, мы скорее ассенизаторы. Мы как называемся? Группа разработки сервера? А вот ты, директор, объясни нам, почему-то к нам стекается все говно как из сервера, так и из клиента, в котором не никто не может и главное не хочет разобраться? А? Культуры? Материмся мы, значит? Предъявляй претензии тому идиоту, благодаря которому мы ловим этот йобаный баг первого приоритета уже две недели. Тут по коду видно, что автор полный мудак.
- Значит, вы не перестанете материться?
- Ни в малейшей степени. Без этого работать в наших условиях совершенно невозможно.
- Вы мешаете коллегам! У вас будут плохие аттестации!
- Плевать нам на аттестации.
- Ну что же, тогда я вынужден перевести вас на третий этаж.
- Да ради бога.
- К трейдерам!
- Хе! :) К Поганкину и Афигенову? Да пожалуйста.
- Я еду на неделю в Штаты, вернусь - чтоб были на верху. От них как раз одна группа хочет переехать... Давно уже хочет... А тут вы. Вот, соберем вас в одном месте, и делайте что хотите.
- Заметано.

***

Переехали. Утро началось с того, что...
- Блять!!! Этот йобаный наздак опять пизданулся!!! - в сердцах кричит Поганкин на всю комнату напряженно глядя в монитор.
- "А теперь - комментарий нашего ведущего специалиста по текущей ситуации на фондовых рынках" - официальным тоном добавляет Афигенов, и громко ржет.

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

- Бонды - сосут! - доверительно сообщает на всю комнату через 10 минут Поганкин, и комментирует, - #$%#$%@!!! - что вселяет в наши сердца оптимизм. Мы видим, что не только нам плохо, но люди, так же как и мы, не собираются сдаваться на волю обстоятельств, и сопротивляются изо всех сил. Это действует на нас сугубо положительно, и дает прилив энергии.

- Слыш Ассовский, это все-таки слишком дикая ошибка, чтобы быть в продукте давно. Это стопудов что-то свежее. Наверняка какой-то мудак совсем недавно отчекинился, давай-ка посмотрим историю изменений, и попробуем определить, кто это сделал, и когда.
- Как мы это поймем, здесь сотни чекинов?
- Очень просто. Вот если бы ты захотел специально внести такую ошибку, ты бы в какие модуля вносил правки?

- Соса-ан-ка! Все ночи полные огня! - с энтузиазмом затягивает Поганкин, - Соса-а-нка! Зачем сгубила ты меня!! Соса-а-анка!!!

- Ну конечно же, модуль chart.
- Так. Это очень хорошо, так как туда достаточно редко вносят правки. Смотрим. Ну вот, единственный чекин за последние полгода - за авторством Коли Задолбацкого. Так, что там? Ну вот, кажется, оно. Коля, вероятно, читал код, и его, видимо, удивило, что функция MakeChartConnected делает вещь, прямо противоположную своему названию.
- Да, такое бывает. В нашем продукте названиям функций доверять нельзя, это знают даже дети. Надо код читать.
- Дети, может, и знают, но только не Коля Задолбацкий. Что, ты думаешь, он сделал?
- Ну неужели "исправил" функцию, чтобы она работала в соответствии со своим названием? :)
- Точно.

- Блять, эта йобаная пила уже заебала!!! - выходит из себя Поганкин, в бешенстве глядя на экран.

- Ну мудак...
- Точно.
- Скажем ему об этом?
- Обязательно. И более того. Я предлагаю впредь, когда падает откровенно мудацкая бага, первым делом проверять чекины Задолбацкого. На всякий случай.

***

- Соса-а-анка!!! Я твой навеки арестант!!! Погибли деньги и талант, в твоих руках!!!
- Хм! - говорю я, - Однако красиво поешь, Поганкин!
- Это самая трейдерская песня, между прочим.
- Слыш Поганыч, - кричит Ассовский - Я ведь что думаю - а ведь другие этажи лишены удовольствия слышать твой голос. Это несправедливо, и это надо исправить.
- Мы думаем написать Симулатор Поганкина, - доверительно говорю я, - штобы запустить его на всех этажах нашего офиса.
- Это как? - настороженно спрашивает Поганкин.
- Запишем твой голос, возьмем сигналы твоих торговых роботов, и повесим твой голос на них. В самом деле, ведь несложно написать формулу, определяющую, что наздак опять пизданулся, или, скажем, когда бонды - сосут? Ну, а когда совсем пиздец, то исполним песню "сосанка - ночи полные огня".
- Да и тебе такая автоматизация полезна будет, чем глотку-то полный день драть! Включил - и со спокойной совестью пошел на обед! - добавляет Ассовский.
- Но-но-но! - возмущенно говорит Поганкин, - я попрошу! А кстати... Ребят, помогите, нас тут Гуртов просил собрать торгового робота для демонстрации наших торговых стратегий. Нам не хватает одного индикатора, мы не знаем, как это сделать в вашей гребаной системе.
- Не вопрос, давай сюда свою систему. Сделаем.

***

Гуртов вернулся из Штатов. Гуртов зашел к трейдерам, обсудить дела, и поделиться впечатлениями от демонстрации торгового робота.
- Афигенов, это ведь ты подарил нашему гендиректору словарь русского сленга?
- Да ну? - ненатурально изумляется Афигенов, - с чего тебе такая мысль в голову-то пришла?
- С того, что он обложил меня подзаборным матом на совете директоров, как раз после демострации вашей торговой системы.
- В самом деле? - делает круглые глаза Афигенов. Поганкин давится смехом.
- Да, в самом деле, - улыбается Гуртов, - я ему после полчаса объяснял, что эти слова значат, и почему их не надо произносить в приличном обществе. Я знаю, что это был ты, Афигенов, не надо делать круглые глаза. А ты, Поганкин, не смейся! Ты, между прочим, вообще обратил внимание, что ты за звуки подложил в вашу систему в качестве сигналов?
- Какие звуки? - искренне удивляется Поганкин, - у меня там были только разные писки, и все.
- Разные писки там будут, если отправить твои сигналы на приличное радио, и пропустить их через тамошнюю цензуру. Сплошные писки останутся. Впрочем, "сосанка" в твоем исполнении разрядила обстановку. А вообще - хорошо все-таки, что они русского не знают.
- Какая еще "сосанка"?!
- "Ночи полные огня". :) Сосанка, Поганкин, тебя рано или поздно погубит, как врач тебе говорю. Намек понял?
- А ведь мы тебя давно предупреждали, Поганкин! - укоризненно говорит через перегородку бесстыжий Ассовский.
- Вы?! - вращает глазами Поганкин, глядя на нас, - Симулятор Поганкина, значит?!
- Было ошибкой сажать в одну комнату вас, распиздяев, - констатировал дириктор офиса, - потому, что налицо командная работа и синергетический эффект. Но, по крайней мере, теперь никто из сотрудников не жалуется на шум и мат. И то хорошо.
cartoon

Remove to neutral

Некоторые, особо продвинутые трейдеры, применяют замечательный коэффициент для оценки своих торговых роботов. Это один из самых важных коэффициентов для торгового робота, и он почему-то не применяется в финансовом менеджменте. Да и не все трейдеры про него знают.

Считается он так. Предположим, ваш торговый робот сделал N (лучше M, M - больше) сделок, и показал неплохую прибыль. Сортируем эти сделки по убыванию суммы. После чего, начинаем убирать сделки, как если бы мы ничего не купили и не продали, начиная с самых крупных, пока мы не останемся при своих. Процент сделок, который мы убрали - это показатель "remove to neutral".

Чем больше данный показатель, тем менее рискованная стратегия у торгового робота, и в целом тем более успешно он будет торговать. Почему так? Предположим, робот сделал 50 сделок, из которых 48 были убыточными, зато он отыгрался и вышел в плюс на двух крупных. Remove to neutral будет в районе 2%. Чем это плохо? 2 сделки за длительный период - это не система, а везенье. Если хотя бы одна из них сорвалась или была бы заключена на худших условиях (что может произойти по самым разным причинам - небольшая задержка, и все), то система была бы в минусе. Такие системы отвратительно ведут себя при реальных торгах, стремительно сливая бабло и разоряя своих авторов.

Данный показатель можно применить для оценки работы торговой и производственной компании. Collapse )
cartoon

Банк оф Дойчлянд

...
- А когда вы привыкли на работу выходить, с утра, или опаздывать регулярно, и приходить после обеда?
...
- А вы как вообще работать привыкли, с утра пол дня в интернете сидеть, а потом в аське, а под вечер, может быть, что-нибудь написать?
...
- А какие у вас по зарплате ожидания, а то вот говоришь с человеком, все вроде нормально, а он потом, слишком жадным оказывается и называет непомерную сумму?
- А какие ожидания кандидата по зарплате считаются у вас проявлением жадности?
- Ну, э-э-э...
- Ну давайте я назову вам зарплату, которую мне сейчас платят. Как вы понимаете, чтобы я сменил работу, вы должны меня чем то заинтересовать, правильно? За вычетом налогов, я получаю сейчас XXXX долларов.
- Да, это, пожалуй, уже проявление жадности...
...
- А теперь вам вопрос по проектированию. Вот, есть, скажем, у вас компоненты А, Б, и С. А у компоненты Б есть методы, скажем, Метод1, Метод2, и Метод3. Как вы будете ее проектировать?
- (поднимаю бровь, с интересом заглядываю собеседнику в глаза)
- Да, кажется я поставил вопрос слишком общо... Попробуем по другому. Вот у вас, например, Метод2 вызывается в цикле. Это как, хорошо или плохо?
...
- (менеджер) А вы раньше не слышали о Дойчебанке?
- (Я) Отчего же, конечно слышал. Один мой знакомый брал там кредит на покупку машины.
- В Дойчебанке? Странно.
- Ах да, это был Райфайзенбанк. Ну, в общем, Дойчебанк, это конечно знакомо. Дойче - знакомо, банк - тоже знакомо...
- Ага (кивает головой), хэндехох, гитлеркапут...
- Вот-вот, именно! (радуюсь)
- (представитель HR - менеджеру) Ты что это говоришь такое!
- (менеджер, смущенно) Ой!
cartoon

(no subject)

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

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

- Давай я сначала расскажу тебе историю. Есть у меня друг - директор одной немаленькой фирмы, пусть его зовут Антон. Однажды один из его сотрудников украл "секретные корпоративные данные", пусть это будет база по продажам, и передал ее конкурентам. Вызывает Антон этого сотрудника и говорит:
Антон: "Значит, так, у тебя есть выбор. Либо ты платишь 1000 баксов штрафа, либо я тебя увольняю."
Сотрудник: "Хорошо, я согласен".
Антон, вытаращив глаза: "Что "согласен"?
Сотрудник: "Согласен выплатить штраф".
Антон, выходя из равновесия: "Объясни мне, как именно ты собираешься выплатить этот штраф получая зарплату в 300 баксов? Нет, я тебя не понимаю, А С ТЕМИ, КОГО Я НЕ ПОНИМАЮ, Я РАБОТАТЬ НЕ МОГУ. Ты уволен".

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

- Видишь-ли в чем дело, в этом году наша фирма впервые решила компенсировать сотрудникам инфляцию.
- Что-то не похоже. По какой ставке это сделано?
- ОТ 3 ДО 15 ПРОЦЕНТОВ, В ЗАВИСИМОСТИ ОТ СОТРУДНИКА. (Выделение мое - gaperton)
_________________________________________________________
Пиздец. Рак мозга. Кафка. Вот так и живем. Большая часть сотрудников не осознают, что попали в зазеркалье.

P.S.: Недавно узнал, что владелец фирмы специально запретил говорить сотрудникам конкретный размер "компенсации инфляции" для их случая.