Сегодня перебирал старые файлы и нашел HTML архив подкаста “Канадского Лося и Со.” с первого русского подкаст-терминала Russian Podcasting (rpod.ru) – кто помнит те времена???

Сперва подумал стереть, но тут же передумал – какая память пропадает!?!?! Всем кому интересно, выкладываю 1.2 GB архив.


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

Шаблоны тестирования в xUnit стала последней книгой для меня и иронично самой сложной. Эту книгу я отыскал на Амазоне и решил: «она большая и, наверное, содержит много материала, о котором я никогда не слышал». В реальности мой рационал не мог быть дальше от правды. Книга действительно содержит много информации и однозначно полезной, однако у книги есть несколько фундаментальных проблем, которые в совокупности сводят коэффициент полезного действия фактически к нулю. Но, пойдём по порядку.

Первая проблема – длина книги! Она слишком большая! Книгу стоило разбить на две отдельные книги: первые 300 страниц – все что нужно знать, вторые 500 страниц ещё раз и с глубокими примерами и добавочными мыслями. Если бы я писал книгу, то однозначно бы сжал ее до 350 страниц и на этом концерт был бы закончен.

Вторая проблема – механизм доставки! Все сухо, с определениями, повторами и со странной структурой. Автор жутко напоминает профессора, который готов бубнить что-то 3 часа подряд, не взирая на аудиторию или её отсутствие. В какой-то момент (после 350-ой страницы) я реально стал задумываться, если автору платят по количеству слов в книге. Я предположу одно: возможно когда книга такая длинная, то сложно следить за изложением мыслей и структурой. Однако пишут же хорошие и очень длинные книги по фантастике?!?!?

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

Четвёртая проблема – реклама! После половины книги можно легко догадаться, что автор является большим поклонником книги Мартина Фалера – Рефкторинг, на книге даже стоит печать от Мартина. Но как можно на протяжении всей книги вставлять рекламные отсылки: “и тут мы используем рефактор технику от Мартина… чтобы отрефакторить тест…”? Обычно в книгах упоминают и делают ссылки либо при первом использовании, либо в начале или конце книги. Однако делать это на протяжении всей книги и фактически в каждой главе, причем ссылаясь на одну и туже технику (по большинству) это уже бесстыдная пиар компания и уместно задать вопрос: а цель автора состоит в том, чтобы убедить читателя купить ещё одну книгу?

Тут стоит остановиться и переключиться на позитив. Книга действительно содержит все возможные шаблоны, большинство которых я использую или обхожу стороной по тем или иным соображениям. Некоторые шаблоны весьма резво обсуждались в команде, а о некоторых я даже не знал. Лично мне понравились обсуждения шаблонов, так как интересно сопоставить личный опыт и опыт автора, даже если мы не всегда сходились во мнении. И тут надо признаться: автор действительно постарался собрать все в одно и вполне возможно эта книга является полным собранием всех возможных вариаций по тестированию.

Финальные мысли: книга в принципе хорошая, однако советовать её всем не могу! Книга прийдется по вкусу тем кто уже знаком с темой и хочет по максимуму выжать все что можно. Однако давать её программистам для улучшения навыков, того не стоит! Есть куда более полезные книги: Разработка через тестирование по примерам и Искусство модульного тестирования с примерами C# не говоря о блогах и других ресурсах. Автор мог бы сделать шикарный материал, если бы убрал все выше описанные недостатки и сфокусировался на рецептах.

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

Итого:
+: Огромное количество информации по тестированию
-: Слишком длинная
-: Изложение довольно сухое
-: Много повторений и рекламы другой книги
-: Излишний фокус на фрейворки по тестированию ( которые уже устарели )
=: Книга для тех кто хочет выучить тему вдоль и поперек. Однако рекомендовать её программистам я бы не стал – слишком низкий возврат по инвестициям. Есть куда более полезные книги для практического применения, не говоря о блогах и других ресурсах!

Название: xUnit Test Patterns: Refactoring Test Code
Авторы: Gerard Meszaros
Обложки:


Preface:

About two and half years ago I purchased a used Fiskars StaySharp Max Reel Mower for $60. After an initial tune up I’ve been using it trouble free as the main (and only) mower for two and half seasons.

Getting saggy:

Recently I encountered an issue that I couldn’t imagine happening – saggy chain, manifested by chain falling off during use. In my infinite ignorance I believed that the chain is the ultimate power transferring mechanism which under normal loads would never fail. Unfortunately I was proven wrong suspiciously fast – about 2.5 years of use (without accounting for previous ownership).

After some quick research I figured only two things: there aren’t many people with the same issue and Fiskars does not sell replacement chains for their infamous StaySharp Max Reel Mower. Moreover, Fiskars doesn’t seem to sell any parts for the mower, in other words if anything wears out then you either buy a new mower or substitute with custom or “whatever fits” parts.

I decided to follow Scott Robinson’s path purchased bicycle chain and replaced it. The job is easy and straight forward, no issues there. However when I took apart the mover, I discovered worn teeth on both gears. In addition, new chain seemed to have similar amount of slack as old one. Honestly, I’m not sure how everything is going to work out, but for the time being, the new chain seems to do the trick.

Concluding rant:

This far I’m very happy with the mower. It is cheap, easy to use, easy to tune up and doesn’t require much attention. I adjust blade twice per season and mow grass once a week to keep it from overgrowing. However I’m fairly annoyed with the fact that Fiskars doesn’t sell replacement parts for StaySharp Max Reel Mower! Does it simply imply that the mower will never break? Or that the mower is disposable like a plastic bag? For me, neither is the case and so I’m ask: what the hell is Fiskars doing?

Download: StaySharp Max User Manual PDF


Легко рационализировать как Форд/ДжиМ/Крайслер стали огромными и успешными мировыми авто-производителями — Америка богата ресурсами, стабильна и никогда не была в полной разрухе. Однако не легко понять как Тойота, будучи в стране с очень ограниченными ресурсами и пост-военном хаосе, смогла стать успешным и крупнейшим мировым авто-производителем. Книга «14 принципов Тойоты» раскрывает секреты успеха.

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

Поскольку Тойота является авто-производителем, в книге описание крутится вокруг массового производства деталей и автомобилей. Однако тут стоит притормозить и отметить, что Генри Форд придумал коверную сборку после наблюдения за работой мясной фабрики. А делегация от Тойоты, приехавшая в Мичиган на “Румяную” фабрику Форда, привезла домой новые идеи по производству автомобилей, наблюдая за работой Американских супермаркетов! Отсюда можно сделать вывод, что правда в еде, но более рациональный вывод — решения не должны находиться в каких-либо рамках.

Книга весьма интересная и напоминает “Проект Феникс”, однако менее романтична и концентрируется на принципах, которые весьма успешно сработали для Тойоты. 14-принципов довольно просты (в понимании), однако не являются моментальным решением, а наоборот — долгосрочными и взаимосвязанными. Если вырвать один принцип – например: “устранение потерь/отходов” то можно добиться результатов, по меньшей мере на определенном шаге производства, однако если не переорганизовывать все шаги, то устранение потерь на конкретном шаге может не дать никаких конечных результатов, а в худшем случае увеличит потери на следующем шаге производства.

Лично мне понравились несколько принципов, которые как ни странно напрямую пересекаются с программированием:
– Держи все в чистоте, чтобы можно было легко находить проблемы и ошибки;
– Контролируй поток визуальными инструментами/значками – люди визуальные существа;
– Используй простые решения, если это решение не помогает людям, то никакое количество технологических новшеств не решит эту проблему.

И тут поделюсь своим домашним (не профессиональным) опытом: моя жена и я переодически планируем череду задач – мелкие жизненные “проекты”. Однако моя жена достаточно забывчивая и задачи часто не выполнялись вовремя или не выполнялись вообще. Я, со своей технологической башни потратил достаточно денег на органайзеры, телефоны, смарт-часы и другие высоко-технологичные решения, которые, если верить “продавцам”, решат все проблемы! Однако результат не изменился, задачи не выполнялись вовремя, проекты растягивались и это было не прикольно, потому что пришлось бы отложить отпуск. Решение пришло с нескольких сторон: “принцип использую простые решения”, “принцип сделай поток визуальным” и простая kanban доска, которую я тупо сделал на кухонной стене используя простую изоленту (для покраски) и фломастер. Результат? Ошеломительный! Мне даже не приходится жене ни о чем напоминать. Задачи выполняются, а если зависают, сразу видны, и тут же проводится референдум (почему, кто, когда и как) — моментальная переорганизация.

Однако есть пара моментов, которые мне в книге не понравились. Если четко следить за книгой, то можно найти пару-тройку противоречий (с кем не бывает). Также в книге отсутсвует какая-либо критика принципов или системы Тойоты, как и самой компании — местами создается ощущение, что книга служит рекламой компании. Но что есть, то есть.

Итого:
+: Простое изложение
+: Примеры и байки
+: Обсуждения каждого принципа и его применения
+: Без воды и ступы
-: Отсутствие критики принципов и производственной системы Тойоты
=: Книга хорошая и я однозначно рекомендую ее читать – отличный возврат на инвестицию времени и денег. Да, мы все думаем, что наша работа не имеет ничего общего с конвейерной сборкой, но это не так, в любой работе можно найти повторяемые задачи и оптимизировать их!

Название: Toyota 14 principles
Авторы: Jeffrey K. Liker
Обложка:


I don’t like using term “fan”, however I do read Martin Fowler’s posts and tend to agree with him a lot. His recent post brought feeling of familiarity and a bit of pain. I would like to share it with anyone who is doing software development.

PDF version

I hope you will find it useful.


На этих выходных я заменил котел/бойлер. Бывший котел вроде как не старый и работал довольно хорошо – никаких нареканий, однако одно но – он не мой! По какой-то непонятной мне причине предыдущие владельцы решили котел арендовать, а не покупать. В итоге, когда дом перешел в мое владение, я тупо продолжал платить за его использование в районе $20 в месяц + налоги.

Вот вам простая математика: новый (такой же) котел стоит $600 + налоги. Срок службы такого котла в районе 8-10 лет. 8 лет умножаем на 12 месяцев в год на 20 долларов в месяц = $1,920 или за 10 лет = $2,400.

Установка котла довольно проста, в особенности с последними технологиями водяных и газовых труб! Больше не нужно ничего варить, паять или сверлить. Водяные трубы (холодная и горячая) прикручиваются к котлу, а с другой стороны тупо насаживаются на исходные трубы и само-затягиваются – Shark Bite. С газом все получилось примерно так же просто, так как котел почти такой же по размерам, то труба подходила почти идеально, минус чуть-чуть выгнуть медную подводную трубу. При подключении используется толстая чёрная металлическая сборная труба, которую пришлось разобрать как конструктор лего и собрать обратно на новом котле. Все достаточно просто – лей не жалей специальную пасту на резьбу, потом затягивай, НЕ вытирай избыток пасты (пусть будет) и вуаля. Последнее и не менее важное – заменить выхлопную трубу, так как мой новый котел был на 2 инча ниже, пришлось купить новую выхлопную тубу, отмерить, отрезать ножницами по металу, скрутить и труба само-замкнется. Далее вставить вместо старой трубы, чтобы все сидело плотно, но без лишних усилий! Важный момент! Если ваша выхлопная труба состоит из многих частей и находится под углом, то не меняйте угол! Можно угол наклона увеличить, но не нужно уменьшать – помните, горячие газы стремятся вверх, чем меньше сопротивлений и больше угол, тем лучше.

После сборки включается газ и мыльной водой обрызгиваются (можно также использовать кисточку) все газовые соединения – смотрим чтобы нигде не было пузырьков – утечка газа может оказать негативное влияние на ваше здоровье. После этого открываем воду и ждем наполнения котла. Не забудьте открыть кран горячей воды, чтобы воздух не стоял в котле. Как вода пошла из крана, пора разжигать котел. Эта процедура вообще “невыносимо сложная”:

1. Читаем инструкцию
2. Ставим ручку в позицию “пилотный огонь”
3. Давим на ручку – газ пошел
4. Нажимаем на кнопку искры – продолжаем нажимать до 90 секунд или пока не загорится.
5. Когда котел разгорелся, через пару секунд начнет мигать светодиод с перерывом в 1 секунду – все работает нормально
6. Переводим ручку в желаемую (по температуре) позицию
7. Идем пить пиво

Если вы собираетесь менять котел сами, то советую ознакомиться с темой, посмотреть youtube видео и, подготовив инструменты, не спеша делать работу. Замена котла занимает не так много времени: от двух до четырех часов (если не все идет по плану) и вуаля – вы счастливый обладатель горячей воды.



Можно многого добиться ипользуя подручные средства.


I been struggling with weight my entire life, so from time-to-time I think about diets and why there are so many of them. Recently I came across an interesting take on the subject:


Эту забавную книгу я обнаружил на одном блоге по программированию, в листе «любимых» книг. Идея мне понравилась: как определить когда люди пытаются от тебя что-то скрыть.

Техники и методики были написаны сотрудниками ЦРУ и использовались по прямому назначению. Однако книга не раскрывает все секреты мастерства, по понятным причинам. Но делится довольно интересными и серьезными техниками, которые на мой субъективный взгляд полностью эффективны.

Авторы дают много примеров и анализа в попытке познакомить читателя с ситуациями, разговорами, строением предложений и физиологической реакцией. Из личного опыта скажу: в таком деле нужна практика, если вы когда-либо покупали б/у авто с рук, то знаете, что разговаривать с продавцом довольно важно. Если продавец начинает кривить, отвечать на другой вопрос и так далее, то это еще не повод бежать, но точная заметка, что надо копать дальше. Пример из личной жизни: «авто когда-нибудь было в аварии?», ответ: «нет, пока я ездил на авто, я никогда не попадал в аварию» – перевод на Русский: я не знаю или не хочу раскрывать полную историю автомобиля, но я на нем не бывал в аварии. Повод уходить от покупки? Нет! Это повод очень серьёзно посмотреть на все стыки в корпусе, в моем случаем были видны признаки аварии.

Книга конечно же не является пособием «молодого бойца», однако хорошо подойдёт всем кто хочет проводить конструктивные интервью/беседы, так как основная цель и задача не давить на человека, а заставить его самого, свободно рассказать правду, всю правду и ничего кроме правды. Единственная критика, которая приходит мне в голову: есть разница когда идёт профессиональное интервью в ЦРУ / полицейском участке и разговор между двумя людьми в офисе – если кто-то не хочет говорить, то в одном случае могут быть последствия, а в другом – развернулся и ушёл.

Итого:
+: Хорошее изложение
+: Примеры
+: Просто и эффективно
+/-: Написана для общей публики – без глубины
-: Короткая – хотелось больше примеров и теоретической отработки материала
=: Книга интересная и, пожалуй, стоящая, но без практики может оказаться бесполезной.

Название: Spy the Lie
Авторы: Philip Houston, Michael Floyd, Susan Carnicero, Don Tennant
Обложка:


Next Page »