<?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>Decos Blog</title>
	<atom:link href="http://www.decossoftdev.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.decossoftdev.com/blog</link>
	<description>Outsourced product development company in India</description>
	<lastBuildDate>Mon, 14 Mar 2011 10:48:28 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>WordPress Custom Post Type Creation</title>
		<link>http://www.decossoftdev.com/blog/wordpress-custom-post-type-creation/</link>
		<comments>http://www.decossoftdev.com/blog/wordpress-custom-post-type-creation/#comments</comments>
		<pubDate>Mon, 14 Mar 2011 10:48:28 +0000</pubDate>
		<dc:creator>anand</dc:creator>
				<category><![CDATA[Open source]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[custom]]></category>
		<category><![CDATA[post]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.decossoftdev.com/blog/?p=175</guid>
		<description><![CDATA[the most exciting features coming in WordPress 3.0 is custom post types, which will vastly expand WordPress’ CMS capabilities. This feature will come handy especially when using WordPress as a CMS. Wordpress Custom Post types are basically different kinds of building blocks that when put together form our website. ]]></description>
			<content:encoded><![CDATA[<p>Before understanding the advanced part of it let me explain you in brief about WordPress. It is an FOSS CMS i.e. content management system powered by PHP and MySQL. Among many features it provides the important features are plug-in architecture and a template system which makes this CMS a robust one. It is used by over 10% of global websites.</p>
<p>Now moving to one of the most exciting features coming in WordPress 3.0 is custom post types, which will vastly expand WordPress’ CMS capabilities. This feature will come handy especially when using WordPress as a CMS.</p>
<p>WordPress Custom Post types are basically different kinds of building blocks that when put together form our website. To understand it in a better way let us create our custom post type called “place”.</p>
<p>Any WordPress system will have functions.php in themes folder. This is the one of our interest. To achieve the purpose you will have to add the following code at the end of the functions.php file.</p>
<pre>function post_type_place() {
	register_post_type('place', array('labels' =&gt; array('name'=&gt;__('Places'),'add_new_item' =&gt; __( 'Add New Place' ),'edit_item' =&gt;__( 'Edit Place' )),
                             'public' =&gt; true,
                             'show_ui' =&gt; true,
                             'supports' =&gt; array('title','author','editor',
                                        'post-thumbnails',
                                        'excerpts',
                                        'trackbacks',
                                        'custom-fields',
                                        'comments',
                                        'revisions'),
                                        'rewrite' =&gt; false,
                                        '_builtin' =&gt; false,
    									'_edit_link' =&gt; 'post.php?post=%d',
   										'capability_type' =&gt; 'post',
   										'hierarchical' =&gt; false,'query_var' =&gt; true
                                )
                      ); 

		// add to our plugin init function
		//for single template
		global $wp_rewrite;
		$place_structure = '/place/%category%/%place%';
		$wp_rewrite-&gt;add_rewrite_tag("%place%", '([^/]+)', "place=");
		$wp_rewrite-&gt;add_permastruct('place', $place_structure, false); 

		//for displaying tags
		register_taxonomy_for_object_type('post_tag', 'place'); 

		//for displaying categories
		register_taxonomy_for_object_type('category', 'place'); 

}
// Add filter to plugin init function

If you want you can use a single page template for displaying custom post. 

//function to redirect to place page(templating system)
// Add filter to plugin init function
add_filter('post_type_link', 'place_permalink', 10, 3);
// Adapted from get_permalink function in wp-includes/link-template.php
function place_permalink($permalink, $post_id, $leavename) {
	$post = get_post($post_id);
	$rewritecode = array(
		$leavename? '' : '%postname%',
		'%post_id%',
		'%category%',
		'%author%',
		$leavename? '' : '%pagename%',
	); 

	if ( '' != $permalink &amp;&amp; !in_array($post-&gt;post_status, array('draft', 'pending', 'auto-draft')) ) {
		$unixtime = strtotime($post-&gt;post_date); 

		$category = '';
		if ( strpos($permalink, '%category%') !== false ) {
			$cats = get_the_category($post-&gt;ID);
			if ( $cats ) {
				usort($cats, '_usort_terms_by_ID'); // order by ID
				$category = $cats[0]-&gt;slug;
				if($category == "featured") { 

					$category = $cats[1]-&gt;slug;} 

				if ( $parent = $cats[0]-&gt;parent )
					$category = get_category_parents($parent, false, '/', true) . $category; 

			}
			// show default category in permalinks, without
			// having to assign it explicitly
			if ( empty($category) ) { 

				$default_category = get_category( get_option( 'default_category' ) );
				$category = is_wp_error( $default_category ) ? '' : $default_category-&gt;slug;
			}
		} 

		$author = '';
		if ( strpos($permalink, '%author%') !== false ) {
			$authordata = get_userdata($post-&gt;post_author);
			$author = $authordata-&gt;user_nicename;
		}
		$rewritereplace =
		array(
			$post-&gt;post_name,
			$post-&gt;ID,
			$category,
			$author,
			$post-&gt;post_name,
		);
		$permalink = str_replace($rewritecode, $rewritereplace, $permalink);
	} else { // if they're not using the fancy permalink option
	}
	return $permalink;
}
add_action('init', 'post_type_place');</pre>
<p>Update the permalinks.</p>
<p>The newly created post type (place) will look like this in the WordPress administrator dashboard under the links panel:</p>
<p><a href="http://www.decossoftdev.com/blog/wp-content/uploads/2011/03/wordpress-custom-post-1.png"><img class="aligncenter size-full wp-image-176" title="wordpress-custom-post-1" src="http://www.decossoftdev.com/blog/wp-content/uploads/2011/03/wordpress-custom-post-1.png" alt="Wordpress custom post" width="144" height="117" /></a></p>
<p>Now after creating a custom post you will want to use it. Now see the image below to understand how to add new place in WordPress.</p>
<p><a href="http://www.decossoftdev.com/blog/wp-content/uploads/2011/03/wordpress-custom-post-2.png"><img class="aligncenter size-medium wp-image-177" title="wordpress-custom-post-2" src="http://www.decossoftdev.com/blog/wp-content/uploads/2011/03/wordpress-custom-post-2-300x137.png" alt="Wordpress custom post" width="300" height="137" /></a></p>
<p>Once you add couple of places the list view under WordPress dashboard will look something like below.<br />
<a href="http://www.decossoftdev.com/blog/wp-content/uploads/2011/03/wordpress-custom-post-3.png"><img class="aligncenter size-medium wp-image-178" title="wordpress-custom-post-3" src="http://www.decossoftdev.com/blog/wp-content/uploads/2011/03/wordpress-custom-post-3-300x80.png" alt="Wordpress custom post list view" width="300" height="80" /></a></p>
<p>To be able to display the single-type-template using WordPress you will have to use a PHP file by the name single.php. To display newly created custom post you will have to use single-{posttype}.php. So in our case the filename would be single-place.php.</p>
<p>Similarly to archive the custom post use archive-{posttype}.php in WordPress. Normally, the archive-type-template use archive.php file. So in our case the archive template file name would be archive-place.php.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.decossoftdev.com/blog/wordpress-custom-post-type-creation/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PHP Web Services using NuSOAP</title>
		<link>http://www.decossoftdev.com/blog/php-web-services-using-nusoap/</link>
		<comments>http://www.decossoftdev.com/blog/php-web-services-using-nusoap/#comments</comments>
		<pubDate>Thu, 17 Feb 2011 12:35:02 +0000</pubDate>
		<dc:creator>anand</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[nusoap]]></category>
		<category><![CDATA[webservice]]></category>

		<guid isPermaLink="false">http://www.decossoftdev.com/blog/?p=167</guid>
		<description><![CDATA[PHP Web Services have been popping up all over the internet since past few years. There could not be any better language than PHP for building your own Web Service in simplistic manner. This is a basic tutorial for creating and consuming PHP Web Service using NuSOAP.]]></description>
			<content:encoded><![CDATA[<p>PHP Web Services have been popping up all over the internet since past few years. There could not be any better language than PHP for building your own Web Service in simplistic manner.</p>
<p>PHP is a great scripting language with many advantages. It provides the power to connect to variety databases (that are available with hosting providers) and easy development curve for faster development along with high response time on account of the underlying libraries compiled for performance.</p>
<p>A database is a crucial part of any PHP Web Service, however it is not mandatory to have one for Web Service. It is just that without it a Web Service is not that useful. It helps you store information about user query and visit information.</p>
<p><strong>What are Web Services?</strong></p>
<p>In a typical scenario, a visitor visits a website and uses the functionality provided by application hosted. HTTP request is send to the server from web browser and server responses are translated back by browser to display the desired result of the visitor.</p>
<p>But things have changed a lot with the evolution of web technologies. You don’t need to visit a website to use its service and functionality if it is providing a Web Service.</p>
<p>With Web Service you can exchange data between a server and a client using a standard XML format to ‘package’ requests and data so that both systems can ‘understand’ each other properly. Either a server or a client could be a Web Server, or any other electronic device you could think of for that matter.</p>
<p>There are different methods for providing Web Services but the most common methods are SOAP, XML-RPC and REST.</p>
<p><strong>What is NuSOAP?</strong></p>
<p>NuSOAP is a group of PHP classes that allow developers to create and consume SOAP web services without needing any special PHP extensions.</p>
<p>It stands for Simple Object Access Protocol, and it is essentially a standard for exchanging XML based data via HTTP.</p>
<p>Having understood Web Services and NuSOAP let’s start building our own Web Service using PHP.</p>
<p>Requirements: PHP 5 and above, Apache Webserver, NuSOAP library and MySQL (required in case there are database interactions)</p>
<p>You can download NuSOAP (version 0.7.3) from <a href="http://sourceforge.net/projects/nusoap/files/nusoap/">http://sourceforge.net/projects/nusoap/files/nusoap/</a></p>
<p>To understand the concept of the Web Service are going to create a ‘calculator’ Web Service and consume it too.</p>
<p>Create a new project ‘webservice’ on the webroot and unzip the NuSOAP file and place it in this folder.</p>
<p>Firstly, create a new file calc_server.php in the NuSOAP directory (for demonstration purpose I have created it in NuSOAP directory).</p>
<p>The PHP file will look like this:</p>
<pre>// load SOAP library

require_once("lib/nusoap.php");

// set namespace

localhost in my case

$ns = "http://localhost/";

// create SOAP server object

$server = new nusoap_server();

// setup WSDL file, a WSDL file can contain multiple services

$server-&gt;configureWSDL('Calculator', $ns);

$server-&gt;wsdl-&gt;schemaTargetNamespace = $ns;

// register a web service method

$server-&gt;register('ws_add',

array('int1' =&gt; 'xsd:integer','int2' =&gt; 'xsd:integer'),// input parameters

array('total' =&gt; 'xsd:integer'),// output parameter

$ns, // namespace

"$ns#ws_add", // soapaction

'rpc', // style

'encoded', // use

'adds two integer values and returns the result' // documentation

);

function ws_add($int1, $int2){

return new soapval('return','xsd:integer', add($int1, $int2));

}

// implementation of add function

function add($int1, $int2) {

return $int1 + $int2;

}

//substract method

$server-&gt;register('ws_substract',

array('int1' =&gt; 'xsd:integer', 'int2' =&gt; 'xsd:integer'),// input parameters

array('total' =&gt; 'xsd:integer'),// output parameter

$ns, // namespace

"$ns#ws_substract", // soapaction

'rpc', // style

'encoded', // use

'substracts two integer values and returns the result' // documentation

);

function ws_substract($int1, $int2) {

return new soapval('return','xsd:integer',substract($int1, $int2));

}

// implementation of add function

function substract($int1, $int2) {

if($int1 &gt; $int2)

return $int1 - $int2;

else

return $int2 - $int1;

}

//multiplication

$server-&gt;register('ws_multiply',

array('int1' =&gt; 'xsd:integer', 'int2' =&gt; 'xsd:integer'),

array('total' =&gt; 'xsd:integer'),

$ns,

"$ns#ws_multiply", // soapaction

'rpc',

'encoded',

'multiplies two integers and returns the result'

);

function ws_multiply($int1, $int2) {

return new soapval('return', 'xsd:integer', multiply($int1, $int2));

}

// implementation of multiply function

function multiply($int1, $int2) {

return $int1 * $int2;

}

// service the methods

$server-&gt;service($HTTP_RAW_POST_DATA);</pre>
<p>Save the file. It will look like this when you browse it.</p>
<p><a href="http://www.decossoftdev.com/blog/wp-content/uploads/2011/02/WebServiceNuSOAP1.png"><img class="aligncenter size-medium wp-image-168" title="WebServiceNuSOAP1" src="http://www.decossoftdev.com/blog/wp-content/uploads/2011/02/WebServiceNuSOAP1-300x181.png" alt="PHP Web Service NuSOAP 1" width="300" height="181" /></a></p>
<p style="text-align: center;">(click image to enlarge)</p>
<p>NuSOAP library has a very good feature of Web Service Inspection. If you open</p>
<p>the calc_server.php file in a browser, you will see something like this:</p>
<p><a href="http://www.decossoftdev.com/blog/wp-content/uploads/2011/02/WebServiceNuSOAP2.png"><img class="aligncenter size-medium wp-image-169" title="WebServiceNuSOAP2" src="http://www.decossoftdev.com/blog/wp-content/uploads/2011/02/WebServiceNuSOAP2-300x144.png" alt="PHP Web Service NuSOAP 2" width="300" height="144" /></a></p>
<p style="text-align: center;">(click image to enlarge)</p>
<p>With this we have now created our own ‘calculator’ Web Service. Now, let us understand how to consume this new created NuSOAP Web Service in PHP.</p>
<p>Create a new PHP file, say ‘calc_client.php’ and put the following code in it.</p>
<pre>//client code

&lt;?php

require_once('lib/nusoap.php');

//create a parameter array to pass to the webservicefunction call

$param = array('int1'=&gt;'15.00', 'int2'=&gt;'10');

//define the webservice

$wsdl = "<a href="http://localhost/webservice/nusoap/calc_server.php?wsdl">http://localhost/webservice/nusoap/calc_server.php?wsdl</a>";

//create client object

$client = new nusoap_client($wsdl, 'wsdl');

$response = $client-&gt;call('ws_add', $param);

//print the response

print_r($response);

?&gt;</pre>
<p>The result is the addition of 2 numbers and it will be displayed as below:</p>
<p><a href="http://www.decossoftdev.com/blog/wp-content/uploads/2011/02/WebServiceNuSOAP3.png"><img class="aligncenter size-medium wp-image-170" title="WebServiceNuSOAP3" src="http://www.decossoftdev.com/blog/wp-content/uploads/2011/02/WebServiceNuSOAP3-300x70.png" alt="PHP Web Service NuSOAP 3" width="300" height="70" /></a></p>
<p>It is that simple to create and consume Web Service using NuSOAP library. Moreover, NuSOAP library can also use XML-RPC and REST methods for Web Services.</p>
<p>I have shown you creation and consumption of PHP Web Service using NuSOAP library. If you want to play more with it then perhaps you might even consider adding an interface to the client for INSERTing and UPDATEing new items.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.decossoftdev.com/blog/php-web-services-using-nusoap/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Emerging models for Product Development</title>
		<link>http://www.decossoftdev.com/blog/emerging-models-for-product-development/</link>
		<comments>http://www.decossoftdev.com/blog/emerging-models-for-product-development/#comments</comments>
		<pubDate>Tue, 15 Feb 2011 11:21:22 +0000</pubDate>
		<dc:creator>mandar</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[model]]></category>
		<category><![CDATA[outsourced]]></category>
		<category><![CDATA[product]]></category>

		<guid isPermaLink="false">http://www.decossoftdev.com/blog/?p=159</guid>
		<description><![CDATA[Product outsourcing has become an inevitable for every growing ISV. With growth of the ISV the need to concentrate on few critical functions increases drastically. Hence and ISV has to outsource other important activities to remain focused and responsive the market. As outsourced product development is maturing new models are emerging in course to mitigate the risk. Every model has its own share of pros and cons. The outsourcer has to select to most appropriate model for his kind of software outsourcing project.]]></description>
			<content:encoded><![CDATA[<p>Product outsourcing has become an inevitable for every growing ISV. With growth of the ISV the need to concentrate on few critical functions increases drastically. Hence and ISV has to outsource other important activities to remain focused and responsive the market.</p>
<p>As outsourced product development is maturing new models are emerging in course to mitigate the risk. Every model has its own share of pros and cons. The outsourcer has to select to most appropriate model for his kind of software outsourcing project.</p>
<p>Below are some of the emerging outsourced product development models.</p>
<p>1. Software Product Line</p>
<p>An ISV targets the needs of the prospective industry or function by creating a portfolio of products with variations in features and functions. This model has a base or core product and different products in the same line offers increasing feature sets.</p>
<p>2. Modular Development</p>
<p>In this model the product is developed in the form of modules. One module is developed at a time or different modules by different team all at once.</p>
<p>3. Co-development</p>
<p>In this model ISVs’ and outsourcing partner’s team work together. It is preferred model where the technical capability and bandwidth is available on both side. Typically in this model, outsourcing vendor provides resources and product development project is managed by the ISV.</p>
<p>4. End-to-end Development</p>
<p>In this model, the outsourced product development looks after every aspect of product development. This model is preferred where outsourcing partner has technical as well as technical capabilities and product development experience. This model help ISV focus on very critical aspect of software product business boosting its productivity and profitability.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.decossoftdev.com/blog/emerging-models-for-product-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Agile Roadmap – 5 steps</title>
		<link>http://www.decossoftdev.com/blog/agile-roadmap-%e2%80%93-5-steps/</link>
		<comments>http://www.decossoftdev.com/blog/agile-roadmap-%e2%80%93-5-steps/#comments</comments>
		<pubDate>Wed, 02 Feb 2011 09:00:35 +0000</pubDate>
		<dc:creator>mandar</dc:creator>
				<category><![CDATA[Event]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://www.decossoftdev.com/blog/?p=156</guid>
		<description><![CDATA[Every organization is different than any other organization operating in the world. Organization has its own way of doing things, has unique culture, management philosophy, work structure, existing knowledge and experience with agile methodologies and very unique set of problems. Considering the aspects that unique to the organization agile concepts and activities should be emphasized.]]></description>
			<content:encoded><![CDATA[<p>Every organization is different than any other organization operating in the world. Organization has its own way of doing things, has unique culture, management philosophy, work structure, existing knowledge and experience with agile methodologies and very unique set of problems. Considering the aspects that unique to the organization agile concepts and activities should be emphasized.</p>
<p>Here are the five quick steps for agile adoption.</p>
<p>1. Educate the organization:</p>
<p>Know more about agile methodology. Educate everybody related, especially those who will be the part of initial rollout. Make everybody go through a training session on agile irrespective of their knowledge about agile. This will help them develop real understanding of the key concepts in agile.</p>
<p>2. Pick the project:</p>
<p>After everybody is having good understanding about agile concepts and are on the same platform, the agile project can get started. As this would be the first agile project, risks have to be addressed at this level as soon as possible to ensure success for both project and success. The criteria for selecting the project needs to include the solution’s level of complexity, visibility, resources and integrations.</p>
<p>3. Execute the project:</p>
<p>After selecting the project based on selected criteria the team who is going to be engaged for the project has to be educated if it was not the part of earlier training session. Do the project kickoff by explaining the methodology, roles, responsibilities, timeline and deliverables. Instead of ‘scope’ think in terms of backlog, feature negotiations, the sprints, scrum meetings, demos etc.</p>
<p>After the completion of sprint do retrospection and try to learn and improve in next sprint.</p>
<p>4. Review the project:</p>
<p>Review the project that you just complete and note the learning that will refine other processes and projects. The process improvement will involve support functions and project execution teams. To run agile projects at the expected speed it is important that support functions responds quickly to the project sprint requirements. The processes have to evolve, which might take some time, at organizational level to support agile development projects addressing any process level conflicts.</p>
<p>5. Redo the steps:</p>
<p>IT industry is cursed with high attrition than any other industry and hence you will need to constantly train new people on agile concepts and methodologies. This will bring everybody within organization at the same level of agile approach. When you move agile concept deeper into the organization you will find yourself managing change at every level within organization. The change is difficult and you as an agile proponent will have to make it acceptable because agile is beneficial for dynamic projects, which is the need of the time.</p>
<p>Be realistic and good luck with your agile implementation!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.decossoftdev.com/blog/agile-roadmap-%e2%80%93-5-steps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java GUI and Profiler Tools coming to Eclipse Foundation</title>
		<link>http://www.decossoftdev.com/blog/java-gui-and-profiler-tools-coming-to-eclipse-foundation/</link>
		<comments>http://www.decossoftdev.com/blog/java-gui-and-profiler-tools-coming-to-eclipse-foundation/#comments</comments>
		<pubDate>Tue, 21 Dec 2010 11:49:23 +0000</pubDate>
		<dc:creator>mandar</dc:creator>
				<category><![CDATA[Open source]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://www.decossoftdev.com/blog/?p=152</guid>
		<description><![CDATA[The Eclipse is soon going to get two projects (WindowBuilder Java GUI designer and the CodePro Profiler) on the annual Eclipse release train in 2011. Google is donating the source code for two new open source projects at Eclipse Foundation.]]></description>
			<content:encoded><![CDATA[<p>The Eclipse is soon going to get two projects (WindowBuilder Java GUI designer and the CodePro Profiler) on the annual Eclipse release train in 2011. Google is donating the source code for two new open source projects at Eclipse Foundation.</p>
<p>By giving away these projects to community, Google is aiming to help the Eclipse Foundation with technologies that will help to enable a more comprehensive set of Java tool solutions.</p>
<p>The WindowBuilder framework is an extensible engine for building Java GUI development tools and will become the Eclipse WindowBuilder project. Google&#8217;s GWT (Google Web Tools) Designer Tool is built on top of the WindowBuilder engine. CodePro Profiler is a tool that Java developers can use to help identify performance and efficiency issues. It is a native Eclipse profiler built from the ground up in Eclipse.</p>
<p>Both these projects will fill some existing holes in Eclipse offerings in the GUI tools and profiling space. The projects that have been developed at Instantiations, acquired by Google in August this year, for the last seven years and carried forwarded at Google will jump directly on the annual release train in its first year.</p>
<p>The new additions to Eclipse family will make it easier for people to build applications.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.decossoftdev.com/blog/java-gui-and-profiler-tools-coming-to-eclipse-foundation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Closure Compiler – A JS Compiler</title>
		<link>http://www.decossoftdev.com/blog/closure-compiler-%e2%80%93-a-js-compiler/</link>
		<comments>http://www.decossoftdev.com/blog/closure-compiler-%e2%80%93-a-js-compiler/#comments</comments>
		<pubDate>Tue, 05 Oct 2010 04:56:11 +0000</pubDate>
		<dc:creator>mandar</dc:creator>
				<category><![CDATA[Open source]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.decossoftdev.com/blog/?p=149</guid>
		<description><![CDATA[Google has recently released a tool, Closure Compiler, for making JavaScript download and run faster. In true sense it is a compiler for JavaScript. It parses the JS code, analyzes it, removes dead code and rewrites and minimizes the remainder code. It also checks syntaxes, variable references and types. It also warns about common JS issues.]]></description>
			<content:encoded><![CDATA[<p>Javascript is used to add life to static HTML pages and make them slightly interactive through additional functionalities, validating forms, detecting browsers and much more. It is primarily used in the form of client-side and implemented as part of a web browser in order to provide enhanced user interfaces and dynamic websites. Its use in applications outside web pages is also significant. However, an un-optimized code of JS will make the webpage sluggish.</p>
<p>Google has recently released a tool, Closure Compiler, for making JavaScript download and run faster. In true sense it is a compiler for JavaScript. It parses the JS code, analyzes it, removes dead code and rewrites and minimizes the remainder code. It also checks syntaxes, variable references and types. It also warns about common JS issues.</p>
<p>The Closure Compiler can be used as an open source Java application that one can run from command line. It can also be used as a simple web application or a RESTful API.</p>
<p>More information can be found at <a href="http://code.google.com/closure/compiler/" target="_blank">Closure Compiler Website</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.decossoftdev.com/blog/closure-compiler-%e2%80%93-a-js-compiler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WebP – a new image format</title>
		<link>http://www.decossoftdev.com/blog/webp-%e2%80%93-a-new-image-format/</link>
		<comments>http://www.decossoftdev.com/blog/webp-%e2%80%93-a-new-image-format/#comments</comments>
		<pubDate>Fri, 01 Oct 2010 13:24:42 +0000</pubDate>
		<dc:creator>mandar</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[format]]></category>
		<category><![CDATA[image]]></category>

		<guid isPermaLink="false">http://www.decossoftdev.com/blog/?p=143</guid>
		<description><![CDATA[The world is using the common image formats that were established over a decade ago and are based on the technology of that time. Some developers at Google decided to work on reducing the byte size of images without compromising the quality. They came up with WebP format which reduces file size of an image by further compressing the lossy images like JPEG. ]]></description>
			<content:encoded><![CDATA[<p>&#8216;A picture speaks a thousand words.&#8217; We have all heard this saying many times. But to speak a thousand words it consumes a lot of bandwidth on account of its bulky size leading to the latency on webpages across the web. To address this issue to some extent Google yesterday has released a developer preview of a new image format, WebP, that promises to significantly reduce the byte size of photos on the web, allowing web sites to load faster than before.</p>
<p>Google has released this new format as part of its initiative to make the web faster.</p>
<p>The world is using the common image formats that were established over a decade ago and are based on the technology of that time. Some developers at Google decided to work on reducing the byte size of images without compromising the quality. They came up with WebP format which reduces file size of an image by further compressing the lossy images like JPEG.</p>
<p>Google has used an image compressor based on VP8 codec that has been open sourced by them in May 2010 for enhancing image compression. Google has applied the techniques from VP8 video intra frame coding to push the envelope in still image coding. Google has also adopted a very lightweight container based on RIFF which may allow authors to save meta data for the image.</p>
<p>Images and photos make up about 65% of the bytes transmitted per webpage according to Google and the new image format is going to lower it to some extent.</p>
<p>So far it is just a developer release but it has a vast potential considering the growing demand of applications and consumption of media on mobile.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.decossoftdev.com/blog/webp-%e2%80%93-a-new-image-format/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SproutCore: HTML5 application framework</title>
		<link>http://www.decossoftdev.com/blog/sproutcore-html5-application-framework/</link>
		<comments>http://www.decossoftdev.com/blog/sproutcore-html5-application-framework/#comments</comments>
		<pubDate>Thu, 16 Sep 2010 15:33:15 +0000</pubDate>
		<dc:creator>mandar</dc:creator>
				<category><![CDATA[Open source]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Application]]></category>
		<category><![CDATA[Html5]]></category>

		<guid isPermaLink="false">http://www.decossoftdev.com/blog/?p=133</guid>
		<description><![CDATA[SproutCore is an new framework based on HTML5 technology for building websites that are highly responsive and are of desktop-caliber in any modern web browser that too without any plugins use.]]></description>
			<content:encoded><![CDATA[<p>SproutCore is an new framework based on HTML5 technology for building websites that are highly responsive and are of desktop-caliber in any modern web browser that too without any plugins use.</p>
<p>SproutCore moves business logic to the client which completely eliminates the latency problem as your computing power, business logic and (partially) data are available at the same. SproutCore applications are full-fledged programs, written in JavaScript. Since JavaScript executes in user’s browser the servers are freed to deliver user’s data as quickly and reliably as possible to make most through cloud application.</p>
<p>SproutCore will change the way web applications are built and consumed by end user utilizing the most out of HTML5 technology.</p>
<p>SproutCore is addressing technology revolution mismatch. Two things are happening simultaneously in area of technology. Faster processors for personal computing are coming to life and applications are moving to web.</p>
<p>Faster processor for personal computing means faster applications and shorter response time for your local (desktop/laptop based) applications. Applications moving to web means less computing required to be performed on desktop. Because of these the end user is not able to get the complete benefit of the technology revolution since combined throughput of server computing and bandwidth has not got increased significantly.</p>
<p>Local applications are responsive because computing power, business logic and data are available at the same location without any dependency on network bandwidth. This is not the case with web applications. While working with web applications users have to live with latency of few milliseconds. Off late, technologies like AJAX have been used to create web pages that can update without having to reload the browser, reducing latency by few milliseconds but they still feel like websites with limitations of interactivity.</p>
<p>With HTML5 becoming popular with every next release of all commercial and open source browsers the world will see increasing usage of SproutCore for web development.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.decossoftdev.com/blog/sproutcore-html5-application-framework/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Setting up PHP Application Unit Testing Framework (PHPUnit) in Visual Studio 2010</title>
		<link>http://www.decossoftdev.com/blog/setting-up-php-application-unit-testing-framework-phpunit-in-visual-studio-2010/</link>
		<comments>http://www.decossoftdev.com/blog/setting-up-php-application-unit-testing-framework-phpunit-in-visual-studio-2010/#comments</comments>
		<pubDate>Tue, 14 Sep 2010 12:25:41 +0000</pubDate>
		<dc:creator>ravi</dc:creator>
				<category><![CDATA[Event]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[phpunit]]></category>
		<category><![CDATA[visual studio]]></category>

		<guid isPermaLink="false">http://www.decossoftdev.com/blog/?p=114</guid>
		<description><![CDATA[Welcome back to my next post of setting up PHP tools in Visual Studio 2010
Today we will talk about setting up PHP Application Unit Testing Framework (PHPUnit) in Visual Studio 2010.
Lets start the fun
Step 1: Installing VS.php in Visual Studio 2010
Please follow the instructions provided in my previous post &#8220;Developing PHP Applications in Visual Studio [...]]]></description>
			<content:encoded><![CDATA[<p>Welcome back to my next post of setting up PHP tools in Visual Studio 2010</p>
<p>Today we will talk about setting up PHP Application Unit Testing Framework (PHPUnit) in Visual Studio 2010.</p>
<p>Lets start the fun</p>
<p><strong>Step 1: Installing VS.php in Visual Studio 2010</strong></p>
<p>Please follow the instructions provided in my previous post <a href="http://www.decossoftdev.com/blog/?p=44" target="_blank">&#8220;Developing PHP Applications in Visual Studio 2010 and Team Foundation Server&#8221;</a></p>
<p><strong>Step 2: Installing PHPUnit on your machine</strong></p>
<p><strong>2.1  Installing PEAR Package Manager</strong></p>
<p>The instructions that are to be followed for installing PEAR are available on this URL:</p>
<p><a href="http://pear.php.net/manual/en/installation.getting.php">http://pear.php.net/manual/en/installation.getting.php</a></p>
<p>All you need to remember is that the PHP installation that you need to choose is the one provided by VS.PHP guys</p>
<p>The default PHP folder location will be</p>
<p>C:\Program Files\Jcx.Software\VS.Php\2010\Php 5.3</p>
<p>This is where you got to install PEAR.</p>
<p><strong>2.2. Installing PHPUnit </strong></p>
<p>The next step is to install PHP Unit.</p>
<p>Follow the following URL for instrtuctions on installing PHPUnit.</p>
<p><a href="http://www.phpunit.de/manual/current/en/installation.html">http://www.phpunit.de/manual/current/en/installation.html</a></p>
<p>Please make sure that the whole action takes place on your command prompt and should happen with</p>
<p>C:\Program Files\Jcx.Software\VS.Php\2010\Php 5.3</p>
<p>being your current working directory.</p>
<p><strong>Step 3: Creating a sample application </strong></p>
<p>Assuming that you have gone through the previous post and now you know how to create a PHP application in Visual Studio 2010. Lets start writing some code.</p>
<p>Lets start by writing the Example Class that will be tested</p>
<p><a href="http://www.decossoftdev.com/blog/wp-content/uploads/2010/09/Code.png"></a><a href="http://www.decossoftdev.com/blog/wp-content/uploads/2010/09/Code1.png"><img class="aligncenter size-full wp-image-123" title="Code" src="http://www.decossoftdev.com/blog/wp-content/uploads/2010/09/Code1.png" alt="" width="615" height="309" /></a></p>
<p>This is a fairly straight forward class that has a function that will accept two numbers and returns the sum of the two numbers.</p>
<p><strong>Step 4: Writing Test Cases for the application</strong></p>
<p>Inside your project create a new folder called tests. Now your folder structure looks something like this</p>
<p><a href="http://www.decossoftdev.com/blog/wp-content/uploads/2010/09/tests.png"><img class="aligncenter size-full wp-image-117" title="tests" src="http://www.decossoftdev.com/blog/wp-content/uploads/2010/09/tests.png" alt="" width="234" height="283" /></a></p>
<p>In the PHPUnitClassTest write the code that will test the addition function</p>
<p><a href="http://www.decossoftdev.com/blog/wp-content/uploads/2010/09/testcases1.png"><img class="aligncenter size-full wp-image-119" title="testcases" src="http://www.decossoftdev.com/blog/wp-content/uploads/2010/09/testcases1.png" alt="" width="606" height="321" /></a></p>
<p>Once the test case is written by you, its time to go to the next step and that is to run your test.</p>
<p><strong>Step 5: Running your tests</strong></p>
<p>PHPUnit runs from the command prompt, so get this testing done lets get to command prompt and visit the test folder where tests are written. After running the PHPUnit Command this is what you get</p>
<p><a href="http://www.decossoftdev.com/blog/wp-content/uploads/2010/09/Command.png"></a><a href="http://www.decossoftdev.com/blog/wp-content/uploads/2010/09/Command1.png"><img class="aligncenter size-full wp-image-121" title="Command" src="http://www.decossoftdev.com/blog/wp-content/uploads/2010/09/Command1.png" alt="" width="685" height="356" /></a></p>
<p><strong>Bingo<br />
</strong></p>
<p>So this sets up your PHP application unit testing framework (PHPUnit) environment in Visual Studio 2010.</p>
<p>Have Fun.</p>
<p><strong><br />
</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.decossoftdev.com/blog/setting-up-php-application-unit-testing-framework-phpunit-in-visual-studio-2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Seamless MySQL-to-SQL database migration</title>
		<link>http://www.decossoftdev.com/blog/seamless-mysql-to-sql-database-migration/</link>
		<comments>http://www.decossoftdev.com/blog/seamless-mysql-to-sql-database-migration/#comments</comments>
		<pubDate>Wed, 18 Aug 2010 10:48:08 +0000</pubDate>
		<dc:creator>mandar</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://www.decossoftdev.com/blog/?p=109</guid>
		<description><![CDATA[New SQL Server Migration Assistant helps in MySQL to SQL database migration. ]]></description>
			<content:encoded><![CDATA[<p>Database migration has always been a tedious job for a software developer. Now Microsoft has made a life simpler by providing a first version of a tool designed to help developers migrate from MySQL to SQL Server and/or SQL Azure. It is available for download at <a title="SQL Server Migration Assistant" href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=69739c8c-ac82-41de-b9e6-8fa5ae2594d9" target="_blank">Microsoft Website</a>.</p>
<p>Apart from MySQL, Microsoft has also enhanced SQL migration tools for other popular databases such as Oracle, Sybase and its own Access. In January 2010 Microsoft has provided the preview of the MySQL migration tool.</p>
<p>Currently SQL Server Migration Assistant v1.0 supports MySQL 4.1 and above. The tool allows developers to convert/migrate tables, views, stored procedures, stored functions, triggers, cursors, DML statements, control statements and transactions. The migration from MySQL to SQL Server will become seamless with this new tool.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.decossoftdev.com/blog/seamless-mysql-to-sql-database-migration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/


Served from: www.decossoftdev.com @ 2012-05-19 04:09:19 -->
