<?xml version='1.0' encoding='utf-8' ?>
<!--  If you are running a bot please visit this policy page outlining rules you must respect. http://www.livejournal.com/bots/  -->
<rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/' xmlns:media='http://search.yahoo.com/mrss/'>
<channel>
  <title>Ванькин ЖЖ</title>
  <link>http://dedm.livejournal.com/</link>
  <description>Ванькин ЖЖ - LiveJournal.com</description>
  <lastBuildDate>Sun, 19 Jul 2009 12:04:03 GMT</lastBuildDate>
  <generator>LiveJournal / LiveJournal.com</generator>
  <lj:journal>dedm</lj:journal>
  <lj:journalid>7118061</lj:journalid>
  <lj:journaltype>personal</lj:journaltype>
  <image>
    <url>http://l-userpic.livejournal.com/30149848/7118061</url>
    <title>Ванькин ЖЖ</title>
    <link>http://dedm.livejournal.com/</link>
    <width>100</width>
    <height>100</height>
  </image>

<item>
  <guid isPermaLink='true'>http://dedm.livejournal.com/87463.html</guid>
  <pubDate>Sun, 19 Jul 2009 12:04:03 GMT</pubDate>
  <title>Theory of Constraints</title>
  <link>http://dedm.livejournal.com/87463.html</link>
  <description>Оказывается, существует довольно интересная теория управления проектами — &lt;a href=&quot;http://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%BE%D0%B3%D1%80%D0%B0%D0%BD%D0%B8%D1%87%D0%B5%D0%BD%D0%B8%D0%B9&quot;&gt;Теория Ограничений&lt;/a&gt;, которая дополняет и расширяет классический подход, описываемый в &lt;a href=&quot;http://www.pmi.org/Resources/Pages/Library-of-PMI-Global-Standards-projects.aspx&quot;&gt;Guide to PMBok&lt;/a&gt;. Последний является международным промышленным стандартом, сертификацию по которому осуществляет &lt;a href=&quot;http://pmi.org&quot;&gt;PMI&lt;/a&gt;. Theory of Constraints (TOC) в свою очередь позиционируется авторами, как более современный и эффективный подход, однако требующий от менеджера измененить свое стандартное мышление.&lt;br /&gt;&lt;br /&gt;О применении этой теории к разработке программных продуктов в России: &lt;a href=&quot;http://sqlmag.ru/cio/2005/01/173751/_p1.html&quot;&gt;интервью с соавтором в журнале CIO.ru&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;К слову, надо будет поискать какие-нибудь модные концепции, расширяющие &lt;a href=&quot;http://swebok.org/&quot;&gt;Guide to SWEBoK&lt;/a&gt;. Поговаривают, многие авторитетные разработчики, в том числе небезызвестные Мартин Фаулер или Гради Буч, считают, что этот промышленный стандарт разработки ПО нуждается в значительных доработках.</description>
  <comments>http://dedm.livejournal.com/87463.html</comments>
  <category>management</category>
  <category>development</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://dedm.livejournal.com/87141.html</guid>
  <pubDate>Wed, 15 Jul 2009 08:00:31 GMT</pubDate>
  <title>Version numbering</title>
  <link>http://dedm.livejournal.com/87141.html</link>
  <description>Правила и порядок нумерации версий программных продуктов — это один из многих вопросов, который мне постоянно не давал покоя, и неоднократно был причиной споров с менеджерами и маркетологами.&lt;br /&gt;&lt;br /&gt;До абсурда, конечно же, эту проблему довел непревзойденный лидер всяких абсудров, компания Microsoft: так, например, программная версия Windows 7 вовсе не 7.0, а 6.1.&lt;br /&gt;&lt;br /&gt;Познавательная статья, которая приводит множество удачных и неудачных примеров нумерования версий в ПО: &lt;a href=&quot;http://technologizer.com/2009/07/14/version-numbers/&quot;&gt;The Amazing World of Version Numbers&lt;/a&gt;.</description>
  <comments>http://dedm.livejournal.com/87141.html</comments>
  <category>versioning</category>
  <category>development</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://dedm.livejournal.com/86912.html</guid>
  <pubDate>Tue, 14 Jul 2009 08:08:07 GMT</pubDate>
  <title>Logging is an art</title>
  <link>http://dedm.livejournal.com/86912.html</link>
  <description>Logging is an art — такая концептуальная идея &lt;a href=&quot;http://java.dzone.com/articles/its-not-working-first-steps&quot;&gt;изложена в интересной статье&lt;/a&gt;, в которой пошагово описываются те очевидные действия, которые должен выполнить пользователь, прежде чем сообщить разработчику о проблеме в виде «все сломалось и ничего не работает».</description>
  <comments>http://dedm.livejournal.com/86912.html</comments>
  <category>logging</category>
  <category>development</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://dedm.livejournal.com/86437.html</guid>
  <pubDate>Tue, 14 Jul 2009 06:31:51 GMT</pubDate>
  <title>ORM</title>
  <link>http://dedm.livejournal.com/86437.html</link>
  <description>Интересная табличка, сравнивающая две &lt;i&gt;стандартных&lt;/i&gt; техники ORM: &lt;a href=&quot;http://db.apache.org/jdo/jdo_v_jpa_orm.html&quot;&gt;JDO vs JPA&lt;/a&gt;.</description>
  <comments>http://dedm.livejournal.com/86437.html</comments>
  <category>orm</category>
  <category>java</category>
  <category>development</category>
  <lj:security>public</lj:security>
  <lj:reply-count>3</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://dedm.livejournal.com/86101.html</guid>
  <pubDate>Tue, 07 Jul 2009 09:12:39 GMT</pubDate>
  <title>Интересы компании и социальные сети</title>
  <link>http://dedm.livejournal.com/86101.html</link>
  <description>Исследовательская лаборатория HP опубликовала интересное исследование: &lt;a href=&quot;http://www.hpl.hp.com/techreports/2009/HPL-2009-138.html&quot;&gt;Towards an Analytic Approach to Evaluate Enterprises&apos; Risk Exposure to Social Networks&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;В частности, они объясняют, почему решения менеджмента закрыть сотрудникам доступ ко всяким одноклассникам и вконтакте являются глупыми и недальновидными, и приводят более эффективные способы уменьшения рисков.</description>
  <comments>http://dedm.livejournal.com/86101.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://dedm.livejournal.com/85867.html</guid>
  <pubDate>Mon, 06 Jul 2009 13:39:03 GMT</pubDate>
  <title>Vim ist da powah</title>
  <link>http://dedm.livejournal.com/85867.html</link>
  <description>EDC недавно опубликовала рейтинг самых популярных платформ разработки среди пользователей: &lt;a href=&quot;http://www.evansdata.com/reports/viewRelease_download.php?reportID=19&quot;&gt;Software Development Platforms - 2009 Rankings&lt;/a&gt; (Чтобы скачать весь отчет целиком — просто вбейте в форму данные от балды.)&lt;br /&gt;&lt;br /&gt;К сожалению, vim в этот рейтинг не попал :) Зато большой интерес представляют критерии, по которым оцениваются эти платформы.</description>
  <comments>http://dedm.livejournal.com/85867.html</comments>
  <category>ide</category>
  <category>vim</category>
  <lj:security>public</lj:security>
  <lj:reply-count>2</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://dedm.livejournal.com/85545.html</guid>
  <pubDate>Mon, 06 Jul 2009 13:14:50 GMT</pubDate>
  <title>Green IT</title>
  <link>http://dedm.livejournal.com/85545.html</link>
  <description>Один ваш запрос в гугле по количеству вырабатываемого CO&lt;sub&gt;2&lt;/sub&gt; сравним со вскипанием одного чайника, &lt;a href=&quot;http://www.foxnews.com/story/0,2933,479127,00.html&quot;&gt;передает нам FoxNews&lt;/a&gt;.</description>
  <comments>http://dedm.livejournal.com/85545.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>6</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://dedm.livejournal.com/84941.html</guid>
  <pubDate>Fri, 03 Jul 2009 07:55:33 GMT</pubDate>
  <title>Software requirements &amp; Separation of concerns</title>
  <link>http://dedm.livejournal.com/84941.html</link>
  <description>Часто замечаю, что многие разработчики функциональных требований не обладают функциональным мышлением, и как следствие, функциональные требования функциональнымы по сути и не являются.&lt;br /&gt;&lt;br /&gt;В частности, вместо описания состояний, в которых может находится система, нужно описывать действия, которые с ней производит пользователь, например: требование «пользователь может быть авторизованным или неавторизованным» правильнее формулировать, например, так: «система проверяет введенный пользователем пароль, и в случае успешного результата пользователь сможет выполнять такие-то действия». &lt;span style=&quot;font-size:smaller;&quot;&gt;(У меня где-то был более подробный разбор проблемы на примере из реального техзадания. Если кому-то будет интересно, то я опубликую его в следующих сериях).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Мне это казалось интуитивно понятным, и недавно я обнаружил похожую более обобщенную идею Separation of Concerns в авторитетных источниках:&lt;br /&gt;&lt;br /&gt;&lt;blockquote style=&quot;font-size:smaller;&quot;&gt;The programmer is having to do several things at the same time, namely, &lt;i&gt;1. describe what is to be computed&lt;/i&gt;; 2. organise the computation sequencing into small steps; 3. organise memory management during the computation.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Ideally, the programmer should be able to concentrate on the first of the three tasks (describing what is to be computed) without being distracted by the other two, more administrative, tasks.&lt;/i&gt; Clearly, administration is important but by separating it from the main task we are likely to get more reliable results and we can ease the programming problem by automating much of the administration. The &lt;i&gt;separation of concerns&lt;/i&gt; has other advantages as well. For example, program proving becomes much more feasible when details of sequencing and memory management are absent from the program. Furthermore, descriptions of what is to be computed should be free of such detailed step-by-step descriptions of how to do it if they are to be evaluated with different machine architectures. Sequences of small changes to a data object held in a store may be an inappropriate description of how to compute something when a highly parallel machine is being used with thousands of processors distributed throughout the machine and local rather than global storage facilities. Automating the administrative aspects means that the language implementor has to deal with them, but he/she has far more opportunity to make use of very different computation mechanisms with different machine architectures.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.amazon.com/Elements-Functional-Programming-International-Computer/dp/0201129159&quot;&gt;Chris Reade, Elements of Functional Programming, 1989&lt;/a&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;То есть, выражая свою первую идею другими словами, функциональные требования должны концентрироваться на описании того, что &lt;i&gt;будет делать&lt;/i&gt; система с точки зрения пользователя (1), а не в какой последовательности нужно подавать команды вычислительной машине (2), и не в каком виде будет представлен в памяти результат этих действий (3).&lt;br /&gt;&lt;br /&gt;Но все-таки в первую очередь разработчик должен думать не только о том, &lt;i&gt;что&lt;/i&gt; должна делать система, а о том, &lt;i&gt;зачем, с какой целью&lt;/i&gt; она это будет делать. Это другой не менее важный concern, о котором советовал задумываться еще в 1974 году небезызвестный Дейкстра:&lt;br /&gt;&lt;br /&gt;&lt;blockquote style=&quot;font-size:smaller;&quot;&gt;In another mood we may ask ourselves whether, and if so: &lt;i&gt;why, the program is desirable&lt;/i&gt;. But nothing is gained ­— on the contrary! — by tackling these various aspects simultaneously.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.cs.utexas.edu/users/EWD/transcriptions/EWD04xx/EWD447.html&quot;&gt;Dijkstra, Edsger W., On the role of scientific thought&lt;/a&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;В этом состоит вторая простая и очевидная идея: описание целей и задач как неотъемлемых артефактов software requirements нужно всегда выделять в два отдельных документа.</description>
  <comments>http://dedm.livejournal.com/84941.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>8</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://dedm.livejournal.com/84586.html</guid>
  <pubDate>Wed, 01 Jul 2009 08:28:56 GMT</pubDate>
  <title>TeX ist da powah!</title>
  <link>http://dedm.livejournal.com/84586.html</link>
  <description>Пост, утверждающий превосходство &lt;a href=&quot;http://www.tug.org/&quot;&gt;T&lt;sub style=&quot;vertical-align: -0.5ex;margin-left: -0.1667em;margin-right: -0.125em;font-size: 1em;&quot;&gt;E&lt;/sub&gt;X&lt;/a&gt; над другими жалкими визуальными редакторами и УГ-форматами документов вроде M$Word.&lt;br /&gt;&lt;br /&gt;Тот, кто не пользуется &lt;a href=&quot;http://www.tug.org/texlive/&quot;&gt;T&lt;sub style=&quot;vertical-align: -0.5ex;margin-left: -0.1667em;margin-right: -0.125em;font-size: 1em;&quot;&gt;E&lt;/sub&gt;X&lt;/a&gt;&apos;ом для создания документации — расстраивает Дональда Кнута.&lt;br /&gt;&lt;br /&gt;Dixi.</description>
  <comments>http://dedm.livejournal.com/84586.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>4</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://dedm.livejournal.com/84147.html</guid>
  <pubDate>Mon, 29 Jun 2009 10:11:34 GMT</pubDate>
  <title>Software engineer&apos;s code of ethics</title>
  <link>http://dedm.livejournal.com/84147.html</link>
  <description>Моральный кодекс профессионального разработчика:&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.computer.org/certification/ethics.htm&quot;&gt;IEEE-CS/ACM Joint Task Force on Software Engineering Ethics and Professional Practices&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Последний пункт гласит: [...] software engineers shall continually endeavor to:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;8.09. Recognize that personal violations of this Code are inconsistent with being a professional software engineer. &lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Проверьте, можете ли вы называть себя профессионалом. Еще одна рекомендуемая статья по теме: &lt;a href=&quot;http://www.processimpact.com/articles/culture.pdf&quot;&gt;Creating a software engineering culture (pdf)&lt;/a&gt; by Karl E. Wiegers.</description>
  <comments>http://dedm.livejournal.com/84147.html</comments>
  <category>standards</category>
  <category>development</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://dedm.livejournal.com/83626.html</guid>
  <pubDate>Thu, 25 Jun 2009 11:29:53 GMT</pubDate>
  <title>Highload &amp; benchmarks</title>
  <link>http://dedm.livejournal.com/83626.html</link>
  <description>Мне уже давно приходится сталкиваться с нагруженными системами, но вопрос о существовании стандартной методики оценки производительности долгое время для меня оставался открытым.&lt;br /&gt;&lt;br /&gt;Похоже, мне удалось, наконец, найти хорошую отправную точку в этом вопросе. Встречайте всемирно признанного авторитета: &lt;a href=&quot;http://www.tpc.org/&quot;&gt;Transaction Processing Performance Council&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Основные предлагаемые бенчмарки:&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.tpc.org/tpc_app/default.asp&quot;&gt;TPC-App&lt;/a&gt; is an Application Server and web services benchmark&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.tpc.org/tpcc/default.asp&quot;&gt;TPC-C&lt;/a&gt; is an on-line transaction processing benchmark&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.tpc.org/tpce/default.asp&quot;&gt;TPC Benchmark™ E&lt;/a&gt; (TPC-E) is a new On-Line Transaction Processing (OLTP) workload&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.tpc.org/tpch/default.asp&quot;&gt;TPC-H&lt;/a&gt; is an ad-hoc, decision support benchmark</description>
  <comments>http://dedm.livejournal.com/83626.html</comments>
  <category>web-development</category>
  <category>benchmarks</category>
  <category>highload</category>
  <lj:security>public</lj:security>
  <lj:reply-count>10</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://dedm.livejournal.com/82652.html</guid>
  <pubDate>Mon, 22 Jun 2009 10:24:24 GMT</pubDate>
  <title>Знаю, что боян, но пусть эта цитата будет здесь</title>
  <link>http://dedm.livejournal.com/82652.html</link>
  <description>«Adding manpower to a late software project makes it later»&lt;br /&gt;--&lt;br /&gt;Frederick Phillips Brooks</description>
  <comments>http://dedm.livejournal.com/82652.html</comments>
  <category>management</category>
  <category>quotes</category>
  <lj:security>public</lj:security>
  <lj:reply-count>3</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://dedm.livejournal.com/81062.html</guid>
  <pubDate>Mon, 08 Jun 2009 18:40:48 GMT</pubDate>
  <title>Его нужно знать в лицо :)</title>
  <link>http://dedm.livejournal.com/81062.html</link>
  <description>Благодаря этому человеку обычные покупатели Apple превращаются в религиозных фанатиков:&lt;br /&gt;&lt;br /&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;img src=&quot;http://img34.imageshack.us/img34/4515/37129216.jpg&quot; /&gt;&lt;br /&gt;&lt;br /&gt;Угадали, кто это?</description>
  <comments>http://dedm.livejournal.com/81062.html</comments>
  <category>лица</category>
  <category>люди</category>
  <lj:security>public</lj:security>
  <lj:reply-count>7</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://dedm.livejournal.com/80871.html</guid>
  <pubDate>Mon, 08 Jun 2009 09:00:52 GMT</pubDate>
  <title>Школьная заметка</title>
  <link>http://dedm.livejournal.com/80871.html</link>
  <description>В то время, как наши учителя и преподаватели кропотливо часами, сутками проверяют сочинения по русскому языку и литературе, написанные от руки школьниками и абитуриентами, в развитых странах придумали, как автоматизировать и эту работу.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.vantagelearning.com/school/products/intellimetric/&quot;&gt;IntelliMetric®&lt;/a&gt; — автоматизированная система выставления оценки за письменное сочинение. Фактически уже сейчас является международным стандартом и используется при тестировании кандидатов, поступающих на некоторые отделения самых престижных школ (например, в Гарвард, &lt;a href=&quot;http://www.sbs.ox.ac.uk/MFE/Class+profile.htm&quot;&gt;Оксфорд&lt;/a&gt; etc). Появилась система всего пару лет назад, и насколько мне известно, русскоязычных аналогов в природе не существует.&lt;br /&gt;&lt;br /&gt;По утверждению разработчиков программа способна распознавать обман в 95% случаев и часто дает более точную оценку, чем сам человек. Но ввиду серьезности экзамена, человек все-таки выставляет вторую независимую оценку, и если разница между оценками человека и робота превысит один балл (по семибальной шкале), привлекается еще один, третий эксперт.&lt;br /&gt;&lt;br /&gt;Это очередной интересный пример наукоемкой коммерческой разработки, которая проходила по принципу „what is possible to make“, not „what is possible to sell“.</description>
  <comments>http://dedm.livejournal.com/80871.html</comments>
  <category>school</category>
  <category>development</category>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://dedm.livejournal.com/79974.html</guid>
  <pubDate>Wed, 27 May 2009 18:00:59 GMT</pubDate>
  <title>Кризис социальных сетей</title>
  <link>http://dedm.livejournal.com/79974.html</link>
  <description>«Создатель пакетной технологии компьютерных сетей Ethernet Роберт Меткалф однажды вывел формулу, согласно которой полезность любой сети прямо пропорциональна квадрату численности ее пользователей».&lt;br /&gt;&lt;br /&gt;Помните про &lt;a href=&quot;http://en.wikipedia.org/wiki/Dot-com_bubble&quot;&gt;dot-com bubble&lt;/a&gt;, который лопнул весной 2000-го года?&lt;br /&gt;&lt;br /&gt;Год назад &lt;a href=&quot;http://www.kommersant.ru/doc.aspx?docsid=855711&quot;&gt;«Коммерсантъ» посчитал&lt;/a&gt;, что кризис социальных сетей тоже не за горами. Оправдываются ли ожидания? Что будет дальше?</description>
  <comments>http://dedm.livejournal.com/79974.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>15</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://dedm.livejournal.com/79480.html</guid>
  <pubDate>Mon, 25 May 2009 10:26:35 GMT</pubDate>
  <title>Business Vision</title>
  <link>http://dedm.livejournal.com/79480.html</link>
  <description>Пришел к выводу, что с точки зрения мотивации разработка бывает только двух типов: либо она ориентирована на маркетинг, либо на технологию.&lt;br /&gt;&lt;br /&gt;При разработке первого типа производится продукт, который будет приносить прибыль (what is possible to sell). Разработка второго типа ориентировано на исследование того, что вообще можно было бы произвести (what is possible to make).&lt;br /&gt;&lt;br /&gt;Разработчик должен стремиться отдать предпочтение общественно полезным технологиям, нежели мнению отдельно взятых маркетологов.&lt;br /&gt;&lt;br /&gt;&lt;sub&gt;upd: спонсор поста — &lt;a href=&quot;http://en.wikipedia.org/wiki/Tim_Berners-Lee&quot;&gt;Sir Timothi ¨Tim¨ Berners-Lee&lt;/a&gt;&lt;/sub&gt;</description>
  <comments>http://dedm.livejournal.com/79480.html</comments>
  <category>marketing</category>
  <category>development</category>
  <lj:security>public</lj:security>
  <lj:reply-count>10</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://dedm.livejournal.com/78322.html</guid>
  <pubDate>Fri, 15 May 2009 10:57:53 GMT</pubDate>
  <title>Подсмотрел у Фаулера</title>
  <link>http://dedm.livejournal.com/78322.html</link>
  <description>Простая, но концептуальная идея классификации бизнес-логики приложения состоит в выделении трех последовательных частей:&lt;br /&gt;&lt;br /&gt;— валидация (validation): проверяем, что входящие данные имеют смысл и должным образом подходят для выполнения дальнейших действий;&lt;br /&gt;— воздействие (consequence): запускаем какое-нибудь действие, которое изменяет состояние системы (переворачивает мир™);&lt;br /&gt;— проведение вывода (derivation): извлекаем некую информацию на основе той информации, которую мы уже имеем (строим проекцию данных).&lt;br /&gt;&lt;br /&gt;При этом части не всегда обязательны. Например, при просмотре списка имеющихся сообщений может происходить только вывод, при логгировании сообщения — только валидация и воздействие.</description>
  <comments>http://dedm.livejournal.com/78322.html</comments>
  <category>development</category>
  <category>fowler</category>
  <lj:security>public</lj:security>
  <lj:reply-count>8</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://dedm.livejournal.com/76153.html</guid>
  <pubDate>Wed, 08 Apr 2009 15:30:36 GMT</pubDate>
  <title>Symlinks &amp; php feature</title>
  <link>http://dedm.livejournal.com/76153.html</link>
  <description>Обнаружил интересную особенность при работе с симлинками, пока воспроизвел только в php: если по ходу выполнения скрипта меняется симлинк, то fopen его не подхватывает, и работает со ссылкой на старый файл. Примечтаельно, что аналогичные инструкции на C работают, как и ожидалось. Код под катом.&lt;br /&gt;&lt;br /&gt;UPD: проблема решена, нужно использовать clearstatcache().&lt;br /&gt;&lt;br /&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;$ mkdir dir1 dir2; echo null1 &amp;gt; dir1/file; echo null2 &amp;gt;dir2/file&lt;br /&gt;$ php -r &quot;        system(&apos;rm -f link&apos;);&lt;br /&gt;         system(&apos;ln -s dir1 link&apos;);&lt;br /&gt;&lt;br /&gt;         echo readlink(&apos;./link&apos;).PHP_EOL;&lt;br /&gt;&lt;br /&gt;         file_put_contents(&apos;./link/file&apos;, &apos;line1&apos;.PHP_EOL);&lt;br /&gt;&lt;br /&gt;         system(&apos;rm -f link&apos;);&lt;br /&gt;         system(&apos;ln -s dir2 link&apos;);&lt;br /&gt;&lt;br /&gt;         echo readlink(&apos;./link&apos;).PHP_EOL;&lt;br /&gt;&lt;br /&gt;         file_put_contents(&apos;./link/file&apos;, &apos;line2&apos;.PHP_EOL);&lt;br /&gt; &quot;&lt;br /&gt;dir1&lt;br /&gt;dir2&lt;br /&gt;$&lt;br /&gt;$ cat dir1/file ; cat dir2/file&lt;br /&gt;line2&lt;br /&gt;null2&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;А ожидаем:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;line1&lt;br /&gt;line2&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;UPD: Код на C, который приводит к ожидаемому результату:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;	int fd;&lt;br /&gt;&lt;br /&gt;	system(&quot;rm -f link&quot;);&lt;br /&gt;	system(&quot;ln -s dir1 link&quot;);&lt;br /&gt;&lt;br /&gt;	fd = fopen(&quot;./link/file&quot;, &quot;wb&quot;);&lt;br /&gt;	fputs(&quot;line1\n&quot;, fd);&lt;br /&gt;	fclose(fd);&lt;br /&gt;&lt;br /&gt;	system(&quot;rm -f link&quot;);&lt;br /&gt;	system(&quot;ln -s dir2 link&quot;);&lt;br /&gt;&lt;br /&gt;	fd = fopen(&quot;./link/file&quot;, &quot;wb&quot;);&lt;br /&gt;	fputs(&quot;line2\n&quot;, fd);&lt;br /&gt;	fclose(fd);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;	return 0;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;</description>
  <comments>http://dedm.livejournal.com/76153.html</comments>
  <category>development</category>
  <lj:security>public</lj:security>
  <lj:reply-count>6</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://dedm.livejournal.com/75843.html</guid>
  <pubDate>Thu, 02 Apr 2009 15:26:04 GMT</pubDate>
  <title>Vim ist da powah #2</title>
  <link>http://dedm.livejournal.com/75843.html</link>
  <description>&lt;a href=&quot;http://vimperator.org/&quot;&gt;Vimperator&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Пост, доказывающий превосходство vi над другими жалкими программами.</description>
  <comments>http://dedm.livejournal.com/75843.html</comments>
  <category>vim</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://dedm.livejournal.com/75743.html</guid>
  <pubDate>Thu, 02 Apr 2009 09:04:20 GMT</pubDate>
  <title>Vim ist da powah</title>
  <link>http://dedm.livejournal.com/75743.html</link>
  <description>Еще одна заметка, доказывающая превосходство vi над другими жалкими IDE.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://ken.ath.cx/kens_code_pit/2009/04/01/minor-annoyance-about-eclipse/&quot;&gt;Minor annoyance about Eclipse&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;«I have been recommended to take a look at &lt;a href=&quot;http://eclim.sourceforge.net/&quot;&gt;Eclim&lt;/a&gt; to see if it would fit my needs. It seems like an interesting effort and I would sort of love to have vim with eclipses integration functionality but it just seems like a whole lot of work for what you get»</description>
  <comments>http://dedm.livejournal.com/75743.html</comments>
  <category>ide</category>
  <category>development</category>
  <category>vim</category>
  <lj:security>public</lj:security>
  <lj:reply-count>51</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://dedm.livejournal.com/75099.html</guid>
  <pubDate>Mon, 30 Mar 2009 12:05:08 GMT</pubDate>
  <title>MVC in theory</title>
  <link>http://dedm.livejournal.com/75099.html</link>
  <description>MUST&lt;sup&gt;*&lt;/sup&gt; read: &lt;a href=&quot;http://www.cs.usfca.edu/~parrt/papers/mvc.templates.pdf&quot;&gt;Enforcing Strict Model-View Separation in Template Engines&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;* - word is to be interpreted as described in &lt;a href=&quot;http://www.ietf.org/rfc/rfc2119.txt&quot;&gt;RFC 2119&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Further reading: &lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.create.ucsb.edu/~stp/PostScript/mvc.pdf&quot;&gt;A Description of the Model-View-Controller User Interface Paradigm in the Smalltalk-80 System&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://markmail.org/message/b6ivfrm6vumwakzq&quot;&gt;separating C from V in MVC&lt;/a&gt; (historical discussion in org.apache.perl.modperl)</description>
  <comments>http://dedm.livejournal.com/75099.html</comments>
  <category>development</category>
  <category>mvc</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://dedm.livejournal.com/74773.html</guid>
  <pubDate>Thu, 26 Mar 2009 05:18:58 GMT</pubDate>
  <title>home configs</title>
  <link>http://dedm.livejournal.com/74773.html</link>
  <description>Какой интересный сайт нашел случайно: &lt;a href=&quot;http://dotfiles.org/&quot;&gt;dotfiles.org&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Я для своих конфигов использую svn-репозиторий, и на всех хостах практически одинаковые чекауты держу, однако хранилище чужих конфигураций — тоже прелюбопытный ресурс.</description>
  <comments>http://dedm.livejournal.com/74773.html</comments>
  <category>linux</category>
  <category>development</category>
  <category>bookmarks</category>
  <lj:security>public</lj:security>
  <lj:reply-count>2</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://dedm.livejournal.com/74583.html</guid>
  <pubDate>Sat, 21 Mar 2009 14:45:11 GMT</pubDate>
  <title>Открытое письмо президенту США</title>
  <link>http://dedm.livejournal.com/74583.html</link>
  <description>Dear user, remember: manual is your friend.</description>
  <comments>http://dedm.livejournal.com/74583.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://dedm.livejournal.com/73162.html</guid>
  <pubDate>Tue, 17 Mar 2009 08:30:27 GMT</pubDate>
  <title>XML</title>
  <link>http://dedm.livejournal.com/73162.html</link>
  <description>«You should &lt;i&gt;never&lt;/i&gt; need to edit XML content purely by hand»&lt;br /&gt;--&lt;br /&gt;Rod Johnson</description>
  <comments>http://dedm.livejournal.com/73162.html</comments>
  <category>quotes</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://dedm.livejournal.com/72542.html</guid>
  <pubDate>Sun, 15 Mar 2009 18:05:25 GMT</pubDate>
  <title>А вы знаете, что</title>
  <link>http://dedm.livejournal.com/72542.html</link>
  <description>Самый светосильный объектив в мире — &lt;a href=&quot;http://ogiroux.blogspot.com/2008/06/worlds-fastest-lens-zeiss-50mm-f07.html&quot;&gt;Zeiss 50mm f/0.7&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Всего в мире таких объективов десять, из них шесть — у NASA, а три принадлежали Стенли Кубрику.&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://www.luciolepri.it/lc2/marcocavina/articoli_fotografici/Planar_50_0,7_ancetres/01.jpg&quot; /&gt;</description>
  <comments>http://dedm.livejournal.com/72542.html</comments>
  <category>фото</category>
  <category>кино</category>
  <lj:security>public</lj:security>
  <lj:reply-count>5</lj:reply-count>
</item>
</channel>
</rss>
