<?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>DuroSoft</title>
	<atom:link href="http://durosoft.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://durosoft.net</link>
	<description>The Internet Company</description>
	<lastBuildDate>Thu, 01 Oct 2009 16:11:45 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Mariner Enterprise Ltd.</title>
		<link>http://durosoft.net/mariner-enterprise/</link>
		<comments>http://durosoft.net/mariner-enterprise/#comments</comments>
		<pubDate>Tue, 28 Jul 2009 03:37:23 +0000</pubDate>
		<dc:creator>Ei Maung</dc:creator>
				<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://durosoft.net/?p=125</guid>
		<description><![CDATA[Duis eu leo eget sapien varius tristique. Donec quis lacinia ante. Pellentesque libero ante, malesuada sit amet luctus non, condimentum non lorem. Pellentesque mollis suscipit faucibus! In in augue a velit suscipit pellentesque in eu lacus. Etiam eu turpis quis lectus sodales feugiat. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam libero nulla, hendrerit [...]]]></description>
			<content:encoded><![CDATA[<p>Duis eu leo eget sapien varius tristique. Donec quis lacinia ante. Pellentesque libero ante, malesuada sit amet luctus non, condimentum non lorem. Pellentesque mollis suscipit faucibus! In in augue a velit suscipit pellentesque in eu lacus. Etiam eu turpis quis lectus sodales feugiat. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam libero nulla, hendrerit eu auctor vitae, porta eget dui. Donec vestibulum fringilla diam vel convallis. Suspendisse quis quam a lorem ultrices rhoncus nec non metus. In a purus purus, et luctus tortor. Nulla egestas malesuada augue in iaculis.</p>
<p>Quisque eu tincidunt neque. Duis venenatis aliquam tortor, a accumsan elit fringilla sit amet. Pellentesque tempus, turpis sagittis rutrum adipiscing, nisi felis dapibus nisl, vel mollis purus ipsum vel arcu. Nullam porttitor, mi at hendrerit pellentesque, libero tellus iaculis leo, ac volutpat lectus magna at justo? Etiam sagittis, eros vitae tincidunt tempor, nisi diam ultrices purus, sit amet semper purus orci vel enim. Nulla non elit enim. Donec sem orci, mattis eleifend pharetra ut, vehicula sed ante. Nam sem tellus, malesuada id posuere at, hendrerit id velit! Etiam accumsan interdum ligula fermentum semper. Vestibulum consequat mattis massa, vitae aliquam elit vestibulum a. In hac habitasse platea dictumst. Cras tempor convallis sapien, eget posuere libero venenatis sit amet. Aenean consequat sem vitae massa elementum in tempor justo sollicitudin. Donec tempus varius leo, non pellentesque nibh eleifend eu.</p>
<p>Nullam vel urna mauris. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque lobortis rutrum risus a volutpat. Nulla convallis commodo tortor, ut imperdiet elit interdum non. Donec ultricies congue arcu at varius. Vestibulum ut velit elit. Integer auctor est a ante blandit sed posuere diam dapibus. Quisque quis velit mauris. Pellentesque auctor elit porttitor tellus porta sit amet vulputate est tincidunt. Phasellus ac nulla et lacus consectetur fringilla. Sed accumsan odio semper lacus adipiscing molestie. Vivamus porta magna vitae mi rutrum semper. Donec et massa eget ipsum euismod ultricies at a odio. Vestibulum sit amet aliquam nisl. Maecenas eget nisl augue, non sodales nulla. Donec a vulputate nibh. Phasellus a diam auctor mauris hendrerit lacinia in quis dolor? Curabitur sollicitudin molestie felis a gravida?</p>
]]></content:encoded>
			<wfw:commentRss>http://durosoft.net/mariner-enterprise/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Medical Expert System</title>
		<link>http://durosoft.net/medical-expert-system/</link>
		<comments>http://durosoft.net/medical-expert-system/#comments</comments>
		<pubDate>Sun, 26 Jul 2009 05:58:42 +0000</pubDate>
		<dc:creator>Ei Maung</dc:creator>
				<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://durosoft.net/?p=121</guid>
		<description><![CDATA[Nam nec nisl velit, a commodo orci! Nam ultricies, leo sed sagittis ornare; leo magna aliquam massa, id accumsan nulla massa vel sapien. Fusce quam orci, tincidunt mattis rutrum ullamcorper, placerat quis dolor. Quisque ultricies, lectus eu placerat interdum, velit orci accumsan elit, eget varius sem risus sit amet orci. Ut nec massa massa. Quisque [...]]]></description>
			<content:encoded><![CDATA[<p>Nam nec nisl velit, a commodo orci! Nam ultricies, leo sed sagittis ornare; leo magna aliquam massa, id accumsan nulla massa vel sapien. Fusce quam orci, tincidunt mattis rutrum ullamcorper, placerat quis dolor. Quisque ultricies, lectus eu placerat interdum, velit orci accumsan elit, eget varius sem risus sit amet orci. Ut nec massa massa. Quisque interdum placerat ligula, ac tincidunt erat ullamcorper eu? Proin ut nisi felis. Nulla ac felis at nunc accumsan ullamcorper. Phasellus sit amet massa sit amet nisl aliquam ornare. In nec nulla libero; quis condimentum lectus. Curabitur consequat elementum enim, vel pretium lacus aliquet vel. Nullam dui mauris, placerat nec vestibulum sollicitudin, dapibus vel eros. Nullam eu diam mauris. Vestibulum nisl purus, venenatis a cursus eget, egestas porta nisi.</p>
<p>Quisque ut nisi id nulla rhoncus congue. Phasellus nec nisl eu diam auctor fringilla. Nulla facilisi. Praesent mi diam, fringilla vitae feugiat ornare, tristique sed tortor. Vestibulum tincidunt, turpis quis rhoncus rhoncus, dui sem dignissim ipsum, quis congue mi augue quis elit. Vivamus vitae tellus vitae ligula tempor hendrerit sed id dui. Aenean lectus neque, mattis sed venenatis quis, laoreet tincidunt ligula. Ut sed ultrices enim. Suspendisse sagittis, mauris sit amet pharetra varius, mauris tortor facilisis libero, et dapibus felis arcu ut libero. Aenean ultrices malesuada ullamcorper. In faucibus justo faucibus leo venenatis lacinia. Nunc vitae orci sed nisi rutrum varius sit amet at turpis? Cras ornare ornare scelerisque. Curabitur interdum blandit sem, varius pretium justo eleifend nec. Pellentesque elementum laoreet purus vel pharetra! Nulla ipsum sapien; tristique sit amet rutrum ut, vestibulum ac nisl. Vivamus ante nisi, volutpat quis interdum et, pharetra nec diam. Donec euismod elit pretium dolor elementum ut sodales velit tempor. Integer aliquet massa id nisi dictum posuere.</p>
<p>Etiam sed ligula et purus mollis mattis? Suspendisse potenti. Nullam aliquet iaculis mi at vestibulum. Nullam odio nisl, pellentesque ut sagittis vel, hendrerit nec mauris! Integer feugiat lectus ac lacus mattis convallis. Duis ut erat non justo commodo pulvinar. Maecenas odio tortor, commodo ut convallis tincidunt, cursus a nisi. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nulla malesuada nisl vel tortor sollicitudin et placerat mi mollis! Praesent viverra nunc lorem, non imperdiet lectus. Integer ut ligula in felis elementum pharetra et non enim.</p>
]]></content:encoded>
			<wfw:commentRss>http://durosoft.net/medical-expert-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nikon Myanmar Fans</title>
		<link>http://durosoft.net/nikon-myanmar-fans/</link>
		<comments>http://durosoft.net/nikon-myanmar-fans/#comments</comments>
		<pubDate>Fri, 24 Jul 2009 03:41:09 +0000</pubDate>
		<dc:creator>Ei Maung</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://durosoft.net/?p=114</guid>
		<description><![CDATA[The recent boom in DSLR sales has seen all the major manufacturers adding bulked-up or stripped-down entry level models, repositioning their offerings to make sure that anyone willing to put up with the size and weight of a DSLR will look at one of their models. The whole thing has often left existing DSLR owners [...]]]></description>
			<content:encoded><![CDATA[<p>The recent boom in DSLR sales has seen all the major manufacturers adding bulked-up or stripped-down entry level models, repositioning their offerings to make sure that anyone willing to put up with the size and weight of a DSLR will look at one of their models. The whole thing has often left existing DSLR owners a little lost &#8211; &#8216;why isn&#8217;t there a direct replacement for my camera?&#8217; &#8211; but has undoubtedly meant there are many more attractive, accessible cameras on the market just waiting to entice first-time DSLR owners.</p>
<p>And its into this maelstrom of DSLR proliferation that Nikon launches its latest baby DSLR, the D5000. The name will come as no surprise to anyone within earshot of the rumor mill but the camera itself may present some more surprises. Having confused many people but made huge ground with its simplified D40 and D60 range, it appears Nikon has again decided that simply replacing models isn&#8217;t the best way to address the market. So here we have a camera that genuinely seems to sit above the D60 (rather than continuing in parallel until the stock runs out), and below the D90. Like the baby Nikons, the D5000 doesn&#8217;t have an autofocus motor built into the body but does gain a tilt-and-swivel LCD, as a series of leaked images that have made their way around the internet would have you expect.</p>
]]></content:encoded>
			<wfw:commentRss>http://durosoft.net/nikon-myanmar-fans/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating Action Controller in PHP</title>
		<link>http://durosoft.net/creating-action-controller-in-php/</link>
		<comments>http://durosoft.net/creating-action-controller-in-php/#comments</comments>
		<pubDate>Sun, 19 Jul 2009 09:02:43 +0000</pubDate>
		<dc:creator>Ei Maung</dc:creator>
		
		<guid isPermaLink="false">http://durosoft.net/?p=94</guid>
		<description><![CDATA[We could handle actions in PHP like this&#8230;
&#60;?php
$actions = $_GET['action'];
switch( $actions ) {
case &#8216;hello&#8217;:
say_hello();
break;
case &#8216;bonjour&#8217;:
say_bonjour();
break;
default:
echo &#8216;Unknown action &#8216;.$actions;
}
&#8230;
?&#62;
But this way is hard to extend and hard to maintain. How about adding say_konichiwa() action? We need to add a function and need to add a case in switch statement. For database management system, we need at [...]]]></description>
			<content:encoded><![CDATA[<p>We could handle actions in PHP like this&#8230;</p>
<div style="font-family:'Courier 10 Pitch', 'Courier New';font-size:11px;border:1px solid gray;margin:10px;padding:4px;"><strong>&lt;?php</strong></p>
<p style="padding-left:30px;"><span style="color:#3366ff;">$actions</span> = <strong>$_GET</strong>[<span style="color:#008000;">'action'</span>];</p>
<p style="padding-left:30px;"><span style="color:#ff6600;">switch</span>( <span style="color:#3366ff;">$actions</span> ) {</p>
<p style="padding-left:60px;"><span style="color:#ff6600;">case</span> <span style="color:#008000;">&#8216;hello&#8217;</span>:</p>
<p style="padding-left:90px;">say_hello();</p>
<p style="padding-left:60px;"><span style="color:#ff6600;">break;</span></p>
<p style="padding-left:60px;"><span style="color:#ff6600;">case</span> <span style="color:#008000;">&#8216;bonjour&#8217;</span>:</p>
<p style="padding-left:90px;">say_bonjour();</p>
<p style="padding-left:60px;"><span style="color:#ff6600;">break;</span></p>
<p style="padding-left:60px;"><span style="color:#ff6600;">default:</span></p>
<p style="padding-left:90px;"><strong>echo</strong> <span style="color:#008000;">&#8216;Unknown action &#8216;</span>.<span style="color:#3366ff;">$actions</span>;</p>
<p style="padding-left:30px;">}</p>
<p style="padding-left:30px;">&#8230;</p>
<p><strong>?&gt;</strong></div>
<p>But this way is hard to extend and hard to maintain. How about adding say_konichiwa() action? We need to add a <em>function</em> and need to add a <em>case</em> in switch statement. For database management system, we need at least 6 actions. Show List View, Add New, Show, Edit, Update and Delete. If we put all those actions to one page like about example, it will be ugly and hard to read. And, we definitely will need to add another action.</p>
<p>We could make Ruby on Rails style Action Controller in easy way. First we need to create .htaccess for RESTful url.</p>
<p><strong>.htaccess</strong></p>
<div style="font-family:'Courier 10 Pitch', 'Courier New';font-size:11px;border:1px solid gray;margin:10px;padding:4px;">RewriteEngine on<br />
RewriteRule ^action/([a-z0-9\-\_]*)$ index.php?do=$1 [NC]<br />
RewriteRule ^action/([a-z0-9\-\_]*)/$ index.php?do=$1 [NC]</div>
<p>Then, we need to create three scripts. <strong>index.php</strong>, <strong>actions.php </strong>and<strong> action_controller.php</strong>.</p>
<p><strong>index.php</strong></p>
<div style="font-family:'Courier 10 Pitch', 'Courier New';font-size:11px;border:1px solid gray;margin:10px;padding:4px;"><strong>&lt;?php</strong> <span style="color:#ff6600;">include</span>(<span style="color:#008000;">&#8216;actions.php&#8217;</span>); <strong>?&gt;</strong><br />
<span style="color:#0000ff;">&lt;html&gt;</span></p>
<p style="padding-left:30px;"><span style="color:#0000ff;">&lt;head&gt;&lt;title&gt;</span>Index<span style="color:#0000ff;">&lt;/title&gt;&lt;/head&gt;</span></p>
<p style="padding-left:30px;"><span style="color:#0000ff;">&lt;body&gt;</span><strong>&lt;?php</strong> actions(); <strong>?&gt;</strong><span style="color:#0000ff;">&lt;/body&gt;</span></p>
<p><span style="color:#0000ff;">&lt;/html&gt; </span></div>
<p><strong>actions.php</strong></p>
<div style="font-family:'Courier 10 Pitch', 'Courier New';font-size:11px;border:1px solid gray;margin:10px;padding:4px;"><strong>&lt;?php</strong></p>
<p style="padding-left:30px;"><span style="color:#ff6600;">include</span>(<span style="color:#008000;">&#8216;action_controller.php&#8217;</span>);</p>
<p style="padding-left:30px;"><span style="color:#ff6600;">function</span> say_hello(){</p>
<p style="padding-left:60px;">echo <span style="color:#008000;">&#8216;Hello World!&#8217;</span>;</p>
<p style="padding-left:30px;">}</p>
<p style="padding-left:30px;"><span style="color:#ff6600;">function</span> say_bonjour(){</p>
<p style="padding-left:60px;">echo <span style="color:#008000;">&#8216;BONJOUR !!!&#8217;</span>;</p>
<p style="padding-left:30px;">}</p>
<p><strong>?&gt; </strong></div>
<p><strong>action_controller.php</strong> (<em>the trick</em>)</p>
<div style="font-family:'Courier 10 Pitch', 'Courier New';font-size:11px;border:1px solid gray;margin:10px;padding:4px;"><strong>&lt;?php</strong></p>
<p style="padding-left:30px;"><span style="color:#ff6600;">function</span> actions(){</p>
<p style="padding-left:60px;"><span style="color:#3366ff;">$action</span> = <strong>$_GET</strong>[<span style="color:#008000;">'do'</span>];</p>
<p style="padding-left:60px;"><span style="color:#ff6600;">if</span>(<span style="color:#3366ff;">$action</span> == <span style="color:#008000;">&#8221;</span>){</p>
<p style="padding-left:90px;"><span style="color:#ff6600;">if</span>(function_exists(<span style="color:#008000;">&#8216;index&#8217;</span>)){</p>
<p style="padding-left:120px;">index();</p>
<p style="padding-left:90px;">} <span style="color:#ff6600;">else</span> {</p>
<p style="padding-left:120px;">echo <span style="color:#008000;">&#8216;There is no index action !&#8217;</span>;</p>
<p style="padding-left:90px;">}</p>
<p style="padding-left:60px;">} <span style="color:#ff6600;">else</span> {</p>
<p style="padding-left:90px;"><span style="color:#ff6600;">if</span>(function_exists(<span style="color:#3366ff;">$action</span>)){</p>
<p style="padding-left:120px;"><em><span style="color:#808080;">//calling function same name with <span style="text-decoration: underline;">$action</span></span></em></p>
<p style="padding-left:120px;"><span style="color:#3366ff;">$action</span>();<em> </em></p>
<p style="padding-left:90px;">} <span style="color:#ff6600;">else</span> {</p>
<p style="padding-left:120px;">echo <span style="color:#008000;">&#8216;Unknown Action &#8216;</span>.<span style="color:#3366ff;">$action</span>;</p>
<p style="padding-left:90px;">}</p>
<p style="padding-left:60px;">}</p>
<p style="padding-left:30px;">}</p>
<p><strong>?&gt; </strong></div>
<p>That all&#8230;</p>
<p>Now, we can access our say_hello actions with&#8230;</p>
<div style="font-family:'Courier 10 Pitch', 'Courier New';font-size:11px;border:1px solid gray;margin:10px;padding:4px;">http://domain/project-dir/<span style="color:#008000;">action</span>/<span style="color:#ff6600;">say_hello</span>/</div>
<p>If we want to add say_konichiwa action, we can simply put say_konichiwa function to <strong>actions.php</strong> and we can call our action from browser with (<em> http://domain/project-dir/<span style="color:#008000;">action</span>/<span style="color:#ff6600;">say_konichiwa</span></em> ). That is easy to maintain, easy to extend and nice (i think <img src='http://durosoft.net/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> ).</p>
<p>Have a nice day&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://durosoft.net/creating-action-controller-in-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Differences between SESSION and COOKIE</title>
		<link>http://durosoft.net/differences-between-session-and-cookie/</link>
		<comments>http://durosoft.net/differences-between-session-and-cookie/#comments</comments>
		<pubDate>Sun, 19 Jul 2009 08:47:41 +0000</pubDate>
		<dc:creator>Ei Maung</dc:creator>
		
		<guid isPermaLink="false">http://durosoft.net/?p=87</guid>
		<description><![CDATA[In my previous post, I wrote about breaking the rule in using requests. How many things we are not clearly understood in web standard? This time, I try to learn another standard. What is difference between SESSION and COOKIE? I thought I knew it, but actually not. I made some Googling. And here are the [...]]]></description>
			<content:encoded><![CDATA[<p>In my previous post, I wrote about <a title="The Problem with GET Requests" href="http://eimg.wordpress.com/2007/11/29/the-problem-with-get-requests/">breaking the rule in using requests</a>. How many things we are not clearly understood in web standard? This time, I try to learn another standard. What is difference between SESSION and COOKIE? I thought I knew it, but actually not. I made some Googling. And here are the resultsâŠ</p>
<p><strong><a title="Hypertext Transfer Protocol" href="http://en.wikipedia.org/wiki/HTTP">HTTP</a> is a <a title="stateless server" href="http://en.wikipedia.org/wiki/Stateless_server">stateless</a> protocol</strong></p>
<blockquote><p>HTTP is stateless protocol. A stateless server is a serve that treats each request as an independent transaction that is unrelated to any previous request.</p></blockquote>
<p>That mean, the request you make doesnât associate in any way with the previous one. So, how about the request we want to make frequently, like user name or id? As you know, we could store our data in COOKIE. When we store data in COOKIE, the browser will send the cookie data to server for each request. We already could use SESSION for this kind of task. So, what is difference between SESSION and COOKIE?</p>
<p><strong>COOKIE</strong><br />
A cookie is a text-only string that takes a place in the memory of userâs browser. If the lifetime of the cookie is set to be longer than the time user spends at that site, then this string is saved to file for future reference. User could be disabled the cookie in their browser setting.</p>
<p><strong>SESSION</strong><br />
Session values are store in server side not in userâs machine. A session is available as long as the browser is opened. User couldnât be disabled the session. We could store not only strings but also objects in session.</p>
<p><strong>The Differences</strong><br />
We got three differences in general. The key difference would be cookies are stored in client side and sessions are stored in server side. The second difference would be cookies can only store strings. We can store our objects in sessions. Storing objects in sessions were really useful according to my experience. Another difference was that we could be save cookie for future reference, but session couldnât. When users close their browser, they also lost the session.</p>
]]></content:encoded>
			<wfw:commentRss>http://durosoft.net/differences-between-session-and-cookie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
