2012-12-30

Хроники кровавого ынтырпрайза

Началось всё с того, что я не умею говорить нет. Хроника восстановлена по переписке, и, надеюсь, это больше никогда не повторится, хотя кто-то этим живет. Главные действующие лица: Я (исполнитель), И. (представитель заказчика), Р. (разработчики iiko), Н. (начальство И.). Все общение растянулось на 64 письма, неизвестное количество телефонных звонков и 9 месяцев, начиная с апреля 2012 года.

Dependency injection

Назрела необходимость управлять зависимостями Ъ путем. Выбор был между Spring и Guice. Если первый, очевидно, монструозный, то последний позиционировался как легковесный инструмент без лишних зависимостей. Началось все с видео в котором докладчики показали типичную эволюцию кода от прямого прямого создания зависимостей (в нашем случае все заканчивалось фабриками) к инъекции и своё решение.

2012-12-26

Программирование в допущениях

Самые серьезные падения систем происходят из-за нарушения допущений и неявных контрактов: что ответ от системы всегда будет приходить мгновенно, что ответ вообще когда нибудь придет, куча пространственно-временных допущений, календарных и именных.  Сюда же можно отнести YIW, OMMIW, "я исправил одну строку, зачем тестировать", и другие связанные с тестированием.

2012-12-23

Снова о прозрении

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

Интересы причины таких качественных скачков. Самыми яркими этапами у меня были понимание как работает сервлет-контейнер, отличия rich и anemic, тестирование, мавен. Сейчас меня распирает от DI. Сервлет-контейнер не был похож ни на десктопные приложения, которые я писал и понимал как отлаживать, ни на php скрипты. Maven потребовал серьезнейшего мозгового усилия и чтения двух книг, потому что он был абсолютно непохож на известный мне ant. Подходы к доменной модели были понятны, но не было практики, чтобы выяснить границы применимости.

2012-12-18

Вселенная наследия

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

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

Книга не самоценна и может быть интересна только фанатам цикла, хотя чтение стоит того, чтобы потратить один вечер.

2012-12-16

We the People

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

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

Интересными пунктами в казахстанской конституции являются ст. 8 про отказ от применения первой вооруженной силы. Ст 10. п. 2 о том, что гражданин ни при каких условиях не может быть лишен гражданства - сразу вспоминается двухлетний срок на постановку на консульский учет, иначе гражданство признается недействительным.

Статья 32 (аналог 31 российской) приведена с поправкой Пользование этим правом может ограничиваться законом в интересах государственной безопасности,  общественного порядка, охраны здоровья, защиты прав и свобод других лиц. Что потенциально снижает потоки ненависти.

Статья 52 п.2 гласит Депутаты  Парламента  обязаны  принимать участие в его работе. Голосование в Парламенте осуществляется депутатом  только  лично.  Отсутствие депутата без уважительных причин на заседаниях палат и их органов более трех раз,  как и передача права голоса,  влечет  за  собой применение к депутату установленных законом мер взыскания. Сразу вспоминается видео с бегающими тетками по пустым рядам Думы.

2012-12-15

Облачная демократия

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

Книжка полная фигня: идет много ненужных букв, где с десяти сторон объясняется одна и та же нехитрая мысль: политика должна требовать прозрачности, граждане должны управлять своими голосами или делегировать их в реальном времени - всё.

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

Тем не менее было несколько интересных моментов.

2012-12-09

Человеческий фактор. Продолжение

Первая часть

Создание продуктивных команд

Самыми ценными воспоминаниями о работе является опыт командного взаимодействия. Характер работы полностью меняется, когда группа становится одним целым. Вызов - инструмент такого объединения. Группы, получающие наибольшее удовлетворение, работающие на пределе своих возможностей не мыслимы без командного взаимодействия, благодаря которому люде терпят всё, выкладываются на полную катушку и преодолевают чудовищные трудности.

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

Человеческий фактор. Успешные проекты и команды


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

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

Демарко и Листер рассматривают решающую роль команд в успешных проектах. Но, поскольку они не знают секрета построения идеальной команды, им приходится идти от противного: рассматриваются стопроцентные способы загубить Команду в зародыше. Рассматриваются признаки успешных команд и возможные катализаторы. Отдельно достается Методологиям (с заглавной буквы), которые обещают решить все проблемы и их адептам.

Дальше идут цитаты из закладок, разбитые по главам. Очень много букв.

2012-12-06

О музыке

Началось это давно: классе в восьмом подарили мне китайский плеер за то что с треском повалился в школьной олимпиаде по физике будучи на год младше. Через пару лет, братан из германии привез CD-плеер. С тех пор появилась стойкая привычка слушать музыку, что-то делая, особенно головой.

2012-12-05

Freeswitch book

Итак, спустя почти 15 месяцев работы с FreeSWITCH у меня, наконец, дошли руки прочитать матчасть, чему я несказанно рад. Эта книга висела тяжким бременем на моей совести.

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

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