<?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>K. Aning&#039;s Web Log &#187; Web Development</title>
	<atom:link href="http://blog.kaning.co.uk/archives/category/web-development/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.kaning.co.uk</link>
	<description>Web development for the inexperienced and mildly skilled</description>
	<lastBuildDate>Mon, 31 Oct 2011 10:20:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>A note on Zend Pagination</title>
		<link>http://blog.kaning.co.uk/archives/246</link>
		<comments>http://blog.kaning.co.uk/archives/246#comments</comments>
		<pubDate>Tue, 07 Sep 2010 13:52:40 +0000</pubDate>
		<dc:creator>Kwabena Aning</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Zend]]></category>
		<category><![CDATA[Zend_Paginator]]></category>

		<guid isPermaLink="false">http://blog.kaning.co.uk/?p=246</guid>
		<description><![CDATA[Having gone round in so many circles I finally found out that when useing Zend Pagination and the current route you are using has more than one dynamic variable i.e $router-&#62;addRoute( 'listingswithpage', new Zend_Controller_Router_Route( '/listing/:type/:page', array('controller' =&#62; 'listing', 'action' =&#62; &#8230; <a href="http://blog.kaning.co.uk/archives/246">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Having gone round in so many circles I finally found out that when useing Zend Pagination and the current route you are using has more than one dynamic variable i.e</p>
<pre class="brush:php">$router-&gt;addRoute(
                'listingswithpage',
                new Zend_Controller_Router_Route(
                        '/listing/:type/:page',
                        array('controller' =&gt; 'listing',
                            'action' =&gt; 'index')
                )
        );</pre>
<p>Your pagination view helper gets a bit thrown if you go by the documentation. The first thing you need to do is find a way to specify the first page initially. I went with specifying my first page in my route definition so it looked something like this</p>
<pre class="brush:php">$router-&gt;addRoute(
                'listingswithpage',
                new Zend_Controller_Router_Route(
                        '/listing/:type/:page',
                        array('controller' =&gt; 'listing',
                            'action' =&gt; 'index',
                            'page' =&gt; 1)
                )
        );</pre>
<p>And that worked. Failing that you have to figure out a way to pass the complete URL path to you pagination view which might be something like &#8220;controls.phtml&#8221; or &#8220;pagination.phtml&#8221;. and constructing the url properly there.</p>
<p>I will perhaps post a more detailed description of what this means but leave a comment if you are impatient and I will try and respond when I get a moment.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kaning.co.uk/archives/246/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mod_Rewrite and Zend Framework 1.10.x and Ubuntu</title>
		<link>http://blog.kaning.co.uk/archives/242</link>
		<comments>http://blog.kaning.co.uk/archives/242#comments</comments>
		<pubDate>Mon, 06 Sep 2010 21:22:35 +0000</pubDate>
		<dc:creator>Kwabena Aning</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[MVC Frameworks]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Zend]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://blog.kaning.co.uk/?p=242</guid>
		<description><![CDATA[So all the tutorials on configuring your development server to run Zend Framework successfully say that you need to enable mod_rewrite in apache2 so that .htaccess and Zend_Router* works well. What they all say is to make sure it&#8217;s loaded &#8230; <a href="http://blog.kaning.co.uk/archives/242">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>So all the tutorials on configuring your development server to run Zend Framework successfully say that you need to enable mod_rewrite in apache2 so that .htaccess and Zend_Router* works well.</p>
<p>What they all say is to make sure it&#8217;s loaded and enabled. I will raise my hand and say it wasn&#8217;t that easy for me to find because Ubuntu lays out Apache2 a little differently from say Fedora. First of all in the /etc/apache2 folder there are a few folders to take note of.</p>
<p>sites-enabled and mods-enabled actually tell you what has been enabled or not and not an uncommented list in some httpd.conf file. Basically the folders in there have symbolic links that come from sites-available and mods-available. This perhaps is a better idea as you can add new mods and not have to recompile apache or whatever.</p>
<p>I digress, to enable mod_rewrite in apache2 in Ubuntu 10.04.1 you need to create a symbolic link from mods-available to mods-enabled to do this you can either use the command:</p>
<pre class="brush:shell">sudo ln -s /etc/mods-available/rewrite.load /etc/mods-enabled/rewrite.load</pre>
<p>or if you prefer GUIs you have to run nautilus as root so you can try</p>
<pre class="brush:shell">sudo nautilus</pre>
<p>and navigate to &#8220;/etc/mods-available&#8221;, right-click on rewrite.load and select &#8220;make link&#8221; and the cut the new file created called &#8220;link to rewrite.load&#8221; paste it in mods-enabled and rename it to &#8220;rewrite.load &#8221;</p>
<p>Now all you need to do is restart your web server and you&#8217;re all set to reroute anyhow you want.</p>
<pre class="brush:shell">sudo /etc/init.d/apache2 restart</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.kaning.co.uk/archives/242/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>A note on CAPTCHA decorators and Zend_Form_&#8230;</title>
		<link>http://blog.kaning.co.uk/archives/222</link>
		<comments>http://blog.kaning.co.uk/archives/222#comments</comments>
		<pubDate>Fri, 09 Jul 2010 14:45:43 +0000</pubDate>
		<dc:creator>Kwabena Aning</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Zend]]></category>
		<category><![CDATA[Zend_Form]]></category>

		<guid isPermaLink="false">http://blog.kaning.co.uk/?p=222</guid>
		<description><![CDATA[So if you have been struggling with setting up decorators with Zend_Form_Element_Captcha, here&#8217;s a note. I used to get an additional textbox with the hash returned by Zend creating the captcha image. And if you were stumped as to how &#8230; <a href="http://blog.kaning.co.uk/archives/222">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>So if you have been struggling with setting up decorators with Zend_Form_Element_Captcha, here&#8217;s a note.</p>
<p>I used to get an additional textbox with the hash returned by Zend creating the captcha image. And if you were stumped as to how to remove them from your display try the following.</p>
<p>First of all your form element please note that I extracted this from my extension of the Zend_Form class</p>
<pre>
<pre class="brush:php">$captcha = new Zend_Form_Element_Captcha('captcha',
 array('label' =&gt; 'Type in the text you see in the image',
 'captcha' =&gt; array('captcha' =&gt; 'Image',
 'wordLen' =&gt; 6,
 'timeout' =&gt; 300,
 'height' =&gt; 60,
 'width' =&gt; 250,
 'font' =&gt; APPLICATION_PATH . '/../public/assets/fonts/arial.ttf',
 'fontSize' =&gt; 30,
 'imgDir' =&gt; APPLICATION_PATH . '/../public/assets/captcha/',
 'imgUrl' =&gt; 'http://' . $_SERVER['HTTP_HOST'] . '/assets/captcha/',
 ))
 );// there are certainly more options here but not necessary for my purposes.
//You can try altering the noise levels in the captcha image such as how many
// dots and lines should be created wiuth the image
// google noise levels in Zend_Form_Element_Captcha</pre>
</pre>
<p>This generates my captcha and I can add it to my form by going with</p>
<pre>
<pre class="brush:php">$this-&gt;addElements(array($email,$captcha,$submit));</pre>
</pre>
<p>Bear in mind that $name and $email and $submit are also new instances of their respective Zend_Form elements. In other words don&#8217;t include them if you&#8217;re copying and pasting.</p>
<p>Now after adding your elements you have to define a separate decorator for the Captcha because it&#8217;s obviously different from other form elements so here goes:</p>
<pre>
<pre class="brush:php">$captcha-&gt;setDecorators(array(
 'Captcha',
 'Errors',
 array('Label', array('separator' =&gt; '&lt;br /&gt;', 'requiredPrefix' =&gt; '* ')),
 array('HtmlTag', array('tag' =&gt; 'p', 'class' =&gt; 'form-element'))
 )
 );</pre>
</pre>
<p>Hope it&#8217;s helpful</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kaning.co.uk/archives/222/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Having multiple instances of Zend Navigation in a single View</title>
		<link>http://blog.kaning.co.uk/archives/216</link>
		<comments>http://blog.kaning.co.uk/archives/216#comments</comments>
		<pubDate>Fri, 09 Jul 2010 10:30:44 +0000</pubDate>
		<dc:creator>Kwabena Aning</dc:creator>
				<category><![CDATA[MVC Frameworks]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Zend]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[Zend_Navigation]]></category>

		<guid isPermaLink="false">http://blog.kaning.co.uk/?p=216</guid>
		<description><![CDATA[so I have been playing around with the Zend Framework rather extensively over the past few weeks and it has been a very rewarding experience. I am posting this here because it was a bit difficult finding a work around &#8230; <a href="http://blog.kaning.co.uk/archives/216">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>so I have been playing around with the Zend Framework rather extensively over the past few weeks and it has been a very rewarding experience.</p>
<p>I am posting this here because it was a bit difficult finding a work around for the issue I describe below.</p>
<p>Zend Navigation had been giving me a lot of problems especially because I could not get the Navigation object passed to my view object to render two different navigation configs. The top menu which remains the same for all pages and is rendered in my layout and other sub menus rendered in my individual view pages.</p>
<p>Now getting to it:</p>
<p>in my bootstrap I initialise my navigation with something like this.</p>
<pre>
<pre class="brush:php">$config = new Zend_Config_Xml(APPLICATION_PATH . '/configs/navigation.xml', 'nav');
 $miscNavConfig = new Zend_Config_Xml(APPLICATION_PATH . '/configs/miscnavigation.xml', 'nav');
 $navigation = new Zend_Navigation($config);
 $miscNavigation = new Zend_Navigation($miscNavConfig);
 Zend_Registry::set(Zend_Navigation, $navigation);
 Zend_Registry::set('MiscNavigation', $miscNavigation);
 $view-&gt;navigation($navigation);</pre>
</pre>
<p>Now  lines 2, 4, and 6 are the new lines I have added for additional nagivation. I beleive you should be able to add new configurations as you move along if you need to.</p>
<p>The next bit was retrieving the sub navigation in my controller:</p>
<pre>
<pre class="brush:php">$miscNavigation = Zend_Registry::get('MiscNavigation');
$this-&gt;view-&gt;miscnavigation = $miscNavigation;</pre>
</pre>
<p>You can do this in your view but because I route several of my views through this controller I want to have to do it only once.</p>
<p>And finally in my view:</p>
<pre>
<pre class="brush:php">$options = array('ulClass' =&gt; 'submenu');
echo($this-&gt;navigation()-&gt;menu()-&gt;renderMenu($this-&gt;miscnavigation, $options));</pre>
</pre>
<p>Bear in mind that I use the renderMenu method instead of passing $this-&gt;miscnavigation into the menu method. If you do that you will overwrite any other instances of menu you have on the page with the miscnavigation object.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kaning.co.uk/archives/216/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Too Long</title>
		<link>http://blog.kaning.co.uk/archives/196</link>
		<comments>http://blog.kaning.co.uk/archives/196#comments</comments>
		<pubDate>Thu, 25 Mar 2010 09:46:14 +0000</pubDate>
		<dc:creator>Kwabena Aning</dc:creator>
				<category><![CDATA[gaming]]></category>
		<category><![CDATA[mokocharlie]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[Service Oriented Architecture]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[web services]]></category>

		<guid isPermaLink="false">http://blog.kaning.co.uk/?p=196</guid>
		<description><![CDATA[So over the past few months I have not written anything here at all. Simply because I have been really busy with quite a few things and I am working under the assumption that I will be really busy for &#8230; <a href="http://blog.kaning.co.uk/archives/196">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>So over the past few months I have not written anything here at all. Simply because I have been really busy with quite a few things and I am working under the assumption that I will be really busy for a while to come. I got some time now and I thought I should write something here.</p>
<p>What has got me busy over the past few weeks has been a Research Proposal. This is for a PhD and I really hope to get a place in the 2010/2011 academic year. It is obviously going to be in computing (Web Services and Quality of Service).</p>
<p>I have also been testing out all these new web 2.0 technologies and all that comes with it. The first was <a href="http://seesmic.com" target="_blank">seesmic</a>: I even got the blackberry app and all worked for a bit and then I got tired of it. I believe it was really about the feel of the application rather than how it worked, because I think it works fine I still prefer ubertwitter for those purposes.</p>
<p>Then I thought to myself, my facebook profile: I don&#8217;t remember the last time I actively updated that. At first I had my status automatically updated through my twitter updates. I am not sure at which point that bridge was hacked but I started updating my facebook pages in Japanese and trying to sell anyone who bothered to translate what was on there a wii or something like that. Goes without saying&#8230; I burnt that bridge really quickly &#8211; uninstalled my facebook-twitter app and basically haven&#8217;t used that profile for anything besides testing facebook integration with <a href="http://mokocharlie.com" target="_blank">mokocharlie.com</a> version 3 (which is coming out soon by the way).</p>
<p>I decided then to try a cross between my twitter account and a blog in the present incarnation it&#8217;s a service called tumblr. I even altered my A record so that this blog was redirected to my tumblr blog. This infatuation lasted for all of 5 minutes playing around with it. What really turned me off the whole thing were the buttons on the top of the blog. They were constantly telling people to join tumblr or subscribe to my blog. I don&#8217;t mind having those buttons on my blog. I just want the option to do whatever I want with my page especially when it&#8217;s as <em>themable</em> as tumblr is. They even make your profile picture into a favicon and all that, I was impressed with the web 2.0 ruby on rails feel to the whole thing. I just wasn&#8217;t that sold&#8230;</p>
<p>Finally traded in my Wii, I love the machine and it works beautifully since the day I bought it (the day it was launched), I have had absolutely no issues with it at all. It&#8217;s been stable, fun and exhilarating. The problem I have with it though is that week in week out I see all these awesome titles released to the darkside (PS3 and XBox 360) and I feel like I&#8217;m missing out on all the action. I have always been a Nintendo fan and I believe if they were to release a higher spec version of the console that was actually able to compete with all those eye watering titles I will get myself one. For now however, I want to play some God Of War 3. And that&#8217;s not on the Wii nor on the XBox so it is with a saddened heart that I say this that I am looking to get a PS3 sometime over the next few days at the expense of my Wii &#8212; sad times.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kaning.co.uk/archives/196/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>a note on json_de/encode</title>
		<link>http://blog.kaning.co.uk/archives/193</link>
		<comments>http://blog.kaning.co.uk/archives/193#comments</comments>
		<pubDate>Mon, 14 Dec 2009 13:26:19 +0000</pubDate>
		<dc:creator>Kwabena Aning</dc:creator>
				<category><![CDATA[jquery]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[json]]></category>

		<guid isPermaLink="false">http://blog.kaning.co.uk/?p=193</guid>
		<description><![CDATA[I just thought I should quickly post this note simply because I know a few people might have problems with parsing it with the above functions. I would like first to say that json_encode and json_decode are PHP 5.2.0+ methods &#8230; <a href="http://blog.kaning.co.uk/archives/193">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I just thought I should quickly post this note simply because I know a few people might have problems with parsing it with the above functions.</p>
<p>I would like first to say that json_encode and json_decode are PHP 5.2.0+ methods of parsing and dealing with Javascript Simple Object Notation. basically looks a bit like this {&#8220;key&#8221;:&#8221;value&#8221;}. The idea is to be able to do useful things with objects like these and stepping through the key and value pairs while doing something with them.</p>
<p>The problem however is you sometimes get JSON sent as a string through an HTTP method like $_POST and the quotes in there are automatically (well in my case). escaped with backslashes like this {\&#8221;jsonkey\&#8221;:\&#8221;jsonvalue\&#8221;}. Before you actually call json_decode on your json data use the built in stripslashes function first. so your code should look like this in one line</p>
<p>$json_array = json_decode(stripslashes($jsonObject));</p>
<p>hope this helps someone.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kaning.co.uk/archives/193/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Simple Social Network Database Structure</title>
		<link>http://blog.kaning.co.uk/archives/183</link>
		<comments>http://blog.kaning.co.uk/archives/183#comments</comments>
		<pubDate>Fri, 27 Nov 2009 12:24:57 +0000</pubDate>
		<dc:creator>Kwabena Aning</dc:creator>
				<category><![CDATA[mokocharlie]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://blog.kaning.co.uk/?p=183</guid>
		<description><![CDATA[I am obviously not looking to build a second facebook or myspace or &#60;insert new web 2.0 social network name here&#62; but my idea is very simple for my mokocharlie.com market platform. We want to have traders who can network &#8230; <a href="http://blog.kaning.co.uk/archives/183">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I am obviously not looking to build a second facebook or myspace or &lt;insert new web 2.0 social network name here&gt; but my idea is very simple for my mokocharlie.com market platform. We want to have traders who can network with each other. Share ideas, messages and even advertisement credits. This idea obviously would require the use some sort of database infrastructure that can describe connections between two users at the most basic level.</p>
<p>The easiest way to do this would be to have as your first level, a user table, with all the user data for your purposes. Then the next thing would be to create another table for confirmed connections.</p>
<p>Then another table for pending connections. This will obviously hold your friend requests and so on and after they are confirmed, they are moved to the confirmed connections table. From where you can do all sorts of things.I am obviously not going to go into the internals of my market platform but the structure for the database could be as follows:</p>
<p>usertable<br />
user_id<br />
firstname<br />
lastname<br />
email<br />
password<br />
&#8230;<br />
user_verified</p>
<p>confirmed_connections<br />
connection_id<br />
user_id<br />
friend_id</p>
<p>pending_connections<br />
connection_id<br />
user_id<br />
friend_id</p>
<p>the details are really up to you as many roads lead to Rome, but one must of course make sure that the information is consistent. So that your application logic makes sure that the connections from pending&#8230; are moved to confirmed and not just copied or a user would have quite a few duplicate friends.</p>
<p>That&#8217;s my take on this, I am open to any other suggestions on making this better.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kaning.co.uk/archives/183/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Not So New Pet Project</title>
		<link>http://blog.kaning.co.uk/archives/180</link>
		<comments>http://blog.kaning.co.uk/archives/180#comments</comments>
		<pubDate>Thu, 26 Nov 2009 11:32:03 +0000</pubDate>
		<dc:creator>Kwabena Aning</dc:creator>
				<category><![CDATA[mokocharlie]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[web services]]></category>

		<guid isPermaLink="false">http://blog.kaning.co.uk/?p=180</guid>
		<description><![CDATA[It&#8217;s been so long posting on this blog that I had even almost forgotten the username and password to log into this wordpress dashboard. Having said that, I am settling into this new job and also trying to juggle a &#8230; <a href="http://blog.kaning.co.uk/archives/180">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been so long posting on this blog that I had even almost forgotten the username and password to log into this wordpress dashboard. Having said that, I am settling into this new job and also trying to juggle a few things.</p>
<p>Mokocharlie market is on top of my &#8220;things-to-do-in-my-free-time&#8221; pile right now. Merging lots of PHP and jQuery, i&#8217;m trynig to build an intuitive interface for our mokocharlie market/ad service platform. It works like a social platform where people post ads that appear on the mokocharlie.com website. This by no means is fully integrated yet and there are still lots of platform issues and policies to sort out, but this will come with time.</p>
<p>At the moment ads are placed by the website administrator and that is far from ideal as we will need a solid payment, heirarchy, and scheduling system for our advertisements.</p>
<p>I was also at the Queen Mary&#8217;s College, of the University of London last night for an open evening. Currently thinking seriously about a PhD next year and apparently you have to start making tracks now. Will look into Birkbeck&#8217;s programme this evening as well as they also have an open evening.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kaning.co.uk/archives/180/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Calling all SQLite people</title>
		<link>http://blog.kaning.co.uk/archives/177</link>
		<comments>http://blog.kaning.co.uk/archives/177#comments</comments>
		<pubDate>Tue, 20 Oct 2009 09:54:33 +0000</pubDate>
		<dc:creator>Kwabena Aning</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[web services]]></category>
		<category><![CDATA[mokocharlie]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[sqlite]]></category>

		<guid isPermaLink="false">http://blog.kaning.co.uk/?p=177</guid>
		<description><![CDATA[I am looking to migrate my project data from MySQL to SQLite because I want it more portable and so on and so forth. I however want some inside information on SQLite and how it runs. I have been looking &#8230; <a href="http://blog.kaning.co.uk/archives/177">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I am looking to migrate my project data from MySQL to SQLite because I want it more portable and so on and so forth.</p>
<p>I however want some inside information on SQLite and how it runs. I have been looking at some of the SQLite documentation and I must be honest I have been lazy about it.</p>
<p>At the moment I would like to know about how much data I can actually store in an SQLite database, and also how it handles different datatypes and finally does it have any built-in injection safeguards?</p>
<p>Also, I would like to know which version to use as a PHP/Python developer. I understand you need to access SQLite3 through something called PDO. In short is there an easy to follow tutorial or document on PHP and SQLite like <a href="http://www.devshed.com/c/a/PHP/Introduction-to-Using-SQLite-with-PHP-5/" target="_blank">this one</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kaning.co.uk/archives/177/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The search for PHP IDEs</title>
		<link>http://blog.kaning.co.uk/archives/161</link>
		<comments>http://blog.kaning.co.uk/archives/161#comments</comments>
		<pubDate>Mon, 13 Jul 2009 12:09:33 +0000</pubDate>
		<dc:creator>Kwabena Aning</dc:creator>
				<category><![CDATA[django]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[web services]]></category>

		<guid isPermaLink="false">http://blog.kaning.co.uk/?p=161</guid>
		<description><![CDATA[A short while ago I wrote about using Netbeans for my PHP development. I have been using it for a while until 1) the linux version of Netbeans begun hanging in mid code. I got quickly tired of the inconsistencies &#8230; <a href="http://blog.kaning.co.uk/archives/161">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A short while ago I wrote about using Netbeans for my PHP development. I have been using it for a while until 1) the linux version of Netbeans begun hanging in mid code. </p>
<p>I got quickly tired of the inconsistencies between the windows versions and linux versions as I end up coding on both platforms. </p>
<p>Enter Aptana the IDE built specifically for dynamic scripted languages like PHP, ruby, python and such. Basically my neck of the woods. Aptana is about as heavy as netbeans as it is built on the eclipse platform. But the feature set in this IDE more than makes up for the weight of it.</p>
<p>It integrates nicely with my SSH, SVN, and FTP servers, which I basically need for my access, sync, and upload requirements respectively for most of my projects.</p>
<p>I am going to try this one out as well and see how it pans out. I am already impressed with it’s performance and feature set, so keep it tuned in for how it pans out.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kaning.co.uk/archives/161/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

