<?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" version="2.0">

<channel>
	<title>Lifescaler</title>
	
	<link>http://lifescaler.com</link>
	<description>Scaling through (it) life</description>
	<pubDate>Fri, 02 Oct 2009 12:17:20 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/Lifescaler" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>When Doctrine leftJoin fails</title>
		<link>http://lifescaler.com/2009/10/when-doctrine-leftjoin-fails/</link>
		<comments>http://lifescaler.com/2009/10/when-doctrine-leftjoin-fails/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 12:17:20 +0000</pubDate>
		<dc:creator>Bogdan</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Symfony]]></category>

		<guid isPermaLink="false">http://lifescaler.com/?p=29</guid>
		<description><![CDATA[I&#8217;ve stumbled across a weired problem in Symfony, using Doctrine. Whenever I wanted to use a leftJoin, stuff would fail. So, here are some tips to help you pass this problems:
1. Check that the leftJoin is issued like $q-&#62;(a.RelationshipName r);
where &#8220;a&#8221; is the root alias of the query, RelationshipName is the NAME of the relationship [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve stumbled across a weired problem in Symfony, using Doctrine. Whenever I wanted to use a leftJoin, stuff would fail. So, here are some tips to help you pass this problems:</p>
<p>1. Check that the leftJoin is issued like $q-&gt;(a.RelationshipName r);<br />
where &#8220;a&#8221; is the root alias of the query, RelationshipName is the NAME of the relationship defined in the yaml file of the database.</p>
<p>2. Make sure you use the actual relationship name from the yaml DB schema, and not the class name or something else. For instance, let&#8217;s say you have 2 classes: MysiteArticle and MysiteCategory.  To fetch articles, you would build your query like: Doctrine_Query::create()-&gt;from(&#8217;MysiteArticle a&#8217;);<br />
But, to fetch articles together with the category, you would do something like:<br />
Doctrine_Query::create()-&gt;from(&#8217;MysiteArticle a&#8217;)-&gt;leftJoin(&#8217;a.Category c&#8217;); if your relationship name is &#8220;Category&#8221;, in the schema.yml, or Doctrine_Query::create()-&gt;from(&#8217;MysiteArticle a&#8217;)-&gt;leftJoin(&#8217;a.MysiteCategory c&#8217;); if your relationship name is MysiteCategory.</p>
	<p></p>
	<hr noshade style="margin:0;height:1px" />
	<small><p>&copy; Bogdan for <a href="http://lifescaler.com">Lifescaler</a>, 2009. |
	<a href="http://lifescaler.com/2009/10/when-doctrine-leftjoin-fails/">Permalink</a></small></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Lifescaler?a=IQDw6I9h6Uk:lHJY0LjPEzU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=IQDw6I9h6Uk:lHJY0LjPEzU:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=IQDw6I9h6Uk:lHJY0LjPEzU:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=IQDw6I9h6Uk:lHJY0LjPEzU:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=IQDw6I9h6Uk:lHJY0LjPEzU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=IQDw6I9h6Uk:lHJY0LjPEzU:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=IQDw6I9h6Uk:lHJY0LjPEzU:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=IQDw6I9h6Uk:lHJY0LjPEzU:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=IQDw6I9h6Uk:lHJY0LjPEzU:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/Lifescaler?d=TzevzKxY174" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://lifescaler.com/2009/10/when-doctrine-leftjoin-fails/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Getting the cursor position inside a text-field and smart ways to build form validators</title>
		<link>http://lifescaler.com/2008/12/getting-the-cursor-position-inside-a-text-field-and-smart-ways-to-build-form-validators/</link>
		<comments>http://lifescaler.com/2008/12/getting-the-cursor-position-inside-a-text-field-and-smart-ways-to-build-form-validators/#comments</comments>
		<pubDate>Thu, 18 Dec 2008 09:24:51 +0000</pubDate>
		<dc:creator>Bogdan</dc:creator>
		
		<category><![CDATA[JavaScript]]></category>

		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://lifescaler.com/?p=21</guid>
		<description><![CDATA[I have always wanted a nice clean way to build form validators based on any kind of rule i would choose, however most of the times I stumbled upon a simple problem: How to get the cursor position inside a text-field? It&#8217;s easy in Mozilla, but what about IE?
The challenge was weird, but I finally [...]]]></description>
			<content:encoded><![CDATA[<p>I have always wanted a nice clean way to build form validators based on any kind of rule i would choose, however most of the times I stumbled upon a simple problem: How to get the cursor position inside a text-field? It&#8217;s easy in Mozilla, but what about IE?<br />
The challenge was weird, but I finally got a way around, starting an idea <a href="http://alexking.org/blog/2003/06/02/inserting-at-the-cursor-using-javascript" target="_blank">here</a>.<br />
What I&#8217;ve done is I used Prototype to extend the Form Element Methods and simply add a version of selectionStart and selectionEnd for IE. After that, I just put them to work in a nice input wrapper class.<br />
</p>
	<p>(...)<br/>Read the rest of <a href="http://lifescaler.com/2008/12/getting-the-cursor-position-inside-a-text-field-and-smart-ways-to-build-form-validators/">Getting the cursor position inside a text-field and smart ways to build form validators</a> (463 words)</p>
	<hr noshade style="margin:0;height:1px" />
	<small><p>&copy; Bogdan for <a href="http://lifescaler.com">Lifescaler</a>, 2008. |
	<a href="http://lifescaler.com/2008/12/getting-the-cursor-position-inside-a-text-field-and-smart-ways-to-build-form-validators/">Permalink</a></small></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Lifescaler?a=97oG3vAvWh0:hz_OjRXbyik:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=97oG3vAvWh0:hz_OjRXbyik:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=97oG3vAvWh0:hz_OjRXbyik:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=97oG3vAvWh0:hz_OjRXbyik:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=97oG3vAvWh0:hz_OjRXbyik:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=97oG3vAvWh0:hz_OjRXbyik:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=97oG3vAvWh0:hz_OjRXbyik:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=97oG3vAvWh0:hz_OjRXbyik:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=97oG3vAvWh0:hz_OjRXbyik:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/Lifescaler?d=TzevzKxY174" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://lifescaler.com/2008/12/getting-the-cursor-position-inside-a-text-field-and-smart-ways-to-build-form-validators/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Javascript regular expressions quick guide</title>
		<link>http://lifescaler.com/2008/12/javascript-regular-expressions-quick-guide/</link>
		<comments>http://lifescaler.com/2008/12/javascript-regular-expressions-quick-guide/#comments</comments>
		<pubDate>Thu, 18 Dec 2008 09:11:53 +0000</pubDate>
		<dc:creator>Bogdan</dc:creator>
		
		<category><![CDATA[JavaScript]]></category>

		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[regular expressions]]></category>

		<guid isPermaLink="false">http://lifescaler.com/?p=7</guid>
		<description><![CDATA[Quick quide to regular expressions in JavaScript
1. The form of an expression:
var a = /dog/gim
//dog = the expression to match, g = search all matches, i = case insensitive, m=multiple line
The cool thing is that /dog/ is an object, so you can, for example, do something like /dog/.test(something)

	(...)Read the rest of Javascript regular expressions quick [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Regular Expressions" href="http://www.flickr.com/photos/95118988@N00/912749911/" target="_blank"><img class="alignleft" style="border: 0; float: left;" src="http://farm2.static.flickr.com/1215/912749911_210a0c6bdb_m.jpg" border="0" alt="Regular Expressions" /></a>Quick quide to regular expressions in JavaScript</p>
<p>1. The form of an expression:<br />
var a = /dog/gim<br />
//dog = the expression to match, g = search all matches, i = case insensitive, m=multiple line<br />
The cool thing is that /dog/ is an object, so you can, for example, do something like /dog/.test(something)<br />
</p>
	<p>(...)<br/>Read the rest of <a href="http://lifescaler.com/2008/12/javascript-regular-expressions-quick-guide/">Javascript regular expressions quick guide</a> (504 words)</p>
	<hr noshade style="margin:0;height:1px" />
	<small><p>&copy; Bogdan for <a href="http://lifescaler.com">Lifescaler</a>, 2008. |
	<a href="http://lifescaler.com/2008/12/javascript-regular-expressions-quick-guide/">Permalink</a></small></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Lifescaler?a=TeCyi94M1bY:bzQt3d_bsyE:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=TeCyi94M1bY:bzQt3d_bsyE:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=TeCyi94M1bY:bzQt3d_bsyE:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=TeCyi94M1bY:bzQt3d_bsyE:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=TeCyi94M1bY:bzQt3d_bsyE:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=TeCyi94M1bY:bzQt3d_bsyE:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=TeCyi94M1bY:bzQt3d_bsyE:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=TeCyi94M1bY:bzQt3d_bsyE:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=TeCyi94M1bY:bzQt3d_bsyE:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/Lifescaler?d=TzevzKxY174" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://lifescaler.com/2008/12/javascript-regular-expressions-quick-guide/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Database sharding unraveled - part IV</title>
		<link>http://lifescaler.com/2008/12/database-sharding-unraveled-part-iv/</link>
		<comments>http://lifescaler.com/2008/12/database-sharding-unraveled-part-iv/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 15:25:31 +0000</pubDate>
		<dc:creator>Bogdan</dc:creator>
		
		<category><![CDATA[MySQL]]></category>

		<category><![CDATA[Scalability tools]]></category>

		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[high scalability]]></category>

		<category><![CDATA[shard]]></category>

		<guid isPermaLink="false">http://lifescaler.com/?p=27</guid>
		<description><![CDATA[Continuing the series about Database Sharding, I&#8217;m going to to talk about the software/hardware architecture. This post started from an excellent read, MySQL Database Scale-out and Replication for High Growth Businesses.

The first order of business is MySQL replication. Replication is needed to offer redundancy and to distribute even further the load on the system. In [...]]]></description>
			<content:encoded><![CDATA[<p>Continuing the series about <strong>Database Sharding</strong>, I&#8217;m going to to talk about the software/hardware architecture. This post started from an excellent read, <a href="http://wikis.sun.com/display/BluePrints/MySQL+Database+Scale-Out+and+Replication+for+High+Growth+Businesses">MySQL Database Scale-out and Replication for High Growth Businesses</a>.</p>
<p><a title="MySQL logo" href="http://www.flickr.com/photos/66769343@N00/2758791348/" target="_blank"><img class="alignleft" style="border: 0pt none; float: left;" src="http://farm4.static.flickr.com/3003/2758791348_f5a33d4d6b_m.jpg" border="0" alt="MySQL logo" /></a></p>
<p>The first order of business is <strong>MySQL replication</strong>. Replication is needed to offer redundancy and to distribute even further the load on the system. In a typicall shard environment, the database is split among multiple servers, with data being unique to each server. If one of the servers goes down, all that data will become unavailable, and even though the system will continue working, parts of some scenarios will fail. This is where replication comes to stage.<br />
</p>
	<p>(...)<br/>Read the rest of <a href="http://lifescaler.com/2008/12/database-sharding-unraveled-part-iv/">Database sharding unraveled - part IV</a> (739 words)</p>
	<hr noshade style="margin:0;height:1px" />
	<small><p>&copy; Bogdan for <a href="http://lifescaler.com">Lifescaler</a>, 2008. |
	<a href="http://lifescaler.com/2008/12/database-sharding-unraveled-part-iv/">Permalink</a></small></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Lifescaler?a=xx_lz8BeKys:s2QU_xnaRJo:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=xx_lz8BeKys:s2QU_xnaRJo:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=xx_lz8BeKys:s2QU_xnaRJo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=xx_lz8BeKys:s2QU_xnaRJo:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=xx_lz8BeKys:s2QU_xnaRJo:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=xx_lz8BeKys:s2QU_xnaRJo:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=xx_lz8BeKys:s2QU_xnaRJo:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=xx_lz8BeKys:s2QU_xnaRJo:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=xx_lz8BeKys:s2QU_xnaRJo:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/Lifescaler?d=TzevzKxY174" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://lifescaler.com/2008/12/database-sharding-unraveled-part-iv/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Smart trick to check some bottlenecks in your DB</title>
		<link>http://lifescaler.com/2008/10/smart-trick-to-check-some-bottlenecks-in-your-db/</link>
		<comments>http://lifescaler.com/2008/10/smart-trick-to-check-some-bottlenecks-in-your-db/#comments</comments>
		<pubDate>Tue, 07 Oct 2008 09:20:52 +0000</pubDate>
		<dc:creator>Bogdan</dc:creator>
		
		<category><![CDATA[MySQL]]></category>

		<category><![CDATA[Scalability tools]]></category>

		<category><![CDATA[database]]></category>

		<category><![CDATA[mysql]]></category>

		<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://lifescaler.com/?p=24</guid>
		<description><![CDATA[There&#8217;s a nice tool called iostat to check the HDD related info, like number of reads/writes, amount of data processed, etc. It&#8217;s a must have for any good sysadmin, as it allows you to identify some of the bottlenecks in the DB.
Together with the vmstat tool - allows a user to see statistics for the [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s a nice tool called <a title="iostat utility" href="http://manpages.ubuntu.com/manpages/intrepid/man1/iostat.html">iostat</a> to check the HDD related info, like number of reads/writes, amount of data processed, etc. It&#8217;s a must have for any good sysadmin, as it allows you to identify some of the bottlenecks in the DB.</p>
<p>Together with the <a href="http://manpages.ubuntu.com/manpages/hardy/man8/vmstat.html">vmstat </a>tool - allows a user to see statistics for the virtual memory usage - form a powerful duo to use, especially when your DB is running very slow, but the processors are not fully used.</p>
<p>The tools have enough explanations on the man pages.</p>
<p>So, the only thing remaining is to start them up:</p>
<p>Open 2 terminal windows. The first one would run something like <strong>iostat -dx 10</strong> (will display the device extended report, refreshed every 10 seconds - you can increase/decrease this number to suite your needs - too small is not very good, as it&#8217;s better to have stats over a longer period). The second one should run <strong>vmstat 10</strong>.</p>
<p>Last but not least, to get them you need to install the <a href="http://packages.ubuntu.com/intrepid/sysstat">sysstat</a> package (vmstat is in the procps package, installed by default). For ubuntu, type: <strong>sudo apt-get install sysstat</strong>.</p>
	<p></p>
	<hr noshade style="margin:0;height:1px" />
	<small><p>&copy; Bogdan for <a href="http://lifescaler.com">Lifescaler</a>, 2008. |
	<a href="http://lifescaler.com/2008/10/smart-trick-to-check-some-bottlenecks-in-your-db/">Permalink</a></small></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Lifescaler?a=6NedFCv_S0w:NWOUQwwpPNM:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=6NedFCv_S0w:NWOUQwwpPNM:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=6NedFCv_S0w:NWOUQwwpPNM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=6NedFCv_S0w:NWOUQwwpPNM:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=6NedFCv_S0w:NWOUQwwpPNM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=6NedFCv_S0w:NWOUQwwpPNM:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=6NedFCv_S0w:NWOUQwwpPNM:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=6NedFCv_S0w:NWOUQwwpPNM:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=6NedFCv_S0w:NWOUQwwpPNM:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/Lifescaler?d=TzevzKxY174" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://lifescaler.com/2008/10/smart-trick-to-check-some-bottlenecks-in-your-db/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Database sharding unraveled - part III</title>
		<link>http://lifescaler.com/2008/06/database-sharding-unraveled-part-iii/</link>
		<comments>http://lifescaler.com/2008/06/database-sharding-unraveled-part-iii/#comments</comments>
		<pubDate>Mon, 16 Jun 2008 16:56:24 +0000</pubDate>
		<dc:creator>Bogdan</dc:creator>
		
		<category><![CDATA[MySQL]]></category>

		<category><![CDATA[Programming]]></category>

		<category><![CDATA[Scalability tools]]></category>

		<category><![CDATA[database sharding]]></category>

		<category><![CDATA[functional partitioning]]></category>

		<category><![CDATA[high scalability]]></category>

		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://lifescaler.com/?p=20</guid>
		<description><![CDATA[Before continuing, please read the first parts of the database sharding adventure:
Database sharding unraveled - part I
Database sharding unraveled - part II

Chapter 1. The small guys
Before really diving into high scalability principles, I want to take a moment to talk about why database sharding has an important role even in small startups or medium sized [...]]]></description>
			<content:encoded><![CDATA[<p>Before continuing, please read the first parts of the database sharding adventure:<br />
<a rel="bookmark" href="../2008/04/database-sharding-unraveled-part-i/">Database sharding unraveled - part I</a><br />
<a rel="bookmark" href="../2008/04/database-sharding-unraveled-part-ii/">Database sharding unraveled - part II<br />
</a></p>
<p>Chapter 1. The small guys</p>
<p>Before really diving into high scalability principles, I want to take a moment to talk about why database sharding has an important role even in small startups or medium sized web-sites (5 - 30k unique visitors/day).</p>
<p>It is equally important and benefic for a smaller web business to prepare itself from the beginning to tackle large amounts of users cheap. If it&#8217;s not obvious enough, think about what happens to a web-page that gets some plain old Digg attention. The server quickly collapses and the user experience immediately turns from positive to mega negative.<br />
As I&#8217;ve explained before, the whole purpose of sharding is to be able to use an unlimited number of cheap machines topped by an open-source database. As experience taught me, the web server will rarely die. Instead, the DB server will choke easily when having to deal with many simultaneous connections.<br />
The database doesn&#8217;t even have to be very big.</p>
<p></p>
	<p>(...)<br/>Read the rest of <a href="http://lifescaler.com/2008/06/database-sharding-unraveled-part-iii/">Database sharding unraveled - part III</a> (717 words)</p>
	<hr noshade style="margin:0;height:1px" />
	<small><p>&copy; Bogdan for <a href="http://lifescaler.com">Lifescaler</a>, 2008. |
	<a href="http://lifescaler.com/2008/06/database-sharding-unraveled-part-iii/">Permalink</a></small></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Lifescaler?a=CegWx10SGr0:2iLopP9mPt0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=CegWx10SGr0:2iLopP9mPt0:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=CegWx10SGr0:2iLopP9mPt0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=CegWx10SGr0:2iLopP9mPt0:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=CegWx10SGr0:2iLopP9mPt0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=CegWx10SGr0:2iLopP9mPt0:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=CegWx10SGr0:2iLopP9mPt0:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=CegWx10SGr0:2iLopP9mPt0:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=CegWx10SGr0:2iLopP9mPt0:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/Lifescaler?d=TzevzKxY174" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://lifescaler.com/2008/06/database-sharding-unraveled-part-iii/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Cool trick to extract only what you need using regular expressions</title>
		<link>http://lifescaler.com/2008/05/cool-trick-to-extract-only-what-you-need-using-regular-expressions/</link>
		<comments>http://lifescaler.com/2008/05/cool-trick-to-extract-only-what-you-need-using-regular-expressions/#comments</comments>
		<pubDate>Thu, 29 May 2008 08:22:14 +0000</pubDate>
		<dc:creator>Bogdan</dc:creator>
		
		<category><![CDATA[JavaScript]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Programming]]></category>

		<category><![CDATA[quickies]]></category>

		<category><![CDATA[regular expressions]]></category>

		<guid isPermaLink="false">http://lifescaler.com/?p=19</guid>
		<description><![CDATA[I have a lot of article drafts sitting unused in my WP DB and I&#8217;ve decided to release them even though I don&#8217;t have very much time to get into details.
Here&#8217;s one of them.
I always comment the code I write like: 

// Bogdan -> initializing dispatcher
$this->dispatcher->init();
//-

Very often I&#8217;m required to extract the parts of the [...]]]></description>
			<content:encoded><![CDATA[<p>I have a lot of article drafts sitting unused in my WP DB and I&#8217;ve decided to release them even though I don&#8217;t have very much time to get into details.<br />
Here&#8217;s one of them.<br />
I always comment the code I write like: </p>
<pre name="code" class="php">
// Bogdan -> initializing dispatcher
$this->dispatcher->init();
//-
</pre>
<p>Very often I&#8217;m required to extract the parts of the code I wrote, even though they are not full functions or classes, but just simple variables, or&#8230;<br />
</p>
	<p>(...)<br/>Read the rest of <a href="http://lifescaler.com/2008/05/cool-trick-to-extract-only-what-you-need-using-regular-expressions/">Cool trick to extract only what you need using regular expressions</a> (205 words)</p>
	<hr noshade style="margin:0;height:1px" />
	<small><p>&copy; Bogdan for <a href="http://lifescaler.com">Lifescaler</a>, 2008. |
	<a href="http://lifescaler.com/2008/05/cool-trick-to-extract-only-what-you-need-using-regular-expressions/">Permalink</a></small></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Lifescaler?a=WdIsyUxFRFY:j1JTcvWMIIY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=WdIsyUxFRFY:j1JTcvWMIIY:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=WdIsyUxFRFY:j1JTcvWMIIY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=WdIsyUxFRFY:j1JTcvWMIIY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=WdIsyUxFRFY:j1JTcvWMIIY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=WdIsyUxFRFY:j1JTcvWMIIY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=WdIsyUxFRFY:j1JTcvWMIIY:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=WdIsyUxFRFY:j1JTcvWMIIY:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=WdIsyUxFRFY:j1JTcvWMIIY:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/Lifescaler?d=TzevzKxY174" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://lifescaler.com/2008/05/cool-trick-to-extract-only-what-you-need-using-regular-expressions/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Symfony quickies 1</title>
		<link>http://lifescaler.com/2008/05/symfony-quickies-1/</link>
		<comments>http://lifescaler.com/2008/05/symfony-quickies-1/#comments</comments>
		<pubDate>Sat, 24 May 2008 13:31:48 +0000</pubDate>
		<dc:creator>Bogdan</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<category><![CDATA[Symfony]]></category>

		<guid isPermaLink="false">http://lifescaler.com/?p=18</guid>
		<description><![CDATA[When issuing symfony-propel-build-model and using sfGuardPlugin, some errors might appear.
Error: Attempt to set foreign key to nonexistent table, sf_guard_user!
Solution: The solution is very simple and involves changing the name of the database in the schema.xml to propel. Don&#8217;t worry, the database name will remain the one set in propel.ini, this is just to leverage the [...]]]></description>
			<content:encoded><![CDATA[<p>When issuing symfony-propel-build-model and using sfGuardPlugin, some errors might appear.<br />
Error: Attempt to set foreign key to nonexistent table, sf_guard_user!</p>
<p>Solution: The solution is very simple and involves changing the name of the database in the schema.xml to propel. Don&#8217;t worry, the database name will remain the one set in propel.ini, this is just to leverage the different xml files so that foreign keys can be processed.<br />
The whole line should be:
<pre name="code" class="xml">&lt;database name="propel" defaultIdMethod="native" noxsd="true"   package="lib.model"&gt;</pre>
<p>If that doesn&#8217;t work, try changing the package from lib.model to plugins.sfGuardPlugin.lib.model (not recommended but if it does the work, why not&#8230;;)).<br />
</p>
	<p>(...)<br/>Read the rest of <a href="http://lifescaler.com/2008/05/symfony-quickies-1/">Symfony quickies 1</a> (16 words)</p>
	<hr noshade style="margin:0;height:1px" />
	<small><p>&copy; Bogdan for <a href="http://lifescaler.com">Lifescaler</a>, 2008. |
	<a href="http://lifescaler.com/2008/05/symfony-quickies-1/">Permalink</a></small></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Lifescaler?a=mgA-CdePbP8:IiUdv6CSNKI:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=mgA-CdePbP8:IiUdv6CSNKI:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=mgA-CdePbP8:IiUdv6CSNKI:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=mgA-CdePbP8:IiUdv6CSNKI:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=mgA-CdePbP8:IiUdv6CSNKI:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=mgA-CdePbP8:IiUdv6CSNKI:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=mgA-CdePbP8:IiUdv6CSNKI:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=mgA-CdePbP8:IiUdv6CSNKI:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=mgA-CdePbP8:IiUdv6CSNKI:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/Lifescaler?d=TzevzKxY174" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://lifescaler.com/2008/05/symfony-quickies-1/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Is SEO going to die?</title>
		<link>http://lifescaler.com/2008/05/is-seo-going-to-die/</link>
		<comments>http://lifescaler.com/2008/05/is-seo-going-to-die/#comments</comments>
		<pubDate>Wed, 21 May 2008 15:27:38 +0000</pubDate>
		<dc:creator>Bogdan</dc:creator>
		
		<category><![CDATA[WEB 2.0]]></category>

		<category><![CDATA[SEO]]></category>

		<category><![CDATA[social voting]]></category>

		<category><![CDATA[spam]]></category>

		<category><![CDATA[web 2.0]]></category>

		<guid isPermaLink="false">http://lifescaler.com/?p=16</guid>
		<description><![CDATA[These days there&#8217;s a lot of talk about the slow but steady decrease in importance of the whole SEO phenomenon in the search engine world. So, the question on everyone&#8217;s lips is: Is SEO going to die?
The answer, no.
The discussion must first start with spam, because that&#8217;s the main reason why something needed to change. [...]]]></description>
			<content:encoded><![CDATA[<p>These days there&#8217;s a lot of <a href="http://www.shoemoney.com/2008/05/15/my-definition-of-seo-and-how-the-death-will-play-out/">talk</a> about the slow but steady decrease in importance of the whole SEO phenomenon in the search engine world. So, the question on everyone&#8217;s lips is: Is SEO going to die?<br />
The answer, no.<a title="SEO" href="http://www.flickr.com/photos/86598279@N00/924952600/"><img class="alignleft" style="float: left;" src="http://farm2.static.flickr.com/1415/924952600_d37fe87444_m.jpg" alt="SEO" /></a><br />
The discussion must first start with spam, because that&#8217;s the main reason why something needed to change. Search engines play a key role in a site&#8217;s traffic and that implies that Google&#8217;s or Yahoo&#8217;s or &#8230;&#8217;s  job is to continuously try to give the user the best results possible. The strategy they were relying on was to measure the number of links and also the quantity and quality of keywords, but all these can be easily faked. There are tons of Black-Hat techniques out there (if you&#8217;re really looking for hardcore dummy content, checkout website generators and stuff like that), but that&#8217;s beyond the purpose of this analysis.</p>
	<p>(...)<br/>Read the rest of <a href="http://lifescaler.com/2008/05/is-seo-going-to-die/">Is SEO going to die?</a> (303 words)</p>
	<hr noshade style="margin:0;height:1px" />
	<small><p>&copy; Bogdan for <a href="http://lifescaler.com">Lifescaler</a>, 2008. |
	<a href="http://lifescaler.com/2008/05/is-seo-going-to-die/">Permalink</a></small></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Lifescaler?a=ynuc9M4O-bg:_VxiENVFPvA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=ynuc9M4O-bg:_VxiENVFPvA:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=ynuc9M4O-bg:_VxiENVFPvA:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=ynuc9M4O-bg:_VxiENVFPvA:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=ynuc9M4O-bg:_VxiENVFPvA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=ynuc9M4O-bg:_VxiENVFPvA:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=ynuc9M4O-bg:_VxiENVFPvA:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=ynuc9M4O-bg:_VxiENVFPvA:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=ynuc9M4O-bg:_VxiENVFPvA:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/Lifescaler?d=TzevzKxY174" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://lifescaler.com/2008/05/is-seo-going-to-die/feed/</wfw:commentRss>
		</item>
		<item>
		<title>IE Object required error and other common coding mistakes</title>
		<link>http://lifescaler.com/2008/05/ie-object-required-error-and-other-common-coding-mistakes/</link>
		<comments>http://lifescaler.com/2008/05/ie-object-required-error-and-other-common-coding-mistakes/#comments</comments>
		<pubDate>Wed, 07 May 2008 13:38:53 +0000</pubDate>
		<dc:creator>Bogdan</dc:creator>
		
		<category><![CDATA[JavaScript]]></category>

		<category><![CDATA[Programming]]></category>

		<category><![CDATA[js errors]]></category>

		<guid isPermaLink="false">http://lifescaler.com/?p=13</guid>
		<description><![CDATA[Been having a lot of work on customizing Dokeos for a client, so didn&#8217;t really have any spare time to write. This post is about common mistakes or overlooks when developing RIAs with JavaScript.
First of all, something to always keep in mind when working with Internet Explorer: it will never ever act like you wish [...]]]></description>
			<content:encoded><![CDATA[<p>Been having a lot of work on customizing Dokeos for a client, so didn&#8217;t really have any spare time to write. <a title="Least useful error yet." href="http://www.flickr.com/photos/76581664@N00/24353281/" target="_blank"><img class="alignleft" style="border: 0pt none; float: left;" src="http://farm1.static.flickr.com/22/24353281_1753776f43_m.jpg" border="0" alt="Least useful error yet." /></a>This post is about common mistakes or overlooks when developing RIAs with JavaScript.<br />
First of all, something to always keep in mind when working with Internet Explorer: it will never ever act like you wish from the first time.</p>
<p>Pay extra attention especially when dealing with DOM elements, as it tends to throw errors that FF doesn&#8217;t - I&#8217;m not talking about the fact that IE is not DOM compliant and methods that work in Mozilla family browsers don&#8217;t exist in IE or have different names.<br />
Here&#8217;s a list of things to remember:<br />
</p>
	<p>(...)<br/>Read the rest of <a href="http://lifescaler.com/2008/05/ie-object-required-error-and-other-common-coding-mistakes/">IE Object required error and other common coding mistakes</a> (329 words)</p>
	<hr noshade style="margin:0;height:1px" />
	<small><p>&copy; Bogdan for <a href="http://lifescaler.com">Lifescaler</a>, 2008. |
	<a href="http://lifescaler.com/2008/05/ie-object-required-error-and-other-common-coding-mistakes/">Permalink</a></small></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Lifescaler?a=t7hXWNNMUA8:ysRba84TR1A:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=t7hXWNNMUA8:ysRba84TR1A:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=t7hXWNNMUA8:ysRba84TR1A:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=t7hXWNNMUA8:ysRba84TR1A:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=t7hXWNNMUA8:ysRba84TR1A:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=t7hXWNNMUA8:ysRba84TR1A:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=t7hXWNNMUA8:ysRba84TR1A:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Lifescaler?i=t7hXWNNMUA8:ysRba84TR1A:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Lifescaler?a=t7hXWNNMUA8:ysRba84TR1A:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/Lifescaler?d=TzevzKxY174" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://lifescaler.com/2008/05/ie-object-required-error-and-other-common-coding-mistakes/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
