<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.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/" version="2.0">

<channel>
	<title>devhands</title>
	
	<link>http://www.devhands.com</link>
	<description>Inspired by consistent circumstances</description>
	<lastBuildDate>Thu, 26 Aug 2010 13:42:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="devhands" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://www.devhands.com/feed/" /><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Fwww.devhands.com%2Ffeed%2F" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Fwww.devhands.com%2Ffeed%2F" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Fwww.devhands.com%2Ffeed%2F" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.bloglines.com/sub/http://www.devhands.com/feed/" 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%2Fwww.devhands.com%2Ffeed%2F" 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%2Fwww.devhands.com%2Ffeed%2F" 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://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Fwww.devhands.com%2Ffeed%2F" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><item>
		<title>WTF! Output buffer for the sake of output buffer</title>
		<link>http://www.devhands.com/2010/08/wtf-output-buffer-sak/</link>
		<comments>http://www.devhands.com/2010/08/wtf-output-buffer-sak/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 13:42:03 +0000</pubDate>
		<dc:creator>Aleksandr Tsertkov</dc:creator>
				<category><![CDATA[WTF?!]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[output buffer]]></category>

		<guid isPermaLink="false">http://www.devhands.com/?p=535</guid>
		<description><![CDATA[Output buffer control is so cool in PHP that some enjoy using it for the reason of just simply using it. // some code preparing output content $outputBuffer = 'some content'; &#160; // WTF?! ob_start&#40;&#41;; echo $outputBuffer; ob_flush&#40;&#41;; ob_end_clean&#40;&#41;;]]></description>
			<content:encoded><![CDATA[<p>Output buffer control is so cool in PHP that some enjoy using it for the reason of just simply using it.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// some code preparing output content</span>
<span style="color: #000088;">$outputBuffer</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'some content'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// WTF?!</span>
<span style="color: #990000;">ob_start</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$outputBuffer</span><span style="color: #339933;">;</span>
<span style="color: #990000;">ob_flush</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">ob_end_clean</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/devhands?a=vjQP8giFn4U:93A0Sc9RBRQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/devhands?i=vjQP8giFn4U:93A0Sc9RBRQ:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devhands?a=vjQP8giFn4U:93A0Sc9RBRQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/devhands?i=vjQP8giFn4U:93A0Sc9RBRQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devhands?a=vjQP8giFn4U:93A0Sc9RBRQ:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/devhands?i=vjQP8giFn4U:93A0Sc9RBRQ:gIN9vFwOqvQ" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.devhands.com/2010/08/wtf-output-buffer-sak/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WTF! Superglobals in function declaration</title>
		<link>http://www.devhands.com/2010/06/wtf-superglobals-in-function-declaration/</link>
		<comments>http://www.devhands.com/2010/06/wtf-superglobals-in-function-declaration/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 09:49:27 +0000</pubDate>
		<dc:creator>Aleksandr Tsertkov</dc:creator>
				<category><![CDATA[WTF?!]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.devhands.com/?p=523</guid>
		<description><![CDATA[With this post I start new category WTF &#8211; What The F**k. I will post here code samples which are raising only one question in my head every time i see them: &#8220;WTF?!&#8221; The first WTF is using superglobals as argument names in function declaration in PHP. Here is the code: 1 2 3 4 [...]]]></description>
			<content:encoded><![CDATA[<p>With this post I start new category WTF &#8211; What The F**k. I will post here code samples which are raising only one question in my head every time i see them: &#8220;WTF?!&#8221;</p>
<p>The first WTF is using superglobals as argument names in function declaration in PHP. Here is the code:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">&nbsp;
<span style="color: #009933; font-style: italic;">/**
 * Sample function
 *
 * Argument names equal to superglobal variables names which makes this
 * function behavior very unusual... and it`s look as well :)
 */</span>
<span style="color: #000000; font-weight: bold;">function</span> my<span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span><span style="color: #339933;">,</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #990000;">var_dump</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span><span style="color: #339933;">,</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// calling this method with arguments works as expected and actually</span>
<span style="color: #666666; font-style: italic;">// overwrites superglobals inside function making them unavailable</span>
<span style="color: #666666; font-style: italic;">// var_dump($_GET) inside function will dump array passed via arguments</span>
my<span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'fake'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'var'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// calling method without arguments leads to a few missing arguments</span>
<span style="color: #666666; font-style: italic;">// warnings, but instead of NULL arguments superglobals get hit</span>
<span style="color: #666666; font-style: italic;">// var_dump($_GET) will dump GET variables from supergloabs</span>
my<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/devhands?a=LQiFyr3ouJM:ZioCsK6BTU0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/devhands?i=LQiFyr3ouJM:ZioCsK6BTU0:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devhands?a=LQiFyr3ouJM:ZioCsK6BTU0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/devhands?i=LQiFyr3ouJM:ZioCsK6BTU0:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devhands?a=LQiFyr3ouJM:ZioCsK6BTU0:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/devhands?i=LQiFyr3ouJM:ZioCsK6BTU0:gIN9vFwOqvQ" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.devhands.com/2010/06/wtf-superglobals-in-function-declaration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Redirecting output into STDERR in PHP console script</title>
		<link>http://www.devhands.com/2010/05/redirecting-output-into-stderr-in-php-console-script-2/</link>
		<comments>http://www.devhands.com/2010/05/redirecting-output-into-stderr-in-php-console-script-2/#comments</comments>
		<pubDate>Wed, 19 May 2010 10:23:52 +0000</pubDate>
		<dc:creator>Aleksandr Tsertkov</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[console]]></category>

		<guid isPermaLink="false">http://www.devhands.com/?p=519</guid>
		<description><![CDATA[Recently I needed to send output from PHP console script into STDERR instead of STDOUT. Usually you would do it with an I/O redirection &#8220;COMMAND >&#038;2&#8243;, but in this case it was not possible. A solution was pretty easy though &#8211; output buffer callback function which were redirecting output into STDERR and returning zero output [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I needed to send output from PHP console script into STDERR instead of STDOUT. Usually you would do it with an I/O redirection &#8220;COMMAND >&#038;2&#8243;, but in this case it was not possible. A solution was pretty easy though &#8211; output buffer callback function which were redirecting output into STDERR and returning zero output for STDOUT.</p>
<p>Here is an example:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #009933; font-style: italic;">/**
 * Output calback function
 * Writes buffer into STDERR instead of STDOUT
 * @link http://de3.php.net/manual/en/function.ob-start.php
 * @param string $output
 * @return string
 */</span>
<span style="color: #000000; font-weight: bold;">function</span> SvnHook_outputCallback<span style="color: #009900;">&#40;</span><span style="color: #000088;">$output</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #990000;">fwrite</span><span style="color: #009900;">&#40;</span>STDERR<span style="color: #339933;">,</span> <span style="color: #000088;">$output</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// set output callback redirecting STDOUT to STDERR</span>
<span style="color: #990000;">ob_start</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'SvnHook_outputCallback'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/devhands?a=jvzI-LCBQLo:kI7MQ23Brg8:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/devhands?i=jvzI-LCBQLo:kI7MQ23Brg8:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devhands?a=jvzI-LCBQLo:kI7MQ23Brg8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/devhands?i=jvzI-LCBQLo:kI7MQ23Brg8:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devhands?a=jvzI-LCBQLo:kI7MQ23Brg8:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/devhands?i=jvzI-LCBQLo:kI7MQ23Brg8:gIN9vFwOqvQ" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.devhands.com/2010/05/redirecting-output-into-stderr-in-php-console-script-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Amazon S3 Reduced Redundancy Storage (RRS)</title>
		<link>http://www.devhands.com/2010/05/amazon-s3-reduced-redundancy-storage-rrs/</link>
		<comments>http://www.devhands.com/2010/05/amazon-s3-reduced-redundancy-storage-rrs/#comments</comments>
		<pubDate>Wed, 19 May 2010 10:10:20 +0000</pubDate>
		<dc:creator>Aleksandr Tsertkov</dc:creator>
				<category><![CDATA[other]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[S3]]></category>

		<guid isPermaLink="false">http://www.devhands.com/?p=509</guid>
		<description><![CDATA[I&#8217;ve just got email from Amazon introducing new storage option they have added to the highly popular S3 service called Reduced Redundancy Storage (RRS). This options actually downgrades S3 by removing data redundancy and providing lower cost than redundant S3. This option absolutely makes sense providing cost-effective solution for storing data which is not important [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just got email from Amazon introducing new storage option they have added to the highly popular S3 service called Reduced Redundancy Storage (RRS). This options actually downgrades S3 by removing data redundancy and providing lower cost than redundant S3. This option absolutely makes sense providing cost-effective solution for storing data which is not important (e.g. cache data) or is securely replicated somewhere else.</p>
<p>The funny thing about RRS introduction email from Amazon is the comparison numbers:</p>
<blockquote><p>
Amazon S3 standard storage is designed to provide 99.999999999% durability and to sustain the concurrent loss of data in two facilities, while RRS is designed to provide 99.99% durability and to sustain the loss of data in a single facility.
</p></blockquote>
<p>So RRS provides *only* 99.99% durability while standard S3 *all* 99.999999999%!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/devhands?a=6DXNQXNPTFM:jSUeROupHDA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/devhands?i=6DXNQXNPTFM:jSUeROupHDA:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devhands?a=6DXNQXNPTFM:jSUeROupHDA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/devhands?i=6DXNQXNPTFM:jSUeROupHDA:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devhands?a=6DXNQXNPTFM:jSUeROupHDA:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/devhands?i=6DXNQXNPTFM:jSUeROupHDA:gIN9vFwOqvQ" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.devhands.com/2010/05/amazon-s3-reduced-redundancy-storage-rrs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FishEye instant repository update on commit</title>
		<link>http://www.devhands.com/2010/03/fisheye-instant-repository-update-on-commit/</link>
		<comments>http://www.devhands.com/2010/03/fisheye-instant-repository-update-on-commit/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 09:13:47 +0000</pubDate>
		<dc:creator>Aleksandr Tsertkov</dc:creator>
				<category><![CDATA[linux/unix]]></category>

		<guid isPermaLink="false">http://www.devhands.com/?p=495</guid>
		<description><![CDATA[FishEye is a great piece of software. It is web based repository browser from Atlassian which integrates nicely with other products from this company like JIRA, Crucible, Bamboo etc. FishEye scans continuously pools repository for new changes and index new revisions when they are available. There is a pooling delay you can configure separately for [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.atlassian.com/software/fisheye/">FishEye</a> is a great piece of software. It is web based repository browser from Atlassian which integrates nicely with other products from this company like JIRA, Crucible, Bamboo etc.</p>
<p>FishEye scans continuously pools repository for new changes and index new revisions when they are available. There is a pooling delay you can configure separately for every repository, in other words there always will be some gap between new commit made and revision got indexed by FishEye. In most cases it should be ok, but sometimes you may need instant repository update after new commit. For example if you are sending notification emails containing link to revision diff in FishEye.</p>
<p>FishEye comes with <strong>fisheyectl</strong> command line tool which may be used for forcing repository update. If you use Subversion to achieve instant repository update you need to add following line into hooks/post-commit script:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">fisheyectl.sh scannow REPOSITORY_NAME</pre></div></div>

<p>Please note that REPOSITORY_NAME is the name specified in FishEye repository details.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/devhands?a=J_buRZzBZDY:KSd-y2Al9dE:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/devhands?i=J_buRZzBZDY:KSd-y2Al9dE:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devhands?a=J_buRZzBZDY:KSd-y2Al9dE:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/devhands?i=J_buRZzBZDY:KSd-y2Al9dE:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devhands?a=J_buRZzBZDY:KSd-y2Al9dE:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/devhands?i=J_buRZzBZDY:KSd-y2Al9dE:gIN9vFwOqvQ" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.devhands.com/2010/03/fisheye-instant-repository-update-on-commit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Migrating and syncing samba users</title>
		<link>http://www.devhands.com/2010/02/migrating-and-syncing-samba-users/</link>
		<comments>http://www.devhands.com/2010/02/migrating-and-syncing-samba-users/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 12:44:35 +0000</pubDate>
		<dc:creator>Aleksandr Tsertkov</dc:creator>
				<category><![CDATA[linux/unix]]></category>

		<guid isPermaLink="false">http://www.devhands.com/?p=492</guid>
		<description><![CDATA[Samba maintains it&#8217;s own user and password database. If you want to synchronize samba users with system users pam_smbpass will to the trick. Debian/Ubuntu: sudo apt-get install libpam-smbpass This package installs pam_smbpass.so and modifies pam.d common-auth and common-password scripts to keep system and samba users in sync.]]></description>
			<content:encoded><![CDATA[<p>Samba maintains it&#8217;s own user and password database. If you want to synchronize samba users with system users pam_smbpass will to the trick.</p>
<p>Debian/Ubuntu:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> libpam-smbpass</pre></div></div>

<p>This package installs pam_smbpass.so and modifies pam.d common-auth and common-password scripts to keep system and samba users in sync.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/devhands?a=rfhGme08c_g:D4J9otv_lbE:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/devhands?i=rfhGme08c_g:D4J9otv_lbE:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devhands?a=rfhGme08c_g:D4J9otv_lbE:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/devhands?i=rfhGme08c_g:D4J9otv_lbE:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devhands?a=rfhGme08c_g:D4J9otv_lbE:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/devhands?i=rfhGme08c_g:D4J9otv_lbE:gIN9vFwOqvQ" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.devhands.com/2010/02/migrating-and-syncing-samba-users/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript is the language of our future… on the backend!</title>
		<link>http://www.devhands.com/2010/02/javascript-is-the-language-of-our-future-on-the-backend/</link>
		<comments>http://www.devhands.com/2010/02/javascript-is-the-language-of-our-future-on-the-backend/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 16:02:50 +0000</pubDate>
		<dc:creator>Aleksandr Tsertkov</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.devhands.com/?p=488</guid>
		<description><![CDATA[Check out this presentation about successful use of comet server based on node.js in highly scalable realtime web application.]]></description>
			<content:encoded><![CDATA[<p>Check out this presentation about successful use of comet server based on node.js in highly scalable realtime web application.</p>
<p><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=cometwithnodejsv8-091229102648-phpapp02&#038;rel=0&#038;stripped_title=comet-with-nodejs-and-v8" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=cometwithnodejsv8-091229102648-phpapp02&#038;rel=0&#038;stripped_title=comet-with-nodejs-and-v8" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/devhands?a=A_4BylN9uiQ:BMLoC_jhpUQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/devhands?i=A_4BylN9uiQ:BMLoC_jhpUQ:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devhands?a=A_4BylN9uiQ:BMLoC_jhpUQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/devhands?i=A_4BylN9uiQ:BMLoC_jhpUQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devhands?a=A_4BylN9uiQ:BMLoC_jhpUQ:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/devhands?i=A_4BylN9uiQ:BMLoC_jhpUQ:gIN9vFwOqvQ" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.devhands.com/2010/02/javascript-is-the-language-of-our-future-on-the-backend/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Audio Podcast: Unlearn Your MBA</title>
		<link>http://www.devhands.com/2010/02/audio-podcast-unlearn-your-mba/</link>
		<comments>http://www.devhands.com/2010/02/audio-podcast-unlearn-your-mba/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 09:56:22 +0000</pubDate>
		<dc:creator>Aleksandr Tsertkov</dc:creator>
				<category><![CDATA[other]]></category>

		<guid isPermaLink="false">http://www.devhands.com/?p=481</guid>
		<description><![CDATA[A very very interesting audio podcast from David Heineimeier Hansson, the creator of Ruby on Rails about his IT business approach and why you should unlearn what you have study in universities.]]></description>
			<content:encoded><![CDATA[<p>A very very interesting audio podcast from David Heineimeier Hansson, the creator of Ruby on Rails about his IT business approach and why you should unlearn what you have study in universities.</p>
<p><embed id='single' width='500' height='303' flashvars='config=http://ecorner.stanford.edu/embeded_config.xml%3Fmid%3D2334' src='http://ecorner.stanford.edu/swf/player-ec.swf' type='application/x-shockwave-flash'></embed></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/devhands?a=3ZrIHjOIPN4:QeCpEudgWhw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/devhands?i=3ZrIHjOIPN4:QeCpEudgWhw:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devhands?a=3ZrIHjOIPN4:QeCpEudgWhw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/devhands?i=3ZrIHjOIPN4:QeCpEudgWhw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devhands?a=3ZrIHjOIPN4:QeCpEudgWhw:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/devhands?i=3ZrIHjOIPN4:QeCpEudgWhw:gIN9vFwOqvQ" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.devhands.com/2010/02/audio-podcast-unlearn-your-mba/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP preg_replace URL</title>
		<link>http://www.devhands.com/2010/02/php-preg_replace-url/</link>
		<comments>http://www.devhands.com/2010/02/php-preg_replace-url/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 08:59:33 +0000</pubDate>
		<dc:creator>Aleksandr Tsertkov</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.devhands.com/?p=469</guid>
		<description><![CDATA[To search for urls and convert them into html links you may use preg_replace() in PHP. Though writing regular expression might be not very easy. Here is an example of regular expression which will catch and replace urls which may be: in the beginning of string, in the end of string, configurable prefix/suffix delimiter, with [...]]]></description>
			<content:encoded><![CDATA[<p>To search for urls and convert them into html links you may use <a href="http://www.php.net/preg_replace">preg_replace()</a> in PHP. Though writing regular expression might be not very easy. Here is an example of regular expression which will catch and replace urls which may be:</p>
<ul>
<li>in the beginning of string,</li>
<li>in the end of string,</li>
<li>configurable prefix/suffix delimiter,</li>
<li>with configurable scheme.</li>
</ul>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// configurable delimiters and schemes</span>
<span style="color: #000088;">$delimiters</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'\\s&quot;\\.\','</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$schemes</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'https?|ftps?'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$pattern</span> <span style="color: #339933;">=</span> <span style="color: #990000;">sprintf</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'#(^|[%s])((?:%s)://\\S+[^%1$s])([%1$s]?)#i'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$delimiters</span><span style="color: #339933;">,</span> <span style="color: #000088;">$schemes</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$replacement</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'$1&lt;a href=&quot;$2&quot;&gt;$2&lt;/a&gt;$3'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$subjects</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
    <span style="color: #0000ff;">'http://localhost'</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">'https://example.com'</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">' ftp://example.com'</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">'ftps://example.com '</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">'prefix http://example.com'</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">'http://example.com suffix'</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">'prefix http://example.com/path suffix'</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">'prefix http://example.com/path&amp;var=val suffix'</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">'prefix http://example.com/path&amp;var=val, suffix'</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">'prefix http://example.com/path&amp;var=val. suffix'</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">'prefix &quot;http://example.com/path&amp;var=val&quot; suffix'</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">'prefix \'http://example.com/path&amp;var=val\' suffix'</span><span style="color: #339933;">,</span>
<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$subjects</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$subject</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #990000;">var_dump</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$pattern</span><span style="color: #339933;">,</span> <span style="color: #000088;">$replacement</span><span style="color: #339933;">,</span> <span style="color: #000088;">$subject</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/devhands?a=3kYUioqjSF0:OgegCMMw4HU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/devhands?i=3kYUioqjSF0:OgegCMMw4HU:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devhands?a=3kYUioqjSF0:OgegCMMw4HU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/devhands?i=3kYUioqjSF0:OgegCMMw4HU:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devhands?a=3kYUioqjSF0:OgegCMMw4HU:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/devhands?i=3kYUioqjSF0:OgegCMMw4HU:gIN9vFwOqvQ" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.devhands.com/2010/02/php-preg_replace-url/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Continuous Integration and development environment approach</title>
		<link>http://www.devhands.com/2010/01/continuous-integration-and-development-environment-approach/</link>
		<comments>http://www.devhands.com/2010/01/continuous-integration-and-development-environment-approach/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 18:01:15 +0000</pubDate>
		<dc:creator>Aleksandr Tsertkov</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.devhands.com/?p=463</guid>
		<description />
			<content:encoded><![CDATA[<p><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=cidev-env-approach-100125073023-phpapp01&#038;stripped_title=continuous-integration-and-development-environment-approach" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=cidev-env-approach-100125073023-phpapp01&#038;stripped_title=continuous-integration-and-development-environment-approach" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/devhands?a=bT9shT8ANwQ:nc3qN-OELbs:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/devhands?i=bT9shT8ANwQ:nc3qN-OELbs:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devhands?a=bT9shT8ANwQ:nc3qN-OELbs:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/devhands?i=bT9shT8ANwQ:nc3qN-OELbs:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devhands?a=bT9shT8ANwQ:nc3qN-OELbs:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/devhands?i=bT9shT8ANwQ:nc3qN-OELbs:gIN9vFwOqvQ" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.devhands.com/2010/01/continuous-integration-and-development-environment-approach/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
