<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;C0MGRH0zfCp7ImA9WhRaFEk.&quot;"><id>tag:blogger.com,1999:blog-933369614249771220</id><updated>2012-02-17T04:17:05.384+03:00</updated><category term="EPAM" /><category term="Спорт" /><category term="TDD" /><category term="Отпуск" /><category term="ETL" /><category term="Agile" /><category term="Outlook" /><category term="Maintainable Code" /><category term="Music" /><category term="Паттерны" /><category term="ENG" /><category term="IT" /><category term="ru_lh" /><category term="Жизненно" /><category term="CI" /><category term="Parallel Computing" /><category term="London" /><category term="Fun" /><category term="Android" /><category term="Lifehack" /><category term="RUS" /><category term=".NET" /><title>(ш!)кодер.by</title><subtitle type="html">Software development, management and self-management
&lt;br&gt;&lt;br&gt;
&lt;a href="http://shcoder.by"&gt;ALL&lt;/a&gt; &lt;a href="http://www.shcoder.by/feeds/posts/default"&gt; &lt;img src="http://bit.ly/3paMdr"&gt;&lt;/a&gt; | &lt;a href="http://shcoder.by/search/label/RUS"&gt;RUS&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/shcoder/RUS"&gt;&lt;img src="http://bit.ly/3paMdr"&gt;&lt;/a&gt; | &lt;a href="http://shcoder.by/search/label/ENG"&gt;ENG&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/shcoder/ENG"&gt;&lt;img src="http://bit.ly/3paMdr"&gt;&lt;/a&gt;</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://www.shcoder.by/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://www.shcoder.by/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Andrei Charnou</name><uri>http://www.blogger.com/profile/01286060687350810325</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp0.blogger.com/_hTFMi0z5W-c/SDB7zp0AlzI/AAAAAAAAAN8/8f9wXLEusTw/S220/DSCF1191.JPG" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>63</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/blogspot/Taqcq" /><feedburner:info uri="blogspot/taqcq" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;CE8EQngzeyp7ImA9WhdWFU8.&quot;"><id>tag:blogger.com,1999:blog-933369614249771220.post-4919755054212281911</id><published>2011-09-09T02:00:00.000+03:00</published><updated>2011-09-09T02:00:03.683+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-09T02:00:03.683+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Отпуск" /><title>Tax Free Польша</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Когда ездили в Польшу, первый раз в жизни попробовали вернуть налоги. Чтобы не забыть, опишу эту процедуру.&lt;br /&gt;
&lt;br /&gt;
Нужно искать магазины со значком Global Blue (бывший Global Refund). Например, IKEA в Гданьске или Варшаве.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-tH4AYcRpdd4/TmiSxO6-s4I/AAAAAAAABQ4/Mihrkz94rMg/s1600/tax-free-global-blue.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="215" src="http://1.bp.blogspot.com/-tH4AYcRpdd4/TmiSxO6-s4I/AAAAAAAABQ4/Mihrkz94rMg/s320/tax-free-global-blue.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;br /&gt;
При расчете на кассе нужно предупредить о том, что хочешь вернуть налоги. В чеке должно быть не более 7 товаров. Один из чеков содержал 7 строчек, но товаров было 8 (2 подушки пошли одной строкой). Это ОК. Есть также некая минимальная сумма покупки - на данный момент 200 PLN.&lt;br /&gt;
 &lt;br /&gt;
В IKEA есть отдел по работе с клиентами, нужно подойти с чеками и паспортом, там к каждому чеку оформляют здоровую зеленую бумагу Global Refund с печатями и всякой остальной ерундой. &lt;br /&gt;
&lt;br /&gt;
Мы  возвращались в Беларусь через Брест-Тересполь (он же Варшавский мост).&lt;br /&gt;
&lt;br /&gt;
Там надо ехать через коридоры, на которые указывают знаки Tax Free. Таможенники при прохождении границы отмечают на чеках, что то, что в чеках, действительно вывозится из Польши. При этом нужно показать те самые товары, так что прятать их глубоко не стоит. Упаковка должна быть целой. Мы показали только парочку, этого хватило. &lt;br /&gt;
&lt;br /&gt;
Далее в теории деньги можно вернуть в Технобанке уже в Минске. Тем не менее на &lt;a href="http://www.global-blue.com/traveller-services/regulations-in-poland/"&gt;сайте Global Refund&lt;/a&gt; есть подозрительное "Polish cheques are only refundable &lt;u&gt;in cash&lt;/u&gt; at our Refund Points!", ну и некоторые товарищи на форумах писали, что были проблемы с польскими чеками в Технобанке.&lt;br /&gt;
&lt;br /&gt;
Поэтому мы решили получить деньги прямо на границе. На польско-белорусской границе, насколько я знаю, есть только один &lt;a href="http://www.global-blue.com/traveller-services/tax-free-shopping/refund-points/terespol/"&gt;офис &lt;/a&gt;Global Refund - в тереспольском пункте. Несмотря на то, что написано на сайте, там есть два перерыва по часу, точное время уже не скажу, но вроде бы в 6 утра и 6 вечера. После прохождения польской границы, его нужно искать в здании слева (эдакая синяя дверь).&lt;br /&gt;
&lt;br /&gt;
Нужен паспорт. Возвращают в злотых ~60% от налогов (около 14% от суммы покупки). Можно там же поменять на другие деньги, но курс грабительский.&lt;br /&gt;
&lt;br /&gt;
На белорусской границе подлежат растаможке покупки свыше 1500 евро или 50 кг на человека. Одна вещь должна быть не более 35 кг, иначе придется растамаживать.&lt;br /&gt;
&lt;br /&gt;
Вот и все, если где видите ошибки, то дайте знать. От себя добавлю, что помимо всего прочего польская IKEA ощутимо дешевле российской - двойная выгода.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933369614249771220-4919755054212281911?l=www.shcoder.by' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7hJV4UR9o6ltr_1TD6lQhI2em2M/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7hJV4UR9o6ltr_1TD6lQhI2em2M/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7hJV4UR9o6ltr_1TD6lQhI2em2M/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7hJV4UR9o6ltr_1TD6lQhI2em2M/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Taqcq?a=EuZGlAXyLn0:uBSY0bRdOXM:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Taqcq?i=EuZGlAXyLn0:uBSY0bRdOXM:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Taqcq/~4/EuZGlAXyLn0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.shcoder.by/feeds/4919755054212281911/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.shcoder.by/2011/09/tax-free.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/4919755054212281911?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/4919755054212281911?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Taqcq/~3/EuZGlAXyLn0/tax-free.html" title="Tax Free Польша" /><author><name>Andrei Charnou</name><uri>http://www.blogger.com/profile/01286060687350810325</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp0.blogger.com/_hTFMi0z5W-c/SDB7zp0AlzI/AAAAAAAAAN8/8f9wXLEusTw/S220/DSCF1191.JPG" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-tH4AYcRpdd4/TmiSxO6-s4I/AAAAAAAABQ4/Mihrkz94rMg/s72-c/tax-free-global-blue.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.shcoder.by/2011/09/tax-free.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUYFRn8_fip7ImA9WhZXFUQ.&quot;"><id>tag:blogger.com,1999:blog-933369614249771220.post-3908606901456695477</id><published>2011-05-05T11:39:00.001+03:00</published><updated>2011-05-05T13:58:37.146+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-05T13:58:37.146+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="RUS" /><title>Ксеноглоссофобия или боязнь незнакомых языков</title><content type="html">&lt;p&gt;Некоторые разработчики или менеджеры побаиваются новых или просто других незнакомых языков или платформ. &lt;/p&gt; &lt;p&gt;Здесь есть много мифов и заблуждений, в том числе и вредных, препятствующих адекватным технологическим решениям, росту, в том числе и карьерному. &lt;/p&gt; &lt;p&gt;Для начала я попробую сосредоточиться на этих мифах, чтобы наглядно показать, что бояться новых языков не надо (бояться нужно других вещей, например, плохого кода). &lt;/p&gt; &lt;p&gt;В следующем же посте я попробую рассказать, зачем же нам нужны другие языки и почему постоянно нужно изучать другие горизонты. &lt;/p&gt; &lt;p&gt;Итак, поехали! Если у вас в процессе чтения возникают вопросы или замечания, то прошу в комментарии &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://lh6.ggpht.com/_hTFMi0z5W-c/TcJiWiSN8gI/AAAAAAAABO4/BaAnnF3Bl-w/wlEmoticon-smile2.png?imgmax=800"&gt;&lt;/p&gt; &lt;a name='more'&gt;&lt;/a&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Миф 1&lt;/strong&gt; Для успешной карьеры достаточно знать всего лишь один мейнстрим язык&lt;/p&gt; &lt;p&gt;Подозреваю, что многие дельфисты тоже так думали про обджект паскаль. На деле же языки приходят и уходят. Некоторые языки живут дольше других, но со временем становятся нишевыми языками, ограничивая разработчика в выборе типов проектов, на которых он может работать с этим языком. &lt;/p&gt; &lt;p&gt;Даже в рамках одного языка часто не получается почивать на лаврах, тот же C# за время своего существования претерпевал серьезные изменения, С# 5.0 значительно отличается от C# 1.0 в том числе и концептуально.&lt;/p&gt; &lt;p&gt;Рано или поздно придется осваивать новые языки, так что лучше быть к этому готовым хотя бы морально.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Миф 2 &lt;/strong&gt;Джависты пишут на джаве, а дотнетчики на сишарпе&lt;/p&gt; &lt;p&gt;Многие думают, что в рамках одной платформы достаточно знать всего лишь один язык.&lt;/p&gt; &lt;p&gt;На деле же в реальных проектах приходится иметь с целым рядом языков, существенно отличающихся друг от друга – SQL, джаваскрипты с экшинскриптами, HTMLи разных версий, XML/XSD/XSLT, скриптовые языки и т.п. На иных проектах до десятков доходит. Причем языки существенно друг от друга отличаются.&lt;/p&gt; &lt;p&gt;Получается, что изучение других языков – это норма жизни, а не исключение из правил. &lt;/p&gt; &lt;p&gt;&lt;strong&gt;Миф 3&lt;/strong&gt; Требуются годы, чтобы хорошо освоить язык&lt;/p&gt; &lt;p&gt;Многие скажут, чтобы стать хорошим джавистом, надо поработать лет эдак пару минимум. Вроде как, долго?&lt;/p&gt; &lt;p&gt;На самом деле за это время человек чего только не осваивает, например, смежные языки, упомянутые выше. Куча времени занимает изучение платформы, надо знать как GC работает, как устроены хэш-коллекции. Нужно научиться проектировать и изучить паттерны. Нужно научиться говорить по-английски. В конце концов нужно просто научиться работать. Большая часть этих знаний пригодится при разработке на любом другом языке.&lt;/p&gt; &lt;p&gt;Практика показывает, что комфортный переход C# на Java занимает недели, а через несколько месяцев дотентчика уже и не отличишь от обычного джависта. Причем скорее речь идет не о разнице в языках, а о разнице в фреймворках и инструментарии, то есть переход между языками одной и той же платформы значительно более быстрый.&lt;/p&gt; &lt;p&gt;То есть сам язык – это всего лишь малая доля знаний разработчика. &lt;/p&gt; &lt;p&gt;&lt;strong&gt;Миф 4&lt;/strong&gt; Для любого .NET проекта годятся любые .NET разработчики &lt;/p&gt; &lt;p&gt;За годы .NET разработки я успел себя попробовать в разных типах проектов – десктоп приложения, веб-сервисы, веб-приложения, высокоскоростная обработка данных. Я в том числе разрабатывал и на Java.&lt;/p&gt; &lt;p&gt;Так вот исходя из своего опыта смею утверждать, что переход от одного типа приложения к другому требует не меньше усилий, чем смена платформы/языка в рамках одного и того же типа проектов. &lt;/p&gt; &lt;p&gt;Наверное, достаточно легко понять, почему backend-разработчик не особенно подойдет для веб-проекта. Тем не менее, это далеко не значит, что веб-разработчик хорошо себя покажет в backend проекте – там свои паттерны, свои сакральные знания. &lt;/p&gt; &lt;p&gt;Получается, что практический опыт построения приложений определённого типа зачастую важнее, чем знание конкретного языка или платформы.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Миф 5 &lt;/strong&gt;Чтобы писать на каком-то языке, нужно его хорошо знать&lt;/p&gt; &lt;p&gt;Вообще говоря, даже когда приходишь на интервью с матерым C# или Java разработчиком, то хорошо копнув можно найти какие-то пробелы. Ну, не требовалось человеку что-то, смысла заострять внимание нет. Бывает и так, что пробелы существенные, хотя уже и пара лет практического опыта за плечами. &lt;/p&gt; &lt;p&gt;Понятно, что идеального знания не требуется. Но все же, должно же быть какое-то фундаментальное понимание основ языка?&lt;/p&gt; &lt;p&gt;Вот вам пример – подавляющее большинство людей, которые писали что-то на JavaScript, не знают как в JavaScript устроено наследование, как, в принципе, и других его фундаментальных особенностей. Я ради интереса задавал этот вопрос на входных интервью – мало кто отвечал. &lt;/p&gt; &lt;p&gt;Да, для многих практических задач этого просто не нужно знать, поэтому и не знают. Выходит, что иногда и поверхностного знания языка вполне хватает для решения насущных вопросов.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Миф 6 &lt;/strong&gt;Ок, понятно, годы на язык не потребуются, но все же проходит немало времени для перехода от теории языка к написанию кода, нужен серьезный knowledge transfer&lt;/p&gt; &lt;p&gt;Если входное интервью не дает однозначного ответа, – мы иногда даем XSLT задачку в качестве входного теста. Суть задачки в общем-то в том, что подавляющее большинство XSLT либо не знает совсем, либо знает плохо. &lt;/p&gt; &lt;p&gt;Для справки, XSLT – это такой angle brackets язык, это совсем не ООП. Некоторым он просто взрывает мозг, там, например, нет переменных. В смысле var есть, но менять значение варов нельзя.&lt;/p&gt; &lt;p&gt;Так вот типичное время решения задачи -- &lt;strong&gt;от дня до недели &lt;/strong&gt;вне зависимости от первоначального знакомства с XSLT. Причем, практика показывает, что большая часть времени выполнения обычно уходит на переписку, уточнения, оценку и исправление ошибок.&lt;/p&gt; &lt;p&gt;То есть как правило код пишут уже в первый день знакомства с языком и это при том, что обычно язык не похож ни на один из тех, с которыми приходилось работать ранее.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Итого&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;В качестве вывода хотел бы сказать, что личный опыт подсказывает – зрелому разработчику по-большому счету все равно на чем писать, лишь бы проект был интересный и команда хорошая. Он уверенно чувствует себя, если требуется освоиться с новым языком или платформой. Ведь те навыки, которые делают его хорошим разработчиком, не зависят от используемого в данный момент языка. &lt;/p&gt; &lt;p&gt;Нужно отметить, что плохой разработчик будет писать одинаково плохо на любых языках, хороший разработчик отчетливо осознает, что код должен быть поддерживаем, и на любом языке будет стараться писать понятный и ясный код, сопровождая его, например, юнит-тестами.&lt;/p&gt; &lt;p&gt;Итого, не стоит боятся незнакомых языков, стоит боятся плохого кода. А неподдерживаемое спагетти можно сделать&amp;nbsp; и на Java, и на C#, и на любом другом языке.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933369614249771220-3908606901456695477?l=www.shcoder.by' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/vpJbCts5Dxbk09vqtClGtIMVDCo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vpJbCts5Dxbk09vqtClGtIMVDCo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/vpJbCts5Dxbk09vqtClGtIMVDCo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vpJbCts5Dxbk09vqtClGtIMVDCo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Taqcq?a=H3jr36eyy9Q:KzMsMyqKscs:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Taqcq?i=H3jr36eyy9Q:KzMsMyqKscs:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Taqcq/~4/H3jr36eyy9Q" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.shcoder.by/feeds/3908606901456695477/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.shcoder.by/2011/05/blog-post_05.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/3908606901456695477?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/3908606901456695477?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Taqcq/~3/H3jr36eyy9Q/blog-post_05.html" title="Ксеноглоссофобия или боязнь незнакомых языков" /><author><name>Andrei Charnou</name><uri>http://www.blogger.com/profile/01286060687350810325</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp0.blogger.com/_hTFMi0z5W-c/SDB7zp0AlzI/AAAAAAAAAN8/8f9wXLEusTw/S220/DSCF1191.JPG" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/_hTFMi0z5W-c/TcJiWiSN8gI/AAAAAAAABO4/BaAnnF3Bl-w/s72-c/wlEmoticon-smile2.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.shcoder.by/2011/05/blog-post_05.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkUERns5eip7ImA9WhZXEkQ.&quot;"><id>tag:blogger.com,1999:blog-933369614249771220.post-2857015025484656880</id><published>2011-05-02T00:35:00.001+03:00</published><updated>2011-05-02T01:50:07.522+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-02T01:50:07.522+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="RUS" /><title>Языки, разработчики и менеджеры</title><content type="html">&lt;p&gt;У нас в твиттере (опять) разгорелась дискуссия. Ну как, дискуссия-то особо не клеится, мыслей много, а сообщения слишком короткие – все-таки твиттер &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://lh6.ggpht.com/_hTFMi0z5W-c/Tb3SMRnrPxI/AAAAAAAABO0/0AaqASO8N88/wlEmoticon-smile%5B2%5D.png?imgmax=800"&gt;Может, в комментариях будет попроще.&lt;/p&gt; &lt;p&gt;В общем, &lt;a href="http://www.it4business.ru/pankratov"&gt;Слава Панкратов&lt;/a&gt; был на &lt;a href="http://www.addconf.ru/"&gt;конференции&lt;/a&gt;, и там рассказывали как кто-то использовал &lt;a href="http://ru.wikipedia.org/wiki/Nemerle"&gt;Nemerle&lt;/a&gt; для автоматизации тестов на отдельно взятом проекте. Отношение Славы к этому строго негативное. Оно и понятно, язык экзотический, кто будет потом это поддерживать? &lt;/p&gt; &lt;p&gt;К дискуссии присоединился &lt;a href="http://vkochetkov.blogspot.com/"&gt;Владимир Кочетков&lt;/a&gt; (магия твиттера, собираются три абсолютно незнакомых человека и обсуждают вопрос). Владимир считает, что проблема преувеличена, все-таки .NET, к C# достаточно близок, а особенности Nemerle освоить не так-то и сложно. Да и речь идет о небольшой туле, риск не так и велик.&lt;/p&gt; &lt;p&gt;Что же, многие менеджеры сталкивались с такой проблемой. Приходит разработчик светлая голова к менеджеру и предлагает написать вот эту полезность да и еще на чем-то непонятном. Что делать? Дать добро, а потом расхлебывать?&amp;nbsp; Объяснить, что все это игрушки, а нам нужно проект делать (с риском, что больше человек и не будет приходить с идеями, раз его здесь не ценят)?&lt;/p&gt; &lt;p&gt;Лично я вижу массу положительных моментов в том, чтобы дать ребятам возможность оттопыриться на каком-то некритичном куске проекта. Вот мои соображения, и скажите, где я не прав! &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://lh6.ggpht.com/_hTFMi0z5W-c/Tb3SMRnrPxI/AAAAAAAABO0/0AaqASO8N88/wlEmoticon-smile%5B2%5D.png?imgmax=800"&gt;&lt;/p&gt; &lt;a name='more'&gt;&lt;/a&gt; &lt;p&gt;Во-первых, ребята, которые увлекаются неординарными языками, функциональным программированием, – это обычно талантливые, высококлассные специалисты. У меня в группе есть такие парни – &lt;a href="http://dnnx.livejournal.com/"&gt;Витя&lt;/a&gt;, &lt;a href="http://pdrobushevich.blogspot.com/"&gt;Паша&lt;/a&gt;, например. И если ребята чего-то хотят, то я отношусь к этому серьезно, где мне еще найти таких?&lt;/p&gt; &lt;p&gt;Во-вторых, мне кажется неслучайным, что они и на Java/C# здорово пишут. Я уже писал &lt;a href="http://www.shcoder.by/2010/09/javascript.html"&gt;про это&lt;/a&gt;, хорошему разработчику нельзя останавливаться на месте, а освоение новых языков здорово прокачивает мозги.&amp;nbsp; Мне кажется, что интерес к другим платформам в том числе помогает повышать квалификацию программиста и в обычных мейнстрим языках.&lt;/p&gt; &lt;p&gt;В-третьих, если эти умные ребята предлагают какую-то технологию, то у них часто есть вполне осознанные технологические доводы. Например, Nemerle очень неплох для DSL, поэтому этот язык, вероятно, неплохо подходит для формирования удобного DSL для фреймворка по тестированию. Может, люди дело предлагают?&lt;/p&gt; &lt;p&gt;В-четвертых, когда эти классные ребята с горящими глазами рассказывают другим классным ребятам (работающим в другой компании) о своем опыте в Nemerle… Я нахожу это полезным &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://lh6.ggpht.com/_hTFMi0z5W-c/Tb3SMRnrPxI/AAAAAAAABO0/0AaqASO8N88/wlEmoticon-smile%5B2%5D.png?imgmax=800"&gt; Это именно та адресная реклама, которая нам нужна на рынке программистов.&lt;/p&gt; &lt;p&gt;Ну и по поводу поддержки… Если вдруг тот, кто это все написал, уйдет куда-то (хотя с чего бы это?), а программисты в целом получают удовольствие от работы со всякими там маргинальными технологиями, то, может, другие разработчики наоборот будут рваться поддерживать этот кусочек, просто чтобы получить немного фана? Может, когда на собеседовании я вдруг скажу “а тут у нас еще на nemerle есть штукенция”, то у человека загорятся глаза и он все-таки пойдет к нам, а не к конкурентам?&lt;/p&gt; &lt;p&gt;В общем, мне кажется, что люди важнее. Программисты без менеджера вполне могут сделать проект, а вот менеджер без программистов – это вряд ли. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933369614249771220-2857015025484656880?l=www.shcoder.by' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/oIInANzYMWS-sKoVQ7sK3bFgULo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oIInANzYMWS-sKoVQ7sK3bFgULo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/oIInANzYMWS-sKoVQ7sK3bFgULo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oIInANzYMWS-sKoVQ7sK3bFgULo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Taqcq?a=U8jNalZkF9I:-6J9h1PlYgo:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Taqcq?i=U8jNalZkF9I:-6J9h1PlYgo:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Taqcq/~4/U8jNalZkF9I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.shcoder.by/feeds/2857015025484656880/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.shcoder.by/2011/05/blog-post.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/2857015025484656880?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/2857015025484656880?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Taqcq/~3/U8jNalZkF9I/blog-post.html" title="Языки, разработчики и менеджеры" /><author><name>Andrei Charnou</name><uri>http://www.blogger.com/profile/01286060687350810325</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp0.blogger.com/_hTFMi0z5W-c/SDB7zp0AlzI/AAAAAAAAAN8/8f9wXLEusTw/S220/DSCF1191.JPG" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/_hTFMi0z5W-c/Tb3SMRnrPxI/AAAAAAAABO0/0AaqASO8N88/s72-c/wlEmoticon-smile%5B2%5D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.shcoder.by/2011/05/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEBQX04eCp7ImA9WhZQE0w.&quot;"><id>tag:blogger.com,1999:blog-933369614249771220.post-5012176834533657097</id><published>2011-04-19T01:11:00.001+03:00</published><updated>2011-04-20T18:34:10.330+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-20T18:34:10.330+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ENG" /><title>Bugs is a software thing</title><content type="html">&lt;p&gt;Bugs is a software thing. &lt;/p&gt; &lt;p&gt;In most business areas customers don’t pay for fixing issues. When you find a defect in your SLR camera, you just bring it back and get it fixed or get a new one for free. But in IT this is a norm when you pay for bug fixes as so this is some real functionality.&lt;/p&gt; &lt;p&gt;Ron Jeffries recently wrote a good &lt;a href="http://xprogramming.com/articles/kate-oneal-handling-defects/"&gt;story&lt;/a&gt; about defects. The main idea is defects shouldn’t be planned separately, they just have to be fixed and if it takes longer to release a feature we should factor this into estimates. In agile world we factor this into velocity.&lt;/p&gt; &lt;p&gt;But I’d like to touch base on why we usually try to plan and prioritize defects separately. Well, it is obvious, sometimes we have quite a few of them and some bugs take a lot of time.&lt;/p&gt; &lt;p&gt;As Kate mentioned in Ron’s story, we can minimize amount of bugs by learning from them. Correct. I’d also add that we can minimize amount of bugs by working in pairs and unit-testing. It’s rather obvious.&lt;/p&gt; &lt;p&gt;But the big thing which is not very well understood is that quite often bugs take a lot of time because of the way we tackle them. &lt;/p&gt; &lt;p&gt;I also quite often hear questions about the role of QA in agile projects. Many books just skip this question, people get confused and testing/bug fixing in a somewhat waterfall approach.&lt;/p&gt; &lt;p&gt;Let’s take a closer at a rather familiar loop many teams work in:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;developers implement a feature during iteration X&lt;/li&gt; &lt;li&gt;when iteration X is over it is released for testing and being tested during X+1&lt;/li&gt; &lt;li&gt;when testing is done, release goes to customers and they explore it during X+2&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;So what’s bad here? The delay in between implementation and feedback on it. It’s the root cause of everything else.&lt;/p&gt; &lt;p&gt;It takes a lot more time to fix a defect which is found after several weeks of work on other features, people just entirely lose context on it. Sometimes another developer has to fix defects in code of his colleagues which doesn’t speed things up. &lt;/p&gt; &lt;p&gt;When bugs arrive, the team works on another release already and can’t fix them immediately (the team can’t fix them immediately also because the context is lost), so bugs require some filing – clear description, steps to reproduce, severity, etc. All these things should be formally documented, testers can’t just explain them to developers. And some issue tracking systems are nasty.&lt;/p&gt; &lt;p&gt;Apparently, this way bugs affect schedule of subsequent releases. So bugs is a big thing now and require prioritization. Prioritization isn’t a simple thing, developers need to provide estimates, product owners have to make some tough decisions. It may be difficult to engage product owners, so delays become even bigger.&lt;/p&gt; &lt;p&gt;When a bug is fixed it needs to be retested, but there is again a delay between a bug fix and a another test, so we have some context switching for testers.&lt;/p&gt; &lt;p&gt;Actually, such a way often results in bigger and bigger delays between implementation and actual testing. Some teams come up with a really heavy-weight approach to stay on top of the bugs, but in fact they just slow things down even more.&lt;/p&gt; &lt;p&gt;To summarize, we get the following wastes:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;context switching (both for dev and test team)&lt;/li&gt; &lt;li&gt;formal filing and tracking which drags time&lt;/li&gt; &lt;li&gt;additional planning as a result (estimates, prioritization)&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;The key thing is to decrease delays, so the team should aim to test and fix defects almost immediately after implementation (let’s say during next 24 hours).&lt;/p&gt; &lt;p&gt;I heard about a brilliant approach to implement it. Unfortunately, I couldn’t implement this on one of my projects yet, but there are real projects which work in this way.&lt;/p&gt; &lt;p&gt;So in addition to a pair of programmers we also need a tester. They form a triplet (triple programming). The triplet works on each feature together: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;the tester take part in all discussions&lt;/li&gt; &lt;li&gt;when developers work on a feature, the tester creates test cases&lt;/li&gt; &lt;li&gt;when developers think the feature is ready it gets tested immediately, developers can take care of e-mails and other stuff during testing&lt;/li&gt; &lt;li&gt;when a bug is found, the tester just shows it to developers, it is worked on immediately &lt;/li&gt; &lt;li&gt;during delays the tester automates tests (developers can also help)&lt;/li&gt; &lt;li&gt;after the tester is happy about quality, he shows the feature to customers&lt;/li&gt; &lt;li&gt;any issues found during the demo are fixed immediately&amp;nbsp; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Apparently, some bugs are discovered later and go the tough way, but most of the time:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;defects do not require documenting&lt;/li&gt; &lt;li&gt;defects are found and fixed in a reasonable time frame before people lose context&lt;/li&gt; &lt;li&gt;explicit planning is not required&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;But again, the key thing is to get feedback ASAP, no matter how.&lt;/p&gt; &lt;p&gt;I welcome your comments.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933369614249771220-5012176834533657097?l=www.shcoder.by' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/cgJqN5aqiUnvLMD8BEuxaOT0xpU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cgJqN5aqiUnvLMD8BEuxaOT0xpU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/cgJqN5aqiUnvLMD8BEuxaOT0xpU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cgJqN5aqiUnvLMD8BEuxaOT0xpU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Taqcq?a=nP9DZQUIK0A:C27u38-xcTQ:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Taqcq?i=nP9DZQUIK0A:C27u38-xcTQ:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Taqcq/~4/nP9DZQUIK0A" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.shcoder.by/feeds/5012176834533657097/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.shcoder.by/2011/04/bugs-is-software-thing.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/5012176834533657097?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/5012176834533657097?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Taqcq/~3/nP9DZQUIK0A/bugs-is-software-thing.html" title="Bugs is a software thing" /><author><name>Andrei Charnou</name><uri>http://www.blogger.com/profile/01286060687350810325</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp0.blogger.com/_hTFMi0z5W-c/SDB7zp0AlzI/AAAAAAAAAN8/8f9wXLEusTw/S220/DSCF1191.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.shcoder.by/2011/04/bugs-is-software-thing.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEBQX04eSp7ImA9WhZQE0w.&quot;"><id>tag:blogger.com,1999:blog-933369614249771220.post-3977068636111215995</id><published>2011-04-15T00:54:00.001+03:00</published><updated>2011-04-20T18:34:10.331+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-20T18:34:10.331+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ENG" /><category scheme="http://www.blogger.com/atom/ns#" term="Outlook" /><title>Outlook: hide delayed tasks</title><content type="html">&lt;p&gt;There are certain tasks which I need to do, but I can’t do them until some date/time.&lt;/p&gt; &lt;p&gt;What I want is to put such tasks into my task list, but I don’t want them to be visible until their start date. I don’t want to put them into my calendar, I can do them after day X, but don’t know when exactly I will find time for them, so my task list is a better fit.&lt;/p&gt; &lt;p&gt;So the first step is to actually specify a start date for such a future task and then set up a filter on your outlook task list to hide delayed tasks and this is a little bit trickier:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Click on “Arrange By” on top of your task list and select “View Settings”  &lt;li&gt;Click “Filter” button and select “Advanced” tab; by default it filters in current tasks (where Completion Date doesn’t exist AND Completion Flag doesn’t exist)  &lt;li&gt;We also want to filter in tasks with Start Date “on or before” Today, so you click on a “Field” button under Define Criteria, select a Start Date there, specify “on or before” in Condition and type “Today” in the Value text box  &lt;li&gt;Unfortunately this filters out all tasks without start date, apparently we want to show current task OR tasks without Start Date, so you again add Start Date field and pick up “doesn’t exist” Condition from a drop down there&amp;nbsp; &lt;li&gt;This is it, enjoy, delayed tasks are filtered out now&lt;/li&gt;&lt;/ol&gt; &lt;p align="center"&gt;&lt;a href="http://lh4.ggpht.com/_hTFMi0z5W-c/TadtBxo9hMI/AAAAAAAABOs/KS3r0n0QQno/s1600-h/image%5B5%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_hTFMi0z5W-c/TadtCltIvAI/AAAAAAAABOw/FpyNEoXjlnU/image_thumb%5B3%5D.png?imgmax=800" width="360" height="268"&gt;&lt;/a&gt; (here is how your filter should look like)&lt;/p&gt; &lt;p&gt;Note that conditions from 2nd and 3rd points are actually appended to resulting query using AND logic, while 3rd and 4th conditions should use OR logic. Actually, I thought that you can’t specify this logic in Advanced tab since all conditions are ANDed by default, so initially I hacked my custom query in SQL tab (poor me, those SQL queries look pretty ugly, you can check an auto-generated one). &lt;/p&gt; &lt;p&gt;Funny enough, but Advanced filter is so advanced that it understands 3rd and 4th conditions should be ORed. So actually you don’t need to mess around with a SQL query. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933369614249771220-3977068636111215995?l=www.shcoder.by' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/gnu2GlE_X4wL0qNSXY1Bt8qIBNI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gnu2GlE_X4wL0qNSXY1Bt8qIBNI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/gnu2GlE_X4wL0qNSXY1Bt8qIBNI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gnu2GlE_X4wL0qNSXY1Bt8qIBNI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Taqcq?a=5VftpTa0PuU:2G-vTyxT3ho:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Taqcq?i=5VftpTa0PuU:2G-vTyxT3ho:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Taqcq/~4/5VftpTa0PuU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.shcoder.by/feeds/3977068636111215995/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.shcoder.by/2011/04/outlook-hide-delayed-tasks.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/3977068636111215995?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/3977068636111215995?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Taqcq/~3/5VftpTa0PuU/outlook-hide-delayed-tasks.html" title="Outlook: hide delayed tasks" /><author><name>Andrei Charnou</name><uri>http://www.blogger.com/profile/01286060687350810325</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp0.blogger.com/_hTFMi0z5W-c/SDB7zp0AlzI/AAAAAAAAAN8/8f9wXLEusTw/S220/DSCF1191.JPG" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/_hTFMi0z5W-c/TadtCltIvAI/AAAAAAAABOw/FpyNEoXjlnU/s72-c/image_thumb%5B3%5D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.shcoder.by/2011/04/outlook-hide-delayed-tasks.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEHQH46eip7ImA9WhZQE0w.&quot;"><id>tag:blogger.com,1999:blog-933369614249771220.post-3407477747651451864</id><published>2011-04-14T12:50:00.000+03:00</published><updated>2011-04-20T18:33:51.012+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-20T18:33:51.012+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="RUS" /><title>Would you read me in English?</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Я читаю много блогов на английском и иногда чешутся руки оставить какой-то комментарий. Использовать свой OpenID для shсoder.by как-то глупо, ведь тут все на русском. &lt;br /&gt;
&lt;br /&gt;
Подумываю, может мне стоит начать писать на английском? Лень заводить какую-то отдельную площадку.&lt;br /&gt;
&lt;br /&gt;
Я думаю, что меня все равно читают гики/айтишники и проблем быть не должно, но все-таки интересно узнать ваше мнение, внизу опрос. Если отвечаете вряд ли или читать будете, но думаете, что это просто плохая идея, то не поленитесь в комментарии написать почему. Или даже так: если думаете, что идея хорошая, то отметьтесь в комментариях тоже :)&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;h2 class='title'&gt;Будете ли вы читать меня на английском&lt;/h2&gt;&lt;br /&gt;
&lt;iframe allowtransparency='true' frameborder='0' height='160' name='poll-widget3424694708574238868' src='http://www.google.com/reviews/polls/display/3424694708574238868/blogger_template/run_app?txtclr=%23666666&amp;lnkclr=%232288bb&amp;chrtclr=%232288bb&amp;font=normal+normal+12px+%27Trebuchet+MS%27%2C+Trebuchet%2C+Verdana%2C+sans-serif&amp;hideq=true&amp;purl=http%3A%2F%2Fwww.shcoder.by%2F' style='border:none; width:100%;'&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933369614249771220-3407477747651451864?l=www.shcoder.by' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/GhrY-vft_w_SLF0VB5-xlUPU_7o/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GhrY-vft_w_SLF0VB5-xlUPU_7o/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/GhrY-vft_w_SLF0VB5-xlUPU_7o/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GhrY-vft_w_SLF0VB5-xlUPU_7o/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Taqcq?a=7LwppxKsh6M:CkCKUYgmwAU:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Taqcq?i=7LwppxKsh6M:CkCKUYgmwAU:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Taqcq/~4/7LwppxKsh6M" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.shcoder.by/feeds/3407477747651451864/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.shcoder.by/2011/04/would-you-read-me-in-english.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/3407477747651451864?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/3407477747651451864?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Taqcq/~3/7LwppxKsh6M/would-you-read-me-in-english.html" title="Would you read me in English?" /><author><name>Andrei Charnou</name><uri>http://www.blogger.com/profile/01286060687350810325</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp0.blogger.com/_hTFMi0z5W-c/SDB7zp0AlzI/AAAAAAAAAN8/8f9wXLEusTw/S220/DSCF1191.JPG" /></author><thr:total>4</thr:total><feedburner:origLink>http://www.shcoder.by/2011/04/would-you-read-me-in-english.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEHQH46fCp7ImA9WhZQE0w.&quot;"><id>tag:blogger.com,1999:blog-933369614249771220.post-8475303916391818346</id><published>2011-04-05T01:02:00.000+03:00</published><updated>2011-04-20T18:33:51.014+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-20T18:33:51.014+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="RUS" /><title>Теперь беленький</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Многих угнетал темный цвет фона - жалобы учтены, теперь он опять беленький.&lt;br /&gt;
&lt;br /&gt;
Плюс к этому бложик можно посмотреть в неожиданных ракурсах, например, &lt;a href="http://www.shcoder.by/view/sidebar#!/"&gt;http://www.shcoder.by/view/sidebar#!/&lt;/a&gt;&amp;nbsp;или вот &lt;a href="http://www.shcoder.by/view/flipcard#!/"&gt;http://www.shcoder.by/view/flipcard#!/&lt;/a&gt;. Последний забавен тем, что все мои посты влазят на одну страницу (ну, почти все). Как-то мало я написал.&lt;br /&gt;
&lt;br /&gt;
Вьюшками сильно не злоупотребляйте - там счетчики не работают. И рекламка не показывается (черт, палюсь-палюсь).&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933369614249771220-8475303916391818346?l=www.shcoder.by' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/byEKUOy3B3eABe9Np84WTKrwmH4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/byEKUOy3B3eABe9Np84WTKrwmH4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/byEKUOy3B3eABe9Np84WTKrwmH4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/byEKUOy3B3eABe9Np84WTKrwmH4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Taqcq?a=A-Ky2c7pZvA:ITBNTH4a7KA:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Taqcq?i=A-Ky2c7pZvA:ITBNTH4a7KA:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Taqcq/~4/A-Ky2c7pZvA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.shcoder.by/feeds/8475303916391818346/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.shcoder.by/2011/04/blog-post.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/8475303916391818346?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/8475303916391818346?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Taqcq/~3/A-Ky2c7pZvA/blog-post.html" title="Теперь беленький" /><author><name>Andrei Charnou</name><uri>http://www.blogger.com/profile/01286060687350810325</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp0.blogger.com/_hTFMi0z5W-c/SDB7zp0AlzI/AAAAAAAAAN8/8f9wXLEusTw/S220/DSCF1191.JPG" /></author><thr:total>1</thr:total><feedburner:origLink>http://www.shcoder.by/2011/04/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEHQH46fSp7ImA9WhZQE0w.&quot;"><id>tag:blogger.com,1999:blog-933369614249771220.post-9057208532249554561</id><published>2011-03-31T01:34:00.000+03:00</published><updated>2011-04-20T18:33:51.015+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-20T18:33:51.015+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="RUS" /><title>GTD для иррационалов</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Недавно&amp;nbsp;в твиттере обсуждали с Катей и Катей&amp;nbsp;годится ли тайм менеджмент для иррационалов. Вот &lt;a href="http://www.ivanpirog.com/posts/spontannoe-planirovanie-dlya-tex-kto-nenavidit-tajm-menedzhment/"&gt;здесь&lt;/a&gt; GTD обвиняют во всех грехах, хотя я бы&amp;nbsp;все-таки посоветовал не верить человеку на слово, а почитать Аллена в оригинале и составить мнение лично.&lt;br /&gt;
&lt;br /&gt;
От себя хочу добавить, что как иррационал-тире-холерик я четко осознаю, что иногда мне явно не хватает GTD, а с мотивацией возникают проблемы. Можно переключаться между задачами в соответствии со своим настроением, как предлагает автор статьи выше, но бывает так, что на тебя нападает настроение "овощ",&amp;nbsp;а в этой категории задач почему-то нет (кстати, Аллен это называет контекстами). &lt;br /&gt;
&lt;br /&gt;
В этих случаях очень хорошо помогает техника волшебного пенделя под зад, и&amp;nbsp;именно по этой причине я предпочитаю заниматься спортом под чутким руководством тренера.&lt;br /&gt;
&lt;br /&gt;
Учитывая сий факт, мне кажется, что подходящей интерпретацией GTD для иррационалов является уже&amp;nbsp;изрядно потрепанная&amp;nbsp;&lt;a href="http://www.time-mngmnt.narod.ru/time.doc"&gt;техника Васи Кислого &lt;/a&gt;(narod.ru! дизайн сайта еще хуже, чем у меня), которую мне буквально недавно подкинули. Лексика иногда далека от культурной (в самый раз для ленивых иррационалов), тем не менее&amp;nbsp;тут&amp;nbsp;все взрослые люди, и, надеюсь, воспримут это с юмором. В общем, хватит оправдываться своим иррациональным нутром - марш работать!&lt;br /&gt;
&lt;br /&gt;
Да, кстати, наконец-то&amp;nbsp;в комментариях можно развернуто поругать меня и высказать свою альтернативную точку зрения, долой ограничения в 140 символов, капча отключена, иногда проскакивают анонимусы. &lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933369614249771220-9057208532249554561?l=www.shcoder.by' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/GwXB-tjKkp_2jOr7nJtQ_s57_Pw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GwXB-tjKkp_2jOr7nJtQ_s57_Pw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/GwXB-tjKkp_2jOr7nJtQ_s57_Pw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GwXB-tjKkp_2jOr7nJtQ_s57_Pw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Taqcq?a=7Qo9D0P6pBo:Bi53B86uRNk:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Taqcq?i=7Qo9D0P6pBo:Bi53B86uRNk:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Taqcq/~4/7Qo9D0P6pBo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.shcoder.by/feeds/9057208532249554561/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.shcoder.by/2011/03/gtd.html#comment-form" title="7 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/9057208532249554561?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/9057208532249554561?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Taqcq/~3/7Qo9D0P6pBo/gtd.html" title="GTD для иррационалов" /><author><name>Andrei Charnou</name><uri>http://www.blogger.com/profile/01286060687350810325</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp0.blogger.com/_hTFMi0z5W-c/SDB7zp0AlzI/AAAAAAAAAN8/8f9wXLEusTw/S220/DSCF1191.JPG" /></author><thr:total>7</thr:total><feedburner:origLink>http://www.shcoder.by/2011/03/gtd.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEHQH46fip7ImA9WhZQE0w.&quot;"><id>tag:blogger.com,1999:blog-933369614249771220.post-8211219974549097095</id><published>2011-03-26T23:57:00.000+02:00</published><updated>2011-04-20T18:33:51.016+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-20T18:33:51.016+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="RUS" /><title>Посоветуйте книжку по маркетингу</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Хотел бы почитать что-нибудь интересное на тему маркетинга, не посоветуете? &lt;br /&gt;
&lt;br /&gt;
Почувствовали в команде необходимость PR-а наших усилий,&amp;nbsp;а навыка не хватает. Хотим посмотреть как это делают рекламщики и попробовать найти подходящие для нас приемы.&lt;br /&gt;
&lt;br /&gt;
Чуть-чуть подробней о том, зачем нам это. &lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
Рано или поздно программисты понимают, что мало писать хороший код, надо чтобы об этом знали нужные люди.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Например, еженедельный отчет - это&amp;nbsp;по сути краткий рекламный буклетик, повествующий, как классно команда поработала за неделю. Это способ заявить о себе, тем не менее есть и другие средства: точечно сообщить нужным людям о каком-то достижении, сделать демонстрацию. А дальше засада, фантазия буксует. &lt;strong&gt;Какие еще средства бывают?&lt;/strong&gt; Что бы еще такое применить? &lt;br /&gt;
&lt;br /&gt;
Хотя надо разобраться, зачем нам понадобились какие-то еще средства донести информацию, может быть нам больше ничего не надо. Дело в том, что средства, которые мы используем сейчас, не очень-то эффективны. Похоже, наши еженедельные отчеты мало кто читает. С этим надо что-то делать, а точнее надо определится, &lt;strong&gt;как&amp;nbsp;привлечь внимание &lt;/strong&gt;к нашим отчетам. &lt;br /&gt;
&lt;br /&gt;
Хорошо, можно попробовать вставить в отчет картинку для привлечения внимания (кстати, в этом посте такой картинки нет - вас это не смущает?). Но если мы вставим картинку, заметит ли наш отчет большее количество людей? Вероятно, кто-то обратит внимание на картинку, но обратит ли он внимание на сам отчет? Поэтому следующий вопрос, на который мы хотим получить, ответ - это &lt;strong&gt;как оценить эффективность применяемых средств&lt;/strong&gt;?&lt;br /&gt;
&lt;br /&gt;
Что-то слишком много вопросов :) Вероятно, опытные маркотологи и рекламщики смогли бы помочь бедным программистам. Понятно, что маркетинг часто нацелен на широкую аудиторию, а мы работаем с конкретными людьми, хотя их там десятки, если не сотни. Но маркетинг поднимает и такие вопросы, поэтому если есть книжки про b2b маркетинг, про что-то ближе к нам - пишите.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933369614249771220-8211219974549097095?l=www.shcoder.by' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/dEjguF5d27ULG1PvxF6J919LUY8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dEjguF5d27ULG1PvxF6J919LUY8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/dEjguF5d27ULG1PvxF6J919LUY8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dEjguF5d27ULG1PvxF6J919LUY8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Taqcq?a=NV63IcFz_J4:Vk_mpnb_1KY:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Taqcq?i=NV63IcFz_J4:Vk_mpnb_1KY:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Taqcq/~4/NV63IcFz_J4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.shcoder.by/feeds/8211219974549097095/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.shcoder.by/2011/03/blog-post_26.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/8211219974549097095?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/8211219974549097095?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Taqcq/~3/NV63IcFz_J4/blog-post_26.html" title="Посоветуйте книжку по маркетингу" /><author><name>Andrei Charnou</name><uri>http://www.blogger.com/profile/01286060687350810325</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp0.blogger.com/_hTFMi0z5W-c/SDB7zp0AlzI/AAAAAAAAAN8/8f9wXLEusTw/S220/DSCF1191.JPG" /></author><thr:total>4</thr:total><feedburner:origLink>http://www.shcoder.by/2011/03/blog-post_26.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEHQH46fip7ImA9WhZQE0w.&quot;"><id>tag:blogger.com,1999:blog-933369614249771220.post-3911816324989752606</id><published>2011-03-20T10:55:00.000+02:00</published><updated>2011-04-20T18:33:51.016+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-20T18:33:51.016+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="RUS" /><title>Про Google Adsense</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Я начал активно писать в блог прошлым летом. До этого было несколько попыток (например, в Лондоне я писал про &lt;a href="http://www.shcoder.by/search/label/London"&gt;Лондон&lt;/a&gt;, а в отпуске про &lt;a href="http://www.shcoder.by/search/label/%D0%9E%D1%82%D0%BF%D1%83%D1%81%D0%BA"&gt;отпуск&lt;/a&gt; - потому что было скучно), но я быстро сдавался. &lt;br /&gt;
&lt;br /&gt;
С тех пор я более или менее регулярно пишу, и, надо отдать должное, на&amp;nbsp;первых этапах мою&amp;nbsp;мотивацию здорово поддержал &lt;a href="http://google.com/adsense"&gt;Google Adsense&lt;/a&gt;. Для тех, кто не в курсе, Google Adsense - это контекстная реклама (то бишь формируется в зависимости от контекста - сайта и конкретного посетителя), например, внизу этого поста&amp;nbsp;скорее всего вам что-то пытаются продать.&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
Дело в том, что это был первый источник о статистике посещений моего блога. Уже после этого я узнал, что есть Google Analytics, Яндекс.Метрика или хотя бы Akavita, но это позже, когда я вошел во вкус. &lt;br /&gt;
&lt;br /&gt;
Так в чем же собственно соль? Чем мне помогла статистика? Статистика посещений - это циферки сродни тем, на которые геймеры смотрят при прокачивании эльфа до 51го уровня. Более того, в Google Adsense эти циферки&amp;nbsp;привязаны к самому азартному мерилу успеха - деньгам. Короче, графики придали динамику процессу, а циферки дали возможность меряться, прямо как в старые-добрые времена, когда я бродил по подземельям в Diablo.&lt;br /&gt;
&lt;br /&gt;
Соответственно, первая мораль этого поста - если хотите&amp;nbsp;завести блог, но не знаете с чего начать, начните с прикручивания статистики. Драйв, по началу даже некоторая одержимость, будет обеспечен.&lt;br /&gt;
&lt;br /&gt;
Раз уж я начал подсчитывать количество моралей&amp;nbsp;в посте, то очевидно, что их будет больше, чем одна. Две :) &lt;br /&gt;
&lt;br /&gt;
Так вот вторая мораль в том, что скорее всего на блоге с тематикой вроде моего&amp;nbsp;вы мало что заработаете. Конечно, могут быть варианты, но мой путь явно не приносит доход, и я не готов делать те изменения, которые существенно увеличат монетизацию. &lt;br /&gt;
&lt;br /&gt;
Начнем с простой цифры - на сегодняшний день совокупный доход за все время использования Google Adsense составляет 1.12 евро. &lt;br /&gt;
&lt;br /&gt;
У меня, конечно, очень популярный блог, но все же надо представлять о каких порядках идет речь. При таком раскладе, чтобы что-то реально получать, посещаемость нужно увеличивать раз в 1000. Тематика у меня простая - программизм в Беларуси. &lt;a href="http://dev.by/"&gt;Dev.by&lt;/a&gt;,&amp;nbsp;наверное, самый популярный сайт по этой тематике, а посетителей у него не больше 3 тысяч в день (можно посмотреть на &lt;a href="http://akavita.by/be/"&gt;Акавите&lt;/a&gt;). То есть на такой тематике далеко не уедешь :)&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-4vOm_5B4zJo/TYVHqLuSMfI/AAAAAAAABOE/rFkeiMUe5gg/s1600/stats.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" r6="true" src="https://lh4.googleusercontent.com/-4vOm_5B4zJo/TYVHqLuSMfI/AAAAAAAABOE/rFkeiMUe5gg/s400/stats.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Чтобы зарабатывать, лучше писать на другие темы, например, про деньги - это стабильно высокий интерес аудитории к теме и высокие расценки по рекламе. &lt;br /&gt;
&lt;br /&gt;
Русскоязычная реклама дешевле стоит, поэтому лучше на английском - и аудитория будет шире.&lt;br /&gt;
&lt;br /&gt;
Нужно ли писать интересно? Необязательно.&amp;nbsp;Я узнавал опыт более успешных людей в этом деле, они говорят, что доход больше с тех страниц, на которые приходят много людей, но контент им не интересен, поэтому они либо уходят совсем, либо уходят по ссылкам/рекламе. Объем трафика опять-таки не напрямую зависит от того, насколько интересно вы пишете. Например, популярность тематики может иметь даже больший вес.&lt;br /&gt;
&lt;br /&gt;
Больше рекламы, подключение других сетей, неудобное её расположение (например, чтобы было сложно отделить рекламу от текста) тоже привели бы к увеличению дохода.&lt;br /&gt;
&lt;br /&gt;
Тем не менее, все это не про меня, смысла в этой активности в своем блоге&amp;nbsp;я не вижу. Так что не судьба, похоже. Но я все же рекламку не снес -&amp;nbsp;а вдруг попрет? ;) Вот и про деньги статейку написал... Жажда халявы - она такая, тяжело лечится. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933369614249771220-3911816324989752606?l=www.shcoder.by' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-jbniSK-gSx7eVUKVC3snOKEIjQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-jbniSK-gSx7eVUKVC3snOKEIjQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-jbniSK-gSx7eVUKVC3snOKEIjQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-jbniSK-gSx7eVUKVC3snOKEIjQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Taqcq?a=FRCL7IkZhPg:cyfk2Kn6TVE:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Taqcq?i=FRCL7IkZhPg:cyfk2Kn6TVE:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Taqcq/~4/FRCL7IkZhPg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.shcoder.by/feeds/3911816324989752606/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.shcoder.by/2011/03/google-adsense.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/3911816324989752606?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/3911816324989752606?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Taqcq/~3/FRCL7IkZhPg/google-adsense.html" title="Про Google Adsense" /><author><name>Andrei Charnou</name><uri>http://www.blogger.com/profile/01286060687350810325</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp0.blogger.com/_hTFMi0z5W-c/SDB7zp0AlzI/AAAAAAAAAN8/8f9wXLEusTw/S220/DSCF1191.JPG" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh4.googleusercontent.com/-4vOm_5B4zJo/TYVHqLuSMfI/AAAAAAAABOE/rFkeiMUe5gg/s72-c/stats.PNG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.shcoder.by/2011/03/google-adsense.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkMHSX49eSp7ImA9WhdVFU0.&quot;"><id>tag:blogger.com,1999:blog-933369614249771220.post-1994895345045869693</id><published>2011-03-16T13:17:00.000+02:00</published><updated>2011-09-20T10:40:38.061+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-20T10:40:38.061+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="RUS" /><category scheme="http://www.blogger.com/atom/ns#" term="Outlook" /><title>Быстрая (пере) индексация писем в Outlook</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Если вы переустановили OS (например, Windows 7) и никак не можете дождаться пока Outlook (2010, к примеру)&amp;nbsp;проиндексирует весь ваш почтовый архив (ну, большой он, например), то вам сюда. Например :)&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
С этой проблемой я сталкивался уже больше 2х раз. Настроил&amp;nbsp;Outlook, подключил Local Personal Folders, пытаюсь найти письмо -&amp;nbsp;а Outlook&amp;nbsp;вам сообщает, что еще не проиндексировал письма. Индексатор вяло&amp;nbsp;работает в фоне, и если вы что-то активно делаете, то он приостанавливается (это называется search indexer backoff).&amp;nbsp;Кнопки Index Now, которая бы заиндексировала все прямо сейчас тоже нет. В итоге, индексация архива запросто может занять ДНИ.&lt;br /&gt;
&lt;br /&gt;
Так вот, Search Indexer Backoff можно отключить. В окошке &lt;b&gt;Win+R&lt;/b&gt; запускаете &lt;b&gt;gpedit.msc&lt;/b&gt;,&amp;nbsp;в &lt;b&gt;Computer Configuration&amp;gt;Administrative Templates&amp;gt;Windows Components&amp;gt;Search &lt;/b&gt;находите пункт &lt;b&gt;Disable Indexer Backoff &lt;/b&gt;и устанавливаете значение в &lt;b&gt;Enabled &lt;/b&gt;(внимание! нетривиальная логика Disable Enabled). Теперь индексатор&amp;nbsp;не будет снижать скорость индексации, если вы активно работаете с компом. &lt;br /&gt;
&lt;br /&gt;
Назвать это "максимальной" скоростью индексации все равно язык не поворачивается, он там что-то около 5-10 процентов цпу пережевывает, но&amp;nbsp;мой архив в течение часа или&amp;nbsp;около того проиндексировался до конца, тогда как&amp;nbsp;в прошлый раз&amp;nbsp;я страдал целых два дня. После окончания индексации можно вернуть установки обратно.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933369614249771220-1994895345045869693?l=www.shcoder.by' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/p6N_-AYfMXy9lBdij090dfeAYCQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/p6N_-AYfMXy9lBdij090dfeAYCQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/p6N_-AYfMXy9lBdij090dfeAYCQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/p6N_-AYfMXy9lBdij090dfeAYCQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Taqcq?a=cOzkugcvljo:cJzBf0iJzm0:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Taqcq?i=cOzkugcvljo:cJzBf0iJzm0:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Taqcq/~4/cOzkugcvljo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.shcoder.by/feeds/1994895345045869693/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.shcoder.by/2011/03/outlook.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/1994895345045869693?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/1994895345045869693?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Taqcq/~3/cOzkugcvljo/outlook.html" title="Быстрая (пере) индексация писем в Outlook" /><author><name>Andrei Charnou</name><uri>http://www.blogger.com/profile/01286060687350810325</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp0.blogger.com/_hTFMi0z5W-c/SDB7zp0AlzI/AAAAAAAAAN8/8f9wXLEusTw/S220/DSCF1191.JPG" /></author><thr:total>2</thr:total><feedburner:origLink>http://www.shcoder.by/2011/03/outlook.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEHQH46cCp7ImA9WhZQE0w.&quot;"><id>tag:blogger.com,1999:blog-933369614249771220.post-8240586349511001952</id><published>2011-03-13T00:09:00.001+02:00</published><updated>2011-04-20T18:33:51.018+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-20T18:33:51.018+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="RUS" /><title>Про аналогии и метафоры</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Аналогии очень здорово помогают объяснить сложные понятия другим людям, поэтому важно запоминать удачные &lt;span lang="RU" style="font-family: 'Times New Roman','serif'; font-size: 12pt; line-height: 115%; mso-ansi-language: RU; mso-bidi-language: AR-SA; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-US;"&gt;– &lt;/span&gt;вполне вероятно это&amp;nbsp;потом здорово поможет.&lt;br /&gt;
&lt;br /&gt;
Я раньше недооценивал силу аналогий и, наверное, многие тоже недооценивают, поэтому приведу пару примеров из личного опыта.&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
Например, &lt;a href="http://martinfowler.com/bliki/TechnicalDebt.html"&gt;technical debt&lt;/a&gt; мне казался всего лишь красивым словосочетанием,&amp;nbsp;однако выяснилось, что эта аналогия очень близка западному миру.&amp;nbsp;Однажды мы сделали хорошее дело и успели сделать&amp;nbsp;фичу X к демо на 2 дня раньше срока. Правда, после демо заказчик все никак не мог понять, почему мы сразу же не можем приступить к фиче Y.&amp;nbsp;В итоге&amp;nbsp;кто-то случайно сказал, что эти два дня &lt;span lang="RU" style="font-family: 'Times New Roman','serif'; font-size: 12pt; line-height: 115%; mso-ansi-language: RU; mso-bidi-language: AR-SA; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-US;"&gt;– &lt;/span&gt;это technical debt, который мы получили, сделав X раньше срока. Заказчик просиял, и все стало на свои места.&lt;br /&gt;
&lt;br /&gt;
Броское &lt;a href="http://en.wikipedia.org/wiki/Analysis_paralysis"&gt;analysis&lt;/a&gt;-&lt;a href="http://www.c2.com/cgi/wiki?AnalysisParalysis"&gt;paralysis&lt;/a&gt;&amp;nbsp;(пусть и не совсем аналогия, но у многих эта фраза мгновенно вызывает в голове вполне четкую картинку) когда-то мне здорово помогло достичь понимания с коллегой, а спустя год или около того, та же фраза помогла уже этому коллеге объяснить беспокойство по поводу затягивающейся подготовительной фазы заказчику. &lt;br /&gt;
&lt;br /&gt;
На тренинге по коучингу я пытался объяснить тренеру (не айтишнику) проблему рефакторинга &lt;span lang="RU" style="font-family: 'Times New Roman','serif'; font-size: 12pt; line-height: 115%; mso-ansi-language: RU; mso-bidi-language: AR-SA; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-US;"&gt;– &lt;/span&gt;почему программисты все время&amp;nbsp;недовольны своим кодом. Я рассказывал про "качество кода", и было видно, что&amp;nbsp;основная идея куда-то постоянно ускользала. Я понял, что низкое "качество кода"&amp;nbsp;понималось как наличие ошибок в коде. Тогда я&amp;nbsp;сравнил код с книгой &lt;span lang="RU" style="font-family: 'Times New Roman','serif'; font-size: 12pt; line-height: 115%; mso-ansi-language: RU; mso-bidi-language: AR-SA; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-US;"&gt;– &lt;/span&gt;книга может быть написана без ошибок, тем не менее, текст может быть&amp;nbsp;низкого качества, то есть трудночитаемым, плохо структурированным или попросту не интересным. Понимание было достигнуто мгновенно.&lt;br /&gt;
&lt;br /&gt;
Последней аналогией я горжусь, потому что я к ней пришел спонтанно и сам, хотя, вероятно, и не первый. Что мне нравится в этой аналогии, так это её глубина. Из неё постоянно можно вытягивать что-то новенькое, как, впрочем, и из других аналогий. К примеру, при помощи такой аналогии легко объяснить, зачем важно давать понятные имена классам и методам, достаточно сравнить их с названиями глав в книге (названия глав используются в содержании, поэтому удачные названия позволяют лучше ориентироваться в материале).&lt;br /&gt;
&lt;br /&gt;
Надеюсь, теперь стало понятнее, чем так полезны метафоры:&lt;br /&gt;
&lt;ol style="text-align: left;"&gt;&lt;li&gt;Вместо того, чтобы долго чесать языком, всего лишь парой-другой слов можно вскрыть целый пласт проблемы&lt;/li&gt;
&lt;li&gt;Аналогии с понятиями из бытового мира помогают объяснить сложные вещи даже не специалистам&lt;/li&gt;
&lt;li&gt;Аналогии помогают взглянуть по-другому на избитую проблему и прийти к новым оригинальным идеям&lt;/li&gt;
&lt;/ol&gt;Напоследок, хотелось бы, чтобы вы поделились&amp;nbsp;своими любимыми метафорами. Если же с этим тяжело, то попробуйте все же сравнить код и книгу, что еще интересненького можно выудить из этой аналогии?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933369614249771220-8240586349511001952?l=www.shcoder.by' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/NMgnyPAx5QwVKEBO3szLnl9QLrQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NMgnyPAx5QwVKEBO3szLnl9QLrQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/NMgnyPAx5QwVKEBO3szLnl9QLrQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NMgnyPAx5QwVKEBO3szLnl9QLrQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Taqcq?a=ryfancRR-3E:UtkuZAGWeaU:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Taqcq?i=ryfancRR-3E:UtkuZAGWeaU:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Taqcq/~4/ryfancRR-3E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.shcoder.by/feeds/8240586349511001952/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.shcoder.by/2011/03/blog-post.html#comment-form" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/8240586349511001952?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/8240586349511001952?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Taqcq/~3/ryfancRR-3E/blog-post.html" title="Про аналогии и метафоры" /><author><name>Andrei Charnou</name><uri>http://www.blogger.com/profile/01286060687350810325</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp0.blogger.com/_hTFMi0z5W-c/SDB7zp0AlzI/AAAAAAAAAN8/8f9wXLEusTw/S220/DSCF1191.JPG" /></author><thr:total>6</thr:total><feedburner:origLink>http://www.shcoder.by/2011/03/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEHQH86eCp7ImA9WhZQE0w.&quot;"><id>tag:blogger.com,1999:blog-933369614249771220.post-370052759428766056</id><published>2011-03-11T18:19:00.000+02:00</published><updated>2011-04-20T18:33:51.110+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-20T18:33:51.110+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="RUS" /><title>Grumpy Old Editor</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Коллеги из ThomsonReuters посоветовали блог - &lt;a href="http://grumpyoldeditor.wordpress.com/"&gt;http://grumpyoldeditor.wordpress.com/&lt;/a&gt;. Бывший журналист Reuters со стажем работы&amp;nbsp;в три десятка лет пишет о том, как правильно писать. Приятный английский и интересные заметки, есть чему поучиться. &lt;br /&gt;
&lt;br /&gt;
P.S. Rolf Soderlind - не совсем английское имя, правда? Потому что он швед :) Так что происхождение не является оправданием плохому английскому, дерзайте.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933369614249771220-370052759428766056?l=www.shcoder.by' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/924XmPc3i-6tNV7tXQm2-7-R5v4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/924XmPc3i-6tNV7tXQm2-7-R5v4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/924XmPc3i-6tNV7tXQm2-7-R5v4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/924XmPc3i-6tNV7tXQm2-7-R5v4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Taqcq?a=Dd47TQm1eG8:_-NfPvbiaDQ:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Taqcq?i=Dd47TQm1eG8:_-NfPvbiaDQ:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Taqcq/~4/Dd47TQm1eG8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.shcoder.by/feeds/370052759428766056/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.shcoder.by/2011/03/grumpy-old-editor.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/370052759428766056?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/370052759428766056?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Taqcq/~3/Dd47TQm1eG8/grumpy-old-editor.html" title="Grumpy Old Editor" /><author><name>Andrei Charnou</name><uri>http://www.blogger.com/profile/01286060687350810325</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp0.blogger.com/_hTFMi0z5W-c/SDB7zp0AlzI/AAAAAAAAAN8/8f9wXLEusTw/S220/DSCF1191.JPG" /></author><thr:total>3</thr:total><feedburner:origLink>http://www.shcoder.by/2011/03/grumpy-old-editor.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEHQH86eSp7ImA9WhZQE0w.&quot;"><id>tag:blogger.com,1999:blog-933369614249771220.post-4851173681127781865</id><published>2011-02-23T16:39:00.000+02:00</published><updated>2011-04-20T18:33:51.111+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-20T18:33:51.111+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="RUS" /><title>Два монитора</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Мартин Фаулер уже давно &lt;a href="http://martinfowler.com/bliki/BigScreen.html"&gt;говорил&lt;/a&gt;, что самый дешевый способ увеличить продуктивность разработчика, - это купить ему монитор побольше. А лучше два.&lt;br /&gt;
&lt;br /&gt;
Звучит хорошо, но на практике привыкнуть к нескольким мониторам может оказаться непростым делом. &lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
Вообще говоря, проще работать с одним монитором, так что подумайте. Интересный форм-фактор - широкоформатники. На 22-дюймовом мониторе с хорошим разрешением в режиме side by side уже вполне комфортно помещаются два окна без&amp;nbsp;ощущения сжатости.&amp;nbsp;Или, например, на домашнем ноутбуке проблема решается 15-дюймовой матрицей с разрешением в 1650x1080 (на стационарных мониторах обычно таким не заморачиваются, проще больше диагональ сделать, а не лепить пиксели)&amp;nbsp;- кому-то кажется мелковатыми шрифты, но это скорее дело привычки.&lt;br /&gt;
&lt;br /&gt;
Но все же еще лучше два&amp;nbsp;больших монитора. Или три&amp;nbsp;:) Поэтому вернемся к теме.&lt;br /&gt;
&lt;br /&gt;
В&amp;nbsp;Windows 7&amp;nbsp;несколько мониторов настраиваются быстро - через правый клик по рабочему столу и меню Screen Resolution или нажатием Win + P. В общем, выбираем опцию Extend Desktop и поехали.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-9deTiMFqHHc/TWUWTdWn-ZI/AAAAAAAABM4/jeYkigeRGCU/s1600/Win%252BP.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="83" src="http://2.bp.blogspot.com/-9deTiMFqHHc/TWUWTdWn-ZI/AAAAAAAABM4/jeYkigeRGCU/s400/Win%252BP.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Классно когда мониторы одинаковые - и по размеру, и вообще. Разное разрешение неудобно в частоности тем, что перемещая курсор с одного монитора на другой можно споткнуться о невидимый край второго монитора с меньшим разрешением. Если же&amp;nbsp;мониторы просто разные, то возникает дискомфорт в связи с разной яркостью, четкостью, цветопередачей. &lt;br /&gt;
&lt;br /&gt;
Тем не менее в некоторых случаях различное разрешение - неизбежное зло. Например, в случае если вы подключаете второй монитор к ноутбуку. Эту проблему можно частично решить. Оказывается, в меню Screen Resolution в 7ке можно менять расположение мониторов относительно друг друга, просто перетягивая их мышкой. Поэтому если различается разрешение по вертикали, но совпадает по ширине (широкоформатная матрица ноутбука и стандартный монитор), то можно сделать ориентацию по вертикали. То есть у меня ноутбук стоит на столе и "рабочий стол"&amp;nbsp;расширен вверх (а не вбок)&amp;nbsp;на монитор на подставке над ноутбуком.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-JG2a05EZi9E/TWUWi6HQw4I/AAAAAAAABM8/uesc7Pm5Oi8/s1600/Orientation.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-JG2a05EZi9E/TWUWi6HQw4I/AAAAAAAABM8/uesc7Pm5Oi8/s1600/Orientation.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Еще один вариант ориентации, который я видел, - повернуть один из мониторов вертикально (то есть физически&amp;nbsp;"положить" его набок, а&amp;nbsp;потом поменять ориентацию монитора&amp;nbsp;на&amp;nbsp;альбомную&amp;nbsp;в меню Screen Resolution). Так как вертикаль у нас становится длиннее, то это удобно для списков - почтового клиента, списков задач. Правда, не все подставки для мониторов такое позволяют :)&lt;br /&gt;
&lt;br /&gt;
После того, как определились, как расставить мониторы, нужно научится быстро работать с окнами.&lt;br /&gt;
&lt;br /&gt;
Здорово помогают управлятся с окнами на нескольких или больших мониторах новые горячие клавиши 7ки, что кажется удобным:&lt;br /&gt;
&lt;strong&gt;Win + Up/Down Arrow Key&lt;/strong&gt; = Распахнуть/свернуть окно&lt;br /&gt;
&lt;strong&gt;Win + Right/Left Arrow Key&lt;/strong&gt; = Распахнуть окно на левую или правую половину текущего экрана (удобно для больших широкоформатников)&lt;br /&gt;
&lt;strong&gt;Shift + Win + Right/Left Arrow Key&lt;/strong&gt; = Переместить окно на другой монитор (супер!)&lt;br /&gt;
&lt;strong&gt;Win+number (1-9)&lt;/strong&gt; = Запускает (или переключается на активное окно) приложение, закрепленное в этой позиции в панели задач&lt;br /&gt;
&lt;br /&gt;
Вообще, в 7ке с горячими клавишами все хорошо и можно не только перемещать окна. Смотрите &lt;a href="http://lifehacker.com/#!5390086/the-master-list-of-new-windows-7-shortcuts"&gt;сюда&lt;/a&gt; - я для себя почерпнул много нового.&lt;br /&gt;
&lt;br /&gt;
В случае большого количества мониторов легко потерять курсор. В настройках мыши можно включить опцию "подсветки" курсора по нажатию Ctrl. Себе включил, но курсор пока еще не терялся. Видимо, нужно еще пару мониторов добавить.&lt;br /&gt;
&lt;br /&gt;
Ну, пока все. Если какие-нибудь еще хитрости знаете, то пишите в комментарии.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933369614249771220-4851173681127781865?l=www.shcoder.by' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/yQ2tcv5Gvr6sN2vXwKK06S4QjNA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yQ2tcv5Gvr6sN2vXwKK06S4QjNA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/yQ2tcv5Gvr6sN2vXwKK06S4QjNA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yQ2tcv5Gvr6sN2vXwKK06S4QjNA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Taqcq?a=Cm6OeMeFaMY:vifjQ9Aovv4:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Taqcq?i=Cm6OeMeFaMY:vifjQ9Aovv4:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Taqcq/~4/Cm6OeMeFaMY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.shcoder.by/feeds/4851173681127781865/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.shcoder.by/2011/02/blog-post.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/4851173681127781865?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/4851173681127781865?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Taqcq/~3/Cm6OeMeFaMY/blog-post.html" title="Два монитора" /><author><name>Andrei Charnou</name><uri>http://www.blogger.com/profile/01286060687350810325</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp0.blogger.com/_hTFMi0z5W-c/SDB7zp0AlzI/AAAAAAAAAN8/8f9wXLEusTw/S220/DSCF1191.JPG" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-9deTiMFqHHc/TWUWTdWn-ZI/AAAAAAAABM4/jeYkigeRGCU/s72-c/Win%252BP.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.shcoder.by/2011/02/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEHQH86fCp7ImA9WhZQE0w.&quot;"><id>tag:blogger.com,1999:blog-933369614249771220.post-8901343506587080566</id><published>2010-12-08T23:44:00.000+02:00</published><updated>2011-04-20T18:33:51.114+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-20T18:33:51.114+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="RUS" /><category scheme="http://www.blogger.com/atom/ns#" term="ru_lh" /><title>8 привычка высокоэффективных людей</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;Господа, можете меня поздравить, я теперь официально высокоэффективен: прочитал аудиокнигу (ага, в машине) Стивена Коуви «7 привычек высокоэффективных людей». &lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;В целом, слушать книги понравилось. Рулежка доведена до автоматизма и с покупкой автомата стала активней проявляться другая проблема – тянет в сон за рулем. Аудиокниги бодрят. Раньше спасался семечками (только не надо смеятся, лучше семки кушать и ходить в кепке, чем лежать в кювете). С пониманием проблем почти не возникало, но иногда приходится отвлекаться и возвраты давались тяжело. Вторая проблема – хочется делать заметки. Ну, пока без заметок. Видимо, без аудиозаметок не обойтись, но технически опять-таки сложно – нужно следить за дорогой и совершать нетривиальные действия.&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;Теперь о самой книге (и о восьмой привычке местного разлива). &lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;Что реально понравилось, так это её объем в аудиоформате. В общем, похоже, там только выжимки, и, наверное, это правильно. Подобные книги обычно страдают переливанием из пустого в порожнее. С другой стороны, некоторые переходы были не совсем очевидны. Видимо, сказывается местами неудачная компрессия.&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;По поводу содержания. Многим покажется набором банальностей. Например, первая привычка – проактивность. Ну, в общем, кто бы мог подумать. С другой стороны, кто из нас действительно проактивен и умеет нормально слушать собеседника (очередная привычка – сначала активно слушать собеседника и только потом уже пытаться донести свою информацию). Так что бесполезным это чтение не назовешь даже для тех, кто уже знает или догадывался, ну и всегда кто-то да и найдет что-то новенькое.&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;Но вот что еще хотелось бы добавить. Мне кажется, что есть очень важная восьмая привычка. &lt;strong&gt;Задавать вопросы.&lt;/strong&gt; И это не то же самое, что активное слушание (хотя последнее подразумевает вопросы). &lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;a href="http://3.bp.blogspot.com/_hTFMi0z5W-c/TP_6Y61B0vI/AAAAAAAABMI/U7wT13P3Fps/s1600/questions.gif" imageanchor="1" style="clear: right; cssfloat: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="320" n4="true" src="http://3.bp.blogspot.com/_hTFMi0z5W-c/TP_6Y61B0vI/AAAAAAAABMI/U7wT13P3Fps/s320/questions.gif" width="152" /&gt;&lt;/a&gt;Поясню на примерах:&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;- идет встреча, важная шишка говорит – «вопросы есть?»; вопросы есть, но не хочется их задавать, дабы не показать свою некомпетентность&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;- вопросы есть в принципе, но нужно пойти и кому-то их задать, например, вашему боссу, который очень-очень занят (когда планируется повысить зарплату?) и ой как не хочется-то&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;- появляется задача и побежали; работаем, работаем, а через полгода выясняется, что в соседней комнате уже решили проблему – обидно, потратили много времени зря&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;- делают вам ремонт строители, проводят электрику, а на выходных вы заехали поглядеть как идут дела; все уже на своих местах, только один выключатель что-то не работает – ну, видимо, еще в планах, вроде солидные люди, спросишь и как бы скажешь, что не доверяю я вам; заламинировали это дело, все заклеили – а и не работает, оказывается провод-то и бракованный был&lt;/div&gt;&lt;br /&gt;
Для кого-то это и не проблема, но мы, айтишники, обычно не очень умеем задавать вопросы – стесняемся как-то, стараемся сами как-то догадаться, ну и так далее. Особенно явно это проявляется при работе с требованиями. &lt;br /&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;Вот у нас идет разбор хотелки заказчика, мы уже задали 40 вопросов и 41 как-то уже неудобно задавать (ну, мы дураки что ли? сами не можем разобраться?). Ну и ладно, наверное, должно быть так – вроде бы логично. Потом, правда, выясняется, что надо было совсем по-другому.&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;Очень верный признак, что у вас с этим проблемы – это следущий паттерн поведения при поиске нужного прилавка с товарами: вместо того, чтобы спросить персонал, вы предпочитаете не идти на контакт, а самому найти или разобраться по вывескам. Даже если найти товар не удается, вы часто так и уходите из магазина, не купив то, что вам нужно (и не убедившись, что товара действительно нет и искать не стоило). С другой стороны, обратившись за помощью к скучающему и жаждущему общения консультанту в салоне паркета, уходите домой с кучей полезной информации, бесплатным каталогом, прайсом и даже неожиданными скидками. &lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;Вот еще пример из жизни. Схватка, берем очередной уровень. Приезжаем на место (центр города). Открываются двери, все побежали врассыпную на поиски. Ну, почти все. По рации объявляется, что уровень взят. Выяснилось, что выбившийся из общей массы спокойно вышел из машины, подошел к милиционеру, расспросил, не спеша снял код и вернулся в машину. &lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;
&lt;/div&gt;Очередной пример. Взяли в крупный холдинг завхоза. Живенький такой дядечка, все ходил и вопросы задавал – «а тут как?», «а это что?». В итоге, до директора отделения дозадавался. &lt;br /&gt;
&lt;br /&gt;
В общем, как говорил один мой знакомый, «я буду решать эту проблему с позиции дурака, буду задавать глупые вопросы, пока не разберусь». Именно! Не стесняйтесь выглядеть глупо - спрашивайте. Потому что такие люди как раз глупо и не выглядят.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933369614249771220-8901343506587080566?l=www.shcoder.by' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Liwk2pLDkKZOnJQXlkopnb-tPcs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Liwk2pLDkKZOnJQXlkopnb-tPcs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Liwk2pLDkKZOnJQXlkopnb-tPcs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Liwk2pLDkKZOnJQXlkopnb-tPcs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Taqcq?a=jgVH5IobriI:75lGDBWQyh4:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Taqcq?i=jgVH5IobriI:75lGDBWQyh4:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Taqcq/~4/jgVH5IobriI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.shcoder.by/feeds/8901343506587080566/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.shcoder.by/2010/12/8.html#comment-form" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/8901343506587080566?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/8901343506587080566?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Taqcq/~3/jgVH5IobriI/8.html" title="8 привычка высокоэффективных людей" /><author><name>Andrei Charnou</name><uri>http://www.blogger.com/profile/01286060687350810325</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp0.blogger.com/_hTFMi0z5W-c/SDB7zp0AlzI/AAAAAAAAAN8/8f9wXLEusTw/S220/DSCF1191.JPG" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_hTFMi0z5W-c/TP_6Y61B0vI/AAAAAAAABMI/U7wT13P3Fps/s72-c/questions.gif" height="72" width="72" /><thr:total>5</thr:total><feedburner:origLink>http://www.shcoder.by/2010/12/8.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEHQH86fSp7ImA9WhZQE0w.&quot;"><id>tag:blogger.com,1999:blog-933369614249771220.post-5367531432252061633</id><published>2010-10-18T23:19:00.001+03:00</published><updated>2011-04-20T18:33:51.115+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-20T18:33:51.115+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="RUS" /><title>5 мифов о документации</title><content type="html">Наверное, самая частая жалоба IT-шников – это отсутствие документации на проекте. Желание обрести “peace of mind” и иметь четкую инструкцию, что и за чем надо делать, вполне понятно, однако мифов по поводу документации столь много, что всех сезонов myth busters не хватит на внесение ясности в данный вопрос. &lt;br /&gt;
&lt;br /&gt;
И все же давайте попробуем! Итак, 5 мифов о документации.&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;Миф1: Чем подробней, тем лучше&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Я вам приведу контр-пример. Однажды я имел счастье ознакомиться с архитектурным документом на пару сотен страниц. Я не шучу. Я, наверное, неделю потратил на его изучение. Моя самооценка серьезно упала. Нет, не потому что я "осознал", что до этого жил неправильно и наш дизайн был недостаточно подробен. Я ничего не мог понять в этом документе. На меня вывалились потоки информации, абсолютно не нужные для решения моей задачи. Более того, в итоге выяснилось, что информации конкретно по моей задаче как раз и недостаточно.&lt;br /&gt;
&lt;br /&gt;
То есть детализация имеет мало общего с понятностью и правильностью тезисов.&lt;br /&gt;
&lt;br /&gt;
Поэтому помните – после того, как вы напишите документ, кому-то придется его читать. Причем, если вы напишите его один раз, то читать его будут намного больше раз. Реальная экономия времени как раз в том, чтобы потребители тратили на чтение меньше времени.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Миф2: Навалились, еще чуть-чуть, и вот оно счастье!&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Многие думают (точнее не задумывались, просто многим так кажется), что документация это некое разовое усилие. Вот мы сейчас напишем дизайн, согласуем требования, и все будет хорошо на веки вечные. В реальности же, чем подробней вы пишите документацию, тем больше требуется усилий на поддержание её в приемлемом состоянии. &lt;br /&gt;
&lt;br /&gt;
Представьте себе ситуацию, когда документация обновляется, но все время с небольшим опозданием. В итоге, чтобы объяснить какой-то документ другому человеку, все равно документа недостаточно, и нужен кто-то, кто объяснит как оно на самом деле. Доверие к документации падает, после прочтения некого тезиса участники все равно его перепроверяют устно с носителями знаний. На передачу информации тратится столько же времени, как и в случае отсутствия документации. Плюс тратится время на саму документацию. По-моему, мы сами себя обманули?&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Миф3: Документации нет. Очевидно, что в этом виноват кто-то другой&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Многие думают, что документация должна свалиться на них как манна небесная. На самом деле, по любой методологии разработчики должны принимать участие в документировании всех артефактов, начиная с требований, заканчивая дизайном.&lt;br /&gt;
&lt;br /&gt;
Многим, конечно, невдомек, что это не внешняя, а внутренняя проблема и начинать нужно с себя – например, приучить себя вовремя заполнять журнал (btw, это тоже документация, просто в другом формате). Серьезно, ведь на это нужно всего-то N минут в неделю, если вам так сложно это сделать, то почему вы думаете, что кому-то проще тратить значительно больше времени на другое? &lt;br /&gt;
&lt;br /&gt;
Окей, вы заполняете журнал вовремя. Как на счет комментариев в коде? Каждый ли коммит в репозиторий содержит комментарий? Когда вы закрываете баг, всегда ли вы сопровождаете это комментарием и корректно переводите статусы?&lt;br /&gt;
&lt;br /&gt;
По сути, это тоже документация, просто в другом формате, на чем я бы хотел остановиться поподробней в следующем мифе:&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Миф4: Документация – это файлы в формате .doc. Окей, .xls тоже годится&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Традиционно результатом code review является .doc файл с табличкой, а может быть и .xls файлик. Удобно ли пользоваться таким документом? В случае если code review проводится группой людей, неплохо бы положить файл в репозиторий. Да, к сожалению, с merge изменений могут быть проблемы – файл лучше блокировать на время редактирования. &lt;br /&gt;
&lt;br /&gt;
Что если список вести как issues в &lt;a href="http://www.jetbrains.com/youtrack/"&gt;YouTrack&lt;/a&gt;, например? Просто пометить их определенным тэгом. Команда может голосовать по каждому пункту, оставлять комментарии и сразу принимать в работу, как любую другую задачу. Лучше, чем .doc, правда?&lt;br /&gt;
&lt;br /&gt;
А что если дизайн вести в &lt;a href="http://c2.com/cgi/wiki?WikiHistory"&gt;wiki&lt;/a&gt;? Разработчики могут самостоятельно вносить изменения сразу после того, как поменялась структура кода. Писать, пользуясь разметкой wiki – это по-хакерски, ребятам понравится. Незнакомый термин? Дайте кросс-ссылку, таким образом вы получите не просто текст, но нечто более интерактивное.&lt;br /&gt;
&lt;br /&gt;
Product manager просит вас составить список шагов, который выполняется во время работы CruiseControl. Сделаем ему .xls? А что если аккуратно именовать Ant targets и написать html-страничку, которая красиво показывает, что и за чем следует в Ant скрипте. И поддерживать документ не надо, добавили target – он уже в отчете.&lt;br /&gt;
&lt;br /&gt;
Про банальную генерацию .chm из комментариев в коде даже не буду упоминать. &lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Миф5: Заказчик постоянно меняет требования. Мы сделаем спецификацию и будем использовать её как щит&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Да, пора снять розовые очки – это не работает. Какая основная задача разработчиков? Ну, помимо написания &lt;a href="http://www.shcoder.by/search/label/TDD"&gt;unit-test-ов&lt;/a&gt;, нужно, чтобы заказчик был доволен. Если вы упретесь рогом «Погоди, но ведь здесь так написано, даже если тебе это и не нравится», то будет ли заказчик доволен? Наверное, нет, но, скажете вы, по крайней мере, он нам будет обязан заплатить деньги.&lt;br /&gt;
&lt;br /&gt;
Не уверен. Потому что не получится все однозначно описать, наступит праздник и на его улице и недовольный заказчик жестко отыграется на каком-нибудь вашем упущении в спецификации. &lt;br /&gt;
&lt;br /&gt;
А продолжит ли он с вами дальнейшую работу? А посоветует ли он вас своим партнерам? Или все-таки напишет где-нибудь у вас на сайте, что никогда в жизни не будет с вами работать и другим посоветует того же?&lt;br /&gt;
&lt;br /&gt;
В такой ситуации не стоит забывать, что иногда бодаться сложнее (я говорю не про порох в пороховницах, я имею ввиду - затратнее по времени), чем посмотреть, что мы можем сделать и таки обрадовать заказчика.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Итак, самый главный вопрос - «Что делать?»&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Документация имеет ряд очевидных минусов, поэтому любой документ должен иметь хорошее обоснование. Некоторые программисты сталкиваются с проблемами при устном общении, надо признать, что писатели из нас тоже посредственные (почитайте мой блог, ну не уныло?), поэтому и писать её никто не хочет.&lt;br /&gt;
&lt;br /&gt;
Тем не менее документация все же пишется и пишется, чтобы решать конкретные проблемы. Если просто удалить все .doc файлы в вашей проектной папке, не придумав взамен другое решение, то вряд ли получится что-то хорошее.&lt;br /&gt;
&lt;br /&gt;
Однако, подумайте об этом с другой стороны. Если продукт хороший и интерфейс интуитивно понятный, часто ли приходиться заглядывать в User Guide? Если у вас огромный Installation Guide, не значит ли это что нужно заняться автоматизацией? В случае подробной спецификации, не работаете ли вы по Waterfall модели – без тесного общения с заказчиком в процессе разработки? Во многих случаях документация – это своеобразный workaround для проблем, которые эффективнее решаются другими способами.&lt;br /&gt;
&lt;br /&gt;
Мартин Фаулер писал в «Рефакторинге», что комментарии внутри метода – это плохой запах часто намекающий на то, что нужен рефакторинг. Если у вас в методе появляется //этот код вычисляет эту штуку вот таким офигенским спосбом, то скорее всего вам нужно выделить кусок кода в метод getШтукаОфигенски(); и комментарий больше будет не нужен.&lt;br /&gt;
&lt;br /&gt;
На данный момент многие методики и инструменты продвинулись вперед и многие проблемы, решаемые документацией, решаются нынче другими способами. &lt;br /&gt;
&lt;br /&gt;
Нужен knowledge sharing? Парное программирование с разработчиками, меняющими пары, поможет распределить опыт и знания внутри команды. &lt;br /&gt;
&lt;br /&gt;
Вместо сложного дизайна и объемных архитектурных документов используется принцип Simple Design (&lt;a href="http://www.martinfowler.com/articles/designDead.html"&gt;http://www.martinfowler.com/articles/designDead.html&lt;/a&gt;), подкреплённый юнит-тестами, непрерывным рефакторингом и code review в результате работы в паре. &lt;br /&gt;
&lt;br /&gt;
Резюмируя, если вам не хочется поддерживать очередной документ, то принюхайтесь, не попахивает ли он неэффективным процессом. Может быть, просто нужно оглянуться назад и внедрить новую инженерную практику, о которой вам рассказывали недавно на тренинге?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933369614249771220-5367531432252061633?l=www.shcoder.by' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/v5nTe5Usrx1CASNDnEID-BQu3lg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/v5nTe5Usrx1CASNDnEID-BQu3lg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/v5nTe5Usrx1CASNDnEID-BQu3lg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/v5nTe5Usrx1CASNDnEID-BQu3lg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Taqcq?a=I5aCZnja-1w:VlvAFK9RnFo:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Taqcq?i=I5aCZnja-1w:VlvAFK9RnFo:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Taqcq/~4/I5aCZnja-1w" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.shcoder.by/feeds/5367531432252061633/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.shcoder.by/2010/10/5.html#comment-form" title="8 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/5367531432252061633?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/5367531432252061633?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Taqcq/~3/I5aCZnja-1w/5.html" title="5 мифов о документации" /><author><name>Andrei Charnou</name><uri>http://www.blogger.com/profile/01286060687350810325</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp0.blogger.com/_hTFMi0z5W-c/SDB7zp0AlzI/AAAAAAAAAN8/8f9wXLEusTw/S220/DSCF1191.JPG" /></author><thr:total>8</thr:total><feedburner:origLink>http://www.shcoder.by/2010/10/5.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEHQH86fSp7ImA9WhZQE0w.&quot;"><id>tag:blogger.com,1999:blog-933369614249771220.post-4489430401971781741</id><published>2010-10-14T23:20:00.000+03:00</published><updated>2011-04-20T18:33:51.115+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-20T18:33:51.115+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="RUS" /><title>#devcamp #di_by 1й день - впечатления</title><content type="html">&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;a href="http://2.bp.blogspot.com/_hTFMi0z5W-c/TLdjETeSNKI/AAAAAAAABLU/Nqreu6VQ-8E/s1600/177189084.jpg" imageanchor="1" style="clear: right; cssfloat: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" ex="true" height="191" src="http://2.bp.blogspot.com/_hTFMi0z5W-c/TLdjETeSNKI/AAAAAAAABLU/Nqreu6VQ-8E/s320/177189084.jpg" width="320" /&gt;&lt;/a&gt;На 14е я специально резервировал день отпуска, чтобы посетить &lt;a href="http://devcamp.by/"&gt;http://devcamp.by/&lt;/a&gt;, - программа выглядела очень заманчиво. День прошел (и еще три дня впереди! особенно надеюсь на воскресенье), и так как далеко не все, кто хотел, смогли посетить конференцию сегодня,&amp;nbsp;то попытаюсь вкратце описать мои впечатления.&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;Первый день #devcamp был посвящен Project Management. Большая часть информации не была для меня чем-то новым, тем не менее даже знакомый материал - хорошо поданный и структурированный - подталкивает на интересные мысли. &lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;Обычно выступающие рассказывают про свой уникальный опыт, а не про теорию, что придает живость материалу и некий эмоциональный толчек (а у других-то работает), поэтому многие удачные попытки применить на практике уже знакомые методики начинались&amp;nbsp;именно с подобных конференций.&amp;nbsp;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;Что запомнилось? &lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;
&lt;/div&gt;Качественным исполнением и глубиной проработки материала порадовали коллеги из EPAM Systems:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Ваня Кравченко с Customer Focus (удачный шанс наконец-то послушать доклад, который я пропустил на &lt;a href="http://www.shcoder.by/2010/09/560.html"&gt;EPAM TR&amp;nbsp;Conference&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Юра Шиляев с&amp;nbsp;Командоварением&lt;/li&gt;
&lt;li&gt;Денис Петелин с Немотивирующими деньгами&lt;/li&gt;
&lt;/ul&gt;Выгодно отличались живостью выступлений и презентаций коллеги из Exigen Services:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Света Колупаева про Парное программировани&lt;/li&gt;
&lt;li&gt;Дима Зданович про Ретроспективу&lt;/li&gt;
&lt;/ul&gt;Ребята, большое спасибо, вы молодцы.&lt;br /&gt;
&lt;br /&gt;
Очень рад, что знакомые уже&amp;nbsp;многим епамовцам тренера/презенторы, высоко оцениваются не только коллегами внутри компании, но и более широкой аудиторией. Да, у нас действительно неплохо, и EPAM - это далеко не МакДональдс, как кто-то думал до конференции&amp;nbsp;;)&lt;br /&gt;
&lt;br /&gt;
Не на всех докладах пришлось побывать,&amp;nbsp;поэтому если кого не упомянул - не обижайтесь, может быть, еще получу удовольствие от просмотра записи на &lt;a href="http://di.by/"&gt;http://di.by/&lt;/a&gt;&amp;nbsp;и обязательно напишу :)&lt;br /&gt;
&lt;br /&gt;
Конечно, грех жаловаться, но как нас учит Дима Зданович, важно проводить ретроспективы и учиться на ошибках, а также в напутствие тем, кто еще только планирует заехать на #di_by, - были и некоторые неудобства:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Все-таки в шатре холодно, наверное, этот формат не для октября месяца&amp;nbsp;:) Тем не менее, спасибо за пледы, они здорово помогли!&lt;/li&gt;
&lt;li&gt;Указки, пульты ДУ, возможность подключить звук - надеюсь, на последующих днях все подготовят заранее, некоторым выступающим было действительно сложно&lt;/li&gt;
&lt;li&gt;Думаю, что в Загорье не так уж много посторонних людей, жаждущих воспользоваться халявным вай-фаем, - можно было бы просто дать публичный доступ, особенно учитывая то, что, как выяснилось,&amp;nbsp;одной циферки в выданном пароле просто не хватало :)&lt;/li&gt;
&lt;li&gt;И все же возможность норамльно пообедать, пусть и за деньги, не выезжая в Минск (мы в итоге припоздали на fluent English)&amp;nbsp;- это важно :) Я понимаю, что можно было заранее зарегестрироваться, но стоило дополнительно указать, что если этого не сделать, то будут только слойки&lt;/li&gt;
&lt;li&gt;Чуть больше указателей на Загорье не помешало бы :)&lt;/li&gt;
&lt;/ul&gt;Тем не менее, конференция здоровская, за что организаторам огромное спасибо! Увидимся в ближайшие дни на&amp;nbsp;#devcamp,&amp;nbsp;и помните, что конференция это не только шанс послушать умных людей, но и отличный способ пообщаться со своими коллегами по цеху.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933369614249771220-4489430401971781741?l=www.shcoder.by' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/6WcWzAHab77Hc04hEk3U73vPLRA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6WcWzAHab77Hc04hEk3U73vPLRA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/6WcWzAHab77Hc04hEk3U73vPLRA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6WcWzAHab77Hc04hEk3U73vPLRA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Taqcq?a=fnkRvGafMIc:qO2Sv-9A-2U:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Taqcq?i=fnkRvGafMIc:qO2Sv-9A-2U:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Taqcq/~4/fnkRvGafMIc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.shcoder.by/feeds/4489430401971781741/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.shcoder.by/2010/10/devcamp-diby-1.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/4489430401971781741?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/4489430401971781741?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Taqcq/~3/fnkRvGafMIc/devcamp-diby-1.html" title="#devcamp #di_by 1й день - впечатления" /><author><name>Andrei Charnou</name><uri>http://www.blogger.com/profile/01286060687350810325</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp0.blogger.com/_hTFMi0z5W-c/SDB7zp0AlzI/AAAAAAAAAN8/8f9wXLEusTw/S220/DSCF1191.JPG" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_hTFMi0z5W-c/TLdjETeSNKI/AAAAAAAABLU/Nqreu6VQ-8E/s72-c/177189084.jpg" height="72" width="72" /><thr:total>3</thr:total><feedburner:origLink>http://www.shcoder.by/2010/10/devcamp-diby-1.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEHQH86fip7ImA9WhZQE0w.&quot;"><id>tag:blogger.com,1999:blog-933369614249771220.post-8603451575285957162</id><published>2010-10-01T22:32:00.000+03:00</published><updated>2011-04-20T18:33:51.116+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-20T18:33:51.116+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Lifehack" /><category scheme="http://www.blogger.com/atom/ns#" term="RUS" /><category scheme="http://www.blogger.com/atom/ns#" term="Outlook" /><title>Uber Inbox и альтернатива Recall Message</title><content type="html">По горячим следам &lt;a href="http://www.shcoder.by/2010/09/hacking-outlook-public-folders.html"&gt;предыдущего поста&lt;/a&gt; еще пару Oulook советов. &lt;br /&gt;
&lt;br /&gt;
Очень часто возникает ситуация, когда Inbox усердно сортируется по папкам, а Sent Items лежат большой дымящейся кучей. &lt;a href="http://blogs.msdn.com/b/outlook/archive/2007/10/05/ultimate-inbox-merging-inbox-and-sent-items-folders.aspx"&gt;Статья&lt;/a&gt;&amp;nbsp;(осторожно, английский) описывает, как сделать так, чтобы Sent Items появлялись в вашем Inbox. В итоге посланные письма будут попадать под тот же самый механизм сортировки, что и принятые письма. &lt;br /&gt;
&lt;br /&gt;
Вкратце, в Options Outlook-а отключается сохранение писем в Sent Items и добавляется правило на сохранение письма в Inbox после отправки. Очень просто, по-моему, все должно быть понятно по скриншотам в статье. &lt;br /&gt;
&lt;br /&gt;
В статье также указывается, что это хороший способ увидеть ваши&amp;nbsp;ответы в &lt;a href="http://blogs.msdn.com/b/outlook/archive/2009/07/20/what-s-up-with-my-inbox-in-outlook-2010.aspx"&gt;Conversations&lt;/a&gt;. На самом деле, в Outlook 2010 это не требуется. Просто поставьте галочку:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_hTFMi0z5W-c/TKY3GzY4D5I/AAAAAAAABLQ/odvTSj7-jjs/s1600/Show+From+Other+Folders.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" px="true" src="http://2.bp.blogspot.com/_hTFMi0z5W-c/TKY3GzY4D5I/AAAAAAAABLQ/odvTSj7-jjs/s1600/Show+From+Other+Folders.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Более того, таким способом Outlook включит письма в Conversations не только из Sent Items, но и из других папок, включая локальные папки.&lt;br /&gt;
&lt;br /&gt;
Вдобавок,&amp;nbsp;на лайфхакер.ру рассказали про &lt;a href="http://lifehacker.ru/2010/09/29/nazhat-send-i-pozhalet-kak-perehvatit-uzhe-%c2%abotpravlennoe%c2%bb-pismo-v-outlook/"&gt;альтернативу&lt;/a&gt; отзыва посланного письма. &lt;br /&gt;
&lt;br /&gt;
Отзыв письма встроен в Outlook, но работает как-то странно. Обычно люди узнают об этой возможности, когда к ним приходит 2 письма - оригинал и отзыв.&amp;nbsp;Все&amp;nbsp;сразу бросаются&amp;nbsp;посмотреть, что же такого ляпнули в оригинале, что его отзывают. В теории, правда, оригинал должен удалиться из почтового ящика адресата. &lt;br /&gt;
&lt;br /&gt;
Решение, предлагаемое лайфхакером, простое. Опять-таки, на событие "отправка письма" вешается действие по задержке отправки на 3 минуты. После нажатия кнопки Send письмо 3 минуты лежит у вас в Outbox, его можно удалить, поправить и т.п. Сразу скажу, мне показалось, что достаточно 1-1.5 минуты.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933369614249771220-8603451575285957162?l=www.shcoder.by' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/gBq_xMXOrm2fs28RRoRogt7Iy3M/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gBq_xMXOrm2fs28RRoRogt7Iy3M/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/gBq_xMXOrm2fs28RRoRogt7Iy3M/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gBq_xMXOrm2fs28RRoRogt7Iy3M/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Taqcq?a=T3__Xm0K-yM:2marc6eaQSQ:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Taqcq?i=T3__Xm0K-yM:2marc6eaQSQ:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Taqcq/~4/T3__Xm0K-yM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.shcoder.by/feeds/8603451575285957162/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.shcoder.by/2010/10/uber-inbox-recall-message.html#comment-form" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/8603451575285957162?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/8603451575285957162?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Taqcq/~3/T3__Xm0K-yM/uber-inbox-recall-message.html" title="Uber Inbox и альтернатива Recall Message" /><author><name>Andrei Charnou</name><uri>http://www.blogger.com/profile/01286060687350810325</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp0.blogger.com/_hTFMi0z5W-c/SDB7zp0AlzI/AAAAAAAAAN8/8f9wXLEusTw/S220/DSCF1191.JPG" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_hTFMi0z5W-c/TKY3GzY4D5I/AAAAAAAABLQ/odvTSj7-jjs/s72-c/Show+From+Other+Folders.png" height="72" width="72" /><thr:total>5</thr:total><feedburner:origLink>http://www.shcoder.by/2010/10/uber-inbox-recall-message.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEHQH86fyp7ImA9WhZQE0w.&quot;"><id>tag:blogger.com,1999:blog-933369614249771220.post-878181604796040796</id><published>2010-09-27T23:52:00.000+03:00</published><updated>2011-04-20T18:33:51.117+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-20T18:33:51.117+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Lifehack" /><category scheme="http://www.blogger.com/atom/ns#" term="RUS" /><category scheme="http://www.blogger.com/atom/ns#" term="Outlook" /><title>Hacking Outlook Public Folders</title><content type="html">Если вы работаете в крупной компании, то скорее всего пользуетесь Exchange Server и Outlook.&amp;nbsp;Вероятно,&amp;nbsp;у вас большой поток писем и&amp;nbsp;часто возникает надобность делиться письмами с вашей командой.&lt;br /&gt;
&lt;br /&gt;
Для этой цели хорошо подходят &lt;a href="http://office.microsoft.com/ru-ru/outlook-help/HA010148788.aspx"&gt;Public Folders&lt;/a&gt; - вы создаете для вашей команды такую папку со своей структурой,&amp;nbsp;и вся проектная переписка попадает туда. Вместо того, чтобы делать коллеге Forward письма или ставить в CC всю команду просто на всякий случай (рискуя попасть под spam фильтр), вы перетягиваете письма в ваш Public Folder. &lt;br /&gt;
&lt;br /&gt;
Письма не занимают дополнительного места на вашей рабочей машине,&amp;nbsp;в случае проблемы с ней - все письма можно найти на сервере, за исправностью которого следят IT службы.&lt;br /&gt;
&lt;br /&gt;
Резюмируя, я хотел бы поделиться с вами несколькими приемами работы с Public Folders, которые я в последнее время часто использую.&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;&lt;span style="font-size: large;"&gt;Чтение Inbox&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Во-первых, я держу свой Inbox пустым (похоже на то, что описывает Макс Дорофеев в &lt;a href="http://www.shcoder.by/2010/08/blog-post_22.html"&gt;своем слайдкасте&lt;/a&gt;), поэтому новых писем немного и они отправляются либо в Public Folders (архив), либо в Local Folders (личное), либо в задачи. Письма в Inbox отсортированы по дате по возрастанию (то есть новые письма - внизу). Это честнее по отношению к коллегам&amp;nbsp;и так удобнее читать.&lt;br /&gt;
&lt;br /&gt;
Читая письма, я пользуюсь пробелом. Включить эту опцию можно в File&amp;gt;Options&amp;gt;Mail&amp;gt;Outlook Panes&amp;gt;Reading Pane:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_hTFMi0z5W-c/TKC4sTXxXGI/AAAAAAAABK0/u8T7IcIPaeQ/s1600/Reading+Pane+Options.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="153" px="true" src="http://1.bp.blogspot.com/_hTFMi0z5W-c/TKC4sTXxXGI/AAAAAAAABK0/u8T7IcIPaeQ/s320/Reading+Pane+Options.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;
&lt;div&gt;При нажатии пробела Outlook скроллит письмо, а после того, как оно закончилось, переходит на следующее письмо в списке. Таким образом, вы можете прочитать все письма пользуясь лишь одной клавишей - ни одного скролла мышкой.&lt;/div&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;Public Folders видны только в Folder List View (Ctrl+6), поэтому если вы используете Mail View (Ctrl+1), который значительно компактнее и включает секцию Favorites, то перетягивание писем вручную в Public Folders&amp;nbsp;может быть утомительным. В любом случае, стандартная процедура перетягивания письма обычно требует активной мышиной возни, а это вредно для ваших суставов. &lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;strong&gt;&lt;span style="font-size: large;"&gt;Quick Steps&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;В Outlook 2010 можно создать &lt;a href="http://office.microsoft.com/ru-ru/outlook-help/HA010370689.aspx"&gt;Quick Steps&lt;/a&gt; для часто повторяемых действий, например, вот так:&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;
&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_hTFMi0z5W-c/TKC3WvVtzwI/AAAAAAAABKw/r7Rj1kd02p8/s1600/Quick+Steps.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" px="true" src="http://4.bp.blogspot.com/_hTFMi0z5W-c/TKC3WvVtzwI/AAAAAAAABKw/r7Rj1kd02p8/s1600/Quick+Steps.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;
&lt;div&gt;Как видите,&amp;nbsp;у меня есть два основных типа Quick Steps:&lt;/div&gt;&lt;/div&gt;&lt;ol&gt;&lt;li style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;Переместить письмо в одну из проектных&amp;nbsp;Public Folders&amp;nbsp;и пометить его&amp;nbsp;как прочтенное&lt;/li&gt;
&lt;li style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;Создать задачу и прикрепить к ней письмо&lt;/li&gt;
&lt;/ol&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;У каждого Quick Step есть горячее сочетание клавиш. Outlook 2010 здесь не гибок и дает возможность использовать только Ctrl+Shift+число от 1-9. Каждый Quick Step у меня начинается с цифры, которая подсказывает, какой hot key использовать для Quick Step. Панель сверху используется просто как памятка, я не нажимаю на Quick Steps мышкой.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;
Если письмо не требует от меня действий, я нажимаю одно из&amp;nbsp;сочетаний&amp;nbsp;Ctrl+Shift+номер папки, и письмо попадает в нужный Public Folder. &lt;br /&gt;
&lt;br /&gt;
Создать такой Quick Step непросто. В диалоге создания Quick Step при выборе стандартного действия "Move To" Outlook предлагает указать целевую папку - набор недавно использованных папок либо опция Other Folder, показывающая структуру ваших папок в диалоговом окне. Удивительно, но в этом диалоге нет Public Folders.&lt;br /&gt;
&lt;br /&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;a href="http://1.bp.blogspot.com/_hTFMi0z5W-c/TKC5pq_ZqII/AAAAAAAABK4/I5NUpPkXFBc/s1600/Move.PNG" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" px="true" src="http://1.bp.blogspot.com/_hTFMi0z5W-c/TKC5pq_ZqII/AAAAAAAABK4/I5NUpPkXFBc/s1600/Move.PNG" /&gt;&lt;/a&gt;Зато если вы&amp;nbsp;выберете или откроете&amp;nbsp;письмо, затем нажмете&amp;nbsp;кнопку Move в Ribbon меню над письмом и выберете опцию&amp;nbsp;Other Folder, то там сможете выбрать нужный вам Public Folder.&amp;nbsp;После этого эта папка будет доступна в списке недавних папок и теперь можно будет создать соответствующий Quick Step.&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;
Помимо перетягивания писем в Public Folders, можно также включать в CC почтовый адрес целевого Public Folder, однако, убедить заказчиков так поступать обычно сложно.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;span style="font-size: large;"&gt;Письма-задачи&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Quick Step для создания&amp;nbsp;задачи из письма звучит как перебор, ведь все знают, что письмо можно отметить флажком, и оно попадет в ваш список задач. Но с этим способом есть проблема - ваша задача будет названа Subject-ом письма и не будет говорить вам, что требуется сделать (что уже не очень правильно).&amp;nbsp;Если же вам нужно&amp;nbsp;выполнить разные действия на письма с похожим Subject-ом или если Subject письма нерелевантен, то читать подобные списки задач непросто. Таким образом, этот Quick Step мотивирует вас на создание корректных задач и поддержание вашего to do list в хорошем состоянии.&lt;/div&gt;&lt;br /&gt;
&lt;strong&gt;&lt;span style="font-size: large;"&gt;Быстрый доступ к Public Folders&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Так как Public Folders расположены удаленно, то могут возникнуть 3 проблемы:&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Недоступность папок в Offline режиме&lt;/li&gt;
&lt;li&gt;Медленный поиск&lt;/li&gt;
&lt;li&gt;Также может быть неудобно то, что папки не доступны&amp;nbsp;в Mail View (только в Folder List)&lt;/li&gt;
&lt;/ol&gt;По поводу 3го пункта - если нажать Ctrl и щелкнуть мышью по Quick Step, то вы перейдете в папку, в которую Quick Step должен перемещать письма.&lt;br /&gt;
&lt;br /&gt;
Также можно использовать Favorites. Работает это не совсем тривиально, поэтому немного деталей.&lt;br /&gt;
&lt;br /&gt;
В Folder List находите ваш любимый Public Folder и в меню&amp;nbsp;по правому щелчку мыши выбираете опцию Add To Favorites; ваш Public Folder попадет в секцию Public Folders &amp;gt; Favorites&amp;nbsp;- он все еще не в основном Favorites в Mail View. &lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_hTFMi0z5W-c/TKD0KqdEc9I/AAAAAAAABLA/kzmfHILdyXc/s1600/Public+Folders.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" px="true" src="http://1.bp.blogspot.com/_hTFMi0z5W-c/TKD0KqdEc9I/AAAAAAAABLA/kzmfHILdyXc/s1600/Public+Folders.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div&gt;Далее, выбрав вашу папку в&amp;nbsp;Favorite Public Folders, нажимаете по ней&amp;nbsp;правым щелчком, и выбираете пункт&amp;nbsp;Show in Favorites - эта опция&amp;nbsp;наконец-то добавит&amp;nbsp;выбранный Public Folder в Favorites в Mail View. &lt;/div&gt;&lt;br /&gt;
Кстати,&amp;nbsp;в Favorites можно также добавить ссылки на &lt;a href="http://office.microsoft.com/ru-ru/outlook-help/HP007328474.aspx"&gt;Search Folders&lt;/a&gt;, разбив свой входящий поток писем&amp;nbsp;по разным критериям (например, важные письма, письма, где только вы в TO или где вы всего лишь в CС). Это может помочь после возращения из отпуска или после болезни, когда писем действительно много.&lt;br /&gt;
&lt;br /&gt;
То, что Outlook делает в&amp;nbsp;случае добавления папки в Public Folder Favorites&amp;nbsp;зависит от настроек File&amp;gt;Account Settings&amp;gt;E-mail&amp;gt;Ваш Аккаунт&amp;gt;Change&amp;gt;More Settings:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_hTFMi0z5W-c/TKC8KSPsI-I/AAAAAAAABK8/U_CVj3Fyvv0/s1600/Cached+Mode.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" px="true" src="http://4.bp.blogspot.com/_hTFMi0z5W-c/TKC8KSPsI-I/AAAAAAAABK8/U_CVj3Fyvv0/s1600/Cached+Mode.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Eсли пункт Download Public Folder Favorites помечен галкой, то Outlook создает локальную версию&amp;nbsp;удаленной папки&amp;nbsp;и периодически синхронизирует вашу локальную версию с версией на сервере.&amp;nbsp;Теперь папка становится доступной и в Offline режиме, также поиск по папке может быть быстрее. &lt;br /&gt;
&lt;br /&gt;
Возникает непреодолимое желание выбрать эту опцию, но попробовав её, я был вынужден её отключить: &lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Почему-то письма скачиваются, если вы их открываете напрямую из Public Folders, если просматривать письма из Favorites, то Outlook переливается всеми цветами своей палитры, но письмо не показывает. &lt;/li&gt;
&lt;li&gt;Синхронизация папок происходит не сразу - вы письмо уже скопировали, а в Favorites его еще не видно. &lt;/li&gt;
&lt;li&gt;Если вы перетащите письмо в Favorites - оно попадет лишь в вашу локальную копию общей папки и не появится на сервере. То есть эти папки по сути read only (хотя сначала таковыми не выглядят).&lt;/li&gt;
&lt;/ul&gt;Если же эта опция не включена, то в Favorites у вас будет просто ссылка на Public Folder - никаких сюрпризов, вы работаете с удаленной папкой. Если вы туда перетащите письмо, то оно попадет на сервер. &lt;br /&gt;
&lt;br /&gt;
В связи с этим, с первыми двумя проблемами я смирился (проблема доступа к папкам в offline и не такой шустрый поиск), зато если вы потеряете свой notebook, то меньше будет проблем с offline контентом на нем, плюс поиск может быть и медленный, но потребляет меньше ресурсов на вашей машине (наверное).&lt;br /&gt;
&lt;br /&gt;
Собственно, на этом пока все, надеюсь что-то из того, что я написал вам пригодится.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933369614249771220-878181604796040796?l=www.shcoder.by' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/OuNcZt65WmZZIBAiN0Zx67H3_RE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OuNcZt65WmZZIBAiN0Zx67H3_RE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/OuNcZt65WmZZIBAiN0Zx67H3_RE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OuNcZt65WmZZIBAiN0Zx67H3_RE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Taqcq?a=IdK6znhWZ3o:qARl7DnLk24:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Taqcq?i=IdK6znhWZ3o:qARl7DnLk24:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Taqcq/~4/IdK6znhWZ3o" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.shcoder.by/feeds/878181604796040796/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.shcoder.by/2010/09/hacking-outlook-public-folders.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/878181604796040796?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/878181604796040796?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Taqcq/~3/IdK6znhWZ3o/hacking-outlook-public-folders.html" title="Hacking Outlook Public Folders" /><author><name>Andrei Charnou</name><uri>http://www.blogger.com/profile/01286060687350810325</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp0.blogger.com/_hTFMi0z5W-c/SDB7zp0AlzI/AAAAAAAAAN8/8f9wXLEusTw/S220/DSCF1191.JPG" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_hTFMi0z5W-c/TKC4sTXxXGI/AAAAAAAABK0/u8T7IcIPaeQ/s72-c/Reading+Pane+Options.PNG" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://www.shcoder.by/2010/09/hacking-outlook-public-folders.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEHQH86cCp7ImA9WhZQE0w.&quot;"><id>tag:blogger.com,1999:blog-933369614249771220.post-2245387312052651147</id><published>2010-09-22T23:48:00.001+03:00</published><updated>2011-04-20T18:33:51.118+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-20T18:33:51.118+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="RUS" /><category scheme="http://www.blogger.com/atom/ns#" term="Android" /><title>Android Infected</title><content type="html">&lt;br&gt;&amp;#1061;&amp;#1086;&amp;#1090;&amp;#1080;&amp;#1090;&amp;#1077; &amp;#1074;&amp;#1077;&amp;#1088;&amp;#1100;&amp;#1090;&amp;#1077;, &amp;#1093;&amp;#1086;&amp;#1090;&amp;#1080;&amp;#1090;&amp;#1077; &amp;#1085;&amp;#1077;&amp;#1090;, &amp;#1085;&amp;#1086; &amp;#1101;&amp;#1090;&amp;#1086;&amp;#1090; &amp;#1087;&amp;#1086;&amp;#1089;&amp;#1090; &amp;#1103; &amp;#1087;&amp;#1080;&amp;#1096;&amp;#1091; &amp;#1089; &amp;#1085;&amp;#1086;&amp;#1074;&amp;#1086;&amp;#1075;&amp;#1086; &amp;#1090;&amp;#1077;&amp;#1083;&amp;#1077;&amp;#1092;&amp;#1086;&amp;#1085;&amp;#1072;. &amp;#1053;&amp;#1072; &amp;#1082;&amp;#1086;&amp;#1085;&amp;#1092;&amp;#1077;&amp;#1088;&amp;#1077;&amp;#1085;&amp;#1094;&amp;#1080;&amp;#1080; &amp;#1103; &amp;#1087;&amp;#1086;&amp;#1097;&amp;#1091;&amp;#1087;&amp;#1072;&amp;#1083; Nexus One &amp;#1091; &amp;#1070;&amp;#1088;&amp;#1099; &amp;#1064;&amp;#1080;&amp;#1083;&amp;#1103;&amp;#1077;&amp;#1074;&amp;#1072; &amp;#1080; HTC Desire &amp;#1091; &amp;#1046;&amp;#1077;&amp;#1085;&amp;#1080; &amp;#1050;&amp;#1080;&amp;#1089;&amp;#1077;&amp;#1083;&amp;#1077;&amp;#1074;&amp;#1080;&amp;#1095;&amp;#1072;. &amp;#1046;&amp;#1076;&amp;#1072;&amp;#1090;&amp;#1100; &amp;#1095;&amp;#1091;&amp;#1076;&amp;#1077;&amp;#1089; &amp;#1085;&amp;#1072;&amp;#1076;&amp;#1086;&amp;#1077;&amp;#1083;&amp;#1086; &amp;#1080; &amp;#1103; &amp;#1090;&amp;#1072;&amp;#1082;&amp;#1080; &amp;#1074;&amp;#1079;&amp;#1103;&amp;#1083; &amp;#1087;&amp;#1086;&amp;#1089;&amp;#1083;&amp;#1077;&amp;#1076;&amp;#1085;&amp;#1080;&amp;#1081;. &lt;br /&gt;&lt;br&gt;&amp;#1041;&amp;#1088;&amp;#1072;&amp;#1091;&amp;#1079;&amp;#1077;&amp;#1088; &amp;#1079;&amp;#1076;&amp;#1077;&amp;#1089;&amp;#1100; &amp;#1093;&amp;#1086;&amp;#1088;&amp;#1086;&amp;#1096; &amp;#1080; &amp;#1087;&amp;#1086;&amp;#1095;&amp;#1090;&amp;#1080; &amp;#1089;&amp;#1087;&amp;#1088;&amp;#1072;&amp;#1074;&amp;#1083;&amp;#1103;&amp;#1077;&amp;#1090;&amp;#1089;&amp;#1103; &amp;#1089; &amp;#1072;&amp;#1076;&amp;#1084;&amp;#1080;&amp;#1085;&amp;#1082;&amp;#1086;&amp;#1081; &amp;#1073;&amp;#1083;&amp;#1086;&amp;#1075;&amp;#1075;&amp;#1077;&amp;#1088;&amp;#1072;, &amp;#1086;&amp;#1076;&amp;#1085;&amp;#1072;&amp;#1082;&amp;#1086; &amp;#1087;&amp;#1086;&amp;#1083;&amp;#1077; &amp;#1076;&amp;#1083;&amp;#1103; &amp;#1074;&amp;#1074;&amp;#1086;&amp;#1076;&amp;#1072; &amp;#1090;&amp;#1077;&amp;#1082;&amp;#1089;&amp;#1090;&amp;#1072; &amp;#1091;&amp;#1087;&amp;#1086;&amp;#1088;&amp;#1085;&amp;#1086; &amp;#1085;&amp;#1077; &amp;#1074;&amp;#1086;&amp;#1089;&amp;#1087;&amp;#1088;&amp;#1080;&amp;#1085;&amp;#1080;&amp;#1084;&amp;#1072;&amp;#1077;&amp;#1090; &amp;#1082;&amp;#1072;&amp;#1082; &amp;#1090;&amp;#1077;&amp;#1082;&amp;#1089;&amp;#1090;&amp;#1086;&amp;#1074;&amp;#1086;&amp;#1077; &amp;#1087;&amp;#1086;&amp;#1083;&amp;#1077; &amp;#1080; &amp;#1082;&amp;#1083;&amp;#1072;&amp;#1074;&amp;#1080;&amp;#1072;&amp;#1090;&amp;#1091;&amp;#1088;&amp;#1091; &amp;#1085;&amp;#1077; &amp;#1087;&amp;#1086;&amp;#1082;&amp;#1072;&amp;#1079;&amp;#1099;&amp;#1074;&amp;#1072;&amp;#1077;&amp;#1090;.&lt;br /&gt;&lt;br&gt;&amp;#1050; &amp;#1089;&amp;#1095;&amp;#1072;&amp;#1089;&amp;#1090;&amp;#1100;&amp;#1102; &amp;#1077;&amp;#1089;&amp;#1090;&amp;#1100; &amp;#1082;&amp;#1083;&amp;#1080;&amp;#1077;&amp;#1085;&amp;#1090;&amp;#1099; &amp;#1076;&amp;#1083;&amp;#1103; &amp;#1073;&amp;#1083;&amp;#1086;&amp;#1075;&amp;#1075;&amp;#1077;&amp;#1088;&amp;#1072;, &amp;#1085;&amp;#1072;&amp;#1087;&amp;#1088;&amp;#1080;&amp;#1084;&amp;#1077;&amp;#1088; Blogaway. &amp;#1041;&amp;#1077;&amp;#1079; &amp;#1087;&amp;#1086;&amp;#1085;&amp;#1103;&amp;#1090;&amp;#1080;&amp;#1103; &amp;#1082;&amp;#1072;&amp;#1082; &amp;#1090;&amp;#1091;&amp;#1090; &amp;#1074;&amp;#1089;&amp;#1090;&amp;#1072;&amp;#1074;&amp;#1080;&amp;#1090;&amp;#1100; &amp;#1089;&amp;#1089;&amp;#1099;&amp;#1083;&amp;#1082;&amp;#1091; (&amp;#1079;&amp;#1072;&amp;#1090;&amp;#1086; &amp;#1077;&amp;#1089;&amp;#1090;&amp;#1100; &amp;#1075;&amp;#1077;&amp;#1086;&amp;#1090;&amp;#1072;&amp;#1075;&amp;#1075;&amp;#1080;&amp;#1085;&amp;#1075;). &amp;#1053;&amp;#1072;&amp;#1084; &amp;#1087;&amp;#1086;&amp;#1074;&amp;#1077;&amp;#1079;&amp;#1083;&amp;#1086; - &amp;#1089;&amp;#1089;&amp;#1099;&amp;#1083;&amp;#1082;&amp;#1080; &amp;#1090;&amp;#1091;&amp;#1090; &amp;#1077;&amp;#1089;&amp;#1090;&amp;#1100;, &amp;#1085;&amp;#1086; &amp;#1076;&amp;#1086;&amp;#1073;&amp;#1072;&amp;#1074;&amp;#1083;&amp;#1103;&amp;#1102;&amp;#1090;&amp;#1089;&amp;#1103; &amp;#1090;&amp;#1086;&amp;#1083;&amp;#1100;&amp;#1082;&amp;#1086; &amp;#1074; &amp;#1082;&amp;#1086;&amp;#1085;&amp;#1077;&amp;#1094;.&lt;br /&gt;&lt;br&gt;&amp;#1054;&amp;#1073;&amp;#1097;&amp;#1080;&amp;#1077; &amp;#1074;&amp;#1087;&amp;#1077;&amp;#1095;&amp;#1072;&amp;#1090;&amp;#1083;&amp;#1077;&amp;#1085;&amp;#1080;&amp;#1103; &amp;#1086;&amp;#1095;&amp;#1077;&amp;#1085;&amp;#1100; &amp;#1093;&amp;#1086;&amp;#1088;&amp;#1086;&amp;#1096;&amp;#1080;&amp;#1077;, &amp;#1085;&amp;#1086; &amp;#1080; &amp;#1085;&amp;#1077; &amp;#1073;&amp;#1077;&amp;#1079; &amp;#1085;&amp;#1077;&amp;#1076;&amp;#1086;&amp;#1089;&amp;#1090;&amp;#1072;&amp;#1090;&amp;#1082;&amp;#1086;&amp;#1074;:&lt;br&gt;&lt;br /&gt;- &amp;#1085;&amp;#1077;&amp;#1090; &amp;#1089;&amp;#1080;&amp;#1085;&amp;#1093;&amp;#1088;&amp;#1086;&amp;#1085;&amp;#1080;&amp;#1079;&amp;#1072;&amp;#1094;&amp;#1080;&amp;#1080; &amp;#1089; exchange &amp;#1087;&amp;#1086; &amp;#1079;&amp;#1072;&amp;#1076;&amp;#1072;&amp;#1095;&amp;#1072;&amp;#1084;; &amp;#1076;&amp;#1083;&amp;#1103; &amp;#1089;&amp;#1077;&amp;#1073;&amp;#1103; &amp;#1103; &amp;#1088;&amp;#1077;&amp;#1096;&amp;#1080;&amp;#1083;, &amp;#1095;&amp;#1090;&amp;#1086; &amp;#1074; &amp;#1090;&amp;#1077;&amp;#1083;&amp;#1077;&amp;#1092;&amp;#1086;&amp;#1085;&amp;#1077; &amp;#1073;&amp;#1091;&amp;#1076;&amp;#1091; &amp;#1074;&amp;#1077;&amp;#1089;&amp;#1090;&amp;#1080; &amp;#1090;&amp;#1086;&amp;#1083;&amp;#1100;&amp;#1082;&amp;#1086; &amp;#1083;&amp;#1080;&amp;#1095;&amp;#1085;&amp;#1099;&amp;#1077; &amp;#1079;&amp;#1072;&amp;#1076;&amp;#1072;&amp;#1095;&amp;#1080; - &amp;#1086;&amp;#1085;&amp;#1086; &amp;#1080; &amp;#1091;&amp;#1076;&amp;#1086;&amp;#1073;&amp;#1085;&amp;#1077;&amp;#1077;, &amp;#1085;&amp;#1077; &amp;#1073;&amp;#1091;&amp;#1076;&amp;#1091;&amp;#1090; &amp;#1087;&amp;#1091;&amp;#1090;&amp;#1072;&amp;#1090;&amp;#1100;&amp;#1089;&amp;#1103; &amp;#1088;&amp;#1072;&amp;#1073;&amp;#1086;&amp;#1095;&amp;#1080;&amp;#1077; &amp;#1076;&amp;#1077;&amp;#1083;&amp;#1072; &amp;#1089; &amp;#1076;&amp;#1086;&amp;#1084;&amp;#1072;&amp;#1096;&amp;#1085;&amp;#1080;&amp;#1084;&amp;#1080;;&lt;br&gt;&lt;br /&gt;- &amp;#1085;&amp;#1077;&amp;#1090; &amp;#1089;&amp;#1082;&amp;#1072;&amp;#1081;&amp;#1087;&amp;#1072;. &amp;#1090;&amp;#1086; &amp;#1077;&amp;#1089;&amp;#1090;&amp;#1100; &amp;#1086;&amp;#1085; &amp;#1073;&amp;#1099;&amp;#1083;, &amp;#1085;&amp;#1086; &amp;#1090;&amp;#1077;&amp;#1087;&amp;#1077;&amp;#1088;&amp;#1100; &amp;#1077;&amp;#1075;&amp;#1086; &amp;#1085;&amp;#1077; &amp;#1089;&amp;#1090;&amp;#1072;&amp;#1083;&amp;#1086; - &amp;#1082;&amp;#1083;&amp;#1080;&amp;#1077;&amp;#1085;&amp;#1090; fring &amp;#1079;&amp;#1072;&amp;#1073;&amp;#1083;&amp;#1086;&amp;#1082;&amp;#1080;&amp;#1088;&amp;#1086;&amp;#1074;&amp;#1072;&amp;#1085; &amp;#1089;&amp;#1082;&amp;#1072;&amp;#1081;&amp;#1087;&amp;#1086;&amp;#1084;, &amp;#1072; &amp;#1082;&amp;#1083;&amp;#1080;&amp;#1077;&amp;#1085;&amp;#1090; &amp;#1086;&amp;#1090; &amp;#1089;&amp;#1082;&amp;#1072;&amp;#1081;&amp;#1087;&amp;#1072; &amp;#1090;&amp;#1077;&amp;#1087;&amp;#1077;&amp;#1088;&amp;#1100; &amp;#1076;&amp;#1086;&amp;#1089;&amp;#1090;&amp;#1091;&amp;#1087;&amp;#1077;&amp;#1085; &amp;#1090;&amp;#1086;&amp;#1083;&amp;#1100;&amp;#1082;&amp;#1086; &amp;#1072;&amp;#1073;&amp;#1086;&amp;#1085;&amp;#1077;&amp;#1085;&amp;#1090;&amp;#1072;&amp;#1084; verizon (&amp;#1087;&amp;#1088;&amp;#1080;&amp;#1095;&amp;#1077;&amp;#1084; &amp;#1086;&amp;#1085; &amp;#1085;&amp;#1077; &amp;#1088;&amp;#1072;&amp;#1073;&amp;#1086;&amp;#1090;&amp;#1072;&amp;#1077;&amp;#1090; &amp;#1087;&amp;#1086; WiFi, &amp;#1073;&amp;#1086;&amp;#1083;&amp;#1077;&amp;#1077; &amp;#1090;&amp;#1086;&amp;#1075;&amp;#1086; &amp;#1088;&amp;#1072;&amp;#1085;&amp;#1100;&amp;#1096;&amp;#1077; &amp;#1086;&amp;#1085; WiFi &amp;#1089;&amp;#1086;&amp;#1077;&amp;#1076;&amp;#1080;&amp;#1085;&amp;#1077;&amp;#1085;&amp;#1080;&amp;#1077; &amp;#1085;&amp;#1072;&amp;#1084;&amp;#1077;&amp;#1088;&amp;#1077;&amp;#1085;&amp;#1085;&amp;#1086; &amp;#1088;&amp;#1074;&amp;#1072;&amp;#1083;); &amp;#1101;&amp;#1090;&amp;#1086; &amp;#1075;&amp;#1088;&amp;#1091;&amp;#1089;&amp;#1090;&amp;#1085;&amp;#1086;, &amp;#1082;&amp;#1086;&amp;#1075;&amp;#1076;&amp;#1072; &amp;#1078;&amp;#1072;&amp;#1076;&amp;#1085;&amp;#1086;&amp;#1089;&amp;#1090;&amp;#1100; &amp;#1076;&amp;#1086;&amp;#1074;&amp;#1086;&amp;#1076;&amp;#1080;&amp;#1090; &amp;#1083;&amp;#1102;&amp;#1076;&amp;#1077;&amp;#1081; &amp;#1076;&amp;#1086; &amp;#1085;&amp;#1077;&amp;#1072;&amp;#1076;&amp;#1077;&amp;#1082;&amp;#1074;&amp;#1072;&amp;#1090;&amp;#1072;.&lt;br /&gt;&lt;br&gt;&amp;#1053;&amp;#1086; &amp;#1074; &amp;#1083;&amp;#1102;&amp;#1073;&amp;#1086;&amp;#1084; &amp;#1089;&amp;#1083;&amp;#1091;&amp;#1095;&amp;#1072;&amp;#1077; - &amp;#1076;&amp;#1091;&amp;#1084;&amp;#1072;&amp;#1102; &amp;#1078;&amp;#1076;&amp;#1072;&amp;#1090;&amp;#1100; Windows phone 7 &amp;#1077;&amp;#1097;&amp;#1077; &amp;#1076;&amp;#1086;&amp;#1083;&amp;#1075;&amp;#1086; (&amp;#1103; &amp;#1085;&amp;#1077; &amp;#1087;&amp;#1088;&amp;#1086; &amp;#1088;&amp;#1077;&amp;#1083;&amp;#1080;&amp;#1079;, &amp;#1103; &amp;#1087;&amp;#1088;&amp;#1086; &amp;#1090;&amp;#1086;&amp;#1090; &amp;#1084;&amp;#1086;&amp;#1084;&amp;#1077;&amp;#1085;&amp;#1090;, &amp;#1082;&amp;#1086;&amp;#1075;&amp;#1076;&amp;#1072; &amp;#1087;&amp;#1086;&amp;#1092;&amp;#1080;&amp;#1082;&amp;#1089;&amp;#1103;&amp;#1090; &amp;#1074;&amp;#1089;&amp;#1077; &amp;#1073;&amp;#1072;&amp;#1075;&amp;#1080;), &amp;#1087;&amp;#1086;&amp;#1101;&amp;#1090;&amp;#1086;&amp;#1084;&amp;#1091; &amp;#1087;&amp;#1086;&amp;#1082;&amp;#1072; &amp;#1089;&amp;#1086;&amp;#1074;&amp;#1077;&amp;#1090;&amp;#1091;&amp;#1102; &amp;#1040;&amp;#1085;&amp;#1076;&amp;#1088;&amp;#1086;&amp;#1080;&amp;#1076;.&lt;br /&gt;&lt;br&gt;&lt;a href="http://www.google.com.by/m/url?ei=SmeaTOCbFoS7jQfrx4LBAw&amp;q=http://www.fring.com/blog/?p%3D2322&amp;ved=0CAYQFjAA&amp;usg=AFQjCNEUG0TQqq2yiey-aGVlaLVNWQLlyQ"&gt;Skype cowardly blocks fring&lt;/a&gt;&amp;#160;&lt;br&gt;&lt;br /&gt;&lt;a href="http://yuri.shilyaev.com/"&gt;&amp;#1070;&amp;#1088;&amp;#1072; &amp;#1064;&amp;#1080;&amp;#1083;&amp;#1103;&amp;#1077;&amp;#1074;&lt;/a&gt;&amp;#160;&lt;br /&gt;&lt;br/&gt;&lt;font size="1"&gt;&lt;b&gt;Location : &lt;/b&gt;&lt;a href="http://maps.google.com/maps?q=53.9527731,27.6892558"&gt;ул. Острошицкая, Минск, &lt;/a&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933369614249771220-2245387312052651147?l=www.shcoder.by' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/tRdfhL8q69OplK-S2mjknpMdSwc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tRdfhL8q69OplK-S2mjknpMdSwc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/tRdfhL8q69OplK-S2mjknpMdSwc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tRdfhL8q69OplK-S2mjknpMdSwc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Taqcq?a=Q_fK7fWDQ2U:Vdmn7kQvt1I:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Taqcq?i=Q_fK7fWDQ2U:Vdmn7kQvt1I:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Taqcq/~4/Q_fK7fWDQ2U" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.shcoder.by/feeds/2245387312052651147/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.shcoder.by/2010/09/android-infected.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/2245387312052651147?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/2245387312052651147?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Taqcq/~3/Q_fK7fWDQ2U/android-infected.html" title="Android Infected" /><author><name>Andrei Charnou</name><uri>http://www.blogger.com/profile/01286060687350810325</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp0.blogger.com/_hTFMi0z5W-c/SDB7zp0AlzI/AAAAAAAAAN8/8f9wXLEusTw/S220/DSCF1191.JPG" /></author><thr:total>3</thr:total><feedburner:origLink>http://www.shcoder.by/2010/09/android-infected.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEHQH85eCp7ImA9WhZQE0w.&quot;"><id>tag:blogger.com,1999:blog-933369614249771220.post-8965111858289921226</id><published>2010-09-19T02:43:00.000+03:00</published><updated>2011-04-20T18:33:51.120+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-20T18:33:51.120+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="RUS" /><category scheme="http://www.blogger.com/atom/ns#" term="EPAM" /><title>560 новых читателей в Национальной Библиотеке</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_hTFMi0z5W-c/TJVLBoyoTYI/AAAAAAAABKc/dgsCymbzYFk/s1600/41057_466461194362_588819362_6528122_4321671_n.jpg" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" qx="true" src="http://2.bp.blogspot.com/_hTFMi0z5W-c/TJVLBoyoTYI/AAAAAAAABKc/dgsCymbzYFk/s320/41057_466461194362_588819362_6528122_4321671_n.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;В &lt;a href="http://www.facebook.com/EPAM.Systems"&gt;EPAM&lt;/a&gt;&amp;nbsp;работают много книголюбов, и, наверное, именно поэтому очередная конференция EPAM Thomson Reuters состоялась в &lt;a href="http://www.nlb.by/"&gt;Национальной Библиотеке&lt;/a&gt;. &lt;br /&gt;
&lt;br /&gt;
Это уже пятая конференция.&amp;nbsp;За пять лет&amp;nbsp;к названию конференции&amp;nbsp;добавилось слово Thomson (&lt;a href="http://dealbook.blogs.nytimes.com/2007/05/15/thomson-and-reuters-agree-to-17-billion-merger/"&gt;наш заказчик стал крупнее&lt;/a&gt;) и из него выпало слово Developers,&amp;nbsp;ведь продукты делаются совместными усилиями бизнес-аналитиков, специалистов по качеству, производительности, интеграции, а также разработчиков и их менеджеров. &lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
Говорят, что&amp;nbsp;в этот раз в конференции участвовало на ~200 человек больше, чем в прошлой, поэтому вновь возникла проблема масштабов и пришлось двигаться в здание покрупнее. Скажем так, хоть библиотека и справилась с наплывом айтишников, но мне казалось, что будет посвободнее.&lt;br /&gt;
&lt;br /&gt;
В этот раз я участвовал в конференции с активной позиции -&amp;nbsp;два доклада по CI, круглый стол по Agile, плюс пару слов о proof of concept, который мы недавно делали на .NET 4.0. Про последнее рассказывал в основном зале перед аудиторией ~500-600 человек и очень рад тому, что&amp;nbsp;масштабы уже совсем не пугают (ну, может быть, только чуть-чуть).&lt;br /&gt;
&lt;br /&gt;
Из-за такого активного участия удалось побывать только&amp;nbsp;на одной секции в качестве слушателя,&amp;nbsp;поэтому приходится полагаться на мнение других участников. А по рассказам было много&amp;nbsp;всего хорошего&amp;nbsp;-&amp;nbsp;коммуникации с заказчиком, вопросы производительности, мобильные приложения - есть что поизучать в оффлайне. &lt;br /&gt;
&lt;br /&gt;
Из неожиданного:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Подходили незнакомые ребята и говорили спасибо за выступление; что тут сказать, доброе слово и собаке приятно :)&lt;/li&gt;
&lt;li&gt;Подарили&amp;nbsp;&lt;a href="http://boingboing.net/2007/10/25/blogging-heroes-new.html"&gt;Blogging Heroes : Interviews with 30 of the World's Top Bloggers&lt;/a&gt;&amp;nbsp;с пожеланиями увидеть меня в следующем&amp;nbsp;издании. Уже прочитал первое интервью&amp;nbsp;с &lt;a href="http://askdavetaylor.com/"&gt;askdavetaylor.com&lt;/a&gt; -&amp;nbsp;похоже, придется поднажать, у него миллион посетителей в месяц :)&lt;/li&gt;
&lt;/ul&gt;Afterparty прошел в клубе Broadway/Bronx, где &lt;a href="http://www.linkedin.com/in/martinasencio"&gt;Мартин&lt;/a&gt; давал уже традиционные уроки меренги, а с &lt;a href="http://www.linkedin.com/pub/arkadiy-dobkin/0/22/907"&gt;Аркадием&lt;/a&gt; можно было запросто пообщаться. Целый вечер драйв поддерживали ребята из &lt;a href="http://www.graffiti.by/tag/artefact/"&gt;Artefact&lt;/a&gt;, за что им респект и уважуха.&amp;nbsp;В общем, отлично провели время, только пиво закончилось слишком рано :)&lt;br /&gt;
&lt;br /&gt;
P.S. А &lt;a href="http://www.nlb.by/portal/page/portal/index/content?lang=ru&amp;amp;classId=9F5C9D6B574145129B58992AC85F7635"&gt;записаться&lt;/a&gt;&amp;nbsp;в библиотеку можно любому :) Правда, без ученой степени читать придется в читальном зале.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933369614249771220-8965111858289921226?l=www.shcoder.by' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/GJA43f96cG5u03BoDLDZJFf8YVg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GJA43f96cG5u03BoDLDZJFf8YVg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/GJA43f96cG5u03BoDLDZJFf8YVg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GJA43f96cG5u03BoDLDZJFf8YVg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Taqcq?a=9yqgN6_cl1o:0DkLNhf0YeI:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Taqcq?i=9yqgN6_cl1o:0DkLNhf0YeI:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Taqcq/~4/9yqgN6_cl1o" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.shcoder.by/feeds/8965111858289921226/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.shcoder.by/2010/09/560.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/8965111858289921226?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/8965111858289921226?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Taqcq/~3/9yqgN6_cl1o/560.html" title="560 новых читателей в Национальной Библиотеке" /><author><name>Andrei Charnou</name><uri>http://www.blogger.com/profile/01286060687350810325</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp0.blogger.com/_hTFMi0z5W-c/SDB7zp0AlzI/AAAAAAAAAN8/8f9wXLEusTw/S220/DSCF1191.JPG" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_hTFMi0z5W-c/TJVLBoyoTYI/AAAAAAAABKc/dgsCymbzYFk/s72-c/41057_466461194362_588819362_6528122_4321671_n.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.shcoder.by/2010/09/560.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEHQH85eip7ImA9WhZQE0w.&quot;"><id>tag:blogger.com,1999:blog-933369614249771220.post-2732915111658014914</id><published>2010-09-10T00:54:00.000+03:00</published><updated>2011-04-20T18:33:51.122+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-20T18:33:51.122+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="RUS" /><category scheme="http://www.blogger.com/atom/ns#" term="IT" /><category scheme="http://www.blogger.com/atom/ns#" term="Паттерны" /><title>JavaScript - есть и хорошие стороны</title><content type="html">&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;a href="http://4.bp.blogspot.com/_hTFMi0z5W-c/TIlSJNOYpZI/AAAAAAAABKI/rKX0mXGJVHE/s1600/javascript2.jpg" imageanchor="1" style="clear: right; cssfloat: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="120" ox="true" src="http://4.bp.blogspot.com/_hTFMi0z5W-c/TIlSJNOYpZI/AAAAAAAABKI/rKX0mXGJVHE/s200/javascript2.jpg" width="200" /&gt;&lt;/a&gt;JS такой загадочный язык, который никто не учит, однако все на нем программируют. Я не исключение, но я чувствую себя некомфортно, когда не понимаю, по каким правилам мне приходиться играть. &lt;/div&gt;&lt;br /&gt;
Скопипастив очередной кусок JS, я вспомнил слова Мартина Фаулера (&lt;a href="http://www.infoq.com/interviews/fowler-caroli-continuous-deployment"&gt;интересное интервью&lt;/a&gt; - хоть посмотрите, как он выглядит), что для расширения кругозора надобно учить хотя бы по одному новому языку в год. Полиглоты, называет он таких программистов :) Я же подумал - надоело мне мучаться с JS, хочу научиться писать на нем нормально.&lt;br /&gt;
&lt;br /&gt;
В общем, я чуть-чуть попытался разобраться (ниже со ссылками), по-моему, очень даже интересно.&lt;br /&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;Сначала я решил посмотреть, что у нас есть из почитать. Две наиболее советуемые книги по JavaScript это:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.google.ru/url?sa=t&amp;amp;source=web&amp;amp;cd=3&amp;amp;ved=0CCUQFjAC&amp;amp;url=http%3A%2F%2Fwww.amazon.com%2FJavaScript-Definitive-Guide-David-Flanagan%2Fdp%2F0596000480&amp;amp;ei=0lOJTKmtIIqKONm-6MMO&amp;amp;usg=AFQjCNGs-ojUWdy5Z3PkMIwF0I_S84nbVQ"&gt;JavaScript: The Definitive Guide by David Flanagan&lt;/a&gt;&lt;br /&gt;
и&lt;br /&gt;
&lt;a href="http://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742"&gt;JavaScript: The Good Parts by Douglas Crockford&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Я, конечно, серьезно думал их прочитать, но для начала решил найти что-нибудь попроще. Я люблю лекции и вуаля:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://video.yahoo.com/watch/111593"&gt;Douglas Crockford: "The JavaScript Programming Language"/1 of 4&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://video.yahoo.com/watch/111594/1710553"&gt;Douglas Crockford: "The JavaScript Programming Language"/2 of 4&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://video.yahoo.com/watch/111595/1710607"&gt;Douglas Crockford: "The JavaScript Programming Language"/3 of 4&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://video.yahoo.com/watch/111596/1710658"&gt;Douglas Crockford: "The JavaScript Programming Language"/4 of 4&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Ребята, книжки, скорее всего очень даже хорошие, но видео я вам советую, потому что сам посмотрел и остался доволен - всего 2 часа, но основные моменты разложены очень хорошо, а JS стал как-то роднее, понятнее, и главное, мне он теперь в чем-то нравится.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_hTFMi0z5W-c/TIlR2alzTfI/AAAAAAAABKA/iU1b6C_y1uY/s1600/crockford-json-20090811-103121.jpg" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" ox="true" src="http://4.bp.blogspot.com/_hTFMi0z5W-c/TIlR2alzTfI/AAAAAAAABKA/iU1b6C_y1uY/s320/crockford-json-20090811-103121.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;К слову, &lt;a href="http://en.wikipedia.org/wiki/Douglas_Crockford"&gt;Дуглас Крокфорд&lt;/a&gt;, как выясняется, интересный товарищ.&amp;nbsp;В частности, он придумал&amp;nbsp;&lt;a href="http://www.json.org/fatfree.html"&gt;JSON&lt;/a&gt;&amp;nbsp;- ныне очень популярный формат (AJAX, например, это часто не Async JS and XML, а Asynch JS and JSON, просто потому что последний обычно компактнее, а значит быстрее).&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Так вот, после просмотра лекций Дугласа выяснилось, что&amp;nbsp;в JS есть не мало интересных моментов (те самые The Good Parts), я упомяну лишь то, что, к примеру:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Там не нужны классы, однако ООП вполне там работает&lt;/li&gt;
&lt;li&gt;Паттерн &lt;a href="http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D1%82%D0%B8%D0%BF_(%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)"&gt;Prototype&lt;/a&gt; - это основа наследования JS и часть языка&lt;/li&gt;
&lt;li&gt;В JS Reflection - это приятно; объект - это коллекция свойств и функций, по которым можно итерироваться&lt;/li&gt;
&lt;li&gt;Лямбда-функции, которые в C# появились не так давно, в JS существуют с самого начала (про Java давайте не будем вспоминать, closures вроде там до сих пор только обсуждают - поправьте меня, если я не прав)&lt;/li&gt;
&lt;li&gt;Паттерн &lt;a href="http://ru.wikipedia.org/wiki/%D0%94%D0%B5%D0%BA%D0%BE%D1%80%D0%B0%D1%82%D0%BE%D1%80_(%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8"&gt;Decorator&lt;/a&gt; нужен в C# и Java всего лишь из-за ограничений этих языков&lt;/li&gt;
&lt;/ul&gt;После этих лекций, например, становится понятно, почему в JS в функцию можно добавить свойство и зачем это нужно. Скажу я вам - до просмотра этого видео такие ходы в JS кажутся какой-то дикой несуразицей. &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
Однако, понятно и то, что даже не смотря на очень интересные особенности языка, он никогда не станет почитаемым языком по той же причине, почему &lt;a href="http://bolknote.ru/2010/09/04/~2693"&gt;п&lt;span id="goog_569418671"&gt;&lt;/span&gt;рограммисты стесняются знания PHP&lt;span id="goog_569418672"&gt;&lt;/span&gt;&lt;/a&gt;. Слишком много людей пишет на JS, не удосужившись его изучить, как следствие, производя на свет божий что-то, что никак не соответствует духу JS. &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
Но это еще полбеды.&amp;nbsp;Девушка из&amp;nbsp;комментов ко второй части&amp;nbsp;лекции сразила меня наповал:&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;blockquote&gt;This is really indepth. I am not sure half the time what is he talking about. Maybe more simplified examples would help..&lt;/blockquote&gt;Так что, видимо, JavaScript обречен так и остаться непонятым&amp;nbsp;:)&amp;nbsp;Похоже, тут даже наличие попытки изучить ситуации не исправит.&lt;br /&gt;
&lt;br /&gt;
P.S. Там же на Yahoo Video есть лекции Крокфорда по DOM, найдете по ссылкам в Related сами - тоже интересно, особенно его комментарии, как так получилось, что во всех браузерах все по разному. Кстати, видео 2006, а очередной виток войны браузеров он предсказал четко, правда, про Chrome тогда еще не знал.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933369614249771220-2732915111658014914?l=www.shcoder.by' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/JatHsj7NsT_AWauCYYLB8uKZm2I/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JatHsj7NsT_AWauCYYLB8uKZm2I/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/JatHsj7NsT_AWauCYYLB8uKZm2I/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JatHsj7NsT_AWauCYYLB8uKZm2I/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Taqcq?a=JUfLvTkTBv4:pBq6iZOLczY:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Taqcq?i=JUfLvTkTBv4:pBq6iZOLczY:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Taqcq/~4/JUfLvTkTBv4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.shcoder.by/feeds/2732915111658014914/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.shcoder.by/2010/09/javascript.html#comment-form" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/2732915111658014914?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/2732915111658014914?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Taqcq/~3/JUfLvTkTBv4/javascript.html" title="JavaScript - есть и хорошие стороны" /><author><name>Andrei Charnou</name><uri>http://www.blogger.com/profile/01286060687350810325</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp0.blogger.com/_hTFMi0z5W-c/SDB7zp0AlzI/AAAAAAAAAN8/8f9wXLEusTw/S220/DSCF1191.JPG" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_hTFMi0z5W-c/TIlSJNOYpZI/AAAAAAAABKI/rKX0mXGJVHE/s72-c/javascript2.jpg" height="72" width="72" /><thr:total>6</thr:total><feedburner:origLink>http://www.shcoder.by/2010/09/javascript.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEHQH85eyp7ImA9WhZQE0w.&quot;"><id>tag:blogger.com,1999:blog-933369614249771220.post-4252915623954003935</id><published>2010-09-01T21:42:00.002+03:00</published><updated>2011-04-20T18:33:51.123+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-20T18:33:51.123+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="RUS" /><category scheme="http://www.blogger.com/atom/ns#" term=".NET" /><category scheme="http://www.blogger.com/atom/ns#" term="Паттерны" /><title>Singleton in .NET 4 - вопрос снят?</title><content type="html">Так как у нас на проекте есть открытые вакансии, то приходится активно участвовать в собеседованиях джаверов. В связи с этим хочется поделиться мыслями по одному из часто задаваемых вопросов - &lt;a href="http://habrahabr.ru/blogs/complete_code/27108/"&gt;многопоточная реализация Singleton&lt;/a&gt;. Не смотря на то, что уже много копий сломано и много написано, редко когда удается услышать четкий и правильный ответ.&lt;br /&gt;
&lt;br /&gt;
С моей точки зрения этот вопрос не&amp;nbsp;так уж много показывает&amp;nbsp;(скажем так, он кажется обманчиво интересным), но&amp;nbsp;ответы на сопутствующие вопросы (более интересные)&amp;nbsp;сами его провоцируют. Например, на вопрос "Какие вы знаете шаблоны проектирования", ответ обычно начинается с "Singleton, Factory..." &lt;br /&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;К сожалению, несмотря на то, что &lt;a href="http://en.wikipedia.org/wiki/Design_Patterns_(book)"&gt;GoF&lt;/a&gt; имеет успех уже на протяжении более 15 лет, достаточно часто ответ на этом заканчивается. Кстати, на второй часто задаваемый вопрос "Чем отличается &lt;a href="http://en.wikipedia.org/wiki/Factory_pattern"&gt;Factory&lt;/a&gt; от &lt;a href="http://en.wikipedia.org/wiki/Abstract_factory_pattern"&gt;Abstract Factory&lt;/a&gt;" ответ дается еще реже.&lt;br /&gt;
&lt;br /&gt;
Но&amp;nbsp;давайте разберемся, стоит ли начинать ответ с Singleton? Наверное, не стоит. Вообще, многие считают, что &lt;a href="http://www.google.com.by/#hl=ru&amp;amp;source=hp&amp;amp;q=singleton+antipattern&amp;amp;aq=0&amp;amp;aqi=g1&amp;amp;aql=&amp;amp;oq=singleton+ant&amp;amp;gs_rfai=&amp;amp;fp=3cafcec4337526f8"&gt;Singleton - это anti-pattern&lt;/a&gt;. И в любом случае, Singleton - это далеко не самый интересный шаблон проектирования.&lt;br /&gt;
&lt;br /&gt;
Что также хочется отметить, обычно просят реализовать просто Singleton, не упоминая&amp;nbsp;&lt;a href="http://ru.wikipedia.org/wiki/%D0%9E%D1%82%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F_%D0%B8%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F"&gt;ленивую инициализацию&lt;/a&gt;, однако почему-то на доске очень часто появляется &lt;a href="http://ru.wikipedia.org/wiki/Double_checked_locking"&gt;double checked locking&lt;/a&gt;. Это плохой стереотип - все так делают, значит, так нужно.&amp;nbsp;В реальной жизни&amp;nbsp;ленивая инициализация чаще всего не требуется, а еще чаще стоимость многопоточной реализации Singleton (потому что у дополнительной синхронизации есть стоимость) превышает экономию на отложенной инициализации.&lt;br /&gt;
&lt;br /&gt;
Так вот, к чему это я все? :) Проблема настолько избита, что в .NET 4.0 ввели специальный класс, который наконец-то дает нам out-of-the-box реализацию, -&amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/library/dd642331.aspx"&gt;Lazy&lt;t&gt;&lt;t&gt;&lt;/a&gt;,&amp;nbsp;и реализация значительно упрощается:&lt;br /&gt;
&lt;br /&gt;
&lt;div id="codeSnippetWrapper"&gt;&lt;div id="codeSnippet" style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; line-height: 12pt; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt;   1:&lt;/span&gt; &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;class&lt;/span&gt; LazySingleton&lt;/pre&gt;&lt;pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum2" style="color: #606060;"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum3" style="color: #606060;"&gt;   3:&lt;/span&gt;     &lt;span style="color: green;"&gt;// static holder for instance, need to use lambda to construct since constructor private&lt;/span&gt;&lt;/pre&gt;&lt;pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum4" style="color: #606060;"&gt;   4:&lt;/span&gt;     &lt;span style="color: blue;"&gt;private&lt;/span&gt; &lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;readonly&lt;/span&gt; Lazy&amp;lt;LazySingleton&amp;gt; _instance&lt;/pre&gt;&lt;pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum5" style="color: #606060;"&gt;   5:&lt;/span&gt;         = &lt;span style="color: blue;"&gt;new&lt;/span&gt; Lazy&amp;lt;LazySingleton&amp;gt;(() =&amp;gt; &lt;span style="color: blue;"&gt;new&lt;/span&gt; LazySingleton());&lt;/pre&gt;&lt;pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum6" style="color: #606060;"&gt;   6:&lt;/span&gt;  &lt;/pre&gt;&lt;pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum7" style="color: #606060;"&gt;   7:&lt;/span&gt;     &lt;span style="color: green;"&gt;// private to prevent direct instantiation.&lt;/span&gt;&lt;/pre&gt;&lt;pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum8" style="color: #606060;"&gt;   8:&lt;/span&gt;     &lt;span style="color: blue;"&gt;private&lt;/span&gt; LazySingleton()&lt;/pre&gt;&lt;pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum9" style="color: #606060;"&gt;   9:&lt;/span&gt;     {&lt;/pre&gt;&lt;pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum10" style="color: #606060;"&gt;  10:&lt;/span&gt;     }&lt;/pre&gt;&lt;pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum11" style="color: #606060;"&gt;  11:&lt;/span&gt;  &lt;/pre&gt;&lt;pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum12" style="color: #606060;"&gt;  12:&lt;/span&gt;     &lt;span style="color: green;"&gt;// accessor for instance&lt;/span&gt;&lt;/pre&gt;&lt;pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum13" style="color: #606060;"&gt;  13:&lt;/span&gt;     &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;static&lt;/span&gt; LazySingleton Instance&lt;/pre&gt;&lt;pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum14" style="color: #606060;"&gt;  14:&lt;/span&gt;     {&lt;/pre&gt;&lt;pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum15" style="color: #606060;"&gt;  15:&lt;/span&gt;         get&lt;/pre&gt;&lt;pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum16" style="color: #606060;"&gt;  16:&lt;/span&gt;         {&lt;/pre&gt;&lt;pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum17" style="color: #606060;"&gt;  17:&lt;/span&gt;             &lt;span style="color: blue;"&gt;return&lt;/span&gt; _instance.Value;&lt;/pre&gt;&lt;pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum18" style="color: #606060;"&gt;  18:&lt;/span&gt;         }&lt;/pre&gt;&lt;pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum19" style="color: #606060;"&gt;  19:&lt;/span&gt;     }&lt;/pre&gt;&lt;pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum20" style="color: #606060;"&gt;  20:&lt;/span&gt; }&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;
Всё, готово. Код честно взят &lt;a href="http://geekswithblogs.net/BlackRabbitCoder/archive/2010/05/19/c-system.lazylttgt-and-the-singleton-design-pattern.aspx"&gt;отсюда&lt;/a&gt;. Кстати, заметьте, что код на самом-то деле глупость - у нас пустой конструктор, откладывать его исполнение за счет дополнительных синхронизаций бессмысленно.&lt;br /&gt;
&lt;br /&gt;
Чуть побольше про ленивую инициализацию и Lazy&lt;t&gt;&amp;nbsp;можно почитать на MSDN &lt;a href="http://msdn.microsoft.com/en-us/library/dd997286.aspx"&gt;здесь&lt;/a&gt;. Есть и на &lt;a href="http://msdn.microsoft.com/ru-ru/library/dd997286.aspx"&gt;русском&lt;/a&gt;, но поверьте, оно вам на таком русском не нужно.&lt;br /&gt;
&lt;br /&gt;
И вот казалось бы, одним вопросом для дотнетчиков меньше. Но что-то у меня есть подозрения, что вопрос еще какое-то время побудет актуальным&amp;nbsp;:) Как считаете?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933369614249771220-4252915623954003935?l=www.shcoder.by' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/2vFKgt7aHPAYsWoBSET4Onrtq04/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2vFKgt7aHPAYsWoBSET4Onrtq04/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/2vFKgt7aHPAYsWoBSET4Onrtq04/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2vFKgt7aHPAYsWoBSET4Onrtq04/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Taqcq?a=aYBm4GzHTkA:MHkINf2baN0:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Taqcq?i=aYBm4GzHTkA:MHkINf2baN0:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Taqcq/~4/aYBm4GzHTkA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.shcoder.by/feeds/4252915623954003935/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.shcoder.by/2010/09/singleton-in-net-4.html#comment-form" title="13 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/4252915623954003935?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/4252915623954003935?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Taqcq/~3/aYBm4GzHTkA/singleton-in-net-4.html" title="Singleton in .NET 4 - вопрос снят?" /><author><name>Andrei Charnou</name><uri>http://www.blogger.com/profile/01286060687350810325</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp0.blogger.com/_hTFMi0z5W-c/SDB7zp0AlzI/AAAAAAAAAN8/8f9wXLEusTw/S220/DSCF1191.JPG" /></author><thr:total>13</thr:total><feedburner:origLink>http://www.shcoder.by/2010/09/singleton-in-net-4.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEHQH85fCp7ImA9WhZQE0w.&quot;"><id>tag:blogger.com,1999:blog-933369614249771220.post-8332995012515799589</id><published>2010-08-28T12:10:00.000+03:00</published><updated>2011-04-20T18:33:51.124+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-20T18:33:51.124+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="RUS" /><category scheme="http://www.blogger.com/atom/ns#" term="TDD" /><title>GTD и TDD</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_hTFMi0z5W-c/THa5kbchJTI/AAAAAAAABJo/aB3v8HgcWOA/s1600/tdd.jpg" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" ox="true" src="http://3.bp.blogspot.com/_hTFMi0z5W-c/THa5kbchJTI/AAAAAAAABJo/aB3v8HgcWOA/s320/tdd.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;Вот вы думаете зря что ли в&amp;nbsp;&lt;a href="http://www.shcoder.by/search/label/TDD"&gt;TDD&lt;/a&gt; и &lt;a href="http://lifeidea.org/2006/11/getting-things-done/"&gt;GTD&lt;/a&gt; две буквы из трех одинаковые? Вы еще, наверное, думаете, что TDD - это когда тесты пишут перед реализацией.&lt;br /&gt;
&lt;br /&gt;
Дело в том, что нужно быстро взять и прочитать &lt;a href="http://www.amazon.com/Test-Driven-Development-Kent-Beck/dp/0321146530"&gt;TDD by Example&lt;/a&gt; Кента Бека и все сразу станет на место - не может ведь быть, что 240 страниц текста посвящено только test first принципу.&lt;br /&gt;
&lt;br /&gt;
Не может быть&amp;nbsp;и не есть. &lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
Кент, например, рассказывает нам, что основной принцип TDD - это движение маленькими шажками. При решении какой-то задачи, он предлагает записать её на листик (ну, в VS есть настоящий to do list, такой же как и в Outlook) и прикинуть, понятно ли как решить задачу&amp;nbsp;прямо сейчас. Если нет, то&amp;nbsp;подумать, какой шаг может нас приблизить к решению основной проблемы. Таким образом он предлагает идти рекурсивно до первой простейшей атомарной задачи, которую мы и возьмем для реализации. &lt;br /&gt;
&lt;br /&gt;
Далее предлагается написать тест для этой задачи и прогнать его, чтобы убедиться, что он падает. Помимо чисто психологического аспекта, как показывает практика (вы будете смеяться), есть и практическая польза&amp;nbsp;- иногда тест&amp;nbsp;не падает. &lt;br /&gt;
&lt;br /&gt;
Справившись наконец с такой простейшей задачей как падающий тест, следующим шагом нам&amp;nbsp;требуется написать реализацию максимально простым способом. То есть сделать тест зеленым как можно быстрее - это раз, и делая только то, что необходимо для теста - это два. &lt;br /&gt;
&lt;br /&gt;
Более того, если во время реализации пришла какая-то супер-идея как сделать что-то лучше, то&amp;nbsp;мы не отвлекаемся, а просто вносим её в наш to do list.&amp;nbsp;Это важно, мы выгружаем её из мозга, чтобы она&amp;nbsp;не мешалась у нас под ногами и не мешала нам сконцентрироваться над текущей задачей.&lt;br /&gt;
&lt;br /&gt;
После реализации теста, мы можем поставить зеленую галочку в нашем to do list, что, &lt;a href="http://www.shcoder.by/2010/08/blog-post_22.html"&gt;как мы уже знаем&lt;/a&gt;, несет в себе позитивный мотивирующий заряд и дает нам ощущение здорового прогресса.&lt;br /&gt;
&lt;br /&gt;
Причем, стоит особо отметить, - не будь у нас зеленого теста (или теста вообще), мы бы не были на 100% уверены в завершенности задачи.&amp;nbsp;А точнее мы бы на 99% процентов были уверены, что первый запуск выдаст нам парочку-другую -&amp;nbsp;а может и больше - непростых ошибок. &lt;br /&gt;
&lt;br /&gt;
И ведь часто мы знаем, где может крыться проблема, потому что не уверены, как работает какой-то метод фреймворка, который мы впервые используем. Эта неуверенность нас бы постоянно отвлекала, снижая концентрацию и производительность, не напиши мы сразу тест. &lt;br /&gt;
&lt;br /&gt;
Более того, следующим шагом является небольшая порция рефакторинга, то есть мы причесываем наш код и делаем его чистым и красивым, - несомненный мотивирующий фактор для здорового программиста. &lt;br /&gt;
&lt;br /&gt;
Мы не боимся что-то поломать, потому что если возникает проблема, то тесты, которые мы написали ранее, сразу дадут нам знать&amp;nbsp;об этом. &amp;nbsp;Мы не забываем, что 80% времени программист читает код, а не пишет, поэтому постоянный рефакторинг - это эффективный способ увеличить производительность нашу и наших коллег.&lt;br /&gt;
&lt;br /&gt;
Итак,&amp;nbsp;после&amp;nbsp;разумной порции рефакторинга, мы можем браться за следующую задачу&amp;nbsp;- мы пересматриваем наш to do list, а вдруг какие-то из ранее записанных задач уже понятно как решать буквально с первого взгляда. Если да, то беремся и решаем. Если нет, то мы продолжаем разбивать проблему на маленькие кусочки, выходя на элементарные задачи, которые мы можем решить сходу. И так&amp;nbsp;до тех пор, пока ранее записанная проблема сама не станет одной из таких элементарных задач.&lt;br /&gt;
&lt;br /&gt;
В результате, мы все время движемся маленькими шагами и при каждом очередном зеленом тесте получаем тот необходимый нам импульс "Фуух, сделал!", мотивирующий нас на движение вперед, и, в то же время, не забываем удовлетворять наше чувство прекрасного, уделяя время на правильную структуризацию кода (рефакторинг). Мы делаем только то, что необходимо для прогресса, максимально простым и быстрым способом. Мы уверены в будущем и не боимся, что слишком простая реализация может не удовлетворять всем нашим потребностям в будущем - код легко читать и менять, а тесты застрахуют нас от ошибок.&lt;br /&gt;
&lt;br /&gt;
Господа, это и есть принципы Getting Things Done, адаптированные к программированию, то есть TDD - это и есть, не побоюсь громких слов, эффективная&amp;nbsp;система time management для разработчиков. &lt;br /&gt;
&lt;br /&gt;
И помните, &lt;a href="http://www.slideshare.net/wakaleo/real-developers-dont-need-unit-tests"&gt;только настоящим пацанам не нужны тесты&lt;/a&gt;!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933369614249771220-8332995012515799589?l=www.shcoder.by' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hlIP-99LfatragOdHgS363Iaj7M/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hlIP-99LfatragOdHgS363Iaj7M/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/hlIP-99LfatragOdHgS363Iaj7M/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hlIP-99LfatragOdHgS363Iaj7M/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Taqcq?a=4XKJKWpcGcA:kqS4aCDu-tY:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Taqcq?i=4XKJKWpcGcA:kqS4aCDu-tY:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Taqcq/~4/4XKJKWpcGcA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.shcoder.by/feeds/8332995012515799589/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.shcoder.by/2010/08/gtd-tdd.html#comment-form" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/8332995012515799589?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/8332995012515799589?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Taqcq/~3/4XKJKWpcGcA/gtd-tdd.html" title="GTD и TDD" /><author><name>Andrei Charnou</name><uri>http://www.blogger.com/profile/01286060687350810325</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp0.blogger.com/_hTFMi0z5W-c/SDB7zp0AlzI/AAAAAAAAAN8/8f9wXLEusTw/S220/DSCF1191.JPG" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_hTFMi0z5W-c/THa5kbchJTI/AAAAAAAABJo/aB3v8HgcWOA/s72-c/tdd.jpg" height="72" width="72" /><thr:total>5</thr:total><feedburner:origLink>http://www.shcoder.by/2010/08/gtd-tdd.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEHQH85fSp7ImA9WhZQE0w.&quot;"><id>tag:blogger.com,1999:blog-933369614249771220.post-4021673748376750712</id><published>2010-08-22T21:43:00.008+03:00</published><updated>2011-04-20T18:33:51.125+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-20T18:33:51.125+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="RUS" /><category scheme="http://www.blogger.com/atom/ns#" term="Outlook" /><title>Мозг и ночные бдения</title><content type="html">Макс Дорофеев опубликовал интересный slide cast (&lt;a href="http://cartmendum.livejournal.com/tag/gtd"&gt;полная версия&lt;/a&gt;), в частности мне понравились размышления про мозг и то, как он (мозг) воспринимает задачи, рекомендую:&lt;br /&gt;
&lt;br /&gt;
&lt;div id="__ss_4902647" style="width: 425px;"&gt;&lt;strong style="display: block; margin: 12px 0px 4px;"&gt;&lt;a href="http://www.slideshare.net/Cartmendum/gtd-dev-labs2010-part-i" title="Gtd Dev Labs2010 Part I"&gt;Gtd Dev Labs2010 Part I&lt;/a&gt;&lt;/strong&gt;&lt;object height="355" id="__sse4902647" width="425"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=gtddevlabs2010parti-100804140213-phpapp02&amp;stripped_title=gtd-dev-labs2010-part-i" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed name="__sse4902647" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=gtddevlabs2010parti-100804140213-phpapp02&amp;stripped_title=gtd-dev-labs2010-part-i" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;div style="padding-bottom: 12px; padding-left: 0px; padding-right: 0px; padding-top: 5px;"&gt;View more &lt;a href="http://www.slideshare.net/"&gt;webinars&lt;/a&gt; from &lt;a href="http://www.slideshare.net/Cartmendum"&gt;Maxim Dorofeev&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;Идея проста и не нова (просто изложение забавное) – если мы ставим задачи в очередь, пытаясь их запомнить, то они довлеют над нами и постоянно всплывают, отвлекают от текущей работы и нервируют. Самый простой способ – это не держать эти задачи в голове, а записать их куда-нибудь, выгрузить куда-нибудь из своего мозга. &lt;br /&gt;
&lt;br /&gt;
Когда под рукой есть Outlook, то все просто, но у меня вот иногда такое ночью бывает. Приходит в голову идея, и пытаешься её «не забыть». Она тебя теребит, мешает заснуть, и тут приходит вторая идея. Мозг все больше не спит, накапливается критичиская масса идей, которые нужно не забыть, ведь неплохие идеи :) Все, сон потерян, и нужно что-то делать, чтобы не проснуться завтра с больной головой. &lt;br /&gt;
&lt;br /&gt;
У меня хорошего рецепта нет, разные вещи пробовал, но что не пробую, то выходит как-то боком. А вы как боретесь с подобным явлением? Или если у вас хороший сон, то может быть что-то просто посоветуете?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933369614249771220-4021673748376750712?l=www.shcoder.by' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/n57wntGhQET_WJjwnnNIVtDGA9k/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/n57wntGhQET_WJjwnnNIVtDGA9k/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/n57wntGhQET_WJjwnnNIVtDGA9k/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/n57wntGhQET_WJjwnnNIVtDGA9k/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/Taqcq?a=pSCoGljlqQ0:xMlKqiw5w5U:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/Taqcq?i=pSCoGljlqQ0:xMlKqiw5w5U:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/Taqcq/~4/pSCoGljlqQ0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.shcoder.by/feeds/4021673748376750712/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.shcoder.by/2010/08/blog-post_22.html#comment-form" title="8 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/4021673748376750712?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/933369614249771220/posts/default/4021673748376750712?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/Taqcq/~3/pSCoGljlqQ0/blog-post_22.html" title="Мозг и ночные бдения" /><author><name>Andrei Charnou</name><uri>http://www.blogger.com/profile/01286060687350810325</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp0.blogger.com/_hTFMi0z5W-c/SDB7zp0AlzI/AAAAAAAAAN8/8f9wXLEusTw/S220/DSCF1191.JPG" /></author><thr:total>8</thr:total><feedburner:origLink>http://www.shcoder.by/2010/08/blog-post_22.html</feedburner:origLink></entry></feed>

