<?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>Linux, Open Source and Web 2.0 &#187; Web Development</title>
	<atom:link href="http://www.itecsoftware.com/category/web-development/feed" rel="self" type="application/rss+xml" />
	<link>http://www.itecsoftware.com</link>
	<description>Itec Software</description>
	<lastBuildDate>Wed, 16 Nov 2011 02:18:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Setup A Hosted Git Repository With Gitolite</title>
		<link>http://www.itecsoftware.com/setup-a-hosted-git-repository-with-gitolite?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=setup-a-hosted-git-repository-with-gitolite</link>
		<comments>http://www.itecsoftware.com/setup-a-hosted-git-repository-with-gitolite#comments</comments>
		<pubDate>Wed, 16 Nov 2011 02:18:16 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[gitolite]]></category>
		<category><![CDATA[gitosis]]></category>
		<category><![CDATA[repository]]></category>

		<guid isPermaLink="false">http://www.itecsoftware.com/setup-a-hosted-git-repository-with-gitolite</guid>
		<description><![CDATA[<a href="http://www.itecsoftware.com/setup-a-hosted-git-repository-with-gitolite" title="Setup A Hosted Git Repository With Gitolite "></a>Git has gotten a lot of hype recently, especially among smaller development teams and contractors, for its flexible, distributed environment, ease of use and while Subversion is the old kid on the block, there are pros and cons for each. &#8230;<p class="read-more"><a href="http://www.itecsoftware.com/setup-a-hosted-git-repository-with-gitolite">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://www.itecsoftware.com/setup-a-hosted-git-repository-with-gitolite" title="Setup A Hosted Git Repository With Gitolite "></a><!-- google_ad_section_start --><p><img class="alignleft size-full wp-image-868" title="git-logo" src="http://www.itecsoftware.com/wp-content/uploads/2011/11/git-logo.png" alt="Git Logo" width="256" height="256" />Git has gotten a lot of hype recently, especially among smaller development teams and contractors, for its flexible, distributed environment, ease of use and while Subversion is the old kid on the block, there are pros and cons for each. This article assumes that you already know the intrinsics of the different version control systems and you&#8217;ve decided that Git is for you.</p>
<p><a title="Gitolite" href="https://github.com/sitaramc/gitolite" target="_blank">Gitolite</a> is a package that allows us to host our repositories using one dedicated user that has restricted access to the host OS and provides access to the source code.</p>
<p>The following steps helped me successfully install and setup Git on a Ubuntu Server 11.04, install gitolite to host my Git repositories and allow secure access over SSH. I&#8217;ve not tested other Linux versions, but assume it should be very similar.</p>
<h4>The basic steps include:</h4>
<ul>
<li>Create User</li>
<li>Generate SSH keys</li>
<li>Install Git</li>
<li>Install Gitolite</li>
<li>Administer Gitolite</li>
</ul>
<h4><span id="more-866"></span>Create Git user on the server</h4>
<pre><span style="color: #008000;"># sudo adduser gituser (enter password when prompted)</span></pre>
<h4>Generate SSH RSA keys</h4>
<p>On the workstation where you develop and will need access the Git repository, generate a key pair that will be used for authentication. Once generated, we&#8217;ll add the public key to the server&#8217;s authorized key list file. Ensure that the directory .ssh exists.</p>
<pre><span style="color: #008000;"># ssh-keygen -t rsa (do not use sudo, specify name as gituser)
# scp .ssh/gituser.pub gituser@hostname:.ssh/</span></pre>
<h4>Install Git</h4>
<p>You should now be able to login to the server using the certificate and not have to supply a password. Let&#8217;s login and proceed with the Git installation.</p>
<pre><span style="color: #008000;"># ssh gituser@hostname

# su
# apt-get install gettext
# wget http://ftp.de.debian.org/debian/pool/main/g/git/git_1.7.2.5.orig.tar.gz
# tar xzvf git_1.7.2.5.orig.tar.gz
# cd git-1.7.2.5/
# ./configure
# make
# make install</span></pre>
<h4>Install Gitolite</h4>
<p>Now that we have Git installed, we can use it to get the latest source code of Gitolite. During the checkout, the console output should resemble closely to what&#8217;s displayed below.</p>
<pre><span style="color: #008000;"># su - gituser
# git clone git://github.com/sitaramc/gitolite gitolite-source

Cloning into gitolite-source...
remote: Counting objects: 5425, done.
remote: Compressing objects: 100% (2180/2180), done.
remote: Total 5425 (delta 3812), reused 4762 (delta 3192)
Receiving objects: 100% (5425/5425), 2.01 MiB | 947 KiB/s, done.
Resolving deltas: 100% (3812/3812), done.
</span></pre>
<p>Next we run the Gitolite install script. It&#8217;ll among other things create two new folders as you can see in the output.</p>
<pre><span style="color: #008000;"># gitolite-source/src/gl-system-install</span></pre>
<p>The Gitolite install script relies on the path to gl-setup, so we need to add it. The easiest way is to add this line to the .bashrc file in your home directory.</p>
<pre><span style="color: #008000;">PATH=/home/gituser/bin:$PATH</span></pre>
<p>With the path set, we can now finish the installation.</p>
<pre><span style="color: #008000;"># gl-setup ~/.ssh/gituser.pub</span></pre>
<p>If everything went as planned, you should see a similar output as below.</p>
<pre><span style="color: #008000;">The default settings in the rc file (/home/gituser/.gitolite.rc) are fine for most
people but if you wish to make any changes, you can do so now.

hit enter...
creating gitolite-admin...
Initialized empty Git repository in /home/gituser/repositories/gitolite-admin.git/
creating testing...
Initialized empty Git repository in /home/gituser/repositories/testing.git/
[master (root-commit) 4c9dbe8] start
 2 files changed, 6 insertions(+), 0 deletions(-)
 create mode 100644 conf/gitolite.conf
 create mode 100644 keydir/gituser.pub</span></pre>
<p>Finally remove the public key file.</p>
<pre><span style="color: #008000;"># rm -f gituser.pub</span></pre>
<h4>Administer Gitolite</h4>
<p>Gitolite is administered by getting a clone of it&#8217;s configuration file from the client, modify it and pushing it to the server. This is how we add users, set permissions and create repositories.</p>
<pre><span style="color: #008000;">#  git clone gituser@hostname:gitolite-admin</span></pre>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://www.itecsoftware.com/setup-a-hosted-git-repository-with-gitolite/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Facebook New Features And Changes Announced At F8</title>
		<link>http://www.itecsoftware.com/facebook-new-features-and-changes-announced-at-f8?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=facebook-new-features-and-changes-announced-at-f8</link>
		<comments>http://www.itecsoftware.com/facebook-new-features-and-changes-announced-at-f8#comments</comments>
		<pubDate>Tue, 27 Sep 2011 05:15:14 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Useful Stuff]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[f8]]></category>
		<category><![CDATA[Facebook]]></category>

		<guid isPermaLink="false">http://www.itecsoftware.com/facebook-new-features-and-changes-announced-at-f8</guid>
		<description><![CDATA[<a href="http://www.itecsoftware.com/facebook-new-features-and-changes-announced-at-f8" title="Facebook New Features And Changes Announced At F8"></a>Facebook CEO Mark Zuckerberg and his crew presented the latest Facebook features at f8 today, to a crowd of developers and reporters during Facebook&#8217;s F8 keynote. There are many of new changes and features coming to Facebook and we have an &#8230;<p class="read-more"><a href="http://www.itecsoftware.com/facebook-new-features-and-changes-announced-at-f8">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://www.itecsoftware.com/facebook-new-features-and-changes-announced-at-f8" title="Facebook New Features And Changes Announced At F8"></a><!-- google_ad_section_start --><p><a href="http://www.itecsoftware.com/wp-content/uploads/2011/09/facebook_f8.jpg"><img class="alignleft size-medium wp-image-856" title="facebook_f8" src="http://www.itecsoftware.com/wp-content/uploads/2011/09/facebook_f8-300x199.jpg" alt="" width="300" height="199" /></a>Facebook CEO Mark Zuckerberg and his crew presented the latest Facebook features at f8 today, to a crowd of developers and reporters during Facebook&#8217;s F8 keynote. There are many of new changes and features coming to Facebook and we have an outline of them for you.</p>
<h4>News</h4>
<p>A wide range of new social apps, such as Digg, Gizmodo, USA Today, The Guardian, Flipboard, Yahoo and many more will provide apps tailored to Facebook.</p>
<h4>Music and Video</h4>
<p>Like apps, music providers will think of ways to engage users on Facebook, like listening to the same music at the same time with your friends. And so will video providers, such as Hulu, Netflix, Flixster and others.<span id="more-854"></span></p>
<h4>Timeline</h4>
<p><a href="http://www.itecsoftware.com/wp-content/uploads/2011/09/timeline-is-your-new-digital-scrapbook.jpeg"><img class="size-medium wp-image-855 alignright" title="timeline-is-your-new-digital-scrapbook" src="http://www.itecsoftware.com/wp-content/uploads/2011/09/timeline-is-your-new-digital-scrapbook-300x225.jpg" alt="" width="240" height="180" /></a>The new &#8220;Timeline&#8221; is your new digital scrapbook that lets you highlight more significant moments going all the way back to your birth if you like. Today, with the stream up updates coming in, it&#8217;s difficult to draw attention to things that are important to you, Timeline is supposed to solve this.</p>
<h4>Ticker</h4>
<p>Ticker is much like Twitter, where less important updates stream like a news feed. It will appear in a separate area.</p>
<h4>Opengraph</h4>
<p>With the new version of Opengraph, you can now categorize on word types, such as a noun or verb. You could say that Mike <em>watched</em> a <em>movie</em>, which allows to connect to an exponential increased amount of things.</p>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://www.itecsoftware.com/facebook-new-features-and-changes-announced-at-f8/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create mobile and iPad versions of your WordPress site</title>
		<link>http://www.itecsoftware.com/create-mobile-and-ipad-versions-of-your-wordpress-site?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=create-mobile-and-ipad-versions-of-your-wordpress-site</link>
		<comments>http://www.itecsoftware.com/create-mobile-and-ipad-versions-of-your-wordpress-site#comments</comments>
		<pubDate>Thu, 04 Aug 2011 17:29:35 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Useful Stuff]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wptouch]]></category>

		<guid isPermaLink="false">http://www.itecsoftware.com/?p=844</guid>
		<description><![CDATA[<a href="http://www.itecsoftware.com/create-mobile-and-ipad-versions-of-your-wordpress-site" title="Create mobile and iPad versions of your Wordpress site"></a>Haven&#8217;t you thought of creating mobile/iPad versions of your WordPress site? Is it worth the effort? If there just was an easy way to get them created and maintained. Well, there is.. WPtouch is a WordPress plugin for self-hosted WordPress &#8230;<p class="read-more"><a href="http://www.itecsoftware.com/create-mobile-and-ipad-versions-of-your-wordpress-site">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://www.itecsoftware.com/create-mobile-and-ipad-versions-of-your-wordpress-site" title="Create mobile and iPad versions of your Wordpress site"></a><!-- google_ad_section_start --><p><a href="http://www.itecsoftware.com/wp-content/uploads/2011/08/wptouch_pro.png"><img class="alignleft size-medium wp-image-845" title="wptouch_pro" src="http://www.itecsoftware.com/wp-content/uploads/2011/08/wptouch_pro-253x300.png" alt="WPtouch Pro" width="200" height="240" /></a>Haven&#8217;t you thought of creating mobile/iPad versions of your WordPress site? Is it worth the effort? If there just was an easy way to get them created and maintained. Well, there is..</p>
<p><a title="wptouch" href="http://www.bravenewcode.com/store/plugins/wptouch-pro/">WPtouch</a> is a WordPress plugin for self-hosted WordPress websites that shows a well-designed mobile theme version of your site when visitors use their favorite touch mobile devices like the iPhone/iPod touch, Google Android phones, Motorola Droid, Palm Pre/Pixi, Samsung bada and Blackberry Storm &amp; Torch devices. There is a free version and a paid Pro one.<span id="more-844"></span></p>
<p>WPtouch Pro works by automatically detecting these devices and serve its mobile/tablet-friendly themes. Desktop visitors are unaffected and still see your traditional theme, and changes to it do not affect WPtouch Pro and vice-versa.</p>
<p>The plugin just doesn’t glue together RSS feeds, or use a proxy server to modify your site’s look. It rather creates a full-fledged theme, completely separate from your desktop theme that offers most of WordPress native features &amp; works with other plugins as well.</p>
<p>Easy to use organized controls for colors, fonts, images, logos and more put you in the driver&#8217;s seat to define how WPtouch Pro will look. It&#8217;s easy to enable/disable a variety of display options for things like author names, categories, tags, and more. You decide what&#8217;s shown and what&#8217;s not.</p>
<p>With the WPtouch Pro Developer License you can add custom settings in themes easily. So if you&#8217;re theming for a client you can customize the backend just like the front-end to your heart&#8217;s content.</p>
<p>The WPtouch Pro plugin requires WordPress 3.1 or higher.</p>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://www.itecsoftware.com/create-mobile-and-ipad-versions-of-your-wordpress-site/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apache Prefork Vs Worker Threads</title>
		<link>http://www.itecsoftware.com/apache-prefork-vs-worker-threads?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=apache-prefork-vs-worker-threads</link>
		<comments>http://www.itecsoftware.com/apache-prefork-vs-worker-threads#comments</comments>
		<pubDate>Tue, 28 Jun 2011 00:30:03 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[prefork]]></category>
		<category><![CDATA[web server]]></category>
		<category><![CDATA[worker threads]]></category>

		<guid isPermaLink="false">http://www.itecsoftware.com/?p=827</guid>
		<description><![CDATA[<a href="http://www.itecsoftware.com/apache-prefork-vs-worker-threads" title="Apache Prefork Vs Worker Threads"></a>We often get questions like: What is the difference between Apache Worker Threads vs Prefork? Is it bad to have the values the same configuration? Is it bad to have them different? In this quick article we like to shed &#8230;<p class="read-more"><a href="http://www.itecsoftware.com/apache-prefork-vs-worker-threads">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://www.itecsoftware.com/apache-prefork-vs-worker-threads" title="Apache Prefork Vs Worker Threads"></a><!-- google_ad_section_start --><p><a href="http://www.amazon.com/gp/product/0132409674/ref=as_li_ss_tl?ie=UTF8&amp;tag=cudandsnu-20&amp;linkCode=as2&amp;camp=217145&amp;creative=399369&amp;creativeASIN=0132409674" target="_blank"><img class="alignleft size-full wp-image-828" title="apache-http-server-logo" src="http://www.itecsoftware.com/wp-content/uploads/2011/06/apache-http-server-logo.jpg" alt="Apache Worker Threads" width="200" height="150" /></a>We often get questions like: What is the difference between Apache Worker Threads vs Prefork? Is it bad to have the values the same configuration? Is it bad to have them different?</p>
<p>In this quick article we like to shed some light between the two modules and assess in what given circumstance, certain os and application would call for which solution.<br />
<span id="more-827"></span></p>
<p>It all goes back to the old NCSA server where Apache 1 grew up in a UNIX environment. It was a multiprocessing server, where each client would be serviced by one server instance. If there were more concurrent clients than server processes, Apache would fork additional server processes to deal with them. Under normal operation, Apache would preserve a pool of at hand server processes to deal with incoming requests.</p>
<p>Whereas this scheme works well on *NIX-systems, it&#8217;s an inefficient solution on platforms such as Windows, where forking a process is an high priced operation. So making Apache truly cross-platform required another solution. The approach adopted for Apache 2 is to turn the core processing into a pluggable module which can be optimized for diverse environments.</p>
<h4>Prefork</h4>
<p>The Apache Prefork MPM (multi processing module) is a non-threaded model, basically much like Apache 1.x. The threaded model came with version 2.x. It is a safe option in all cases, and for servers running non-thread-safe software such as PHP, it is the only safe option. For some applications, including a myriad of of those favorite with Apache 1.3 (e.g. simple static pages, CGI scripts), the Apache Prefork MPM may be as good as anything.</p>
<p>Keep in mind that on Linux versions, Prefork is commonly reported to be as fast as Worker. On Solaris, Worker is reported to be much faster than Prefork.</p>
<h4>Worker Threads</h4>
<p>The Apache Worker MPM is the newer, threaded model, whose advantages include lower memory usage which is imperative on busy servers and much greater scalability than that provided by the Prefork version in particular types of applications.</p>
<p>Both of the stable MPM&#8217;s suffer from a limitation that affects extremely busy servers. Whereas HTTP keep-alive is essential to decrease TCP association and network overhead, it ties up a server process or thread whilst the keepalive is active. As a consequence, a extremely busy server may run out of at hand threads. A busy server with the Worker MPM may continue tens of thousands of hits per second, as happens with favorite sites such as Facebook or Twitter).</p>
<p>If you like to read up more on the subject, we highly recommend <a title="The Apache Modules Book" href="http://www.amazon.com/gp/product/0132409674/ref=as_li_ss_tl?ie=UTF8&amp;tag=cudandsnu-20&amp;linkCode=as2&amp;camp=217145&amp;creative=399369&amp;creativeASIN=0132409674" target="_blank">The Apache Modules Book</a>, some excerpts were taken for this article.</p>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://www.itecsoftware.com/apache-prefork-vs-worker-threads/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>View Progress Of MySQL Dump Restore Or Import</title>
		<link>http://www.itecsoftware.com/view-progress-of-mysql-dump-restore-or-import?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=view-progress-of-mysql-dump-restore-or-import</link>
		<comments>http://www.itecsoftware.com/view-progress-of-mysql-dump-restore-or-import#comments</comments>
		<pubDate>Sat, 07 May 2011 19:18:50 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[bar]]></category>
		<category><![CDATA[dump]]></category>
		<category><![CDATA[import]]></category>
		<category><![CDATA[progress]]></category>
		<category><![CDATA[pv]]></category>
		<category><![CDATA[restore]]></category>

		<guid isPermaLink="false">http://www.itecsoftware.com/?p=795</guid>
		<description><![CDATA[<a href="http://www.itecsoftware.com/view-progress-of-mysql-dump-restore-or-import" title="View Progress Of MySQL Dump Restore Or Import"></a>Ever wondered why the MySQL command line tool don&#8217;t have any sort of progress information or status update? Well, you&#8217;re not alone if you do. Especially importing a GB sized dump file can take a long time, especially if the &#8230;<p class="read-more"><a href="http://www.itecsoftware.com/view-progress-of-mysql-dump-restore-or-import">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://www.itecsoftware.com/view-progress-of-mysql-dump-restore-or-import" title="View Progress Of MySQL Dump Restore Or Import"></a><!-- google_ad_section_start --><p>Ever wondered why the MySQL command line tool don&#8217;t have any sort of progress information or status update? Well, you&#8217;re not alone if you do. Especially importing a GB sized dump file can take a long time, especially if the table engine was InnoDB.</p>
<p>There are some clever utilities which can be used to accomplish just that, by giving the user simple, yet useful information about the progress of their process. Let&#8217;s look at them.</p>
<h4>Bar (Command Line Progress Bar)</h4>
<p>The Bar utility, or in full terms Command Line Progress Bar can be downloaded from <a title="Command Line Progress Bar" href="http://sourceforge.net/projects/clpbar/" target="_blank">Sourceforge</a>. If you are running Ubuntu, it&#8217;s as simple as running ‘<span style="color: #008000;">sudo apt-get install bar</span>’ to install it. You then simply pipe your MySQL import and get a nice status bar.</p>
<pre><span style="color: #008000;">shell&gt; bar -if=mysql_db_data.sql | mysql</span></pre>
<pre><span style="color: #008000;"><a href="http://www.itecsoftware.com/wp-content/uploads/2011/05/bar-1.06-screenshot1.jpg"><img class="size-full wp-image-797 alignnone" style="margin-top: 20px; margin-bottom: 20px;" title="bar-1.06-screenshot" src="http://www.itecsoftware.com/wp-content/uploads/2011/05/bar-1.06-screenshot1.jpg" alt="Bar utility screenshot" width="564" height="40" /></a>
</span></pre>
<h3></h3>
<h4><span id="more-795"></span>Piper Viewer</h4>
<p>To get a bit fancier, Piper Viewer can be inserted into any normal pipeline between two processes to give a visual indication of how quickly data is passing through, how long it has taken, how near to completion it is, and an estimate of how long it will be until completion. Observe multiple instances working in tandem,  a visual indicator of relative throughput in a complex pipeline. Download pv <a href="http://www.ivarch.com/programs/pv.shtml" target="_blank">here</a>.</p>
<pre><span style="color: #008000;">pv -cN gzip mysql_db_data.sql.gz | gzip -d | pv -cN mysql | mysql</span></pre>
<pre><span style="color: #008000;"><a href="http://www.itecsoftware.com/wp-content/uploads/2011/05/pv.png"><img class="size-full wp-image-798 alignnone" style="margin-top: 20px; margin-bottom: 20px;" title="pv Piper Viewer" src="http://www.itecsoftware.com/wp-content/uploads/2011/05/pv.png" alt="Piper Viewer" width="590" height="82" /></a></span></pre>
<pre>
</pre>
<p>Either utility will undoubtedly shed more light into your restoration processes, and let you know whether the process is still running if in doubt and wondering after an hour or more.</p>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://www.itecsoftware.com/view-progress-of-mysql-dump-restore-or-import/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iFrame problems in WordPress solved</title>
		<link>http://www.itecsoftware.com/iframe-problems-in-wordpress-solved?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=iframe-problems-in-wordpress-solved</link>
		<comments>http://www.itecsoftware.com/iframe-problems-in-wordpress-solved#comments</comments>
		<pubDate>Wed, 20 Apr 2011 17:57:04 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Useful Stuff]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[WYSIWYG]]></category>
		<category><![CDATA[xinha]]></category>

		<guid isPermaLink="false">http://www.itecsoftware.com/?p=780</guid>
		<description><![CDATA[<a href="http://www.itecsoftware.com/iframe-problems-in-wordpress-solved" title="iFrame problems in Wordpress solved"></a>There seems to be a know problem with iFrames in posts, starting with WordPress 2.2.1, which happens when editors use the internal WYSIWYG editor. A lot of users have reported this issue in frustration. Initial saving of the content was &#8230;<p class="read-more"><a href="http://www.itecsoftware.com/iframe-problems-in-wordpress-solved">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://www.itecsoftware.com/iframe-problems-in-wordpress-solved" title="iFrame problems in Wordpress solved"></a><!-- google_ad_section_start --><p><a href="http://www.itecsoftware.com/wp-content/uploads/2011/04/xinha.png"><img class="alignleft size-full wp-image-781" title="xinha" src="http://www.itecsoftware.com/wp-content/uploads/2011/04/xinha.png" alt="" width="95" height="100" /></a>There seems to be a know problem with iFrames in posts, starting with WordPress 2.2.1, which happens when editors use the internal <a href="http://www.itecsoftware.com/iframe-problems-in-wordpress-solved"target="_self"title="WYSIWYG" >WYSIWYG</a> editor. A lot of users have reported this issue in frustration.</p>
<p>Initial saving of the content was fine, but subsequently editing and re-saving is would strip iFrame tags. A less than ideal solution was to avoid using the WYSIWYG editor and edit the post using HTML code. Now there is a Mozilla Firefox extension for those that don&#8217;t like write pure html code, called <a href="https://addons.mozilla.org/en-us/firefox/addon/xinha-here/">Xinha Here!</a>.<br />
<a href="http://www.itecsoftware.com/wp-content/uploads/2011/04/xinha-firefox-addon.png"><img class="size-thumbnail wp-image-783 alignright" title="xinha-firefox-addon" src="http://www.itecsoftware.com/wp-content/uploads/2011/04/xinha-firefox-addon-150x150.png" alt="Xinha Firefox addon" width="150" height="150" /></a><br />
It&#8217;s a pretty cool add-on, that opens either in a new window or  in a bottom bar and let&#8217;s you use it as WYSIWYG editor until you&#8217;re done, then hit ok and save the article in WordPress. Just ensure that html editor is selected during this process, especially at saving.</p>
<p>I have to say, Xinha works like a charm and has more features than the built in wordpress WYSIWYG editor. For more info, check out <a title="Xinha" href="http://xinha.webfactional.com/">xinha&#8217;s web site</a>.</p>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://www.itecsoftware.com/iframe-problems-in-wordpress-solved/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firefox Extensions For Web Developers</title>
		<link>http://www.itecsoftware.com/firefox-extensions-for-web-developers?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=firefox-extensions-for-web-developers</link>
		<comments>http://www.itecsoftware.com/firefox-extensions-for-web-developers#comments</comments>
		<pubDate>Tue, 05 Apr 2011 23:54:11 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://www.itecsoftware.com/?p=761</guid>
		<description><![CDATA[<a href="http://www.itecsoftware.com/firefox-extensions-for-web-developers" title="Firefox Extensions For Web Developers"></a>With the release of Firefox version 4 last week, we thought it&#8217;s time for a fresh list of most powerful Firefox extensions for web developers. Even though couple of our mentions are not yet compatible with this latest release, we&#8217;re &#8230;<p class="read-more"><a href="http://www.itecsoftware.com/firefox-extensions-for-web-developers">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://www.itecsoftware.com/firefox-extensions-for-web-developers" title="Firefox Extensions For Web Developers"></a><!-- google_ad_section_start --><p><a href="http://www.itecsoftware.com/wp-content/uploads/2011/04/firefox-4-web-browser.png"><img class="alignleft size-thumbnail wp-image-762" title="firefox-4-web-browser" src="http://www.itecsoftware.com/wp-content/uploads/2011/04/firefox-4-web-browser-150x150.png" alt="Firefox Logo" width="150" height="150" /></a>With the release of Firefox version 4 last week, we thought it&#8217;s time for a fresh list of most powerful Firefox extensions for web developers. Even though couple of our mentions are not yet compatible with this latest release, we&#8217;re convinced they&#8217;ll be available in no time.</p>
<p>While release 4 also includes some HTML 5 enhancements, we like to see some new extensions to help developers with canvas, forms, local storage and other new features in the future.</p>
<p>In case, we mean just in case you don&#8217;t have Firefox yet, you can get it <a href="http://www.mozilla.com/en-US/firefox/new/">here</a>.</p>
<h4><a onclick="javascript:_gaq.push(['_trackEvent','outbound-article','addons.mozilla.org']);" href="https://addons.mozilla.org/en-US/firefox/addon/1843" target="_new">FireBug</a></h4>
<p>Javascript debugger, live DOM &amp; CSS inspector and so much more.  The de-facto single greatest web developer add-on for Firefox.</p>
<h4><a onclick="javascript:_gaq.push(['_trackEvent','outbound-article','addons.mozilla.org']);" href="https://addons.mozilla.org/en-US/firefox/addon/60" target="_new">Web Developer Toolbar</a></h4>
<p>Another great developer tool and addition to FireBug, adds a toolbar with powerful web developer tools at your fingertips.</p>
<h4><a onclick="javascript:_gaq.push(['_trackEvent','outbound-article','addons.mozilla.org']);" href="https://addons.mozilla.org/en-US/firefox/addon/3829" target="_new">Live HTTP Headers</a></h4>
<p>As you browse, view live HTTP headers of any page loading in real time.</p>
<h4><a onclick="javascript:_gaq.push(['_trackEvent','outbound-article','addons.mozilla.org']);" href="https://addons.mozilla.org/en-US/firefox/addon/271" target="_new">ColorZilla</a></h4>
<p>An advanced eyedropper, color picker, page zoomer and various colorful goodies.<br />
<span id="more-761"></span></p>
<h4><a onclick="javascript:_gaq.push(['_trackEvent','outbound-article','addons.mozilla.org']);" href="https://addons.mozilla.org/en-US/firefox/addon/1881" target="_new">Cache Status</a></h4>
<p>Easily check cache status and management from the status bar.</p>
<h4><a onclick="javascript:_gaq.push(['_trackEvent','outbound-article','addons.mozilla.org']);" href="https://addons.mozilla.org/en-US/firefox/addon/4510" target="_new">Edit Cookies</a></h4>
<p>Edit browser cookies inside Firefox. (As of this writing, not yet compatible with Firefox 4)</p>
<h4><a onclick="javascript:_gaq.push(['_trackEvent','outbound-article','addons.mozilla.org']);" href="https://addons.mozilla.org/en-US/firefox/addon/1269" target="_new">Fasterfox</a></h4>
<p>Test, record and improve performance and network tweaks for Firefox.</p>
<h4><a onclick="javascript:_gaq.push(['_trackEvent','outbound-article','addons.mozilla.org']);" href="https://addons.mozilla.org/en-US/firefox/addon/4513" target="_new">RefSpoof</a></h4>
<p>Allows for easy spoofing of the HTTP referrer header.</p>
<h4><a onclick="javascript:_gaq.push(['_trackEvent','outbound-article','addons.mozilla.org']);" href="https://addons.mozilla.org/en-US/firefox/addon/2077" target="_new">Regular Expressions Tester</a></h4>
<p>Great testing tool for regular expressions validation with colour highlighting.</p>
<h4><a onclick="javascript:_gaq.push(['_trackEvent','outbound-article','addons.mozilla.org']);" href="https://addons.mozilla.org/en-US/firefox/addon/59" target="_new">User Agent Switcher</a></h4>
<p>Adds a menu and toolbar button to easily switch the user agent of the browser.</p>
<h4><a onclick="javascript:_gaq.push(['_trackEvent','outbound-article','addons.mozilla.org']);" href="https://addons.mozilla.org/en-US/firefox/addon/4530" target="_new">Show MyIP</a></h4>
<p>Simple but useful, display your current external IP address.</p>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://www.itecsoftware.com/firefox-extensions-for-web-developers/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enable Digest Authentication In Apache</title>
		<link>http://www.itecsoftware.com/enable-digest-authentication-in-apache?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=enable-digest-authentication-in-apache</link>
		<comments>http://www.itecsoftware.com/enable-digest-authentication-in-apache#comments</comments>
		<pubDate>Tue, 08 Mar 2011 01:31:56 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[authentication]]></category>
		<category><![CDATA[digest]]></category>

		<guid isPermaLink="false">http://www.itecsoftware.com/?p=747</guid>
		<description><![CDATA[<a href="http://www.itecsoftware.com/enable-digest-authentication-in-apache" title="Enable Digest Authentication In Apache"></a>Basic http authentication in Apache (mod_auith) has been available for a while, but one major downside still exists, which is the exchange of plain text user name and password information over a possibly unsecured network. That is where Apache Digest &#8230;<p class="read-more"><a href="http://www.itecsoftware.com/enable-digest-authentication-in-apache">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://www.itecsoftware.com/enable-digest-authentication-in-apache" title="Enable Digest Authentication In Apache"></a><!-- google_ad_section_start --><div id="attachment_751" class="wp-caption alignleft" style="width: 160px"><a href="http://www.itecsoftware.com/wp-content/uploads/2011/03/auth_digest.gif"><img class="size-thumbnail wp-image-751" title="auth_digest" src="http://www.itecsoftware.com/wp-content/uploads/2011/03/auth_digest-150x150.gif" alt="Auth Digest" width="150" height="150" /></a><p class="wp-caption-text">Digest Authentication</p></div>
<p>Basic http authentication in Apache (mod_auith) has been available for a while, but one major downside still exists, which is the exchange of plain text user name and password information over a possibly unsecured network.<br />
That is where Apache Digest Authentication takes over and provides us with MD5 encrypted values, using the mod_digest apache module.</p>
<p>Here are the steps to create a password file to store all account information, install the apache module mod_auth_digest and the necessary configuration parameters to enable security of our restricted area.</p>
<h4>Create Account file</h4>
<p>For digest authentication we need to use a utility called htdigest, unlike with basic authentication where we used htpasswd. The application takes the file name, realm and username as arguments, then prompts twice for the user&#8217;s password. The flag -c creates a new file, it overrides the existing one if exists.<span id="more-747"></span></p>
<p><span style="color: #008000;"># sudo htdigest -c /path/to/user/file realm username</span></p>
<h4>Install Module mod_auth_digest</h4>
<p>Installing mod_auth_digest on Ubuntu is as easy as calling:</p>
<p><span style="color: #008000;"># sudo a2enmod auth_digest</span></p>
<p>On other systems, you might have to compile apache with the &#8211;enable-mod-digest flag.</p>
<h4>Configure Virtual Host</h4>
<p>Finally, we add the necessary directives to the virtual host configuration, inside the directory section to be more precisely.</p>
<pre>&lt;Directory /var/www/website.com&gt;
  AuthType Digest
  AuthName "Restricted Access"
  AuthDigestProvider file
  AuthUserFile /var/.htpass
  AuthGroupFile /dev/null
  AuthDigestDomain /
  Require valid-user
&lt;/Directory&gt;</pre>
<p>Restart apache and verify your configuration. If you encounter login problems, check the apache error log. A common mistake is to have a mismatch between the &#8220;realm&#8221; when creating the user file with htdigest and the &#8220;AuthName&#8221; in the apache config file. These two values need to match.</p>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://www.itecsoftware.com/enable-digest-authentication-in-apache/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Move a SVN Subversion Repository</title>
		<link>http://www.itecsoftware.com/move-a-svn-subversion-repository?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=move-a-svn-subversion-repository</link>
		<comments>http://www.itecsoftware.com/move-a-svn-subversion-repository#comments</comments>
		<pubDate>Thu, 24 Feb 2011 21:24:04 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Useful Stuff]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[repository]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.itecsoftware.com/?p=738</guid>
		<description><![CDATA[<a href="http://www.itecsoftware.com/move-a-svn-subversion-repository" title="Move a SVN Subversion Repository"></a>At some point in a developers life, we have to upgrade, switch hosting providers or replace broken hardware and with that comes the inevitable. Moving al lof our apps, data and configuration settings, and eventually our holy repository. Moving an &#8230;<p class="read-more"><a href="http://www.itecsoftware.com/move-a-svn-subversion-repository">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://www.itecsoftware.com/move-a-svn-subversion-repository" title="Move a SVN Subversion Repository"></a><!-- google_ad_section_start --><p><a href="http://www.itecsoftware.com/wp-content/uploads/2011/02/subversion1.png"><img class="alignleft size-thumbnail wp-image-741" title="subversion" src="http://www.itecsoftware.com/wp-content/uploads/2011/02/subversion1-150x140.png" alt="Subversion SVN" width="150" height="140" /></a>At some point in a developers life, we have to upgrade, switch hosting providers or replace broken hardware and with that comes the inevitable. Moving al lof our apps, data and configuration settings, and eventually our holy repository.</p>
<p>Moving an SVN repository from one Subversion server to another, while carrying over the entire version history information may seem like a daunting task, but fortunately it&#8217;s rather quite easy and straight forward.</p>
<h4>Backup your old Repository</h4>
<p>Step one is the generate a dump file of the existing repository which we can later move to our new server.<br />
We create this dump with the following command:</p>
<p><span style="color: #008000;"># svnadmin dump /path/to/old/repository &gt; repository.svn_dump</span></p>
<p>This dump file contains now all the revisions that have ever been made and committed to our SVN repository, and therefore this file may get rather large, depending on how active and old the repository is.<span id="more-738"></span></p>
<h4>Create the new Repository and move the dump file</h4>
<p>Now let&#8217;s create a new repository on our new server:</p>
<p><span style="color: #008000;"># svnadmin create /path/to/new/repository</span></p>
<p>then we simply transfer the dump file to our new subversion server.</p>
<h4>Import the dump file</h4>
<p>And finally import our dump file with the force-uuid flag:</p>
<p><span style="color: #008000;"># svnadmin load &#8211;force-uuid /path/to/new/repository &lt; repository.svn_dump</span></p>
<p>The force-uuid flag retains the UUID and keeps the repo&#8217;s integrity in check.</p>
<h4>Note</h4>
<p>You also have the option to  import a partial dump, by creating an incremental dump starting at a revision number of your choice, like such:</p>
<p><span style="color: #008000;"># svnadmin dump &#8211;incremental -r 456789 /path/to/old/repository &gt; repository_r456789.svn_dump</span></p>
<p>and then import it on your target server:</p>
<p><span style="color: #008000;"># svnadmin load /path/to/new/repository &lt; repository_r456789.svn_dump</span></p>
<p>SVN dumps should also be part of your repository backup strategy, and conveniently they work across different versions of subversion.</p>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://www.itecsoftware.com/move-a-svn-subversion-repository/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Install ffmpeg on Mac Snow Leopard</title>
		<link>http://www.itecsoftware.com/install-ffmpeg-on-mac-snow-leopard?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=install-ffmpeg-on-mac-snow-leopard</link>
		<comments>http://www.itecsoftware.com/install-ffmpeg-on-mac-snow-leopard#comments</comments>
		<pubDate>Mon, 24 Jan 2011 23:23:35 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Shell Scripting]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[faac]]></category>
		<category><![CDATA[faad]]></category>
		<category><![CDATA[ffmpeg]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[lame]]></category>
		<category><![CDATA[ogg]]></category>
		<category><![CDATA[theora]]></category>
		<category><![CDATA[vorbis]]></category>
		<category><![CDATA[webm]]></category>
		<category><![CDATA[yasm]]></category>

		<guid isPermaLink="false">http://articles.itecsoftware.com/?p=645</guid>
		<description><![CDATA[<a href="http://www.itecsoftware.com/install-ffmpeg-on-mac-snow-leopard" title="Install ffmpeg on Mac Snow Leopard"></a>Ffmpeg is the de-facto open source standard for encoding audio and video. Especially with the arrival of html5 which uses codecs like Ogg, Theora, Vorbis, h264, webm among others, and the increasing popularity of devices from Apple, such as iPod, &#8230;<p class="read-more"><a href="http://www.itecsoftware.com/install-ffmpeg-on-mac-snow-leopard">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://www.itecsoftware.com/install-ffmpeg-on-mac-snow-leopard" title="Install ffmpeg on Mac Snow Leopard"></a><!-- google_ad_section_start --><p><a href="http://www.itecsoftware.com/wp-content/uploads/2011/01/webm.jpg"><img class="alignleft size-full wp-image-649" title="webm" src="http://www.itecsoftware.com/wp-content/uploads/2011/01/webm.jpg" alt="Webm" width="200" height="126" /></a>Ffmpeg is the de-facto open source standard for encoding audio and video. Especially with the arrival of html5 which uses codecs like Ogg, Theora, Vorbis, h264, webm among others, and the increasing popularity of devices from Apple, such as iPod, iPad and the iPhone, all of which require a different standard from flv, the version so widely in use by Adobe Flash.</p>
<p>Another positive aspect is that ffmpeg has a much revived developer group, posed to enhance the application on a much faster pace than it has been in recent years.</p>
<p>Installation on Linux systems is really straight forward, especially on common distro&#8217;s like Ubunty and Fedora. On a Mac, we will have to build it from source (if you&#8217;re not a fan of ports like me), including encoder/decoders we plan to use. Here is the breakdown to get ffmpeg installed on a Mac running Snow Leopard.</p>
<h4>Install Git</h4>
<p>If you don&#8217;t have Git installed, download the Git installer <a href="http://code.google.com/p/git-osx-installer/downloads/list?can=3&amp;q=&amp;sort=-uploaded&amp;colspec=Filename+Summary+Uploaded+Size+DownloadCount" target="_blank">here</a>, install the package and run the script in the source of the mounted image. CVS is included in XCode and that is located on the snow leopard installation disc.</p>
<h4>Install LAME (latest version from cvs)</h4>
<pre><span style="color: #008000;">cd ~
cvs -d:pserver:anonymous@lame.cvs.sourceforge.net:/cvsroot/lame login
(at the password prompt, press Enter)
cvs -z3 -d:pserver:anonymous@lame.cvs.sourceforge.net:/cvsroot/lame co -P lame
cd lame
./configure
make
sudo make install</span></pre>
<p><span id="more-645"></span></p>
<h4>Install FAAC and FAAD</h4>
<pre><span style="color: #008000;">cd ~
wget http://sourceforge.net/projects/faac/files/faac-src/faac-1.28/ \
  faac-1.28.tar.gz/download
tar xzvf faac-1.28.tar.gz
cd faac-1.28
./configure --with-libmp4v2
sudo make install

cd ~
wget http://sourceforge.net/projects/faac/files/faad2-src/faad2-2.7/ \
  faad2-2.7.tar.gz/download
tar xzvf faad2-2.7.tar.gz
cd faad2-2.7
./configure
make
sudo make install
</span></pre>
<h4>Install Yasm (for faster encoding)</h4>
<pre><span style="color: #008000;">cd ~
wget http://www.tortall.net/projects/yasm/releases/yasm-1.1.0.tar.gz
tar xzvf yasm-1.1.0.tar.gz
cd yasm-1.1.0
./configure
make
sudo make install
</span></pre>
<h4>Install Ogg, Vorbis and Theora</h4>
<pre><span style="color: #008000;">cd ~
wget http://downloads.xiph.org/releases/ogg/libogg-1.1.4.tar.gz
tar xzvf libogg-1.1.4.tar.gz
cd libogg-1.1.4
./configure
make
sudo make install</span></pre>
<pre><span style="color: #008000;">
cd ~
wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.2.3.tar.gz
tar xzvf libvorbis-1.2.3.tar.gz
cd libvorbis-1.2.3
./configure
make
sudo make install</span></pre>
<pre><span style="color: #008000;">
cd ~
wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.bz2
tar xzvf libtheora-1.1.1.tar.bz2
cd libtheora-1.1.1
./configure
make
sudo make install
</span></pre>
<h4>Install ffmpeg</h4>
<pre><span style="color: #008000;">cd ~
svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
cd ffmpeg
./configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc \ 
--enable-pthreads --enable-libfaac --enable-libfaad2 --enable-libmp3lame \ 
--enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora \
--enable-libx264 --enable-libxvid --enable-x11grab --enable-libvpx-vp8</span></pre>
<h4>Note</h4>
<p>As this article matures so will new versions of the above extensions become available. Especially webm will undoubtedly see a rapid development during the coming months and you should ensure that you use the latest versions of each.</p>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://www.itecsoftware.com/install-ffmpeg-on-mac-snow-leopard/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced
Database Caching 24/28 queries in 0.008 seconds using memcached
Object Caching 1234/1234 objects using memcached

Served from: www.itecsoftware.com @ 2012-02-06 06:43:51 -->
