<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Code is my bond</title>
	<atom:link href="http://phlexdev.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://phlexdev.wordpress.com</link>
	<description>A software engineers views</description>
	<lastBuildDate>Thu, 24 Nov 2011 11:44:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='phlexdev.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Code is my bond</title>
		<link>http://phlexdev.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://phlexdev.wordpress.com/osd.xml" title="Code is my bond" />
	<atom:link rel='hub' href='http://phlexdev.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Good Programming Practices</title>
		<link>http://phlexdev.wordpress.com/2010/06/11/good-programming-practices/</link>
		<comments>http://phlexdev.wordpress.com/2010/06/11/good-programming-practices/#comments</comments>
		<pubDate>Fri, 11 Jun 2010 10:31:59 +0000</pubDate>
		<dc:creator>phlexdev</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://phlexdev.wordpress.com/?p=36</guid>
		<description><![CDATA[Programming is hard. OK, maybe not. Still, there are a number of principles and practices that I have found to be quite useful over the years when writing cleaner, less buggier code that is easier to reuse, test and deploy. Externalize environment-dependent and dynamic parameters. These include database parameters, system paths, say, to the report [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=phlexdev.wordpress.com&amp;blog=7932401&amp;post=36&amp;subd=phlexdev&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:center;"><a href="http://www.sxc.hu/pic/m/g/ge/gerard79/1151540_digicity_1.jpg"><img class=" aligncenter" title="Code Stack" src="http://www.sxc.hu/pic/m/g/ge/gerard79/1151540_digicity_1.jpg" alt="http://www.sxc.hu/pic/m/g/ge/gerard79/1151540_digicity_1.jpg" width="180" height="135" /></a></p>
<p>Programming is hard. OK, maybe not. Still, there are a number of principles and practices that I have found to be quite useful over the years when writing cleaner, less buggier code that is easier to reuse, test and deploy.</p>
<ol>
<li><strong>Externalize environment-dependent and dynamic parameters. </strong>These include database parameters, system paths, say, to the report folder or the tomcat server location, mail host parameters,&#8230; Doing this when working as a team ensures minimum changes to the code base for machine dependent changes. You may also create several properties files for the development, staging, and testing environments, and even for different operating systems, such as Windows and Linux.</li>
<li><strong>Source Code Versioning: </strong>Be it Subversion or Git, these tools help work collaboratively without stepping over each others code, and when that happens, resolving the differences without losing the changes is smooth. It also works as a history stack, such that you can refer back to some changes you made in the past, or even revert to that version of the code.</li>
<li><strong>Separation of tiers</strong>: Structure your code such that there is a clear separation between the business logic, the view(what the user sees), and the database access functionality. This really helps with maintenance. One can also work on any of the layers without altering the other. The Model View Presenter(MVP), Model View Controller (MVC) frameworks do a great job in assisting with that.</li>
<li><strong>OOP: </strong>Applying OOP concepts can greatly reduce the time it takes to develop a program, and also help in writing consistent code. Consider a scenario whereby you have several files that perform a repetitive task, such as pagination of records. Writing an interface that is implemented by these files ensures that you do a good job. Write abstract classes that handle common functions, such as creating the logger, or holds common properties and methods, such as the pagination handling.</li>
<li><strong>Testing: </strong>Easymock, JUnit, DBunit are all good guys in assisting with that.</li>
</ol>
<p>These are just some of the patterns/tools that I find useful in increasing my efficiency when punching away at those keys.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/phlexdev.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/phlexdev.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/phlexdev.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/phlexdev.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/phlexdev.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/phlexdev.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/phlexdev.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/phlexdev.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/phlexdev.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/phlexdev.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/phlexdev.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/phlexdev.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/phlexdev.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/phlexdev.wordpress.com/36/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=phlexdev.wordpress.com&amp;blog=7932401&amp;post=36&amp;subd=phlexdev&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://phlexdev.wordpress.com/2010/06/11/good-programming-practices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5bbd44122530599dcad2bb544e7e3196?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">phlexdev</media:title>
		</media:content>

		<media:content url="http://www.sxc.hu/pic/m/g/ge/gerard79/1151540_digicity_1.jpg" medium="image">
			<media:title type="html">Code Stack</media:title>
		</media:content>
	</item>
		<item>
		<title>My Favorite Firefox Add-ons</title>
		<link>http://phlexdev.wordpress.com/2010/02/03/my-favorite-firefox-add-ons/</link>
		<comments>http://phlexdev.wordpress.com/2010/02/03/my-favorite-firefox-add-ons/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 08:37:02 +0000</pubDate>
		<dc:creator>phlexdev</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://phlexdev.wordpress.com/?p=31</guid>
		<description><![CDATA[I have been using Firefox for quite a while now. Here is a listing of my favorite add-ons: Flashgot: I use this the most. The addon enables me to download files using Flashget download manager. Flashgot also supports other download managers, and also lumps up multiple links for quick download. Firebug: Being a software engineer, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=phlexdev.wordpress.com&amp;blog=7932401&amp;post=31&amp;subd=phlexdev&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have been using Firefox for quite a while now. Here is a listing of my favorite add-ons:</p>
<ul>
<li>Flashgot: I use this the most. The addon enables me to download files using Flashget download manager. Flashgot also supports other download managers, and also lumps up multiple links for quick download.</li>
<li>Firebug: Being a software engineer, this is add-on is quite handy during design for testing the CSS attributes, checking data transfer responses such as AJAX requests to and from the server, and doing DOM manipulation using Javascript.</li>
<li>Tab Mix Plus: Does a nice job of managing my tabs, such as duplicating, recovering closed ones, moving to new window, merging windows, highlighting unread tabs,&#8230;</li>
<li>PDF Download: Helps manage PDF documents, presenting download options or view on the web.</li>
<li>Xmarks:  Synchronize my bookmarks across multiple computers</li>
<li>DownloadHelper: Auto-detects video files (such as Youtube clips) on the page and enables download using an external download manager. Works well with Flashgot to help download the clip using Flashget download manager.</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/phlexdev.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/phlexdev.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/phlexdev.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/phlexdev.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/phlexdev.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/phlexdev.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/phlexdev.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/phlexdev.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/phlexdev.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/phlexdev.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/phlexdev.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/phlexdev.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/phlexdev.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/phlexdev.wordpress.com/31/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=phlexdev.wordpress.com&amp;blog=7932401&amp;post=31&amp;subd=phlexdev&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://phlexdev.wordpress.com/2010/02/03/my-favorite-firefox-add-ons/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5bbd44122530599dcad2bb544e7e3196?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">phlexdev</media:title>
		</media:content>
	</item>
		<item>
		<title>How to Buy Safaricom Data Bundles</title>
		<link>http://phlexdev.wordpress.com/2009/11/27/how-to-buy-safaricom-data-bundles/</link>
		<comments>http://phlexdev.wordpress.com/2009/11/27/how-to-buy-safaricom-data-bundles/#comments</comments>
		<pubDate>Fri, 27 Nov 2009 15:33:05 +0000</pubDate>
		<dc:creator>phlexdev</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Safaricom]]></category>

		<guid isPermaLink="false">http://phlexdev.wordpress.com/?p=26</guid>
		<description><![CDATA[To enquire for the details, send a blank SMS to 450. Here&#8217;s the response. To buy a data bundle send an empty sms to: 442 for 40MB @ksh 250, 443 for 100MB @ksh 499, 446 for 300MB @ksh 999, 447 for 700MB @ksh 1,999 448 for 1GB @ksh 2,499 The money is automatically deducted from [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=phlexdev.wordpress.com&amp;blog=7932401&amp;post=26&amp;subd=phlexdev&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>To enquire for the details, send a blank SMS to 450. Here&#8217;s the response.</p>
<p>To buy a data bundle send an empty sms to:</p>
<ul>
<li>442 for 40MB @ksh 250,</li>
<li>443 for 100MB @ksh 499,</li>
<li>446 for 300MB @ksh 999,</li>
<li>447 for 700MB @ksh 1,999</li>
<li>448 for 1GB @ksh 2,499</li>
</ul>
<p>The money is automatically deducted from your airtime, and you will get a confirmation message confirming the success of your transaction. Oh, and it might be wise to disable automatic updates before connecting to the internet, otherwise your bundle will be used up in a flash.</p>
<p>To check the balance, SMS the word <em>Balance </em>to 450.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/phlexdev.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/phlexdev.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/phlexdev.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/phlexdev.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/phlexdev.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/phlexdev.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/phlexdev.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/phlexdev.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/phlexdev.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/phlexdev.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/phlexdev.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/phlexdev.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/phlexdev.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/phlexdev.wordpress.com/26/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=phlexdev.wordpress.com&amp;blog=7932401&amp;post=26&amp;subd=phlexdev&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://phlexdev.wordpress.com/2009/11/27/how-to-buy-safaricom-data-bundles/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5bbd44122530599dcad2bb544e7e3196?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">phlexdev</media:title>
		</media:content>
	</item>
		<item>
		<title>Top Sites in Kenya</title>
		<link>http://phlexdev.wordpress.com/2009/11/24/top-sites-in-kenya/</link>
		<comments>http://phlexdev.wordpress.com/2009/11/24/top-sites-in-kenya/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 12:12:11 +0000</pubDate>
		<dc:creator>phlexdev</dc:creator>
				<category><![CDATA[Kenya]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ext Js]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Mootools]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Prototype.js]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Capital FM]]></category>
		<category><![CDATA[Haiya]]></category>
		<category><![CDATA[Safaricom]]></category>

		<guid isPermaLink="false">http://phlexdev.wordpress.com/?p=3</guid>
		<description><![CDATA[The fiber optics connections to Asia(Seacom and TEAMS) finally arrived in Kenya. Question is, what technologies are used by the websites that receive the highest hits? I decided to do some digging, and here is a quick snapshot of the results based on Alexa: Site Server Side Lang. CMS CSS Javascript Daily Nation - - [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=phlexdev.wordpress.com&amp;blog=7932401&amp;post=3&amp;subd=phlexdev&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><!-- 		@page { margin: 0.79in } 		P { margin-bottom: 0.08in } -->The fiber optics connections to Asia(Seacom and TEAMS) finally arrived in Kenya. Question is, what technologies are used by the websites that receive the highest hits? I decided to do some digging, and here is a quick snapshot of the results based on <a href="http://www.alexa.com/topsites/countries/KE">Alexa</a>:</p>
<table>
<tbody>
<tr>
<th>Site</th>
<th>Server Side Lang.</th>
<th>CMS</th>
<th>CSS</th>
<th>Javascript</th>
</tr>
<tr>
<td><a href="http://www.nation.co.ke/">Daily Nation</a></td>
<td>-</td>
<td>-</td>
<td>YAML framework</td>
<td>Mootools<br />
plugin_js</td>
</tr>
<tr>
<td><a href="http://home.co.ke/">@Home Portal Kenya</a></td>
<td>PHP</td>
<td>Joomla</td>
<td>-</td>
<td>Mootools</td>
</tr>
<tr>
<td><a href="http://standardmedia.co.ke/">Standard Media</a></td>
<td>PHP</td>
<td>-</td>
<td align="left">Dynamic Drive DHTML code library</td>
<td>-</td>
</tr>
<tr>
<td><a href="http://capitalfm.co.ke/">Capital FM</a></td>
<td>PHP</td>
<td>-</td>
<td>-</td>
<td align="left">Prototype<br />
Scriptaculous<br />
Mioplanet News Ticker<br />
Google Maps integration</td>
</tr>
<tr>
<td><a href="http://www.patauza.co.ke/">PataUza</a></td>
<td>PHP</td>
<td>-</td>
<td>-</td>
<td>-</td>
</tr>
<tr>
<td><a href="http://safaricom.co.ke/">Safaricom</a></td>
<td>PHP</td>
<td>-</td>
<td>-</td>
<td>-</td>
</tr>
<tr>
<td><a href="http://haiya.co.ke/">Haiya</a></td>
<td>PHP</td>
<td>Drupal</td>
<td>-</td>
<td>jQuery</td>
</tr>
</tbody>
</table>
<p>Clearly, PHP currently rules on the server side, possibly because of its cost implications and the availability of quality CMS with which it easily integrates. I expect to see more of ASP and Ruby based sites as the developer community grows.</p>
<p>Exploitation of available Javascript utilities is limited, with jQuery and Mootools being used to add a few effects for the menus. I would expect more sites to have AJAX to enrich the user experience using such libraries as Ext Js or even Prototype.js.</p>
<p>As far as the duel between Adobe Flex and Microsoft Silverlight is concerned, no front runners have emerged so far.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/phlexdev.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/phlexdev.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/phlexdev.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/phlexdev.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/phlexdev.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/phlexdev.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/phlexdev.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/phlexdev.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/phlexdev.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/phlexdev.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/phlexdev.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/phlexdev.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/phlexdev.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/phlexdev.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=phlexdev.wordpress.com&amp;blog=7932401&amp;post=3&amp;subd=phlexdev&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://phlexdev.wordpress.com/2009/11/24/top-sites-in-kenya/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5bbd44122530599dcad2bb544e7e3196?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">phlexdev</media:title>
		</media:content>
	</item>
	</channel>
</rss>
