Курсы TDD

На прошлой неделе я вынюхал, что 10-ть “избранных” программистов отправят на курсы TDD (Test Driven Development), и решил пробраться в эту десятку. К большому сожалению, я узнал немного поздновато – за пару дней, но все же решил написать емейл начальнику и посмотреть что будет. Емейл был краткий: “Не могли бы вы меня как нить засунуть на курсы TDD?” Ответ пришел день спустя – засунули!

Компания, которая проводит курсы, называется Pillar и располагается в городе Анн Арбор, что в 40 минутах езды от дома – в принципе не так плохо, но все же далековато. Сегодня был первый из двух дней курса. Прошло все отлично, конечно была пара маленьких технических заморочек, но без них ни куда! В инструкции было написано все что нужно и скажу сразу, найти парковку в Анн Арборе в рабочие дни не так уж и просто. Но компания все показала и рассказала, а потом ещё дала кредитную карту на $25 – чтобы мы “без пыли и шуму” оплатили парковку прямо рядом со зданием. Смеха ради отмечу, что парковка на рабочий день была $10. Так же из разряда других приятных мелочей, у компании Pillar есть свой шеф повар, который приготовил нам всем обед! Это не прошло мимо нашего отряда программистов. Мы сразу решили, что у нас такое тоже должно быть! И не подумайте – это вам не какие-то детские забавы, тут мы боремся с “автобусным” фактором.

От приятного к делу! Пока что курсы мне нравятся, так как меня всегда интересовала TDD. Я понимаю что и как, но всегда хотелось окунуться в это и я окунулся. Скажу, что идея однозначно интересная и даже стоящая. Однако, меня преследует какая-то странная паранойя, которую пока что не могу сформулировать! Но процесс написания программы, который начинается с теста, потом пишется код, потом пишется ещё тест и потом ещё код, а потом рефакторинг тестов и кода и так далее, пока код ни закончен – чем-то мне напомнил брутфорс (bruteforce)! Пока мы тренировались (code kata), я решил прикольнуться над своим партнером и писать тупой код – типа чтобы он тупо проходил тесты и все. И тут можно легко заключить следующее – TDD не избавляет от быдло-кода или плохого программирования. Он избавляет от других недочетов, таких как:

– четкое представление задачи (без этого будет сложно)
– большая модулярность
– лучшее покрытие тестами
– легкий рефакторинг кода в любой момент
– документация

В итоге, я думаю, что TDD довольно хороший подход и использовать его нужно. Однако, что-то мне ещё не дает покоя и когда я додумаю, то, возможно, изменю свое мнение. Чирз!

MacBook

Сегодня зашел в BestBuy и потрогал новый MacBook. Чувства очень странные – это как iPad, но только с клавиатурой и левым металическим корпусом. Я все ещё думаю, что параметры довольно слабые и цена высокая, но когда держишь в руках MacBook – ощущения реально впечатляют! Надеюсь, что следующая версия MacBook будет мощнее и будут порты, порты, порты.

Ремонт автомобиля в Торонто

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

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

Фотки:

Как настроить запись и прямое вещание для подкаста под OSX

Сегодня я решил посмотреть как настроить запись и прямой эфир подкаст с Audio HiJack.

Мои требования довольно простые:

– Вещать через Google Hangout или любой другой сервис
– Записывать аудио файл
– Держать скайп в готовности для гостей – возможность прийти в эфир в любой момент!

Тут нужно отметить что все описанные ниже настройки это абсолютный минимум и вы можете сами докрутить эффекты и приделать дополнительные повороты по вашим нуждам.

Необходимый софт:

Audio HiJack 3
Soundflower

Скачиваем и ставим. Далее открываем HiJack 3 и создаем новую чистую сессию. Теперь смотрим на картинку ниже и выстраиваем точную копию диаграммы.


Далее можно включить Google Hangout или любой другой стрименговый сервис и указываем как input устройство Soundflower 2ch. Вот и все готово! Теперь нажав запись вы начинаете писать и вещать! Skype канал и микрофон сводятся после обработки ( можно так же добавить фильтры и эффекты ) и даже если скайп звонок отваливается то запись продолжается!

Классное устройство

У меня на работе 4 кухни, 3 из них маленькие и одна большая. Кофе льется фонтаном, кто угодно может прийти на кухню и сварить кофе в индустриальной кофеварке. Правда индустриальная кофеварка не делает одну кружку, она варит сразу целый термос, что не является большой проблемой приняв во внимание количество работников. В итоге в любое время дня и ночи можно найти готовый кофе! Однако это создает своеобразную проблему – “а когда кофе сварили?”. Эта проблема решалась простым способом – наклейка со временем. Меня такое решение не устраивает по одной простой причине – кофе готовиться много и каждый раз новая наклейка – пустая трата бумаги. К большому сожалению я по этому поводу ничего не придумал, однако не давно я забрел на кухню в конце офиса и увидел “устройство”. Оно меня так поразило, что я решил его выставить на все общее обозрение! Все гениальное просто – смотрим и учимся:

Здравствуйте, мистер Андерсон!

Ванин первый день на первой корпоративной работе. Я подумал, что нужно запечатлеть. Вообще, отлично, что все получилось. Я за Ваню очень рад. Теперь он будет как большинство людей работать с “9 до 5” и все такое. Как говорится, современная жизнь в корпоративном мире.

Скажу одно, теперь Ваня, как и я, будет жаловаться на недостаток времени. Хехе ну или работать или … пинать.

Забавные момент первого дня – Ваня сидел со мной в рабочем кабинете и люди начали подтягиваться. Когда зашел Ал и увидел Ваню, то на лице было небольшое удивление. После того как Ваня ушел, Ал повернулся и сказал: я захожу, смотрю на Ваню и думаю: “а что в нашей команде делает Киано Ривс?”. Ну вот, у нас в офисе теперь есть собственный мистер Андерсон!

День рождения

Вот и прошел очередной год. Я ещё немного повзрослел/постарел. Последние несколько лет я как-то отлынивал от личного ежегодного анализа: времени было мало, большая занятость, собака съела мои мысли и так далее… В этом году я все же решил собраться с мыслями! На сколько хорошо это получится, мы скоро увидим.

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

– Мой друг Ваня, наконец, получил свою первую корпоративную работу. Я лично не думал, что это вообще когда-либо случится. Однако судьба улыбнулась и, после нескольких разговоров с моим начальником, тест был оформлен, интервью назначено и конечный результат на лицо (молодец Ваня). С моей стороны работы было проделано достаточно и в основном со стороны логистики. Тут я очень рад своей организованности (+1 логистика), так как я сохраняю всю нужную информацию – вопросы, ответы, решения и так далее.

– Два месяца безработицы. После того как меня уволили с GM-а, я решил не работать до лучших времен (5 месяцев, пока платят пособие). Но этого не произошло: работа меня сама нашла и засосала. Тут есть два важных момента: первый – я прочувствовал, что мои знания и умения очень нужны в индустрии. Сейчас это звучит банально, но тогда для меня это стало очень важным открытием. Второе – за 2 месяца я выучил разработку OSX приложений и даже успел написать что-то полезное. Меня это однозначно воодушевило и конечно же +1 к программированию.

– Ночь в Канадской больнице быстро наводит на несколько мыслей: дорогая парковка, медленное обслуживание, полное отсутствие какого либо комфорта для тех кто остается больше чем на 16 часов. Конечно все хорошо что хорошо заканчивается, но более 16 часов ожидания то доктора, то оборудования, то результатов… Скажу только одно – не стоит болеть!

– Налоги и болезненное обучение! Последнии 5 лет я делал налоги у профессионального бухгалтера. Однако, в прошедшем году я обнаружил, что бухгалтер не особо понимал, что он делает когда дело доходило до Канадских налогов с Американского заработка. Этот урок был целиком оплачен моими переплаченными налогами! По этой причине мне пришлось самому во всем разобраться и заполнить налоги! +1 к канцелярии. Тут отмечу, что налоги получились просто великолепные. Буду надеяться, что я не обобрал Канадское правительство.

– Bromance. В ушедшем году я потерял друга – тут я не совсем уверен была ли это дружба или нет, но для меня он был другом, а как он видел отношения большой вопрос! Я точно знаю что быть моим другом это не легкая задача, но у меня все как в компьютере или 1 или 0 – для друзей все, для врагов кочерыжки. И того же я ожидаю от друзей. Урока я тут пока не выучил +0 к социологии.

Думаю, на этом я остановлюсь. Уверен, что многое я пропустил так как попросту забыл. Но с этим ничего поделать нельзя! Урок выучен – нужно писать в блог чаще. +1 к блогосфере.

Белка

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

В общем, я встретил белку пару дней назад и начал подкармливать. К сожалению, я с собой на работу привезти ничего не могу (граница и еда не сочетаются). В итоге я покупаю орехи в местном магазине и кормлю своего нового друга!

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

Много снега

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

ЗЫ: На работу появился я один – все члены команды работаю из дома!