<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2russianfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" version="2.0">
<channel>
	<title>Шпаргалко Сумасшедшего ПрограммЁра</title>
	
	<link>http://www.shpargalko.ru</link>
	<description>Waiting of summer</description>
	<lastBuildDate>Wed, 02 May 2012 07:34:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/shpargalko" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="shpargalko" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><creativeCommons:license>http://creativecommons.org/licenses/by-nd/2.0/</creativeCommons:license><image><link>http://creativecommons.org/licenses/by-nd/2.0/</link><url>http://creativecommons.org/images/public/somerights20.gif</url><title>Some Rights Reserved</title></image><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">shpargalko</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.bloglines.com/sub/http://feeds.feedburner.com/shpargalko" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fshpargalko" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fshpargalko" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://lenta.yandex.ru/settings.xml?name=feed&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2Fshpargalko" src="http://lenta.yandex.ru/i/addfeed.gif">?????? ? ??????.?????</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.feedburner.com%2Fshpargalko" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2Fshpargalko" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.wikio.com/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2Fshpargalko" src="http://www.wikio.com/shared/img/add2wikio.gif">Subscribe with Wikio</feedburner:feedFlare><item>
		<title>Установка Debian. Way of perverts.</title>
		<link>http://www.shpargalko.ru/2012/05/02/ustanovka-debian-way-o-perverts/</link>
		<comments>http://www.shpargalko.ru/2012/05/02/ustanovka-debian-way-o-perverts/#comments</comments>
		<pubDate>Wed, 02 May 2012 07:34:16 +0000</pubDate>
		<dc:creator>Алекс Разгибалов</dc:creator>
				<category><![CDATA[Программирование & IT]]></category>
		<category><![CDATA[CD-ROM]]></category>
		<category><![CDATA[Cyborg R.A.T. 7]]></category>
		<category><![CDATA[Debian]]></category>
		<guid isPermaLink="false">http://www.shpargalko.ru/?p=1934</guid>
		<description><![CDATA[Шалом тебе, торагой читатель. Нашёл я таки дома рабочий и ненужный IDE винт на 80 ГБ. И так как давно хотел дома иметь десктопный линукс, то занялся на выходных его установкой. И всё бы ничего, но у меня всего один IDE канал, на нём висит довольно древний DVD привод, и хард с ним на одном [...]]]></description>
			<content:encoded><![CDATA[<p>Шалом тебе, торагой читатель.</p>
<p>Нашёл я таки дома рабочий и ненужный IDE винт на 80 ГБ. И так как давно хотел дома иметь десктопный линукс, то занялся на выходных его установкой. И всё бы ничего, но у меня всего один IDE канал, на нём висит довольно древний DVD привод, и хард с ним на одном шлейфе никак не захотел работать. Возможно дело в кривости моих рук, возможно они не понравились друг другу. Не проблема! Сказал я себе, и запилил загрузочную флешку с образом netinstall.</p>
<p>Перезагружаемся. И инсталлятор говорит мне: "Хуй тебе, добрый человек, без CD-ROM я работать не буду". Дословно это звучало примерно так: "Определение привода CD-ROM". Естественно, debian-овский установщик привод не находил, предлагал поставить драйверы и прочую ересь. Порылся в интернетах - кто как проблему решает, что-то там говорят насчёт iso-образа на флешке, прочей херни... В общем, всё это требует плясок с бубном и заячъей лапкой, с завыванием каких-нить пингвинячьих молебнов. Что, сука, характерно, до того все иные дистрибутивы с задачей установки с флешки справлялись. Убунта (которая мне лично по разным мотивам не нравится), OpenSUSE, etc...</p>
<p><span id="more-1934"></span>Я, как обычно, решил пойти по пути наименьшего сопротивления. Есть у Debian такая вещь, как LiveCD. Качаем, записываем на флешку, грузимся с неё, и из-под загруженного лайф-образа устанавливаем всё, что нам надо. Нет проблем. Странно, что в гугле подобного способа решения нет.</p>
<p>А вот следующая проблема была ещё веселее. Дело в том, что у меня малость нестандартная мышка - Cyborg RAT 7. И она под дебианом работает довольно странно - после загрузки всё ок, но через несколько кликов - перестают нормально работать кнопки. Решение нашёл <noindex><a target="_blank" rel="nofollow" href="http://www.shpargalko.ru/goto/aHR0cDovL2ZvcnVtLnVidW50dS5ydS9pbmRleC5waHA/dG9waWM9MTUyMzEzLjA=" >тут</a></noindex>. Если вкратце - надо сделать ремап кнопок мыши в xorg.conf. Как гласит аффтар, в /etc/X11/xorg.conf необходимо добавить следующие строки (в конец):</p>
<pre>Section "InputClass"
    Identifier "Mouse Remap"
    MatchProduct "Saitek Cyborg R.A.T.7 Mouse"
    MatchDevicePath "/dev/input/event*"
    Option "ButtonMapping" "1 2 3 4 5 6 7 2 9 10 11 12 0 0 0"
EndSection</pre>
<p>Лично проверил - ТруЪ, работает. В общем, как-то так. Набросал этот "лог" в принципе как для себя, так и для окружающих - авось пригодится кому.</p>
<span style="color: #000000;"><br /><br /></span><span style="color: #000000;">Чтобы скинуть лишний вес - <a href="http://www.shpargalko.ru/feed" >подпишись на RSS</a>!<br /><br /></span><img src="http://feeds.feedburner.com/~r/shpargalko/~4/tElZ6FSik-U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.shpargalko.ru/2012/05/02/ustanovka-debian-way-o-perverts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Сравнительно честный способ.</title>
		<link>http://www.shpargalko.ru/2012/04/10/sravnitelno-chestnyj-sposob/</link>
		<comments>http://www.shpargalko.ru/2012/04/10/sravnitelno-chestnyj-sposob/#comments</comments>
		<pubDate>Tue, 10 Apr 2012 17:48:18 +0000</pubDate>
		<dc:creator>Алекс Разгибалов</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[Общество]]></category>
		<category><![CDATA[интернет]]></category>
		<category><![CDATA[МВД]]></category>
		<category><![CDATA[попил бабла]]></category>
		<category><![CDATA[Правительство]]></category>
		<category><![CDATA[рашка]]></category>
		<guid isPermaLink="false">http://www.shpargalko.ru/?p=1931</guid>
		<description><![CDATA[Радует лента.ру, как обычно. Своей свеженькой статьёй они напомнили мне подзабытые творения Ильфа и Петрова, а конкретнее Остапа Сулеймана Берта-Мария Бендер Бея, турецкоподданного, знавшего аж целых "четыреста способов сравнительно честного отъёма денег". Впрочем, российские силовые и правительственные организации, на мой взгляд, вполне могут потягаться с Великим Комбинатором. На этот раз, если вкратце, придуман довольно забавный [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1932" class="wp-caption alignright" style="width: 226px"><a href="http://www.shpargalko.ru/wp-content/uploads/2012/04/ostap_bender.jpg"  rel="lightbox[1931]" title="Остап Бендер (Миронов)"><img class="wp-image-1932" title="Остап Бендер (Миронов)" src="http://www.shpargalko.ru/wp-content/uploads/2012/04/ostap_bender.jpg" alt="Остап Бендер (Миронов)" width="216" height="184" /></a><p class="wp-caption-text">Остап Бендер (Миронов)</p></div>
<p>Радует лента.ру, как обычно. Своей свеженькой <noindex><a target="_blank" rel="nofollow" href="http://www.shpargalko.ru/goto/aHR0cDovL2xlbnRhLnJ1L25ld3MvMjAxMi8wNC8xMC9tYXJrLw==" >статьёй</a></noindex> они напомнили мне подзабытые творения Ильфа и Петрова, а конкретнее Остапа Сулеймана Берта-Мария Бендер Бея, турецкоподданного, знавшего аж целых "четыреста способов сравнительно честного отъёма денег". Впрочем, российские силовые и правительственные организации, на мой взгляд, вполне могут потягаться с Великим Комбинатором. На этот раз, если вкратце, придуман довольно забавный способ выудить некоторое количество бабла из бюджета. Способ, безусловно, направлен на повышение благосостояния общества, защиту гражданина и обеспечение его безопасности от мерзких интернет-злодеев. Это, можно даже не сомневаться, инновационное решение в рамках политического и промышленного курса, намеченного солнцеликим.</p>
<p>Смысл этого решения в том, чтобы придумать картинку. Да-да, картинку. Эдакий значок "безопасного интернет-ресурса", который будет сообщать пользователю - таки да, этот сайт кошерен и безопасен. Его можно даже употреблять в шабат. Затем, надо сформировать комиссию из специально обученных людей, которые будут лазить <del>по порносайтам</del> интернету, и оценивать ресурсы: этот, так сказать, кавай, а этот бяка, и его надо низвергнуть в самый адЪ. И вот тем, которые кавай, будут предлагать установить у себя <del>бесплатный баннер</del> значок, мол, сайт безопасен, и рекомендован к употреблению.</p>
<p>Смех-смехом, однако как-то тенденция намечается. Сайты, которым действительно требуется защита - всякие там платёжки и банки-онлайн - они сами вполне способны о себе позаботиться. Им лишние картинки, которые вдобавок ещё наверняка будут ссылками, ведущими на сайт МВД какого-нибудь, совершенно ни к чему. А остальные - от этой картинки ничего особо, я думаю, не поимеют. В общем, чото мне так кажется, что этим пытаются уебать двух ушастых - отпилить денег, и запустить ещё один виток живительной цензуры.</p>
<span style="color: #000000;"><br /><br /></span><span style="color: #000000;">В мавзолее спит Ильич. Спит долго, спокойно. Всё оттого, что ему читают <a href="http://www.shpargalko.ru/feed" >этот RSS канал</a> вслух...<br /><br /></span><img src="http://feeds.feedburner.com/~r/shpargalko/~4/AxwQv7QmOHA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.shpargalko.ru/2012/04/10/sravnitelno-chestnyj-sposob/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Пока не жгут.</title>
		<link>http://www.shpargalko.ru/2012/04/08/poka-ne-zhgut/</link>
		<comments>http://www.shpargalko.ru/2012/04/08/poka-ne-zhgut/#comments</comments>
		<pubDate>Sun, 08 Apr 2012 09:01:42 +0000</pubDate>
		<dc:creator>Алекс Разгибалов</dc:creator>
				<category><![CDATA[Общество]]></category>
		<category><![CDATA[Anonimous]]></category>
		<category><![CDATA[Pussy Riot]]></category>
		<category><![CDATA[Патриарх]]></category>
		<category><![CDATA[Политота]]></category>
		<category><![CDATA[РПЦ]]></category>
		<guid isPermaLink="false">http://www.shpargalko.ru/?p=1927</guid>
		<description><![CDATA[Шалом вам дражайший читатель. Сегодня любопытную новость прочитал, о том, что РПЦ приняла некий циркуляр, согласно которому надо бороться с "антицерковными силами" и "ложными ценностями агрессивного либерализма". Подумалось - ну надо же, неужели их наконец-то достали?)) Вообще, я не люблю всяких религий, кроме своей уютненькой секты. И религиозный угар, треш и всяческую там прилагающуюся оказию - [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1929" class="wp-caption alignleft" style="width: 283px"><a href="http://www.shpargalko.ru/wp-content/uploads/2012/04/patriarch.jpg"  rel="lightbox[1927]" title="В зеркале уже не отражается. "><img class="size-medium wp-image-1929" title="В зеркале уже не отражается. " src="http://www.shpargalko.ru/wp-content/uploads/2012/04/patriarch-273x300.jpg" alt="В зеркале уже не отражается. " width="273" height="300" /></a><p class="wp-caption-text">В зеркале уже не отражается.</p></div>
<p>Шалом вам дражайший читатель.</p>
<p>Сегодня любопытную новость прочитал, о том, что РПЦ <noindex><a target="_blank" rel="nofollow" href="http://www.shpargalko.ru/goto/aHR0cDovL2xlbnRhLnJ1L25ld3MvMjAxMi8wNC8wNy9lbmVtaWVzLw==" >приняла некий циркуляр</a></noindex>, согласно которому надо бороться с "антицерковными силами" и "ложными ценностями агрессивного либерализма". Подумалось - ну надо же, неужели их наконец-то достали?)) Вообще, я не люблю всяких религий, кроме своей уютненькой <a href="http://www.shpargalko.ru/2011/07/29/sekta-poxuizma/" title="Секта Похуизма." >секты</a>. И религиозный угар, треш и всяческую там прилагающуюся оказию - неимоверно осуждаю, проявляя солидарность с высказавшимся по этому вопросу дедушкой Фрейдом. Вообще, религия в этом отношении просто очередной общественный институт, необходимый как рычаг влияния. И не важно, на самом то деле, что это за религия - какой-либо из подвидов христианства, мусульманство, иудаизм, или любая другая.</p>
<p>И вот тут нарисовалась внезапная оказия - общество в лице рунет-сообщества, вдруг отказалось участвовать в начинаниях этого общественного института. А вдобавок ещё и начало проявлять к нему враждебность - часы там в отражении, концерты в церкви, и прочее. Естественно институт выложил тонны кирпичей. Как же так, в конце концов? Столько веков управляли, действовали в своих интересах и прочее - а тут раз, общество решило тоже подействовать в своих, и внезапно запахло предпосылками к истории почти столетней давности. Тогда таки да, красная гидра подняла все свои головы, и низвергла православную церковь едва ли не в самый адЪ. А вдруг снова? Только в этот раз будут не красные, а эти чёртовы либералы, которые, как известно всякому школьнику, являются платными агентами государственного департамента США, которые в душе лелеют идею устроить оранжевую революцию, треш и угар, а также содомию во мгле ада (возможно содомию даже в прямом смысле - кто их, этих либералов, знает?).</p>
<p><span id="more-1927"></span>Нет, нет, нельзя никак такого допускать. Лучше это всё подавить в зародыше. Пока правда нас, интернетчиков, жечь не начали - до католиков средневековых РПЦ ещё расти и расти. Во всяком случае, даже если тех же участниц Pussy Riot не сожгут в ближайшую субботу, то посадят их на некоторый срок - это точно.</p>
<p>Вообще, как-то в последнее время активизировались как инакомыслие, так и борьба с ним. Это намекает на кое что. Видно с появлением относительно независимых средств коммуникации - типа того же интернета, и свободного обмена информацией, общество начало перестраиваться с учётом этого. Теперь довольно просто найти группу по интересам, обсудить что-то, обменяться "пруфами", сделать выводы - социальные связи стали исключительно короткими, но в то же время и довольно разветвлёнными. Общество вдруг внезапно решило влиять на политику не сверхвиртуально - на выборах раз в N лет, а практически напрямую в виртуальном пространстве. Как пример - свежая <noindex><a target="_blank" rel="nofollow" href="http://www.shpargalko.ru/goto/aHR0cDovL2xlbnRhLnJ1L25ld3MvMjAxMi8wNC8wOC9hbm9ueW1vdXMv" >блокировка сайта МВД Великобритании</a></noindex>. Видите как работает механизм? Правительство пытается принять какие-то непопулярные меры, законы, и прочее - и сразу же получает ответ на свои действия. Пока опять же только через интернет.</p>
<p>Хотя почему только через интернет? Ведь тот же концерт в ХХС - это такая, первая ласточка перехода от "виртуала" к "реалу", да. Правда пока, в силу своей не-массовости и не труЪ анонимности, наказуемое. На этой не совсем весёлой ноте, и с мыслью: "что-то вокруг всё сильнее воняет совком", закончу. И так что-то я много всего написал. В конце концов в соседнем окошке висит olly dbg, который я наравне с IDA пытаюсь таки освоить. Получается плохо - последний раз IDA я видел лет 6 назад. Кстати похорошела с тех пор)))</p>
<span style="color: #000000;"><br /><br /></span><span style="color: #000000;">Информация вразвес - <a href="http://www.shpargalko.ru/feed" >подпишись на RSS</a>!<br /><br /></span><img src="http://feeds.feedburner.com/~r/shpargalko/~4/XPG6VG8AxFg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.shpargalko.ru/2012/04/08/poka-ne-zhgut/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Небольшой стихотворный экспромтик</title>
		<link>http://www.shpargalko.ru/2012/03/15/nebolshoj-stixotvornyj-ekspromtik/</link>
		<comments>http://www.shpargalko.ru/2012/03/15/nebolshoj-stixotvornyj-ekspromtik/#comments</comments>
		<pubDate>Thu, 15 Mar 2012 20:11:05 +0000</pubDate>
		<dc:creator>Алекс Разгибалов</dc:creator>
				<category><![CDATA[Творческие потуги]]></category>
		<category><![CDATA[28 ножей]]></category>
		<category><![CDATA[маньяк]]></category>
		<category><![CDATA[пальчики]]></category>
		<guid isPermaLink="false">http://www.shpargalko.ru/?p=1924</guid>
		<description><![CDATA[У доброй, прелестной женщины Розы Исааковны Громовой Было за всю её долгую Целых восемь мужей. И как-то раз, при уборочке Нашла у восьмого, последнего В старом, потёртом портфельчике Двадцать восемь ножей. А рядом с ножами кровавыми Лежала вдобавок верёвочка Вся древняя, молью изъедена И спутана в грязный моток Два кляпа, из майки, из старенькой И [...]]]></description>
			<content:encoded><![CDATA[<p>У доброй, прелестной женщины<br />
Розы Исааковны Громовой<br />
Было за всю её долгую<br />
Целых восемь мужей.</p>
<p>И как-то раз, при уборочке<br />
Нашла у восьмого, последнего<br />
В старом, потёртом портфельчике<br />
Двадцать восемь ножей.</p>
<p>А рядом с ножами кровавыми<br />
Лежала вдобавок верёвочка<br />
Вся древняя, молью изъедена<br />
И спутана в грязный моток</p>
<p>Два кляпа, из майки, из старенькой<br />
И мыла кусок, весь изгрызенный<br />
Семнадцать засушенных пальчиков<br />
И ржавый, большой молоток.</p>
<p>- Откуда всё это, Андрюшенька?<br />
Спросила у мужа, наивная.<br />
Смотрел на неё без симпатии<br />
Тот, кто её раньше любил.</p>
<p>И чтобы жена не додумалась,<br />
И всяким ментам не пожалилась,<br />
Достал запасной молоточек он,<br />
И тут же, заразу, убил.</p>
<p>Запомните, милые женщины<br />
На случай такой, непредвиденный<br />
Что ежели муж ваш внезапнейше<br />
Окажется страшный маньяк.</p>
<p>То лучше его не нервируйте<br />
И глупостей всяких не делая,<br />
Почаще его лучше радуйте,<br />
В стакан наливая коньяк.</p>
<span style="color: #000000;"><br /><br /></span><span style="color: #000000;">Информация вразвес - <a href="http://www.shpargalko.ru/feed" >подпишись на RSS</a>!<br /><br /></span><img src="http://feeds.feedburner.com/~r/shpargalko/~4/3L9BCRRFIO4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.shpargalko.ru/2012/03/15/nebolshoj-stixotvornyj-ekspromtik/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>День всенародного баттхёрта</title>
		<link>http://www.shpargalko.ru/2012/03/05/den-vsenarodnogo-battxyorta/</link>
		<comments>http://www.shpargalko.ru/2012/03/05/den-vsenarodnogo-battxyorta/#comments</comments>
		<pubDate>Mon, 05 Mar 2012 15:26:51 +0000</pubDate>
		<dc:creator>Алекс Разгибалов</dc:creator>
				<category><![CDATA[Общество]]></category>
		<category><![CDATA[5 марта]]></category>
		<category><![CDATA[выборы]]></category>
		<category><![CDATA[президент]]></category>
		<category><![CDATA[Путин]]></category>
		<category><![CDATA[рашка]]></category>
		<guid isPermaLink="false">http://www.shpargalko.ru/?p=1920</guid>
		<description><![CDATA[Шалом тебе, дражайший читатель. Давненько я что-то не брался за перо, и не писал вам всяческой политоты. Да, зарекался от таких тем, таки да. Но тут выдалось минут 20 свободных, да и как-то забавно выглядит энная часть рашки. Нет, правда. Ощущение, будто всем дели пинка под дых, а потом - скукожившихся, выражаясь уголовным сленгом "опустили". [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1921" class="wp-caption alignleft" style="width: 304px"><a href="http://www.shpargalko.ru/wp-content/uploads/2012/03/putin_vin.jpg"  rel="lightbox[1920]" title="Fuck Yea"><img class="size-medium wp-image-1921" title="Fuck Yea" src="http://www.shpargalko.ru/wp-content/uploads/2012/03/putin_vin-294x300.jpg" alt="Fuck Yea" width="294" height="300" /></a><p class="wp-caption-text">&quot;Fuck Yea&quot;</p></div>
<p>Шалом тебе, дражайший читатель.</p>
<p>Давненько я что-то не брался за перо, и не писал вам всяческой политоты. Да, зарекался от таких тем, таки да. Но тут выдалось минут 20 свободных, да и как-то забавно выглядит энная часть рашки. Нет, правда. Ощущение, будто всем дели пинка под дых, а потом - скукожившихся, выражаясь уголовным сленгом "опустили". А всего-навсего сбылось очевидное. Наивная часть населения видимо действительно надеялась, что в кресло президента сядет свеженький Прохоров, а Путичку прогонят поганой метлой. Ну, или хотя бы были надежды на второй тур, чисто для лулзов. Ан нет - путичка решил: "Нахуя второй тур?! Экономить надо - туров на всех не напасёшься". И победил в первом.</p>
<p>Теперь вот в нерезиновой кругом войска, баттхёртящая оппозиция (по слухам уже начались задержания на лубянке - символично, да и везти в случае чего недалеко), и плачущий путичка. Вчера включил телек вечером уже - глянуть, на сколько процентов больше всех набрал, увидел, как на глаза бессменного наворачиваются слёзы, срывается голос, и вообще - подумалось: "умер, умер в старом новом президенте актёр, а ведь ещё на черномырдинских похоронах отжигал так, что вся страна от смеху давилась". Вот думай теперь - то ли слезу по сценарию пустил, то ли и правда собравшиеся расстрогали старика.</p>
<p>А вообще, подумать так если, ничего особо страшного не случилось. Ну, для меня, по крайней мере. Единственное ужасает то, что путичка и ко набрали на себя (точнее на нас) кучу социальных обязательств. И теперь эти социальные обязательства лягут на наши плечи - плечи работающих и бизнеса. И вот это удручает - ждём повышения налогов после апреля. Как явных (ЕСН, подоходный...), так и неявных (пошлины, НДС...). Пичалька, что сказать.</p>
<span style="color: #000000;"><br /><br /></span><span style="color: #000000;">Чтобы девушка стонала - <a href="http://www.shpargalko.ru/feed" >подпишись на фид канала!</a><br /><br /></span><img src="http://feeds.feedburner.com/~r/shpargalko/~4/iHmLwRdb3yE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.shpargalko.ru/2012/03/05/den-vsenarodnogo-battxyorta/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>No Comments</title>
		<link>http://www.shpargalko.ru/2012/02/23/no-comments/</link>
		<comments>http://www.shpargalko.ru/2012/02/23/no-comments/#comments</comments>
		<pubDate>Thu, 23 Feb 2012 08:58:41 +0000</pubDate>
		<dc:creator>Алекс Разгибалов</dc:creator>
				<category><![CDATA[Общество]]></category>
		<category><![CDATA[23]]></category>
		<category><![CDATA[23 февраля]]></category>
		<category><![CDATA[рашка]]></category>
		<guid isPermaLink="false">http://www.shpargalko.ru/?p=1917</guid>
		<description><![CDATA[В туалете этот канал читать тоже можно. Правда для иных нужд лучше купите газету :)]]></description>
			<content:encoded><![CDATA[<div id="attachment_1918" class="wp-caption aligncenter" style="width: 250px"><a href="http://www.shpargalko.ru/wp-content/uploads/2012/02/23feb.jpg"  rel="lightbox[1917]" title="Кагбэ вот. "><img class="size-full wp-image-1918" title="Кагбэ вот. " src="http://www.shpargalko.ru/wp-content/uploads/2012/02/23feb.jpg" alt="Кагбэ вот. " width="240" height="240" /></a><p class="wp-caption-text">Кагбэ вот.</p></div>
<span style="color: #000000;"><br /><br /></span><span style="color: #000000;">Если хочешь мерседес - <a href="http://www.shpargalko.ru/feed" >подпишись на RSS</a>!<br /><br /></span><img src="http://feeds.feedburner.com/~r/shpargalko/~4/McfUSz5l_mA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.shpargalko.ru/2012/02/23/no-comments/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Путин и пингвины</title>
		<link>http://www.shpargalko.ru/2012/02/15/putin-i-pingviny/</link>
		<comments>http://www.shpargalko.ru/2012/02/15/putin-i-pingviny/#comments</comments>
		<pubDate>Wed, 15 Feb 2012 06:28:15 +0000</pubDate>
		<dc:creator>Алекс Разгибалов</dc:creator>
				<category><![CDATA[Общество]]></category>
		<category><![CDATA[Антарктида]]></category>
		<category><![CDATA[Пингвины]]></category>
		<category><![CDATA[Путин]]></category>
		<guid isPermaLink="false">http://www.shpargalko.ru/?p=1915</guid>
		<description><![CDATA[Утром, уходя на английский, услышал голоса в голове: "В Антарктиде снижается рождаемость пингвинов". Потом, правда, оказалось, что это жена новости смотрит по телевизору. Задумался. Разумеется, объяснить снижение популяции пингвинов можно по-разному. Мне например, как любителю всяких этих линуксов, пришла в голову мысль, что это происки ZOG Microsoft. Они спаивают пингвинов морской антарктической водой, которая снижает половое [...]]]></description>
			<content:encoded><![CDATA[<p>Утром, уходя на английский, услышал голоса в голове: "В Антарктиде снижается рождаемость пингвинов". Потом, правда, оказалось, что это жена новости смотрит по телевизору. Задумался. Разумеется, объяснить снижение популяции пингвинов можно по-разному. Мне например, как любителю всяких этих линуксов, пришла в голову мысль, что это происки <del>ZOG</del> Microsoft. Они спаивают пингвинов морской антарктической водой, которая снижает половое влечение у этих птиц. Просто потому что их от солёной воды тошнит и им уже не до ебли. Демографическая ситуация в пингвинячьем социуме ухудшается. Мне вот подумалось, что надо в Антарктиду отправить Путина. А что? Мужик он грамотный, с демографией умеет вопросы решать. Вот приедет он в эти ледяные края, сразу порядок наведёт - он умеет, мы все в него верим. Например придумает программу "доступная гнездень" - каждой пингвинячьей семье - по 250 камней за второго и каждого последующего птенца, для строительства гнезда. Правда, получить их можно будет только по достижении пингвином возраста совершеннолетия - т.е. 18 лет. Или например можно ещё восполнить естественную убыль пингвинячьего населения за счёт притока иммигрантов из других областей нашей необъятной планеты. Скажем, вполне гармонично в Антарктиде будут смотреться слоны. Наверное, будет принята также программа по модернизации промышленности - например, как мне кажется, уместно будет организовать много посудных лавок. Да вообще, много чего можно сделать, главное не лениться, и в поте лица причинять добро и вымещать заботу. И всё у них наладится, так наладится, что будут ебаться каждый день, и приносить сотни потомства.</p>
<span style="color: #000000;"><br /><br /></span><span style="color: #000000;">Мы говорим Ленин - подразумеваем <a href="http://www.shpargalko.ru/feed" >RSS канал# <br /> Мы говорим #RSS канал</a> - подразумеваем Ленин.<br /><br /></span><img src="http://feeds.feedburner.com/~r/shpargalko/~4/Gw6kFdQyDjA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.shpargalko.ru/2012/02/15/putin-i-pingviny/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Выкат проектов с помощью Apache ANT</title>
		<link>http://www.shpargalko.ru/2012/01/16/apache-ant/</link>
		<comments>http://www.shpargalko.ru/2012/01/16/apache-ant/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 10:37:30 +0000</pubDate>
		<dc:creator>Алекс Разгибалов</dc:creator>
				<category><![CDATA[Программирование & IT]]></category>
		<category><![CDATA[ANT]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[php]]></category>
		<guid isPermaLink="false">http://www.shpargalko.ru/?p=1842</guid>
		<description><![CDATA[Шалом тебе, дражайший читатель. В этом посте речь пойдёт о вещах сугубо технических, и мало кому интересных. Однако, довольно насущных в сфере разработки всяческого программного обеспечения. Имеется ввиду автоматизированный "выкат" (ну, или "сборка") какого-либо проекта, путём написания для этого скриптов развёртки. Всё ещё хотите читать?))  Ну ладно, ладно. Так вот, о чем это я. Систем [...]]]></description>
			<content:encoded><![CDATA[<p>Шалом тебе, дражайший читатель.</p>
<p>В этом посте речь пойдёт о вещах сугубо технических, и мало кому интересных. Однако, довольно насущных в сфере разработки всяческого программного обеспечения. Имеется ввиду автоматизированный "выкат" (ну, или "сборка") какого-либо проекта, путём написания для этого скриптов развёртки. Всё ещё хотите читать?))  Ну ладно, ладно.</p>
<p>Так вот, о чем это я. Систем выката, как известно, существует великое множество - например самой распространённой в *nix мире является make - по крайней мере если не брать красноглазиков из мира gentoo. Как вариант некоторые рассматривают cmake. Возможно довольно неплохие вещи, но скажем перенос их на другую платформу как правило означает переписывание всех скриптов заново. Да и синтаксис их написания практически один в один напоминает unix-shell, который я лично стараюсь использовать по минимуму. Ужасен он, ИМХО, что бы по этому не думали труЪ-адепты секты линуксоидов, хотя надо признать, что он предоставляет широкие возможности.</p>
<p>Так вот, есть более-менее нормальная такая альтернатива. Называется она Apache Ant, и в принципе с задачей она справиться вполне способна. Единственный её минус - очень мало информации на русском языке. Но для начала, давайте подумаем - зачем вообще может понадобиться делать лишнюю работу, и писать ещё какие-то билд-скрипты, ант устанавливать, и вообще, фигнёй страдать?</p>
<p><span id="more-1842"></span>В принципе, если у вас небольшой проект, и весь процесс его развёртки, это просто svn checkout, то заморачиваться не стоит. Зачем вам лишние проблемы? А вот если у вас проект хранится в нескольких репозиториях (распространённый вариант - фреймворк в одном месте, а проекты его использующие - в другом, и разработка их ведётся параллельно), либо есть несколько конфигураций готового развёрнутого проекта (Dev-версия, или версия для разработки, Test - версия для тестирования в условиях, максимально приближенных к боевым, Production - версия для боевой работы), то вам уже надо как-то их упорядочить - на уровне развёртки. Видели ли вы конфиги, от которых зависит поведение веб-решений, которые занимают хотя бы 15-20 мегабайт кода (проекты, не конфиги, разумеется, от конфига на 20 мегабайт я бы лично кирпичную будку выложил)? Жуткое зрелище, поверьте. В этом случае вам очень пригодится система конфигурирования во время разворачивания, которая будет генерировать, скажем, файлы с пресетами из шаблонов, выкатывать разные компоненты из репозиториев, вызывать всяческие программы и выполнять команды, что в итоге должно дать работающий продукт.</p>
<p>Так вот, возвращаясь к ANT'у (кстати, ant в переводе с английского - муравей). Чем приглянулось это решение? Во-первых, синтаксис билд скриптов хотя и ограничен в некоторых аспектах, тем не менее он куда как проще и понятнее, чем гиковский shell, подобие которого используется в make. Во-вторых, всё-таки шелл-команды из него вызывать вполне можно. По сути, билд-скрипты для ant - это xml-файлы, в котором описана последовательность команд, которые требуется выполнить, чтобы получить рабочее решение. В третьих, для ANT Существует довольно много модулей, расширяющих его функциональность. В четвёртых - ант имеет встроенную поддежку svn. В пятых - он кросс-платформенный, т.е. одинаково хорошо будет работать и на Windows и на Linux машинах (заметьте, я нигде не сказал, что <em>билды</em> будут одинаково работать, только о самом ant'е речь пока). Ах да, и в шестых - <em>идейные</em> ненавистники такой технологии как Java, смело идут на хуй, так как ANT написан на Java. Surprise, suckers! :)</p>
<p>В нашей работе мы используем именно ANT, и, как уже упоминалось, очень сложно найти по нему информацию на русском языке. В некоторых проектов есть разделение билд-скриптов по уровням: "билды верхнего уровня, билды проектного уровня". Что это значит? Это разделение труда - билд верхнего уровня выкатывает из репозиториев требуемые файлы (движок, проекты), а затем передаёт управление соответственно билдам проекта или билдам движка (фреймворка), которые отрабатывают уже свою задачу - конфигурируют, скажем, движок, в соответствии с заложенным в них алгоритмом, но при этом используя часть конфигурации "головных" билдов. В данной статье подобные схемы описаны не будут, потому как объём получится совсем невообразимый, но в целом додумать не сложно - главное знать, что такие возможности присутствуют.</p>
<p>Так вот, для начала - ну, чтобы попробовать то, что тут описано - надо иметь сам ANT установленный. Скачать его можно на <noindex><a target="_blank" rel="nofollow" href="http://www.shpargalko.ru/goto/aHR0cDovL2FudC5hcGFjaGUub3JnLw==" >официальном сайте</a></noindex>. Там же, в принципе, <noindex><a target="_blank" rel="nofollow" href="http://www.shpargalko.ru/goto/aHR0cDovL2FudC5hcGFjaGUub3JnL21hbnVhbC9pbmRleC5odG1s" >описано</a></noindex> и то, как его установить/настроить (просто он поставляется в виде zip-архива, и никакого специфичного инсталлятора не имеет). В Linux|UNIX-like системах я думаю можно взять его из репозитория, это будет проще.</p>
<p>Итак, сердце "билдов" (билд-скриптов) это файл build.xml, который содержит начальные инструкции по сборке. Можно, конечно, всё хранить в нём, но это будет ужасно - всё в куче, в одном месте... В общем - нехорошо. Намного лучше описать в build.xml алгоритм выбора конфигурации, а сами конфигурационные файлы - хранить по отдельности. Скажем, у нас будет отдельная папка build, в которой хранится всё, что требуется для разворачивания проекта. И предположим, она будет иметь следующую структуру:</p>
<pre>/build
    /properties
    /scripts
    /templates
    build.xml</pre>
<p>Здесь в папке properties хранятся конфигурационные файлы (для простоты всего две конфигурации - Develop &amp; Production, плюс общий для всех файл Common в котором хранятся настройки единые для всех конфигураций). Соответственно, для того, чтобы построить проект, необходимо будет войти в директорию build, чтобы она стала текущей, и в ней выполнить команду например:</p>
<p>ant -Dbt=D install</p>
<p>Дальше ант должен подцепить файл build.xml, и начать выполнять инструкции в нём описанные. Собственно, вот и сам build:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;!-- Обратите внимание на параметр basedir - в дальнейшем он активно используется --&gt;
&lt;project name=&quot;Some Project&quot; basedir=&quot;.&quot; default=&quot;install&quot;&gt;
	&lt;!-- BEGIN:Load of properties... --&gt;
	&lt;echo&gt;Loading properties of build...&lt;/echo&gt;
	&lt;!-- Здесь мы тащемта выбираем, какую конфигурацию мы будем разворачивать. Develop or Prod --&gt;
	&lt;!-- Property ${bt} MUST BE set in command line --&gt;
	&lt;property name=&quot;bt&quot; value=&quot;!&quot; /&gt;
	&lt;condition property=&quot;build.type&quot; value=&quot;Develop&quot;&gt;
		&lt;or&gt;
			&lt;equals arg1=&quot;d&quot; arg2=&quot;${bt}&quot; casesensitive=&quot;false&quot; trim=&quot;true&quot; /&gt;
			&lt;equals arg1=&quot;dev&quot; arg2=&quot;${bt}&quot; casesensitive=&quot;false&quot; trim=&quot;true&quot; /&gt;
			&lt;equals arg1=&quot;develop&quot; arg2=&quot;${bt}&quot; casesensitive=&quot;false&quot; trim=&quot;true&quot; /&gt;
		&lt;/or&gt;
	&lt;/condition&gt;
	&lt;condition property=&quot;build.type&quot; value=&quot;Production&quot;&gt;
		&lt;or&gt;
			&lt;equals arg1=&quot;p&quot; arg2=&quot;${bt}&quot; casesensitive=&quot;false&quot; trim=&quot;true&quot; /&gt;
			&lt;equals arg1=&quot;prod&quot; arg2=&quot;${bt}&quot; casesensitive=&quot;false&quot; trim=&quot;true&quot; /&gt;
			&lt;equals arg1=&quot;production&quot; arg2=&quot;${bt}&quot; casesensitive=&quot;false&quot; trim=&quot;true&quot; /&gt;
		&lt;/or&gt;
	&lt;/condition&gt;
	&lt;property name=&quot;build.type&quot; value=&quot;${bt}&quot; /&gt;
	&lt;!-- Сия конструкция подгружает файл с пресетами, в зависимости от выбранной конфигурации сборки --&gt;
	&lt;property name=&quot;build.properties.filename&quot; value=&quot;${basedir}/properties/${build.type}&quot; /&gt;
	&lt;condition property=&quot;incorrect.build.type&quot;&gt;
		&lt;not&gt;
			&lt;available file=&quot;${build.properties.filename}&quot; /&gt;
		&lt;/not&gt;
	&lt;/condition&gt;
	&lt;!-- А нет у нас такого конфига! --&gt;
	&lt;fail if=&quot;incorrect.build.type&quot; message=&quot;Incorrect build type [${build.type}] was received - build stopped!&quot; /&gt;
	&lt;property file=&quot;${build.properties.filename}&quot; /&gt;
	&lt;!-- И что бы ни случилось - подгружаем настройки Common, общие для всех конфигураций --&gt;
	&lt;property file=&quot;${basedir}/properties/Common&quot; /&gt;
	&lt;!-- END:Load of properties --&gt;
	&lt;!-- А дальше конфигурируем SVN --&gt;
	&lt;!-- BEGIN:SVN Configure --&gt;
	&lt;echo&gt;Configuring subversion...&lt;/echo&gt;
	&lt;!-- SETUP of SVN-Action type --&gt;
	&lt;property name=&quot;sa&quot; value=&quot;checkout&quot; /&gt;
	&lt;property name=&quot;svn.action&quot; value=&quot;${sa}&quot; /&gt;
	&lt;condition property=&quot;svn.checkout&quot; value=&quot;true&quot;&gt;
		&lt;or&gt;
			&lt;equals arg1=&quot;co&quot; arg2=&quot;${svn.action}&quot; casesensitive=&quot;false&quot; trim=&quot;true&quot; /&gt;
			&lt;equals arg1=&quot;checkout&quot; arg2=&quot;${svn.action}&quot; casesensitive=&quot;false&quot; trim=&quot;true&quot; /&gt;
		&lt;/or&gt;
	&lt;/condition&gt;
	&lt;condition property=&quot;svn.update&quot; value=&quot;true&quot;&gt;
		&lt;or&gt;
			&lt;equals arg1=&quot;up&quot; arg2=&quot;${svn.action}&quot; casesensitive=&quot;false&quot; trim=&quot;true&quot; /&gt;
			&lt;equals arg1=&quot;update&quot; arg2=&quot;${svn.action}&quot; casesensitive=&quot;false&quot; trim=&quot;true&quot; /&gt;
		&lt;/or&gt;
	&lt;/condition&gt;
	&lt;property name=&quot;project.svn.password&quot; value=&quot;${sp}&quot; /&gt;
	&lt;!-- SvnAnt Setup --&gt;
	&lt;typedef resource=&quot;org/tigris/subversion/svnant/svnantlib.xml&quot; classpath=&quot;svnant.jar&quot; /&gt;
	&lt;!-- END:SVN Configure --&gt;
	&lt;!-- А вот тут мы как раз в зависимости от заданного &quot;таргета&quot; выбираем, что делать будем - устанавливать,
		линковать, или просто переконфигурировать. Разница в следующем: в install мы просто вытягиваем все требуемые
		файлы из репозиториев, и размещаем их так, как нам нужно, с учётом всяческих иерархий и прочего.
		В link мы можем много чего. Например самое простое - в UNIX системах понапроставлять симлинков на нужные
		директории в проекте, или там вызвать какой-нибудь внешний линковщик, или ещё что-нибудь... В общем логически
		данный уровень выката проекта - наиболее абстрактен, вы можете в нём по идее творить что угодно.
		Ну и наконец configure в данном случае просто генерирует конфигурационные файлы - для развёрнутого продукта.
		Важно помнить, что вы можете задавать любые цели, и как угодно разделять логику сборки - что-то у вас может
		быть, чего-то не быть - в общем, всё на ваш вкус.
	--&gt;
	&lt;!-- BEGIN: TARGETS --&gt;
	&lt;target name=&quot;install&quot;&gt;
		&lt;ant antfile=&quot;${basedir}/scripts/project_install.xml&quot; /&gt;
	&lt;/target&gt;
	&lt;target name=&quot;configure&quot;&gt;
		&lt;ant antfile=&quot;${basedir}/scripts/project_configure.xml&quot; /&gt;
	&lt;/target&gt;
	&lt;target name=&quot;link&quot;&gt;
		&lt;ant antfile=&quot;${basedir}/scripts/project_link.xml&quot; /&gt;
		&lt;ant antfile=&quot;${basedir}/scripts/project_configure.xml&quot; /&gt;
	&lt;/target&gt;
&lt;!-- А сюда, собственно, мы помещаем информацию о том, что мы вообще выкатили. В дальнейшем эта информация помогает
	тому же анту ориентироваться в версиях выкаченного, да и самим вполне можно будет посмотреть, что там происходило
--&gt;
&lt;!-- BEGIN: DO NOT place any spaces at the beginning of lines in that target --&gt;
&lt;target name=&quot;save.branchname&quot;&gt;
&lt;echo file=&quot;installed_branches_project.txt&quot; append=&quot;true&quot; level=&quot;info&quot;&gt;${forum.svn.project.branch}
&lt;/echo&gt;
&lt;/target&gt;
&lt;!-- END. --&gt;
&lt;!-- END: TARGETS --&gt;
&lt;/project&gt;
</pre>
<p>Как пример - project_configure.xml для одного форума: </p>
<pre class="brush: xml; title: ; notranslate">
&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;project name=&quot;Some Project&quot; default=&quot;configure&quot;&gt;
	&lt;target name=&quot;configure&quot;&gt;
		&lt;echo&gt; Configure: START &lt;/echo&gt;
		&lt;!-- Forum config --&gt;
		&lt;delete file=&quot;${forum.install.path}/conf_global.php&quot; quiet=&quot;true&quot; /&gt;
		&lt;copy file=&quot;${basedir}/templates/conf_global.php.tpl&quot; tofile=&quot;${forum.install.path}/conf_global.php&quot; /&gt;
		&lt;replace file=&quot;${forum.install.path}/conf_global.php&quot; token=&quot;#ANT:forum.sql.driver#&quot; value=&quot;${forum.sql.driver}&quot; /&gt;
		&lt;replace file=&quot;${forum.install.path}/conf_global.php&quot; token=&quot;#ANT:forum.sql.host#&quot; value=&quot;${forum.sql.host}&quot; /&gt;
		&lt;replace file=&quot;${forum.install.path}/conf_global.php&quot; token=&quot;#ANT:forum.sql.port#&quot; value=&quot;${forum.sql.port}&quot; /&gt;
		&lt;replace file=&quot;${forum.install.path}/conf_global.php&quot; token=&quot;#ANT:forum.sql.database#&quot; value=&quot;${forum.sql.database}&quot; /&gt;
		&lt;replace file=&quot;${forum.install.path}/conf_global.php&quot; token=&quot;#ANT:forum.sql.user#&quot; value=&quot;${forum.sql.user}&quot; /&gt;
		&lt;replace file=&quot;${forum.install.path}/conf_global.php&quot; token=&quot;#ANT:forum.sql.pass#&quot; value=&quot;${forum.sql.pass}&quot; /&gt;
		&lt;replace file=&quot;${forum.install.path}/conf_global.php&quot; token=&quot;#ANT:forum.sql.tbl_prefix#&quot; value=&quot;${forum.sql.tbl_prefix}&quot; /&gt;
		&lt;replace file=&quot;${forum.install.path}/conf_global.php&quot; token=&quot;#ANT:forum.sql.debug#&quot; value=&quot;${forum.sql.debug}&quot; /&gt;
		&lt;replace file=&quot;${forum.install.path}/conf_global.php&quot; token=&quot;#ANT:forum.host#&quot; value=&quot;${forum.host}&quot; /&gt;
		&lt;replace file=&quot;${forum.install.path}/conf_global.php&quot; token=&quot;#ANT:forum.settings.group.banned#&quot; value=&quot;${forum.settings.group.banned}&quot; /&gt;
		&lt;replace file=&quot;${forum.install.path}/conf_global.php&quot; token=&quot;#ANT:forum.settings.group.admin#&quot; value=&quot;${forum.settings.group.admin}&quot; /&gt;
		&lt;replace file=&quot;${forum.install.path}/conf_global.php&quot; token=&quot;#ANT:forum.settings.group.guest#&quot; value=&quot;${forum.settings.group.guest}&quot; /&gt;
		&lt;replace file=&quot;${forum.install.path}/conf_global.php&quot; token=&quot;#ANT:forum.settings.group.member#&quot; value=&quot;${forum.settings.group.member}&quot; /&gt;
		&lt;replace file=&quot;${forum.install.path}/conf_global.php&quot; token=&quot;#ANT:forum.settings.group.auth#&quot; value=&quot;${forum.settings.group.auth}&quot; /&gt;
		&lt;replace file=&quot;${forum.install.path}/conf_global.php&quot; token=&quot;#ANT:forum.locale#&quot; value=&quot;${forum.locale}&quot; /&gt;
		&lt;replace file=&quot;${forum.install.path}/conf_global.php&quot; token=&quot;#ANT:forum.date_start#&quot; value=&quot;${forum.date_start}&quot; /&gt;
		&lt;replace file=&quot;${forum.install.path}/conf_global.php&quot; token=&quot;#ANT:forum.hooks.disabled#&quot; value=&quot;${forum.hooks.disabled}&quot; /&gt;
		&lt;!-- / Forum config --&gt;
		&lt;echo&gt; Configure: END &lt;/echo&gt;
	&lt;/target&gt;
&lt;/project&gt;
</pre>
<p>Ах да, чуть не забыл. Ещё требуется конфиг. В данном случае он лежит в подпапке properties/ - это файл Develop или Production. В зависимости от того, что в них - будет конфигурироваться проект. Скажем, если мы разворачиваем проект строкой ant -Dbt=D install - подцепится Debug конфиг (=D). Если бы мы собирали его -Dbt=P - подцепился бы Production конфиг. Вот вам пример конфига - естественно, некоторые значения я там заменил :) А, кстати - вот вверху есть configure таргет - в нем происходит следующее. Сначала удаляется старый файл (который генерируется при развёртке проекта, скажем это файл с настройками). Затем, на его место пишется <u>шаблон</u>, простым копированием. И затем, в этом <u>скопированном</u> шаблоне заменяются токены вида #ANT:forum.settings.group.auth# на соответствующие (см. выше) значения. Итак, пример конфигурационного файла Develop: </p>
<pre class="brush: plain; title: ; notranslate">
#-----------------------------------------------------------------
# Properties for Dev-build
#-----------------------------------------------------------------
# Forum Settings
forum.name=Some Forum Name
forum.host=www.host.ru
forum.path=/www/host.ru
forum.install.path=/www/host.ru/htdocs
forum.locale=ru_RU.CP1251
forum.date_start=1234567890
forum.settings.group.banned=1
forum.settings.group.admin=2
forum.settings.group.guest=3
forum.settings.group.member=4
forum.settings.group.auth=5
# SVN Settings
forum.svn.user=svn-user
# Репозиторий движка.
forum.svn.engine=svn+ssh://host.ru/ipb
forum.svn.engine.branch=branches/Dev_1.0.0
forum.engine.dir=${forum.path}/engine
# Проектный репозиторий
forum.svn.project=svn+ssh://host.ru/project
forum.svn.project.branch=Dev_0.0.3
forum.project.dir=${forum.path}/project
# uploads dir
forum.uploads.dir=${forum.path}/uploads
# DB Settings
forum.sql.driver=pgsql
forum.sql.host=host.ru
forum.sql.port=6505
forum.sql.database=forum
forum.sql.user=forum_user
forum.sql.pass=password
forum.sql.tbl_prefix=prefix_
forum.sql.debug=1
</pre>
<p>И файлик, собственно, с шаблоном для конфигурационного файла: </p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
$INFO['sql_driver']		=	'#ANT:forum.sql.driver#';
$INFO['sql_host']		=	'#ANT:forum.sql.host#';
$INFO['sql_port']		=	'#ANT:forum.sql.port#';
$INFO['sql_database']		=	'#ANT:forum.sql.database#';
$INFO['sql_user']		=	'#ANT:forum.sql.user#';
$INFO['sql_pass']		=	'#ANT:forum.sql.pass#';
$INFO['sql_tbl_prefix']		=	'#ANT:forum.sql.tbl_prefix#';
$INFO['sql_debug']		=	'#ANT:forum.sql.debug#';
$INFO['board_start']		=	'#ANT:forum.date_start#';
$INFO['installed']		=	'1';
$INFO['php_ext']		=	'php';
$INFO['safe_mode']		=	'0';
$INFO['board_url']		=	'http://#ANT:forum.host#';
$INFO['banned_group']		=	'#ANT:forum.settings.group.banned#';
$INFO['admin_group']		=	'#ANT:forum.settings.group.admin#';
$INFO['guest_group']		=	'#ANT:forum.settings.group.guest#';
$INFO['member_group']		=	'#ANT:forum.settings.group.member#';
$INFO['auth_group']		=	'#ANT:forum.settings.group.auth#';
$INFO['locale']			=	'#ANT:forum.locale#';
?&gt;
</pre>
<p><strong>Да, и кстати.</strong> Если вы поменяли что-то в конфигурационном файле, либо заменили нечто в шаблоне - вам не обязательно (в рамках приведённого примера) выкатывать всё заново. Достаточно вызвать команду: ant -Dbt=D configure. В результате будет выполнен таргет configure, в котором произойдёт перегенерация всех шаблонно-генерируемых файлов, вот. </p>
<p>Вот, в общем-то и всё... Надеюсь, удалось осветить как и что. Хотя концовка получилась немного скомканной - дописывалось уже через пару недель, после того, как основной текст был порождён. Так что в спешке. Но если не дописать сейчас - то наверное уже не дойдут руки никогда :) Вот. Все вопросы, если они возникнут, как обычно - в каменты.</p>
<span style="color: #000000;"><br /><br /></span><span style="color: #000000;">Твой сосед в петлю полез? Ну и хуй с ним - <a href="http://www.shpargalko.ru/feed" >читай RSS</a>!<br /><br /></span><img src="http://feeds.feedburner.com/~r/shpargalko/~4/gUzRJMyjPyU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.shpargalko.ru/2012/01/16/apache-ant/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Путин: сладость репейника.</title>
		<link>http://www.shpargalko.ru/2012/01/13/putin-sladost-repejnika/</link>
		<comments>http://www.shpargalko.ru/2012/01/13/putin-sladost-repejnika/#comments</comments>
		<pubDate>Fri, 13 Jan 2012 13:23:17 +0000</pubDate>
		<dc:creator>Алекс Разгибалов</dc:creator>
				<category><![CDATA[Всякая Куйня]]></category>
		<category><![CDATA[генератор бреда]]></category>
		<category><![CDATA[Путин]]></category>
		<category><![CDATA[репейник]]></category>
		<guid isPermaLink="false">http://www.shpargalko.ru/?p=1907</guid>
		<description><![CDATA[Оказывается у Яндекса есть чудный сервис - всяческий генератор бреда, абракадабры, и прочей хуеты. А есть ещё классный сервис - помощник криэйтора. Вбиваете любое слово, а он под него генерит слоганы. Тащемта, забавно вбить туда слово "Путин" и пощёлкать на кнопку. Например, у меня получились следующие слоганы: Путин: гарантированная эксцентричность. Путин: заклей дровосека. Путин: доморощенный [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1908" class="wp-caption alignleft" style="width: 310px"><a href="http://www.shpargalko.ru/wp-content/uploads/2012/01/putin3.jpg"  rel="lightbox[1907]" title="Путин"><img class="size-medium wp-image-1908" title="Путин" src="http://www.shpargalko.ru/wp-content/uploads/2012/01/putin3-300x284.jpg" alt="Путин" width="300" height="284" /></a><p class="wp-caption-text">Путин</p></div>
<p>Оказывается у Яндекса есть чудный сервис - всяческий генератор бреда, абракадабры, и прочей хуеты. А есть ещё классный сервис - помощник криэйтора. Вбиваете любое слово, а он под него генерит слоганы. Тащемта, забавно вбить туда слово "Путин" и пощёлкать на кнопку. Например, у меня получились следующие слоганы:</p>
<p>Путин: гарантированная эксцентричность.</p>
<p>Путин: заклей дровосека.</p>
<p>Путин: доморощенный фингер-эффект.</p>
<p>Путин: восточно-европейское упаривание.</p>
<p>Путин: полюби транссексуальность</p>
<p>Путин: радостное противостояние.</p>
<p>Путин: аромат предков.</p>
<p>Путин: рождение жожоба.</p>
<p>Путин: олимпийский бакшиш.</p>
<p>Путин: парадоксальная весна.</p>
<p>Путин: новогодняя надолба.</p>
<p>Путин: многоступенчатое добро.</p>
<p>Ну и самый "гвоздь" - Путин: сладость репейника.</p>
<p><noindex><a target="_blank" rel="nofollow" href="http://www.shpargalko.ru/goto/aHR0cDovL3Zlc25hLnlhbmRleC5ydS9zbG9nYW4ueG1sP2NvbXBhbnk9JUQwJTlGJUQxJTgzJUQxJTgyJUQwJUI4JUQwJUJE" >Попробуйте, вам понравится</a></noindex> :) Не обязательно указывать только Путина - вы можете пройтись по всем политикам. Например кое у кого получилось: "Назарбаев: славянско-турецкий мотор".</p>
<span style="color: #000000;"><br /><br /></span><span style="color: #000000;">Магдалина охуела: "Чудо! Чудо! Ты воскрес!"<br/>Он протягивая руки: <a href="http://www.shpargalko.ru/feed" >Подпишись на RSS</a>!<br /><br /></span><img src="http://feeds.feedburner.com/~r/shpargalko/~4/k1DPgrZDqkI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.shpargalko.ru/2012/01/13/putin-sladost-repejnika/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Чото как-то Маяковским навеяло.</title>
		<link>http://www.shpargalko.ru/2012/01/12/choto-kak-to-mayakovskim-naveyalo/</link>
		<comments>http://www.shpargalko.ru/2012/01/12/choto-kak-to-mayakovskim-naveyalo/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 11:05:28 +0000</pubDate>
		<dc:creator>Алекс Разгибалов</dc:creator>
				<category><![CDATA[Всякая Куйня]]></category>
		<category><![CDATA[Творческие потуги]]></category>
		<category><![CDATA[Маяковский]]></category>
		<category><![CDATA[революция]]></category>
		<category><![CDATA[Розы]]></category>
		<guid isPermaLink="false">http://www.shpargalko.ru/?p=1904</guid>
		<description><![CDATA[Поэт революции же-ж, хуле. Кстати опробовал Sound Forge - доставляет. Ощутимо удобнее Adobe Audition. Сабж далее :) Ой. А ваш браузер похоже что не поддерживает HTML 5 аудио. Можете просто скачать MP3. Даже если ты консерватор, добавь RSS в свой агрегатор.]]></description>
			<content:encoded><![CDATA[<p>Поэт революции же-ж, хуле. Кстати опробовал Sound Forge - доставляет. Ощутимо удобнее Adobe Audition. Сабж далее :)</p>
<p><audio controls><br />
<source src="http://www.shpargalko.ru/wp-content/uploads/2012/01/empetrishechka.mp3"><br />
Ой. А ваш браузер похоже что не поддерживает HTML 5 аудио. Можете просто<br />
<a href="http://www.shpargalko.ru/wp-content/uploads/2012/01/empetrishechka.mp3" >скачать MP3</a>.<br />
</audio></p>
<span style="color: #000000;"><br /><br /></span><span style="color: #000000;">Мы говорим Ленин - подразумеваем <a href="http://www.shpargalko.ru/feed" >RSS канал# <br /> Мы говорим #RSS канал</a> - подразумеваем Ленин.<br /><br /></span><img src="http://feeds.feedburner.com/~r/shpargalko/~4/fo25_4ktYnc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.shpargalko.ru/2012/01/12/choto-kak-to-mayakovskim-naveyalo/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
<enclosure url="http://www.shpargalko.ru/wp-content/uploads/2012/01/empetrishechka.mp3" length="613044" type="audio/mpeg" />
		</item>
	</channel>
</rss><!-- Dynamic page generated in 0.996 seconds. --><!-- Cached page generated by WP-Super-Cache on 2012-05-16 10:01:38 --><!-- Compression = gzip -->

