<?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>johnjcamilleri.com &#187; Web Development</title>
	<atom:link href="http://johnjcamilleri.com/category/web-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://johnjcamilleri.com</link>
	<description></description>
	<lastBuildDate>Sun, 25 Jul 2010 20:20:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Enabling compression with GoDaddy Shared Hosting</title>
		<link>http://johnjcamilleri.com/2010/07/enabling-compression-with-godaddy-shared-hosting/</link>
		<comments>http://johnjcamilleri.com/2010/07/enabling-compression-with-godaddy-shared-hosting/#comments</comments>
		<pubDate>Sun, 25 Jul 2010 10:44:13 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Random Tech]]></category>
		<category><![CDATA[Useful]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[compression]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[deflate]]></category>
		<category><![CDATA[godaddy]]></category>
		<category><![CDATA[gzip]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[shared hosting]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://johnjcamilleri.com/?p=213</guid>
		<description><![CDATA[Compression of HTML, CSS and JavaScript is quite important for improving your site&#8217;s speed and should always be used. Of you will find that all you need to do is add a line similar to the following to your .htaccess file: AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml application/x-javascript text/javascript application/javascript Source: StackOverflow However, if you&#8217;re [...]]]></description>
			<content:encoded><![CDATA[<p>Compression of HTML, CSS and JavaScript is quite important for improving your site&#8217;s speed and should always be used.</p>
<p>Of you will find that all you need to do is add a line similar to the following to your <code>.htaccess</code> file:</p>
<p><code>AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml application/x-javascript text/javascript application/javascript</code><br />
<em>Source: <a href="http://stackoverflow.com/questions/373725/javascript-compression-via-htaccess">StackOverflow</a></em></p>
<p>However, if you&#8217;re on a GoDaddy shared hosting account you may have realised that this doesn&#8217;t work. <a href="http://help.godaddy.com/article/4485">GoDaddy&#8217;s help page</a> recommends that you paste this code in all your PHP pages:</p>
<p><code>&lt;?php if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) ob_start("ob_gzhandler"); else ob_start(); ?&gt;</code></p>
<p>That&#8217;s fine, but from my understanding this will not cache your CSS or JavaScript. However, I found a <a href="http://wordpresspartner.com/tutorials/godaddy-htaccess-gzip/">solution here</a>, which involves some <code>.htaccess</code> trickery to compress all your CSS and JavaScript files automatically. Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://johnjcamilleri.com/2010/07/enabling-compression-with-godaddy-shared-hosting/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to unescape HTML entities in JavaScript</title>
		<link>http://johnjcamilleri.com/2010/02/how-to-unescape-html-entities-in-javascript/</link>
		<comments>http://johnjcamilleri.com/2010/02/how-to-unescape-html-entities-in-javascript/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 20:44:40 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Useful]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[html entities]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[unescape]]></category>

		<guid isPermaLink="false">http://johnjcamilleri.com/?p=157</guid>
		<description><![CDATA[This is one of those routine web development things which you assume is inbuilt, but actually proves quite tedious to find a nice solution to. Specifically, I am talking about converting something like &#38;#39; to &#8216; or &#38;amp; to &#38; directly in Javscript. This function does exactly that! Note how it adds a function to [...]]]></description>
			<content:encoded><![CDATA[<p>This is one of those routine web development things which you assume is inbuilt, but actually proves quite tedious to find a nice solution to.</p>
<p>Specifically, I am talking about converting something like &amp;#39; to &#8216; or &amp;amp; to &amp; directly in Javscript.<br />
This function does exactly that! Note how it adds a function to the prototype for String, so is called in the following way:</p>
<p><code>"Hello Jos&amp;eacute;".unescapeHtml()</code></p>
<p>Find the code here: <a href="http://paulschreiber.com/blog/2008/09/20/javascript-how-to-unescape-html-entities/">paul schreiber » Blog Archive » JavaScript: how to unescape HTML entities</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://johnjcamilleri.com/2010/02/how-to-unescape-html-entities-in-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>qTranslate and multilingual META tags</title>
		<link>http://johnjcamilleri.com/2010/01/qtranslate-and-multilingual-meta-tags/</link>
		<comments>http://johnjcamilleri.com/2010/01/qtranslate-and-multilingual-meta-tags/#comments</comments>
		<pubDate>Sat, 09 Jan 2010 23:23:02 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Wordpress Plugins]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[l10n]]></category>
		<category><![CDATA[meta tags]]></category>
		<category><![CDATA[qtranslate]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://johnjcamilleri.com/?p=145</guid>
		<description><![CDATA[I use WordPress with qTranslate, but I needed to have multilingual META tags which qTranslate doesn&#8217;t support &#8211; so I wrote a plugin to do the job myself. It&#8217;s pretty basic, but I thought I would share in case anyone else needs something similar. Plugin can be found on WordPress&#8217; Plugin site here: qTranslate Meta [...]]]></description>
			<content:encoded><![CDATA[<p>I use WordPress with qTranslate, but I needed to have multilingual META tags which qTranslate doesn&#8217;t support &#8211; so I wrote a plugin to do the job myself. It&#8217;s pretty basic, but I thought I would share in case anyone else needs something similar.</p>
<p>Plugin can be found on WordPress&#8217; Plugin site here: <a href="http://wordpress.org/extend/plugins/qtranslate-meta/">qTranslate Meta at WP Plugin Directory</a>.</p>
<h4>Thanks</h4>
<p>I&#8217;d like to thank the following people for their contributions (in  chronological order):</p>
<ul>
<li>Victor Berchet — Help with initial localisation; French translation</li>
<li>Benoit Gauthier — autosave bug fix</li>
<li>Filippo Pisano — Italian translation</li>
<li><a href="http://pc.de/">Marcis G.</a> — Belorussian translation</li>
<li>Almaz — Russian translation</li>
<li><a href="http://www.heftrucknederland.nl/">Renate Kramer</a> — German translation</li>
<li><a href="http://wpwebshop.com/blog/">Rene</a> — Dutch translation</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://johnjcamilleri.com/2010/01/qtranslate-and-multilingual-meta-tags/feed/</wfw:commentRss>
		<slash:comments>61</slash:comments>
		</item>
		<item>
		<title>WordPress NextGEN Gallery &#8211; Thumbnail Generation PHP Memory Limit</title>
		<link>http://johnjcamilleri.com/2010/01/wordpress-nextgen-gallery-thumbnail-generation-php-memory-limit/</link>
		<comments>http://johnjcamilleri.com/2010/01/wordpress-nextgen-gallery-thumbnail-generation-php-memory-limit/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 15:54:13 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Wordpress Plugins]]></category>
		<category><![CDATA[nextgen gallery]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://johnjcamilleri.com/?p=140</guid>
		<description><![CDATA[The name says it all, if you use NextGen Gallery and have problems with GD thumnbnail generation, you might want to consider upping the PHP memory limit. You probably already suspected it, and it can be done by simply uncommenting one line of code. Link here: Thumbnail Generation PHP Memory Limit NextGEN Gallery » Visser [...]]]></description>
			<content:encoded><![CDATA[<p>The name says it all, if you use NextGen Gallery and have problems with GD thumnbnail generation, you might want to consider upping the PHP memory limit. You probably already suspected it, and it can be done by simply uncommenting one line of code.</p>
<p>Link here: <a href="http://www.visser.com.au/blog/thumbnail-generation-php-memory-limit-nextgen-gallery/">Thumbnail Generation PHP Memory Limit NextGEN Gallery » Visser Labs</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://johnjcamilleri.com/2010/01/wordpress-nextgen-gallery-thumbnail-generation-php-memory-limit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What&#8217;s Buzzing Malta?</title>
		<link>http://johnjcamilleri.com/2009/11/whats-buzzing-malta/</link>
		<comments>http://johnjcamilleri.com/2009/11/whats-buzzing-malta/#comments</comments>
		<pubDate>Sun, 29 Nov 2009 23:24:58 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://johnjcamilleri.com/?p=130</guid>
		<description><![CDATA[So this is just a small site I built as part of my undergrad coursework. The basic idea was to build any sort of publically &#8220;useful&#8221; mashup using Ruby on Rails. My idea is a simple site which aggregates a bunch of feed URLs, picks the most popular keywords among them all and them displays [...]]]></description>
			<content:encoded><![CDATA[<p>So <a href="http://whats-buzzing-malta.heroku.com/">this is just a small site</a> I built as part of my undergrad coursework. The basic idea was to build any sort of publically &#8220;useful&#8221; mashup using Ruby on Rails.</p>
<p>My idea is a simple site which aggregates a bunch of feed URLs, picks the most popular keywords among them all and them displays them in a cloud. Also, user interaction alters the scoring so that things keep updating themselves as people use the site.</p>
<p>Anyway I know it&#8217;s not much, but having this link here might help it&#8217;s ranking ever so slightly.. plus if you randomly stumble across this page, please do click so I can register some website hits <img src='http://johnjcamilleri.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Thanks&#8230; <a href="http://whats-buzzing-malta.heroku.com/">What&#8217;s Buzzing Malta</a></p>
]]></content:encoded>
			<wfw:commentRss>http://johnjcamilleri.com/2009/11/whats-buzzing-malta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Empty / blank page for large posts with WordPress</title>
		<link>http://johnjcamilleri.com/2009/11/empty-blank-page-for-large-posts-with-wordpress/</link>
		<comments>http://johnjcamilleri.com/2009/11/empty-blank-page-for-large-posts-with-wordpress/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 18:51:29 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[tinymce]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://johnjcamilleri.com/?p=125</guid>
		<description><![CDATA[So I was having this problem where WordPress would display a blank editor for large posts when viewing visual mode. I could get it to work by using the HTML view and refreshing the page, but never in visual mode. Anyway turns out to be the result of some modest PHP pcre regex defaults. Thankfully [...]]]></description>
			<content:encoded><![CDATA[<p>So I was having this problem where WordPress would display a blank editor for large posts when viewing visual mode. I could get it to work by using the HTML view and refreshing the page, but never in visual mode.</p>
<p>Anyway turns out to be the result of some modest PHP pcre regex defaults. Thankfully all it took was changing a few setting in PHP.ini. A bit thanks to the following blog post, which turned a nightmare of a bug to find into a quick and easy fix.</p>
<p><a href="http://www.undermyhat.org/blog/2009/07/sudden-empty-blank-page-for-large-posts-with-wordpress/comment-page-1/#comment-2801">Sudden empty / blank page for large posts with WordPress | Under My Hat</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://johnjcamilleri.com/2009/11/empty-blank-page-for-large-posts-with-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rubyon Rails deployment &#8211; Heroku on Windows</title>
		<link>http://johnjcamilleri.com/2009/11/rubyon-rails-deployment-heroku-on-windows/</link>
		<comments>http://johnjcamilleri.com/2009/11/rubyon-rails-deployment-heroku-on-windows/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 17:36:34 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[cygwin]]></category>
		<category><![CDATA[deployment]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[heroku]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://johnjcamilleri.com/?p=123</guid>
		<description><![CDATA[So I&#8217;ve been building my first Ruby on Rails site for an assignment. For hosting, I&#8217;ve found Heroku which seems absolutely lovely. They have a free service but if things keep going well I would gladly pay for an account there. Anyway, I tried following the upload instructions on Windows through Aptana RadRails, and had [...]]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;ve been building my first Ruby on Rails site for an assignment. For hosting, I&#8217;ve found <a href="http://heroku.com/">Heroku</a> which seems absolutely lovely. They have a free service but if things keep going well I would gladly pay for an account there.</p>
<p>Anyway, I tried following the upload instructions on Windows through <a href="http://www.radrails.org/">Aptana RadRails</a>, and had nothing but problems.. mostly I blame RadRails, it&#8217;s letting me down more and more.</p>
<p>But I finally did find this great guide, which goes about things through <a href="http://www.cygwin.com/">Cygwin</a>. I still use <a href="http://www.radrails.org/">RadRails</a> for development, then just run a few shell commands in <a href="http://www.cygwin.com/">Cygwin</a> to get it uploaded. Anyway the link is below, and deserves major &#8220;props&#8221;.</p>
<p><a href="http://flux88.com/blog/getting-started-with-heroku-on-windows/">Getting Started with Heroku on Windows : b#</a>.</p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://johnjcamilleri.com/2009/11/rubyon-rails-deployment-heroku-on-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>qTranslate Widget Validation Fixer &#8211; No longer necessary?</title>
		<link>http://johnjcamilleri.com/2009/10/qtranslate-widget-validation-fixer-no-longer-necessary/</link>
		<comments>http://johnjcamilleri.com/2009/10/qtranslate-widget-validation-fixer-no-longer-necessary/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 16:24:13 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Wordpress Plugins]]></category>
		<category><![CDATA[qtranslate]]></category>
		<category><![CDATA[validation]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://johnjcamilleri.com/?p=115</guid>
		<description><![CDATA[So after upgrading to qTranslate version 2.5 I am not longer getting the validation error I used to get, ie meaning the small plugin is no longer needed. Can anyone else confirm this?]]></description>
			<content:encoded><![CDATA[<p>So after upgrading to qTranslate version 2.5 I am not longer getting the validation error I used to get, ie meaning the small plugin is no longer needed.</p>
<p>Can anyone else confirm this?</p>
]]></content:encoded>
			<wfw:commentRss>http://johnjcamilleri.com/2009/10/qtranslate-widget-validation-fixer-no-longer-necessary/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Let&#8217;s Kill IE6</title>
		<link>http://johnjcamilleri.com/2009/09/lets-kill-ie6/</link>
		<comments>http://johnjcamilleri.com/2009/09/lets-kill-ie6/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 21:29:54 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Random Tech]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[ie6]]></category>
		<category><![CDATA[internet explorer]]></category>
		<category><![CDATA[lets-kill-ie6]]></category>
		<category><![CDATA[style]]></category>

		<guid isPermaLink="false">http://johnjcamilleri.com/?p=101</guid>
		<description><![CDATA[A great effort to get people to switch from IE6: Let&#8217;s Kill IE6. I couldn&#8217;t find the CSS for this anywhere, so here&#8217;s what I&#8217;m using. Note: you will probably also want this image. /* ============== */ /* Let's Kill IE6 */ /* ============== */ #letskillie6 { width:400px; background:#2A2A2A; color:#CCCCCC; font-size:14px; line-height:18px; position:absolute; left:34%; } [...]]]></description>
			<content:encoded><![CDATA[<p>A great effort to get people to switch from IE6:<a href="http://www.neoease.com/lets-kill-ie6/"> Let&#8217;s Kill IE6</a>.</p>
<p>I couldn&#8217;t find the CSS for this anywhere, so here&#8217;s what I&#8217;m using.<br />
Note: you will probably also want <a title="Icons" href="http://letskillie6.googlecode.com/files/icons.gif" class="external">this image</a>.</p>
<p><code><br />
/* ============== */<br />
/* Let's Kill IE6 */<br />
/* ============== */<br />
#letskillie6 {<br />
width:400px;<br />
background:#2A2A2A;<br />
color:#CCCCCC;<br />
font-size:14px;<br />
line-height:18px;<br />
position:absolute;<br />
left:34%;<br />
}<br />
#letskillie6 #letskillie6_close {<br />
background:url(images/letskillie6.gif) no-repeat 0 0;<br />
float:right;<br />
height:15px;<br />
width:0;<br />
overflow:hidden;<br />
padding-left:15px;<br />
margin:5px;<br />
}<br />
#letskillie6 #letskillie6_close:hover {<br />
background:url(images/letskillie6.gif) no-repeat 0 -15px;<br />
}<br />
#letskillie6 .content {<br />
width:100%;<br />
margin:0;<br />
float:none;<br />
}<br />
#letskillie6 .content .pic {<br />
background:url(images/letskillie6.gif) no-repeat -15px 0;<br />
height:73px;<br />
width:55px;<br />
display:block;<br />
float:left;<br />
margin:10px;<br />
}<br />
#letskillie6 .content p {<br />
margin-top:10px;<br />
padding-right:10px;<br />
}<br />
#letskillie6 .content p.browsers {<br />
padding:0 10px 15px 10px;<br />
}<br />
#letskillie6 .content p.meta {<br />
display:none;<br />
}<br />
#letskillie6 .content p.browsers a {<br />
display:block;<br />
float:left;<br />
height:16px;<br />
padding-left:20px;<br />
margin-left:11px;<br />
color:#A8C634;<br />
}<br />
#letskillie6 .content p.browsers a.ie8 		{ background:url(images/letskillie6.gif) no-repeat -70px 0; }<br />
#letskillie6 .content p.browsers a.firefox 	{ background:url(images/letskillie6.gif) no-repeat -70px -16px; }<br />
#letskillie6 .content p.browsers a.opera 		{ background:url(images/letskillie6.gif) no-repeat -70px -32px; }<br />
#letskillie6 .content p.browsers a.chrome 	{ background:url(images/letskillie6.gif) no-repeat -70px -48px; }<br />
#letskillie6 .content p.browsers a.safari 	{ background:url(images/letskillie6.gif) no-repeat -70px -64px; }<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://johnjcamilleri.com/2009/09/lets-kill-ie6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vertical Centering With CSS</title>
		<link>http://johnjcamilleri.com/2009/09/vertical-centering-with-css/</link>
		<comments>http://johnjcamilleri.com/2009/09/vertical-centering-with-css/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 08:39:35 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[align]]></category>
		<category><![CDATA[center]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[middle]]></category>
		<category><![CDATA[vertical]]></category>

		<guid isPermaLink="false">http://johnjcamilleri.com/?p=97</guid>
		<description><![CDATA[A great, cut-to-the-chase article I found about vertical centering with CSS.. enjoy In the Woods – Vertical Centering With CSS.]]></description>
			<content:encoded><![CDATA[<p>A great, cut-to-the-chase article I found about vertical centering with CSS.. enjoy</p>
<p><a href="http://blog.themeforest.net/tutorials/vertical-centering-with-css/">In the Woods – Vertical Centering With CSS</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://johnjcamilleri.com/2009/09/vertical-centering-with-css/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
