<?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/ -->
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:lj="http://www.livejournal.com">
  <id>urn:lj:livejournal.com:atom1:eugene_nefrit</id>
  <title>Евгений "nefrit" Колесников</title>
  <subtitle>Евгений "nefrit" Колесников</subtitle>
  <author>
    <name>Евгений "nefrit" Колесников</name>
  </author>
  <link rel="alternate" type="text/html" href="http://eugene-nefrit.livejournal.com/"/>
  <link rel="self" type="text/xml" href="http://eugene-nefrit.livejournal.com/data/atom"/>
  <updated>2009-01-22T12:32:42Z</updated>
  <lj:journal userid="15131939" username="eugene_nefrit" type="personal"/>
  <link rel="service.feed" type="application/x.atom+xml" href="http://eugene-nefrit.livejournal.com/data/atom" title="Евгений &quot;nefrit&quot; Колесников"/>
  <link rel="hub" href="http://pubsubhubbub.appspot.com/"/>
  <entry>
    <id>urn:lj:livejournal.com:atom1:eugene_nefrit:2399</id>
    <link rel="alternate" type="text/html" href="http://eugene-nefrit.livejournal.com/2399.html"/>
    <link rel="self" type="text/xml" href="http://eugene-nefrit.livejournal.com/data/atom/?itemid=2399"/>
    <title>Add Me Button</title>
    <published>2009-01-22T12:32:42Z</published>
    <updated>2009-01-22T12:32:42Z</updated>
    <content type="html">&lt;a href="http://www.retaggr.com/AddMe/EugenyKolesnikov" target="_blank"&gt;&lt;img border="0" src="http://content.retaggr.com/static/addme.gif" alt="Add Me" title="Click to see all my profiles on the web" /&gt;&lt;/a&gt;&lt;img style="visibility:hidden;width:0px;height:0px;" border="0" width="0" height="0" src="http://counters.gigya.com/wildfire/IMP/CXNID=2000002.0NXC/bHQ9MTIzMjYyNzMwMDkyOSZwdD*xMjMyNjI3NTU4MTgyJnA9NDE1MDIzJmQ9Jm49bGl2ZWpvdXJuYWwmZz*xJnQ9Jm89YmE*ZDE*MmY3MTI4NDU3MWE*NzZkYjEyMmQzYzgwNDI=.gif" /&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:eugene_nefrit:2093</id>
    <link rel="alternate" type="text/html" href="http://eugene-nefrit.livejournal.com/2093.html"/>
    <link rel="self" type="text/xml" href="http://eugene-nefrit.livejournal.com/data/atom/?itemid=2093"/>
    <title>DIA+UML2PHP</title>
    <published>2008-10-20T09:45:23Z</published>
    <updated>2008-10-21T05:08:17Z</updated>
    <content type="html">&lt;p&gt;Проектирование &amp;mdash; неотъемлемая часть разработки любого программного продукта. Так меня учили еще в институте, так я предпочитаю поступать на практике. Но есть один момент, который почти всегда не доставляет особого удовольствия &amp;mdash; перенос данных из UML схемы в скелет классов. Повторное комментирование, проставление док-тегов... В общем и целом &amp;mdash; нудно и скучно.&lt;/p&gt;&lt;a name="cutid1"&gt;&lt;/a&gt;&lt;p&gt;Начиная новый проект, я все же решил немного поэкспериментировать и найти удобный инструмент для конвертации своих схем прямиком в код. Пару слов о изначально используемом инструменте для проектирования &amp;mdash; DIA. Это бесплатный моделер, помимо всего прочего, строящий UML схемы. Собственно для него и искался плагин.&lt;/p&gt;&lt;p&gt;Искать долго не пришлось, первая же ссылка привела меня &lt;a title="сюда" target="_blank" href="http://uml2php5.zpmag.com/"&gt;сюда&lt;/a&gt;. Проект называется UML2PHP5. Как устанавливать сей программный продукт довольно подробно описано на сайте.&lt;/p&gt;&lt;span style="font-size: large;"&gt;Как это работает&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;p&gt;Для примера я взял маленький кусок из внутреннего проекта менеджера заданий. Класс ToDoTask описывает свойства и методы задачи. Как видно из рисунка ниже, у него есть два атрибута и три метода. На самом деле их конечно же больше, но для примера хватит и этих.&lt;/p&gt; &lt;img style="width: 498px; height: 127px;" src="https://docs.google.com/File?id=dffr9mc8_23dkx663cf_b" alt="" /&gt; &lt;br /&gt;&lt;p&gt;Вот примерно так отображается простой класс в DIA. Процесс переноса схемы в скелетон занимает меньше минуты. После конвертации этого блока получается вот такой замечательный код класса.&lt;/p&gt;&lt;code&gt; &lt;span style="color: rgb(0, 0, 187);"&gt;&amp;lt;?php&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 128, 0);"&gt;/**&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 128, 0);"&gt;&amp;nbsp;*&amp;nbsp;Представление&amp;nbsp;задачи&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 128, 0);"&gt;&amp;nbsp;*&amp;nbsp;Code&amp;nbsp;skeleton&amp;nbsp;generated&amp;nbsp;by&amp;nbsp;dia-uml2php5&amp;nbsp;plugin&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 128, 0);"&gt;&amp;nbsp;*&amp;nbsp;written&amp;nbsp;by&amp;nbsp;KDO&amp;nbsp;kdo@zpmag.com&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 128, 0);"&gt;&amp;nbsp;*/&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt; &lt;span style="color: rgb(0, 119, 0);"&gt;class&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;ToDoTask&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt; &lt;span style="color: rgb(0, 0, 187);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(255, 128, 0);"&gt;/**&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 128, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;Название&amp;nbsp;задачи&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 128, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@var&amp;nbsp;string&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 128, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@access&amp;nbsp;private&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 128, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(0, 0, 187);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;private&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$name&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt; &lt;span style="color: rgb(0, 0, 187);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(255, 128, 0);"&gt;/**&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 128, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;Описание&amp;nbsp;задачи&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 128, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@var&amp;nbsp;string&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 128, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@access&amp;nbsp;private&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 128, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(0, 0, 187);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;private&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$description&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&lt;br /&gt; &lt;span style="color: rgb(0, 0, 187);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(255, 128, 0);"&gt;/**&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 128, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@access&amp;nbsp;public&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 128, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;array&amp;nbsp;$prop&amp;nbsp;Массив&amp;nbsp;данных&amp;nbsp;для&amp;nbsp;создания&amp;nbsp;задачи&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 128, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@return&amp;nbsp;Integer&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 128, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(0, 0, 187);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;public&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;final&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;function&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;Add&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$prop&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;{&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&lt;br /&gt; &lt;span style="color: rgb(0, 0, 187);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt; &lt;span style="color: rgb(0, 0, 187);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(255, 128, 0);"&gt;/**&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 128, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@access&amp;nbsp;public&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 128, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;array&amp;nbsp;$prop&amp;nbsp;Массив&amp;nbsp;данных&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 128, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;integer&amp;nbsp;$task_id&amp;nbsp;ID&amp;nbsp;задачи&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 128, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@return&amp;nbsp;Boolean&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 128, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(0, 0, 187);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;public&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;final&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;function&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;Update&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$prop&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;,&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$task_id&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;{&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&lt;br /&gt; &lt;span style="color: rgb(0, 0, 187);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt; &lt;span style="color: rgb(0, 0, 187);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(255, 128, 0);"&gt;/**&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 128, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@access&amp;nbsp;public&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 128, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;integer&amp;nbsp;$task_id&amp;nbsp;ID&amp;nbsp;задачи&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 128, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@return&amp;nbsp;Boolean&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 128, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(0, 0, 187);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;public&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;final&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;function&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;Delete&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$task_id&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt; &lt;span style="color: rgb(0, 0, 187);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;}&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(0, 119, 0);"&gt;}&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(0, 0, 187);"&gt;?&amp;gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;p&gt;Собственно все, можно начинать писать тесты. Наверняка есть более удобные инструменты, но эта связка меня устроила по двум параметрам &amp;mdash; просто и быстро.&lt;/p&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:eugene_nefrit:2042</id>
    <link rel="alternate" type="text/html" href="http://eugene-nefrit.livejournal.com/2042.html"/>
    <link rel="self" type="text/xml" href="http://eugene-nefrit.livejournal.com/data/atom/?itemid=2042"/>
    <title>Универсальный модулятор событий</title>
    <published>2008-08-05T18:23:03Z</published>
    <updated>2008-08-05T18:23:03Z</updated>
    <content type="html">&lt;p&gt;Есть сомнения? Не&amp;nbsp;можешь принять решение? Загадай орел или решку и&amp;nbsp;брось монетку в&amp;nbsp;воздух! Вот он&amp;nbsp;идеальный рецепт, нет ничего проще! Некоторое время назад мне пришла в&amp;nbsp;голову мысль: а&amp;nbsp;что я&amp;nbsp;хочу получить от&amp;nbsp;этого?&lt;/p&gt; &lt;p&gt;Ну,&amp;nbsp;по&amp;nbsp;сути, хочется получить ответ на&amp;nbsp;мучающий вопрос. Ведь не&amp;nbsp;каждый человек может без страха и&amp;nbsp;упрека принять решение, отринув все за&amp;nbsp;и&amp;nbsp;против шагнуть вперед. Большинство из&amp;nbsp;нас мучает мучительное бремя выбора или незнания. Бросить, не&amp;nbsp;бросить? Пойти, не&amp;nbsp;пойти? Быть или не&amp;nbsp;быть? Подкинь монетку! Что может быть проще? Ну&amp;nbsp;вот с&amp;nbsp;этой мыслью да&amp;nbsp;кружкой пива я&amp;nbsp;размышлял над этим, неимоверно важным, вопросом.&amp;nbsp;В процессе, вспомнилась мне одна мысль, оброненная &lt;nobr&gt;кем-то&lt;/nobr&gt; случайно: не&amp;nbsp;знаешь как поступить? Брось монетку, если результат понравится, так и&amp;nbsp;поступай, ну&amp;nbsp;а&amp;nbsp;если нет, то&amp;nbsp;поступай как нравится. А&amp;nbsp;ведь и&amp;nbsp;правда, не&amp;nbsp;правильно я&amp;nbsp;использовал величайшее устройство, не&amp;nbsp;правильно!&lt;/p&gt; &lt;p&gt;По&amp;nbsp;сути, у&amp;nbsp;меня в&amp;nbsp;руках лежал прибор, моделирующий любую житейскую ситуацию за&amp;nbsp;доли секунды и&amp;nbsp;цена ему при этом один рубль! Бросая этот самый рубль в&amp;nbsp;воздух, я&amp;nbsp;переживаю ситуацию, которая еще не&amp;nbsp;произошла. Я&amp;nbsp;совершенно точно знаю, как я&amp;nbsp;в&amp;nbsp;ней себя буду чувствовать, что я&amp;nbsp;буду ощущать. Пока подкинутая монета звонко вертится в&amp;nbsp;воздухе, происходит сложнейшее действие, я&amp;nbsp;проживаю будущую ситуацию! И&amp;nbsp;вот она падает и&amp;nbsp;дает развитие уже сформированной модели, где я&amp;nbsp;главное действующее лицо.&lt;/p&gt; &lt;p&gt;Вот она, моя личная машина времени! Вот то,&amp;nbsp;что пытаются придумать и&amp;nbsp;создать ученые вот уже несколько столетий! Но&amp;nbsp;как все гениальное, ответ лежит под носом.&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:eugene_nefrit:1776</id>
    <link rel="alternate" type="text/html" href="http://eugene-nefrit.livejournal.com/1776.html"/>
    <link rel="self" type="text/xml" href="http://eugene-nefrit.livejournal.com/data/atom/?itemid=1776"/>
    <title>Аршавин</title>
    <published>2008-06-22T16:17:06Z</published>
    <updated>2008-06-22T16:17:06Z</updated>
    <content type="html">Случайно наткнулся на фото героя матча Голландия — Россия&amp;nbsp;&lt;a href="http://dl.ziza.ru/other/062008/20/pics/055_pics.jpg"&gt;&lt;img width="533" height="462" alt="" src="http://dl.ziza.ru/other/062008/20/pics/055_pics.jpg" /&gt;&lt;/a&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:eugene_nefrit:1477</id>
    <link rel="alternate" type="text/html" href="http://eugene-nefrit.livejournal.com/1477.html"/>
    <link rel="self" type="text/xml" href="http://eugene-nefrit.livejournal.com/data/atom/?itemid=1477"/>
    <title>Ubuntu, второй день - полет нормальный</title>
    <published>2008-05-02T19:06:28Z</published>
    <updated>2008-05-02T19:06:28Z</updated>
    <category term="linux"/>
    <category term="ubuntu"/>
    <content type="html">Вот и подходит к концу второй день, как я утсановил Ununtu 8. Думается мне, не зря весь этот гиморой, не зря...&lt;br /&gt;Сказать, что в ней комфортно... нет, многое надо включать руками и прописывать тоже ручками... Сказать, что красиво... Тоже нет, местами просто убогие шрифты и иконки. Но вот уютная она какая-то. Милый пушистый зверек, которого хочется гладить и кормить. В моем случае хочется докручивать и допиливать. Но как я уже сказал, он еще не идеальн.... вот краткий список того, что меня бесит порой:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Старт инета происходит по команде sudo pppoe-start. Меня просто убивает каждый раз набирать это. А как запускать это автоматически, еще не копал;&lt;/li&gt;&lt;li&gt;Бесит, что не могу докрутить микрофон... вот не работет он и все тут. Хотя сам микрофон и звукавуха пашут исправно на все 100. Но этот самый пушистый зверек не хочет им пользоваться и мне не дает;&lt;/li&gt;&lt;li&gt;Звук... некоторые программки не могут использовать одновременно одну звуковуху. Я точно помню, что такая проблема у меня когда-то была и она как-то решалась. Как и почему, не помню. Но пока не заработает микрофон, думаю не пригодится такая функциональность;&lt;/li&gt;&lt;li&gt;Менеджер закачек.... Помоему это самое убогое на вид детище всего релиза... Нет ничего страшнее иконок этого софтверного продукта. Работает он не лучше. Мне очень привычо выделять часть ссылок на странице, передавать их флэшготу и забирать моим менеджером закачек. Так было в винде. Что делать с линуксом, ума не приложу. Но пока и не надо, потому что...&lt;/li&gt;&lt;li&gt;Потому что, мой любимый Brief, расширение для Firefox не ставится на его третью бета реинкарнацию. А значит нет и гавно-потока с варезных сайтов, где как жемчужины появляются хорошие вещи, которые хочется скачать.&lt;/li&gt;&lt;/ul&gt;Решив эти 5 проблем, я наверное буду счастлив. Но что-то мне подсказывает, линукс относится к тому типу продуктов, которые приходится настраивать вечно...</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:eugene_nefrit:1149</id>
    <link rel="alternate" type="text/html" href="http://eugene-nefrit.livejournal.com/1149.html"/>
    <link rel="self" type="text/xml" href="http://eugene-nefrit.livejournal.com/data/atom/?itemid=1149"/>
    <title>Ubuntu, Starnet и интернет</title>
    <published>2008-04-30T21:50:46Z</published>
    <updated>2008-04-30T21:50:46Z</updated>
    <content type="html">&lt;p&gt;Кросс пост из http://community.livejournal.com/ru_linux/1740118.html&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Товарищи линуксоиды! &lt;br /&gt; &lt;/p&gt; &lt;p&gt;Пишу я вам обуреваемый эмоциями. Надумал я&amp;nbsp;себе юбунту установить, но&amp;nbsp;перед тем, как разделы крушить да&amp;nbsp;файлы копировать, решил я&amp;nbsp;попробовать лайф сиди. А&amp;nbsp;хотел я&amp;nbsp;простых вещей: интернета, браузера да&amp;nbsp;редактора текстового. На&amp;nbsp;первом пункте я&amp;nbsp;и&amp;nbsp;остановился. Читал я&amp;nbsp;&lt;nobr&gt;где-то&lt;/nobr&gt;, что юбунту и&amp;nbsp;прочие ее&amp;nbsp;клоны очень дружелюбны к&amp;nbsp;пользователю, но что-то мне подсказывает, меня грязно нае…. Так вот, отвлекся, чтобы установить соединение (у&amp;nbsp;меня домашняя сеть Starnet&amp;nbsp;— Москва) необходимо &lt;nobr&gt;всего-то&lt;/nobr&gt; ip&amp;nbsp;и&amp;nbsp;маску прописать, да&amp;nbsp;соединение создать. Графический мастер настроек долго убеждал меня, что не&amp;nbsp;указан дефаулт гейтвей и&amp;nbsp;никаких данных не&amp;nbsp;сохранял, хотя все поля заполнял и гейтвей указывал… вспомнив свой давний опыт администрирования серверов, а&amp;nbsp;было это года 3&amp;nbsp;назад, поднял интерфейсы вручную: ifconfig etho 10.10.*.* netmask 255.255.255.0; знатоков сразу прошу умерить свой пыл, маска правильная, так провайдер хочет. И&amp;nbsp;пинги пошли…. шлюз пингуется, красота. Ну&amp;nbsp;думаю, победил страшного зверя, ан&amp;nbsp;нет… Вопрос создания соединения стал ребром. Где софтинка для созданию подключения? Где кнопочка волшебная? А&amp;nbsp;вот нет ее… Вспомнил я&amp;nbsp;про pppoeconf, да&amp;nbsp;и&amp;nbsp;запустил. Долго &lt;nobr&gt;что-то&lt;/nobr&gt; тулзина эта мучилась, но&amp;nbsp;ничего так и&amp;nbsp;не&amp;nbsp;нашла… Так и&amp;nbsp;не&amp;nbsp;сбылась моя мечта воспользоваться благами свободного софта.. Загрузил я&amp;nbsp;свой добрый и&amp;nbsp;верный Windows, честно купленный в&amp;nbsp;комплекте с&amp;nbsp;ноутом и&amp;nbsp;пишу Вам. &lt;br /&gt;&lt;/p&gt;&lt;p&gt;Доколе господа, доколе все будет вот так, через жопу? Все было вот так три года назад и&amp;nbsp;ничего не&amp;nbsp;изменилось, да&amp;nbsp;менюшки красивше да&amp;nbsp;кнопочки поячрче, а&amp;nbsp;внутри без поллитры не&amp;nbsp;обойтись…. &lt;br /&gt;&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:eugene_nefrit:834</id>
    <link rel="alternate" type="text/html" href="http://eugene-nefrit.livejournal.com/834.html"/>
    <link rel="self" type="text/xml" href="http://eugene-nefrit.livejournal.com/data/atom/?itemid=834"/>
    <title>Перевод статьи из журнала php | architect</title>
    <published>2008-04-24T05:09:11Z</published>
    <updated>2008-04-24T05:10:32Z</updated>
    <content type="html">Просто понравилась статья и просто решил перевести. По сути первый опыт перевода чего-то подобного.&lt;br /&gt;В сухом остатке:&lt;br /&gt;    &lt;ul&gt;&lt;li&gt;&lt;a href="http://docs.google.com/View?docid=dffr9mc8_12gs4vrqdz"&gt;Перевод опубликованный в Google Docs&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://nefrit.2px.ru/code.tar.gz"&gt;PHP код автора стать&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:eugene_nefrit:753</id>
    <link rel="alternate" type="text/html" href="http://eugene-nefrit.livejournal.com/753.html"/>
    <link rel="self" type="text/xml" href="http://eugene-nefrit.livejournal.com/data/atom/?itemid=753"/>
    <title>Подсчет количества рабочих дней</title>
    <published>2008-03-14T09:13:15Z</published>
    <updated>2008-03-14T09:18:13Z</updated>
    <content type="html">Открывая свой блог обычно пишут, что мол это первое сообщение и я буду тут часто писать. В моем случае это не так, писать я тут буду редко и начну сразу с того, что меня интересует.&lt;br /&gt;В процессе разработки внутреннего таскменеджера возникла необходимость подсчета рабочих дней в соответсвии с рабочим календарем. Тоесть суббота воскресенье выходные, и куча дат куда выпадают праздники или наоборот, когда выходные являются рабочими дня. Немного пошарившись по сети ничего подходящего не нашел, решил написать свое. Класс получился простеньким, никаких проверок и ошибок, руки пока не дошли, хотя сделать это стоит.&lt;br /&gt;Ссылка на &lt;a href="http://www.twinpx.ru/date.php.html" target="_blank"&gt;[код]&lt;/a&gt;</content>
  </entry>
</feed>
