<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>corpix</title>
	<atom:link href="http://corpix.ru/feed" rel="self" type="application/rss+xml" />
	<link>http://corpix.ru</link>
	<description>Собачьи страсти в эру водолея.</description>
	<lastBuildDate>Sun, 25 Jul 2010 02:57:28 +0000</lastBuildDate>
	<language>ru</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>The roof is on fire!</title>
		<link>http://corpix.ru/show/524</link>
		<comments>http://corpix.ru/show/524#comments</comments>
		<pubDate>Sat, 24 Jul 2010 16:18:38 +0000</pubDate>
		<dc:creator>corpix</dc:creator>
				<category><![CDATA[roof]]></category>
		<category><![CDATA[Арт]]></category>
		<category><![CDATA[Без рубрики]]></category>
		<category><![CDATA[Пачкуны]]></category>
		<category><![CDATA[Прогулки]]></category>
		<category><![CDATA[Стрит арт]]></category>
		<category><![CDATA[Тусовки]]></category>
		<category><![CDATA[Москва]]></category>
		<category><![CDATA[ЧЁРТОВЫ ПАЧКУНЫ!]]></category>
		<category><![CDATA[арт]]></category>
		<category><![CDATA[эмз]]></category>

		<guid isPermaLink="false">http://corpix.ru/?p=524</guid>
		<description><![CDATA[Был сегодня на одной из московских крыш. Вот что нафоткал(всё с рук, не без косяков):]]></description>
			<content:encoded><![CDATA[<p>Был сегодня на одной из московских крыш.</p>
<p>Вот что нафоткал(всё с рук, не без косяков):</p>
<p><a href="http://corpix.ru/wp-content/uploads/2010/07/1.jpg" target="_blank"><img class="alignleft size-full wp-image-525" title="1" src="http://corpix.ru/wp-content/uploads/2010/07/1.jpg" alt="" width="440" height="124" /></a><a href="http://corpix.ru/wp-content/uploads/2010/07/2.jpg" target="_blank"><img class="alignleft size-full wp-image-526" title="2" src="http://corpix.ru/wp-content/uploads/2010/07/2.jpg" alt="" width="442" height="128" /></a><a href="http://corpix.ru/wp-content/uploads/2010/07/3.jpg" target="_blank"><img class="alignleft size-full wp-image-527" title="3" src="http://corpix.ru/wp-content/uploads/2010/07/3.jpg" alt="" width="439" height="92" /></a><a href="http://corpix.ru/wp-content/uploads/2010/07/4.jpg" target="_blank"><img class="alignleft size-full wp-image-528" title="4" src="http://corpix.ru/wp-content/uploads/2010/07/4.jpg" alt="" width="440" height="117" /></a><a href="http://corpix.ru/wp-content/uploads/2010/07/5.jpg" target="_blank"><img class="alignleft size-full wp-image-529" title="5" src="http://corpix.ru/wp-content/uploads/2010/07/5.jpg" alt="" width="440" height="195" /></a>
<div class="tweetmeme_button" style="margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcorpix.ru%2Fshow%2F524"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcorpix.ru%2Fshow%2F524&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://corpix.ru/show/524/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I&#8217;ts Moscow!</title>
		<link>http://corpix.ru/show/489</link>
		<comments>http://corpix.ru/show/489#comments</comments>
		<pubDate>Wed, 14 Jul 2010 19:49:26 +0000</pubDate>
		<dc:creator>corpix</dc:creator>
				<category><![CDATA[Арт]]></category>
		<category><![CDATA[Без рубрики]]></category>
		<category><![CDATA[Пачкуны]]></category>
		<category><![CDATA[Прогулки]]></category>
		<category><![CDATA[Стрит арт]]></category>
		<category><![CDATA[Тусовки]]></category>
		<category><![CDATA[Москва]]></category>
		<category><![CDATA[ЧЁРТОВЫ ПАЧКУНЫ!]]></category>
		<category><![CDATA[арт]]></category>
		<category><![CDATA[эмз]]></category>

		<guid isPermaLink="false">http://corpix.ru/?p=489</guid>
		<description><![CDATA[Просто рад =)]]></description>
			<content:encoded><![CDATA[<p>Просто рад =)</p>
<p><a href="http://corpix.ru/wp-content/uploads/2010/07/pan1-mini.jpg" target="_blank"><img class="alignleft size-large wp-image-490" style="display: block;" title="pan1-mini" src="http://corpix.ru/wp-content/uploads/2010/07/pan1-mini-1024x125.jpg" alt="" width="435" height="53" /></a></p>
<p><a href="http://corpix.ru/wp-content/uploads/2010/07/DSC02014.jpg" target="_blank"><img class="alignleft size-large wp-image-499" title="DSC02014" src="http://corpix.ru/wp-content/uploads/2010/07/DSC02014-1024x514.jpg" alt="" width="441" height="221" /></a><a href="http://corpix.ru/wp-content/uploads/2010/07/DSC02013.jpg" target="_blank"><img class="alignleft size-large wp-image-498" title="DSC02013" src="http://corpix.ru/wp-content/uploads/2010/07/DSC02013-1024x481.jpg" alt="" width="442" height="207" /></a><a href="http://corpix.ru/wp-content/uploads/2010/07/DSC02012.jpg" target="_blank"><img class="alignleft size-large wp-image-497" title="DSC02012" src="http://corpix.ru/wp-content/uploads/2010/07/DSC02012-1024x448.jpg" alt="" width="442" height="193" /></a><a href="http://corpix.ru/wp-content/uploads/2010/07/DSC02010.jpg" target="_blank"><img class="alignleft size-large wp-image-496" title="DSC02010" src="http://corpix.ru/wp-content/uploads/2010/07/DSC02010-1024x460.jpg" alt="" width="441" height="198" /></a><a href="http://corpix.ru/wp-content/uploads/2010/07/DSC02000.jpg" target="_blank"><img class="alignleft size-full wp-image-495" title="DSC02000" src="http://corpix.ru/wp-content/uploads/2010/07/DSC02000.jpg" alt="" width="441" height="570" /></a><a href="http://corpix.ru/wp-content/uploads/2010/07/DSC01999.jpg" target="_blank"><img class="alignleft size-large wp-image-494" title="DSC01999" src="http://corpix.ru/wp-content/uploads/2010/07/DSC01999-1024x485.jpg" alt="" width="442" height="209" /></a><a href="http://corpix.ru/wp-content/uploads/2010/07/DSC01998.jpg" target="_blank"><img class="alignleft size-large wp-image-493" title="DSC01998" src="http://corpix.ru/wp-content/uploads/2010/07/DSC01998-1024x379.jpg" alt="" width="441" height="163" /></a><a href="http://corpix.ru/wp-content/uploads/2010/07/DSC01997.jpg" target="_blank"><img class="alignleft size-large wp-image-492" title="DSC01997" src="http://corpix.ru/wp-content/uploads/2010/07/DSC01997-1024x486.jpg" alt="" width="441" height="209" /></a>
<div class="tweetmeme_button" style="margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcorpix.ru%2Fshow%2F489"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcorpix.ru%2Fshow%2F489&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://corpix.ru/show/489/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Insomnia.</title>
		<link>http://corpix.ru/show/440</link>
		<comments>http://corpix.ru/show/440#comments</comments>
		<pubDate>Tue, 06 Jul 2010 10:30:48 +0000</pubDate>
		<dc:creator>corpix</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Photoshop]]></category>
		<category><![CDATA[Арт]]></category>
		<category><![CDATA[Photoshop CS5]]></category>
		<category><![CDATA[арт]]></category>

		<guid isPermaLink="false">http://corpix.ru/?p=440</guid>
		<description><![CDATA[Я видел осень. Она такая Сталкер]]></description>
			<content:encoded><![CDATA[<p>Я видел осень. Она такая</p>
<p><a style="display: block;" href="http://corpix.ru/wp-content/uploads/2010/07/autumn.jpg" target="_blank"><img class="alignleft size-large wp-image-441" title="autumn" src="http://corpix.ru/wp-content/uploads/2010/07/autumn-1024x512.jpg" alt="" width="440" height="220" /></a><a href="http://corpix.ru/wp-content/uploads/2010/07/07.14.-Сталкер.mp3">Сталкер</a>
<div class="tweetmeme_button" style="margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcorpix.ru%2Fshow%2F440"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcorpix.ru%2Fshow%2F440&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://corpix.ru/show/440/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sharp point</title>
		<link>http://corpix.ru/show/390</link>
		<comments>http://corpix.ru/show/390#comments</comments>
		<pubDate>Mon, 05 Jul 2010 01:35:47 +0000</pubDate>
		<dc:creator>corpix</dc:creator>
				<category><![CDATA[Пачкуны]]></category>
		<category><![CDATA[Москва]]></category>
		<category><![CDATA[Углы]]></category>
		<category><![CDATA[Что-то я делаю]]></category>
		<category><![CDATA[арт]]></category>
		<category><![CDATA[эмз]]></category>

		<guid isPermaLink="false">http://corpix.ru/?p=390</guid>
		<description><![CDATA[Автор: Reos]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a style="display: block;" href="http://corpix.ru/wp-content/uploads/2010/07/rs.jpg" target="_blank"><img class="alignleft size-large wp-image-393" style="border: 0pt none;" title="rs" src="http://corpix.ru/wp-content/uploads/2010/07/rs-1024x512.jpg" alt="" width="451" height="225" /></a><a style="display: block;" href="http://corpix.ru/wp-content/uploads/2010/07/emma.jpg" target="_blank"><img class="alignleft size-large wp-image-392" style="border: 0pt none;" title="emma" src="http://corpix.ru/wp-content/uploads/2010/07/emma-1024x512.jpg" alt="" width="451" height="225" /></a><a style="display: block;" href="http://corpix.ru/wp-content/uploads/2010/07/dasha.jpg" target="_blank"><img class="alignleft size-large wp-image-391" style="border: 0pt none;" title="dasha" src="http://corpix.ru/wp-content/uploads/2010/07/dasha-1024x512.jpg" alt="" width="451" height="226" /></a></p>
<p style="text-align: center;">
<p>Автор: <strong>Reos</strong>
<div class="tweetmeme_button" style="margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcorpix.ru%2Fshow%2F390"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcorpix.ru%2Fshow%2F390&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://corpix.ru/show/390/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flex. People win.</title>
		<link>http://corpix.ru/show/386</link>
		<comments>http://corpix.ru/show/386#comments</comments>
		<pubDate>Mon, 05 Jul 2010 01:07:28 +0000</pubDate>
		<dc:creator>corpix</dc:creator>
				<category><![CDATA[Action Script]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Кодинг]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Adobe flex]]></category>
		<category><![CDATA[Что-то я делаю]]></category>

		<guid isPermaLink="false">http://corpix.ru/?p=386</guid>
		<description><![CDATA[Первая часть: http://corpix.ru/show/384 Заставил MenuBar делать то, что мне было нужно. А вот компонент, который я нашел на форуме в первой части: package custom{ import flash.geom.Rectangle; import mx.controls.Alert; import mx.controls.MenuBar; import mx.controls.menuClasses.IMenuBarItemRenderer; import mx.core.IFlexDisplayObject; public class AlignableMenuBar extends MenuBar { private static const &#34;&#34;&#34;&#34;&#34;&#34;"MARGIN_WID" &#34; &#34; &#34; &#34; &#34; &#34; TH:int=10; private var background:IFlexDisplayObject; public [...]]]></description>
			<content:encoded><![CDATA[<p>Первая часть: <a href="http://corpix.ru/show/384">http://corpix.ru/show/384</a></p>
<p><a href="http://corpix.ru/wp-content/uploads/2010/07/alignableMenuBar.jpg" target="_blank"><img class="alignleft size-medium wp-image-389" title="alignableMenuBar" src="http://corpix.ru/wp-content/uploads/2010/07/alignableMenuBar-300x36.jpg" alt="" width="300" height="36" /></a></p>
<p>Заставил MenuBar делать то, что мне было нужно.</p>
<p>А вот компонент, который я нашел на форуме в первой части:</p>
<pre class="brush: as3;">

package custom{
 import flash.geom.Rectangle;

 import mx.controls.Alert;
 import mx.controls.MenuBar;
 import mx.controls.menuClasses.IMenuBarItemRenderer;
 import mx.core.IFlexDisplayObject;

 public class AlignableMenuBar extends MenuBar {
 private static const &quot;&quot;&quot;&quot;&quot;&quot;"MARGIN_WID" &quot; &quot; &quot; &quot; &quot; &quot; TH:int=10;
 private var background:IFlexDisplayObject;
 public var itemAlign:String;

 public function AlignableMenuBar() {
 super();
 }

 override protected  function updateDisplayList(unscaledWidth:Number,unscaledHeight:Number):void {
 if (this.itemAlign == &quot;right&quot;) {
 updateDisplayListRightAlign(unscaledWidth,unscaledHeight);
 } else if (this.itemAlign == &quot;center&quot;) {
 updateDisplayListCenterAlign(unscaledWidth,unscaledHeight);
 } else {
 updateDisplayListLeftAlign(unscaledWidth,unscaledHeight);
 }
 }

 protected function itemsTotalWidth(unscaledWidth:Number,unscaledHeight:Number):int {
 super.updateDisplayList(unscaledWidth,unscaledHeight);

 var len:int=menuBarItems.length;

 var totalWidth:int=0;
 for (var i:int=0; i &lt; len; i++) {
 var tempItem:IMenuBarItemRenderer=menuBarItems[i];
 totalWidth+= tempItem.width;
 }
 return totalWidth;
 }

 protected function updateDisplayListLeftAlign(unscaledWidth:Number,unscaledHeight:Number):void {
 super.updateDisplayList(unscaledWidth,unscaledHeight);

 var lastX:Number=&quot;&quot;&quot;&quot;&quot;&quot;"MARGIN_WID" &quot; &quot; &quot; &quot; &quot; &quot; TH;
 var lastW:Number=0;
 var len:int=menuBarItems.length;

 var clipContent:Boolean=false;
 var hideItems:Boolean=unscaledWidth == 0 || unscaledHeight == 0;

 for (var i:int=0; i &lt; len; i++) {
 var item:IMenuBarItemRenderer=menuBarItems[i];

 item.setActualSize(item.getExplicitOrMeasuredWidth(),unscaledHeight);
 item.visible=! hideItems;

 lastX=item.x=lastX + lastW;
 lastW=item.width;

 if (! hideItems &amp;&amp; item.getExplicitOrMeasuredHeight() &gt; unscaledHeight || lastX + lastW &gt; unscaledWidth) {
 clipContent=true;
 }
 }

 if (background) {
 background.setActualSize(unscaledWidth,unscaledHeight);
 background.visible=! hideItems;
 }

 // Set a scroll rect to handle clipping.
 scrollRect=clipContent?new Rectangle(0,0,unscaledWidth,unscaledHeight):null;

 }

 protected function updateDisplayListCenterAlign(unscaledWidth:Number,unscaledHeight:Number):void {
 var lastX:Number = (this.width - itemsTotalWidth(unscaledWidth,unscaledHeight)) / 2;
 var lastW:Number = 0;

 var clipContent:Boolean=false;
 var hideItems:Boolean=unscaledWidth == 0 || unscaledHeight == 0;

 for (var j:int=0; j &lt; menuBarItems.length; j++) {
 var item:IMenuBarItemRenderer=menuBarItems[j];

 item.setActualSize(item.getExplicitOrMeasuredWidth(),unscaledHeight);
 item.visible=! hideItems;

 item.x = lastX + lastW;
 lastX = item.x;

 lastW=item.width;

 if (! hideItems &amp;&amp; item.getExplicitOrMeasuredHeight() &gt; unscaledHeight || lastX + lastW &gt; unscaledWidth) {
 clipContent=true;
 }
 }

 if (background) {
 background.setActualSize(unscaledWidth,unscaledHeight);
 background.visible=! hideItems;
 }

 scrollRect=clipContent?new Rectangle(0,0,unscaledWidth,unscaledHeight):null;
 }

 protected function updateDisplayListRightAlign(unscaledWidth:Number,unscaledHeight:Number):void {
 var lastX:Number=this.width - itemsTotalWidth(unscaledWidth,unscaledHeight);
 var lastW:Number=0;

 var clipContent:Boolean=false;
 var hideItems:Boolean=unscaledWidth == 0 || unscaledHeight == 0;

 for (var j:int=0; j &lt; menuBarItems.length; j++) {
 var item:IMenuBarItemRenderer=menuBarItems[j];

 item.setActualSize(item.getExplicitOrMeasuredWidth(),unscaledHeight);
 item.visible=! hideItems;

 lastX=item.x=lastX + lastW;

 lastW=item.width;

 if (! hideItems &amp;&amp; item.getExplicitOrMeasuredHeight() &gt; unscaledHeight || lastX + lastW &gt; unscaledWidth) {
 clipContent=true;
 }
 }

 if (background) {
 background.setActualSize(unscaledWidth,unscaledHeight);
 background.visible=! hideItems;
 }

 scrollRect=clipContent?new Rectangle(0,0,unscaledWidth,unscaledHeight):null;
 }
 }
}
</pre>
<p>Мне нужно было расположить элементы по центру&#8230;видимо автор компонента не проверил его полностью и положился на теорию&#8230;</p>
<p>Для получения нужного результата понадобилось исправить небольшую математическую ошибку =)</p>
<p>Само меню, а также функции для отлова кликов(в выпадающих меню клики не обрабатываются&#8230;в этой проблеме я не стал разбираться, сейчас мне это и не нужно)&#8230;вообщем весь исходный код <a href="../wp-content/uploads/2010/07/xml-menu.zip">xml-menu</a>.</p>
<p><em>Если есть какие-то замечания/вопросы &#8211; пишите в комментарии, обсудим =)</em>
<div class="tweetmeme_button" style="margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcorpix.ru%2Fshow%2F386"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcorpix.ru%2Fshow%2F386&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://corpix.ru/show/386/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flex menubar items align?No =(</title>
		<link>http://corpix.ru/show/384</link>
		<comments>http://corpix.ru/show/384#comments</comments>
		<pubDate>Sat, 03 Jul 2010 10:10:11 +0000</pubDate>
		<dc:creator>corpix</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[НЕНАВИСТЬ]]></category>
		<category><![CDATA[Adobe flex]]></category>
		<category><![CDATA[Что-то я делаю]]></category>

		<guid isPermaLink="false">http://corpix.ru/?p=384</guid>
		<description><![CDATA[Adobe производит довольно хорошие продукты. До этого момента я забивал на тупейшие неудобности в illustrator, photoshop и т.д. Но вот захотелось мне поюзать Flex(Flash Builder 4). Скажем даже так: &#171;Я захотел сделать меню для сайта в Flash Builder 4&#8243;. Решил использовать для этой простой(казалось бы) задачи компоненту MenuBar. И тут начался ад&#8230; Найти что-то в [...]]]></description>
			<content:encoded><![CDATA[<p>Adobe производит довольно хорошие продукты.</p>
<p>До этого момента я забивал на тупейшие неудобности в illustrator, photoshop и т.д.</p>
<p>Но вот захотелось мне поюзать Flex(Flash Builder 4). Скажем даже так: &laquo;Я захотел сделать меню для сайта в Flash Builder 4&#8243;.</p>
<p>Решил использовать для этой простой(казалось бы) задачи компоненту MenuBar.</p>
<p>И тут начался ад&#8230;</p>
<ol>
<li>Найти что-то в адоубовских мануалах практически нереально.</li>
<li>Чтобы отловить клик по главному элементу меню(в моём случае мне были нужны только главные элементы, подменю не было) пришлось писать целую функцию.</li>
<li>И последняя капля: нельзя позиционировать элементы внутри меню.</li>
</ol>
<p><a href="http://www.flexdeveloper.eu/forums/flex-builder-flash-builder-eclipse/alignment-of-menu-items-in-menubar/" target="_blank">http://www.flexdeveloper.eu/forums/flex-builder-flash-builder-eclipse/alignment-of-menu-items-in-menubar/</a> тут нашлось решение, но я не смог подключить его к своему проекту.</p>
<p>Жуть как не логично.</p>
<p>Вторая часть: <a href="http://corpix.ru/show/386">http://corpix.ru/show/386</a>
<div class="tweetmeme_button" style="margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcorpix.ru%2Fshow%2F384"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcorpix.ru%2Fshow%2F384&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://corpix.ru/show/384/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simple Samba share</title>
		<link>http://corpix.ru/show/375</link>
		<comments>http://corpix.ru/show/375#comments</comments>
		<pubDate>Wed, 16 Jun 2010 04:40:16 +0000</pubDate>
		<dc:creator>corpix</dc:creator>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Samba]]></category>
		<category><![CDATA[Что-то я делаю]]></category>

		<guid isPermaLink="false">http://corpix.ru/?p=375</guid>
		<description><![CDATA[Захотелось удобного доступа к файлам из под винды. Собрал Samba, погуглил, сделал доступ(Спасибо sudouser.com за хорошую статью по настройке)&#8230;но есть одно большое и странное НО&#8230; /etc/samba/smb.conf [global] hosts allow = 192.168. interfaces = eth0 bind interfaces only = yes security = user username map = /etc/samba/smbusers passdb backend = tdbsam guest ok = no log [...]]]></description>
			<content:encoded><![CDATA[<p>Захотелось удобного доступа к файлам из под винды.</p>
<p>Собрал Samba, погуглил, сделал доступ(Спасибо <a href="http://sudouser.com/ustanovka-samba-servera-na-ubuntu-debian-za-5-minut.html" target="_blank">sudouser.com</a> за хорошую статью по настройке)&#8230;но есть одно большое и странное НО&#8230;</p>
<p><span id="more-375"></span></p>
<p>/etc/samba/smb.conf</p>
<pre class="brush: plain;">[global]
        hosts allow = 192.168.
        interfaces = eth0
        bind interfaces only = yes
        security = user
        username map = /etc/samba/smbusers
        passdb backend = tdbsam
        guest ok = no
        log file = /var/log/samba/%m.log
        max log size = 1000
        syslog = 0
        server string =
        deadtime = 360
        load printers = no
        show add printer wizard = no
        case sensitive = no
        hide unreadable = yes
        socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
        wins support = no

guest account = corpix

[corpix]
        path = /storage/samba
        valid users = corpix cx
        create mode = 0644
        available = yes
        browsable = yes
        public = no
        writable = yes
        guest ok = no
        printable = no
        create mask = 0644
        directory mask = 0755
</pre>
<p>Далее сделал так smbpasswd -a corpix &amp;&amp; smbpasswd -e corpix</p>
<p>Залогинился. <strong>НО</strong>.</p>
<pre>"guest account = corpix" вот без этой директивы вроде и работало, но залить ничего не получалось.
В логах такая проблема "connect to service corpix initially as user nobody"
Самое интересное, что в global(и даже на шаре) стоит "guest ok = no" и если верить мануалам, то "guest account" имеет силу только в противоположном случае.
Кто знает, в чём дело?</pre>
<div class="tweetmeme_button" style="margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcorpix.ru%2Fshow%2F375"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcorpix.ru%2Fshow%2F375&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://corpix.ru/show/375/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apache + subversion(SVN) + NGINX as frontend. 502 Bad Gateway. SVN COPY</title>
		<link>http://corpix.ru/show/367</link>
		<comments>http://corpix.ru/show/367#comments</comments>
		<pubDate>Mon, 14 Jun 2010 00:55:25 +0000</pubDate>
		<dc:creator>corpix</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[Subversion(SVN)]]></category>

		<guid isPermaLink="false">http://corpix.ru/?p=367</guid>
		<description><![CDATA[Давно поднял Apache+Subversion за NGINX на сервере, кодил, коммитил&#8230;особо не заморачивался. Но время идёт, вместе с ним растут мои навыки. Встала задача делать COPY, MOVE. Но сервером выдавалось 502 Bad Gateway (SVN COPY)&#8230; начал поиски. Оказалось, что проблема кроется в том, что NGINX я настроил на работу с HTTPS, но Apache об этом не оповестил [...]]]></description>
			<content:encoded><![CDATA[<p>Давно поднял Apache+Subversion за NGINX на сервере, кодил, коммитил&#8230;особо не заморачивался.</p>
<p>Но время идёт, вместе с ним растут мои навыки. Встала задача делать COPY, MOVE.</p>
<p>Но сервером выдавалось 502 Bad Gateway (SVN COPY)&#8230; начал поиски.</p>
<p><span id="more-367"></span></p>
<p>Оказалось, что проблема кроется в том, что NGINX я настроил на работу с HTTPS, но Apache об этом не оповестил =)</p>
<p>Решилось всё добавлением в секцию VirtualHost в Apache вот такой строки</p>
<pre class="brush: plain;">
RequestHeader edit Destination ^https http early
</pre>
<p>p.s. Решение было найдено <a href="http://stackoverflow.com/questions/2479346/502-bad-gateway-with-nginx-apache-subversion-ssl-svn-copy" target="_blank">тут</a>
<div class="tweetmeme_button" style="margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcorpix.ru%2Fshow%2F367"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcorpix.ru%2Fshow%2F367&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://corpix.ru/show/367/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Crossdomain ajax</title>
		<link>http://corpix.ru/show/320</link>
		<comments>http://corpix.ru/show/320#comments</comments>
		<pubDate>Wed, 02 Jun 2010 20:15:14 +0000</pubDate>
		<dc:creator>corpix</dc:creator>
				<category><![CDATA[JQuery]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Yii framework]]></category>
		<category><![CDATA[Кодинг]]></category>
		<category><![CDATA[Бредятина]]></category>
		<category><![CDATA[Работа]]></category>
		<category><![CDATA[Что-то я делаю]]></category>

		<guid isPermaLink="false">http://corpix.ru/?p=320</guid>
		<description><![CDATA[На одном из сайтов, который я сопровождаю возникла потребность в возможности поиска по прайсам на партнёрском сайте. О том как я реализовал это в Yii фреймворке&#8230; Мне попались на глаза исходники Http компонента, с помощью которого я когда-то делал web proxy&#8230; Работет всё так: Есть crossdomainController, который принимает массив данных из POST. В POST пишется [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://corpix.ru/wp-content/uploads/2010/06/img_303.jpg"><img class="alignleft size-full wp-image-321" style="margin-right: 5px;" title="img_303" src="http://corpix.ru/wp-content/uploads/2010/06/img_303.jpg" alt="" width="294" height="77" /></a>На одном из сайтов, который я сопровождаю возникла потребность в возможности поиска по прайсам на партнёрском сайте.</p>
<p>О том как я реализовал это в Yii фреймворке&#8230;</p>
<p><span id="more-320"></span></p>
<p>Мне попались на глаза исходники <a href="http://corpix.ru/wp-content/uploads/2010/06/http.zip">Http компонента</a>, с помощью которого я когда-то делал web proxy&#8230;</p>
<p>Работет всё так:</p>
<p>Есть crossdomainController, который принимает массив данных из POST.</p>
<p>В POST пишется url, которому нужно адресовать запрос, а также данные, которые к этому запросу нужно приложить.</p>
<p>Например:</p>
<p><span style="color: #888888;"><em>url &gt; http://somesite.org/somepage.php</em></span></p>
<p><span style="color: #888888;"><em>param1 &gt; value1</em></span></p>
<p><span style="color: #888888;"><em>paramN &gt; valueN</em></span></p>
<p>Параметр url целевому серверу не передаётся, он обнуляется.</p>
<p>Далее идёт проверка наличия этого url в таблице доверенных и лишь тогда отсылка.</p>
<p>Из-за специфичности фреймворка и множества изменений и фиксов, которые я в нём делал я ограничусь кодом:</p>
<p><em>Контроллер</em></p>
<pre class="brush: php;">&lt;?php
class CrossdomainController extends CAdvancedController {
    public function actionIndex() {
        $model = $this-&gt;getModel();
        $http = new http();
        $model-&gt;url = Yii::app()-&gt;request-&gt;getPost('url');

        $allowedUrl = $model-&gt;getData();
        if (!count($allowedUrl)) {
            throw new CHttpException(403);
        }

        $http-&gt;url = &amp;$model-&gt;url;
        unset($_POST['url']);
        $http-&gt;postvars = &amp;$_POST;
        if (!$http-&gt;fetch($http-&gt;url)) {
            throw new CHttpException(500);
        }

        $headers = split(&quot;\n&quot;, $http-&gt;header);
        foreach($headers as &amp;$header) {
            header($header);
        }

        echo $http-&gt;body;
    }
}</pre>
<p><em>Модель</em></p>
<pre class="brush: php;">
&lt;?php
class crossdomainindex extends CExtendedModel {
    public $url;
...
    public function rules() {
        return array (
                array('url', 'url', 'allowEmpty' =&gt; false),
        );
    }
...
    public function getData() {
        if ($this-&gt;validate()) {
            return $this-&gt;findAll('allowed_domains_url=:url', array(':url' =&gt; $this-&gt;url));
        }
        return false;
    }

    public function tableName() {
        return Yii::app ()-&gt;params-&gt;tables-&gt;allowed_domains;
    }
}
</pre>
<p><strong>Теперь немного о клиентской части.</strong></p>
<p>Я воспользовался плагином jQuery.ajaxForm&#8230; он оказался очень удобным в данной ситуации&#8230;</p>
<p>Данные отсылались&#8230;и тут я напоролся на очень не хороший факт.</p>
<p>Данные от целевого сервера приходили не в JSON, не в XML и т.д. Они приходили в каком-то неизвестном формате, который нужно распарсивать.</p>
<p>Код функции construct в следующих далее исходниках был скопипастен и немного прилизан(под jQuery) с целевого сайта.</p>
<pre class="brush: jscript;">
$(document).ready(function(){
        function construct(out) {
            var i = 0;
            var y = 0;
            var str = &quot;&quot;;
            var tabs = new Array();
            var pref = &quot;&quot;;
            var clas = &quot;&quot;;
            tabs = out.split('|');
            var top_max = tabs[1];
            top_max = (top_max * 1) + 4;
            if (top_max &gt; 4) {
                var s1 = &quot;&quot;;
                var s2 = &quot;&quot;;
                char_num = tabs[2].length - 1;
                if (tabs[2].charAt(char_num) == 1) { s1 = &quot;найдена &lt;b&gt;&quot;+tabs[2]+&quot;&lt;/b&gt; позиция&quot;; }
                if (tabs[2].charAt(char_num) == 2) { s1 = &quot;найдено &lt;b&gt;&quot;+tabs[2]+&quot;&lt;/b&gt; позиции&quot;;  }
                else { s1 = &quot;найдено &lt;b&gt;&quot;+tabs[2]+&quot;&lt;/b&gt; позиций&quot;; }
                if (tabs[3] != &quot;&quot;) {
                    $('#spell').css('display','block');
                    $('#spell').html('Вероятнее всего Вы хотели найти: &lt;b&gt;&lt;a href=&quot;http://skoda-tech.ru/s_'+encodeURIComponent(tabs[3])+'&quot; class=&quot;link&quot; target=&quot;_blank&quot;&gt;'+tabs[3]+'&lt;/a&gt;&lt;/b&gt;');
                    $('#copy_link').html('Ссылка на данную выборку: &lt;a href=&quot;http://skoda-tech.ru/s_'+encodeURIComponent(tabs[3])+'&quot; target=&quot;_blank&quot;&gt;http://skoda-tech.ru/s_'+tabs[3]+'&lt;/a&gt;');

                }
                else {
                    $('#spell').html();
                    $('#spell').css('display','none');
                    $('#copy_link').html('Ссылка на данную выборку: &lt;a href=&quot;http://skoda-tech.ru/s_'+encodeURIComponent($('#search').val())+'&quot; target=&quot;_blank&quot;&gt;http://skoda-tech.ru/s_'+$('#search').val()+'&lt;/a&gt;');
                }
                $('#copy_link').css('display','block');

                if (tabs[1] == 1) {
                    s2 = &quot; в &lt;b&gt;&quot;+tabs[1]+&quot;&lt;/b&gt; разделе.&quot;;
                } else {
                    s2 = &quot; в &lt;b&gt;&quot;+tabs[1]+&quot;&lt;/b&gt; разделах.&quot;;
                }

                $('#status_msg').css('display','block');
                $('#status_msg').css('visibility','visible');
                $('#status_msg').html(&quot;По вашему запросу было &quot;+s1+s2);

                for (y=4;top_max&gt;y;y++) {
                    var rows = new Array();
                    var cols = new Array();
                    var part = new Array();
                    part = tabs[y].split('@'); //отделяем и разбиваем хедеры
                    if (part[1] == &quot;1&quot; ) { pref = &quot;&quot;; }
                    if (part[1] == &quot;2&quot;) { pref = &quot;&lt;acronym class='alter' title='Был совершен нестрогий поиск'&gt;(Альтернативный поиск)&lt;acronym&gt;&quot; }
                    if (part[1] == &quot;3&quot;) { pref = &quot;&lt;acronym class='alter' title='В Вашем запросе присуствуют орфографические ошибки'&gt;(Альтернативный поиск - орфография)&lt;acronym&gt;&quot; }
                    rows = part[3].split('#'); //разбиваем на строки
                    var top_line = part[2] * 1;
                    if (top_line &gt; 0) {
                        str += &quot;&lt;p class='head_small'&gt;&lt;b&gt;&quot;;
                        if (part[0] == &quot;spares_sk&quot;) { str += &quot;&lt;a href='http://skoda-tech.ru/catalog.html' class='link' target='_blank'&gt;Каталог&lt;/a&gt;-&gt;&lt;a href='http://skoda-tech.ru/price/price_sk.xls' class='link'&gt;Запчасти Шкода&lt;/a&gt;&quot;+&quot; &quot;+pref; }
                        if (part[0] == &quot;service&quot;) { str += &quot;&lt;a href='http://skoda-tech.ru/catalog.html' class='link' target='_blank'&gt;Каталог&lt;/a&gt;-&gt;&lt;a href='http://skoda-tech.ru/price/price.doc' class='link'&gt;Сервис&lt;/a&gt;&quot;+&quot; &quot;+pref; }
                        if (part[0] == &quot;spares_sk_acc&quot;) { str += &quot;&lt;a href='http://skoda-tech.ru/catalog.html' class='link' target='_blank'&gt;Каталог&lt;/a&gt;-&gt;&lt;a href='http://skoda-tech.ru/price/spares_sk_acc.xls' class='link'&gt;Аксессуары Шкода&lt;/a&gt;&quot;+&quot; &quot;+pref; }
                        if (part[0] == &quot;spares_vw&quot;) { str += &quot;&lt;a href='http://skoda-tech.ru/catalog.html' class='link' target='_blank'&gt;Каталог&lt;/a&gt;-&gt;&lt;a href='http://skoda-tech.ru/price/spares_vw.xls' class='link'&gt;Запчасти VW&lt;/a&gt;&quot;+&quot; &quot;+pref; }
                        str += &quot;&lt;/b&gt;&lt;/p&gt;&quot;;
                        str += &quot;&lt;table class='out_table' cellpadding='7px'&gt;&quot;;
                        for (i=0;top_line&gt;i;i++) {
                            cols = rows[i].split('$'); //раздеряем тело на колонки
                            if ((i % 2) == 0) { clas = &quot;grey&quot;; }
                            else { clas = &quot;white&quot;; }
                            var loc_num = cols[0].replace('&lt;span class=&quot;marker&quot;&gt;','');
                            var loc_desc = cols[1].replace('&lt;span class=&quot;marker&quot;&gt;','');
                            var loc_money = cols[2].replace('&lt;span class=&quot;marker&quot;&gt;','');
                            loc_num = loc_num.replace(&quot;&lt;/span&gt;&quot;,&quot;&quot;);
                            loc_desc = loc_desc.replace(&quot;&lt;/span&gt;&quot;,&quot;&quot;);
                            loc_money = loc_money.replace(&quot;&lt;/span&gt;&quot;,&quot;&quot;);
                            var words = cols[1].split(&quot; &quot;);
                            if (words[0] != &quot;&quot; &amp;&amp; words[0].length &gt; 2) { word = words[0]; }
                            else { word = words[0]+&quot; &quot;+words[1]; }
                            str += &quot;&lt;tr class='&quot;+clas+&quot;'&gt;&quot;;
                            cols[1] = cols[1].replace(word,&quot;&lt;a href='http://skoda-tech.ru/s_&quot;+encodeURIComponent(word)+&quot;' class='link' target='_blank'&gt;&quot;+word+&quot;&lt;/a&gt;&quot;);
                            if (loc_money == &quot;замена&quot;) { loc_money = 0; }
                            str += &quot;&lt;td class='bag_line'&gt;&quot;+&quot;&lt;/td&gt;&quot;;
                            str += &quot;&lt;td class='number'&gt;&quot;+cols[0]+&quot;&lt;/td&gt;&quot;;
                            str += &quot;&lt;td class='desc'&gt;&quot;+cols[1]+&quot;&lt;/td&gt;&quot;;
                            if (cols[2] == &quot;замена&quot;) { str += &quot;&lt;td class='money'&gt;&quot;+cols[2]+&quot;&lt;/td&gt;&quot;; }
                            else { str += &quot;&lt;td class='money'&gt;&quot;+cols[2]+&quot;руб.&lt;/td&gt;&quot;; }
                            str += &quot;&lt;/tr&gt;&quot;;
                        }
                    }
                    str += &quot;&lt;/table&gt;&quot;;
                    delete(rows);
                    delete(cols);
                    delete(part);
                }
            }
            return str;
        }

        $('.skoda-search').ajaxForm({
            type:'POST',
            beforeSubmit: function(arr, form, options) {
                form.block({message:'Подождите...'});
            },
            success: function(data) {
                $('.skoda-responce').addClass('skoda-bg');
                var constructed = construct(data);
                if (constructed.length&gt;0) {
                    $('.skoda-responce').html(constructed);
                } else {
                    $('.skoda-responce').html('&lt;div id=&quot;no-entries&quot;&gt;По Вашему запросу ничего не найдено&lt;/div&gt;');
                }

                $('.skoda-search').unblock();
            }
        });
    });
</pre>
<p><em>Рабочую версию можно увидеть здесь <a href="http://partsjap.ru/page/show/price-lists-skoda" target="_blank">http://partsjap.ru/page/show/price-lists-skoda</a></em>
<div class="tweetmeme_button" style="margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcorpix.ru%2Fshow%2F320"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcorpix.ru%2Fshow%2F320&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://corpix.ru/show/320/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Php-FPM из коробки.</title>
		<link>http://corpix.ru/show/280</link>
		<comments>http://corpix.ru/show/280#comments</comments>
		<pubDate>Wed, 26 May 2010 22:48:37 +0000</pubDate>
		<dc:creator>corpix</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Php-Fpm]]></category>

		<guid isPermaLink="false">http://corpix.ru/?p=280</guid>
		<description><![CDATA[Хорошая новость для тех, кто использует php FastCGI Process Manager(FPM). Antony Dovgal написал в highload-php-ru Привет всем. После небольшой дискуссии с участием Расмуса и Йоханнеса (релиз-менеджер ветки 5.3), было решено, что добавление FPM не может сломать ничего серьезного. Поэтому, несмотря на то, что 5.3 &#8211; это bugfix-бранч и добавления функционала туда не принимаются, FPM туда [...]]]></description>
			<content:encoded><![CDATA[<p>Хорошая новость для тех, кто использует php FastCGI Process Manager(FPM).</p>
<p><span id="more-280"></span></p>
<p><em><span style="color: #888888;">Antony Dovgal написал в highload-php-ru</span></em></p>
<p><em><span style="color: #888888;">Привет всем.</span></em></p>
<p><em><span style="color: #888888;">После небольшой дискуссии с участием Расмуса и Йоханнеса (релиз-менеджер ветки 5.3),<br />
было решено, что добавление FPM не может сломать ничего серьезного.<br />
Поэтому, несмотря на то, что 5.3 &#8211; это bugfix-бранч и добавления функционала туда<br />
не принимаются, FPM туда добавить _можно_.</span></em></p>
<p><em><span style="color: #888888;">Что и было сделано.</span></em></p>
<p><em><span style="color: #888888;">Это означает, что теперь FPM будет доступен &laquo;из коробки&raquo; во всех следующих релизах PHP, начиная с 5.3.3.<br />
Снапшоты будут доступны на http://snaps.php.net примерно через 1 час.</span></em></p>
<p><em><span style="color: #888888;">Насчет добавления в 5.2 &#8211; нет шансов, сорри.</span></em></p>
<p>Ждём ебилдов.
<div class="tweetmeme_button" style="margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcorpix.ru%2Fshow%2F280"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcorpix.ru%2Fshow%2F280&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://corpix.ru/show/280/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->