Замена котла

На этих выходных я заменил котел/бойлер. Бывший котел вроде как не старый и работал довольно хорошо – никаких нареканий, однако одно но – он не мой! По какой-то непонятной мне причине предыдущие владельцы решили котел арендовать, а не покупать. В итоге, когда дом перешел в мое владение, я тупо продолжал платить за его использование в районе $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 видео и, подготовив инструменты, не спеша делать работу. Замена котла занимает не так много времени: от двух до четырех часов (если не все идет по плану) и вуаля – вы счастливый обладатель горячей воды.

Spy the Lie / Шпио́нство за ложью

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

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

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

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

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

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

N26 coding exercise

A while back, I worked on N26 coding exercise and found the problem quite entertaining. Figured to share it:

N26 coding exercise

Correct, with minor test comments (should not use Thread.sleep(…)) and not entirely efficient but clean and 100% test driven solution can be found here and backup: here.

I think this exercise worth while, do it just for fun and giggles :)

Гараж

На этих выходных я наконец-то закончил обустраивать свой гараж. Процесс был долгим, тяжелым и образовательным. Как говорится в одной поговорке: «в теории нет разницы между теорией и практикой, а на практике есть».

Идея с гаражом была достаточно простая — сделать так, чтобы:

  • гараж остался гаражом на две машины, а не стал складским помещением;
  • место для технического обслуживания и ремонтных работ с автомобилем;
  • все под рукой – расположить инструменты и расходники на виду, чтобы не рыскать по шкафам и коробкам когда нужно что-то делать;
  • дополнительное место для поделок;
  • минималистично и мобильно, если нужно работать над чем-то большим (например БТР) то можно быстро переорганизовать гараж;
  • чилл место — можно посидеть, выпить рома и раскурить сигару.

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

Чирз!

Test-Driven Development by example / Разработка через тестирование по примерам

«Мы не стали программистами чтобы убивать людей…» – uncle Bob.

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

Я не знаю почему начал с такой «оптимистической» ноты — когда я сел писать мысли о прочтенной книге, именно эта цитата пришла в голову. Исторически я начал программирование довольно традиционно — пишешь код, потом тыкаешь в программу и вроде все работает. Года 4 назад мне повезло и я работал с людьми, которые практиковали TDD (разработка через тестирование) ремесло. Я присосался на сколько мог и с того момента стал поклонником методики. Традиционно, программисты знают как «правильно» писать код и тесты, однако не все субъективные «правила» тесто-писания улеглись в моих мозгах. Некоторые из них меня напрягали, зудели и всячески не хотели приживаться. Визуально некоторые из правил выглядели так: если деталь куда-то не влазит, то по «правилам» нужно взять молоток, да побольше, и бить, пока не влезет, а когда расплющенная деталь влезла в разбитый корпус, тогда берешь напильник и замазку — «эх, говорил же тебе, что все влезет!!!».

Я никогда не умел забивать (привет дяде Роме и уже сгнившему забору на даче). По этой причине я продолжил изучать эту тематику. С опытом и дополнительными знаниями, я понял, что нет точных/абсолютных правил написания тестов, есть только основные (Three Laws Of TDD by uncle Bob). Все зависит от системы, кода и кучи других не сильно замысловатых факторов.

По иронии судьбы, к моменту «прозрения» я наткнулся на эту книгу. Кент Бэк обнаружил TDD технику в “древних” книгах по программированию и решил возродить ремесло. В этой книги Кент затрагивает многие темы, начиная от базовых примеров и заканчивая ответами на тяжелые вопросы: «а когда тест считается слишком большим?». Автор затрагивает многие типичные проблемы, которые вы рано или поздно встретите в TDD разработке, и даёт как конкретные, так и философские ответы. Этот материал является, на мой субъективный взгляд, основой, так как в индустрии можно найти много разных интерпретаций, в особенности, если смотреть TDD дебаты на YouTube-е.

Если вы заинтересованы в ремесле, стоит читать книгу, однако подготовьтесь — первые 40 страниц могут показаться нудными и тривиальными, однако не стоит их пропускать. Автор разбивает темы на под-темы и короткие отдельные главы — с одной стороны это немного раздражает, но со временем медленно вырисовывается шаблон. Шаблон служит как пример: мышления и написания кода. Очень интересно проходит параллель между изложением книги и программированием. Чувствуется, что автор книгу не писал, а программировал — название самой книги на 100% отображается в материале!

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

Итого:
+: Структура, примеры и дискуссии
+: Наглядно от и до
+: Содержит все основы
+: Где использовать и какие существуют ограничения техники
+/-: Изложение местами оставляет желать лучшего
=: Отличная книга, которую стоит читать всем программистам. Я жалею, что не наткнулся на эту книгу всего пару лет назад.

Название: Test Driven Development: By Example
Авторы: Kent Beck
Обложка:

Кодофон / Хакафон в RouteOne 2018

В конце 2018 года моя компания решила устроить кодофон (хакафон) — одно из самых интересных событий, которое могу вспомнить. Я решил принять участие. После формирования команды, мы потратили большое количество времени на подготовку, тренировки и исследование потенциального продукта. В итоге мы воплотили в жизнь небольшой гибрид идеи нашего дизайнера и того, что “прилепилось” за время изучения тематики. После тяжких 3.5 дней работы, мы презентовали наш продукт судьям. С отрывом всего в один голос, мы заняли первое место!!!

Я постараюсь найти видео, а пока оставлю тут фотки: