<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-21088732</id><updated>2011-08-17T07:03:41.994+04:00</updated><category term='C++'/><category term='история'/><category term='о жизни'/><category term='практика программирования'/><category term='разговоры'/><category term='Интересно'/><category term='Microsoft'/><category term='Управление проектами'/><category term='Поиск'/><category term='howto'/><category term='вопросы для собеседования'/><category term='о работе'/><category term='WTF'/><category term='образование'/><category term='о блоге'/><category term='fun'/><category term='почитать'/><category term='утилиты'/><category term='fiction'/><category term='office space'/><category term='Google'/><category term='Интернет'/><category term='безопасность'/><category term='outsourcing'/><title type='text'>lktalks</title><subtitle type='html'>"Software developers have neutralized the astounding performance of modern computer hardware by adding layer upon layer of overelaborate [software] abstractions." Bjarne Stroustrup, Creator of C++</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>96</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-21088732.post-6684457192376930300</id><published>2009-10-11T04:53:00.009+04:00</published><updated>2009-10-11T05:21:28.951+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Интересно'/><category scheme='http://www.blogger.com/atom/ns#' term='почитать'/><title type='text'>"Я ХОЧУ, ЧТОБЫ ЛЮДИ СМОТРЕЛИ И УЧИЛИСЬ!"</title><content type='html'>&lt;div&gt;Рассказ в&lt;a href="http://www.wired.com/techbiz/people/magazine/16-10/ff_walker?currentPage=all"&gt; журнале Wired&lt;/a&gt; об уникальной библиотеке Jay-а Walker-а.  В библиотеке, а скорее в кунсткамере (в том смысле, в котором её &lt;a href="http://www.kunstkamera.ru/history/encyclopedia/1st_museum"&gt;создавал Петр I&lt;/a&gt;: "&lt;em&gt;Ежели кто найдет в земле или в воде какие старые вещи, а именно: каменья необыкновенные, кости человеческие или скотские, рыбьи или птичьи, не такие, как у нас ныне есть, или и такие, да зело велики и малы перед обыкновенными, также какие старые надписи на каменьях, железе или меди...&lt;/em&gt;") чего только нет. Тут и библия Гутенберга и немецкая шифровальная машина Энигма и один из первых искусственных спутников земли и масса всего замечательного. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Само помещение библиотеки не менее ( а может быть и более) интересно чем экспонаты. Да и хозяин тоже. Вот его &lt;a href="http://www.ted.com/talks/jay_walker_s_library_of_human_imagination.html"&gt;рассказ о библиотеке на конференции TED&lt;/a&gt;.&lt;/div&gt; &lt;div&gt;&lt;br /&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;Несколько картинок:&lt;/div&gt; &lt;div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UWPsw_DgfYM/StEt6KMVC-I/AAAAAAAABBo/PFVqz-NfD50/s1600-h/3.png"&gt;&lt;img src="http://1.bp.blogspot.com/_UWPsw_DgfYM/StEt6KMVC-I/AAAAAAAABBo/PFVqz-NfD50/s400/3.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5391140706130922466" style="cursor: pointer; width: 400px; height: 307px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UWPsw_DgfYM/StEt5q9y8II/AAAAAAAABBg/lPfTLpAkinU/s1600-h/2.png"&gt;&lt;img src="http://4.bp.blogspot.com/_UWPsw_DgfYM/StEt5q9y8II/AAAAAAAABBg/lPfTLpAkinU/s400/2.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5391140697748467842" style="cursor: pointer; width: 400px; height: 316px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UWPsw_DgfYM/StEt4x_sL9I/AAAAAAAABBY/a5gPhRjOZDw/s1600-h/1.png"&gt;&lt;img src="http://3.bp.blogspot.com/_UWPsw_DgfYM/StEt4x_sL9I/AAAAAAAABBY/a5gPhRjOZDw/s400/1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5391140682455592914" style="cursor: pointer; width: 400px; height: 314px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;(&lt;em&gt;Photo: Andrew Moore&lt;/em&gt;)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;А вот эти фото с сайта архитектора, создавшего здание библиотеки:&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UWPsw_DgfYM/StEt63nrIVI/AAAAAAAABBw/3IRYQK8U6ws/s1600-h/4.png"&gt;&lt;img src="http://2.bp.blogspot.com/_UWPsw_DgfYM/StEt63nrIVI/AAAAAAAABBw/3IRYQK8U6ws/s400/4.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5391140718325211474" style="cursor: pointer; width: 321px; height: 400px; " /&gt;&lt;/a&gt; (&lt;a href="http://www.markfinlay.com/nr5%20ridgefield11.html"&gt;http://www.markfinlay.com/nr5%20ridgefield11.html&lt;/a&gt;)&lt;/div&gt; &lt;div&gt; &lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UWPsw_DgfYM/StEt7Zc89LI/AAAAAAAABB4/Iuh-MZWhgbw/s1600-h/5.png"&gt;&lt;img src="http://1.bp.blogspot.com/_UWPsw_DgfYM/StEt7Zc89LI/AAAAAAAABB4/Iuh-MZWhgbw/s400/5.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5391140727407047858" style="cursor: pointer; width: 400px; height: 280px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;(&lt;a href="http://www.markfinlay.com/nr5%20ridgefield12.html"&gt;http://www.markfinlay.com/nr5%20ridgefield12.html&lt;/a&gt;)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UWPsw_DgfYM/StEvanuVy5I/AAAAAAAABCA/RDjQDryAFsE/s1600-h/6.png"&gt;&lt;img src="http://3.bp.blogspot.com/_UWPsw_DgfYM/StEvanuVy5I/AAAAAAAABCA/RDjQDryAFsE/s400/6.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5391142363325647762" style="cursor: pointer; width: 400px; height: 279px; " /&gt;&lt;/a&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt;  &lt;div&gt;(&lt;a href="http://www.markfinlay.com/nr5%20ridgefield13.html"&gt;http://www.markfinlay.com/nr5%20ridgefield13.html&lt;/a&gt;)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UWPsw_DgfYM/StEvbZw8U1I/AAAAAAAABCI/QvNJJrcHPw0/s1600-h/7.png"&gt;&lt;img src="http://1.bp.blogspot.com/_UWPsw_DgfYM/StEvbZw8U1I/AAAAAAAABCI/QvNJJrcHPw0/s400/7.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5391142376758334290" style="cursor: pointer; width: 400px; height: 280px; " /&gt;&lt;/a&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;(&lt;a href="http://www.markfinlay.com/nr5%20ridgefield14.html"&gt;http://www.markfinlay.com/nr5%20ridgefield14.html&lt;/a&gt;)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;P.S Краткая справка про собственно хозяина библиотеки. Jay Walker в основном известен созданием сайта продажи билетов priceline.com.&lt;br /&gt;Официальная биография тут: &lt;a href="http://www.walkerdigital.com/about_jw.htm"&gt;http://www.walkerdigital.com/about_jw.htm&lt;/a&gt; &lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt; &lt;div&gt;P. P.S. Заголовок поста - это слова Петра Первого - он желал  "&lt;em&gt;всякого желающего ... смотреть пускать и водить показывая и изъясняя вещи&lt;/em&gt;" в своем "кабинете редкостей". Не совсем та ситуация с библиотекой Jay Walker. Это его частная библиотека и, хотя говорят, что в неё попадают иногда школьники и знаменитости, она тем не менее не является полностью открытой для посетителей. Жалко ... я бы пошел.&lt;/div&gt; &lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-6684457192376930300?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/6684457192376930300/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=6684457192376930300' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/6684457192376930300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/6684457192376930300'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2009/10/blog-post.html' title='&quot;Я ХОЧУ, ЧТОБЫ ЛЮДИ СМОТРЕЛИ И УЧИЛИСЬ!&quot;'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_UWPsw_DgfYM/StEt6KMVC-I/AAAAAAAABBo/PFVqz-NfD50/s72-c/3.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-6302449359789582583</id><published>2009-08-31T06:30:00.004+04:00</published><updated>2009-09-06T01:25:38.967+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Управление проектами'/><category scheme='http://www.blogger.com/atom/ns#' term='outsourcing'/><title type='text'>Удаленная работа - несколько мыслей</title><content type='html'>Я довольно долгое время уже работаю с людьми, находящимися от меня на "расстоянии" 8 и более часов. Кроме того, некоторых людей, с которыми я работаю, я не знаю лично. Такая ситуация создает специфические проблемы, которых не бывает при работе в офисе.&lt;br /&gt;&lt;br /&gt;&lt;div&gt; &lt;/div&gt; Поэтому я составил список довольно банальных вещей, соблюдение которых очень упростило бы общение, если бы такой список у меня был с самого начала. &lt;ol&gt;&lt;li&gt;Вы должны быть в состоянии предложить &lt;strong&gt;удобный способ оплаты ваших услуг&lt;/strong&gt;. Уточнение: webmoney и yandex-деньги - НЕ являются удобным для всех способом . На самом деле, желательно иметь несколько способов. Самым удобным  было бы если бы у вас был банковский счет в долларах, на который можно было бы перевести вам деньги. Paypal тоже работает. Необходимость наличия удобного способа оплаты связана с тем, что когда я начинаю с вами работать, я хочу быть сосредоточен на рабочих моментах: что нужно сделать, когда, как, в какие сроки. Я не хочу думать о "логистике".&lt;/li&gt;&lt;li&gt;У вас естественно должно быть &lt;strong&gt;удовлетворительное подключение к интернет&lt;/strong&gt;:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;возможность (достаточно "широкий" канал) разговаривать по скайп или ему подобным программам&lt;/li&gt;&lt;li&gt;email&lt;/li&gt;&lt;li&gt;интернет-пейджер (icq, aim, google talk,  тот же скайп)&lt;/li&gt;&lt;li&gt;возможность передавать достаточно большие файлы&lt;/li&gt;&lt;li&gt;наличие ftp (в некоторых проектах)&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;strong&gt;Мобильный телефон для связи&lt;/strong&gt; - так чтобы я до вас можно было добраться, когда вы не за компьютером. Понятно, что телефоном этим никто не будет (не должен) злоупотреблять, но он необходим, учитывая разницу во времени.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;На письма необходимо отвечать&lt;/strong&gt;. Даже если ответ состоит в том, что вы сделать ничего не сделали. Отсутствие ответа создает неприятнейшее ощущение того, что вы пропали. Это особенно касается "одиноких волков".&lt;/li&gt;&lt;li&gt;Перед высылкой, &lt;strong&gt;код необходимо тестировать&lt;/strong&gt;. Банально, но иногда создается ощущение, что высланное не запускалось автором никогда. Опять же, особенно касается одиночек.&lt;br /&gt;P.S. По этому поводу могу рассказать два анекдота&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Автором известного учебника "Искусство программирования" Дональд Кнут, как то написал в письме: "Beware of bugs in the   above code; I have only proved it correct, not tried it"  (&lt;a href="http://www-cs-faculty.stanford.edu/%7Eknuth/faq.html"&gt;&lt;span style="font-family:monospace;"&gt;http://www-cs-faculty.stanford.edu/~knuth/faq.html&lt;/span&gt;&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;Одного моего коллегу как-то спросили "Ну что, написал программу-то?" Тот ответил: "Да". В этот момент спрашивающий уточнил - "Ну то есть она уже готова?" Ответ был простой: "Нет конечно, я её только написал, но не запускал ещё".&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Используйте в письмах тот же язык, на котором написано исходное письмо&lt;/span&gt;. Если я пишу Вам письмо по-русски - отвечайте по-русски, если по-английски, то по-английски.&lt;/li&gt;&lt;li&gt;"Было бы величайшей ошибкой думать". Это не так. &lt;span style="font-weight: bold;"&gt;Думать нужно&lt;/span&gt;. И если я прошу глупость - не грех сказать мне об этом. Будет полезно всем. Нет смысла слепо делать все, о чем вас просят, только потому что просят "с той стороны". С той стороны ошибаются не меньше чем с этой и уточнить задачу, высказать свои соображения очень желательно.&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-6302449359789582583?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/6302449359789582583/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=6302449359789582583' title='Комментарии: 4'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/6302449359789582583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/6302449359789582583'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2009/08/blog-post.html' title='Удаленная работа - несколько мыслей'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-2790008600524415793</id><published>2009-06-26T01:57:00.005+04:00</published><updated>2009-06-26T02:33:55.234+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Интересно'/><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><title type='text'>Не верь глазам своим</title><content type='html'>&lt;div style="text-align: right;"&gt;&lt;pre&gt;Если на клетке слона прочтешь надпись "буйвол", не верь глазам своим.&lt;br /&gt;&lt;a href="http://az.lib.ru/p/prutkow_k_p/text_0080.shtml"&gt;Козьма Прутков&lt;/a&gt;.&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;Нашим глазам нельзя особенно верить. Я думаю многим знакома вот эта оптическая иллюзия (взято &lt;a href="http://web.mit.edu/persci/people/adelson/checkershadow_illusion.html"&gt;тут&lt;/a&gt;):&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://web.mit.edu/persci/people/adelson/images/checkershadow/checkershadow_illusion4med.jpg"&gt;&lt;img style="cursor: pointer; width: 540px; height: 420px;" src="http://web.mit.edu/persci/people/adelson/images/checkershadow/checkershadow_illusion4med.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;На этой картинке клетки A и B одинакового цвета.&lt;br /&gt;&lt;br /&gt;А вот ещё одна иллюзия подобного типа (взято &lt;a href="http://blog.ted.com/2009/06/amazing_illusio.php"&gt;тут&lt;/a&gt;):&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.ted.com/colors.gif"&gt;&lt;img style="cursor: pointer; width: 512px; height: 512px;" src="http://blog.ted.com/colors.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Здесь синяя и голубая спирали на самом деле одного цвета.&lt;br /&gt;&lt;br /&gt;Обе иллюзии легко проверяются при помощи любого графического редактором (Paint-а вполне хватит):&lt;br /&gt;&lt;pre&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UWPsw_DgfYM/SkP52r3j8gI/AAAAAAAAA_s/dpZT_htvC7k/s1600-h/illusions.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 245px;" src="http://3.bp.blogspot.com/_UWPsw_DgfYM/SkP52r3j8gI/AAAAAAAAA_s/dpZT_htvC7k/s400/illusions.jpg" alt="" id="BLOGGER_PHOTO_ID_5351395500130300418" border="0" /&gt;&lt;/a&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Но на самом деле наши глаза и мозги вообще подвластны разного рода заблуждениям. Про не такие уж и визуальные иллюзии рассказывает Dan Ariely: &lt;a href="http://www.ted.com/talks/lang/eng/dan_ariely_asks_are_we_in_control_of_our_own_decisions.html"&gt;Are we in control of our own decisions&lt;/a&gt;?&lt;br /&gt;&lt;br /&gt;P.S. &lt;ol&gt;&lt;li&gt;Подборка иллюзий на сайте Michael Bach: &lt;a href="http://www.michaelbach.de/ot/"&gt;http://www.michaelbach.de/ot/&lt;br /&gt;&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Автор первой иллюзии Edward Adelson написал статью про восприятие света и оптические иллюзии:&lt;br /&gt;&lt;a href="http://persci.mit.edu/people/adelson/publications/gazzan.dir/gazzan.htm"&gt;http://persci.mit.edu/people/adelson/publications/gazzan.dir/gazzan.htm&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-2790008600524415793?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/2790008600524415793/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=2790008600524415793' title='Комментарии: 4'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/2790008600524415793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/2790008600524415793'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2009/06/blog-post.html' title='Не верь глазам своим'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_UWPsw_DgfYM/SkP52r3j8gI/AAAAAAAAA_s/dpZT_htvC7k/s72-c/illusions.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-7887383842530947706</id><published>2009-05-01T23:25:00.002+04:00</published><updated>2009-05-01T23:30:30.207+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Интересно'/><category scheme='http://www.blogger.com/atom/ns#' term='Поиск'/><category scheme='http://www.blogger.com/atom/ns#' term='Интернет'/><title type='text'>Слайды с первой демонстрации WolframAlpha</title><content type='html'>Я недавно рассказывал про выходящую в мае &lt;a href="http://lktalks.blogspot.com/2009/04/blog-post.html"&gt;систему WolframAlpha&lt;/a&gt;. Появилось видео с первой демонстрацией возможностей системы.&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/hYhLsQPHNas&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/hYhLsQPHNas&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Прямая ссылка: &lt;/span&gt;&lt;span class="Apple-style-span"  style="  white-space: pre; font-family:Arial;"&gt;&lt;a href="http://www.youtube.com/watch?v=hYhLsQPHNas"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;http://www.youtube.com/watch?v=hYhLsQPHNas&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-7887383842530947706?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/7887383842530947706/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=7887383842530947706' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/7887383842530947706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/7887383842530947706'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2009/05/wolframalpha.html' title='Слайды с первой демонстрации WolframAlpha'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-7991372124798977928</id><published>2009-04-28T07:39:00.003+04:00</published><updated>2009-04-28T08:09:52.134+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Интересно'/><category scheme='http://www.blogger.com/atom/ns#' term='Интернет'/><title type='text'>Может ли машина мыслить?</title><content type='html'>&lt;div&gt;&lt;strong&gt;1. Тест Тьюринга или "Может ли машина Мыслить"&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt; &lt;div&gt;В своей знаменитой статье "&lt;a href="http://cogprints.org/499/0/turing.html"&gt;Computing Machinery and Intelligence&lt;/a&gt;", напечатанной в 1950 году в журнале Mind, английский математик А. Тьюринг предложил обсудить вопрос "Может ли машина мыслить?".&lt;/div&gt;&lt;div&gt; &lt;/div&gt; &lt;div&gt;Для того чтобы ответить на этот вопрос необходимо точное определением слова "мыслить". Однако употребление этого слова слишком широко, поэтому Тьюринг предлагет вопрос переформулировать в рамках игры, которую он называет "&lt;strong&gt;Игра в имитацию&lt;/strong&gt;".  Игра устроена следующим образом.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Играют трое: мужчина (A), женщина (B) и ведущий (неважно какого пола). Ведущий находится не втой же комнате, где игроки. Задача ведущего состоит в том, чтобы определить кто из игроков мужчина, а кто женщина, задавая им различные вопросы. При этом вопросы передаются игрокам в виде текстовых сообщений. Задача игрока A - ввести ведущего в заблуждение. Задача игрока B - помочь ведущему. Ответы игроков также передаются ведущему в виде текстовых сообщений.&lt;/div&gt;&lt;div&gt; &lt;/div&gt; &lt;div&gt;Исходный вопрос "Может ли машина мыслить" теперь предлагается переформулировать так:&lt;/div&gt; &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;Что случится, если машина будет играть роль A в этой игре?  Будет ли ведущий ошибаться также часто, как в том случае, если роль A играет мужчина?&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;Описанное сейчас принято называть "&lt;strong&gt;тестом Тьюринга&lt;/strong&gt;" - &lt;strong&gt;возможность компьютерных программ успешно играть в различные разновидности игры "в имитацию"&lt;/strong&gt;. В некоторых кругах считается, что момент когда компьютер сможет пройти тест Тьюринга, означает, что человечество создало думающие машины.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt; &lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;2. Wolfram Alpha&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;Завтра, 28 апреля 2009 года, для сотрудников Harvard Law School состоится &lt;a href="http://cyber.law.harvard.edu/events/2009/04/wolfram"&gt;первая открытая презентация&lt;/a&gt; нового проекта создателя системы компьютерной алгебры Стивена Вольфрама - &lt;a href="http://www.wolframalpha.com"&gt;Wolfram Alpha&lt;/a&gt;. Сам же проект обещают открыть в мае 2009 года. Что такое Wolfram Alpha? Это "система отвечающая на вопросы". Идея состоит в том,  что ей можно будет задавать вопросы на естественном языке (английском), а системы будет давать на них точные (по возможности) ответы. Этим она сильно отличается от современных поисковых систем, которые выдают не ответы, а страницы, на которых встречаются ключевые слова.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Примеры:&lt;/div&gt; &lt;ul&gt; &lt;li&gt;если ввести “3/26/2009 + 90 days”, то в качестве ответа вернется страница, с числом, на 90 дней отстоящее от 26 марта 2009 года&lt;/li&gt; &lt;li&gt;если ввести "mt. everest height length of golden gate”, то вернется страница, на которой высота горы Эверест будет выражена в длинах моста "Золотые Ворота" в Сан-Франциско&lt;/li&gt; &lt;li&gt;если ввести "how many internet users there are in Europe", то система выдаст  точную цифру, а также графики и статистику по отдельным странам&lt;/li&gt; &lt;li&gt;система умеет решать математические задачи - несложные интегралы, производные, уравнения (она же основана на движке Mathematica, как никак)&lt;/li&gt; &lt;li&gt;умеет отвечать на вопросы по физике и химии&lt;/li&gt; &lt;li&gt;вместе с информацией о каждом факте система показывает ссылку на источник&lt;/li&gt;&lt;/ul&gt;  &lt;div&gt; &lt;/div&gt;&lt;div&gt;Дополнительные ссылки, если хочется почитать про Alpha:&lt;/div&gt; &lt;ol&gt; &lt;li&gt;Исходное объявление Стивена Вольфрама&lt;br /&gt;&lt;a href="http://blog.wolfram.com/2009/03/05/wolframalpha-is-coming"&gt;http://blog.wolfram.com/2009/03/05/wolframalpha-is-coming/&lt;/a&gt;&lt;/li&gt; &lt;li&gt;Разные дополнительные статьи&lt;/li&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://singularityhub.com/2009/04/08/stephen-wolfram-speaks-about-his-new-question-answering-engine"&gt;http://singularityhub.com/2009/04/08/stephen-wolfram-speaks-about-his-new-question-answering-engine/&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.readwriteweb.com/archives/wolframalpha_our_first_impressions.php"&gt;http://www.readwriteweb.com/archives/wolframalpha_our_first_impressions.php&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;/ol&gt;  &lt;div style="direction: ltr;"&gt;Резюме: Wolfram Apha - это очень мощный способ поиска ответов по различным энциклопедическим источникам.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;3. IBM играет в "Jeopardy"&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;11 мая 1997 года шахматный компьютер Deep Blue выграл матч у действующего чемпиона мира Г. Каспарова (Каспаров правда утверждает, что представители IBM жульничали). Сегодня, 27 апреля 2009 года, компания IBM &lt;a href="http://www-03.ibm.com/press/us/en/pressrelease/27324.wss"&gt;обнародовала свой проект Watson&lt;/a&gt; - систему, распознающую естественный язык и умеющую давать ответы на вопросы в игре "Jeopardy!", аналогом которой является российская "Своя игра". Предполагается что Watson сможет стать полноценым конкурентом игрокам-людям в этой игре. Компьютер, на котором будет работать программное обеспечение Watson - IBM Blue Gene/P.&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;Ролик: &lt;a href="http://www.youtube.com/watch?v=3e22ufcqfTs&amp;amp;feature=player_embedded"&gt;http://www.youtube.com/watch?v=3e22ufcqfTs&amp;amp;feature=player_embedded&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;a href="http://www.youtube.com/watch?v=3e22ufcqfTs&amp;amp;feature=player_embedded"&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;4. Что дальше?&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;Компьютеры пока ещё конечно не научились проходить тест Тьюринга. Но сдается мне, что мы находимся совсем недалеко. Конечно, и система Alpha и Watson - это только шаги, далеко не первые, но и не заключительные. Мы подбираемся к прохождению теста очень близко и это замечательно, так как открывает очень многие дороги.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Тест Тьюринга не дает ответа на вопрос "может ли компьютер мыслить? ". Тест Тьюринга дает ответ на вопрос - может ли компьютер действовать так, как будто бы он мыслит? Мне кажется, Тьюринг специально сформулировал вопрос именно так, для того чтобы не было возражений среди философски и религиозно-настроенных части общества. Потому что следующим вопросом ведь был бы - а может ли человек действовать так, как будто бы он мыслит?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-7991372124798977928?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/7991372124798977928/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=7991372124798977928' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/7991372124798977928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/7991372124798977928'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2009/04/blog-post.html' title='Может ли машина мыслить?'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-2430839270684642316</id><published>2009-04-28T06:23:00.001+04:00</published><updated>2009-04-28T06:26:08.315+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='почитать'/><title type='text'>Почитать #4</title><content type='html'>&lt;ol&gt;&lt;li&gt;The New York Times: David Pogue: "&lt;strong&gt;Should you worry about data rot?&lt;/strong&gt;"&lt;br /&gt;&lt;a href="http://www.nytimes.com/2009/03/26/technology/personaltech/26pogue-email.html?_r=1"&gt;http://www.nytimes.com/2009/03/26/technology/personaltech/26pogue-email.html?_r=1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Про то, что &lt;a href="http://lktalks.blogspot.com/2007/09/blog-post_16.html"&gt;современные носители информации не очень надежны&lt;/a&gt;, да к тому же ещё и форматы данных меняются со страшной скоростью. Так что,&lt;br /&gt;по прежнему пытаемся брать количеством копий. &lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Wolfram Blog: Stepehn Wolfram: "&lt;strong&gt;Wolfram|Alpha Is Coming!&lt;/strong&gt;"&lt;br /&gt;&lt;a href="http://blog.wolfram.com/2009/03/05/wolframalpha-is-coming"&gt;http://blog.wolfram.com/2009/03/05/wolframalpha-is-coming/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Создатель известной системы символьных вычислений Mathematica, рассказывает а своем новом проекте: поисковом двжке, понимающем&lt;br /&gt;естественный язык. Обещает совершенно новый способ получения информации из web. Проект &lt;a href="http://www.wolframalpha.com/"&gt;Wolfram|Alpha&lt;/a&gt; должен стать публично доступным в мае.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt; &lt;li&gt;Scientific American: Ray Kurzweil: "&lt;strong&gt;The coming merging of mind and machine&lt;/strong&gt;"&lt;br /&gt;&lt;a href="http://www.sciam.com/article.cfm?id=merging-of-mind-and-machine"&gt;http://www.sciam.com/article.cfm?id=merging-of-mind-and-machine&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Про то, как через пару-тройку десятков лет мы создадим компьютеры, способные думать и обладающие эмоциям. А также про то такие компьютеры - эволюционное будуще человечества. (Помните о том, что автор ..ммм ... не совсем обычный человек с неоднозначными взглядами :-) )&lt;br /&gt;&lt;br /&gt;&lt;/li&gt; &lt;li&gt;The New Yorker: John McPhee: Checkpoints&lt;br /&gt;&lt;a href="http://www.newyorker.com/reporting/2009/02/09/090209fa_fact_mcphee"&gt;http://www.newyorker.com/reporting/2009/02/09/090209fa_fact_mcphee&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Про то, как работают люди, выверяюшие факты в газетах и журналах. (Требуется регистрация, но денег платить не требуется).&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-2430839270684642316?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/2430839270684642316/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=2430839270684642316' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/2430839270684642316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/2430839270684642316'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2009/04/4.html' title='Почитать #4'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-2840148446761110229</id><published>2009-03-26T05:43:00.001+03:00</published><updated>2009-03-26T05:49:40.419+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Интересно'/><title type='text'>World Wide Telescope</title><content type='html'>Если вы ещё не посмотрели &lt;a href="http://www.worldwidetelescope.org"&gt;World Wide Telescope&lt;/a&gt;, тогда мы идем к вам. &lt;div&gt; &lt;/div&gt; &lt;div&gt;Проект вышел из beta статуса и доступен всем желающим. World Wide Telescope - это ответ Microsoft на Google Earth + Google Sky -&lt;br /&gt;программа в которой можно путешествовать по космосу, земле, планетам, галактикам, созвездиям и звездным скоплениям.&lt;/div&gt; &lt;div&gt;Проект создавался в тесном сотрудничестве с NASA и потому количество и качество космических снимков очень, очень впечатляет.&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;Заметки россыпью:&lt;/div&gt; &lt;ul&gt; &lt;li&gt;Страничка проекта на Microsoft Research: &lt;a href="http://research.microsoft.com/en-us/projects/wwt"&gt;http://research.microsoft.com/en-us/projects/wwt/&lt;/a&gt;&lt;/li&gt; &lt;li&gt;Вдохновителем продукта был всемирно известный исследователь &lt;a href="http://research.microsoft.com/en-us/um/people/gray"&gt;Jim Grey&lt;/a&gt;&lt;/li&gt; &lt;li&gt;NASA передало Microsoft фото с телескопов Hubble, Spitzer и Chandra для использования продукте&lt;/li&gt; &lt;li&gt;Существует веб-клиент (MS Silverlight) - и вроде даже более или менее работает&lt;/li&gt; &lt;li&gt;Windows версию можно подключать к настоящему телескопу и направлять его в интересующую точку неба!!! (требует дополнительного софта, конечно же)&lt;/li&gt; &lt;li&gt;Количество источников изображений &lt;a href="http://www.worldwidetelescope.org/help/SupportHelp.aspx"&gt;впечатляет&lt;/a&gt;:&lt;/li&gt; &lt;ul&gt; &lt;li&gt;Digitized Sky Survey (Color)&lt;br /&gt;A sky survey in the infrared wavelength created by the Space Telescope Science Institute's (STScI) Catalogs and Surveys Group from the Palomar and U.K. Schmidt telescope photographic sky survey plates. Each plate covers 6.5 x 6.5 degrees of the sky.&lt;/li&gt; &lt;li&gt;Sloan Digital Sky Survey (Color)&lt;br /&gt;A wide-field deep sky survey that will generate detailed images taken at the optical wavelength covering more than a quarter of the sky, determine the positions and absolute brightness of hundreds of millions of celestial objects, measure the distance to more than one million galaxies and 10,000 quasars, and produce a three-dimensional picture of the universe.&lt;/li&gt; &lt;li&gt;Hydrogen Alpha&lt;br /&gt;A full sky map generated by Douglas Finkbeiner at Princeton University compositing the Virginia Tech Spectral line Survey (VTSS) in the northern hemisphere and the Southern H-Alpha Sky Survey Atlas (SHASSA) in the southern hemisphere. The hydrogen-alpha filters block out as much of the hydrogen emission spectrum leaving only a bandpass from 0.5 Angstrom to 1 Angstrom deep in the red end of the visible light spectrum.&lt;/li&gt; &lt;li&gt;IR Dust Map&lt;br /&gt;The Infrared (IR) Dust Map is an all-sky, 100 micron, far infrared (12, 20, 25, and 100 micron passbands) survey modulated by dust temperatures and then calibrated to be dust reddening in magnitudes.&lt;/li&gt; &lt;li&gt;WMAP Microwave Cosmic Background&lt;br /&gt;The Wilkinson Microwave Anisotropy Probe (WMAP) was a three-year, all-sky survey that concluded in 2006. The survey was conducted at several microwave bands (K, Ka, Q, V and W) to measure and map the cosmic microwave background radiation and its fluctuations.&lt;/li&gt; &lt;li&gt;US Naval Observatory B1.0&lt;br /&gt;An inclusive all-sky catalog from the U.S. Naval Observatory Flagstaff Station (USNOFS) Precision Measuring Machine project. It contains over 1,042,618,261 entries for stars and galaxies. Every point on the sky is covered at several epochs and at several wavelengths, making it possible to construct a catalog that includes positions, proper motions, optical colors, star-nonstar discriminators, and the appropriate uncertainties.&lt;/li&gt; &lt;li&gt;2MASS (Synthetic)&lt;br /&gt;A whole sky survey created using three photometric near-infrared bands to detect and characterize point sources brighter than about 1 milliJansky (mJy) in each band, with signal-to-noise ratio (SNR) greater than 10, using a pixel size of 2.0".&lt;/li&gt; &lt;li&gt;Tycho Synthetic&lt;br /&gt;The Tycho-2 catalog is based on a mix of 1991 space-based data from the European Space Agency's Hipparcos satellite, data from the Tycho 1 catalog, and over 140 astrometric catalogs. The catalog also included the re-analysis of positional data for the Tycho-1 stars and increased the number of stars in the catalog to 2.5 million.&lt;/li&gt; &lt;li&gt;RASS X-Ray&lt;br /&gt;The ROSAT All Sky Survey (RASS) was a survey of the sky released in March 2000 by the Max-Planck-Institut für extraterrestrische Physik. Its two objectives were to create the first all-sky survey with an imaging X-ray and extreme-ultraviolet (EUV) telescope and a detailed study of selected X-ray and selected EUV sources.&lt;/li&gt; &lt;li&gt;VLSS Radio&lt;br /&gt;The Very Large Array Low-Frequency Sky Survey (VLSS) is a 74 MHz (4-meter wavelength) continuum radio survey consisting of 358 continuum images covering the entire sky north of -30° declination.&lt;/li&gt;&lt;/ul&gt;  &lt;li&gt;Можно смотреть картину звездного неба, двигаясь во времени, то есть, например, увидеть небо таким, каким его видели 2000 лет назад&lt;/li&gt; &lt;li&gt;Ну можно конечно смотреть землю, в том числе карту и "street view"&lt;/li&gt; &lt;li&gt;Можно смотреть все изображения с&lt;/li&gt; &lt;ul&gt; &lt;li&gt;Spirit и Oportunity (Марс)&lt;/li&gt; &lt;li&gt;Pathfinder&lt;/li&gt; &lt;li&gt;Apollo 11-17 (луна)&lt;/li&gt;&lt;/ul&gt;  &lt;li&gt;Можно смотреть землю ночью&lt;/li&gt; &lt;li&gt;Можно создавать туры с аудио, аннотациями и некоторые уже опубликованы&lt;/li&gt;&lt;li&gt;"Можно грабить корованы" &lt;a href="http://lurkmore.ru/Корованы"&gt;:-)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-2840148446761110229?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/2840148446761110229/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=2840148446761110229' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/2840148446761110229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/2840148446761110229'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2009/03/world-wide-telescope.html' title='World Wide Telescope'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-7815388349665520304</id><published>2009-03-10T17:52:00.002+03:00</published><updated>2009-03-10T17:56:53.995+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='почитать'/><title type='text'>почитать #3</title><content type='html'>&lt;ol&gt;&lt;li&gt;Элементы: А. Марков: "&lt;strong&gt;Популярность креационизма в Европе объясняется не религиозностью, а научной безграмотностью&lt;/strong&gt;"&lt;br /&gt;&lt;a href="http://elementy.ru/news/431014" style="text-decoration: none;"&gt;http://elementy.ru/news/431014&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;О том, что распространение креационизма не является только американской проблемой.&lt;/li&gt;&lt;/ol&gt;&lt;ol&gt; &lt;li&gt;The New York Times: Dennis Overbye: "&lt;strong&gt;In a lonely cosmos, a Hunt for Worlds Like Ours&lt;/strong&gt;"&lt;br /&gt;&lt;a href="http://www.nytimes.com/2009/03/03/science/03kepl.html"&gt;http://www.nytimes.com/2009/03/03/science/03kepl.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;О запуске телескопа Кеплер, целью которого будет поиск планет, похожих на землю.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt; &lt;li&gt;The Long Now Blog: "&lt;strong&gt;History of LIfe in 60 Seconds&lt;/strong&gt;"&lt;br /&gt;&lt;a href="http://feedproxy.google.com/~r/longnow/~3/8QhvV1GZ38Q"&gt;History of Life in 60 seconds&lt;/a&gt;&lt;br /&gt;Одноминутный ролик о том как развивалась жизнь на земле. Возникновение человечества практически  невозможно заметить, настолько это маленький отрезок,  по сравнению со всем остальным.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt; &lt;li&gt;The New York Times: "&lt;strong&gt;They Tried to Outsmart Wall Street&lt;/strong&gt;"&lt;br /&gt;&lt;a href="http://www.nytimes.com/2009/03/10/science/10quant.html?_r=2&amp;amp;pagewanted=all"&gt;http://www.nytimes.com/2009/03/10/science/10quant.html?_r=2&amp;amp;pagewanted=all&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;О том, как ученые пытались и продолжают пытаться математически моделировать процессы, происходящие на фондовом рынке.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt; &lt;li&gt;На закуску: старый ролик английских комиков John Bird и John Fortune, в котором они рассказывают про экономический кризис. Отличется тем, что кризис в этом ролике предсказан, поскольку программа вышла существенно раньше того как все обвалилось.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/mzJmTCYmo9g&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;hl=en&amp;amp;feature=player_embedded&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;embed src="http://www.youtube.com/v/mzJmTCYmo9g&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;hl=en&amp;amp;feature=player_embedded&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span"   style="font-family:-webkit-monospace;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:13px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Прямая ссылка: &lt;a href="http://www.youtube.com/watch?v=mzJmTCYmo9g&amp;amp;eurl=http://video.google.com/videosearch?hl=en&amp;amp;rlz=1C1GGLS_enUS291US303&amp;amp;q=bird%20fortune&amp;amp;um=1&amp;amp;ie=UTF-8&amp;amp;saiurl=http://i2.ytimg.com/vi/mzJmTCYmo9g/hqdefault.jpg&amp;amp;feature=player_embedded"&gt;&lt;span style="font-family:monospace;"&gt;http://www.youtube.com/watch?v=mzJmTCYmo9g&amp;amp;eurl=http://video.google.com/videosearch?hl=en&amp;amp;rlz=1C1GGLS_enUS291US303&amp;amp;q=bird%20fortune&amp;amp;um=1&amp;amp;ie=UTF-8&amp;amp;saiurl=http://i2.ytimg.com/vi/mzJmTCYmo9g/hqdefault.jpg&amp;amp;feature=player_embedded&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-7815388349665520304?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/7815388349665520304/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=7815388349665520304' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/7815388349665520304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/7815388349665520304'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2009/03/3.html' title='почитать #3'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-6626065320700395818</id><published>2009-03-09T19:42:00.001+03:00</published><updated>2009-03-09T19:44:16.147+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='разговоры'/><title type='text'>Amazon Kindle 2  и Unicode</title><content type='html'>&lt;span style="font-family:monospace;"&gt;Недавно, 24 февраля компания Amazon начала поставки своей "читалки" электронных книг &lt;a href="http://www.amazon.com/Kindle-Amazons-Wireless-Reading-Generation/dp/B00154JDAI/ref=amb_link_83624371_1?pf_rd_m=ATVPDKIKX0DER&amp;amp;pf_rd_s=center-1&amp;amp;pf_rd_r=1JD8NZSCPXC0TBHGEJJT&amp;amp;pf_rd_t=101&amp;amp;pf_rd_p=469942651&amp;amp;pf_rd_i=507846"&gt;Kindle 2&lt;/a&gt;.&lt;/span&gt; &lt;div&gt;&lt;span style="font-family:monospace;"&gt;Про Kindle много писали - его функциональность, достоинства и недостатки достаточно хорошо известны. Однако, буквально вчера, я вдруг осознал про это устройство нечто, что поразило меня до глубины души.  Оказалось что в нем есть только встроеная поддержка &lt;a href="http://www.amazon.com/Full-character-set-list-Kindle/forum/FxBVKST06PWP9B/Tx3J34YF7P7GBYY/1?_encoding=UTF8&amp;amp;asin=B000FI73MA"&gt;latin-1&lt;/a&gt; и греческого. И все. Ни русских, ни японо-китайских, никаких других языков не подразумевается. Только английский, ну и плюс западноевропейские.&lt;span class="Apple-style-span" style="font-family: Georgia; font-size: 16px; "&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:-webkit-monospace;font-size:100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:monospace;"&gt;&lt;span class="Apple-style-span" style="font-family: Georgia; font-size: 16px; "&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span style="font-family:monospace;"&gt;Ну что тут сказать. Первая версия Kindle была &lt;a href="http://en.wikipedia.org/wiki/Amazon_Kindle"&gt;выпущена в конце 2007, вторая соответственно в 2009&lt;/a&gt;. Unicode консорциум был &lt;a href="http://unicode.org/history"&gt;образован в январе 1991 года&lt;/a&gt;. 17 лет всего прошло, это конечно немного.&lt;/span&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:-webkit-monospace;font-size:100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:monospace;"&gt;Я могу довольно легко понять, что Kindle - устройство в основном расчитанное на американский рынок и все такое. Тем не менее, идея что в 2008, ну или скажем 2007 или 2006 (когда они начинали писать firmware) программисты сядут и напишут не unicode программу, тем более программу которая является читалкой книг, блогов, газет и к тому же web-браузером, кажется мне диковатой.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:-webkit-monospace;font-size:100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;span style="font-family:monospace;"&gt;P.S. Может быть программистам Amazon стоит прочитать небольшую статью Joel Spolsky: &lt;a href="http://www.joelonsoftware.com/articles/Unicode.html"&gt;The Absolute Minimum Every Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)&lt;/a&gt;. Шутка. На самом деле я почему-то уверен, что это было бизнес решение.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-6626065320700395818?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/6626065320700395818/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=6626065320700395818' title='Комментарии: 4'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/6626065320700395818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/6626065320700395818'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2009/03/amazon-kindle-2-unicode.html' title='Amazon Kindle 2  и Unicode'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-7657610588489854611</id><published>2009-03-02T20:25:00.002+03:00</published><updated>2009-03-03T00:12:32.322+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='почитать'/><title type='text'>почитать #2</title><content type='html'>&lt;ol&gt; &lt;li&gt;TED Talk: Sylvia Earle: "&lt;strong&gt;Here is how to protect the blue heart of the planet&lt;/strong&gt;"&lt;br /&gt;&lt;a href="http://www.ted.com/talks/sylvia_earle_s_ted_prize_wish_to_protect_our_oceans.html"&gt;http://www.ted.com/talks/sylvia_earle_s_ted_prize_wish_to_protect_our_oceans.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;О том, что происходит с мировым океаном и о том, что нужно создавать морские заповедники, пока вся рыба не кончилась&lt;br /&gt;&lt;br /&gt;&lt;/li&gt; &lt;li&gt;Элементы: А.А. Зализняк "&lt;b&gt;О профессиональной и любительской лингвистике&lt;/b&gt;"&lt;br /&gt;&lt;a href="http://elementy.ru/lib/430720?context=369876"&gt;http://elementy.ru/lib/430720?context=369876&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;О том, что не надо верить в то, что "Государство древнее Урарту образовалось из Урюпинска и Тарту". (с) Тимур Шаов. Также несколько перекликается со статьей "Об исторической лингвистике", на которую я ссылался в прошлом выпуске. Замечательные мысли про опасность веры в то "что все мнения одинаково ценны".&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-7657610588489854611?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/7657610588489854611/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=7657610588489854611' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/7657610588489854611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/7657610588489854611'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2009/03/2.html' title='почитать #2'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-2369033899076712169</id><published>2009-02-23T20:37:00.002+03:00</published><updated>2009-02-23T20:44:47.267+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='почитать'/><title type='text'>почитать</title><content type='html'>&lt;div&gt;Время от времени мне попадаются в сети интересные статьи, видео, которые заставляются задуматься о чем-то большем чем &lt;a href="http://lktalks.blogspot.com/2007/04/blog-post_19.html"&gt;системы контроля версий&lt;/a&gt;, &lt;a href="http://lktalks.blogspot.com/2007/06/dry.html"&gt;принцип DRY&lt;/a&gt;,вопросе о том как &lt;a href="http://lktalks.blogspot.com/2007/10/blog-post.html"&gt;распознать шрифт по его изображению&lt;/a&gt; или что подразумевается под названием дожности "&lt;a href="http://lktalks.blogspot.com/2007/02/blog-post.html"&gt;Team Leader&lt;/a&gt;". В этом еженедельном обзоре я попытаюсь выкладывать список ссылок на подобные "вкусности".  Вот список попавшегося мне за прошлую неделю  (Сами публикации не обязательно случились на прошлой неделе, просто я их на этой неделе прочитал/просмотрел).&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;Замечание: если заголовок английский, значит текст или видео - на английском языке.&lt;/div&gt; &lt;ol&gt; &lt;li&gt;TED Talk: Juan Enriquez: "&lt;strong&gt;Beyond the crisis, mindboggling science and the arrival of Homo evolutis.&lt;/strong&gt;"&lt;br /&gt;&lt;a href="http://www.ted.com/talks/juan_enriquez_shares_mindboggling_new_science.html"&gt;http://www.ted.com/talks/juan_enriquez_shares_mindboggling_new_science.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;О будущем человечества, как вида.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt; &lt;li&gt;The Economist: "&lt;strong&gt;What's Cooking?&lt;/strong&gt;"&lt;br /&gt;&lt;a href="http://www.economist.com/science/displayStory.cfm?story_id=13139619"&gt;http://www.economist.com/science/displayStory.cfm?story_id=13139619&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;О том, как употребление приготовленной пищи повлияло на развитие Homo sapiens.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt; &lt;li&gt;TED Talk: Jill Tarter: "&lt;strong&gt;Why the search for alien intelligence matters.&lt;/strong&gt;"&lt;br /&gt;&lt;a href="http://www.ted.com/index.php/talks/jill_tarter_s_call_to_join_the_seti_search.html"&gt;http://www.ted.com/index.php/talks/jill_tarter_s_call_to_join_the_seti_search.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Директор SETI Institute о поиске внеземных цивилизаций.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt; &lt;li&gt;The New York Times: Steven Pinker: "&lt;strong&gt;My Genome, My Self&lt;/strong&gt;"&lt;br /&gt;&lt;a href="http://www.nytimes.com/2009/01/11/magazine/11Genome-t.html?_r=1&amp;amp;hp=&amp;amp;pagewanted=all"&gt;http://www.nytimes.com/2009/01/11/magazine/11Genome-t.html?_r=1&amp;amp;hp=&amp;amp;pagewanted=all&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Профессор психологии Гарвардского университета, участник  "Personal Genome Project" о том, как расшифровали его геном.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt; &lt;li&gt;Элементы: А.А. Зализняк: "&lt;strong&gt;Об Исторической Лингвистике.&lt;/strong&gt;"&lt;br /&gt;&lt;a href="http://elementy.ru/lib/430714"&gt;http://elementy.ru/lib/430714&lt;/a&gt;&lt;span style="font-family:monospace;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;О том как языки развиваются во времени. Не Фоменко.&lt;br /&gt;Замечание: это лекция для школьников, отсюда и стиль изложения.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt; &lt;li&gt;The New York Times: John Markoff. "&lt;strong&gt;Do We Need a New Internet?&lt;/strong&gt;"&lt;br /&gt;&lt;a href="http://www.nytimes.com/2009/02/15/weekinreview/15markoff.html"&gt;http://www.nytimes.com/2009/02/15/weekinreview/15markoff.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;О том, что, по-мнению некоторых специалистов по компьютерной безопасности, интернет сегодня небезопасен из-за его устройства и,&lt;br /&gt;что, для преодоления этого, нужно строить новую систему с нуля и постепенно переходить на неё.&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-2369033899076712169?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/2369033899076712169/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=2369033899076712169' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/2369033899076712169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/2369033899076712169'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2009/02/blog-post.html' title='почитать'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-2246628245863961321</id><published>2009-02-21T04:40:00.003+03:00</published><updated>2009-02-22T00:58:14.529+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Интересно'/><title type='text'>The Ultimate Reboot</title><content type='html'>Вот интересное мнение о будущем ... всего человечества (на английском, 18 минут)&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;object width="446" height="326"&gt;&lt;param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;param name="bgColor" value="#ffffff"&gt; &lt;param name="flashvars" value="vu=http://video.ted.com/talks/embed/JuanEnriquez_2009-embed_high.flv&amp;amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/JuanEnriquez-2009.embed_thumbnail.jpg&amp;amp;vw=432&amp;amp;vh=240&amp;amp;ap=0&amp;amp;ti=463"&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;UPDATE:&lt;br /&gt;&lt;br /&gt;Прошу прощения, если видео сразу оказалось не видно, то вот прямая ссылка: &lt;a href='http://www.ted.com/talks/view/id/463'&gt;http://www.ted.com/talks/view/id/463&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-2246628245863961321?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/2246628245863961321/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=2246628245863961321' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/2246628245863961321'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/2246628245863961321'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2009/02/ultimate-reboot.html' title='The Ultimate Reboot'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-4576420788439047336</id><published>2009-02-08T17:46:00.002+03:00</published><updated>2009-02-08T18:13:05.975+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='о жизни'/><category scheme='http://www.blogger.com/atom/ns#' term='office space'/><title type='text'>И снова про Fog Creek</title><content type='html'>Я неравнодушен к хорошему офису. Поэтому и следил пристально за &lt;a href="http://www.fogcreeksoftware.com"&gt;Fog Creek Software&lt;/a&gt;, создатели которой &lt;a href="http://www.fogcreek.com/About.html"&gt;заявляют&lt;/a&gt;, что: "&lt;span class="Apple-style-span" style="color: rgb(69, 87, 104); font-family: Arial; font-size: 14px; font-style: italic; line-height: 19px; "&gt;A programmer is most productive with a quiet private office, a great computer, unlimited beverages, an ambient temperature between 68 and 72 degrees (F), no glare on the screen, a chair that’s so comfortable you don’t feel it &lt;...&gt;&lt;/span&gt;".  И даже некоторое время назад сходил к ним в офис, &lt;a href="http://lktalks.blogspot.com/2008/07/fog-creek-open-house.html"&gt;посмотреть своими глазами&lt;/a&gt;, правда ли все то, что они о себе пишут. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Время идет, компании разваливаются или наоборот, расширяются. Выясняется, что несмотря на кризис, Fog Creek Software чувствует себя вполне нормально. Они переехали в новый офис.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Картинка стоит тысячи слов: &lt;a href="http://picasaweb.google.com/spolsky/FogCreekSNewOffice"&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://picasaweb.google.com/spolsky/FogCreekSNewOffice"&gt;http://picasaweb.google.com/spolsky/FogCreekSNewOffice&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Вообще, я не знаю какой Joel Spolsky программист и руководитель, но он, видимо, очень хорошо разбирается в маркетинге. Его популярность как блоггера, я думаю, существенно выше популярности программных продуктов его компании. Более того, если до сих пор он был "широко известен в узких кругах", то сегодня произошло на мой взгляд совершенно уникальное событие. Описание офиса его компании &lt;a href="http://www.nytimes.com/2009/02/08/realestate/commercial/08sqft.html?partner=permalink&amp;amp;exprod=permalink"&gt;появилось в New York Times&lt;/a&gt;, одной из самых влиятельных американских газет. Так что, думаю с сегодняшнего дня, компания Fog Creek Software стала по-настоящему широко известна.&lt;br /&gt;&lt;/div&gt;&lt;div&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/21088732-4576420788439047336?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/4576420788439047336/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=4576420788439047336' title='Комментарии: 4'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/4576420788439047336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/4576420788439047336'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2009/02/fog-creek.html' title='И снова про Fog Creek'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-254363261645620803</id><published>2008-12-03T06:39:00.004+03:00</published><updated>2008-12-03T06:55:02.744+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fiction'/><title type='text'>Попытка написать рассказ ...</title><content type='html'>&lt;strong&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;         Таксист внезапно притормозил и Саша чуть не ударился головой о пластиковую перегородку, отделявшую его от водителя. "Чёртовы светофоры!" Лекция начиналась через пять минут, а тут, как нарочно, практически на каждом перекрестке был красный. Машина наконец тронулась, и Сашу вдавило в сиденье (таксисту было обещано не обидеть, если довезет быстро). Через 6 минут такси остановилось перед зданием публичной библиотеки, Саша бросил таксисту двадцатку и, не дожидаясь сдачи, выскочил из машины и взбежал по ступеням. "Алекс, да где же вы пропадаете!" - встретил его голос куратора библиотеки - седые волосы, черный смокинг, бабочка - "Вперед! Вперед!" Вслед за пожилым куратором, Саша буквально ворвался в главный зал.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/strong&gt; &lt;p&gt;         "Итак, то чего мы все так долго ждали и ради чего собрались. С удовольствием представляю нашего уважаемого гостя. Профессор математики и главный исследователь Массачусетского Технологического Института, кафедра суперкомпьютеров: Алекс Сосновский". Пожилой куратор протянул руку, приглашая Алекса на сцену. Только когда Саша взял в руки микрофон, он понял, что на самом деле страшно волнуется. Волноваться было, в сущности, совершенно нечего. Саша был готов - полностью, стопроцентно, хотя и совершенно не готовился к лекции. Говорят, что первого советского наркома просвещения А. Луначарского как-то попросили прочитать лекцию в одном институте. Тот сразу же согласился и прочитал лекцию совершенно без подготовки. "Как же вам удается читать такие блестящие лекции совершенно без подготовки?" "Как это без подготовки? Я готовился к этому всю свою жизнь"- был ответ. Так же и сейчас. Саша готовился к этой лекции всю свою жизнь. Сегодня он, наконец, сможет рассказать всему миру о своем открытии. Что он, наконец, сделал то, о чем мечтал мальчишкой  в маленькой квартирке на окраине Москвы.&lt;/p&gt; &lt;p align="center"&gt;----------&lt;/p&gt; &lt;p&gt;         Первый раз Саша (тогда Шурик) узнал о компьютерах в школе. В тот день Филька - главный школьный хулиган, первый раз за все время молчал во время урока. Это было настолько необычно, что даже Татьяна Игоревна, их учительница, во время перемены подошла к Фильке и озабоченно спросила что случилось. Филька, однако, загадочно продолжал молчать. Когда же уроки, наконец, кончились и все мальчишки собрались в школьном дворе, Филька торжественно объявил: "А у меня дома компутер!". Признаться, мальчишки, включая и Сашку, не были особенно впечатлены этим заявлением. К тому же Филька не мог толком объяснить, что же это такое - компутер. Однако вся ватага помчалась к Фильке домой смотреть на чудо. Войдя в комнату, они увидели на письменном столе его. "Компутер" оказался железной коробкой с огромным количеством тумблеров и не меньшим количеством лампочек. Лампочки мигали. Это было совершенно непонятно и большинство из ватаги, быстро разочаровавшись, помчались на улицу играть в футбол. Филька же с Шуриком остались. Мигающие лампочки завораживали. "А как в него играть?" "Дядя Витя покажет". В этот момент из кухни вышли двое - Филькин дядя Витя, красивый высокий человек с русыми волосами и ещё кто-то - среднего роста, неприметный, в простеньком сером костюме. "Дядя Витя, здрасте! А как играть в компутер?" - бросились к нему Филька с Шуриком. Дядя Витя, однако, как будто не обратил внимания на мальчишек. Они лишь обменялись с неприметным человеком нахмуренными взглядами. Сразу после этого дядя Витя быстро упаковал "компутер" в оберточную бумагу, положил в картонную коробку с непонятной надписью и мужчины вышли.&lt;/p&gt; &lt;p&gt;         Филькин дядя был дипломатом, что всегда страшно веселило мальчишек, поскольку это конечно смешно, если человек работает небольшим чемоданчиком. Дипломатическая работа дяди Вити, тем не менее, и дала ему возможность привезти в СССР эту железную коробку с тумблерами и лампочками. Только через пять, уже взрослыми, как им тогда казалось,  Шурик и Филька осознали, что в Филькиной квартире они тогда видели первый персональный компьютер в мире Altair, компании MIPS. Шел 1974 год. Именно в тот год руководитель компании MIPS Эд Робертс предпринял все возможные усилия, для того, чтобы произведенный его компанией компьютер попал на обложку журнала Popular Electronics. Пробный экземпляр был послан редактору журнала Лесу Соломону. Известно, что он был послан поездом в Нью-Йорк, где находилась редакция, однако редактор так его и не получил. Журналисты напечатали на обложке фотографию пустого корпуса того, чему предстояло стать предвестником новой эры: первого в мире персонального компьютера. Никто не обратил внимания, на что, что утром, после прибытия  на центральный вокзал Нью-Йорка, из поезда вышел человек среднего роста и неприметного вида, в простеньком сереньком костюме. В руках у него была картонная коробка с рекламой супов быстрого приготовления.&lt;/p&gt; &lt;p&gt;         К восьмому классу Шурик и Филька уже не спрашивали "Как играть в компутер". Мигание лампочек так заворожило их в тот день после школы, что они только этим и занимались. Вдвоем они проводили ночи напролет в институте, где работал папа Шурика, и учились программировать. И не было никого более увлеченных людей, чем они. Больше всего ребят интересовал вопрос, как сделать так, чтобы программы работали чуть-чуть быстрее. В какой-то момент Шурик понял - они не могут больше улучшать сами программы - нужно улучшить сами компьютеры. Тогда они стали вдвоем собирать собственный компьютер. В десятом классе Александр Сосновский и Филлип Надеждин представили на всесоюзном конкурсе молодых изобретателей компьютер собственного изготовления. Только внимательный наблюдатель заметил бы, что контрольные лампочки были в точности такие, как у первого компьютера Altair.&lt;/p&gt; &lt;p&gt;         Сразу после окончания института Саша и Филлип были распределены в Научно Исследовательский Институт Вычислительных Комплексов под руководством потрясающего советского конструктора компьютеров М. А. Карцева. В то время в институте велись работе по созданию компьютеров исключительно советского производства и конструкции, многие из которых были существенно лучше имеющихся в то время американских аналогов. Саша и Филлип страшно увлеклись - сам Карцев понял, что он получил двух великолепных инженеров. Они вдвоем были выделены в отдельную лабораторию, где и посвящали все свое время созданию архитектуры нового, ещё более мощного компьютера. К их огромному сожалению планы в стране изменились, и вместо создания оригинальных компьютеров было решено копировать западные образцы. Не все однако, занимались копированием. Небольшая лаборатория, состоявшая всего из двух человек, продолжала активно заниматься разработками собственных оригинальных конструкций.&lt;/p&gt; &lt;p align="center"&gt;----------&lt;/p&gt; &lt;p&gt;         "Уважаемые дамы и господа, сегодня одновременно радостный и волнительный для меня день" - начал Саша. "Сегодня завершается работа всей моей жизни и без преувеличения самый мощный компьютер планеты вступит в строй. Человечество шло к этому шагу очень давно. История так называемых суперкомпьютеров начинается и практически совпадает с самой историей компьютера. С появлением достаточно большого количества компьютеров в мире сам термин "суперкомпьютер" стал применяться просто для того что выделить самые высокопроизводительные машины того времени. Постепенно крупные производители стали производить специальные компьютеры, предназначенные для решения очень сложных задач. Таких задач, для которых обычные компьютеры, особенно те, которые назывались "персональными", просто не подходили в силу очень слабой скорости вычислений. Знаменитые компании нанимали именитых ученых для создания компьютеров, сравнимых по мощности с десятками, сотнями, а то и тысячами "маленьких", "персональных" компьютеров, вместе взятых.&lt;/p&gt; &lt;p&gt;           Подобные компьютеры изначально создавались для проведения очень специализированных вычислений: вычислений, необходимых для расчета атомной бомбы, для моделирования хода и последствий атомной войны, предсказания погоды, задачи шифрования и дешифрования текстов, астрономических, биологических и других расчетов. Постепенно их мощь стала применяться для самого широкого рода исследований.&lt;/p&gt; &lt;p&gt;            Первые суперкомпьютеры были разработаны в компании Control Data Corporation в США в 60-х годах двадцатого века основателем компании и её главным идеологом Сеймуром Креем. Впоследствии многие компании разработали собственные суперкомпьютеры, в том числе и такие, которые были организованы из множества "маленьких", "персональных" компьютеров, объединенных вместе.&lt;/p&gt; &lt;p&gt;            В настоящее время крупнейшие производители суперкомпьютеров соревнуются между собой в производстве наиболее быстрого компьютера в мире, а также пытаются предлагать суперкомпьютерам различные задачи, ранее казавшиеся для компьютера невозможными. В 1997 году суперкомпьютер победил чемпиона мира по шахматам - человека. Цена современного суперкомпьютера может превосходить сто миллионов долларов и при этом соперники появляются каждый год.&lt;/p&gt; &lt;p&gt;            Наша лаборатория сегодня представляет вам принципиально новый суперкомпьютер. Множество теоретических и технологических проблем позади, как и более чем двадцать лет упорной работы. Позвольте представить вам новый, самый мощный компьютер планеты!"&lt;/p&gt; &lt;p&gt;            Саша продолжал лекцию ещё около часа, подробнейшим образом описывая свое детище, рассказывая о хитроумных решениях, выстраданных ими с Филлипом за долгие годы разработки. И чем ближе он придвигался к концу лекции, тем больше ему хотелось скорее отсюда сбежать, вернуться в лабораторию и, наконец, включить машину. Новая машина принципиально отличалась от многих других тем, что представляла из себя компьютер общего назначения, то есть не была предназначена для решения только одной специализированной задачи. Она могла решать любые задачи, просто она страшно быстро считала.&lt;/p&gt; &lt;p&gt;            Через 2 минуты после того как замолкли последние аплодисменты Саша уже снова сидел в такси. "В аэропорт!" - скомандовал он. В Бостоне, в здании его небольшой лаборатории все его восемь сотрудников (лаборатория не сильно расширилась со времен НИИВК, но все-таки расширилась) встречали его у входа. "Ну что, включаем?" - хор голосов слился в вопросе. "Включаем!". Саша протянул руку, и палец легко нажал кнопку включения. Хлопнула пробка от шампанского, открытого кем-то из ребят! "Ну что? Заработало!".&lt;/p&gt; &lt;p align="center"&gt;----------&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/21088732-254363261645620803?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/254363261645620803/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=254363261645620803' title='Комментарии: 6'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/254363261645620803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/254363261645620803'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2008/12/blog-post.html' title='Попытка написать рассказ ...'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-9114980465422339990</id><published>2008-09-16T19:07:00.004+04:00</published><updated>2008-09-18T08:25:14.102+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Интересно'/><category scheme='http://www.blogger.com/atom/ns#' term='о жизни'/><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><category scheme='http://www.blogger.com/atom/ns#' term='Интернет'/><title type='text'>Рынок, Роботы, Люди</title><content type='html'>&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Сейчас, как известно, финансовый кризис. И вот на его фоне прочитал совершенно удивительную историю. Оригинал можно прочитать &lt;a href="http://www.nytimes.com/2008/09/15/technology/15google.html"&gt;тут&lt;/a&gt;. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Итак, в один прекрасный день, акции одного из крупнейших авиаперевозчиков США &lt;a href="http://en.wikipedia.org/wiki/United_Airlines"&gt;United Airlines&lt;/a&gt; падают почти в 4 раза, вот так, как этот провал на графике:&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://1.bp.blogspot.com/_UWPsw_DgfYM/SNHFiEbJ8eI/AAAAAAAAArU/wdJ9-7Wf9Ks/s400/big.chart.gif" style="cursor:pointer; cursor:hand;" border="0" alt="" id="BLOGGER_PHOTO_ID_5247192229957202402" /&gt;(график взят &lt;a href="http://online.wsj.com/quotes/stock_charting.html?symbol=UAUA&amp;amp;type=usstock&amp;amp;osymb=UAUA&amp;amp;x=46&amp;amp;y=10&amp;amp;time=10dy&amp;amp;freq=1hr&amp;amp;wtype=64&amp;amp;compidx=aaaaa~0&amp;amp;comp=&amp;amp;ma=1&amp;amp;maval=200&amp;amp;uf=0&amp;amp;sid=2192167&amp;amp;symb=UAUA&amp;amp;lf=1&amp;amp;lf2=0&amp;amp;lf3=0"&gt;тут&lt;/a&gt;)&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Что же произошло? У меня здесь не финансовый блог, так что не пугайтесь. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Пролог (рынок)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic; "&gt;декабрь 2002 года, Чикаго&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;В  2002 году компания United Airlines испытывала значительные финансовые трудности и, в итоге, объявила себя банкротом. В декабре 2002 года в газете Chicago Tribune была по этому поводу опубликована статья.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Роботы&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic; "&gt;6-7 сентября 2008 года, Интернет (Флорида, Калифорния, Нью-Йорк)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;восточное время (7 сентября), 00:08&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Чуть позже полуночи ссылка на статью 2002 года каким-то образом появилась в списке "самых просматриваемых" ссылок сайта газеты &lt;a href="http://www.sun-sentinel.com/"&gt;The Sun Sentinel&lt;/a&gt;, принадлежащей той же компании, которой принадлежит и Chicago Tribune, а потому пользующейся общим с ней архивом старых выпусков.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;западное время (6 сентября), 21:23&lt;/span&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Робот автоматической службы новостей &lt;a href="http://news.google.com/"&gt;Google News&lt;/a&gt; обнаружил ссылку на сайте The Sun Sentinel, обработал страницу и посчитал её новостью, поскольку в самой статье даты не было, зато страница содержала текущую дату. Тогда робот добавил новость в индекс, проставив ей то число, когда он её нашел, то есть ... 6 сентября 2008 года (поскольку Google находится на западном побережье США и там 7 сентября ещё не наступило). На главной странице Google News новость видна не была, но она была видна в поиске, а также была выслана по почте и RSS рассылкам, тем кто был подписан на новости с определенными ключевыми словами в них.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;восточное время (7 сентября), 8: 15&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Сотрудник компании &lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: 22px; "&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;a href="http://www.incomesecurities.com/"&gt;Income Security Advisors&lt;/a&gt; получил уведомление от Google News о новости про авиакомпанию и немедленно выслал информацию в информационное агенство &lt;a href="http://www.bloomberg.com/"&gt;Bloomberg&lt;/a&gt;, специализирующееся на финансовых новостях. Которое, в свою очередь, быстро выдало информацию "в эфир". &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="line-height: 22px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="line-height: 22px; "&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;восточное время &lt;span class="Apple-style-span" style="line-height: normal; "&gt;(7 сентября)&lt;span class="Apple-style-span" style="line-height: 22px; "&gt;, 9:02&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="line-height: 22px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="line-height: 22px; "&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Акции United Airlines рухнули, но очень быстро выяснилось, что "новость" о банкротстве является ошибочной и акции восстановились почти до прежнего уровня.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Люди&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic; "&gt;17 сентября 2008&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Расказанная история получила большую огласку, была написано много статей, в том числе и та, по которой я вел изложение и ссылка на которую приведена в начале статьи. И большинство из комментаторов отмечают насколько же все стало автоматизировано и как мы зависимы от технологий и, соответственно, какова может быть цена программной ошибки.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;А я вот о чем подумал. Я вполне легко могу себе представить все случившиеся "технологические" ошибки. Нет даты на странице. Запросто. Дата есть, но она всегда текущая. Легко. Статья 2002 года непонятно как попавшая в список "Самые просматриваемые". Элементарно. Бот, проиндексировавший именно эту статью. Естественно.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Что мне трудно понять, так это то, что профессиональный сотрудник Income Security Advisors не проверил новость просто потому, что она получена от Google. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Мне начинает казаться, что нужно обучать людей отличать достоверную информацию в интернете от недостоверной. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Возможность опубликовывать информацию без всякой проверки, редактуры и цензуры - это огромное достижение. Однако обратной его стороной является тот факт, что на читателя обрушивается громадное количество мнений, фактов и мыслей. Отличить проверенное от непроверенного, обоснованное от необоснованного, хорошее от плохого стало сложнее чем раньше. Просто за счет того, что количество информации увеличилось, а возможности "подать" её красиво стали практически безграничны.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Нужно оценивать ту информацию, которая предлагается в интернете: обращать внимание на автора, место публикации и тому подобное. Эта культура ведь существует и в не-онлайн жизни: к публикации в "Комсомольской правде" меньше доверия, чем к публикации в "Коммерсанте". Это конечно не значит что "Комсомолка" все врет, а "Коммерсант"всегда прав. Вовсе нет. И там и там бывает и хорошее и плохое. Просто где-то - чаще хорошее, а где-то чаще "жареные факты". Также и в интернете.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;На практике, мне кажется, совершенно необходимо к вещам найденным в интернете прикладывать как минимум здравый смысл - мы же все-таки &lt;span class="Apple-style-span" style="font-style: italic;"&gt;люди&lt;/span&gt;, а не &lt;span class="Apple-style-span" style="font-style: italic;"&gt;роботы&lt;/span&gt;.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;P.S. Времена (00:08 и т.п.) происходящих событий выдуманы, остальное вроде так и было.&lt;/div&gt;&lt;div&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/21088732-9114980465422339990?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/9114980465422339990/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=9114980465422339990' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/9114980465422339990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/9114980465422339990'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2008/09/blog-post_16.html' title='Рынок, Роботы, Люди'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_UWPsw_DgfYM/SNHFiEbJ8eI/AAAAAAAAArU/wdJ9-7Wf9Ks/s72-c/big.chart.gif' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-5556038017229108682</id><published>2008-09-07T04:08:00.003+04:00</published><updated>2008-09-07T04:43:39.223+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><title type='text'>Программирование и игра в ГО</title><content type='html'>Забавная статья: &lt;a href="http://railspikes.com/2008/7/14/why-programmers-should-play-go"&gt;http://railspikes.com/2008/7/14/why-programmers-should-play-go. &lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;На самом деле любители &lt;a href="http://en.wikipedia.org/wiki/Go_game"&gt;го&lt;/a&gt; уже давно утверждают что игра  помогает добиться лучших результатов в разных занятиях, требующих похожих навыков: бизнесе, военном деле, теперь вот и в программировании.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Не знаю. Но поиграть вполне можно :-) Я играю иногда, правда не так часто, как хотелось бы.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;P.S. Ну вот, написал, отвлекся и вижу, на &lt;a href="http://www.rsdn.ru"&gt;RSDN &lt;/a&gt;это уже &lt;a href="http://www.rsdn.ru/?forum/message/3025621.aspx"&gt;обсуждают&lt;/a&gt;. Все равно нажму publish :-)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-5556038017229108682?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/5556038017229108682/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=5556038017229108682' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/5556038017229108682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/5556038017229108682'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2008/09/blog-post.html' title='Программирование и игра в ГО'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-8028861806441027636</id><published>2008-07-26T07:56:00.002+04:00</published><updated>2009-02-08T17:46:09.063+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='о жизни'/><category scheme='http://www.blogger.com/atom/ns#' term='office space'/><title type='text'>Fog Creek Open House</title><content type='html'>В четверг (17 июля) сходил на &lt;a href="http://www.joelonsoftware.com/items/2008/07/14.html"&gt;Fog Creek Open House&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Краткое пояснение для тех кто случайно не знает про FogCreek: есть такой сайт &lt;a href="http://www.joelonsoftware.com/"&gt;www.joelonsoftware.com&lt;/a&gt;, на котором человек по имени &lt;a href="http://www.joelonsoftware.com/AboutMe.html"&gt;Joel Spolsky&lt;/a&gt; пишет разные интересные статьи на программистские и около программистские темы. Также у этого человека есть собственная компания, разрабатывающая программы. Эта компания и называется Fogcreek Software. Joel Spolsky многократно упоминает в своем блоге (которым сайт joelonsoftware собственно и является) о том, как важны правильные условия работы для успеха программистской компании и о том, что он то уж у себя создал самые лучшие возможные условия труда для программистов. Апогеем является наверное статья "&lt;a href="http://www.joelonsoftware.com/articles/BionicOffice.html"&gt;Bionic Office&lt;/a&gt;", в которой подробно описываются чудеса офиса FogCreek.&lt;br /&gt;&lt;br /&gt;И каждый год Джоэль устраивает у себя в компании день открытых дверей, во время которого любой желающий может прийти в офис компании и лично убедиться в том, как хорошо там работать :-)&lt;br /&gt;&lt;br /&gt;Вот и сходил. Ну что сказать ... все правда. Ну почти. Действительно у большинства программистов собственные кабинеты, хорошая техника. Самая аккуратная  серверная которую я видел. Шикарная техническая библиотека. Аквариум с рыбками. Каждый день привозят обед, что для американских компаний не очень распространено. 4 недели отпуска, что для американских компаний тоже не очень распространено.&lt;br /&gt;&lt;br /&gt;Самым удивительным  наблюдением было то, насколько у людей все аккуратно. Старые номера MSDN Magazine разложены в ящики по годам. Может, конечно, они их не читают, или ко дню открытых дверей специально подготовились.&lt;br /&gt;&lt;br /&gt;В общем, впечатления самые положительные.&lt;br /&gt;&lt;br /&gt;Возник в голове вопрос, сколько же компания собственно зарабатывает, чтобы обеспечивать сотрудникам нормальные условия (утверждается, что зарплаты у них тоже на уровне, хотя точных цифр конечно никто не называл). При том, что продукты, которые они делают, я бы не назвал самыми"денежными". FogCreek делает баг-трекинг систему (FogBugz), сайтопостроитель (CityDesk) и аналог WebEx или GotoMeeting (CoPilot). При этом они не являются лидерами ни по одному из направлений. Небольшой поиск дал следующие &lt;a href="http://www.inc.com/inc5000/2007/company-profile.html?id=200708120"&gt;результаты&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;table id="profileTable" border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr class="even even even"&gt;&lt;td class="tableTitle"&gt;Year &lt;/td&gt;       &lt;td class="data"&gt; 2007 &lt;/td&gt;      &lt;/tr&gt;    &lt;tr&gt;       &lt;td class="tableTitle"&gt;  Industry &lt;/td&gt;       &lt;td class="data"&gt; Software &lt;/td&gt;      &lt;/tr&gt;     &lt;tr class="even even even"&gt;       &lt;td class="tableTitle"&gt; Founded &lt;/td&gt;       &lt;td class="data"&gt; 2000 &lt;/td&gt;      &lt;/tr&gt;     &lt;tr&gt;       &lt;td class="tableTitle"&gt; Growth &lt;/td&gt;       &lt;td class="data"&gt; 423.2% &lt;/td&gt;      &lt;/tr&gt;         &lt;tr class="even even even"&gt;               &lt;td class="tableTitle"&gt; 2003 Revenue            &lt;/td&gt;               &lt;td class="data"&gt; $566,576&lt;/td&gt;             &lt;/tr&gt;         &lt;tr&gt;               &lt;td class="tableTitle"&gt; 2006 Revenue &lt;/td&gt;               &lt;td class="data"&gt; $3.0 million&lt;/td&gt;             &lt;/tr&gt;     &lt;tr class="even even even"&gt;       &lt;td class="tableTitle"&gt;  Employees &lt;/td&gt;       &lt;td class="data"&gt; 11 &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Конечно не Google, но на кусок хлеба с маслом им вполне хватает :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-8028861806441027636?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/8028861806441027636/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=8028861806441027636' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/8028861806441027636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/8028861806441027636'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2008/07/fog-creek-open-house.html' title='Fog Creek Open House'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-7901316788797951656</id><published>2008-07-02T22:43:00.002+04:00</published><updated>2008-07-02T22:49:15.746+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>Ещё немного про Google</title><content type='html'>Для тех кто ещё не читал этот рассказ, я думаю будет интересно:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1-800-magic.blogspot.com/2008/06/back-to-microsoft.html"&gt;Рассказ Сергея Соляника&lt;/a&gt;, который работал в Microsoft, потом перешел в Google, а теперь снова вернулся в Microsoft. В рассказе объясняется почему.&lt;br /&gt;&lt;br /&gt;P.S. В комментариях есть интересная ссылка: &lt;a href="http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml"&gt;Google C++ Style Guide&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-7901316788797951656?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/7901316788797951656/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=7901316788797951656' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/7901316788797951656'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/7901316788797951656'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2008/07/google.html' title='Ещё немного про Google'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-1195241585409597092</id><published>2008-06-27T17:16:00.002+04:00</published><updated>2008-06-27T17:18:55.174+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Интересно'/><category scheme='http://www.blogger.com/atom/ns#' term='о жизни'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>Последний день Билла Гейтса</title><content type='html'>Сегодня кончается целая эпоха. Билл Гейтс уходит из Microsoft.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/presspass/exec/billg/videos/"&gt;http://www.microsoft.com/presspass/exec/billg/videos/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-1195241585409597092?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/1195241585409597092/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=1195241585409597092' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/1195241585409597092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/1195241585409597092'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2008/06/blog-post.html' title='Последний день Билла Гейтса'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-6021230183421721250</id><published>2008-06-19T05:16:00.006+04:00</published><updated>2008-06-22T04:11:28.886+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><category scheme='http://www.blogger.com/atom/ns#' term='утилиты'/><title type='text'>5 программ, которые я использую ежедневно</title><content type='html'>Вот и меня посчитали. До меня &lt;a href="http://brightestbear.blogspot.com/2008/06/5.html"&gt;дошла игра&lt;/a&gt; в 5 инструментов, которая как мне казалось уже закончилась :-) К тому же, про многие мои инструменты я уже писал в посте "&lt;a href="http://lktalks.blogspot.com/2007/09/portable-applications.html"&gt;Джентльменский Набор&lt;/a&gt;". Тем не менее с удовольствием напишу про то, чем пользуюсь именно каждый день и не только про portable :-)&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Файловый менеджер - уже несколько лет - &lt;a href="http://www.ghisler.com/"&gt;Total Commander&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Основной браузер - &lt;a href="http://www.mozilla.org/"&gt;Mozilla Firefox&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.miranda-im.org/"&gt;Miranda &lt;/a&gt;и &lt;a href="http://www.skype.com/"&gt;Skype &lt;/a&gt;- для мгновенных сообщений&lt;/li&gt;&lt;li&gt;Почтовый клиент(рабочий), календарь, список задач: &lt;a href="http://office.microsoft.com/en-us/outlook/default.aspx"&gt;MS Outlook&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Почтовый клиент(личный) - &lt;a href="http://www.gmail.com/"&gt;gmail.com&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Редактор(заменитель notepad): &lt;a href="http://www.editplus.com/"&gt;EditPlus&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Разработка (хотя последние несколько месяцев непосредственно разработкой практически не занимаюсь)&lt;br /&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;C++ - &lt;a href="http://msdn.microsoft.com/en-us/vstudio/products/default.aspx"&gt;Visual Studio&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Разработка Java -&lt;a href="http://www.jetbrains.com/idea/index.html"&gt;IntelliJ Idea&lt;/a&gt;&lt;/li&gt;&lt;li&gt;XSL - &lt;a href="http://www.altova.com/products/xmlspy/xml_editor.html"&gt;Altova XML Spy&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt; &lt;/ol&gt;Ну вот, получилось правда не 5, а чуть больше инструментов, но они ведь все хорошие, как я их мог упустить :-)&lt;br /&gt;&lt;br /&gt;P.S. Поскольку то что мы тут делаем - это типичная пирамида, то я конечно должен теперь написать здесь список блогов людей, об инструментах которых мне было бы интересно узнать. К сожалению большинство из них в игре уже поучаствовали, а другие боюсь не читают этот блог. Но, попытка - не пытка. Мне было бы интересно узнать про инструменты  которыми пользуются:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://blogs.technet.com/eldar/default.aspx"&gt;Эльдар Мусаев&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://rbogatyrev.livejournal.com/"&gt;Руслан Богатырев&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://gaperton.livejournal.com/"&gt;Владислав Балин&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-6021230183421721250?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/6021230183421721250/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=6021230183421721250' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/6021230183421721250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/6021230183421721250'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2008/06/5.html' title='5 программ, которые я использую ежедневно'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-1879923349071824324</id><published>2008-06-18T04:42:00.000+04:00</published><updated>2008-06-19T04:42:34.713+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Управление проектами'/><category scheme='http://www.blogger.com/atom/ns#' term='разговоры'/><category scheme='http://www.blogger.com/atom/ns#' term='практика программирования'/><title type='text'>Про офис</title><content type='html'>Нужен ли офис в программистской компании? Почему бы собственно программистам не сидеть дома, писать себе спокойно программы? Интернет сейчас быстрый поставить недорого. Средства обмена информацией есть в огромном количестве - недорогие и много чего умеющие. Электронная почта, телефон, разнообразные интернет-пейджеры, в том числе и поддерживающие разговоры голосом, телеконференции. Да и показать что происходит можно легко - есть и WebEx и Netmeeting и GoToMeeting и ещё масса подобных программ.&lt;br /&gt;&lt;br /&gt;Зачем же нужен офис - за него ведь деньги платить нужно[имеется ввиду за аренду], к тому же в него нужно ездить - тратить время на дорогу.&lt;br /&gt;&lt;br /&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/21088732-1879923349071824324?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/1879923349071824324/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=1879923349071824324' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/1879923349071824324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/1879923349071824324'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2008/05/blog-post_28.html' title='Про офис'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-4896510196336699316</id><published>2008-05-07T04:16:00.004+04:00</published><updated>2008-06-19T04:41:50.209+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Управление проектами'/><category scheme='http://www.blogger.com/atom/ns#' term='outsourcing'/><title type='text'>Про письма</title><content type='html'>"Аутсорсинг" - модное слово. Многие американские компании пытаются заказать разработку своих программ в, как им кажется, более "дешевых" странах. Тех странах, где меньше зарплаты программистов, где меньше расходы на офисы и так далее. Некоторым приятнее считать что делается это не из-за дешевизны, а из-за недостатка умных людей и хорошего образования в одних странах и наличия и того и другого в других. Может и так...&lt;br /&gt;&lt;br /&gt;Так уж сложилось, что я уже довольно долго работаю именно в компаниях, разработка программ в которых ведется в Москве. И я бывал с обеих сторон - и с американской и с московской. Знаете, в чем состоит самая большая проблема с "той", "американской" стороны? Непрозрачность. Непонятно что происходит. Успевают ли с проектом? А если не успевают, то почему?&lt;br /&gt;&lt;br /&gt;Есть масса вещей, способствующих непрозрачности команды программистов. Языковый барьер, который присутствует просто потому что для одних родной язык русский, а для других английский. Сам факт того что люди сидят далеко друг от друга. И ещё отсутствие писем.&lt;br /&gt;&lt;br /&gt;Совершенно необходимо писать письма и отвечать на письма. Это единственный надежный инструмент общения. Далеко не все в США пользуются ICQ или "впишите-здесь-имя-своего-любимого-интернет-пейджера". На любое письмо должен быть ответ. Даже если в ответе написано, что настоящий ответ будет завтра. И завтра, если настоящего ответа нет, нужно опять написать что ответ будет завтра. Это очень простой и на самом деле самый верный способ дать своим коллегам на "той" стороне уверенность что их читают, о них помнят и вообще что с той стороны хоть что-то происходит.&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/21088732-4896510196336699316?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/4896510196336699316/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=4896510196336699316' title='Комментарии: 5'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/4896510196336699316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/4896510196336699316'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2008/05/blog-post.html' title='Про письма'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-846371282055280972</id><published>2008-03-10T02:19:00.004+03:00</published><updated>2008-03-10T02:39:29.707+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Управление проектами'/><category scheme='http://www.blogger.com/atom/ns#' term='практика программирования'/><title type='text'>Отчет об ошибке</title><content type='html'>Вы заранее знаете все что будет написано в этом посте. И тем не менее все равно хочется написать. Каким должен быть отчёт об ошибке в программе? Про это написано множество статей и даже книжек. Мне иногда кажется что из-за того что их написано такое множество, и выходит так, что большинство отчётов невозможно толком понять.&lt;br /&gt;&lt;br /&gt;Поэтому я завязываю с предисловием и перехожу к сути дела.&lt;br /&gt;&lt;div style="background-color: rgb(204, 204, 204);"&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Перед тем как добавить новый отчёт об ошибке (новый баг, CR типа дефект, называйте как хотите) необходимо &lt;span style="font-weight: bold;"&gt;убедиться что его ещё нет в системе&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Уточнить &lt;span style="font-weight: bold;"&gt;о какой версии продукта (и модуля, и если нужно подмодуля) идет речь&lt;/span&gt;. До последней цифры, даже если их 18.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Например: Программа Феликс, версия 4.2.1121.1356b&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Описать проблему в примерно таком порядке:&lt;/li&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Краткое описание&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Неправильное сложение отрицательных чисел&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Последовательность шагов&lt;/span&gt;, которую нужно проделать для того чтобы проблему воспроизвести&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;Ввести операцию сложения (ну может Феликс в польской записи работает :-) )&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;Ввести '-2' в качестве первого аргумента&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;Ввести '-3 в качестве второго аргумента&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;Нажать на кнопку получения результата&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Ожидаемый результат&lt;/span&gt; - вы думали что когда это проделаете, то получится то-то&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Ожидали получить -5&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Полученный результат&lt;/span&gt; - а на самом деле получилось ....&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Получили -1&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Существует ли способ получить ожидаемый результат (&lt;span style="font-weight: bold;"&gt;способ обойти ошибку&lt;/span&gt;)? Если да, то какой?&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Да, если сначала ввести -3, а потом -2 то сложение выполняется верно&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;Все сообщения об ошибках должны быть обязательно приведены (желательно в виде скриншота)&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Сообщений об ошибках не выдаётся&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;И все ...&lt;br /&gt;&lt;br /&gt;P.S. Зачем нужен пункт, описывающий способ обойти ошибку (если он существует)? Во-первых, для удобства приоритезации. Ошибкам обычно присваивается приоритет и часто ошибке которая не приводит к полной потере работоспособности имеет смысл присвоить более низкий приоритет. Во-вторых, часто описание способа обхода дает разработчиками ключ к пониманию того, почему же собственно программа неправильно работает.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-846371282055280972?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/846371282055280972/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=846371282055280972' title='Комментарии: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/846371282055280972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/846371282055280972'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2008/03/blog-post.html' title='Отчет об ошибке'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-23002860623514460</id><published>2008-01-18T21:02:00.000+03:00</published><updated>2008-01-19T05:13:50.363+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Интересно'/><category scheme='http://www.blogger.com/atom/ns#' term='история'/><category scheme='http://www.blogger.com/atom/ns#' term='образование'/><title type='text'>А вы читали "Искусство программирования"?</title><content type='html'>Прошлый &lt;a href="http://lktalks.blogspot.com/2008/01/70.html"&gt;пост был посвящён Дональду Кнуту&lt;/a&gt; и, в частности, в нём упоминалась самая известная его книга "Искусство программирования". К посту был сделан следующий комментарий:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_UWPsw_DgfYM/R5FNfb6j4GI/AAAAAAAAAk8/Xty4y_zbcqY/s1600-h/alexey_comment.jpg"&gt;&lt;img style="cursor: pointer;" src="http://bp3.blogger.com/_UWPsw_DgfYM/R5FNfb6j4GI/AAAAAAAAAk8/Xty4y_zbcqY/s400/alexey_comment.jpg" alt="" id="BLOGGER_PHOTO_ID_5156988250780590178" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;И мне тоже стало интересно. Посему я создал &lt;a href="http://www.rsdn.ru/poll/1994.aspx"&gt;голосование&lt;/a&gt; на известном программистском ресурсе &lt;a href="http://www.rsdn.ru/"&gt;RSDN&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Для тех кто с RSDN не знаком, два небольших замечания:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;RSDN - очень "профильное" и довольно высокопрофессиональное место&lt;br /&gt;&lt;/li&gt;&lt;li&gt;В голосование можно было добавлять свои варианты ответа, так что первые пять вариантов ответа - это то, что я предложил, а остальное добавлено самими участниками&lt;/li&gt;&lt;/ol&gt;Вот результаты этого голосования:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_UWPsw_DgfYM/R5FcsL6j4KI/AAAAAAAAAlc/SO4dkRmhzLg/s1600-h/poll_knuth.jpg"&gt;&lt;img style="cursor: pointer;" src="http://bp2.blogger.com/_UWPsw_DgfYM/R5FcsL6j4KI/AAAAAAAAAlc/SO4dkRmhzLg/s400/poll_knuth.jpg" alt="" id="BLOGGER_PHOTO_ID_5157004962498338978" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Если честно, голосование ещё не закончено и результаты могут немного измениться, но мне кажется что тенденция ясна уже сейчас.&lt;br /&gt;&lt;br /&gt;Вот  такой вот ответ на вопрос.&lt;br /&gt;&lt;br /&gt;P.S. По ссылке с сайта "&lt;a href="http://www.csin.ru/"&gt;Информатика в России&lt;/a&gt;" нашёл &lt;a href="http://scpd.stanford.edu/knuth/"&gt;видео-подборку лекций Кнута&lt;/a&gt;. Это лекции, которые он время от времени читает в Стэнфорде.&lt;br /&gt;&lt;br /&gt;P.P.S. Удивительно, как все-таки формируется наше "мнение" о той или иной работе, книге, статье. Порой репутация автора или людей, его рекомендовавших существенно больше влияет чем собственное мнение о конкретной работе. Да наверное даже в большинстве случаев это так - мнение то у нас есть много о чем, а основано оно на чем? На вере в авторитеты. Репутация авторов - часто единственное на что можно ориентироваться, если ты не специалист в предмете.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-23002860623514460?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/23002860623514460/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=23002860623514460' title='Комментарии: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/23002860623514460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/23002860623514460'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2008/01/blog-post_18.html' title='А вы читали &quot;Искусство программирования&quot;?'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_UWPsw_DgfYM/R5FNfb6j4GI/AAAAAAAAAk8/Xty4y_zbcqY/s72-c/alexey_comment.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-2475161351614655481</id><published>2008-01-10T18:49:00.000+03:00</published><updated>2008-01-10T19:35:55.560+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Интересно'/><category scheme='http://www.blogger.com/atom/ns#' term='история'/><category scheme='http://www.blogger.com/atom/ns#' term='образование'/><title type='text'>Дональду Кнуту исполняется 70 лет</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_UWPsw_DgfYM/R4ZEtr6j4DI/AAAAAAAAAkQ/7YT94fTJ5pI/s1600-h/knuth.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://bp1.blogger.com/_UWPsw_DgfYM/R4ZEtr6j4DI/AAAAAAAAAkQ/7YT94fTJ5pI/s400/knuth.jpg" alt="" id="BLOGGER_PHOTO_ID_5153882375245258802" border="0" /&gt;&lt;/a&gt;Сегодня - 10 января - день рождения &lt;a href="http://www-cs-faculty.stanford.edu/%7Eknuth/"&gt;Дональда Кнута&lt;/a&gt; - всемирно известного автора "Искусства программирования".&lt;br /&gt;&lt;br /&gt;Кнут - удивительный человек, написавший удивительные книги, в первую очередь конечно "Искусство ..." - книга, которая заняла огромную часть его жизни и которая все ещё не закончена. По замыслу, она должна содержать в себе все знания, необходимые для программирования машин традиционной архитектуры. Сейчас, как известно, существуют первые три тома, несколько кусков четвёртого и дополнения к ним (вещи, которые должны были попасть в первые тома, но ещё не существовали тогда, когда Кнут их писал). Пятый том планируется закончить к 2015 году.&lt;br /&gt;&lt;br /&gt;Цитата из предисловия к "Исскусству":&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"&lt;/span&gt;&lt;span style="font-style: italic;"&gt;Полный набор книг, озаглавленный как Искусство программирования, имеет следующую основную структуру.  &lt;/span&gt;&lt;p style="font-style: italic;"&gt;Том 1. Основные алгоритмы &lt;/p&gt;&lt;ul style="font-style: italic;"&gt; Глава 1. Основные понятия&lt;br /&gt;Глава 2. Информационные структуры &lt;/ul&gt;  &lt;p style="font-style: italic;"&gt;Том 2. Получисленные алгоритмы &lt;/p&gt;&lt;ul style="font-style: italic;"&gt; Глава 3. Случайные числа&lt;br /&gt;Глава 4. Арифметика &lt;/ul&gt;  &lt;p style="font-style: italic;"&gt;Том 3. Сортировка и поиск &lt;/p&gt;&lt;ul style="font-style: italic;"&gt; Глава 5. Сортировка&lt;br /&gt;Глава 6. Поиск &lt;/ul&gt;  &lt;p style="font-style: italic;"&gt;Том 4. Комбинаторные алгоритмы &lt;/p&gt;&lt;ul style="font-style: italic;"&gt; Глава 7. Комбинаторный поиск&lt;br /&gt;Глава 8. Рекурсия &lt;/ul&gt;  &lt;p style="font-style: italic;"&gt;Том 5. Синтаксические алгоритмы &lt;/p&gt;&lt;ul style="font-style: italic;"&gt;&lt;span&gt; Глава 9. Лексикографический поиск&lt;/span&gt;&lt;br /&gt;Глава 10. Синтаксический анализ" &lt;/ul&gt;После этого планируются ещё 6 и 7 тома. Подробное описание можно найти на собственной &lt;a href="http://www-cs-faculty.stanford.edu/%7Eknuth/taocp.html"&gt;страничке Кнута, посвящённой "Искусству"&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Кнут также известен созданием системы Tex.  А ещё есть масса занимательных фактов из жизни этого неординарного человека:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Кнуту принадлежит высказывание: "Beware of bugs in the above code; I have only proved it correct, not tried it.''&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Кнут выплачивает 2 доллара 56 центов любому, кто найдёт ошибку в любой из его книг (потому что 2.56 - это один шестнадцатеричный доллар)&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Кнут пользовался электронной почтой с 1975 по 1990 год, после чего решил что для него этого вполне достаточно - с тех пор он не пользуется электронной  почтой&lt;/li&gt;&lt;/ul&gt;P.S. Ну и популярность конечно тоже не обошла Кнута стороной :-)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_UWPsw_DgfYM/R4ZFy76j4EI/AAAAAAAAAkY/JhX1-QWVsAE/s1600-h/knuthfun.jpg"&gt;&lt;img style="cursor: pointer;" src="http://bp2.blogger.com/_UWPsw_DgfYM/R4ZFy76j4EI/AAAAAAAAAkY/JhX1-QWVsAE/s400/knuthfun.jpg" alt="" id="BLOGGER_PHOTO_ID_5153883564951199810" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-2475161351614655481?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/2475161351614655481/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=2475161351614655481' title='Комментарии: 5'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/2475161351614655481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/2475161351614655481'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2008/01/70.html' title='Дональду Кнуту исполняется 70 лет'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_UWPsw_DgfYM/R4ZEtr6j4DI/AAAAAAAAAkQ/7YT94fTJ5pI/s72-c/knuth.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-3422555773875709553</id><published>2008-01-05T06:42:00.000+03:00</published><updated>2008-01-06T22:58:47.658+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Управление проектами'/><category scheme='http://www.blogger.com/atom/ns#' term='разговоры'/><title type='text'>MRD: Marketing Requirements Document</title><content type='html'>Уже почти год назад я писал о &lt;a href="http://lktalks.blogspot.com/2007/02/blog-post.html"&gt;ролях&lt;/a&gt; в разработке программного обеспечения. А именно о том, в чем состоят обязанности людей, играющих определённые роли и на чьей стороне (заказчика или разработчика) они играют.&lt;br /&gt;&lt;br /&gt;Однако, необходимо помнить, что между ролями (на самом деле конечно между людьми, играющими эти роли) постоянно происходит взаимодействие. И от того насколько оно гладкое, налаженное, может зависеть успех проекта. Конечно все вышеизложенное сильно зависит от размеров компании и проекта. В маленьких компаниях больше неформального, дружеского взаимодействия, не требующего иногда никаких формальных документов (ну или требующее их очень малое количество). В больших же коллективах без "бумажки" иногда не обойтись никак. Связано это с тем, что чем больше коллектив, принимающий участие в проекте, тем больше времени тратится на обмен информацией между сотрудниками.&lt;br /&gt;&lt;br /&gt;Хочу только сказать, что все о чем я здесь говорю - никакой не стандарт или правило. Каждая компания на самом деле сама определяет роли и необходимость наличия документов и что в этих документах должно быть написано. Я рассказываю о своём опыте и своём понимании этих процессов.&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;Я хочу сегодня рассказать про один из аспектов взаимодействия Product Manager (в терминах моей старой статьи) с разработчиками, заказчиками и высшим руководством.&lt;br /&gt;&lt;br /&gt;Замечу, что под разработчиками здесь я понимаю не только программистов, но также и тестировщиков и технических писателей и работников технической поддержки и специалистов по внедрению. Соответственно "команда разработчиков" включает в себя (при необходимости конечно) всех этих людей.&lt;br /&gt;&lt;br /&gt;Напомню, что Product Manager:&lt;br /&gt;&lt;br /&gt;&lt;div style="background-color: rgb(204, 204, 204);"&gt;&lt;br /&gt;Отвечает за продукт с точки зрения заказчика. То есть product manager — это человек, &lt;b&gt;представляющий заказчика в команде разработчиков&lt;/b&gt;. В обязанности Product Manager входит:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;  Исследование рынка&lt;/li&gt;&lt;li&gt; Выявление потенциально нужных заказчикам продуктов, сервисов, функциональности&lt;/li&gt;&lt;li&gt; Исследование конкурентов (иногда этим занимаются специально выделенные люди)&lt;/li&gt;&lt;li&gt; Маркетинговые исследования, PR акции, пресс-релизы (иногда эту работу делают специальные Product Marketing Manager, иногда она производится совместно этими двумя ролями)&lt;/li&gt;&lt;li&gt;Выработка списка "features" продукта&lt;/li&gt;&lt;li&gt; Определение приоритетности тех или иных "features" (что делать обязательно, что нет)&lt;/li&gt;&lt;li&gt; Позиционирование продукта (на какой рынок продукт нацелен, портрет покупателя)&lt;/li&gt;&lt;li&gt; План развития продукта (RoadMap)&lt;/li&gt;&lt;li&gt; Ценообразование (сколько продукт будет стоить, какая будет модель лицензирования)&lt;/li&gt;&lt;li&gt; Взаимодействие с высшим руководством компании, если таковое необходимо&lt;/li&gt;&lt;li&gt; Взаимодействие с отделом продаж и совместная выработка стратегии продаж&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Взаимодействие с разработчиками происходит как формальное, так и неформальное. Основным формальным документом, который является результатом работы Product Manager и определяет продукт для разработчиков и является MRD - Marketing Requirements Document.&lt;br /&gt;&lt;br /&gt;MRD описывает разрабатываемый продукт или новую версию продукта, с точки зрения заказчика. Заказчик - это будущий потребитель продукта и это может быть как человек, который купит коробку с программой в магазине, так и другой отдел той же компании. MRD нужен, чтобы разработчики получили представление о продукте, необходимой функциональности и могли начать разработку (здесь под разработкой понимается весь комплекс работ - дизайн, архитектура, кодирование, тестирование и все остальное, что разработчики считают нужным туда включить).&lt;br /&gt;&lt;br /&gt;Ну то есть MRD - это документ при помощи которого Product Manager (человек представляющий заказчика и, в теории, знающий что тому нужно) пытается донести нужды заказчика до разработчиков.&lt;br /&gt;&lt;br /&gt;Теперь попробуем описать какие разделы должен включать MRD. Для удобства я попытаюсь сразу после описания соответствующего раздела давать пример.&lt;br /&gt;&lt;br /&gt;MRD представляет из себя документ, в общем, свободного формата. Основная аудитория MRD - это:&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Разработчики&lt;br /&gt;&lt;/span&gt;Разработчикам MRD необходим для понимая того что же именно нужно написать.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Высшее руководство&lt;br /&gt;&lt;/span&gt;Ну, во-первых, начальство конечно должно быть в курсе что собственно делается ;-) Во-вторых, MRD - это документ, являющийся обоснованием для получения ресурсов (материальных и людских), если их не хватает.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Заказчик&lt;br /&gt;&lt;/span&gt;Заказчику MRD предоставляется в составе более широкого пакета документов, для утверждения. В случае возникновения споров по поводу наличия или отсутствия той или иной функциональности MRD является документом, который помогает их разрешению.&lt;/li&gt;&lt;/ul&gt;Помня о нашей аудитории и целях создания документа, опишем его составные части:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;MRD для нового продукта "Феликс"&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Цель создания продукта или выпуска очередной версии&lt;/span&gt;.&lt;br /&gt;В данном разделе описывается проблема, существующая у потенциальных или реальных заказчиков и объясняется, как именно продукт или новая версия продукта эту проблему устранит. Это очень важный раздел, он должен сравнительно кратко объяснить что же именно предстоит сделать.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Пример&lt;/span&gt;&lt;span style="font-style: italic;"&gt;: Не все люди достаточно хорошо могут считать "в уме". Особенно плохо это получается у людей, если числа являются не целыми и достаточно большими. Во многих магазинах существует проблема ошибок кассиров, которые, высчитывая цену покупок "на бумажке", часто ошибаются&lt;/span&gt;&lt;span style="font-style: italic;"&gt;. Это приводит к недовольству покупателей (если кассир ошибается не в их пользу) или же к потерям самого магазина. Недовольные покупатели могут перестать приходить в этот магазин и, таким образом, также снизить доходы. Проблема очень велика и статистика показывает, что расходы магазинов связанные с потерями при арифметических подсчётах, увеличиваются с каждым годом:&lt;/span&gt;&lt;br /&gt;&lt;table class="MsoTableLightListAccent5" style="border: medium none ; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="border-style: solid none none solid; border-color: rgb(75, 172, 198) -moz-use-text-color -moz-use-text-color rgb(75, 172, 198); border-width: 1pt medium medium 1pt; padding: 0in 5.4pt; background: rgb(75, 172, 198) none repeat scroll 0% 50%; width: 77.4pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top" width="103"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;b&gt;&lt;span  lang="RU" style="color:white;"&gt;Год&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid none none; border-color: rgb(75, 172, 198) rgb(75, 172, 198) -moz-use-text-color -moz-use-text-color; border-width: 1pt 1pt medium medium; padding: 0in 5.4pt; background: rgb(75, 172, 198) none repeat scroll 0% 50%; width: 1.25in; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top" width="120"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;b&gt;&lt;span  lang="RU" style="color:white;"&gt;Потери&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: solid none solid solid; border-color: rgb(75, 172, 198) -moz-use-text-color rgb(75, 172, 198) rgb(75, 172, 198); border-width: 1pt medium 1pt 1pt; padding: 0in 5.4pt; width: 77.4pt;" valign="top" width="103"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;b&gt;&lt;span style="" lang="RU"&gt;2004&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: rgb(75, 172, 198) rgb(75, 172, 198) rgb(75, 172, 198) -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt; width: 1.25in;" valign="top" width="120"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;$&lt;span style="" lang="RU"&gt;200млн.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none none none solid; border-color: -moz-use-text-color -moz-use-text-color -moz-use-text-color rgb(75, 172, 198); border-width: medium medium medium 1pt; padding: 0in 5.4pt; width: 77.4pt;" valign="top" width="103"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;b&gt;&lt;span style="" lang="RU"&gt;2005&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid none none; border-color: -moz-use-text-color rgb(75, 172, 198) -moz-use-text-color -moz-use-text-color; border-width: medium 1pt medium medium; padding: 0in 5.4pt; width: 1.25in;" valign="top" width="120"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;$&lt;span style="" lang="RU"&gt;300млн.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: solid none solid solid; border-color: rgb(75, 172, 198) -moz-use-text-color rgb(75, 172, 198) rgb(75, 172, 198); border-width: 1pt medium 1pt 1pt; padding: 0in 5.4pt; width: 77.4pt;" valign="top" width="103"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;b&gt;&lt;span style="" lang="RU"&gt;2006&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: rgb(75, 172, 198) rgb(75, 172, 198) rgb(75, 172, 198) -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt; width: 1.25in;" valign="top" width="120"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;$4&lt;span style="" lang="RU"&gt;00млн.&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;    &lt;span style="font-style: italic;"&gt;&lt;br /&gt;Продукт "Феликс" предназначен для того, чтобы помочь магазинам справиться с описанной проблемой. Он будет представлять из себя небольшую программу, которая может быть запущена на мобильном телефоне кассира и поможет ему подсчитывать суммы, которые раньше ему приходилось считать на бумаге.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Описание того, какой результат должен быть достигнут и в какие сроки&lt;/span&gt;.&lt;br /&gt;Здесь необходимо описать что именно должно получиться (web-сервис, java-приложение, некоторый документ, который описывает что-то, некоторое устройство, обладающее определёнными характеристиками). Также в этом разделе обычно указывается желаемый (с точки зрения заказчика) срок получения продукта. Хочу специально отметить, что это не срок, за который продукт будет сделан. Это всего лишь желаемый срок. MRD проходит в своём развитии много итераций и реальные сроки исполнения в нем обычно не указываются. Заказчику сроки исполнения обычно предоставляются в других документах. Тем не менее указать желаемое время (например некоторое важное с маркетинговой точки зрения событие) здесь вполне возможно.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Пример&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;Поскольку по результатам исследований выяснилось, что большинство кассиров в магазинах пользуется мобильными смартфонами с установленной на них операционной системой компании Microsoft - Windows Mobile 6.0, то Феликс должен представлять собой программу работающую под управлением этой и последующих версий ОС Windows Mobile 6.0.&lt;/span&gt;  &lt;span style="font-style: italic;"&gt;В сентябре следующего года ожидается всемирная выставка Кассир-20&lt;/span&gt;&lt;span style="font-style: italic;"&gt;08 в Лас-Вегасе и первую версию программы очень желательно иметь к этому времени, для того чтобы мы могли разрекламировать её во время выставки&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Описание функциональных возможностей продукта&lt;/span&gt;.&lt;br /&gt;Данный раздел собственно и составляет самую большую часть MRD - в нем описывается какие именно функции должен выполнять продукт. В зависимости от самих функций, квалификации Product Manager и принятых в компании правил, раздел может быть более или менее подробным. В частности, подробные сценарии использования (use cases) каждой из функциональных возможностей могут присутствовать, а могут и нет. Также MRD может включать или не включать в себя внешний вид пользовательского интерфейса. В любом случае, сценарии использования и внешний вид пользовательского интерфейса обычно появляются на той или иной стадии разработки и обычно являются дополнениями к MRD, поскольку дают более полное представление о продукте.&lt;br /&gt;&lt;br /&gt;Описание каждой функциональной возможности обязательно должно включать в себя её &lt;span style="font-weight: bold;"&gt;приоритет &lt;/span&gt;- насколько важна эта возможность с точки зрения заказчика.&lt;br /&gt;Приоритет важен, поскольку в какой-то момент, при разработке проекта часто появляется необходимость пожертвовать какими-то функциональными возможностями. Помочь решить какими именно и может знание важности каждой конкретной возможности для заказчика.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Пример&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;Феликс должен обладать следующими возможностями:&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ul style="font-style: italic;"&gt;&lt;ul&gt;&lt;li&gt;Сложение действительных чисел, при помощи стандартных правил сложения, описанных в учебнике Г.М. Фихтенгольца&lt;br /&gt;Приоритет: очень важно&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Вычитание действительных чисел, при помощи стандартных правил вычитания&lt;br /&gt;Приоритет: очень важно&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Умножение действительных чисел&lt;br /&gt;Приоритет: очень важно&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Деление действительных чисел&lt;br /&gt;Приоритет: очень важно&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Скорость выполнения операций не должна быть больше 10 секунд на одну операцию&lt;br /&gt;Приоритет: очень важно&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Программа установки, выполненная по стандартам Windows Mobile 6.0&lt;br /&gt;Приоритет: очень важно&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Drag&amp;amp;Drop&lt;br /&gt;Приоритет: очень важно&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Plug&amp;amp;Play&lt;br /&gt;Приоритет: очень важно&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Возможность распечатывать результаты&lt;br /&gt;Приоритет: очень важно&lt;/li&gt;&lt;li&gt;Наличие подробной документации по всем функциям программы&lt;br /&gt;Приоритет: очень важно&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt; Заметили ли вы некоторые странности в последнем примере? Что за удивительная функция Drag&amp;amp;Drop? А что такое Plug&amp;amp;Play? Какое отношение они имеют к программе "Феликс"? А может быть есть ещё какие-то странные требования? А почему собственно приоритет ВСЕХ функций поставлен как "очень важно"? Частенько Product Manager формулирует свои требования не достаточно чётко или само требование не кажется особенно осмысленным. Поэтому составление MRD часто требует нескольких итераций, так что каждая следующая делает этот документ более "внятным".&lt;br /&gt;Для того чтобы уменьшить количество этих итераций, описание функциональных возможностей также иногда делят на части:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Описание&lt;/span&gt; - эта часть у нас уже была&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Приоритет&lt;/span&gt; - эта часть также уже была&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Цель&lt;/span&gt; - какую задачу решает наличие данной функции. Обычно цель очевидна, а вот если она не очевидна, то может быть и сама функция не нужна.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Откуда появилась идея&lt;/span&gt; - требование заказчиков, наличие такой функции у конкурентов, наличие проблем в существующей версии продукта&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Такие функциональные возможности, которые предложил Product Manager для программы Феликс - Drag&amp;amp;Drop и Plug&amp;amp;Play возможно являются следствием того, что он бездумно пошёл на поводу у рекламы и просто включил в список пару "красивых" с его точки зрения фраз.&lt;br /&gt;&lt;br /&gt;Составление MRD требует  от Product Manager довольно большой работы, анализа конкурентов и ситуации на рынке,  а также, иногда, понимания технической стороны вопроса.&lt;br /&gt;Но, при наличии грамотно составленного MRD, взаимодействие заказчиков и разработчиков сильно улучшается и снимаются возможные проблемы, так что по крайней мере старая шутка по качели станет на один шаг короче:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_UWPsw_DgfYM/R4EmhL6j4CI/AAAAAAAAAkA/vGL51gB64fg/s1600-h/realizat.gif"&gt;&lt;img style="cursor: pointer;" src="http://bp2.blogger.com/_UWPsw_DgfYM/R4EmhL6j4CI/AAAAAAAAAkA/vGL51gB64fg/s400/realizat.gif" alt="" id="BLOGGER_PHOTO_ID_5152441800264507426" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-3422555773875709553?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/3422555773875709553/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=3422555773875709553' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/3422555773875709553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/3422555773875709553'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2008/01/mrd-marketing-requirements-document.html' title='MRD: Marketing Requirements Document'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_UWPsw_DgfYM/R4EmhL6j4CI/AAAAAAAAAkA/vGL51gB64fg/s72-c/realizat.gif' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-5508102747698964011</id><published>2008-01-01T12:55:00.000+03:00</published><updated>2008-01-01T20:55:38.327+03:00</updated><title type='text'>С наступившим!</title><content type='html'>С наступившим, всего самого лучшего в новом году! Успехов, удачи, здоровья, всего!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-5508102747698964011?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/5508102747698964011/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=5508102747698964011' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/5508102747698964011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/5508102747698964011'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2008/01/blog-post.html' title='С наступившим!'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-8046461695508359229</id><published>2007-12-14T18:45:00.000+03:00</published><updated>2007-12-14T18:43:51.667+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Интересно'/><category scheme='http://www.blogger.com/atom/ns#' term='история'/><title type='text'>Музей истории компьютера</title><content type='html'>&lt;a href="http://www.computerhistory.org/"&gt;Музей истории компьютера&lt;/a&gt;, совместно с &lt;a href="http://www.youtube.com"&gt;YouTube&lt;/a&gt;, открыли &lt;a href="http://www.youtube.com/computerhistory"&gt;канал&lt;/a&gt;, на который будут выкладываться видео выступлений, происходящих в музее.&lt;br /&gt;&lt;br /&gt;Сейчас там лежит 23 различных видео, ну и думаю будут ещё :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-8046461695508359229?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/8046461695508359229/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=8046461695508359229' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/8046461695508359229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/8046461695508359229'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/12/blog-post.html' title='Музей истории компьютера'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-3494667743907428264</id><published>2007-12-06T20:37:00.000+03:00</published><updated>2007-12-06T22:49:50.303+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='о жизни'/><category scheme='http://www.blogger.com/atom/ns#' term='о работе'/><category scheme='http://www.blogger.com/atom/ns#' term='разговоры'/><title type='text'>Требования: возраст до 35 лет</title><content type='html'>Программист и возраст. Я собственно собирался написать о том, что считаю что возраст никому не помеха, и что тенденция указывать в вакансиях верхнюю "планку" возраста - это просто пережитки "молодости" индустрии, признак того, что молодые люди работающие программистами и менеджерами проектов хотят работать с такими же молодыми людьми и так далее ...&lt;br /&gt;&lt;br /&gt;Ну и в качестве подготовки просмотрел вакансии некоторых популярных и не очень популярных компаний. В качестве disclaimer, хочу сказать что я конечно смотрел не все вакансии, а некоторые, и при этом "программистские" - С++ программист, java программист  и тому подобные. Ну и список компаний, конечно достаточно произвольный, просто те что так сказать "на слуху".&lt;br /&gt;&lt;br /&gt;Результаты довольно интересные:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Компании, не устанавлювающие никаких ограничений по возрасту&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ol&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://company.yandex.ru/inside/job/index.xml"&gt;Яндекс &lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.google.ru/support/jobs/bin/answer.py?answer=37493"&gt;Google.Россия&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.artlebedev.ru/studio/vacancy/"&gt;Дизайн Студия Артемия Лебедева&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.cqg.com/AdditionalInfo/About-CQG/Careers/Russia.aspx#Moscow"&gt;CQG&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.luxoft.com/careers/jobs.html?opportunity=Moscow"&gt;Люксофт&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://russia.quest.com/msc/vacancies/#developers"&gt;Quest Software (Moscow)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www-05.ibm.com/employment/ru/hotjobs/index.html"&gt;IBM Россия&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://jobs.rbchost.ru/"&gt;РБК Медиа&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.egar.ru/about/vacancies/job2/"&gt;EGAR&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.acronis.ru/enterprise/company/employment/"&gt;Acronis&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.cboss.ru/cbossjobs/vacancies.html"&gt;CBOSS&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.db.com/russia/content/en/4491.htm"&gt;Deutsсhe Bank Россия&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;ul&gt;&lt;li&gt;Компании, устанавливающие ограничения&lt;/li&gt;&lt;/ul&gt;&lt;ol&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://www.croc.ru/vacancy/moscow/default.aspx"&gt;Крок&lt;/a&gt; - в среднем ограничение возраста 23-35 лет&lt;/li&gt;&lt;li&gt;Результаты поиска в группе форумов RSDN ( Программирование :: Работа):&lt;br /&gt;&lt;span style="font-size:85%;"&gt;"По запросу '&lt;b&gt;"возраст  до" | "Возраст  до"&lt;/b&gt;' найдено документов: &lt;b&gt;51".&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;Ну что тут сказать. Конечно эта статистика не полна и спорна. Тем не менее видно, что возрастных ограничений &lt;span style="font-weight: bold;"&gt;не так уж и много.&lt;/span&gt; По каким причинам возникают возрастные ограничения для программистов?&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Желание нанять людей неопытных, готовых работать за небольшие деньги и не до конца понимающих свои права. Тех, кто не сможет постоять за себя. А это обычно молодые ...&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Довольно распространённое мнение, что если после какого-то возраста человек ещё не стал "начальником", то значит он неудачник или недостаточно квалифицирован, а значит "нам не нужен".&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Молодая команда (собственно то, о чем изначально я собирался написать), которая естественным образом хочет работать с похожими по духу, а значит и по возрасту людьми&lt;/li&gt;&lt;/ol&gt;Рассмотрим эти причины в обратном порядке.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Молодая команда&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Если в компании всем людям по 20 лет, то им не хочется нанимать 40-летнего коллегу. Скучно, страшно, неинтересно, ритмы другие. Некоторое время назад практически вся программистская индустрия в России состояла из очень молоых людей и сответственно приобщались к ней молодые. Во-первых потому что других особо и не было, во-вторых по уже изложенным причинам. Но молодость - это недостаток который быстро проходит. И поэтому со временем происходит (и уже произошло) взросление команд и соответственно возрастные рамки расширяются.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;"Не хотим брать неудачников"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Существует такой полу-юмористический "&lt;a href="http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF_%D0%9F%D0%B8%D1%82%D0%B5%D1%80%D0%B0"&gt;принцип Питера&lt;/a&gt;". Принцип Питера гласит, что в иерархической системе, каждый человек достигает своего уровня некомпетентности, то есть человек повышается в своей должности до тех пор, пока не займёт место где он уже не в состоянии справляться со своими обязанностями. Ну и как следствие - ВСЕ некомпетентны на своих местах. И доля правды в этом есть - талантливых программистов продвигают и они становятся посредственными начальниками групп, хорошие начальники групп вполне могут стать плохими руководителями отделов и так далее.&lt;br /&gt;&lt;br /&gt;Не все "&lt;span style="font-weight: bold;"&gt;хотят&lt;/span&gt;" стать начальниками. Многие программисты хотят работать программистами, код писать. Получая при этом нормальную зарплату конечно. Если ты хороший программист, то может быть лучше им и оставаться, чем пытаться стать плохим начальником ... и лишний раз подтвердить принцип Питера.&lt;br /&gt;&lt;br /&gt;Поэтому мне думается, что такое объяснение - плохой повод для введения ограничений по возрасту.&lt;br /&gt;&lt;br /&gt;На самом деле, как мне кажется, большинство объяснений типа "не хотим брать неудачников" являются маскировкой для третьей и самой распространенной причины введения возрастных ограничений:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Экономия&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Ну тут-то мне кажется ничего особо говорить не надо? Под видом двух предыдущих причин попытаться нанять дешёвых людей делать дорогую работу. И все тут.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Заключительные мысли&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Да, я тут не написал о том что иногда возрастной планкой пытаются "отсекать" людей имея ввиду, что их возможность работать снижается - ну там, не знаю голова хуже работает, память и так далее. Обсуждать это большого смысла не вижу, поскольку это вещи &lt;span style="font-weight: bold;"&gt;сильно индивидуальные&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Вообще большинство известных мне случаев приёма или не приёма на работу людей "после 35" определялись в конечном итоге исключительно профессиональными качествами, а вовсе не возрастом.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-3494667743907428264?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/3494667743907428264/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=3494667743907428264' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/3494667743907428264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/3494667743907428264'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/12/35.html' title='Требования: возраст до 35 лет'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-6659040643658203774</id><published>2007-12-05T19:57:00.000+03:00</published><updated>2007-12-05T20:02:33.624+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><title type='text'>Here comes another bubble ...</title><content type='html'>Небольшое видео про Web 2.0 бум :-) Смешно, особенно потому что очень правдиво.&lt;br /&gt;&lt;br /&gt;P.S. Если по каким-то причинам не получается посмотреть видео, то вот ссылка:&lt;br /&gt;&lt;a href="http://dev.podesk.com/guest.php/post/2007/12/04/Here-Comes-Another-Bubble-lyrics"&gt;http://dev.podesk.com/guest.php/post/2007/12/04/Here-Comes-Another-Bubble-lyrics&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;object height="320" width="425"&gt;&lt;param name="movie" value="http://dev.podesk.com/guest.php/flash/86abf5707c"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;embed src="http://dev.podesk.com/guest.php/flash/86abf5707c" type="application/x-shockwave-flash" allowfullscreen="true" height="320" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://dev.podesk.com/guest.php/post/2007/12/04/Here-Comes-Another-Bubble-lyrics"&gt;Here Comes Another Bubble lyrics&lt;/a&gt;&lt;/b&gt; &lt;i&gt;sent by &lt;a href="http://dev.podesk.com/guest.php/"&gt;guest&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-6659040643658203774?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/6659040643658203774/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=6659040643658203774' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/6659040643658203774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/6659040643658203774'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/12/here-comes-another-bubble.html' title='Here comes another bubble ...'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-5488335021594630697</id><published>2007-11-27T10:34:00.000+03:00</published><updated>2007-11-28T06:57:14.272+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='о жизни'/><category scheme='http://www.blogger.com/atom/ns#' term='разговоры'/><title type='text'>Успех? Терпение!</title><content type='html'>Довольно давнее время назад мне попалась на глаза статья &lt;a href="http://www.ericsink.com/about_author.html"&gt;Eric Sink&lt;/a&gt;, под названием "&lt;a href="http://www.ericsink.com/Career_Calculus.html"&gt;Career Calculus&lt;/a&gt;". Статья показалась довольно интересной, и я даже перевёл её на &lt;a href="http://www.rsdn.ru/article/career/CareerCalculus.xml"&gt;русский язык&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;br /&gt;&lt;br /&gt;Конечно, способности оказывают влияние, вопрос только какое именно?&lt;br /&gt;&lt;br /&gt;Мне кажется существенно большее влияние на "успешность" оказывает упорство и трудолюбие. Заметим, при этом я не говорю о "великих", хотя и они, в большинстве своём, были большими тружениками. Я говорю о "крепких середняках", людях вполне добившихся успеха, но не о Биллах Гейтсах, Ньютонах или Пеле.&lt;br /&gt;&lt;br /&gt;Для достижения "нормальных" результатов в спорте, программировании и даже музыке или рисовании необходимо только одно - упорство. Все это лестница и талантливые просто начинают с более высокой ступеньки. Конечно, Леонардо Да Винчи большинство из людей не станет, но научиться рисовать "приемлемо" вполне возможно. (между прочим Леонардо, который, как известно, испытывал свои силы практически во всех областях наук и искусств, говорил "“&lt;span style="font-weight: bold;"&gt;Счастье приходит к тому, кто много трудится&lt;/span&gt;”; неизвестно, добился бы он таких успехов, если бы "не очень" старался)&lt;br /&gt;&lt;br /&gt;Почему же большинство людей тем не менее не добивается успеха "во всем". Очень просто - для достижения успеха необходимо упорство, а для того чтобы этого упорства было достаточно, необходимо желание. Вот желания то у нас частенько и не хватает.&lt;br /&gt;&lt;br /&gt;Поэтому, шансы на успех есть в любом начинании, если только действительно есть желание. Нет смысла беспокоиться о своих способностях - терпение и труд все перетрут.&lt;br /&gt;Как говорил Л.Н. Толстой: "&lt;span style="font-weight: bold;"&gt;Единственное условие, от которого зависит успех, есть терпение&lt;/span&gt;".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-5488335021594630697?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/5488335021594630697/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=5488335021594630697' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/5488335021594630697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/5488335021594630697'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/11/blog-post_27.html' title='Успех? Терпение!'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-53894816921512929</id><published>2007-11-09T12:56:00.000+03:00</published><updated>2007-11-09T20:57:07.433+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='вопросы для собеседования'/><category scheme='http://www.blogger.com/atom/ns#' term='образование'/><title type='text'>Ещё вопросы</title><content type='html'>Некоторое время назад я написал небольшой пост под названием "&lt;a href="http://lktalks.blogspot.com/2007/04/blog-post_603.html"&gt;Хорошие вопросы&lt;/a&gt;", в котором рассказывал про вопросы, которые, как мне кажется, стоило бы задавать на собеседованиях. Там же были некоторые мысли почему именно подобные вопросы стоит задавать, а другие не стоит.&lt;br /&gt;&lt;br /&gt;С тех пор уже прошло довольно много времени и у меня появились ещё вопросы, которые вполне можно добавить в тот список.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Что такое тип (&lt;a href="http://lktalks.blogspot.com/2007/04/blog-post_603.html"&gt;предложено&lt;/a&gt; &lt;a href="http://www.blogger.com/profile/09724511625118329123"&gt;Iv&lt;/a&gt;) ?&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Что такое тестирование? (взято из &lt;a href="http://www.techinterviews.com/?p=64"&gt;http://www.techinterviews.com/?p=64&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;Почему нельзя запустить под Windows программу для Macintosh? (имеется ввиду без применения специальных ухищрений; впрочем ухищрения тоже можно обсудить)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;В чем разница между "оперативной памятью" и "жестким диском"?&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Что такое язык программирования? Зачем нужна подобная сущность? (в обсуждении можно коснуться и ассемблера и машинных кодов)&lt;/li&gt;&lt;/ol&gt;Также некоторое время назад в Сети появилась статья "&lt;a href="http://blog.gamedeff.com/?p=64"&gt;Интервью глазами пострадавшего&lt;/a&gt;" с вопросами которые задаются при приёме на работу в некоторую компанию, разрабатывающую игры. Так вот, в этой статье был вопрос, являющийся, как я понимаю некоторой проверкой "вменяемости" программиста, что ли.&lt;br /&gt;&lt;br /&gt;Вопрос такой: 2^8 - это сколько?&lt;br /&gt;&lt;br /&gt;Нужен ли такой вопрос и что именно он проверяет - это отдельная беседа. Но у меня на эту тему возник другой вопрос:&lt;br /&gt;&lt;br /&gt;       6. А почему собственно степени двойки так важны? Почему проверкой вменяемости     программиста является "отскакивающий от зубов" ответ на вопрос сколько будет 2^8? А не скажем 3^7 :-)&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/21088732-53894816921512929?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/53894816921512929/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=53894816921512929' title='Комментарии: 9'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/53894816921512929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/53894816921512929'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/11/blog-post.html' title='Ещё вопросы'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-1619464237825645259</id><published>2007-10-18T01:12:00.000+04:00</published><updated>2007-10-18T21:29:40.475+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='утилиты'/><title type='text'>Распознавание шрифта</title><content type='html'>Иногда возникает необходимость узнать какой шрифт был использован в той или иной картинке.&lt;br /&gt;&lt;br /&gt;Задача казалось бы довольно простая - раз уж у нас существуют средства, позволяющие &lt;span style="font-style: italic;"&gt;распознавать сам текст&lt;/span&gt; с картинки, то уж распознать шрифт, которым этот текст написан не должно быть очень сложно.&lt;br /&gt;&lt;br /&gt;На самом деле задача обычно состоит из двух подзадач - распознать шрифт, которым написан исходный текст, а также подобрать из имеющихся в данный момент на машине шрифтов наиболее к нему близкий.&lt;br /&gt;&lt;br /&gt;Для решения есть несколько более или менее автоматизированных средств:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://www.myfonts.com/WhatTheFont/"&gt;WhatTheFont &lt;/a&gt;- web-приложение, которое позволяет загрузить картинку и автоматически пытается определить шрифт. Изображение нужно сначала специальным образом подготовить (подробные инструкции есть на сайте)&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.identifont.com/"&gt;Identifont &lt;/a&gt;, &lt;a href="http://www.itcfonts.com/fonts/SearchBySight.htm"&gt;ITC Fonts&lt;/a&gt;, &lt;a href="http://www.fonts.com/FindFonts/SearchBySight.htm"&gt;Fonts.com &lt;/a&gt;- содержат небольшую "экспертную" систему, которая задаст некоторое количество вопросов про интересующий шрифт и выдаст список наиболее подходящих шрифтов&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.stretchedout.com/products/fontmatch/fontmatch.php"&gt;FontMatch&lt;/a&gt; - windows приложение, позволяющие загрузить изображение буквы и пытающаяся найти среди имеющихся на компьютере шрифтов подходящий&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.structurise.com/kleptomania/russian.shtml"&gt;Kleptomania&lt;/a&gt; - отличное windows-приложение, предназначенное в основном для того, чтобы копировать текст из окон, которые этого не поддерживают. Также умеет распознавать и шрифт, которым написан текст.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.abbyy.ru"&gt;FineReader&lt;/a&gt; или другая полноценная программа распознавания текста. Все в них хорошо, кроме того что при их использовании не покидает ощущение стрельбы из пушки по воробьям.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;Мой выбор - (4) - Kleptomania - самая удобная, быстрая и к тому же бесплатная программа.&lt;br /&gt;&lt;br /&gt;P.S.  Ну если честно, то в итоге все равно в Word-е глазами на шрифты смотрел и вручную сравнивал :-) На всякий случай ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-1619464237825645259?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/1619464237825645259/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=1619464237825645259' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/1619464237825645259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/1619464237825645259'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/10/blog-post.html' title='Распознавание шрифта'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-2312216406782859824</id><published>2007-10-04T16:49:00.000+04:00</published><updated>2007-10-04T21:10:26.704+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='практика программирования'/><title type='text'>Производительность XSLT</title><content type='html'>XSLT не очень "быстрый" язык. Разные XSLT процессоры работают по разному, и пользуются разными методами оптимизации.&lt;br /&gt;&lt;br /&gt;На практике довольно часто встречаются ситуации, когда одна и та же XSLT программа быстро работает при использовании одного процессора и медленно при использовании другого.&lt;br /&gt;&lt;br /&gt;В XSLT существуют потенциально медленные конструкции, при этом разные процессоры могут с разной скоростью исполнять разные инструкции, поскольку по-разному оптимизированы.&lt;br /&gt;&lt;br /&gt;В этой заметке я попытался собрать некоторые наблюдения по поводу производительности XSL.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;XSLT процессор и ОС&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Иногда может показаться так, что один и тот же XSLT процессор по разному работает на под разными ОС.&lt;br /&gt;&lt;br /&gt;Убедитесь что вы действительно используете один и тот же процессор и одну и ту же версию, иначе все ваше сравнения окажутся пустой тратой времени.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Про переменные&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Для большинства замедлителей почти всегда действует общий совет - вычисляйте каждую вещь только один раз. Результат любого вычисления можно сохранить в переменной,  и после этого спокойно использовать.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;count&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Ф-я count вычисляет количество узлов в наборе и работает иногда чрезвычайно медленно. Если есть необходимость её использовать, то старайтесь вызывать её минимальное количество раз и помещать вычисленное значение в переменную.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;preceding&lt;/span&gt;:: и другие&lt;br /&gt;&lt;br /&gt;Использование preceding и других "осевых" функций (preceding-sibling, following, following-sibling) может существенно замедлить XSL преобразование, поэтому необходимо постараться от них избавиться.&lt;br /&gt;&lt;br /&gt;Часто preceding и preceding-sibling используются для организации группировки или выборки уникальных элементов. Вместо этого можно пользоваться &lt;a href="http://www.jenitennison.com/xslt/grouping/muenchian.html"&gt;методом Мюнха&lt;/a&gt;(xsl:key + generate-id()).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;//&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Использование '//' для поиска также может сильно замедлить преобразование, особенно в случае большого файла, с большим количеством узлов. Здесь, также как и в случае группировки, стоит подумать об использовании xsl:key.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Проход по узлам&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Старайтесь осуществлять "проход" по коротким спискам.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Использование ключей&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Ключи (элемент xsl:key и функция key) могут очень сильно улучшить производительность XSL программы, особенно если в ней производятся "большие" поиски.&lt;br /&gt;&lt;br /&gt;В зависимости от реализации использование элемента xsl:key приводит к созданию XSL процессоров внутреннего индекса, за счёт чего достигается очень быстрый доступ к соответствующим узлам.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Использование сокращённого вычисления (short-circuiting)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;В XSL, как и во многих других языках программирования вычисление булевых выражений осуществляется при помощи сокращённого вычисления. Это значит что вычисление прекращается, как только ясен результат. Например в выражении [1 OR (всё-что-угодно)] значение выражения 'всё-что-угодно' вычисляться не будет, поскольку ясно, что общий результат от этого не изменится.&lt;br /&gt;&lt;br /&gt;А раз так, то стоит в логических вычислениях (xsl:if, xsl:when) ставить в начало те выражения, которые требует меньше времени для вычисления.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Не стоит полагаться на xsl:message&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;Очень часто мы пользуемся в своей работе "отладочной печатью". В случае XSL ф-ю печати выполняет элемент xsl:message. Этот элемент тем не менее не совсем прост. Дело в том, что он нарушает необходимое в функциональном языке (а XSL - функциональный язык) свойство &lt;span style="font-weight: bold;"&gt;отсутствия побочных эффектов&lt;/span&gt;. На самом деле порядок вывода xsl:message не обязательно будет таким, как нам кажется, он может зависеть от используемого XSL процессора. Поэтому для отладки, на мой взгляд, лучше пользоваться встроенными средствами трассировки, имеющихся практически во всех процессорах.&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;И напоследок&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;Каждый XSLT процессор работает немного по-своему. Совершенно необходимо тестировать подготовленное XSLT преобразование именно на том процессоре, который будет работать в реальной версии продукта.&lt;br /&gt;&lt;br /&gt;Нужно обязательно ознакомиться с возможностями используемого процессора. Часто проблемы с производительностью может помочь решить трассировка, которую можно включить при помощи опций командной строки.&lt;br /&gt;&lt;br /&gt;Также, помочь определить проблемные места программы на XSLT может профилирование, то есть измерение времени выполнения определенных участков кода. Практически все современные IDE для работы с XML и XSLT (например &lt;/span&gt;&lt;span&gt;&lt;a href="http://www.altova.com/products/xmlspy/xml_editor.html"&gt;Altova XMLSpy&lt;/a&gt;, &lt;a href="http://www.stylusstudio.com/"&gt;Stylus Studio&lt;/a&gt;, &lt;a href="http://www.oxygenxml.com/"&gt;oXygen XML&lt;/a&gt;)&lt;/span&gt;&lt;span&gt; предоставляют также средства профилирования.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Что ещё почитать про производительность XSLT&lt;br /&gt;&lt;/span&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://xml.apache.org/xalan-j/faq.html#faq-N1015C"&gt;Предложения разработчиков процессора Xalan&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://support.microsoft.com/kb/815124"&gt;Советы от Microsoft&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.dpawson.co.uk/xsl/sect4/N9883.html"&gt;Список советов по улучшению производительности XSLT&lt;/a&gt; из XSLT FAQ (в том числе от Michael Key)&lt;/li&gt;&lt;li&gt;Немного теории: &lt;a href="http://www.idealliance.org/papers/dx_xmle04/papers/02-03-02/02-03-02.html"&gt;Michael Key: XSLT and XPath Optimization&lt;/a&gt;.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-2312216406782859824?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/2312216406782859824/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=2312216406782859824' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/2312216406782859824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/2312216406782859824'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/10/xslt.html' title='Производительность XSLT'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-9155477450152439866</id><published>2007-09-24T10:48:00.000+04:00</published><updated>2007-09-24T22:48:50.907+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='о жизни'/><category scheme='http://www.blogger.com/atom/ns#' term='разговоры'/><title type='text'>Enterprise улетает с Альтаира?</title><content type='html'>Недавние мои собственные посты на темы "&lt;a href="http://lktalks.blogspot.com/2007/09/portable-applications.html"&gt;portable applications&lt;/a&gt;" и по поводу "&lt;a href="http://lktalks.blogspot.com/2007/09/blog-post_16.html"&gt;носителей информации&lt;/a&gt;", а также комментарий &lt;a href="https://www.blogger.com/comment.g?blogID=21088732&amp;amp;postID=7793741133538026334"&gt;Morph&lt;/a&gt; натолкнули меня на следующие размышления.&lt;br /&gt;&lt;br /&gt;Действительно, сейчас наблюдаются несколько тенденций, которые тянут "персональные данные" в противоположные стороны.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Все своё ношу с собой&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;С одной стороны, portable программы получили большое развитие. Все больше программ становятся независимыми от реестра (в windows мире), поскольку хранят свои настройки в собственных конфигурационных файлах (и .NET только способствует этому). А раз так, то они по сути все ближе приближаются к portable миру. Flash-ки и внешние USB-винчестеры становятся все более ёмкими и надёжными, возможность полностью носить с собой всю свою рабочую "среду" является все более и более реальной (например "нафаршированная" флэшку &lt;a href="http://www.computerra.ru/think/ogorod/325815/"&gt;n-Key Flash&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Omnia mea mecum porto&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;:-) Да, на самом деле второй заголовок - это первый на латыни. Но вот &lt;a href="http://www.otrezal.ru/catch-words/69.html"&gt;история исходного выражения&lt;/a&gt; говорит нам о том, &lt;span class="textfull"&gt;&lt;span&gt;что в дни завоевания персами греческого города Приены за толпой беглецов, еле тащивших на себе тяжёлое имущество, спокойно шёл налегке мудрец Биант. Когда его спрашивали, где его вещи, он, усмехаясь, говорил: «Все, что имею, всегда ношу при себе». На самом деле он вероятно имел ввиду, что ум, знания и внутренняя сила человека гораздо важнее, чем какие-то конкретные вещи и материальные накопления.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Сейчас есть возможность не носить с собой ничего. Google, а сейчас и многие другие компании создали в Сети такую среду, что многим людям достаточно иметь компьютер, подключенный к интернет, а все необходимы им программы и данные они могут найти в сети. Вся почта в gmail, все документы в Google Docs или подобных системах.&lt;br /&gt;&lt;br /&gt;По сути дела, все хранится у больших и малых компаний, которые предоставляют нам подобные услуги.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Большой брат&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Крупные компании исповедуют конечно же свой путь. Они запрещают подключать флешки, пользуются внутрикорпоративной почтой и так далее. Закон Сарбейнс-Оксли и все такое.&lt;br /&gt;В большой компании не нужен "персональный компьютер". любой сотрудник может подойти к любому компьютеру и работать( ну конечно это натяжка, но ведь они к этому стремятся, это так сказать недостижимый идеал). [большие компании бывают разные и я здесь конечно говорю в основном НЕ про компании-производители программного обеспечения].&lt;br /&gt;&lt;br /&gt;Тем не менее, мне кажется что на самом деле большие компании давно идут по пути "централизации" информации. Ведь нет большой разницы между тем, что у обычного пользователя почта хранится в Google или на корпоративном Exchange сервере. Разница есть с точки зрения компании - хранится ли информация у самой компании или у "чужой" компании. А вот с точки зрения человека разницы нет - его данные хранятся не у него в обоих случаях.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Размышления&lt;/span&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;В 1975 году появился компьютер Altair, что ознаменовало собой начало эры &lt;span style="font-weight: bold;"&gt;персональных &lt;/span&gt;компьютеров. Говорят, что название компьютера было придумано дочерью технического редактора журнала "Popular Electronics" Леса Соломона, поскольку в тот день корабль Enterprise из популярного сериала "Звездный путь" должен был направится именно на Альтаир. Прошло 32 года. Эра персональных компьютеров закончилась? Enterprise улетает с Альтаира?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-9155477450152439866?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/9155477450152439866/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=9155477450152439866' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/9155477450152439866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/9155477450152439866'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/09/enterprise.html' title='Enterprise улетает с Альтаира?'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-7887135807916667769</id><published>2007-09-18T13:29:00.000+04:00</published><updated>2007-09-18T13:36:30.518+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Интересно'/><title type='text'>amazon.com</title><content type='html'>Блог High Scalability опубликовал интересную &lt;a href="http://highscalability.com/amazon-architecture"&gt;статью о внутренней архитектуре amazon.com &lt;/a&gt;и о некоторых принципах организации работы в amazon (в частности, там есть немного про премии).&lt;br /&gt;&lt;br /&gt;P.S. На том же сайте есть подобные описания архитектуры &lt;a href="http://highscalability.com/google-architecture"&gt;google&lt;/a&gt;, &lt;a href="http://highscalability.com/youtube-architecture"&gt;youtube&lt;/a&gt;, &lt;a href="http://highscalability.com/wikimedia-architecture"&gt;wikipedia&lt;/a&gt; и других по настоящему больших проектов.&lt;br /&gt;&lt;br /&gt;&lt;strong style="color: rgb(255, 255, 255);"&gt;17458907.48319b4763d4aa2700c0fda3363b9fab.1190107741.d9c1ec9c770af938959863dd60b588c0&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-7887135807916667769?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/7887135807916667769/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=7887135807916667769' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/7887135807916667769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/7887135807916667769'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/09/amazoncom.html' title='amazon.com'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-7793741133538026334</id><published>2007-09-16T14:50:00.000+04:00</published><updated>2007-09-16T14:50:29.447+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='о жизни'/><category scheme='http://www.blogger.com/atom/ns#' term='разговоры'/><title type='text'>Носители информации: несколько мыслей</title><content type='html'>Недавно мой КПК упал на асфальт. У меня Dell Axim X50v. Довольно приличная машинка - вполне удовлетворяет всем моим потребностям, которые ограничиваются, если честно, адресной книгой, калькулятором и программкой-хранителем паролей.&lt;br /&gt;&lt;br /&gt;Так вот он упал на асфальт. Не очень-то с большой высоты - я выходил из машины, КПК висел на поясе, я обо что-то задел, машинка отсоединилась и упала с высоты сидящего в машине человека. КПК был конечно же в чехле, так что удар был совсем не сильный. У меня подобные падения и раньше случались, но тем не менее ни к каким неприятным последствиям не приводили.&lt;br /&gt;&lt;br /&gt;Но в этот раз везение кончилось.  Теперь при включении КПК стал выдавать сообщение о какой-то "Memory error". И дело кончилось тем что мне пришлось произвести полную его перезагрузку. Кто пользовался КПК знает что полная перезагрузка подразумевает приведение машинки в девственно-чистое состояние, при котором исчезают все установленные программы и данные (ну кроме данных которые записаны на flash карту).&lt;br /&gt;&lt;br /&gt;Обидно было. На самом деле у меня такое не первый раз. У меня и с этим КПК раньше случались всевозможные казусы, приводившие к полной потере данных - то батарейку забуду зарядить, то какая-то программа зависнет настолько, что ничего не сделать кроме как произвести полную перезагрузку. Более того, это у меня ведь не первая электронная игрушка (уж будем честны сами с собой, в большинстве случаев действительно игрушки). И с &lt;span style="font-weight: bold;"&gt;каждой&lt;/span&gt; из них были проблемы, связанные с потерей данных. Конечно все они решаются наличием более или менее свежих резервных копий, но все равно досадно - времени жалко да и вообще.&lt;br /&gt;&lt;br /&gt;Я "много думал" :-) Сначала мне вспомнились многочисленные виды носителей информации, придуманные человечеством за всю историю его существования. О них я писал в предыдущем посте: "&lt;a href="http://lktalks.blogspot.com/2007/09/blog-post.html"&gt;Носители информации: краткая истрия в картинках&lt;/a&gt;". А потом я начал анализировать чего мы добились и какой ценой.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Современные носители - характеристики&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Объем&lt;/span&gt;: к настоящему времени мы придумали такие способы сохранить информацию, что информацию, содержащуюся в миллионе книг можно уместить в устройстве, размером с небольшой дипломат.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Поиск&lt;/span&gt;: И к тому же при помощи современных средств хранения информации можно ещё и &lt;span style="font-weight: bold;"&gt;найти &lt;/span&gt;что-нибудь в этом море информации.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Универсальность&lt;/span&gt;: мы можем сейчас хранить существенно больше видов информации чем раньше. Нам теперь доступны возможности хранения видео и звука, что было затруднительно раньше.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Простота репликации&lt;/span&gt;: благодаря современным способам хранения информации, её копирование стало чрезвычайно простым и дешёвым, и это возможно самое важное достижение, без которого все остальные были бы не очень ценны из-за чрезвычайного снижения надёжности носителей информации (см. ниже).&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;Однако все имеет свою цену.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Современные носители - цена&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;ol&gt;&lt;li&gt;Современные носители информации таковы, что для извлечения информации требуется &lt;span style="font-weight: bold;"&gt;потратить существенно больше энергии&lt;/span&gt;, чем раньше. Для считывания информации с бумаги, с глиняной таблички или поверхности камня необходимо было лишь небольшое количество света и некоторые затраты, которую требуются человеку для осуществления самого процесса чтения. Сейчас, чтобы считать информацию, находящуюся на DVD Диске или на карте памяти требуется &lt;span style="font-weight: bold;"&gt;специальное устройство, &lt;/span&gt;тогда как все остальные расходы конечно сохраняются.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Мы платим за все плюсы современных средств хранения информации очень &lt;span style="font-weight: bold;"&gt;небольшой их надёжностью&lt;/span&gt;, по сравнению со средствами хранения, которые были у нас раньше. Наскальные рисунки сохранились многие тысячи лет, тоже можно сказать о глиняных табличках, берестяных грамотах и египетских папирусах. Возьмите CD 15-летней давности ...&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-weight: bold;"&gt;Разное&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Мы пытаемся решить проблему надёжности бесконечным копированием информации (созданием "резервных" копий), потому что на самом деле другого способа нет&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Уменьшение надёжности , как мне кажется является вполне естественным - чем больше информации мы умещаем на небольшой площади тем менее избыточным, а значит менее надёжным становится наше хранилище&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Именно из-за чрезвычайного уменьшения надёжности концепция "безбумажного офиса" до сих пор окончательно не реализована&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Мы заплатили за все современные возможности носителей информации увеличением цены (большими затратами энергии) и уменьшением надёжности. Мне кажется это слишком дорого, чем-то конечно нужно платить, но хватило бы либо цены, либо надёжности.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Революция случится тогда, когда будет создан носитель информации имеющий современные характеристики и хотя бы такой же надёжный как бумага&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Вот такие вот мысли. Выводов никаких нет ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-7793741133538026334?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/7793741133538026334/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=7793741133538026334' title='Комментарии: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/7793741133538026334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/7793741133538026334'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/09/blog-post_16.html' title='Носители информации: несколько мыслей'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-5952204943621967150</id><published>2007-09-12T13:13:00.000+04:00</published><updated>2007-09-12T13:14:14.065+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Интересно'/><category scheme='http://www.blogger.com/atom/ns#' term='история'/><category scheme='http://www.blogger.com/atom/ns#' term='образование'/><title type='text'>Носители информации: краткая история в картинках</title><content type='html'>Наша цивилизация немыслима в её сегодняшнем состоянии без носителей информации. Наша память ненадёжна, поэтому достаточно давно человечество придумало записывать мысли во всех видах.&lt;br /&gt;&lt;br /&gt;Носитель информации - это любое устройство предназначенное для записи и хранения информации.&lt;br /&gt;&lt;br /&gt;Примерами носителей могут быть и бумага, или USB-Flash память, также как и глиняная табличка или человеческая ДНК.&lt;br /&gt;&lt;br /&gt;Информация тоже бывает разная - это и текст и звук и видео. История носителей информации начинается довольно давно ...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Камни и стены пещер - палеолит (до 40 до 10 тыс. лет до нашей эры)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Первыми носителями информации были, по всей видимости, стены пещер. Наскальные изображения и петроглифы (от греч. petros - камень и glyphe - резьба) изображали животных, охоту и бытовые сцены. На самом деле точно неизвестно, предназначались ли наскальные рисунки для передачи информации, служили простым украшением, совмещали эти функции или вообще нужны были для чего то ещё. Тем не менее это самые старые носители информации, известные сейчас.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_UWPsw_DgfYM/RuAfC3pPTQI/AAAAAAAAAdA/4g4nbYJ9g9A/s1600-h/Lascaux2.jpg"&gt;&lt;img style="cursor: pointer;" src="http://bp0.blogger.com/_UWPsw_DgfYM/RuAfC3pPTQI/AAAAAAAAAdA/4g4nbYJ9g9A/s400/Lascaux2.jpg" alt="" id="BLOGGER_PHOTO_ID_5107116111595261186" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Глиняные таблички - 7-й век до нашей эры&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;На глиняных табличках писали пока глина была сырой, а затем обжигали в печи.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_UWPsw_DgfYM/RuVjHHpPTRI/AAAAAAAAAdI/1oTJWDufOY0/s1600-h/tablet02.jpg"&gt;&lt;img style="cursor: pointer;" src="http://bp2.blogger.com/_UWPsw_DgfYM/RuVjHHpPTRI/AAAAAAAAAdI/1oTJWDufOY0/s400/tablet02.jpg" alt="" id="BLOGGER_PHOTO_ID_5108598326283947282" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Именно глиняные таблички составили основы первых в истории библиотек, наиболее известной из которых является библиотека Ашшурбанипала в Ниневии (7 век), которая насчитывала около 30 тысяч клинописных табличек.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Восковые таблички&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Восковые таблички - это деревянные таблички, внутренняя сторона которых покрывалась цветным воском для нанесения надписей острым предметом (стилосом). Использовались в древнем Риме.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_UWPsw_DgfYM/RuVmCXpPTSI/AAAAAAAAAdQ/22ULL82xvTg/s1600-h/WaxTablet.jpg"&gt;&lt;img style="cursor: pointer;" src="http://bp3.blogger.com/_UWPsw_DgfYM/RuVmCXpPTSI/AAAAAAAAAdQ/22ULL82xvTg/s400/WaxTablet.jpg" alt="" id="BLOGGER_PHOTO_ID_5108601543214452002" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Папирус - 3000 лет до нашей эры&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;Папирус - писчий материал получивший распространение в Египте и во всем Средиземноморье, для изготовления которого использовалось растение семейства&lt;/span&gt;&lt;span&gt; осоковых.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_UWPsw_DgfYM/RuVqFXpPTUI/AAAAAAAAAdg/IOOQK-WdVQc/s1600-h/Egypt.Papyrus.01.jpg"&gt;&lt;img style="cursor: pointer;" src="http://bp3.blogger.com/_UWPsw_DgfYM/RuVqFXpPTUI/AAAAAAAAAdg/IOOQK-WdVQc/s400/Egypt.Papyrus.01.jpg" alt="" id="BLOGGER_PHOTO_ID_5108605992800570690" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Писали на нем при помощи специального пера.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Пергамент - 2 век до нашей веры&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;Пергамент постепенно вытеснял папирус. Название материала происходит от города&lt;/span&gt;&lt;span&gt; Пергам, где стали впервые изготавливать этот материал. Пергамент представляет собой недубленую выделанную кожу животных - овечью, телячью или козью.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_UWPsw_DgfYM/RuVvMnpPTVI/AAAAAAAAAdo/YprjMmKNEhk/s1600-h/vellum_lg.jpg"&gt;&lt;img style="cursor: pointer;" src="http://bp0.blogger.com/_UWPsw_DgfYM/RuVvMnpPTVI/AAAAAAAAAdo/YprjMmKNEhk/s400/vellum_lg.jpg" alt="" id="BLOGGER_PHOTO_ID_5108611614912761170" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span&gt;Популярности пергамента способствовало то, что на нём (в отличие от папируса) есть возможность смыть текст, написанный растворимыми в воде чернилами (см. палимпсест) и нанести новый. Кроме того, на пергаменте можно писать с обоих сторон листа&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Бумага - 1-й или начало 2 века нашей эры&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;Предполагается что бумага была изобретена в Китае в конце первого или начале второго века нашей эры.&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_UWPsw_DgfYM/RuV4QnpPTWI/AAAAAAAAAdw/OW0EOFfuwxI/s1600-h/Jingangjing.gif"&gt;&lt;img style="cursor: pointer;" src="http://bp0.blogger.com/_UWPsw_DgfYM/RuV4QnpPTWI/AAAAAAAAAdw/OW0EOFfuwxI/s400/Jingangjing.gif" alt="" id="BLOGGER_PHOTO_ID_5108621579236887906" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span&gt;Широкое распространение получила благодаря арабам только в 8-9 веках.&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_UWPsw_DgfYM/RuV51HpPTXI/AAAAAAAAAd4/E3HkJY2vs5w/s1600-h/gutenberg-large.jpg"&gt;&lt;img style="cursor: pointer;" src="http://bp2.blogger.com/_UWPsw_DgfYM/RuV51HpPTXI/AAAAAAAAAd4/E3HkJY2vs5w/s400/gutenberg-large.jpg" alt="" id="BLOGGER_PHOTO_ID_5108623305813740914" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;Береста - широкое распространение с 12 века&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;Берестяные грамоты использовались в Новогороде и были открыты учеными в 1951 году.&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_UWPsw_DgfYM/RuVnD3pPTTI/AAAAAAAAAdY/KApLNVBp7Mk/s1600-h/on_gram.jpg"&gt;&lt;img style="cursor: pointer;" src="http://bp1.blogger.com/_UWPsw_DgfYM/RuVnD3pPTTI/AAAAAAAAAdY/KApLNVBp7Mk/s400/on_gram.jpg" alt="" id="BLOGGER_PHOTO_ID_5108602668495883570" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Тексты берестяных писем выдавливались с помощью специального  инструмента — стилоса, изготовленного  из железа, бронзы или кости.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Перфокарты - появились в 1804 году, запатентованы в 1884 году&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_UWPsw_DgfYM/RuV6_HpPTYI/AAAAAAAAAeA/hDtn-cspb2Y/s1600-h/PH001.jpg"&gt;&lt;img style="cursor: pointer;" src="http://bp2.blogger.com/_UWPsw_DgfYM/RuV6_HpPTYI/AAAAAAAAAeA/hDtn-cspb2Y/s400/PH001.jpg" alt="" id="BLOGGER_PHOTO_ID_5108624577124060546" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Появление перфокарт в основном связывается с именем Германа Холлерита, который применил их для проведения переписи населения в США в 1890 году. Тем не менее первые перфокарты были созданы и использованы существенно раньше. Жозеф Мари Жаккард использовал их для того чтобы задавать рисунок ткани для своего ткацкого станка ещё в 1804 году.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_UWPsw_DgfYM/RuWQI3pPTZI/AAAAAAAAAeI/mNyfe2UhvMg/s1600-h/jaquard.jpg"&gt;&lt;img style="cursor: pointer;" src="http://bp1.blogger.com/_UWPsw_DgfYM/RuWQI3pPTZI/AAAAAAAAAeI/mNyfe2UhvMg/s400/jaquard.jpg" alt="" id="BLOGGER_PHOTO_ID_5108647834371968402" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Перфоленты - 1846 год&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Перфолента впервые появилась в 1846 году и использовалась для того, чтобы посылать телеграммы&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_UWPsw_DgfYM/Ruec6c7Ep6I/AAAAAAAAAeY/wXmIVr4SAOI/s1600-h/Honolulu_IFSS_Teletype1964.faa.jpg"&gt;&lt;img style="cursor: pointer;" src="http://bp2.blogger.com/_UWPsw_DgfYM/Ruec6c7Ep6I/AAAAAAAAAeY/wXmIVr4SAOI/s400/Honolulu_IFSS_Teletype1964.faa.jpg" alt="" id="BLOGGER_PHOTO_ID_5109224830285424546" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Магнитная лента - 50-е годы&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;В 1952 году магнитная лента была использована для хранения, записи и считывания информации в компьютере IBM System 701.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_UWPsw_DgfYM/RuefI87Ep8I/AAAAAAAAAeo/mfiZEfwEkp8/s1600-h/PH5-24.jpg"&gt;&lt;img style="cursor: pointer;" src="http://bp0.blogger.com/_UWPsw_DgfYM/RuefI87Ep8I/AAAAAAAAAeo/mfiZEfwEkp8/s400/PH5-24.jpg" alt="" id="BLOGGER_PHOTO_ID_5109227278416783298" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span&gt;Далее магнитная лента получила огромное признание и распространённость в форме компакт-кассет.&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_UWPsw_DgfYM/RuefIs7Ep7I/AAAAAAAAAeg/zbJUDCf1mUo/s1600-h/cassette.jpg"&gt;&lt;img style="cursor: pointer;" src="http://bp3.blogger.com/_UWPsw_DgfYM/RuefIs7Ep7I/AAAAAAAAAeg/zbJUDCf1mUo/s400/cassette.jpg" alt="" id="BLOGGER_PHOTO_ID_5109227274121815986" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Магнитные диски - 50-е годы&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Магнитный диск был изобретен в компании IBM в начале 50-х годов.&lt;br /&gt;&lt;span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_UWPsw_DgfYM/Rueisc7Ep9I/AAAAAAAAAew/TBdkDh7JtYs/s1600-h/PH4-15.jpg"&gt;&lt;img style="cursor: pointer;" src="http://bp2.blogger.com/_UWPsw_DgfYM/Rueisc7Ep9I/AAAAAAAAAew/TBdkDh7JtYs/s400/PH4-15.jpg" alt="" id="BLOGGER_PHOTO_ID_5109231186837022674" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Гибкий диск - 1969 год&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;Первый, так называемый, гибкий диск был впервые представлен в 1969 году.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_UWPsw_DgfYM/Rueisc7Ep-I/AAAAAAAAAe4/Cr6Er52SFsE/s1600-h/000157751.jpg"&gt;&lt;img style="cursor: pointer;" src="http://bp2.blogger.com/_UWPsw_DgfYM/Rueisc7Ep-I/AAAAAAAAAe4/Cr6Er52SFsE/s400/000157751.jpg" alt="" id="BLOGGER_PHOTO_ID_5109231186837022690" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Жесткий диск - настоящее время&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;Вот мы и добрались до современности. &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_UWPsw_DgfYM/Rueqy87Ep_I/AAAAAAAAAfA/jle_rwIs1-c/s1600-h/storage_08.jpg"&gt;&lt;img style="cursor: pointer;" src="http://bp0.blogger.com/_UWPsw_DgfYM/Rueqy87Ep_I/AAAAAAAAAfA/jle_rwIs1-c/s400/storage_08.jpg" alt="" id="BLOGGER_PHOTO_ID_5109240094599194610" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;Жесткий диск изобретен в 1956 году, но продолжает использоваться и постоянно совершенствоваться.&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Compact Disk&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;, &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;DVD - &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;настоящее время&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_UWPsw_DgfYM/Rueqy87EqAI/AAAAAAAAAfI/JTkSIWS2PEo/s1600-h/storage_10.jpg"&gt;&lt;img style="cursor: pointer;" src="http://bp0.blogger.com/_UWPsw_DgfYM/Rueqy87EqAI/AAAAAAAAAfI/JTkSIWS2PEo/s400/storage_10.jpg" alt="" id="BLOGGER_PHOTO_ID_5109240094599194626" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_UWPsw_DgfYM/Rueqy87EqBI/AAAAAAAAAfQ/4aJkiIu9K7A/s1600-h/storage_11.jpg"&gt;&lt;img style="cursor: pointer;" src="http://bp0.blogger.com/_UWPsw_DgfYM/Rueqy87EqBI/AAAAAAAAAfQ/4aJkiIu9K7A/s400/storage_11.jpg" alt="" id="BLOGGER_PHOTO_ID_5109240094599194642" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;На самом деле CD И DVD это очень близкие технологии, отличающиеся не столько типом носителя, сколько технологией записи&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Flash - &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;настоящее время&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_UWPsw_DgfYM/RuWToXpPTaI/AAAAAAAAAeQ/s3ZkGvxioLQ/s1600-h/800px-Flash-Media-Cards.jpg"&gt;&lt;img style="cursor: pointer;" src="http://bp3.blogger.com/_UWPsw_DgfYM/RuWToXpPTaI/AAAAAAAAAeQ/s3ZkGvxioLQ/s400/800px-Flash-Media-Cards.jpg" alt="" id="BLOGGER_PHOTO_ID_5108651674072731042" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;Естественно здесь перечислены далеко не все придуманные и использованные человечеством носители информации. Часть видов носителей опущена специально (CD-R, Blue Ray, магнитные барабаны, лампы),  а часть конечно просто забыта. Во всех ошибках или неправильных описаниях, виноват конечно же я,был бы благодарен за любые дополнения и уточнения.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Благодарности&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;При подготовке текста были использованы источники:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://www.wikipedia.org/"&gt;Википедия &lt;/a&gt;(как русская, так и английская)&lt;/li&gt;&lt;li&gt;Советский Энциклопедический Словарь&lt;/li&gt;&lt;li&gt;&lt;a href="http://esoserver.narod.ru/Pagan/Dr_nov/dn_gram.htm"&gt;Берестяные грамоты и письма средневековой Руси&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://gadgets.fosfor.se/history-of-data-storage/"&gt;History of Data Storage&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.lib.umich.edu/pap/k12/materials.html"&gt;University of Michigan Papyrus Collection&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www-03.ibm.com/ibm/history/exhibits/storage/storage_photo.html"&gt;IBM Storage Photo Album&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://eakolesnikov.narod.ru/"&gt;Колесников Евгений Алексеевич. Технико-исторические заметки.&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-5952204943621967150?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/5952204943621967150/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=5952204943621967150' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/5952204943621967150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/5952204943621967150'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/09/blog-post.html' title='Носители информации: краткая история в картинках'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_UWPsw_DgfYM/RuAfC3pPTQI/AAAAAAAAAdA/4g4nbYJ9g9A/s72-c/Lascaux2.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-7786049847231920754</id><published>2007-09-12T11:37:00.000+04:00</published><updated>2007-09-12T13:54:49.564+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Интересно'/><category scheme='http://www.blogger.com/atom/ns#' term='о блоге'/><title type='text'>Несколько интересных блогов</title><content type='html'>Я, как и многие блоггеры, конечно слежу за тем, что происходит в блогосфере вообще и в области механизмов рекламирования себя, в частности.&lt;br /&gt;&lt;br /&gt;А в этом смысле, как многие вероятно уже знают, сейчас стали популярны "&lt;a href="http://davydov.blogspot.com/2007/09/5.html"&gt;Вьетнамские эксперименты&lt;/a&gt;" Дмитрия Давыдова. По следам этих экспериментов, насколько я понимаю, и родился сервис &lt;a href="http://www.blog-filter.com/"&gt;Блог-Фильтр&lt;/a&gt;, который собственно и предназначен для более или менее автоматизированного проведения "вьетнамских экспериментов.&lt;br /&gt;&lt;br /&gt;Вот соответственно и я решил поучаствовать в его работе, для чего выкладываю сюда ссылки на блоги из блог-фильтра, которые мне кажутся интересными:&lt;br /&gt;&lt;br /&gt;1) Блог &lt;a href="http://davydov.blogspot.com/"&gt;Дмитрия Давыдова &lt;/a&gt;- автора "вьетнамского эксперимента"&lt;br /&gt;2) &lt;a href="http://www.codeart.ru/"&gt;Блог успешного web-разработчика&lt;/a&gt;&lt;br /&gt;3) &lt;a href="http://zhilinsky.ru/"&gt;Блог интернет-разработчика&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-7786049847231920754?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/7786049847231920754/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=7786049847231920754' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/7786049847231920754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/7786049847231920754'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/09/blog-post_12.html' title='Несколько интересных блогов'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-2649319147727889099</id><published>2007-09-05T16:00:00.000+04:00</published><updated>2007-09-05T15:22:50.102+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='утилиты'/><title type='text'>Portable Applications: джентльменский набор</title><content type='html'>Некоторое время назад узнал про новое значение термина "portable application". Это раньше мне казалось, что portable - это такая программа, код которой можно без больших усилий переносить между операционными системами - например с Windows на Solaris. Современная трактовка, более известная непрограммистской публике, другая.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Portable_applications"&gt;Portable Applications&lt;/a&gt; - это такие приложения, которые для работы не требуют инсталляции - достаточно скопировать файлы самого приложения и, может быть, настройки.&lt;br /&gt;&lt;br /&gt;Таким образом программы можно носить с собой на flash-ке или на USB-винчестере.&lt;br /&gt;&lt;br /&gt;Уже три года у меня всегда с собой такой винчестер с вот таким вот "джентльменским набором" программ. И благодаря ему за любым компьютером, к которому можно подключить этот винчестер, я  чувствую себя как дома - все настройки, все программы как я привык.&lt;br /&gt;&lt;br /&gt;Вот что у меня всегда с собой:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Файловый менеджер&lt;/span&gt;:  &lt;a href="http://www.ghisler.com/"&gt;TotalCommander&lt;/a&gt;. В религиозной войне между приверженцами TC и Far я принадлежу лагерю любителей TC. Поэтому и сам файловый менеджер и многочисленные используемые мной плагины у меня всегда со мной. Благодаря этому его никогда не нужно перенастраивать под себя - один раз настроил и всегда готов к работе.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Instant Messaging&lt;/span&gt;:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.miranda-im.org/"&gt;Miranda&lt;/a&gt;: тут у меня и ICQ и MSN и Gtalk и AIM - все instant messengers, которыми я пользуюсь&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.skype.com/"&gt;Skype&lt;/a&gt;: пока что я не увидел толкового плагина skype для миранды, поэтому skype стоит сам по себе. Поставил, как только понял что можно заставить его быть "&lt;a href="http://lktalks.blogspot.com/2007/03/portable-skype.html"&gt;portable&lt;/a&gt;"&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Browsers&lt;/span&gt;:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://portableapps.com/apps/internet/firefox_portable"&gt;Portable Firefox&lt;/a&gt; - браузер которым я пользуюсь практически постоянно, естественно достаточно нафарширован плагинами. Очень удобно пользоваться "запоминалкой паролей" и вводить ничего не надо и на самом деле твои пароли всегда с тобой. &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://opera-usb.com/operausben.htm"&gt;Opera USB&lt;/a&gt; - запасной браузер.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;a href="http://www.winscp.com/"&gt;WinScp &lt;/a&gt;- SFTP клиент; он правда хранит настройки в registry, но я их экспортирую&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/technet/sysinternals/default.mspx"&gt;Утилиты от Mark Russinovitch&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Autoruns&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;DbgView&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;ProcessExplorer&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;ProcessMonitor&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/Aa370557.aspx"&gt;Orca &lt;/a&gt;- кто разрабатывал инсталляционные процедуры для Windows Installer, тот знает :-)&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.araxis.com/merge/"&gt;Araxis Merge&lt;/a&gt; - лучшая, на мой взгляд, Diff/Megre программа. На самом деле тоже хранит настройки в registry, но с этим можно смириться&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.editplus.com/"&gt;EditPlus &lt;/a&gt;- "легкий" текстовый редактор с подсветкой синтаксиса. Кнопка F4 у меня в TotalCommander настроена именно на него&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.ollydbg.de/"&gt;OllyDbg &lt;/a&gt;- отладчик :-)&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.thebrain.com/"&gt;TheBrain &lt;/a&gt;- программа - хранилище заметок, закладок, и так далее. Отличается тем, что хранит информацию не в стандартном "деревянном" виде, а в виде графа, так что к одной и той же заметке/закладке можно придти разными путями.&lt;/li&gt;&lt;/ol&gt;Вот таким вот образом. Очень удобно и я уже довольно давно забыл про то что настраивать программы нужно на &lt;span style="font-weight: bold;"&gt;каждом&lt;/span&gt; компьютере.&lt;br /&gt;&lt;br /&gt;&lt;strong style="color: rgb(255, 255, 255);"&gt;17458907.48319b4763d4aa2700c0fda3363b9fab.1188990934.a3319c942a5192f6e66ca91f6f9e104c&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-2649319147727889099?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/2649319147727889099/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=2649319147727889099' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/2649319147727889099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/2649319147727889099'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/09/portable-applications.html' title='Portable Applications: джентльменский набор'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-5027611333896349819</id><published>2007-08-31T14:55:00.000+04:00</published><updated>2007-08-31T14:55:28.658+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='о жизни'/><category scheme='http://www.blogger.com/atom/ns#' term='разговоры'/><category scheme='http://www.blogger.com/atom/ns#' term='образование'/><title type='text'>Архивы в сети</title><content type='html'>В Сети помимо &lt;a href="http://internet-filter-review.toptenreviews.com/internet-pornography-statistics.html"&gt;порнографии&lt;/a&gt; есть и ещё кое-что :-) В частности, выложены в сеть архивы многих выдающихся учёных.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Программистское&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.cs.utexas.edu/users/EWD/"&gt;Архив Э. Дейкстры&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://ershov.iis.nsk.su/"&gt;Архив академика А.П. Ершова&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.alanturing.net/"&gt;Архив Алана Тьюринга&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.zib.de/zuse/English_Version/index.html"&gt;Архив Конрада Цузе&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.europrog.ru/classics.html"&gt;Подборка статей классиков программирования&lt;/a&gt; (Вирт, Ершов, Хоар, Кнут, Бэкус, Наур и др.)&lt;/li&gt;&lt;li&gt;Подборка классических работ по версии ACM: &lt;a href="http://www.acm.org/classics/"&gt;http://www.acm.org/classics&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;И не только&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.mcmaster.ca/russdocs/russell.htm"&gt;Архив Бертрана Рассела&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://vernadsky.lib.ru/"&gt;Электронный архив академика Вернадского&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.newtonproject.sussex.ac.uk/"&gt;Архив работ Исаака Ньютона&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://dz-srv1.sub.uni-goettingen.de/cache/toc/D38910.html"&gt;Архив работ Карла Фридриха Гаусса&lt;/a&gt; (осторожно - латынь!)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.ras.ru/scientificactivity/functioningsystems.aspx"&gt;Архивы Российской Академии Наук&lt;/a&gt; (В.И. Вернадский, С.И. Вавилов и другие)&lt;/li&gt;&lt;li&gt;&lt;a href="http://darwin-online.org.uk/"&gt;Работы Чарльза Дарвина&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;На самом деле здорово, что подобные архивы есть в Сети. Однако, каждый раз, когда мне попадается подобный сайт я думаю о двух вещах.&lt;br /&gt;&lt;br /&gt;Во-первых о том, что к сожалению не вполне ясно насколько эти архивы точны. Уж слишком &lt;a href="http://wikiscanner.virgil.gr/"&gt;легко изменить&lt;/a&gt; информацию в Сети. Ну конечно подменой занимались всегда - совершенно неважно в какой "информационной среде" это происходит. А с другой стороны согласитесь - осуществить подмену цифровой информации существенно проще, чем приходилось служащим в &lt;a href="http://lib.ru/ORWELL/r1984.txt"&gt;министерстве правды&lt;/a&gt;.&lt;br /&gt;&lt;br /&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/21088732-5027611333896349819?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/5027611333896349819/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=5027611333896349819' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/5027611333896349819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/5027611333896349819'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/08/blog-post_31.html' title='Архивы в сети'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-9139947939291190915</id><published>2007-08-19T12:54:00.000+04:00</published><updated>2007-08-19T14:03:17.239+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='практика программирования'/><category scheme='http://www.blogger.com/atom/ns#' term='образование'/><title type='text'>Про типы</title><content type='html'>В &lt;a href="http://brainslugs.blogspot.com/"&gt;Блоге Тру Программиста&lt;/a&gt; появилась &lt;a href="http://brainslugs.blogspot.com/search/label/%D1%82%D0%B8%D0%BF%D1%8B%3A%D0%BC%D0%B8%D0%BA%D1%80%D0%BEfaq"&gt;подборка статей&lt;/a&gt;, посвящённых типам данных. Всем интересующимся рекомендуется к прочтению.&lt;br /&gt;&lt;br /&gt;Все описанное в статьях (как тех на которые я ссылался, так и первоисточниках имени Chris Smith и Luca Cardelli), написано на довольно высоком уровне. Мне же кажется, что очень важным моментом здесь является "качественное" понимание, объяснение, так сказать "на пальцах". Потому что без подобного понимания знание фактов и определений скорее является следованием "&lt;a href="http://ru.wikipedia.org/wiki/%D0%9A%D1%83%D0%BB%D1%8C%D1%82_%D0%BA%D0%B0%D1%80%D0%B3%D0%BE"&gt;культу карго&lt;/a&gt;", чем настоящим знанием.&lt;br /&gt;&lt;br /&gt;Итак, что же такое типы и зачем они нужны?&lt;br /&gt;&lt;br /&gt;Типы данных пришли в программирование из математики. В математике же, как и многие другие понятия они появились по необходимости.&lt;br /&gt;&lt;br /&gt;Как известно математики часто проводят в своих рассуждениях чёткое различие между элементами, множествами элементов, функциями и так далее. Для новой переменной, используемой в первый раз, математик определяет "тип", например: "Пусть f - это функция действительного переменного". Часто в книгах (обычно во введении и предисловии) также даются подобные определения: "В дальнейшем для множеств будут использоваться прописные буквы". Эти определения являются не более чем "помощниками" для читателя, позволяют ему быстрее ориентироваться в дальнейшем тексте.&lt;br /&gt;&lt;br /&gt;Представители логики и теории множеств предпочитали не иметь дело с переменными различных "типов". Однако, такая необходимость появилась весной 1901 года, когда, во время работы над фундаментальным трудом "&lt;i&gt;&lt;a href="http://www.hti.umich.edu/cgi/t/text/text-idx?c=umhistmath;cc=umhistmath;view=toc;idno=AAT3201.0001.001" class="external text" title="http://www.hti.umich.edu/cgi/t/text/text-idx?c=umhistmath;cc=umhistmath;view=toc;idno=AAT3201.0001.001" rel="nofollow"&gt;&lt;i&gt;Principia Mathematica&lt;/i&gt;&lt;/a&gt;&lt;/i&gt;" известный английский математик и философ &lt;a href="http://en.wikipedia.org/wiki/Bertrand_Russell"&gt;Бертран Рассел&lt;/a&gt; сформулировал так называемый &lt;span style="font-style: italic;"&gt;парадокс Рассела&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;"&lt;span style="font-style: italic;"&gt;Пусть S - это множество всех множеств, которые не содержат себя в качестве элемента. Содержит ли S само себя?&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;Любой ответ, данный на этот вопрос практически мгновенно приводит к противоречию. Данный парадокс можно также переформулировать несколькими более "жизненными" способами:&lt;br /&gt;&lt;br /&gt; &lt;ul&gt;&lt;li&gt;Деревенскому брадобрею приказали &lt;i&gt;«брить всякого, кто сам не бреется, и не брить того, кто сам бреется»&lt;/i&gt;, как он должен поступить с собой?&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;В одной стране вышел указ: &lt;i&gt;«Мэры всех городов должны жить не в своем городе, а в специальном Городе мэров»&lt;/i&gt;, где должен жить мэр Города мэров?&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Некая библиотека решила составить библиографический каталог, в который входили бы все те и только те библиографические каталоги, которые не содержат ссылок на самих себя. Должен ли такой каталог включать ссылку на себя?&lt;/li&gt;&lt;/ul&gt;Решение этого парадокса, предложенное Расселом носит название "теории типов" и заключается в том, что каждой логической или алгебраической переменной приписывается "тип", который определяет, обозначает ли она [переменная] элемент, множество, множество множеств и так далее. Далее, Рассел постулировал, что любое утверждение вида" x является элементом из y" грамматически осмысленно лишьтогда, когда x - переменная типа элемент, а y - переменная типа множество или x - переменная типа множество, а y - переменная типа множество множеств и так далее. Любое утверждение, не удовлетворяющее этому правилу считается бессмысленным - вопрос о его истинности или ложности просто не существует, оно представляет собой просто набор букв.&lt;br /&gt;&lt;br /&gt;Таким образом понятие типа делает невозможным использование в логических и математических выражениях некоторых ошибочных выражений. То есть проверку требований, накладываемых типом, можно делать на уровне формального просмотра текста, не обращаясь к значению, приписываемому символу в каждом конкретном случае.&lt;br /&gt;&lt;br /&gt;Именно это понятие типа и используется в программировании и оно действительно используется в основном для того, чтобы "предотвратить ошибки при выполнении программ".&lt;br /&gt;&lt;br /&gt;Особенностями понятия типа являются:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Тип определяет класс значений, которые могут принимать переменная или выражение&lt;/li&gt;&lt;li&gt;Каждое значение принадлежит одному и только одному типу&lt;/li&gt;&lt;li&gt;Тип значения константы, переменной или выражения можно вывести либо из контекста, либо из вида самого операнда, не обращаясь к значениям, вычисляемым во время работы программы&lt;/li&gt;&lt;li&gt;Какой операции соответствует некоторый фиксированный тип операндов и некоторый фиксированный (обычно тот же самый) тип результата. (операции, обозначаемые одним и тем же символом, но производимые над различными типами операндом считаем разными)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Для каждого типа свойства значений и элементарных операций над значениями задаются при помощи аксиом.&lt;/li&gt;&lt;/ol&gt;Таким образом знание типа, позволяет обнаруживать в программе бессмысленные конструкции и предотвращает множество ошибок.&lt;br /&gt;&lt;br /&gt;Конечно, данный текст представляет собой лишь краткое введение в системы типов, и не охватывает всего многообразия и сложности темы, но мне кажется что подобное введение необходимо для понимания более сложных концепций.&lt;br /&gt;&lt;br /&gt;Использованные материалы:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://plato.stanford.edu/entries/russell-paradox/"&gt;Russel's Paradox&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://ru.wikipedia.org/wiki/%D0%9F%D0%B0%D1%80%D0%B0%D0%B4%D0%BE%D0%BA%D1%81_%D0%A0%D0%B0%D1%81%D1%81%D0%B5%D0%BB%D0%B0"&gt;Парадокс Рассела - Википедия&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://lucacardelli.name/Papers/TypeSystems.pdf"&gt;Luca Cardelli. Type systems.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;К. Хоор "О структурной организации данных" из книги У. Дал, Э. Дейкстра, К. Хоор "Структурное программирование", Москва, Мир, 1975&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-9139947939291190915?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/9139947939291190915/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=9139947939291190915' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/9139947939291190915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/9139947939291190915'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/08/blog-post_19.html' title='Про типы'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-1131069500056447904</id><published>2007-08-04T13:03:00.000+04:00</published><updated>2007-08-04T14:25:59.431+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Управление проектами'/><category scheme='http://www.blogger.com/atom/ns#' term='практика программирования'/><title type='text'>Реальное рабочее время</title><content type='html'>Меня продолжает сильно интересовать проблема оценки сроков проекта. В этой связи я наконец добрался до книги Steve McConnel &lt;a href="http://www.amazon.com/gp/product/0735605351?ie=UTF8&amp;tag=lktalks-20&amp;amp;linkCode=as2&amp;camp=1789&amp;amp;creative=9325&amp;creativeASIN=0735605351"&gt;Software Estimation: Demystifying the Black Art&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=lktalks-20&amp;amp;l=as2&amp;o=1&amp;amp;a=0735605351" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1" /&gt;, которая в русском переводе имеет совершенно удивительное название "&lt;a href="http://www.bolero.ru/product-43246173.html?terms=%F1%EA%EE%EB%FC%EA%EE%20%F1%F2%EE%E8%F2%20%EF%F0%EE%E3%F0%E0%EC%EC%ED%FB%E9%20%EF%F0%EE%E5%EA%F2"&gt;Сколько стоит программный проект&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;br /&gt;&lt;br /&gt;В связи с этим какое-то время назад я организовал на RSDN &lt;a href="http://www.rsdn.ru/poll/1846.aspx"&gt;голосование&lt;/a&gt; поэтому поводу. Вот вопрос, который я задавал и результаты голосования:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_UWPsw_DgfYM/RrRPCXjT1AI/AAAAAAAAAbs/ZrzKfzb_Nkg/s1600-h/poll.JPG"&gt;&lt;img style="cursor: pointer;" src="http://bp2.blogger.com/_UWPsw_DgfYM/RrRPCXjT1AI/AAAAAAAAAbs/ZrzKfzb_Nkg/s400/poll.JPG" alt="" id="BLOGGER_PHOTO_ID_5094783980563321858" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Вот такие результаты. Думаю, что при планировании очень стоит помнить про то, что не все время, проведённое на работе, действительно уделяется работе.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Замечания&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Там же, на RSDN, к данному опросу было дано несколько замечаний, на которые я думаю важно ответить. Я здесь попробую кратко отразить замечание и дать на него комментарий.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;"&lt;a href="http://www.rsdn.ru/forum/message/2555934.1.aspx"&gt;Подобные подсчеты бессмысленны&lt;/a&gt;". Бизнес сторона программирования требует выдачи сроков. Более того, часто невозможно даже давать сроки по Steve McConnel - при помощи диапазонов. И человеку, который должен составить оценку волей или неволей приходится выдавать прогноз. И лучше если у него есть понимание того, что выданная оценка скажем в 5 часов рабочего времени - это в реальности два рабочих дня.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;"&lt;a href="http://www.rsdn.ru/forum/message/2556488.1.aspx"&gt;Настоящий программист может думать о работе и дома и во время отдыха, поэтому непонятно что считаем&lt;/a&gt;". Действительно, это так. И действительно это не особенно то и подсчитаешь. Программа подсчёта рабочего времени может подсчитать сколько времени у меня на экране была открыта Visual Studio, но вряд ли догадается, что я в  это время думал про то, как здорово понырял в красном море. Тут мой ответ таков - лучше хоть какие-то, пусть даже заниженные оценки, чем никаких.&lt;/li&gt;&lt;/ol&gt;На самом деле, мне кажется вышеуказанные замечания вызваны некоторой боязнью, что данные о том сколько человек "реально" работает могут быть использованы для оценки работы человека и последующих выводов с точки зрения зарплат, премий, повышений и тому подобного. Ничего такого я не имел ввиду и считаю, что подобное использование таких данных только повредит проекту. Эти данные нужны управленцу исключительно для того, чтобы точнее планировать работу и выдавать более точные сроки, но ни в коем случае для того, чтобы выделять "лучших" и "худших".&lt;br /&gt;&lt;br /&gt;&lt;strong style="color: rgb(255, 255, 255);"&gt;17458907.195e50a0db7e7428ccd693c67f635406.1186223110.9626a2d31cf793845f340f27c23ea8b8&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-1131069500056447904?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/1131069500056447904/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=1131069500056447904' title='Комментарии: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/1131069500056447904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/1131069500056447904'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/08/blog-post_04.html' title='Реальное рабочее время'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_UWPsw_DgfYM/RrRPCXjT1AI/AAAAAAAAAbs/ZrzKfzb_Nkg/s72-c/poll.JPG' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-2903846510079063972</id><published>2007-08-03T09:14:00.000+04:00</published><updated>2007-08-06T13:08:51.677+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Управление проектами'/><category scheme='http://www.blogger.com/atom/ns#' term='практика программирования'/><title type='text'>К вопросу о "стандартах кодирования"</title><content type='html'>На  форуме Artima Developer Spotlight появилась тема: "&lt;a href="http://www.artima.com/forums/flat.jsp?forum=106&amp;thread=210268&amp;amp;start=0&amp;msRange=15"&gt;&lt;span class="ts"&gt;What's the Most Effective Code Style Policy?&lt;/span&gt;&lt;/a&gt;", посвящённая обсуждения "стандартов кодирования".&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Немного о терминологии&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;На самом деле даже сам термин "coding policy" или "стандарты кодирования" многозначен. Разные авторы или компании вкладывают в него разные смыслы, в зависимости от которых область применения стандартов может быть существенно сужена или наоборот расширена.&lt;br /&gt;&lt;br /&gt;Рассмотрим возможные смыслы термина:&lt;br /&gt;&lt;ol&gt;&lt;li style="font-style: italic;"&gt;Стиль и синтаксис форматирования исходного кода программы&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Расстановка скобок&lt;/li&gt;&lt;li&gt;Использование пробелов и пустых строк&lt;/li&gt;&lt;li&gt;Правила написания выражений (for, if, while и так далее)&lt;/li&gt;&lt;li&gt;Правила именования переменных&lt;/li&gt;&lt;li&gt;Правила объявления переменных&lt;/li&gt;&lt;li&gt;Правила написания комментариев&lt;/li&gt;&lt;li&gt;Правила использование отступов&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Иногда к содержанию первого пункта могут быть добавлены элементы "&lt;span style="font-style: italic;"&gt;управления конфигурацией&lt;/span&gt;"&lt;br /&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;правила именования файлов&lt;/li&gt;&lt;li&gt;структура файлов проекта&lt;/li&gt;&lt;li&gt;правила использования системы контроля версий&lt;/li&gt;&lt;li&gt;стандартизация используемых средств разработки&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Иногда к стандартам кодирования могут также быть добавлены "best practices" того, как надо писать программы, в зависимости от определённого языка программирования, среды разработки, компании или специфики разрабатываемого продукта (типичным примером может служить требование "всегда создавать в классе виртуальный деструктор", для C++)&lt;/li&gt;&lt;/ol&gt;Конечно же, "стандарты кодирования" могут включать в себя содержимое и всех пунктов сразу, и какую-то их смесь, а также что-то что здесь не упомянуто.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Мой взгляд&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Здесь я хочу ответить на вопрос, заданный в теме на форму Artima - "&lt;a href="http://www.artima.com/forums/flat.jsp?forum=106&amp;thread=210268&amp;amp;start=0&amp;msRange=15"&gt;&lt;span class="ts"&gt;What's the Most Effective Code Style Policy?&lt;/span&gt;&lt;/a&gt;".&lt;br /&gt;&lt;br /&gt;Обращаю внимание, что все дальнейшие рассуждения касаются "стандартов кодирования" в смысле (1) и оставляют аспекты (2) и (3) без внимания.&lt;br /&gt;&lt;br /&gt;Основной необходимостью существования "стандартов кодирования" обычно называют (некоторые части процитированы по &lt;a href="http://java.sun.com/docs/codeconv/html/CodeConventions.doc.html#16712"&gt;Code Conventions for Java Programming Language&lt;/a&gt;, они отмечены '*'):&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Необходимость работ над одним и тем же исходным файлом нескольким программистам&lt;/li&gt;&lt;li&gt;Улучшение "понятности" исходного кода, что позволяет программистам более полно и быстро понять новый для них код (*)&lt;/li&gt;&lt;li&gt;Необходимость сопровождения (исправления ошибок, внесения небольших исправлений) кода и тот факт что в большинстве случаев споровождение осуществляется не тем же человеком, который является исходным автором кода. (*)&lt;/li&gt;&lt;li&gt;Программист, работающий над исходным кодом, который написан не в "любимом" или "привычном" стиле будет тратить на его исправление больше времени (аргумент &lt;a href="http://www.artima.com/profile/32"&gt;Bill Venners&lt;/a&gt; из исходного сообщения в форуме).&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;Моё мнение состоит в том, что усилия на создание и поддержание "стандартов кодирования" в большинстве случаев существенно выше чем затраты на "понимание" или поддержку кода, написанного "в другом стиле". Я конечно не имею ввиду примеры из "&lt;a href="http://www.ioccc.org/"&gt;Obfuscated C Code Contest&lt;/a&gt;" :-) В большинстве случаев, код написанный вменяемым программистом понятен другому вменяемому программисту, вне зависимости от того, как именно расставлены в нем фигурные скобки или именованы переменные. Единственной неприятностью могут быть различия в настройках отступов и табуляций/пробелов, при просмотре кода различными текстовыми редакторами, просмотрщиками и программами сравнения.&lt;br /&gt;&lt;br /&gt;Поэтому в моей голове всегда существовал такой "стандарт кодирования":&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Единообразная настройка длины табуляции (tab length)&lt;/li&gt;&lt;li&gt;Использование пробелов вместо табуляций&lt;/li&gt;&lt;li&gt;При правке кода пользоваться тем стилем, который используется в этом коде&lt;/li&gt;&lt;/ol&gt;Вот собственно и все. А если Вы или Ваш коллега пишете код в стиле "&lt;a href="http://www.ioccc.org/"&gt;Obfuscated C Code Contest&lt;/a&gt;", то подумайте может проблема должна быть решена не при помощи "стандартов кодирования", а как-нибудь по-другому?&lt;br /&gt;&lt;br /&gt;&lt;strong style="color: rgb(255, 255, 255);"&gt;17458907.195e50a0db7e7428ccd693c67f635406.1186161181.ba176d26a55281a16d8fd8b02a541ce8&lt;/strong&gt;&lt;br /&gt;&lt;strong style="color: rgb(255, 255, 255);"&gt;17458907.48319b4763d4aa2700c0fda3363b9fab.1186391267.b8da257c7d1fa1c830df3b9f73d6fb72&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-2903846510079063972?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/2903846510079063972/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=2903846510079063972' title='Комментарии: 4'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/2903846510079063972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/2903846510079063972'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/08/blog-post.html' title='К вопросу о &quot;стандартах кодирования&quot;'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-6483452487597360616</id><published>2007-07-31T09:22:00.000+04:00</published><updated>2007-08-03T17:41:06.524+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='о жизни'/><title type='text'>"Вера" в науку</title><content type='html'>Часто получается так, что я выступаю в роли этакого неверующего циника, который отрицает существование биополя, не верит в потрясающие и магические свойства пирамид, считает гороскопы обманом доверчивых людей, не верит в существование бога (богов) и так далее. И не менее часто подобные разговоры заканчиваются обсуждением вопроса о том, не является ли наука одним из видов &lt;b&gt;&lt;i&gt;веры&lt;/i&gt;&lt;/b&gt;. Мне говорят - но ведь ты &lt;b&gt;&lt;i&gt;веришь в науку&lt;/i&gt;&lt;/b&gt;, также как иной человек верит в бога.  &lt;p class="MsoNormal" style="text-indent: 35.4pt;"&gt;Именно этот вопрос и хочется обсудить. Является ли наука своего рода «верой»? Я осознаю, что затрагиваю в этом небольшом обсуждении такие вопросы, которыми занимались и продолжают заниматься великие мыслители и ни в коей мере не пытаюсь себя к ним причислить, но тем не менее мне кажется что многие их мысли так и не нашли своего читателя, во многом из-за не совсем внятного, перегруженного деталями изложения.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 35.4pt;"&gt;Хочу также заранее попросить прощения у читателей за дилетантизм. Я ни в коем случае не причисляю себя к учёным, а также не являюсь специалистом в вопросах религии. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;Введение&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 35.4pt;"&gt;Нет никаких сомнений в том, что философия, наука и религия, в их современном виде произошли от общего «корня». Когда-то все они представляли собой некий сплав, насыщенный идеями, из которого впоследствии выросли имеющиеся различные направления. &lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 35.4pt;"&gt;Однако, в настоящее время между наукой и различными религиозно-философскими построениями существует серьёзная, фундаментальная разница, не позволяющая смешивать науку с философией или религией (как это было когда-то). Хочу заметить, что я при этом совершенно не утверждаю, что наука находится в каком-то смысле "выше" или "ниже" философско-религиозных построений. Просто это совершенно разные вещи.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;О научном мировоззрении&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;(заголовок взят из заголовка статьи В.И Вернадского «&lt;a href="http://elibrary.ru/books/vernadsky/1.1.1.htm"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;О научном мировоззрении&lt;/span&gt;&lt;/a&gt;», опубликованной в журнале «Вопросы философии и психологии», 1902)&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;                &lt;/span&gt;Научные и религиозные мыслители отличаются друг от друга прежде всего мировоззрением. Именно поэтому сравнение или практически любые споры на темы «Есть бог или нет» между двумя достаточно разумными и эрудированными собеседниками никогда не могут закончится победой одного из них. У них просто разный взгляд на мир, разная картина мира, и у каждого из них она &lt;b style=""&gt;&lt;i style=""&gt;непротиворечива&lt;/i&gt;&lt;/b&gt;. Именно поэтому спор не может привести к чьей-либо победе, они оба правы. Поэтому же являются достаточно бессмысленными споры представителей религиозных конфессий или философских течений между собой – при условии непротиворечивости их построений (или неспособности спорщиков выявить противоречия), каждый останется при своём мнении и будет прав.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;                &lt;/span&gt;Для понимания отличий между наукой и религией необходимо представлять себе картину мира учёных, научное мировоззрение.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;                &lt;/span&gt;Как мне кажется (как я уже говорил, я не учёный и поэтому все здесь изложенное конечно же является спекуляцией), научное мировоззрение основано на нескольких «столпах»:&lt;/p&gt;  &lt;ol style="margin-top: 0in;" start="1" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;Здоровый консерватизм&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Стремление к поискам      истины, к открытию нового, к познанию окружающего мира&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Необходимость      достоверности наблюдений&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Научный подход&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Непрерывность поиска      истины&lt;/li&gt;&lt;/ol&gt;  &lt;p class="MsoNormal" style="text-indent: 35.4pt;"&gt;&lt;b style=""&gt;Здоровый консерватизм&lt;/b&gt; заставляет ученого тщательно проверять и перепроверять полученные результаты, стараться всегда увязать новые результаты с уже имеющимися фактами, найти не вкралась ли в рассуждения и вычисления ошибка.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 35.4pt;"&gt;&lt;b style=""&gt;Стремление к поискам истины&lt;/b&gt;, представляет из себя обратную сторону консерватизма. Это собственно и есть мерило «здоровья» консерватизма. Каждое подтверждённое расхождение с господствующими в настоящий момент представлениями – это вызов учёным, «звоночек», прислушавшись к которому, необходимо расширять существующие теории или даже полностью отметать их и создавать новые. Абсолютных истин нет, каждый раз наука создаёт &lt;b style=""&gt;&lt;i style=""&gt;модели, все более приближающиеся к реальности&lt;/i&gt;&lt;/b&gt;&lt;i style=""&gt;, &lt;/i&gt;на основе того набора фактических данных, которыми она к данному времени располагает.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 35.4pt;"&gt;Как указано в предыдущем разделе, мерилом «правильности» наших теорий и гипотез, близости их к истине является совпадение теоретических результатов с практикой, с экспериментом. Без этого гипотезы не могут приняты, а теории будут отвергнуты. При этом чрезвычайно важным является вопрос о &lt;b style=""&gt;достоверности наблюдений&lt;/b&gt;, то есть о степени истинности наблюдаемого, отсутствия в наблюдении ошибок, подтасовок, неверных интерпретаций, посторонних эффектов.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 35.4pt;"&gt;&lt;b style=""&gt;Научный подход&lt;/b&gt; представляет из себя способ исследования и получения новых знаний и обычно выглядит так:&lt;/p&gt;  &lt;ol style="margin-top: 0in;" start="1" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;Наблюдение проблемы&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Предложение возможного      объяснения проблемы – гипотезы&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Предсказание возможных      последствий, в том случае если гипотеза верна&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Проверка предсказания&lt;/li&gt;&lt;/ol&gt;  &lt;p class="MsoNormal" style="text-indent: 35.4pt;"&gt;Необходимо также понимать разницу между гипотезами и теориями и «господствующими в настоящий момент в науке представлениями». Наличие огромного набора экспериментальных фактов вынуждает добросовестных учёных, создающих новые теории и гипотезы проверять практически все их. Это необходимо, либо для выяснения ложности фактов, либо для отбрасывания теории или гипотезы, как противоречащей наблюдениям. В каждый конкрентный момент в науке существует свод «господствующих представлений». Они не обязательно являются истинными. Помните, что наука – это набор последовательных моделей, которые должны приближаться к истине все больше и больше. Однако проверить то, приближается модель к истине или нет можно только лишь экспериментом. В разные времена господствовали разные научные представления, которые заменялись новыми с появлением новых экспериментальных фактов. И с каждым годом фактов становится все больше и больше! Поэтому старые, устаревшие или применимые только в частных случаях теории отбрасываются (или устанавливаются границы из применения, как с механикой Ньютона) и заменяются новыми, включающими их в себя, как частные случаи. В этом и состоит &lt;b style=""&gt;непрерывность поиска истины&lt;/b&gt;.Мы не можем быть уверены в том, что господствующие в данный момент научные преставления истинны и навсегда останутся таковыми. Мы можем лишь быть уверены в том, что они согласуются с теми набором достоверных экспериментальных фактов, которые накопило человечество (без сомнения может быть так что не все имеющиеся факты достоверны или в теориях есть ошибки).&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;Коренное отличие науки от религии и философии&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=""&gt;                &lt;/span&gt;Теперь, когда разобран вопрос о том, что представляет из себя научное мировоззрение можно ответить на основной вопрос статьи – является ли наука предметом веры?&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Данный вопрос был затронут известным учёным, В.И. Вернадским в его работе "&lt;a href="http://vernadsky.lib.ru/e-texts/archive/thought.html"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Научная мысль, как планетное явление&lt;/span&gt;&lt;/a&gt;" (написана в конце 1930-х годов).&lt;br /&gt;&lt;br /&gt;В.И. Вернадский пишет:&lt;br /&gt;&lt;br /&gt;"&lt;span style="color: rgb(95, 73, 122);"&gt;Есть одно коренное явление, которое определяет научную мысль и отличает научные результаты и научные заключения ясно и просто от утверждений философии и религии - это &lt;i&gt;общеобязательность и бесспорность правильно сделанных научных выводов, научных утверждений, понятий, заключений&lt;/i&gt;. Научные, логически правильно сделанные действия имеют такую силу только потому, что [...] &lt;i&gt;в ней [в науке] существует область фактов и обобщений&lt;/i&gt;, научных, эмпирически установленных фактов и эмпирически полученных обобщений, которые по своей сути не могут быть реально оспариваемы. Такие факты и обобщения, если и создаются временами философией, религией, жизненным опытом [...] не могут быть ими как таковые доказаны. [...] Общеобязательные научные истины не являются самоочевидными и должны во всех случаях непрерывно проверяться сравнением и реальностью. Эта реальная проверка составляет основную ежедневную работу учёного.&lt;br /&gt;[...]&lt;br /&gt;Как религий, так и философий, поэтических и художественных выражений, здравых смыслов, традиций, этических норм очень много, может быть [...] столько же, сколько отдельных личностей. Но наука &lt;i&gt;одна&lt;/i&gt; и едина, ибо [...] они все связаны в единое научное построение и не могут логически противоречить одна другой.&lt;/span&gt;"&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;                &lt;/span&gt;Конечно, современная наука пропитана религиозными, политическими и философскими идеями, однако, как считал В.И. Вернадский &lt;span style="color: rgb(95, 73, 122);"&gt;«[…] есть часть науки общеобязательная и научно-истинная. Этим она резко отличается от всякого другого знания и духовного проявления человечества – не зависит ни от эпохи, ни от общественного и государственного строя, ни от народности и языка, ни от индивидуальных различий.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="color: rgb(95, 73, 122);"&gt;Это:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol style="margin-top: 0in;" start="1" type="1"&gt;&lt;li class="MsoNormal" style="color: rgb(95, 73, 122);"&gt;Математические науки во всем их объёме&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: rgb(95, 73, 122);"&gt;Логические науки почти всецело&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="color: rgb(95, 73, 122);"&gt;Научные факты в их системе,      классификации и сделанные из них эмпирические обобщения&lt;/span&gt;»&lt;/li&gt;&lt;/ol&gt;  &lt;p class="MsoNormal" style="text-indent: 0.25in;"&gt;Хотелось бы отметить, что объяснение основных положений науки, научного мировоззрения, научного подхода требует на мой взгляд специального разъяснения, которое я в меру сил попытался дать в этой статье. Без такого разъяснения наука остаётся для далёких от неё людей слепой системой верований, которой она ни в коем случае не является.&lt;/p&gt;&lt;p class="MsoNormal" style="text-indent: 0.25in; color: rgb(255, 255, 255);"&gt;&lt;strong&gt;17458907.195e50a0db7e7428ccd693c67f635406.1186148117.6d2ce9534a9cad439ee9664a6e39399e&lt;/strong&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-6483452487597360616?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/6483452487597360616/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=6483452487597360616' title='Комментарии: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/6483452487597360616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/6483452487597360616'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/07/blog-post_31.html' title='&quot;Вера&quot; в науку'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-2832224995460350485</id><published>2007-07-28T19:45:00.000+04:00</published><updated>2007-07-28T20:28:51.682+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='о жизни'/><title type='text'>В защиту науки (несколько книг)</title><content type='html'>Какое-то время назад я &lt;a href="http://lktalks.blogspot.com/2007/04/blog-post.html"&gt;писал здесь&lt;/a&gt; об изданном академией наук бюллетене под названием "&lt;a href="http://www.ras.ru/digest/fdigestlist/bulletin.aspx"&gt;В защиту науки&lt;/a&gt;". Писал в основном о том, что по моему скромному мнению, лучшей защитой науки является не разоблачение лженаучных построений, а популяризация той самой настоящей науки. Мне кажется что только подробное знакомство с предметом может заставить людей прекратить верить во всякие небылицы.&lt;br /&gt;&lt;br /&gt;Так вот, современные научно-популярные книги, которые читать не менее интересно чем труды, например, Носовского и Фоменко, существуют (тиражи, правда сказать, невелики, 2500 - 3000 экземпляров).&lt;br /&gt;&lt;br /&gt;Вот те из них, что мне удалось прочитать:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://elementy.ru/lib/430388"&gt;Билл Брайсон. "Краткая история почти всего на свете"&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://vek2.nm.ru/L2/vishnyacky.htm"&gt;Л.Б. Вишняцкий. "История одной случайности или происхождение человека"&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://vek2.nm.ru/L2/astrolog.htm"&gt;Владимир Сурдин "Астрология и наука"&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://vek2.nm.ru/L2/NLO.htm"&gt;Владимир Сурдин "НЛО: записки астронома"&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Названия говорят сами за себя, но если вы любите читать рецензии, то на две последние книги (вернее мини-книги) есть отличная &lt;a href="http://elementy.ru/news/430498"&gt;рецензия&lt;/a&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/21088732-2832224995460350485?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/2832224995460350485/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=2832224995460350485' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/2832224995460350485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/2832224995460350485'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/07/blog-post_28.html' title='В защиту науки (несколько книг)'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-3086784315886192474</id><published>2007-07-14T12:40:00.000+04:00</published><updated>2007-07-14T12:41:57.265+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='о жизни'/><title type='text'>Аэропорт</title><content type='html'>Я на прошлой неделе дважды посетил аэропорт "Домодедово" ... Много думал.&lt;br /&gt;&lt;br /&gt;На &lt;a href="http://www.domodedovo.ru/ru/main/air_today/"&gt;веб-странице&lt;/a&gt; посвящённой аэропорту сказано:&lt;br /&gt;&lt;br /&gt;"&lt;span style="font-style: italic;"&gt;Новый реконструированный &lt;/span&gt;&lt;a style="font-style: italic;" href="http://www.domodedovo.ru/ru/main/air_today/airport/"&gt;аэровокзальный комплекс Домодедово&lt;/a&gt;&lt;span style="font-style: italic;"&gt; – современный пассажирский терминал по обслуживанию пассажиров, предлагающий клиентам услуги европейского класса.&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;Вот &lt;a href="http://vmoskvy.ru/pl_images/map/262.jpg"&gt;план аэропорта&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://vmoskvy.ru/pl_images/map/262.jpg"&gt;&lt;img style="cursor: pointer; width: 428px; height: 247px;" src="http://vmoskvy.ru/pl_images/map/262.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Можно на него посмотреть и со спутника &lt;a href="http://maps.google.com/maps?f=q&amp;hl=en&amp;amp;amp;amp;geocode=&amp;q=%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0+%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F&amp;amp;sll=40.730151,-74.038393&amp;sspn=0.024196,0.033603&amp;amp;amp;amp;ie=UTF8&amp;ll=55.414071,37.899485&amp;amp;spn=0.004531,0.01192&amp;t=h&amp;amp;amp;amp;z=17&amp;iwloc=addr&amp;amp;om=1"&gt;вот тут&lt;/a&gt; (только хочу обратить внимание на то, что спутниковое фото на момент написания поста старое - сейчас здание стало ещё длиннее).&lt;br /&gt;&lt;br /&gt;На плане можно видеть, что аэропорт представляет собой вытянутое в длину&lt;br /&gt;здание. Автостоянка находится слева от здания. Такое расположение &lt;span style="font-weight: bold;"&gt;удивительно неудобно&lt;/span&gt;!!! Порой для того чтобы дойти до нужного места аэропорта нужно идти наверное с километр!!!&lt;br /&gt;&lt;br /&gt;И так уж совпало что недавно я перечитывал роман А. Хейли "&lt;a href="http://en.wikipedia.org/wiki/Airport_%28novel%29"&gt;Аэропорт&lt;/a&gt;". Вот небольшая цитата оттуда (с некоторыми сокращениями):&lt;br /&gt;&lt;p class="MsoNormal"&gt;"&lt;span style="font-style: italic;font-size:100%;" &gt;Как вы считаете, мистер Бейкерсфелд, это верно, что через три‑четыре года в авиации будет сплошной хаос?&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-style: italic;" class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;— Хаос — вещь относительная, — сказал Мел ... В жизни, мы сталкиваемся с ним в самых разных проявлениях и так или иначе приспосабливаемся.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-style: italic;" class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;— Так было всегда, — в авиации прогресс в воздухе постоянно опережал прогресс на земле. Временами нам казалось, что мы нагоним и пойдём в ногу — в середине шестидесятых годов мы почти достигли этого. И все же так не получилось. Видимо, самое большее, чего мы можем добиться, — это не слишком плестись в хвосте.&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-style: italic;" class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;Но репортёр не унимался.&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-style: italic;" class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;— Что же мы должны предпринять в отношении аэропортов? Что мы можем предпринять?&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-style: italic;" class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;— Прежде всего мы должны научиться мыслить шире, давать волю воображению. Нужно освободиться от железнодорожного способа мышления.&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-style: italic;" class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;— Вы считаете, что мы от него еще не освободились?&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-style: italic;" class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;Мел кивнул.&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-style: italic;" class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;— К несчастью, мы сталкиваемся с ним довольно часто. Все наши старые аэропорты представляют собой просто имитацию железнодорожных вокзалов, потому что их строителям приходилось опираться на опыт своих предшественников. Потом это стало уже шаблоном. &lt;span style="font-weight: bold;"&gt;Вот почему и в наши дни так много «вытянутых» аэропортов, где здание аэровокзала тянется до бесконечности и пассажиры вынуждены вышагивать не одну милю.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-style: italic;" class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;— А их не перестраивают? — спросил Томлинсон.&lt;/span&gt;&lt;/p&gt;  &lt;span style=""&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: italic;"&gt;— Только кое‑где, и то очень медленно. — Несмотря на серьезность момента, разговор этот задел Мела за живое. — Кое‑где строятся циркообразные аэропорты — вроде пирога с начинкой, с автомобильными стоянками, расположенными внутри самого аэровокзала, а не за его стенами; там пешее передвижение пассажиров по аэровокзалу сокращено до минимума с помощью скоростных горизонтальных эскалаторов, а кроме того, самолеты подъезжают к пассажирам, а не наоборот. Это говорит о том, что аэропорт начинает завоевывать себе место как самостоятельная единица, а не просто приставка к чему‑то.&lt;/span&gt;"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;А. Хейли написал роман "&lt;a href="http://en.wikipedia.org/wiki/Airport_%28novel%29"&gt;Аэропорт&lt;/a&gt;" в 1968 году.&lt;br /&gt;&lt;br /&gt;Для сравнения интересно посмотреть спутниковые фотографии скажем &lt;a href="http://maps.google.com/maps?f=q&amp;hl=en&amp;amp;amp;amp;amp;geocode=&amp;q=%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0+%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F&amp;amp;sll=40.730151,-74.038393&amp;sspn=0.024196,0.033603&amp;amp;amp;amp;amp;ie=UTF8&amp;ll=55.966119,37.415786&amp;amp;spn=0.004317,0.008401&amp;t=k&amp;amp;z=17&amp;om=1"&gt;Шереметьево 2&lt;/a&gt; или &lt;a href="http://maps.google.com/?ie=UTF8&amp;amp;ll=40.644813,-73.785145&amp;spn=0.011706,0.016801&amp;amp;amp;amp;amp;t=k&amp;z=16&amp;amp;om=1"&gt;аэропорта JFK в Нью-Йорке&lt;/a&gt;. Они устроены точно так, как описано в романе почти сорокалетней давности (JFK - состоит из нескольких терминалов, каждый из которых похож на Шереметьево 2). А вот "&lt;span style="font-style: italic;"&gt;современный пассажирский терминал по обслуживанию пассажиров, предлагающий клиентам услуги европейского класса&lt;/span&gt;" как то не очень. Более того как  я вижу его ещё и расширяют. В стороны.&lt;br /&gt;&lt;br /&gt;Я конечно понимаю, Домодедово старый аэропорт и строился в те времена, когда вытянутая форма была предпочтительной. НО, стоянка тогда была не сбоку от аэропорта, а ПЕРЕД ним (что кстати видно на старой спутниковой фотографии, ссылку на которую я привел - на ней ещё есть ДВЕ стоянки - ПЕРЕД зданием и сбоку; сейчас стоянки перед зданием не осталось). И кроме того тогда аэропорт был существенно короче чем сейчас.&lt;br /&gt;&lt;br /&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/21088732-3086784315886192474?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/3086784315886192474/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=3086784315886192474' title='Комментарии: 5'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/3086784315886192474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/3086784315886192474'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/07/blog-post_14.html' title='Аэропорт'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-6784813593730662721</id><published>2007-07-07T16:35:00.000+04:00</published><updated>2007-07-07T16:36:18.299+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Управление проектами'/><title type='text'>О совещаниях ...</title><content type='html'>Почему-то последнее время вокруг меня часто всплывает тема о совещаниях. И люди говорят, и на RSDN &lt;a href="http://www.rsdn.ru/forum/message/2573470.1.aspx"&gt;тема появилась&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;br /&gt;&lt;ol&gt;&lt;li&gt;Совещания, которые необходимо провести, поскольку что-то произошло.&lt;br /&gt;&lt;br /&gt;Скажем выяснилось, что по какой-то причине код в проекте раздублирован, то есть нарушен &lt;a href="http://lktalks.blogspot.com/2007/06/dry.html"&gt;принцип DRY&lt;/a&gt;. В этом случае необходимо конечно устроить небольшое совещание с участием тех, кто этот принцип нарушил и договориться о том, как решить проблему&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Совещания, которые необходимы для определения 'общего направления', создания 'единого видения', 'одинакового понимания' и тому подобного&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;"Регулярные" совещания. Еженедельные "status meetings" и так далее&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Важность и необходимость этих совещаний распределена на мой взгляд в порядке перечисления. То есть, самыми важными и действительно необходимыми являются совещания типа (1), менее нужны совещания типа (2) и самыми ненужными являются совещания типа (3).&lt;br /&gt;&lt;br /&gt;Удивительным фактом при этом является то, что количество совещаний (по моему опыту) распределяется совершенно противоположным образом. То есть регулярные совещание проводятся очень часто (регулярно :-) ), совещания второго типа ("объединяющие") время от времени, а вот совещания первого типа (срочные) частенько "задвигаются" и объединяются с совещаниями типов (2) и (3).&lt;br /&gt;&lt;br /&gt;И это ужасно! Ведь на самом деле совещания типа (1) - это и есть моменты, когда совещания действительно нужны. Что-то произошло, а следовательно необходимо срочно предпринять меры. Они происходят в тот самый момент, когда обнаружилась проблема и когда свежи в головах её причины, а значит легче всего найти решение.&lt;br /&gt;&lt;br /&gt;Совещания типа (2) - в общем тоже нужны. Иногда они на самом деле являются совещаниями типа (1), просто хочется пригласить на них побольше народу. Они предназначены для обсуждения и критики "архитектурных" решений, иногда они нужны для поднятия "боевого духа" или для того, чтобы похвалить людей за хорошо сделанную работу.&lt;br /&gt;&lt;br /&gt;Что же до третьего типа ...  Мне кажется, что совещания типа (3) - &lt;a href="http://www.acm.org/classics/oct95/"&gt;considered harmful&lt;/a&gt; :-).&lt;br /&gt;По нескольким причинам:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Если вопросы, которые поднимаются на этих совещаниях, не были ранее подняты на совещаниях двух других типов, то значит они были отложены, ими просто не захотели заниматься, а чего в этом хорошего?&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Реальный статус проекта начальник может узнать непосредственно у подчинённого ("в рабочем порядке"), для этого нет необходимости созывать всех и заставлять каждого слушать ответы остальных и ждать своей очереди. (Хочу обратить внимание, что если у начальника слишком много подчинённых, то это само по себе является проблемой. Оптимальное количество подчинённых, по всей видимости, является равным оптимальному количеству сущностей, которыми может одновременно оперировать человек, то есть 7+-2 &lt;a href="http://www.musanim.com/miller1956/"&gt;G. Miller. Magical Number Seven&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Если начальник узнает состояние дел у своих подчинённых раз в неделю, а остальное время находится в неведении  ... то он плохой начальник&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Очень часто подобные совещания носят ритуальный характер (то есть совещания в которых важна сама форма поклонения боссу). Если подобные совещания нужны начальнику для поддержания собственной значимости, то не совсем понятно стоит ли это того, чтобы тратить столько времени подчинённых (взято из  &lt;a href="http://www.amazon.com/gp/product/0932633439?ie=UTF8&amp;tag=lktalks-20&amp;amp;linkCode=as2&amp;camp=1789&amp;amp;creative=9325&amp;creativeASIN=0932633439"&gt;Tom DeMarco, Timothy Lister Peopleware: Productive Projects and Teams&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=lktalks-20&amp;amp;l=as2&amp;o=1&amp;amp;a=0932633439" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1" /&gt;)&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Если ритуальные совещания нужны для поддержания в подчинённых "желания работать", то не значит ли это что какие-то другие &lt;a href="http://lktalks.blogspot.com/2006/12/blog-post_116668376256074043.html"&gt;притягивающие силы&lt;/a&gt; в организации отсутствуют (например, зарплата недостаточно хороша ;-) )?&lt;/li&gt;&lt;/ol&gt;Поэтому, когда Вам, как начальнику, хочется провести совещание третьего типа ("Отныне каждый вторник в 10 утра мы будем обсуждать статус проекта!") задумайтесь - "&lt;a href="http://www.jvanetsky.ru/data/text/t8/konservatoria/"&gt;Может, что-то в консерватории подправить?&lt;/a&gt;"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-6784813593730662721?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/6784813593730662721/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=6784813593730662721' title='Комментарии: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/6784813593730662721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/6784813593730662721'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/07/blog-post_07.html' title='О совещаниях ...'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-8191648104686685864</id><published>2007-07-03T13:39:00.000+04:00</published><updated>2007-07-03T14:09:01.685+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><title type='text'>Карты мира :-)</title><content type='html'>Довольно давно мне попалась где-то в Сети довольно смешная карта "World according to America". Вот сделал небольшую подборку из такого рода карт :-)&lt;br /&gt;&lt;br /&gt;&lt;embed type="application/x-shockwave-flash" src="http://picasaweb.google.com/s/c/bin/slideshow.swf" width="400" height="267" flashvars="host=picasaweb.google.com&amp;RGB=0x000000&amp;feed=http%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2Flkurts%2Falbumid%2F5082903487917555297%3Fkind%3Dphoto%26alt%3Drss" pluginspage="http://www.macromedia.com/go/getflashplayer"&gt;&lt;/embed&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-8191648104686685864?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/8191648104686685864/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=8191648104686685864' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/8191648104686685864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/8191648104686685864'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/07/blog-post.html' title='Карты мира :-)'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-5294262227685626721</id><published>2007-06-24T17:53:00.000+04:00</published><updated>2007-06-26T14:40:26.964+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Интересно'/><title type='text'>Первый в мире язык программирования</title><content type='html'>Мне всегда казалось, что первым был Фортран, что, в частности отображено и в наверное наиболее известной &lt;a href="http://www.levenez.com/lang/"&gt;диаграмме истории языков программирования&lt;/a&gt;. На самом деле по влиянию и известности Фортран конечно и был первым. Однако с исторической точки зрения - нет.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_UWPsw_DgfYM/Rn-HO1_iQpI/AAAAAAAAACw/4fkL37A0r5E/s1600-h/Babel.gif"&gt;&lt;img style="cursor: pointer;" src="http://bp2.blogger.com/_UWPsw_DgfYM/Rn-HO1_iQpI/AAAAAAAAACw/4fkL37A0r5E/s400/Babel.gif" alt="" id="BLOGGER_PHOTO_ID_5079927593778692754" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;[Если быть совсем точным, то уж по настоящему первым языком программирования была, по всей видимости, та нотация, с помощью которой были написаны программы &lt;a href="http://www.sciencemuseum.org.uk/onlinestuff/stories/babbage.aspx"&gt;Чарльза Бэббиджа&lt;/a&gt; в знаменитой статье Ады Августы Байрон, графини Лавлейс "&lt;a href="http://www.fourmilab.ch/babbage/sketch.html"&gt;Sketch Of the Analytical Engine&lt;/a&gt;"(статья представляла собой перевод статьи итальянца Менабреа о работе разностной машины Бэббиджа и, содержала существенное дополнение, написанное самой Адой Августой). Однако это был не вполне язык программирования, да и машина, для которой он предназначался существовала только в уме гениального человека. Замечу кстати, что в 1991 году &lt;a href="http://www.sciencemuseum.org.uk/"&gt;музей науки в Лондоне &lt;/a&gt;создал по чертежам Бэббиджа его машину и она сейчас &lt;a href="http://www.sciencemuseum.org.uk/objects/computing_and_data_processing/1992-556.aspx?keywords=difference+engine"&gt;существует в рабочем состоянии&lt;/a&gt;]&lt;br /&gt;&lt;br /&gt;Итак, первый язык программирования. Это был вовсе не Фортран, а язык с удивительным названием - Plankalkül, то есть в переводе с немецкого "Исчисление планов" или "План вычислений", был разработан немецким учёным, изобретателем и конструктором  &lt;a href="http://www.3dnews.ru/editorial/konrad_zuse"&gt;Конрадом Цузе&lt;/a&gt; в нацистской Германии между 1942 и 1945 годами.&lt;br /&gt;&lt;br /&gt;[Цузе также сконструировал несколько различных моделей компьютеров. Например его Z3 тоже был создан раньше знаменитых Marc I и ENIAC и являлся при этом вполне полноценной машиной. ]&lt;br /&gt;&lt;br /&gt;Утверждается, что всех своих достижений Цузе добился абсолютно самостоятельно, не обладая сведениями ни о работах американцев и англичан, проводившихся в близкое время, и даже не зная о работах Бэббиджа.&lt;br /&gt;&lt;br /&gt;Создание языка программирования было естественным продолжением работ по созданию "железной" части компьютеров. Сам Цузе пытался с его помощью писать программу для игры в шахматы. Работы над языком были закончены около 1946 года, однако развития язык не получил и даже написанное руководство увидело свет только в 1972 году. Из-за этого язык оказался неизвестным и  существенного влияния на дальнейшее развитие индустрии не оказал (в сравнении например с тем же Фортраном).&lt;br /&gt;&lt;br /&gt;Тем не менее Plankalkül несомненно был первым в мире языком программирования высокого уровня. Основные концепции языка включают:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Наличие подпрограмм (и это в 1940-х годах!!!)&lt;/li&gt;&lt;li&gt;Наличие операции присваивания (=&gt;)&lt;/li&gt;&lt;li&gt;Циклы&lt;/li&gt;&lt;li&gt;Условный оператор (if)&lt;/li&gt;&lt;li&gt;Возможность манипуляций с массивами&lt;/li&gt;&lt;li&gt;Возможность манипуляций со списками&lt;/li&gt;&lt;/ul&gt;При создании языка Цузе собрал множество проблем, которые были поставлены инженерами и учёными. Для демонстрации того, что язык действительно способен решать эти проблемы было написано огромное количество примеров программ (в частности около 60 страниц примеров для программы играющей в шахматы).&lt;br /&gt;&lt;br /&gt;Одной из проблем языка был чрезвычайно сложный и очень непривычный современному программисту синтаксис. Вот пример присваивания A[5] = A[4]+1 на языке Plankalkül:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_UWPsw_DgfYM/Rn-PGV_iQrI/AAAAAAAAADA/zntjaGxBwgU/s1600-h/plankalkul.JPG"&gt;&lt;img style="cursor: pointer;" src="http://bp0.blogger.com/_UWPsw_DgfYM/Rn-PGV_iQrI/AAAAAAAAADA/zntjaGxBwgU/s400/plankalkul.JPG" alt="" id="BLOGGER_PHOTO_ID_5079936243842826930" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;Здесь V - это строка для индексов, S - строка для задания типов данных, 1.n - обозначает целое число размером n бит.&lt;br /&gt;&lt;br /&gt;В настоящее время &lt;a href="http://www.zib.de/"&gt;институт Цузе&lt;/a&gt; в Берлине создал &lt;a href="http://www.zib.de/zuse/Inhalt/Programme/Plankalkuel/"&gt;компилятор языка Plankalkul&lt;/a&gt;. На сайте института также представлены &lt;a href="http://www.zib.de/zuse/"&gt;тексты работ Конрада Цузе и симуляторы созданных им  компьютеров&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Plankalkül не оказал существенного влияния на другие языки. Но тем не менее историческое первенство - за ним.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-5294262227685626721?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/5294262227685626721/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=5294262227685626721' title='Комментарии: 5'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/5294262227685626721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/5294262227685626721'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/06/blog-post_24.html' title='Первый в мире язык программирования'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_UWPsw_DgfYM/Rn-HO1_iQpI/AAAAAAAAACw/4fkL37A0r5E/s72-c/Babel.gif' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-7390249040760734073</id><published>2007-06-14T19:05:00.000+04:00</published><updated>2007-06-14T19:47:56.244+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='практика программирования'/><title type='text'>Комментирование и системы контроля версий</title><content type='html'>Сегодня хотел бы обсудить ситуацию, в которой комментарии в исходном коде используются в качестве некоторой псевдо-системы контроля версий. А именно, когда при помощи комментариев "удаляется" какой-то уже неиспользуемый код.&lt;br /&gt;&lt;br /&gt;Ситуация эта выглядит примерно так. Программисту хочется внести какое-то изменение в код, и он поступает следующим образом: комментирует старый кусок, а затем вставляет на его место исправленный. Таким образом в исходном файле остаются ОБА куска кода одновременно.&lt;br /&gt;&lt;br /&gt;Мне кажется, что такой способ комментирования плох в двух смыслах.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Данный вид комментирования представляет собой подмену (причём недостаточно функциональную) системы контроля версий.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Данный вид комментирования неудобен для тех, кто будет разбираться в коде после вас.&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-weight: bold;"&gt;Подмена системы контроля версий&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;В чем состоит подмена? В том, что система контроля версий как раз и предназначена для того, чтобы дать возможность увидеть кто, когда, зачем и каким именно способом изменил данный кусок кода. Комментирование только дублирует информацию уже имеющуюся в системе контроля версий, причём не всю её (подобные комментарии обычно ведь не стандартизированы - что захочет там разработчик написать, то и напишет).  Таким образом подобные комментарии являются &lt;span style="font-style: italic;"&gt;избыточными&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Неудобство для "будущих поколений"&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Подобные комментарии, помимо того что являются избыточными (с чем довольно легко можно смириться), могут также являться источником дополнительных сложностей для программистов, которые не являются авторами первоначального кода.&lt;br /&gt;&lt;br /&gt;Дело в том, что подобные закомментированные и давно неиспользуемые куски:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;При исследовании кода методом поиска :-) могут вполне попасться в результаты, а значит придётся затратить дополнительное время на их изучение&lt;/li&gt;&lt;li&gt;При интенсивном использовании сильно замусоривают код, что также создаёт дополнительные сложности&lt;/li&gt;&lt;li&gt;Комментарии многими воспринимаются как &lt;span style="font-style: italic;"&gt;пояснение&lt;/span&gt; относительно работы данного куска кода (и правильно воспринимаются, именно для этого комментарии и нужны). Поэтому закомментированная часть кода, если комментарий был использован вместо системы контроля версий, может вызвать у читающего затруднения с пониманием - зачем здесь комментарий? может быть кто-то что-то тестировал и забыл убрать комментарий? Короче говоря, возникает лишний повод задуматься.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Мой общий вывод из вышеизложенного такой (нагло подделываясь под &lt;a href="http://www.acm.org/classics/oct95/"&gt;классика&lt;/a&gt;):&lt;br /&gt;"Commenting code out considered harmful". Неиспользуемый код нужно удалять, а не комментировать. Конечно, всегда бывают "ситуации" и мы здесь говорим о каком-то общем, "среднем" случае.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;P.S. Да, современные интегрированные среды разработки позволяют достаточно легко бороться с перечисленными выше недостатками (outlining; поиск с использованием регулярных выражений; интеллектуальный поиск, понимающий что комментарии нужно пропускать). Но они же часто содержат функции, позволяющие вообще не заниматься подобным комментированием, например IntelliJ Idea содержит замечательную функцию &lt;a href="http://blogs.jetbrains.com/idea/2007/06/intellij-idea-local-history-a-life-saver/"&gt;Local History&lt;/a&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/21088732-7390249040760734073?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/7390249040760734073/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=7390249040760734073' title='Комментарии: 4'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/7390249040760734073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/7390249040760734073'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/06/blog-post_14.html' title='Комментирование и системы контроля версий'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-5316744095050882823</id><published>2007-06-11T20:28:00.000+04:00</published><updated>2007-06-11T20:47:56.935+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Интересно'/><title type='text'>Тони Хоар: советы выпускникам</title><content type='html'>Сегодня наткнулся на &lt;a href="http://www.kierberg.com/videos/advice-for-phd-students-from-tony-hoare"&gt;любопытное выступление&lt;/a&gt; классика программирования &lt;a href="http://en.wikipedia.org/wiki/C._A._R._Hoare"&gt;Тони Хоара&lt;/a&gt; (отца "быстрой" сортировки). В общем, как и некоторые другие выступления "зубров", которые я слышал - данное интересно скорее не тем что говорилось, а тем кто говорил. Сама возможность послушать живую легенду уже прельщает.&lt;br /&gt;&lt;br /&gt;Само выступление небольшое, около 17 минут, по ссылке которую я привёл есть и транскрипт, что может быть полезно тем кому не понравится замечательный английский акцент сэра Тони.&lt;br /&gt;&lt;br /&gt;Самым занимательным моментом мне показалось сравнение принципов "работы на науку" и "работы на корпорации". Если при работе на науку &lt;span style="font-weight: bold;"&gt;необходимо&lt;/span&gt; создавать что-то новое, то то при работе на корпорацию, наоборот почти всегда &lt;span style="font-weight: bold;"&gt;необходимо&lt;/span&gt; найти возможность воспользоваться чем-то уже существующим. Об этом различии стоило бы помнить многим программистам :-)&lt;br /&gt;&lt;br /&gt;P.S. Тони Хоар сейчас работает где бы вы думали ... ну конечно в &lt;a href="http://research.microsoft.com/users/thoare/"&gt;Microsoft Research&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-5316744095050882823?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/5316744095050882823/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=5316744095050882823' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/5316744095050882823'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/5316744095050882823'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/06/blog-post.html' title='Тони Хоар: советы выпускникам'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-3938297524861039946</id><published>2007-06-06T17:37:00.000+04:00</published><updated>2007-06-06T22:18:26.014+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><title type='text'>Skype vs. IIS 5.1</title><content type='html'>Сегодня возникла необходимость установить на домашней Windows XP машине IIS. Установил, открыл snap-in Internet Information Services, и увидел что 'Default Web Site' не запущен. Нажал 'Start item'. И тут же увидел потрясающее сообщение об ошибке:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Unexpected error 0x8ffe2740 occurred.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Поиск известно где показал мне следующую статья в MS knowledge base:&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/816944"&gt;http://support.microsoft.com/kb/816944&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Статья эта говорит нам о том что подобное сообщение возникает в случае, если существует конфликт по TCP портам - какая-то программа уже использует порт, прописанный в Default Web Site. Там по умолчанию прописан конечно порт 80.&lt;br /&gt;&lt;br /&gt;Ну дальше все уже наверное очевидно из названия поста. В лучших традициях &lt;a href="http://blogs.technet.com/MarkRussinovich/"&gt;Mark Russinovitch&lt;/a&gt; я запустил его замечательную утилиту &lt;a href="http://www.microsoft.com/technet/sysinternals/Utilities/ProcessExplorer.mspx"&gt;Process Explorer&lt;/a&gt; и после недолгого изучения обнаружил:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_UWPsw_DgfYM/RmbzX1_iQmI/AAAAAAAAACY/kKzkMzn7JOY/s1600-h/skype_in_pe.JPG"&gt;&lt;img style="cursor: pointer;" src="http://bp1.blogger.com/_UWPsw_DgfYM/RmbzX1_iQmI/AAAAAAAAACY/kKzkMzn7JOY/s400/skype_in_pe.JPG" alt="" id="BLOGGER_PHOTO_ID_5073009621235548770" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;То есть как видно Skype использует 80 порт. В настройках Skype видно следующее:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_UWPsw_DgfYM/RmbzYV_iQnI/AAAAAAAAACg/BL40DON1daA/s1600-h/skype_and_iis.JPG"&gt;&lt;img style="cursor: pointer;" src="http://bp3.blogger.com/_UWPsw_DgfYM/RmbzYV_iQnI/AAAAAAAAACg/BL40DON1daA/s400/skype_and_iis.JPG" alt="" id="BLOGGER_PHOTO_ID_5073009629825483378" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Это-то как раз и есть причина проблемы. Следовательно для того чтобы избежать описанной проблемы нужно либо выключить соответствующую галочку в Skype (и перезагрузить его), либо поменять порт по умолчанию в IIS Default Web Site.&lt;br /&gt;&lt;br /&gt;P.S. На моей машине также (в тестовых целях) установлен пакет &lt;a href="http://www.denwer.ru/"&gt;Денвер&lt;/a&gt;, представляющий из себя "набор дистрибутивов и программная оболочка, используемые Web-разработчиками (программистами и дизайнерами) для отладки сайтов на «домашней» (локальной) Windows-машине без необходимости выхода в Интернет". Денвер это, в частности, Apache - так вот ему наличие Skype не мешает, все нормально работает ... Вот соответствующая картинка:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_UWPsw_DgfYM/Rmb4-l_iQoI/AAAAAAAAACo/hKh2V0rjypA/s1600-h/apace_in_pe.JPG"&gt;&lt;img style="cursor: pointer;" src="http://bp0.blogger.com/_UWPsw_DgfYM/Rmb4-l_iQoI/AAAAAAAAACo/hKh2V0rjypA/s400/apace_in_pe.JPG" alt="" id="BLOGGER_PHOTO_ID_5073015784513618562" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Возможно работает все до тех пор пока кто-то не "позвонит"  в Skype на 80 порт?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-3938297524861039946?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/3938297524861039946/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=3938297524861039946' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/3938297524861039946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/3938297524861039946'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/06/skype-vs-iis-51.html' title='Skype vs. IIS 5.1'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_UWPsw_DgfYM/RmbzX1_iQmI/AAAAAAAAACY/kKzkMzn7JOY/s72-c/skype_in_pe.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-1883040207435063729</id><published>2007-06-05T13:14:00.000+04:00</published><updated>2007-06-05T14:11:25.490+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Управление проектами'/><category scheme='http://www.blogger.com/atom/ns#' term='практика программирования'/><title type='text'>Принцип DRY</title><content type='html'>Про принцип &lt;a href="http://en.wikipedia.org/wiki/Don%27t_repeat_yourself"&gt;DRY &lt;/a&gt;все знают. Ну даже если кто-то и не знает самого сокращения, то уж смысл известен наверняка. Напомню, DRY расшифровывается как Don't Repeat Youself. То есть "Не повторяй самого себя". Первый раз с самим сокращением я столкнулся в книге &lt;a href="http://www.amazon.com/gp/product/020161622X?ie=UTF8&amp;tag=lktalks-20&amp;amp;linkCode=as2&amp;camp=1789&amp;amp;creative=9325&amp;creativeASIN=020161622X"&gt;The Pragmatic Programmer: From Journeyman to Master&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=lktalks-20&amp;amp;l=as2&amp;o=1&amp;amp;a=020161622X" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1" /&gt;. На самом деле принцип все мы знаем очень давно, даже если не осознавали его как "принцип" или что-то глубоко умное и философское (в Википедии принцип относится к категории Software Development Philosophies).&lt;br /&gt;&lt;br /&gt;Вроде бы нет ничего проще (цитирую по русскому переводу вышеупомянутой книги): "&lt;span style="font-style: italic;"&gt;Каждый фрагмент знания должен иметь единственное, однозначное, надёжное представление в системе&lt;/span&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;br /&gt;&lt;br /&gt;Откуда берутся такие ошибки? Кто в них виноват?&lt;br /&gt;&lt;br /&gt;Программисту, которому необходимо добавить новое поле в диалог плюётся "Вот "@#$%^&amp;amp;*! Ну кто так пишет! И диалога два, и поведение в них чуть-чуть разное и по разным принципам они написаны, и сопутствующие классы разные!" После этого он открывает историю в системе контроля версий, смотрит фамилию предшественника и ... Ну сами понимаете. Тут уж предшественнику вполне может достаться по первое число. Зачем скопировал? Почему все то же самое, но чуть-чуть по-другому?&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;br /&gt;&lt;br /&gt;Все это - повторюсь ещё раз - не ошибки программиста. Все это - ошибки руководства. В большинстве случаев непосредственного, то есть людей которых я в своём &lt;a href="http://lktalks.blogspot.com/2007/02/blog-post.html"&gt;посте про должности и их названия&lt;/a&gt; называл team leader. Кстати, небольшое замечание - когда я пишу про программистов и team leader-ов я имею ввиду роли. В работе над меленьким проектом один и тот же человек может исполнять все роли - и тогда проблема дублирования для него как программиста будет ошибкой его самого, но в роли собственного руководителя.&lt;br /&gt;&lt;br /&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/21088732-1883040207435063729?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/1883040207435063729/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=1883040207435063729' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/1883040207435063729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/1883040207435063729'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/06/dry.html' title='Принцип DRY'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-1783771843148533852</id><published>2007-05-31T12:17:00.000+04:00</published><updated>2007-05-31T12:23:45.219+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Интересно'/><title type='text'>Интересный блог</title><content type='html'>Я уже достаточно давно читаю блог Элдара Мусаева "&lt;a href="http://blogs.technet.com/eldar/"&gt;Мысли которые не удалось удержать в голове&lt;/a&gt;".  Читать собственно начал с того момента как прослушал его замечательный ролик на&lt;a href="http://blogs.technet.com/eldar/"&gt; русском Channel 9 &lt;/a&gt;- "&lt;a href="http://www.gotdotnet.ru/Channel9/360386.aspx"&gt;Про маразм и program management&lt;/a&gt;", зашел на блог ... да так там и остался :-) Рекомендую!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-1783771843148533852?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/1783771843148533852/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=1783771843148533852' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/1783771843148533852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/1783771843148533852'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/05/blog-post_31.html' title='Интересный блог'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-3923295399843156079</id><published>2007-05-24T16:26:00.000+04:00</published><updated>2007-05-24T16:35:05.575+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Интересно'/><category scheme='http://www.blogger.com/atom/ns#' term='о работе'/><title type='text'>Две интересных статьи</title><content type='html'>Обнаружил две интересные статьи. В частности они касаются некоторых вопросов, которые обсуждались в моих постах про "&lt;a href="http://lktalks.blogspot.com/2007/05/blog-post_16.html"&gt;Дао Русского программиста&lt;/a&gt;", про то как &lt;a href="http://lktalks.blogspot.com/2007/05/blog-post_10.html"&gt;научиться программировать&lt;/a&gt; и про то &lt;a href="http://lktalks.blogspot.com/2007/02/1.html"&gt;какие знания необходимы программисту&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Почитайте, интересно:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://www.halfsigma.com/2007/03/why_a_career_in.html"&gt;Why a career in computer programming sucks&lt;/a&gt;?&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.halfsigma.com/2007/03/the_death_of_th.html"&gt;The death of the generalist software developer&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-3923295399843156079?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/3923295399843156079/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=3923295399843156079' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/3923295399843156079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/3923295399843156079'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/05/blog-post_24.html' title='Две интересных статьи'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-7497268194533803079</id><published>2007-05-22T14:12:00.000+04:00</published><updated>2007-05-22T14:49:49.764+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='практика программирования'/><title type='text'>Полезный ключ компилятора MS VC++</title><content type='html'>Я уже довольно давно читаю &lt;a href="http://blogs.msdn.com/vcblog/"&gt;блог команды разработчиков Visual C++&lt;/a&gt; и должен сказать что это довольно таки занудный блог. Но вот последняя &lt;a href="http://blogs.msdn.com/vcblog/archive/2007/05/17/diagnosing-hidden-odr-violations-in-visual-c-and-fixing-lnk2022.aspx"&gt;статья &lt;/a&gt;в нем - буквально таки жемчужина.&lt;br /&gt;&lt;br /&gt;Не очень часто мы сталкиваемся с проблемой неодинакового выравнивания одних и тех же классов в разных единицах трансляции. Проблему трудно диагностировать и даже очень трудно. Так вот статья рассказывает про замечательный и конечно же НЕ документированный и не поддерживаемый ключ компилятора:&lt;br /&gt;&lt;br /&gt;/d1reportSingleClassLayoutXXX, где XXX - интересующее нас имя класса.&lt;br /&gt;&lt;br /&gt;При компиляции с этим ключом, компилятор показывает, как с его точки зрения "разложился" класс XXX. Вот код из статьи:&lt;br /&gt;&lt;span  lang="EN" style="font-family:'Calibri','sans-serif';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:Consolas;font-size:85%;color:green;"   &gt;&lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Consolas;color:green;"   lang="EN"&gt;// a.h – share class definition (code has been corrected from original post)&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Consolas;color:blue;"   lang="EN"&gt;#pragma&lt;/span&gt;&lt;span  lang="EN" style="font-family:Consolas;"&gt; &lt;span style="color:blue;"&gt;once&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span  lang="EN" style="font-family:Consolas;"&gt;&lt;span style="color:blue;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Consolas;color:blue;"   lang="EN"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Consolas;color:blue;"   lang="EN"&gt;class&lt;/span&gt;&lt;span style=";font-family:Consolas;color:blue;"   lang="EN"&gt; Test_A {&lt;br /&gt;public&lt;/span&gt;&lt;span  lang="EN" style="font-family:Consolas;"&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span  lang="EN" style="font-family:Consolas;"&gt;    Test_A(){ c = &lt;span style="color: rgb(163, 21, 21);"&gt;'X'&lt;/span&gt;; data = 0; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;    &lt;span style="font-family:Consolas;"&gt;~Test_A(){ &lt;span style="color:blue;"&gt;if&lt;/span&gt;(data) &lt;span style="color:blue;"&gt;delete&lt;/span&gt; [] data; }&lt;/span&gt;&lt;span  lang="EN" style="font-family:Consolas;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span  lang="EN" style="font-family:Consolas;"&gt;       &lt;span style="color:blue;"&gt;    char&lt;/span&gt; c;&lt;br /&gt;&lt;span style="color:blue;"&gt;    char&lt;/span&gt;* data;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span  lang="EN" style="font-family:Consolas;"&gt;};&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span  lang="EN" style="font-family:Consolas;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin-bottom: 10pt;"&gt;&lt;span style=";font-family:Consolas;color:blue;"   lang="EN"&gt;void&lt;/span&gt;&lt;span  lang="EN" style="font-family:Consolas;"&gt; Test_A_Loader(Test_A&amp;);&lt;/span&gt;&lt;span lang="EN"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Consolas;color:blue;"   lang="EN"&gt;// loader.cpp - loader defn.&lt;br /&gt;#include&lt;/span&gt;&lt;span style=";font-family:Consolas;color:blue;"   lang="EN"&gt; &lt;span style="color: rgb(163, 21, 21);"&gt;&lt;cstring&gt;&lt;/cstring&gt;&lt;/span&gt; &lt;span style="color:green;"&gt;//for strcpy&lt;/span&gt;&lt;br /&gt;#include&lt;/span&gt;&lt;span  lang="EN" style="font-family:Consolas;"&gt; &lt;span style="color: rgb(163, 21, 21);"&gt;"a.h"&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span  lang="EN" style="font-family:Consolas;"&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style="color: rgb(163, 21, 21);font-family:Consolas;"  lang="EN"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Consolas;color:blue;"   lang="EN"&gt;void&lt;/span&gt;&lt;span  lang="EN" style="font-family:Consolas;"&gt; Test_A_Loader(Test_A&amp; a) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span  lang="EN" style="font-family:Consolas;"&gt;    a.c = &lt;span style="color: rgb(163, 21, 21);"&gt;'p'&lt;/span&gt;;&lt;br /&gt;a.data = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:blue;"&gt;char&lt;/span&gt;[10];&lt;br /&gt;strcpy(a.data, &lt;span style="color: rgb(163, 21, 21);"&gt;"3.14159"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin-bottom: 10pt;"&gt;&lt;span  lang="EN" style="font-family:Consolas;"&gt;}&lt;/span&gt;&lt;span lang="EN"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Consolas;color:blue;"   lang="EN"&gt;// main.cpp - main program&lt;br /&gt;#include&lt;/span&gt;&lt;span  lang="EN" style="font-family:Consolas;"&gt; &lt;span style="color: rgb(163, 21, 21);"&gt;&lt;stdio.h&gt;&lt;/stdio.h&gt;&lt;/span&gt; &lt;span style="color:green;"&gt;// for printf&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Consolas;color:blue;"   lang="EN"&gt;#include&lt;/span&gt;&lt;span  lang="EN" style="font-family:Consolas;"&gt; &lt;span style="color: rgb(163, 21, 21);"&gt;"a.h"&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span  lang="EN" style="font-family:Consolas;"&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style="color: rgb(163, 21, 21);font-family:Consolas;"  lang="EN"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Consolas;color:blue;"   lang="EN"&gt;int&lt;/span&gt;&lt;span  lang="EN" style="font-family:Consolas;"&gt; main(){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span  lang="EN" style="font-family:Consolas;"&gt;           Test_A a;&lt;br /&gt;Test_A_Loader(a);&lt;br /&gt;printf(&lt;span style="color: rgb(163, 21, 21);"&gt;"%c : %c %c %c %c\n"&lt;/span&gt;, a.c, a.data[0], a.data[1], a.data[2], a.data[3]);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin-bottom: 10pt;"&gt;&lt;span  lang="EN" style="font-family:Consolas;"&gt;}&lt;/span&gt;&lt;span  lang="EN" style="font-family:'Calibri','sans-serif';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/span&gt;&lt;span style="font-size:85%;"&gt;Данный код компилируется вот так (для того чтобы воспроизвести ошибку):&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="line-height: 115%;font-family:Consolas;font-size:85%;"  &gt;cl main.cpp /Zp2 /c&lt;br /&gt;cl loader.cpp /Zp1 /c&lt;br /&gt;link main.obj loader.obj&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;При этом конечно возникает ошибка с выравниванием, поскольку класс Test_A выровнен по разному в единице трансляции main.cpp и в единице трансляции loader.cpp.&lt;br /&gt;&lt;br /&gt;А вот вывод компилятор при использовании волшебного ключика '/d1reportSingleClassLayoutTest_A' (почему то в статье вывод компилятора целиком не приведён, а мне кажется что это интересно):&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;1&gt;------ Build started: Project: ClassLayout, Configuration: Debug Win32 ------&lt;br /&gt;1&gt;Compiling...&lt;br /&gt;1&gt;stdafx.cpp&lt;br /&gt;1&gt;Compiling...&lt;br /&gt;1&gt;loader.cpp&lt;br /&gt;1&gt;class Test_A size(5):&lt;br /&gt;1&gt; +---&lt;br /&gt;1&gt; 0 | c&lt;br /&gt;1&gt; 1 | data&lt;br /&gt;1&gt; +---&lt;br /&gt;1&gt;class Test_A size(5):&lt;br /&gt;1&gt; +---&lt;br /&gt;1&gt; 0 | c&lt;br /&gt;1&gt; 1 | data&lt;br /&gt;1&gt; +---&lt;br /&gt;1&gt;Compiling...&lt;br /&gt;1&gt;ClassLayout.cpp&lt;br /&gt;1&gt;class Test_A size(6):&lt;br /&gt;1&gt; +---&lt;br /&gt;1&gt; 0 | c&lt;br /&gt;1&gt;   | &amp;lt;alignment member&amp;gt; (size=1)&lt;br /&gt;1&gt; 2 | data&lt;br /&gt;1&gt; +---&lt;br /&gt;1&gt;class Test_A size(6):&lt;br /&gt;1&gt; +---&lt;br /&gt;1&gt; 0 | c&lt;br /&gt;1&gt;   | &amp;lt;alignment member&amp;gt; (size=1)&lt;br /&gt;1&gt; 2 | data&lt;br /&gt;1&gt; +---&lt;br /&gt;1&gt;Linking...&lt;br /&gt;1&gt;Embedding manifest...&lt;br /&gt;1&gt;Build log was saved at "file://l:\ClassLayout\Debug\BuildLog.htm"&lt;br /&gt;1&gt;ClassLayout - 0 error(s), 0 warning(s)&lt;br /&gt;========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Вот такой вот замечательный ключик. А я уж от их блога отписываться хотел.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:Consolas;font-size:10;color:green;"   &gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-7497268194533803079?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/7497268194533803079/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=7497268194533803079' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/7497268194533803079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/7497268194533803079'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/05/ms-vc.html' title='Полезный ключ компилятора MS VC++'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-2785749121219726310</id><published>2007-05-16T13:19:00.000+04:00</published><updated>2007-05-16T17:52:07.321+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='разговоры'/><title type='text'>Ответ на статью: Путь без конца или Дао русского программиста</title><content type='html'>Я сегодня выступаю в не очень привычном для себя жанре. Этот пост - ответ.&lt;br /&gt;&lt;br /&gt;Я думаю что &lt;a href="http://www.ezhe.ru/fri/54/"&gt;Максима Кононенко&lt;/a&gt;, также известного как Mr.Parker знают все. Ну если и не знают, то слышали про него уж точно очень многие. Он - создатель популярного сайта &lt;span style="font-size:100%;"&gt;&lt;a href="http://vladimir.vladimirovich.ru/"&gt;Владимир Владимирович™&lt;/a&gt;, известный &lt;a href="http://www.idiot.ru/"&gt;блоггер&lt;/a&gt;, сетевой писатель и журналист. А также программист. Вот я как раз про это. Некоторое время назад вышел пост Максима под названием:&lt;a href="http://www.idiot.ru/2007/05/03/put-bez-kontsa-ili-dao-russkogo-programmista/"&gt; Путь без конца или Дао русского программиста&lt;/a&gt;. Именно этот пост я и хочу здесь разобрать. Так что уж не обессудьте, для того чтобы читать дальше придётся сначала сначала прочитать исходный пост.&lt;br /&gt;&lt;br /&gt;(замечание: данный ответ также опубликован и как комментарий к самому посту Максима - только без вступительной части)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;К вопросу о терминологии&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Похоже, что в исходном посте термин "программирование" понимается совсем не так как понимаю его например я. В моей голове есть несколько терминов, несколько "ролей", нужных например для того чтобы организовать компанию, которая производит и продаёт программы. Вот этот (скорее всего неполный) список:&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Руководство разных уровней&lt;/li&gt;&lt;li&gt;Бухгалтер&lt;/li&gt;&lt;li&gt;Программист&lt;/li&gt;&lt;li&gt;Тестировщик&lt;/li&gt;&lt;li&gt;Системный администратор&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Менеджер проекта - подробнее об этой роли я писал вот в этой &lt;a href="http://lktalks.blogspot.com/2007/02/blog-post.html"&gt;статье&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Менеджер продукта - об этой роли я также писал вот в этой &lt;a href="http://lktalks.blogspot.com/2007/02/blog-post.html"&gt;статье&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Специалист по продажам&lt;/li&gt;&lt;li&gt;Специалист по рекламе&lt;/li&gt;&lt;li&gt;Специалист по связям с общественностью&lt;/li&gt;&lt;li&gt;Секретарь&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Специалист технической поддержки&lt;br /&gt;&lt;/li&gt;&lt;li&gt;....&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;В этот список можно добавить ещё очень много разных "ролей" и я специально не стал нумеровать роли. Только на конкретном примере можно попытаться сказать какая роль "важнее" и я, честно говоря, думаю что не всегда получится. Для того чтобы добиться успеха очень часто бывает важно правильное исполнение ВСЕХ ролей. И при этом совершенно неважно сколько людей исполняет эти роли - важно чтобы все действия, которые нужно исполнять в рамках роли исполнялись эффективно. Мне кажется что многие из упомянутых в посте Максима проблем связаны в основном с тем, что часто бывает так что на человека, исполняющего роль программиста, также возлагаются задачи исполнения и других ролей. С чем не каждый и не всегда может справиться.&lt;br /&gt;&lt;br /&gt;Поэтому, на мой взгляд, не очень важно что программисты не умеют продавать программы - это не их задача.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;О предмете программирования&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Я хочу остановиться на вопросе о &lt;span style="font-style: italic;"&gt;предмете программирования&lt;/span&gt;. И я прочёл (не буквально, а "увидел", "интерпретировал") в самом посте, а также, кажется в каких-то ответах автора к комментариям на LiveJournal (затрудняюсь их сейчас здесь привести) мнение о том, что программирования как предмета не существует. То есть мне показалось, что автор утверждает: нет никакой "computer science", есть несколько областей математики, плюс некоторые ремесленные приёмы.&lt;br /&gt;&lt;br /&gt;Я увидел эту мысль и в утверждениях что "нигде программированию не учат 5 лет" и в том что "&lt;/span&gt;что программирование - не ахти какое сложное занятие&lt;span style="font-size:100%;"&gt;". &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;Я же убежден что "программирование имеет свой предмет, не сводящийся ни к конкретным языкам  и системам, ни к методам построения быстрых алгоритмов" (&lt;a href="http://www.bolero.ru//cgi-bin/basket.cgi?act_add=yes&amp;pid=39422784&amp;amp;num=1&amp;partner=lkurts&amp;amp;new=1"&gt;Шень А. "Программирование: теоремы и задачи&lt;/a&gt;").  Попробую объясниться.&lt;br /&gt;&lt;br /&gt;Дело в том, что программирование, также как и математика, например или к примеру, упоминаемая автором медицина - это очень "широкая" дисциплина. Человек, пишущий скажем компилятор - программист, человек пишущий "графический движок" игры - тоже программист, пишущий plug-in к браузеру Firefox - тоже, пишущий адресную книгу для сотового телефона тоже, но и пишущий на php формочку, чтобы отправить письмо со своего веб-сайта - тоже. Есть масса разных ответвлений и уровней. Как и везде - есть сложные части, а есть простые, есть требующие больших знаний в "сопутствующих" областях, а есть меньших.&lt;br /&gt;&lt;br /&gt;Тем не менее, есть некоторые общие моменты, которые сводят всех этих людей. Это необходимость сформулировать и выбрать абстракции, организовать взаимодействия объектов, построенных на основе этих абстракций между собой, продумать последовательность  этих взаимодействий и добиться желаемого результата. (для буквоедов: не придирайтесь к слову "объекты" - я не имел ввиду объектно-ориентированную парадигму проектирования). Это очень важно иметь ввиду при рассмотрении дисциплины программирования.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Остальное&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Все основные тезисы мне не кажутся важными, чтобы с ними спорить. В них есть доля истины, но в основном, как мне кажется они составляют некоторый пересказ известной шутки, которую можно найти например &lt;a href="http://www.sql.ru/forum/actualthread.aspx?bid=16&amp;amp;tid=51332"&gt;тут &lt;/a&gt;и относиться к ним я бы стал также как к этой шутке - с юмором.&lt;br /&gt;&lt;br /&gt;P.S. Вот ещё что хотелось сказать. Ведь Максим Кононенко написал ещё и рассказ &lt;a href="http://www.idiot.ru/literatura/pokemon/"&gt;Покемон&lt;/a&gt;. Удивительно что один и тот же человек написал две такие совершенно разные [по духу] работы.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-2785749121219726310?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/2785749121219726310/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=2785749121219726310' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/2785749121219726310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/2785749121219726310'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/05/blog-post_16.html' title='Ответ на статью: Путь без конца или Дао русского программиста'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-2703694908365135448</id><published>2007-05-10T12:30:00.000+04:00</published><updated>2007-05-10T13:08:58.682+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Интересно'/><category scheme='http://www.blogger.com/atom/ns#' term='о жизни'/><category scheme='http://www.blogger.com/atom/ns#' term='образование'/><title type='text'>Научиться программировать ...</title><content type='html'>Умеете ли вы программировать? Сам факт того, что вы сейчас читаете данный текст, скорее всего означает что вы  имеете какое-то отношение к программированию. И уж точно у вас есть к нему интерес, иначе вы бы просто не знали про существование этого блога. Ну или в крайнем случае у вас есть друзья или знакомые программисты. Так или иначе многие сейчас задаются вопросом "как научиться программировать?".&lt;br /&gt;&lt;br /&gt;Это сложный вопрос и я конечно не смогу на него ответить, так что я разочарую  тех, кто надеялся получить какой-то готовый рецепт. Когда-то давно я прочитал замечательное эссе &lt;a href="http://norvig.com/"&gt;Питера Норвига&lt;/a&gt; на эту тему. Эссе называется "Научитесь программировать за 10 лет". Его можно прочитать в &lt;a href="http://norvig.com/21-days.html"&gt;первоисточнике&lt;/a&gt;, а также в &lt;a href="http://www.williamspublishing.com/21-days.html"&gt;русском переводе&lt;/a&gt;. Эссе посвящено тому, как по мнению Норвига нужно подходить к (само)обучению программированию, а название это естественно пародия на многочисленные книги типа "Научитесь XXX за 21 день".&lt;br /&gt;&lt;br /&gt;Сегодня я ещё раз перечитал это эссе, и заметил там для себя что-то, чего не замечал раньше. Ну, точнее замечал, но как-то не придавал должного внимания. А именно, отношение Норвига к &lt;span style="font-weight: bold;"&gt;поверхностному обучению&lt;/span&gt;. В самом начале эссе, он в шутку разбирает что бы могло на самом деле обозначать название книги "Изучите Паскаль за 3 дня". В частности, Норвиг пишет: "&lt;span style="font-style: italic;"&gt;... за три дня вы можете получить только поверхностное представление о языке, а не глубокое понимание. Как говорил &lt;/span&gt;&lt;a style="font-style: italic;" href="http://www.wisdoms.ru/avt/b190.html"&gt;Александр Поуп&lt;/a&gt;&lt;span style="font-style: italic;"&gt; - "Недостаточное обучение - это очень опасная вещь&lt;/span&gt;".&lt;br /&gt;&lt;br /&gt;Это очень верное замечание, на которое стоит обратить внимание. Именно поэтому в одном из своих предыдущих постов, посвящённом &lt;a href="http://lktalks.blogspot.com/2007/04/blog-post_603.html"&gt;вопросам на собеседовании&lt;/a&gt;, я и писал что необходимо проверять базовые знания. Задавать "простейшие" вопросы(в кавычках, поскольку это вопросы на самом деле не простые, просто мы настолько привыкли давать на них ответы-"отписки", что не очень задумываемся о сути). Проверять именно глубину знаний. Проверять что человек умеет программировать, и не впадёт в ступор, когда закон&lt;br /&gt;"закон дырявых абстракций" (&lt;a href="http://www.joelonsoftware.com/articles/LeakyAbstractions.html"&gt;The law of leaky abstractions"&lt;/a&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/21088732-2703694908365135448?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/2703694908365135448/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=2703694908365135448' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/2703694908365135448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/2703694908365135448'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/05/blog-post_10.html' title='Научиться программировать ...'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-1910556023273251941</id><published>2007-05-09T00:00:00.000+04:00</published><updated>2007-05-09T00:03:18.277+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='о жизни'/><title type='text'>С праздником!</title><content type='html'>Поздравляю!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-1910556023273251941?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/1910556023273251941/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=1910556023273251941' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/1910556023273251941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/1910556023273251941'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/05/blog-post.html' title='С праздником!'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-8769758189254017530</id><published>2007-05-02T11:22:00.000+04:00</published><updated>2007-05-02T11:22:52.743+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='вопросы для собеседования'/><category scheme='http://www.blogger.com/atom/ns#' term='о работе'/><title type='text'>Хорошие вопросы</title><content type='html'>Про вопросы на собеседовании очень многие уже писали. Но мне кажется все писали неправильно :-) Вообще-то я глубоко убеждён в том, что собеседование - процесс практически безнадёжный и что единственный способ понять подходит ли человек для работы - это поработать с ним. Ну поскольку этот способ слишком дорогой, то приходится прибегать к собеседованию.&lt;br /&gt;&lt;br /&gt;Все соображения на тему "Как проводить собеседование" напоминают мне одну известную шутку.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Молодую девушку пригласили на свидание и она спрашивает маму - "Как вести беседу?" Мам отвечает - "Ну поговорите сначала о погоде, потом, к примеру, о музыке, а потом скажи что-нибудь остренькое". Во время свидания сразу же после встречи девушка и говорит: &lt;/span&gt;&lt;span style="font-style: italic;"&gt;"Какая чудная погода, училась музыке три года, бритва."&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Так, вот не хочу чтобы так проводились собеседования. На мой вкус самое главное что стоит попробовать проверить - это понимание основ. (Я пишу конечно только про программистов). Просто программист без основ, на мой взгляд, невозможен.&lt;br /&gt;&lt;br /&gt;Поэтому я просто приведу примеры вопросов, которые могли бы спровоцировать дискуссию, раскрыть насколько хорошо человек понимает основы (не сгруппированы по тематике):&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Что такое порт? (в смысле TCP/IP порт) Зачем он нужен? (В смысле - для чего используется)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Зачем нужна операционная система? (В смысле - для чего используется)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Зачем нужны точки в ip-адресе?&lt;/li&gt;&lt;li&gt;Как определить в какую сторону растёт стек?&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Зачем нужен компилятор?&lt;/li&gt;&lt;li&gt;Ведь микропроцессор оперирует исключительно двоичными числами? А как же получаются буквы?&lt;/li&gt;&lt;li&gt;Что такое программа? (компьютерная программа)&lt;/li&gt;&lt;li&gt;Что такое "сложность вычисления"?&lt;/li&gt;&lt;li&gt;Зачем нужны системы управления базами данных? Да и сами базы данных?&lt;/li&gt;&lt;li&gt;Что такое ASP (или JSP, или PHP, или ... )? На самом деле этот вопрос не совсем то, чем кажется. Я вероятно просто не смог его аккуратно сформулировать. В качестве ответа я конечно ожидал бы не расшифровку аббревиатуры и даже не краткое описание самой технологии. Я ожидал бы беседы о том, как работает типичный web-сайт.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;Замечание: некоторые из вопросов могут показаться слишком лёгкими или слишком "общими" или даже оскорбительными чтобы задавать их человеку с серьёзным опытом работы. Мне кажется, что это не так.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Вопросы являются лёгкими, если ты знаешь правильные ответы. Это прекрасно!&lt;/li&gt;&lt;li&gt;"Общими" или даже "расплывчатыми" вопросы сделаны специально - чтобы спровоцировать обсуждение.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;А насчёт того можно ли задавать человеку с 10-летним опытом работы вопрос "что такое программа"... Ну понимаете, представьте себе на секундочку, что он не ответит.&lt;br /&gt;(кстати, в качестве ответа на такой вопрос вполне могут послать в края отдалённые и всем известные ... в большинстве случаев я бы считал это правильным ответом :-))&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Понимаете - вопросы, как мне кажется, должны быть не про то как написать некоторую экзотическую конструкцию на не менее экзотическом языке, а на то&lt;span style="font-style: italic;"&gt; понимает ли&lt;/span&gt; человек ту среду, в которой он работает. Каждый из этих вопросов скорее всего потребует уточняющих вопросов и вполне может привести к дискуссии. В этом и есть их цель.&lt;br /&gt;&lt;br /&gt;Более того, мне хотелось бы надеяться, что эти вопросы полезны сами по себе. Что я имею ввиду? Многие вопросы для собеседований ценны только до тех пор, пока кто-то не прочитал на них ответ. В частности, такой проблемой страдают многие "каверзные" вопросы, такие как задача о взвешиваниях 8 монет, перевозе разных тварей через реку и так далее. В большинстве случаев, при задавании подобных вопросов проверяется не столько "логическое" мышление, сколько слышал раньше человек этот вопрос (и ответ на него) или нет.&lt;br /&gt;&lt;br /&gt;Я же надеюсь, что вопросы, подобные тем которые я здесь привёл, не теряют своей ценности после того как человек узнал на них ответ. Если я не знал ответа на вопрос зачем нужна операционная система, не понимал этого для себя, принимал её существование как данность, не задумываясь о причинах, по которым люди решили создать подобную сущность, то обсуждение всего этого меня &lt;span style="font-weight: bold; font-style: italic;"&gt;обучит&lt;/span&gt;. А это и есть самое главное. А уж научиться отвечать на вопрос о том как в С++ при помощи шаблонов (templates) посчитать факториал на этапе компиляции  я смогу позже. Да и нужно ли это?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-8769758189254017530?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/8769758189254017530/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=8769758189254017530' title='Комментарии: 6'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/8769758189254017530'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/8769758189254017530'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/04/blog-post_603.html' title='Хорошие вопросы'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-7005541518546190526</id><published>2007-04-26T21:04:00.000+04:00</published><updated>2007-06-21T20:49:25.591+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Интересно'/><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><title type='text'>Make Love, Not Warcraft</title><content type='html'>Уже довольно давно многие успели посмотреть замечательный мультик "Make Love, Not Warcraft", но с тех пор его стерли с YouTube. Тем не менее он все ещё существует в сети (правда с переводом на русский).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" height="400" width="455"&gt;&lt;param name="allowScriptAccess" value="sameDomain"&gt;&lt;param name="movie" value="http://www.myvi.ru/ru/player7.swf?video=4a83522b16bf4b1c8d12642490c500a6&amp;ap=0"&gt;&lt;param name="quality" value="high"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.myvi.ru/ru/player7.swf?video=4a83522b16bf4b1c8d12642490c500a6&amp;amp;ap=0" quality="high" wmode="transparent" name="player" allowscriptaccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" height="400" width="455"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-7005541518546190526?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/7005541518546190526/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=7005541518546190526' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/7005541518546190526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/7005541518546190526'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/04/make-love-not-warcraft.html' title='Make Love, Not Warcraft'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-8487778708995909555</id><published>2007-04-21T14:35:00.000+04:00</published><updated>2007-04-21T15:27:33.358+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WTF'/><title type='text'>Календарь :-)</title><content type='html'>Я долго крепился, но все-таки не выдержал и выложу сюда данное архитектурное решение. Это кусочек реальной базы данных, использующейся в реальной программе.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Таблица DAY_CATEGORY&lt;/span&gt;:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_UWPsw_DgfYM/RinprE-XZEI/AAAAAAAAABE/FNycZsGn7yQ/s1600-h/DAY_CATEGORY.JPG"&gt;&lt;img style="cursor: pointer;" src="http://bp2.blogger.com/_UWPsw_DgfYM/RinprE-XZEI/AAAAAAAAABE/FNycZsGn7yQ/s400/DAY_CATEGORY.JPG" alt="" id="BLOGGER_PHOTO_ID_5055828982979060802" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Таблица CALENDAR_DAY_CATEGORY &lt;/span&gt;(вернее её начало и конец):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_UWPsw_DgfYM/Rinzy0-XZLI/AAAAAAAAAB8/V86xQPjhvw4/s1600-h/top.jpg"&gt;&lt;img style="cursor: pointer;" src="http://bp1.blogger.com/_UWPsw_DgfYM/Rinzy0-XZLI/AAAAAAAAAB8/V86xQPjhvw4/s400/top.jpg" alt="" id="BLOGGER_PHOTO_ID_5055840111239324850" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_UWPsw_DgfYM/Rin0Bk-XZMI/AAAAAAAAACE/vuMQkgaRzwQ/s1600-h/bottom.jpg"&gt;&lt;img style="cursor: pointer;" src="http://bp0.blogger.com/_UWPsw_DgfYM/Rin0Bk-XZMI/AAAAAAAAACE/vuMQkgaRzwQ/s400/bottom.jpg" alt="" id="BLOGGER_PHOTO_ID_5055840364642395330" border="0" /&gt;&lt;/a&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/21088732-8487778708995909555?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/8487778708995909555/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=8487778708995909555' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/8487778708995909555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/8487778708995909555'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/04/blog-post_21.html' title='Календарь :-)'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_UWPsw_DgfYM/RinprE-XZEI/AAAAAAAAABE/FNycZsGn7yQ/s72-c/DAY_CATEGORY.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-1992052873553538388</id><published>2007-04-19T12:15:00.000+04:00</published><updated>2007-04-19T15:47:09.243+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='практика программирования'/><title type='text'>Где провести черту: системы контроля версий</title><content type='html'>Очень часто в повседневной работе возникает вопрос компромисса. Насколько глубоко нужно изучать предмет? Насколько в программе нужно предусматривать возможности расширения? Лучшее действительно враг хорошего? Когда нужно остановиться в улучшениях? Насколько ревностно стоит следовать стандартам форматирования кода? Действительно ли скобка поставленная не на той строке обозначает некоторую критическую проблему в ДНК человека, её поставившего? Все подобные вопросы объединились в моей голове под общим "заголовком" - "Где провести черту?"&lt;br /&gt;&lt;br /&gt;Сегодня хотел обсудить такую тему, как использование систем контроля версий при разработке программного обеспечения. На самом деле, мне даже сам факт очередного обсуждения данного вопроса не нравится. Уж вроде столько всего говорено-переговорено и самыми большими гуру и теми у кого и труба пониже и дым пожиже, и книжек написано достаточно. Но тем не менее вопросы и "ситуации" все равно возникают, так что не обессудьте.&lt;br /&gt;&lt;br /&gt;Про то, что такое система контроля версий и зачем она нужна, я думаю все, кто когда либо программировал, знают. Ну, а если кто не знает, отошлю на &lt;a href="http://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%8F%D0%BC%D0%B8"&gt;википедию&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Несмотря на то, что подобные системы существуют уже очень давно, частенько возникают вопросы по правильному их использованию, а именно - вопросы типа "где провести черту".&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Что должно находиться в системе контроля версий?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ответы на этот вопрос варьируются от "только исходный код" до "всегда используйте систему управления исходными текстами", причём и та и другая стороны вполне категоричны. Где же провести черту? Нужно ли хранить в системе управления исходными текстами все письма, написание которых сопровождало написание программы? А нужно ли хранить там документацию? А различные версии логотипа? А, скажем, внутренние технические документы? А меняющийся, с течением времени, список телефонных номеров разработчиков?&lt;br /&gt;&lt;br /&gt;У меня на этот счёт очень простой взгляд. Мы занимаемся производством программного продукта. Производством того, что мы поставляем конечному пользователю (заметим, что конечный пользователь - это "роль" - им вполне можем быть мы сами). Поэтому в системе контроля за исходными текстами &lt;span style="font-weight: bold;"&gt;должно&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; находиться все что нужно чтобы собрать версию нашего продукта заново&lt;/span&gt;. То есть это исходные тексты программы, документация, картинки, сборочные скрипты, тексты лицензионных соглашений и так далее. Очень просто проверить находится ли в системе исходных текстов все что нужно - необходимо взять "чистый" компьютер, поставить на него то программное обеспечение которое необходимо для сборки продукта, "взять" из системы управления версиями какую-то версию продукта и попробовать запустить процесс сборки (сетевой доступ к чему-либо, кроме системы контроля версий можно отменить). Если получится нормальная сборка продукта - значит в системе есть все что должно быть.&lt;br /&gt;&lt;br /&gt;Должно ли в системе контроля версий быть что-то ещё? Вопрос вкуса. Мне кажется что на уровне общих "правил" не стоит пытаться засунуть туда все что можно себе представить.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;В какой момент вещи должны попадать в систему контроля версий?&lt;/span&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;Проблему слишком частого внесения изменений решить несколько сложнее. Часто вводят строгое правило - "не чекинить не работающий код", которое в результате может вылиться у людей в отторжение и даже боязнь внесения кода в систему контроля версий вообще. Данную проблему можно решить разными способами, но на мой взгляд самым простым является заведение в системе контроля версий "своей" ветки для каждого из разработчиков, в которой он сможет работать так, как ему удобно. В момент "сборки" можно просто переложить готовые файлы из личной ветки в общую (ну и сделать "merge" при необходимости).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Замечание для "администраторов"&lt;/span&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;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-1992052873553538388?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/1992052873553538388/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=1992052873553538388' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/1992052873553538388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/1992052873553538388'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/04/blog-post_19.html' title='Где провести черту: системы контроля версий'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-8648825417745553647</id><published>2007-04-12T00:00:00.000+04:00</published><updated>2007-04-17T17:26:21.888+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='о жизни'/><title type='text'>:-(</title><content type='html'>Умер Курт Воннегут. Такие дела(с)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-8648825417745553647?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/8648825417745553647/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=8648825417745553647' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/8648825417745553647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/8648825417745553647'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/04/blog-post_12.html' title=':-('/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-3269039571499791539</id><published>2007-04-01T22:47:00.000+04:00</published><updated>2007-04-02T01:53:56.683+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='о жизни'/><title type='text'>Науку нужно защищать?</title><content type='html'>Довольно много разговоров сейчас идет про различные "чудеса", информация о которых то и дело сообщается нам различными СМИ. Много чего интересного можно узнать: про телепатию, астрологию, людей "улучшающих" свойства воды, можно узнать о "торсионных полях" и чудесных свойствах пирамид, о спящих где-то в Гималаях лемурийцах, о великой российской империи, чьим царским кладбищем были египетские пирамиды.&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;Все эти явления получили у нас название "лженауки". Вот определение лженауки, данное академиком РАН Александровым Е. Б.:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;br /&gt;Однако, основное содержание термина предполагает лишь заведомую (ап&lt;/span&gt;&lt;span style="font-style: italic;"&gt;риорную) ОШИБОЧНОСТЬ позиций оппонентов рациональной науки, отводя в &lt;/span&gt;&lt;span style="font-style: italic;"&gt;ней обширное пространство для добросовестных заблуждений. Поэтому, в запад&lt;/span&gt;&lt;span style="font-style: italic;"&gt;ной литературе обычно используется более мягкий ("политкорректный") термин &lt;/span&gt;&lt;span style="font-style: italic;"&gt;"псевдонаука", а также "паранаука".&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Итак лже- или пара- наука. Люди, находящиеся вокруг, талантливые и не очень, жулики, добросовестно заблуждающиеся ученые или новые непризнанные Ньютоны и Эйнштейны. "Традиционная" наука не жалует всех этих людей. Российской академией наук сформирована специальная "Комиссия по борьбе с лженаукой и фальсификацией научных исследований".&lt;br /&gt;&lt;br /&gt;Недавно комиссия начала издавать бюллетень "&lt;a href="http://www.ras.ru/digest/fdigestlist/bulletin.aspx"&gt;В защиту науки&lt;/a&gt;". Бюллетень предназначен для того чтобы:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;... развенчивать самые разные направления лже-&lt;/span&gt;&lt;span style="font-style: italic;"&gt;науки, в том числе и те, которые проникли сегодня в медицину, в образование, в &lt;/span&gt;&lt;span style="font-style: italic;"&gt;бизнес.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;Всем  людям, поверившим нашей прессе и пытающимся убедить себя в существовании разного рода "чудес" я предлагаю этот бюллетень прочесть.&lt;br /&gt;&lt;br /&gt;Я очень скептически отношусь ко всяким паранаучным заявлениям, однако должен признать что и бюллетень вызывает у меня не менее скептические ощущения. "Развенчивать" - это конечно благородная затея, но мне кажется не самая полезная.&lt;br /&gt;Почему лженаука так популярна? Почему СМИ накидываются на сообщения разного рода "волшебников", люди раскупают книги Фоменко? Бюллетень дает ответ на этот вопрос:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;... что у нее[лженауки] нет тормозов. Она, в отличие от науки, может обещать все,что &lt;/span&gt;&lt;span style="font-style: italic;"&gt;угодно (то, что это обман, и что он когда-нибудь вскроется, не столь важно). &lt;/span&gt;&lt;span style="font-style: italic;"&gt;Лженауке свойственно манипулировать чудесами – от контактов с пришельцами &lt;/span&gt;&lt;span style="font-style: italic;"&gt;до получения необыкновенного алмаза, который, полежав немного в пирамиде, &lt;/span&gt;&lt;span style="font-style: italic;"&gt;«всасывающей космическую энергию», становится значительно тверже обычного. &lt;/span&gt;&lt;span style="font-style: italic;"&gt;Новоявленные алхимики обещают дешевые материалы в золото и даже получают &lt;/span&gt;&lt;span style="font-style: italic;"&gt;финансовую поддержку государства! Этот перечень можно продолжать беско&lt;/span&gt;&lt;span style="font-style: italic;"&gt;нечно.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Мне кажется есть ещё одна важная причина - лженаука подается людьми, имеющими отличные способности популяризации. Вы не замечали что книги Фоменко гораздо более увлекательны чем многие "традиционные" учебники истории?&lt;br /&gt;&lt;br /&gt;Где популяризация "традиционной", "нормальной" науки? Где книги, которые можно было читать с интересом? Книгу профессора Куна "Легенды и мифы древней Греции" прочитали наверное миллионы человек. Почему? Потому что она была интересна! Где фильмы, популяризирующие науку? Рассказывающие о научных достижениях?&lt;br /&gt;&lt;br /&gt;Известно, что люди любят то, что интересно. Неужели настоящая наука не может быть "подана" так, чтобы заинтересовать потенциального читателя, зрителя слушателя?&lt;br /&gt;&lt;br /&gt;Я прошлой зимой был в &lt;a href="http://eng.polymus.ru/rv/"&gt;Московском Политехническом Музее&lt;/a&gt; на экскурсии "&lt;a href="http://eng.polymus.ru/rv/?s=121"&gt;От Абака до Компьютера&lt;/a&gt;". На экскурсии присутствовало 4 человека, считая меня. Да,да - 4 человека.  Это и понятно - экскурсия не интересная, и даже я бы сказал скучная. Неужели о рождении компьютеров нельзя рассказать интересно? Книгу о том как работает компьютер Чарльза Петцольда "&lt;a href="http://www.amazon.com/gp/product/0735611319?ie=UTF8&amp;tag=lktalks-20&amp;amp;linkCode=as2&amp;camp=1789&amp;amp;creative=9325&amp;creativeASIN=0735611319"&gt;Code: The Hidden Language of Computer Hardware and Software&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=lktalks-20&amp;amp;l=as2&amp;o=1&amp;amp;a=0735611319" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1" /&gt;" лично я читал запоем. А книга кстати вполне годится для школьников старших классов. А после прочтения подобных книг сразу уничтожаются мысли о том что кмопьютерный вирус может заразить человека.&lt;br /&gt;&lt;br /&gt;А неужели физика или история такие скучные науки что ничего интересного о них рассказать нельзя? И интересно только читать академика Фоменко и господина Акимова?&lt;br /&gt;&lt;br /&gt;Мне кажется в "традиционной" науке достаточно много ярких, интересных, захватывающих событий - нужно только талантливо, увлекательно о них рассказать. Лучшая защита от "лженауки" - хорошее знание науки "традиционной". Тогда и защищать науку не придется - все само встанет на свои места.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-3269039571499791539?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/3269039571499791539/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=3269039571499791539' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/3269039571499791539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/3269039571499791539'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/04/blog-post.html' title='Науку нужно защищать?'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-4885031618787399706</id><published>2007-03-27T07:55:00.000+04:00</published><updated>2007-03-28T03:55:32.427+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='о жизни'/><title type='text'>Цветы жизни</title><content type='html'>Фаркаш Бояи, венгерский математик, отец одного из "опровергателей" пятого постулата эвклида и создателя неэвклидовой геометрии Яноша Бояи писал своему сыну:&lt;br /&gt;&lt;br /&gt;".&lt;span style="font-style: italic;"&gt;.. для некоторых вещей существуют эпохи, когда они появляются одновременно во многих  местах, совершенно как фиалки, которые ранней весной выходят на свет отовсюду&lt;/span&gt;".&lt;br /&gt;&lt;br /&gt;Я довольно часто убеждался в том, что это очень верное наблюдение. Многие идеи в какие-то времена приходят в голову одновременно многим людям. Так было и во времена отца и сына Бояи, также и сейчас.&lt;br /&gt;&lt;br /&gt;Вот например сегодня сразу пара материалов на очень близкие темы попалось мне под руку. Почитайте в любом порядке:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://www.paulgraham.com/nerds.html"&gt;Why nerds are unpopular&lt;/a&gt;? - статья &lt;a href="http://www.paulgraham.com/bio.html"&gt;Пола Грэма&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://offline.computerra.ru/2007/677/310270/"&gt;Человеководство и компьютер&lt;/a&gt; - статья Михаила Ваннаха в &lt;a href="http://www.computerra.ru/"&gt;Компьютерре&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;Только просьба - не обращайте внимания на частности - пробуйте найти что-то общее между всеми этими ... "источниками".&lt;br /&gt;&lt;br /&gt;P.S. О Фаркаше и Яноше Бояи можно прочитать в книге  "Три судьбы" Анны Ливановой. Книгу эту я в интернет магазинах не нашёл, зато нашёл её оформленной в виде курсовой работы вот &lt;a href="http://www.nerungri.edu.ru/muuo/web/wrapper/konkurs/3/work/1/index1.htm"&gt;тут&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21088732-4885031618787399706?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/4885031618787399706/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=4885031618787399706' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/4885031618787399706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/4885031618787399706'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/03/blog-post_27.html' title='Цветы жизни'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-7050998853445834914</id><published>2007-03-22T03:32:00.000+03:00</published><updated>2007-06-06T22:18:58.369+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><category scheme='http://www.blogger.com/atom/ns#' term='утилиты'/><title type='text'>Portable Skype</title><content type='html'>Я давно пользуюсь &lt;a href="http://www.miranda-im.org/"&gt;Miranda&lt;/a&gt; в качестве Instant Messenger. При этом Miranda у меня находится на USB-винчестере. Все это очень хорошо и удобно, но вот последнее время мне часто приходится использовать &lt;a href="http://www.skype.com/"&gt;Skype&lt;/a&gt;. Соответственно я скачал &lt;a href="http://addons.miranda-im.org/details.php?action=viewfile&amp;id=3200"&gt;плагин&lt;/a&gt;, позволяющий использовать Skype прямо из Miranda. И все бы хорошо, но Skype приходится инсталлировать, и к тому же настраивать, на каждом из используемых компьютеров.&lt;br /&gt;&lt;br /&gt;Сегодня я выяснил - сам не понимаю, как я об этом раньше не знал, что Skype вполне может быть portable.&lt;br /&gt;&lt;br /&gt;Очень просто - копируешь skype.exe в любой каталог на USB-диске или flash-ке, и запускаешь вот так:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 51, 153);font-size:85%;" &gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;skype.exe /datapath:"путь к каталогу где будут жить настройки" /removable&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 51, 153);"&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;где datapath указывает на каталог где будут жить все настройки. И все работает. Плагин для Miranda тоже можно настроить так, чтобы он использовал не стандартный Skype, а portable:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_UWPsw_DgfYM/RgHUyxx9iaI/AAAAAAAAAA4/bqQplCscS-k/s1600-h/skype_in_miranda.JPG"&gt;&lt;img style="cursor: pointer;" src="http://bp3.blogger.com/_UWPsw_DgfYM/RgHUyxx9iaI/AAAAAAAAAA4/bqQplCscS-k/s400/skype_in_miranda.JPG" alt="" id="BLOGGER_PHOTO_ID_5044547026453105058" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Кстати вот тут: &lt;a href="http://support.skype.com/index.php?_a=knowledgebase&amp;_j=questiondetails&amp;amp;_i=171"&gt;Skype Command Line Options&lt;/a&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/21088732-7050998853445834914?l=lktalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lktalks.blogspot.com/feeds/7050998853445834914/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21088732&amp;postID=7050998853445834914' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/7050998853445834914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21088732/posts/default/7050998853445834914'/><link rel='alternate' type='text/html' href='http://lktalks.blogspot.com/2007/03/portable-skype.html' title='Portable Skype'/><author><name>Lev Kurts</name><uri>http://www.blogger.com/profile/11213122096840626861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_UWPsw_DgfYM/RgHUyxx9iaI/AAAAAAAAAA4/bqQplCscS-k/s72-c/skype_in_miranda.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21088732.post-5388470080926458646</id><published>2007-03-18T22:13:00.000+03:00</published><updated>2007-03-19T00:16:50.814+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Интересно'/><category scheme='http://www.blogger.com/atom/ns#' term='практика программирования'/><title type='text'>Про парное программирование - часть 2</title><content type='html'>Продолжу пост, начатый &lt;a href="http://lktalks.blogspot.com/2007/03/1.html"&gt;здесь&lt;/a&gt;. Напомню, что я остановился на том, что недавно, а именно в февральском номере журнала IEEE Transactions on Software Engineering была опубликована &lt;a href="http://base.google.com/base/a/lkurts/1555079/D7363918994313740994"&gt;статья &lt;/a&gt;Erik Arisholm, Hans Gallis, Tore Dyba и Dag I.K. Sjøberg посвящённая проведённому ими исследованию в области парного программирования.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Исследование Simula Research Laboratory&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Данная работа отличается от всех вышеупомянутых исследований своей масштабностью, гораздо более тщательным и аккуратными утверждениями и большей продуманностью выводов. Кроме того, хотел бы обратить внимание, что 4-й эксперимент, упомянутый в предыдущем моем посте и данное исследование проводились практически одновременно - просто официальная публикация была в разное время. Поэтому данные можно считать взаимно дополняющими.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;В описываемом эксперименте принимало участие 295 Java-разработчиков - 98 пар и 99 соло программистов из различных европейских компаний (всего 29 компаний).&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Эксперимент состоял из двух фаз - первая фаза была проведена в 2001 году и в ней участвовали только соло-программисты.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Вторая фаза состоялась в конце 2004 начале 2005 годов и в ней участвовали пары&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;В данном эксперименте, в отличии от всех предыдущих, участники не должны были выполнить некоторую программистскую задачу с нуля. Все задания (кроме тренировочного) состояли в том, что необходимо было внести некоторое изменение в уже существующую программу.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Задания&lt;/span&gt;:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Тренировочное задание&lt;/span&gt;: сначала каждому участнику была выдана простое задание : прочесть цифры с клавиатуры и вывести их в порядке обратном порядку ввода. Данное задане все участники выполняли для того чтобы ознакомиться с окружением и правилами эксперимента&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Индивидуальное тестовое задание&lt;/span&gt;: каждый из участников должен был внести изменение в программу. Все участники должны были внести одно и тоже изменение в одну и ту же программу. В рассматриваемой программе было 7 классов и 354 строки кода. Необходимо было добавить лог а также возможность распечакти баланса банковского счета. Данная программа не была похожа на программы, использовавшиеся во время самого эксперимента. Тестовое задание использовалось для того, чтобы сравнить относительные уровни программистов, участвующих в тестах.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Основные задания эксперимента (4 задания)&lt;/span&gt;:Основные задания были основаны на программе управления кофе-машиной. При этом существовало два вида такой программы, с одной и той же исходной функциональностью. Одна из программ была устроена более сложно и состояла из 12 классов. Другая программа была устроена проще и состояла из 7 классов. Для каждой из программ существовали UML описания сценариев работы, для того чтобы можно было лучше понять архитектуру программ. Сами задания состояли в добавлении следующих новых возможностей в программу управления кофе-машиной:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Реализации кнопки: возврат монеты&lt;/li&gt;&lt;li&gt;Добавление нового вида напитка (бульон)&lt;/li&gt;&lt;li&gt;Проверка того, имеются ли в наличии все ингредиенты для выбранного вида напитка&lt;/li&gt;&lt;li&gt;Добавление возможности содания своего собственного напитка, при помощи разрешения пользователю выбора из всех доступных ингредиентов.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Синхронизационное задание&lt;/span&gt;: последнее предлагаемое участникам задание имело специальную цель. Результаты его выполнения не учитывались, но участники об этом не знали. Таким образом им приходилось работать над всеми реальными заданиями со всей возможной скоростью.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Обстановка &lt;/span&gt;эксперимента:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Сам эксперимент проводился в течение 27 дней - 10 дней для соло-программистов и 17 дней для пар&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Все происходило в собственных офисах разработчиков или в офисах Simula Research Laboratory.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Всем участникам был предоставлен доступ в интернет, книги и так далее&lt;/li&gt;&lt;li&gt;Каждый участник мог также пользльваться любым средством разработки по желанию: Eclipse, IntekkiJ Idea, JBuilder, NetBeans - чем угодно.&lt;/li&gt;&lt;li&gt;Все это было сделано для того, чтобы максимально приблизить условия эксперимента к реальным, в которых консультанта нанимает компания-клиент, для того чтобы произвести некоторое изменение в программе.&lt;/li&gt;&lt;li&gt;Для того, чтобы более точно учитывать потраченное время, перерывы разрешалось делать только между заданиями, но не во время выполнения одного задания.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Что &lt;span style="font-weight: bold;"&gt;оценивалось&lt;/span&gt;:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Длительность &lt;/span&gt;- время (в минутах), потраченное на то, чтобы справиться с основными заданиями эксперимента&lt;/li&gt;&lt;li&gt;"&lt;span style="font-weight: bold;"&gt;Цена&lt;/span&gt;" - человеко-минуты ( ну то есть попросту говоря зарплата), потребовавшиеся на задания. Для пар цена представляла собой длительность, умноженную на 2&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Правильность&lt;/span&gt; - 1, если все 4 задания были сделаны верно и 0, в противном случае. Решения проверялись двумя независимыми экспертами, а также специальными тестами, которые сравнивали результат выполнения программ с заранее изаготовленным правильным результатом.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Факторы&lt;/span&gt;, влияющие на результат (факторы, которые рассматривались исследователями при анализе)&lt;br /&gt;&lt;/li&gt;&lt;ul&gt;&lt;li style="font-weight: bold;"&gt;Парное или соло программирование&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Сложность системы&lt;/span&gt; - некоторым программистам выдавалась программа написанная более "сложно", а некоторым "менее сложно"&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Уровень программистов&lt;/span&gt; - Junior, Intermediate, Senior&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Проверяемые &lt;span style="font-weight: bold;"&gt;гипотезы&lt;/span&gt;&lt;br /&gt;Изначально эк
