<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

  <title><![CDATA[Alexander Vagin]]></title>
  <link href="http://PlugIN73.github.io/atom.xml" rel="self"/>
  <link href="http://PlugIN73.github.io/"/>
  <updated>2016-02-24T12:14:32+03:00</updated>
  <id>http://PlugIN73.github.io/</id>
  <author>
    <name><![CDATA[plugin73]]></name>
    
  </author>
  <generator uri="http://octopress.org/">Octopress</generator>

  
  <entry>
    <title type="html"><![CDATA[Procrastinate like a pro]]></title>
    <link href="http://PlugIN73.github.io/blog/2016/02/22/procrastinate-like-a-pro/"/>
    <updated>2016-02-22T22:50:00+03:00</updated>
    <id>http://PlugIN73.github.io/blog/2016/02/22/procrastinate-like-a-pro</id>
    <content type="html"><![CDATA[<p>За год наткнулся на разные штуки по самоконтролю.</p>

<!--more-->


<ul>
<li><a href="https://chrome.google.com/webstore/detail/switcheroo-redirector/cnmciclhnghalnpfhhleggldniplelbg?hl=en">Switcheroo Redirector</a>
Плагин для браузера, позволяет настроить домен &ndash;> домен редиректы. Изначально, ставил для тестирования по работе, но оказалось,
что очень удобно блокировать соц. сети (и любые сайты, где можно проводить время неделями). При этом, их в один клик легко разблокировать и найти нужную информацию.
Для блокировки, просто не указываю, на какой домен редиректить. Когда захожу на заблокированный сайт, даю себе пинка и довольный ухожу оттуда.
Вот так выглядят мои настройки:</li>
</ul>


<p><img src="https://dl.dropboxusercontent.com/u/11431171/blog_images/2016/stwitcher_redirector.png" alt="stitcheroo redirector example" /></p>

<ul>
<li><a href="http://www.smartreminder.ru/">Smart Reminder</a>
Плагин для браузера, устанавливает ежедневный лимит на посещение Вконтакте и Фейсбук по 5 минут. Этого достаточно, чтобы просмотреть новости, оставить пару комментариев и ответить на сообщения.
Плагин написали ребята из <a href="http://www.smartreading.ru">smart reading</a> &ndash; краткие саммари полезных книг. За время пользования аддоном, я провел в вк и фб 400 минут, что равносильно 13 прочитанным саммари книг.
Кстати, если 3 дня проводить в этих сетях не более 5 минут в день, то в подарок дают бесплатный месяц на smartreading &ndash; только ради этого стоит попробовать, сервис то, что надо!
На всех страницах вк и фб появляется счетчик, который дико нервирует и заставляет скорее закрыть этот ад.</li>
</ul>


<p><img src="https://dl.dropboxusercontent.com/u/11431171/blog_images/2016/remindrer.png" alt="smart reminder example" /></p>

<p>По истечению 5 минут / день, появляется предложение почитать книжку или продолжить прокрастинировать. Эту страшную кнопку я нажимал всего пару раз &ndash; была важная переписка. В других случаях не могу себя пересилить :D</p>

<p><img src="https://dl.dropboxusercontent.com/u/11431171/blog_images/2016/reminder2.png" alt="smart reminder example" /></p>

<ul>
<li>Google Calendar
Внезапно, лучший органайзер. Есть одна полезная практика &ndash; раз в неделю планирую задачи на всю неделю. В планах самое разное &ndash; от прочтения книг, до прикрутить таки ту полочку, а то год обещаю :D
Синхронизация с телефоном, постоянно диктует &ndash; пора приступать к следующей задаче. Пожалуй, самые продуктивные недели &ndash; когда я полностью живу по такому календарю. (вплоть до напоминания, что пора идти спать или прогуляться до работы)
Конечно, это тяжело совместисть с неожиданными делами и прочими родственниками &ndash; дольше месяца подряд я так не выдерживал, система идет в раснос. Но через какое-то время можно опять к ней возвращаться и сворачивать горы :)</li>
</ul>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Rework. Бизнес без предрассудков]]></title>
    <link href="http://PlugIN73.github.io/blog/2014/08/12/rework/"/>
    <updated>2014-08-12T18:44:00+03:00</updated>
    <id>http://PlugIN73.github.io/blog/2014/08/12/rework</id>
    <content type="html"><![CDATA[<p>Долго не решался купить книгу, потому что сомневался в ее полезности.
Да, ее авторы знаменитые люди, которые пришли к успеху. Да, она продается громадными тиражами. Да, наконец, издательство в России шикарное!
Так почему я не жалею, что наконец-то приобрел и прочитал ee?</p>

<!-- more -->


<p>Во всех рецензиях написано, что книга полезна и тем, кто уже занимается бизнесом, так и тем, кто еще думает о нем. На сколько я могу судить &ndash; это чистая правда. Книга ведет нас с подготовки до культуры своего бизнеса.
Лично мне запали в душу самые первые главы. Теперь, я понимаю, почему учиться на своих ошибках глупо, чем плохи трудоголики, а совещания токсичны. :)</p>

<p>Перед печатью книгу урезали вдвое! Пожалуй, сейчас в ней нет ничего лишнего! Маленькие главы, каждая из них &ndash; инструкция к действию.
После прочтения, некоторые моменты встали передо мной в новом свете. Например, менеджер. Я представлял себе его работу как волеизъявление руководства и контроль за действиями остальных.
Но оказывается лучше, когда менеджер сам предлагает какие-то идеи или решения, тем самым развивая проект.</p>

<p>И вообще, отсутствие времени не отговорка, чеши там, где зудит и наркоторговцы все правильно понимают :)</p>

<p>P.S. оборотная сторона обложки не врет &ndash; книга читается на одном дыхании примерно за 3-4 часа.</p>

<p><a href="http://www.ozon.ru/context/detail/id/28158505/">Rework</a></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Всегда есть 5 минут]]></title>
    <link href="http://PlugIN73.github.io/blog/2013/12/08/vsieghda-iest-5-minut/"/>
    <updated>2013-12-08T18:25:00+03:00</updated>
    <id>http://PlugIN73.github.io/blog/2013/12/08/vsieghda-iest-5-minut</id>
    <content type="html"><![CDATA[<p>Мне всегда хотелось чем-то помочь open-source проектам. Что меня
останавливало? Да все как всегда &ndash; я ничего не знаю/мне нечего
предложить миру, я боюсь (aka &ldquo;зачмырят&rdquo;). Последнее, пожалуй, самый
весомый аргумент. Мой первый pull request (<a href="https://github.com/kaize/valle/pull/1">link</a>) и правда поднял много смеха. Да я и сам понимал &ndash; поправить точку это смешно.
Но я начал.</p>

<!--more-->


<p>Весь год желание куда-то закоммитить не пропадало. Работа &ndash; это работа.
Не всегда интересная, часто нервная, а вот пописать для себя или помочь
кому-то на другом конце света &ndash; это расслабляет.</p>

<p>И вот вроде все ок &ndash; ты разбираешься в технологиях, пишешь интересные
вещи на хакатонах, но&hellip; Все по старому &ndash; куча пустых клеток активности
на гитхабе и зеленые точки хакатонов. Постоянно нет времени дома.
&ldquo;Институт, экзамены, сессия&rdquo;.</p>

<p>Но все изменилось, когда <a href="https://twitter.com/mokevnin">@mokevnin</a>
пошутил: &ldquo;На railsclub поедут те, у кого будет больше pull requests за
лето.&rdquo; Я включил наивняшку и поверил. За лето я отправил около 5 pr и
меня не взяли на railsclub :D Зато я понял, что участвовать в open source
совсем не больно и люди рады любой помощи! Абсолютно любой! &ldquo;Поправил
документацию, нашел баг, убрал warning? Да да! Супер!&rdquo;
Любой проект отнимает время у его создателя, и тяжело его распылять на всякие мелочи,
но тем не менее, они очень важны.</p>

<p>Начать сразу с <a href="https://github.com/errbit/errbit/issues/614">таких</a> высот тяжело. Я считаю, что очень хорошо вливаться
в open source сообщество постепенно, шаг за шагом. Например, мы с <a href="https://twitter.com/zzetorg">@zzetorg</a> играем в игру, смысл которой каждый день сделать что-то полезное для сообщества. Поправить доку, отослать pull request на тысячи строк &ndash; разницы нет. Главное делать это каждый день; весь результат отображается в виде закрашенный квадратиков на гитхабе. Вы скажете, что невозможно каждый день разбираться в каком-то проекте, искать баг, пытаться исправить. Да есть проекты очень сложные, но есть и довольно простые, которым тоже нужна помощь! Когда плохое настроение или совсем нет времени, можно заниматься чем-то совсем простым. Писать свой проект, создать issue на давно найденый баг, заниматься переводами. Да да, просто переводить. Много проектов по переводу интересных ресурсов и книг.</p>

<p>Андрей начал переводить сайт <a href="restapitutorial.com">restapitutorial.com</a>
чуть больше года назад. За это время можно было его перевести раз 100,
но как всегда нет времени! На самом деле, это все обман самого себя. 5
минут времени в день есть всегда! Можно не смотреть котиков с утра или
перед сном, а сделать что-то полезное для себя и других. Можно
закоммитить по дороге на работу в маршрутке, в автобусе и тп.</p>

<p>Ежедневный коммит снижает уровень напряженности при посылке pr в крупные
проекты. Моя прошлая неделя выглядела так:</p>

<p><img src="http://puu.sh/5GgrI.png" alt="неделя активности" /></p>

<p>Уже больше 60 дней (с перерывом в одни сутки) я занимаюсь open source.
Переводить сайт начинает надоедать, хочется уже чего-то большего. Но
если вы не знаете с чего начать, но очень хочется, то прошу <a href="https://github.com/zzet/RestApiTutorial.ru">сюда</a> &ndash; будем рады любой помощи! :)</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Цель. Процесс непрерывного улучшения [отзыв]]]></title>
    <link href="http://PlugIN73.github.io/blog/2013/12/01/tsiel-protsiess-nieprieryvnogho-uluchshieniia-otzyv/"/>
    <updated>2013-12-01T11:18:00+03:00</updated>
    <id>http://PlugIN73.github.io/blog/2013/12/01/tsiel-protsiess-nieprieryvnogho-uluchshieniia-otzyv</id>
    <content type="html"><![CDATA[<p>Увлекательнейший бизнес-роман, познакомивший Америку с теорией
ограничений.
 <!--more--></p>

<p>Название подобных книг лично у меня вызывает недоверие. Сильно
напоминает практическое занятие &ldquo;Как заработать миллион на семинарах. Цена 10 000 руб. 100 мест&rdquo;. Пожалуй, если бы не <a href="https://twitter.com/mokevnin/status/397111571039916033">твит Кирилла</a>, я не обратил бы на нее внимание&hellip; :(</p>

<p>Главный герой оказывается в трудном положении. Его завод собираются закрывать из-за
убытков, от него ухожит жена, и казалось бы все&hellip; С первых страниц мне
снесло голову &ndash; да ГГ это же я! :D Если проводить аналогии на мою жизнь
&ndash; я совершаю те же ошибки (но в меньшем масштабе), черт возьми.</p>

<p>И как всегда ответы находятся на поверхности, кажутся логическими и иногда капитанскими. Очень интересно наблюдать за действиями ГГ и удивляться, как же эти простые ответы не пришли мне в голову раньше! Я решил поэкспериментировать &ndash; поставил условия задачи маме, и она выбрала решение, которое привело к закрытию завода, а потом была в шоке от верных шагов. :)
Книга заканчивается неожиданно быстро и, как всегда, на самом интересном
месте. Но у нее есть продолжение и скоро я выскажусь о нем ;)</p>

<p>Я постарался не спойлерить и если кому интересно &ndash; книгу можно заказать
на <a href="http://www.ozon.ru/context/detail/id/18820179/">озоне</a>!</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Calendar Driven Development [заметки]]]></title>
    <link href="http://PlugIN73.github.io/blog/2013/10/16/otzyv-o-calendar-driven-development/"/>
    <updated>2013-10-16T19:43:00+03:00</updated>
    <id>http://PlugIN73.github.io/blog/2013/10/16/otzyv-o-calendar-driven-development</id>
    <content type="html"><![CDATA[<p>По мотивам <a href="http://habrahabr.ru/post/195942/">статьи на хабре</a></p>

<!--more-->


<p><strong><em>5 дней</em></strong>
Офигеть! Круто!</p>

<p>Начинаем спор ;) Цель &ndash; 15 дней.</p>

<p><strong><em>10 дней</em></strong>
Ааааа! Закрасить квадратик и спать!</p>

<p><strong><em>15 дней</em></strong>
Неожиданно понимаю, что люблю зеленые квадратики.</p>

<p>Новая цель &ndash; 40 дней. Миссия не выполнима?</p>

<p><strong><em>26 дней</em></strong>
День по гитхабу начинается в 11 МСК &ndash; можно ведь и с утра закоммитить? А
сейчас бухаааать :)</p>

<p><strong><em>27 день</em></strong>
Вчерашний вечер дает о себе знать. Хакатон в андеве. Вспоминаю о коммите
ровно в 11:05. Паника, дикий ужас, ощущение пустоты&hellip; все тлен.</p>

<p>Рекорд &ndash; 26 дней непрерывных коммитов в opensource.
Начинаем заново.</p>

<p><strong><em>3 дня</em></strong>
Окружающие меня не понимают. А я тупо знимаюсь интересным мне делом,
играю, качаю англ и выполняю маленькие задачи, до которых руки никогда
не дойдут&hellip;</p>

<p><strong><em>14 дней</em></strong>
Проекты с хакатнов и по учебе &ndash; отличный повод закрасить этот чертов
квадрат.</p>

<p><strong><em>14 дней</em></strong>
Темно зеленый квадрат это не вам не светлый ;)</p>

<p><strong><em>15 дней</em></strong>
Есть же люди, у которых по 200 непрерывных коммитов&hellip;</p>

<p><strong><em>22 дня</em></strong>
Закоммитить из автобуса в Самаре &ndash; done.</p>

<p><strong><em>29 дней</em></strong>
Рекорд побит, но это очень тяжело.</p>

<p><strong><em>31 день</em></strong>
Коммит в блог на гитхабе дает сразу 2 коммита &ndash; в gh-pages и потом
коммит кода деплоя. Оба
считаются. Сделать темнозеленый квадрат становится проще&hellip;</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Timezone vs Ruby &amp;&amp; Rails]]></title>
    <link href="http://PlugIN73.github.io/blog/2013/09/18/timezone-vs-ruby-and-and-rails/"/>
    <updated>2013-09-18T07:01:00+03:00</updated>
    <id>http://PlugIN73.github.io/blog/2013/09/18/timezone-vs-ruby-and-and-rails</id>
    <content type="html"><![CDATA[<p>Подводные камни и true way :)
 <!--more--></p>

<p>При использовании класса <a href="http://ruby-doc.org/core-2.0.0/Time.html" title="Time в ruby 2.0">Time</a> в ruby используется серверное время, как точка отсчета времени.</p>

<pre><code>$ date
Sat Sep 21 16:49:56 CEST 2013
$ irb
2.0.0-p247 :001 &gt; Time.now
=&gt; 2013-09-21 16:49:59 +0200
</code></pre>

<p>Чем это может быть опасно?</p>

<p>Допустим вы разрабатываете программу, которая печатает время прилета самолетов. В вашем часовом поясе сейчас 17:00, а на компьютере установлено правильное время.</p>

<pre><code>time = Time.new(2013, 09, 21, 16, 49, 59)

puts "#{time} - #{plane.name} now #{message}"

2.0.0-p247 :001 &gt; plane_message (plane, "landed")
=&gt; 2013-09-21 16:49:59 +0100 - Airbus 22 now landed
</code></pre>

<p>С этой программой все хорошо, пока мы исполняем ее у себя на сервере. Стоит нам ее вылить, например, на продакшен, который находится в другом часовом поясе или случайно не правильно настроен, как мы получим странный баг &ndash; время будет отличным от ожидаемого. И все потому, что ruby взяло за точку отсчета таймзону сервера.</p>

<p>Получить ожидаемый результат довольно просто &ndash; нужно просто передавать нужное смещение в конструктор:</p>

<pre><code>time = Time.new(2013, 09, 21, 16, 49, 59, "+02:00")
</code></pre>

<p>Над полученным объектом можно выполнять различные преобразования и все они будут представлены в указанной таймзоне.</p>

<p>Согласитесь, что каждый раз помнить о таймзоне рано или поздно надоест! :)</p>

<p>Например, в фреймворке Ruby on Rails эта проблема решается конфигурируемой таймзоной.</p>

<pre><code>#config/application.rb
config.time_zone = 'Europe/Moscow'
</code></pre>

<p>В фреймворке переопределен класс Time (<a href="http://api.rubyonrails.org/classes/Time.html" title="Time в rails">rails Time</a>) и умеет работать с нашей конфигурируемой таймзоной!
Теперь, чтобы всегда использовать нужный часовой пояс, не нужно передавать смещение в конструктор класса Time. Просто вызывайте метод zone():</p>

<pre><code>2.0.0-p247 :001 &gt; Time.now()
=&gt; 2013-09-21 17:42:33 +0200
2.0.0-p247 :002 &gt; Time.zone.now()
=&gt; Sat, 21 Sep 2013 19:42:38 MSK +04:00
</code></pre>

<p>Ну и если очень хочется сменить точку отсчета времени, например парсить время относительно Новосибирска, находясь в Московской зоне, можно либо вручную переписать таймзону (и не забыть ее вернуть обратно), либо использовать возможности rails:</p>

<pre><code>Time.use_zone('Novosibirsk') do
  Time.zone.now
end
</code></pre>

<p>Что хотелось бы отметить &ndash; рельсовый ActiveRecord умеет работать с временными зонами и использует зону из application.rb. В базу данных, по умолчанию, сохраняется время в UTC, т.е. переводится в +0. Для этого используют метод to_s(:db). В большинстве случаев вызывать его нет необходимости, так как rails сами его вызовут.</p>

<p>Исходя из того, что рельсы сохраняют время в UTC, то и из базы они хотят получить время в UTC. А это значит, что хранить таймзону в бд нам не нужно.</p>

<p><strong>UPD 1</strong>:<br>
 В качестве альтернативы к Time.zone.now можно использовать <a href="https://github.com/rails/rails/blob/master/activesupport/lib/active_support/core_ext/time/calculations.rb#L28">Time.current</a>.
Его результат &ndash; вызов Time.zone.now, но только при установленной таймзоне в конфигурационном файле (или напрямую через Time.zone), иначе
 возвращает Time.now. На мой взгляд, поведение этого метода в некоторой степени неявно &ndash; необходимо понимать, какой результат будет в
 конкретном случае использования.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Вступление]]></title>
    <link href="http://PlugIN73.github.io/blog/2013/09/17/vstuplieniie/"/>
    <updated>2013-09-17T19:29:00+03:00</updated>
    <id>http://PlugIN73.github.io/blog/2013/09/17/vstuplieniie</id>
    <content type="html"><![CDATA[<p>Первый мой блог и сразу по хардкору jekyll. :)
 <!--more--></p>

<p>Пришло время, когда я хочу и могу о чем-то написать. Тяжело пересилить свои страхи, но я это сделаю!</p>

<p>Хочу тут освещать интересные моменты из своего опыта и вести заметки по прокачке. You are welcome!</p>
]]></content>
  </entry>
  
</feed>
